diff --git a/.gitignore b/.gitignore
index edbe7d7..5b01453 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,5 @@ dist
.sass-cache
.DS_Store
app/bower_components
+app/transpiled
.idea
diff --git a/Gruntfile.js b/Gruntfile.js
index 963f695..46689b5 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -28,7 +28,24 @@ module.exports = function (grunt) {
grunt.initConfig({
yeoman: yeomanConfig,
+
+ transpile: {
+ dashboard: {
+ type: 'amd', // or 'cjs'
+ files: [{
+ expand: true,
+ cwd: '<%= yeoman.app %>/scripts/',
+ dest: '<%= yeoman.app %>/transpiled/',
+ src: ['**/*.js'],
+ }]
+ }
+ },
+
watch: {
+ transpile: {
+ files: ['<%= yeoman.app %>/scripts/{,*/}*.js'],
+ tasks: ['transpile']
+ },
coffee: {
files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],
tasks: ['coffee:dist']
diff --git a/app/index.html b/app/index.html
index bd9baaf..9753f74 100644
--- a/app/index.html
+++ b/app/index.html
@@ -2,7 +2,7 @@
-
+
@@ -83,32 +83,9 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/scripts/app.js b/app/scripts/app.js
deleted file mode 100644
index a41382d..0000000
--- a/app/scripts/app.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-
-var app = angular.module('dashboardApp', ['github']);
-
-app.inherits = function (Child, Parent) {
- var Constructor = function () {};
- Constructor.prototype = Parent.prototype;
-
- Child.prototype = new Constructor();
- Child.prototype.constructor = Child;
-};
diff --git a/app/scripts/config/dart.js b/app/scripts/config/dart.js
new file mode 100644
index 0000000..77e23c9
--- /dev/null
+++ b/app/scripts/config/dart.js
@@ -0,0 +1,19 @@
+var config = {
+ githubProject: 'angular.dart',
+ nextMilestone: {
+ title: 'v0.9.1',
+ githubName: 'v0.9.1'
+ },
+ branches: {
+ master: {
+ title: 'master',
+ name: 'master',
+ g3Name: 'g3v1x',
+ jenkinsProjectId: 'angular.dart-master'
+ }
+ }
+};
+
+config.$providerType = 'value';
+
+export {config};
diff --git a/app/scripts/config/js.js b/app/scripts/config/js.js
new file mode 100644
index 0000000..b41025d
--- /dev/null
+++ b/app/scripts/config/js.js
@@ -0,0 +1,27 @@
+var config = {
+ githubProject: 'angular.js',
+ nextMilestone: {
+ title: 'v1.2.1',
+ githubName: '1.2.1'
+ },
+ branches: {
+ master: {
+ title: 'master',
+ name: 'master',
+ g3Name: 'g3_v1_2',
+ releaseTag: 'v1.2',
+ jenkinsProjectId: 'angular.js-angular-master'
+ },
+ stable: {
+ title: 'stable/1.0',
+ name: 'v1.0.x',
+ g3Name: 'g3_v1_0',
+ releaseTag: 'v1.0',
+ jenkinsProjectId: 'angular.js-angular-v1.0.x'
+ }
+ }
+};
+
+config.$providerType = 'value';
+
+export {config};
diff --git a/app/scripts/controllers/BranchStatusController.js b/app/scripts/controllers/BranchStatusController.js
index aedc9ca..94abb8d 100644
--- a/app/scripts/controllers/BranchStatusController.js
+++ b/app/scripts/controllers/BranchStatusController.js
@@ -1,12 +1,8 @@
-'use strict';
+BranchStatusController.$providerType = 'controller';
+BranchStatusController.$inject = ['$scope', 'schedule', 'config', 'jenkins', 'github',
+ 'createBuildCard', 'createGoogle3Card', 'createShaCountCard'];
-app.controller('BranchStatusController', BranchStatusController);
-
-BranchStatusController.$inject = [
- '$scope', 'schedule', 'config', 'jenkins', 'github',
- 'createBuildCard', 'createGoogle3Card', 'createShaCountCard'
- ];
-function BranchStatusController(
+export function BranchStatusController(
$scope, schedule, config, jenkins, github,
createBuildCard, createGoogle3Card, createShaCountCard) {
var updators = [];
@@ -15,7 +11,7 @@ function BranchStatusController(
updator();
});
});
-
+
$scope.branches = [];
angular.forEach(config.branches, function(branchConfig) {
var buildCard = createBuildCard();
diff --git a/app/scripts/controllers/GithubStatusController.js b/app/scripts/controllers/GithubStatusController.js
index 4748833..48e233d 100644
--- a/app/scripts/controllers/GithubStatusController.js
+++ b/app/scripts/controllers/GithubStatusController.js
@@ -1,13 +1,12 @@
-'use strict';
+// TODO(vojta): this will become annotation
+// @controllerProvider
+// @inject(...)
+GithubStatusController.$providerType = 'controller';
+GithubStatusController.$inject = ['$scope', 'schedule', 'config', 'github', 'createGithubCard',
+ 'createUntriagedCard'];
-app.controller('GithubStatusController', GithubStatusController);
-
-GithubStatusController.$inject = [
- '$scope', 'schedule', 'config', 'github', 'createGithubCard',
- 'createUntriagedCard'
- ];
-function GithubStatusController($scope, schedule, config, github,
- createGithubCard, createUntriagedCard) {
+export function GithubStatusController($scope, schedule, config, github,
+ createGithubCard, createUntriagedCard) {
var milestonePRsCard = createGithubCard('Pull requests', ['milestone-card', 'pr-card']);
var milestoneIssuesCard = createGithubCard('Issues', ['milestone-card', 'issue-card']);
var untriagedPRsCard = createUntriagedCard('Untriaged _Pull requests_', ['untriaged-card', 'pr-card', 'untriaged-pr-card']);
diff --git a/app/scripts/controllers/MainController.js b/app/scripts/controllers/MainController.js
index 7480dcd..33d6c7f 100644
--- a/app/scripts/controllers/MainController.js
+++ b/app/scripts/controllers/MainController.js
@@ -1,9 +1,7 @@
-'use strict';
-
-
-app.controller('MainController', MainController);
+MainController.$providerType = 'controller';
+MainController.$inject = ['$scope', '$timeout'];
-function MainController($scope, $timeout) {
+export function MainController($scope, $timeout) {
$scope.brokenBuild = null;
$scope.fixedBuild = null;
@@ -36,5 +34,3 @@ function MainController($scope, $timeout) {
}
});
}
-
-MainController.$inject = ['$scope', '$timeout'];
diff --git a/app/scripts/directives/bindMarkdownDirective.js b/app/scripts/directives/bindMarkdownDirective.js
index abfb646..ba8bfac 100644
--- a/app/scripts/directives/bindMarkdownDirective.js
+++ b/app/scripts/directives/bindMarkdownDirective.js
@@ -1,6 +1,3 @@
-'use strict';
-
-
var markdown = function(string) {
return string.replace('/', '/')
.replace('-', '-')
@@ -8,10 +5,14 @@ var markdown = function(string) {
.replace(/_(.*)_/, '$1');
};
-app.directive('bindMarkdown', function() {
+var bindMarkdown = function() {
return function(scope, elm, attr) {
scope.$watch(attr.bindMarkdown, function(value) {
elm.html(value ? markdown(value) : '');
});
};
-});
+};
+
+bindMarkdown.$providerType = 'directive';
+
+export {bindMarkdown, markdown};
diff --git a/app/scripts/directives/burnDownChart.js b/app/scripts/directives/burnDownChart.js
index 47e14a0..e5b294b 100644
--- a/app/scripts/directives/burnDownChart.js
+++ b/app/scripts/directives/burnDownChart.js
@@ -1,7 +1,4 @@
-'use strict';
-
-angular.module('dashboardApp').directive('burnDown', function () {
-
+var burnDown = function() {
return {
template: '