Skip to content

Commit 545c393

Browse files
committed
tech(systemjs): starting work on systemjs bundling
1 parent df1e52e commit 545c393

File tree

11 files changed

+67
-35
lines changed

11 files changed

+67
-35
lines changed

package.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
"url": "http://github.com/torkelo/grafana.git"
1111
},
1212
"devDependencies": {
13+
"angular2": "2.0.0-beta.0",
14+
"es6-promise": "^3.0.2",
15+
"es6-shim": "^0.33.3",
1316
"expect.js": "~0.2.0",
1417
"glob": "~3.2.7",
1518
"grunt": "~0.4.0",
@@ -32,6 +35,7 @@
3235
"grunt-karma": "~0.8.3",
3336
"grunt-ng-annotate": "^0.9.2",
3437
"grunt-string-replace": "~0.2.4",
38+
"grunt-systemjs-builder": "^0.2.5",
3539
"grunt-tslint": "^2.5.0",
3640
"grunt-typescript": "^0.8.0",
3741
"grunt-usemin": "3.0.0",
@@ -48,15 +52,12 @@
4852
"karma-script-launcher": "0.1.0",
4953
"load-grunt-tasks": "0.2.0",
5054
"mocha": "2.2.4",
55+
"reflect-metadata": "0.1.2",
5156
"requirejs": "2.1.17",
5257
"rjs-build-analysis": "0.0.3",
53-
"tslint": "^2.5.0-beta",
54-
"angular2": "2.0.0-beta.0",
55-
"systemjs": "0.19.6",
56-
"es6-promise": "^3.0.2",
57-
"es6-shim": "^0.33.3",
58-
"reflect-metadata": "0.1.2",
5958
"rxjs": "5.0.0-beta.0",
59+
"systemjs": "0.19.6",
60+
"tslint": "^2.5.0-beta",
6061
"zone.js": "0.5.10"
6162
},
6263
"engines": {
@@ -74,6 +75,7 @@
7475
"karma-sinon": "^1.0.3",
7576
"lodash": "^2.4.1",
7677
"sinon": "1.16.1",
78+
"systemjs-builder": "^0.14.15",
7779
"typescript": "^1.7.5"
7880
}
7981
}

public/app/core/utils/rangeutil.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
///<reference path="../../headers/common.d.ts" />
22

3-
import moment = require('moment');
43
import _ = require('lodash');
5-
import angular = require('angular');
4+
5+
import angular from 'angular';
6+
import moment from 'moment';
67
import * as dateMath from './datemath';
78

89
var spans = {

public/app/features/dashboard/timepicker/timepicker.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
///<reference path="../../../headers/common.d.ts" />
22
///<amd-dependency path="./input_date" name="inputDate" />
33

4-
import angular = require('angular');
54
import _ = require('lodash');
6-
import moment = require('moment');
75
import kbn = require('app/core/utils/kbn');
86

7+
import angular from 'angular';
8+
import moment from 'moment';
99
import * as dateMath from 'app/core/utils/datemath';
1010
import * as rangeUtil from 'app/core/utils/rangeutil';
1111

public/app/grafana_app.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ import bootstrap = require('bootstrap');
1717
import kbn = require('app/core/utils/kbn');
1818
import config = require('app/core/config');
1919

20+
// import {Component} from 'vendor/npm/angular2/core';
21+
// console.log(Component);
22+
2023
export class GrafanaApp {
2124
registerFunctions: any;
2225
ngModuleDependencies: any[];

public/app/plugins/panels/table/editor.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
///<reference path="../../../headers/common.d.ts" />
22

3-
import angular = require('angular');
4-
import $ = require('jquery');
53
import _ = require('lodash');
64
import kbn = require('app/core/utils/kbn');
7-
import moment = require('moment');
85

6+
import $ from 'jquery';
7+
import moment from 'moment';
8+
import angular from 'angular';
99
import {transformers} from './transformers';
1010

1111
export class TablePanelEditorCtrl {

public/app/plugins/panels/table/module.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
///<reference path="../../../headers/common.d.ts" />
22

3-
import angular = require('angular');
4-
import $ = require('jquery');
53
import _ = require('lodash');
64
import kbn = require('app/core/utils/kbn');
7-
import moment = require('moment');
85

6+
import $ from 'jquery';
7+
import moment from 'moment';
8+
import angular from 'angular';
99
import {TablePanelCtrl} from './controller';
1010
import {TableRenderer} from './renderer';
1111
import {tablePanelEditor} from './editor';

public/app/plugins/panels/table/renderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import _ = require('lodash');
44
import kbn = require('app/core/utils/kbn');
5-
import moment = require('moment');
5+
import moment from 'moment';
66

77
export class TableRenderer {
88
formaters: any[];

public/app/systemjs.conf.js

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
System.config({
22
defaultJSExtenions: true,
3+
baseURL: 'public',
34
paths: {
4-
'moment': 'public/vendor/moment.js',
5-
"jquery": "public/vendor/jquery/dist/jquery.js",
6-
'lodash-src': 'public/vendor/lodash.js',
7-
"lodash": 'public/app/core/lodash_extended.js',
8-
"angular": "public/vendor/angular/angular.js",
9-
"bootstrap": "public/vendor/bootstrap/bootstrap.js",
10-
'angular-route': 'public/vendor/angular-route/angular-route.js',
11-
'angular-sanitize': 'public/vendor/angular-sanitize/angular-sanitize.js',
12-
"angular-ui": "public/vendor/angular-ui/ui-bootstrap-tpls.js",
13-
"angular-strap": "public/vendor/angular-other/angular-strap.js",
14-
"angular-dragdrop": "public/vendor/angular-native-dragdrop/draganddrop.js",
15-
"angular-bindonce": "public/vendor/angular-bindonce/bindonce.js",
16-
"spectrum": "public/vendor/spectrum.js",
17-
"bootstrap-tagsinput": "public/vendor/tagsinput/bootstrap-tagsinput.js",
5+
'moment': 'vendor/moment.js',
6+
"jquery": "vendor/jquery/dist/jquery.js",
7+
'lodash-src': 'vendor/lodash.js',
8+
"lodash": 'app/core/lodash_extended.js',
9+
"angular": "vendor/angular/angular.js",
10+
"bootstrap": "vendor/bootstrap/bootstrap.js",
11+
'angular-route': 'vendor/angular-route/angular-route.js',
12+
'angular-sanitize': 'vendor/angular-sanitize/angular-sanitize.js',
13+
"angular-ui": "vendor/angular-ui/ui-bootstrap-tpls.js",
14+
"angular-strap": "vendor/angular-other/angular-strap.js",
15+
"angular-dragdrop": "vendor/angular-native-dragdrop/draganddrop.js",
16+
"angular-bindonce": "vendor/angular-bindonce/bindonce.js",
17+
"spectrum": "vendor/spectrum.js",
18+
"bootstrap-tagsinput": "vendor/tagsinput/bootstrap-tagsinput.js",
1819
"jquery.flot": "vendor/flot/jquery.flot",
1920
"jquery.flot.pie": "vendor/flot/jquery.flot.pie",
2021
"jquery.flot.events": "vendor/flot/jquery.flot.events",
@@ -36,9 +37,6 @@ System.config({
3637
},
3738

3839
map: {
39-
'vendor/npm/angular2': 'angular2',
40-
app: 'public/app',
41-
vendor: 'public/vendor',
4240
},
4341

4442
meta: {

public/vendor/moment.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2788,7 +2788,6 @@
27882788
globalScope.moment = moment;
27892789
}
27902790
}
2791-
debugger;
27922791

27932792
// CommonJS module is defined
27942793
if (hasModule) {

public/views/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
<script src="[[.AppSubUrl]]/public/vendor/npm/es6-promise/dist/es6-promise.js"></script>
6363
<script src="[[.AppSubUrl]]/public/vendor/npm/systemjs/dist/system.src.js"></script>
6464
<script src="[[.AppSubUrl]]/public/vendor/npm/rxjs/bundles/Rx.js"></script>
65+
<script src="[[.AppSubUrl]]/public/vendor/npm/angular2/bundles/angular2-polyfills.js"></script>
66+
<script src="[[.AppSubUrl]]/public/vendor/npm/angular2/bundles/angular2.dev.js"></script>
6567
<script src="[[.AppSubUrl]]/public/app/systemjs.conf.js"></script>
6668
<!-- endbuild -->
6769

tasks/systemjs_task.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
module.exports = function(grunt) {
2+
"use strict";
3+
4+
grunt.registerTask('systemjs:build', function() {
5+
var path = require("path");
6+
var Builder = require('systemjs-builder');
7+
var done = this.async();
8+
9+
// optional constructor options
10+
// sets the baseURL and loads the configuration file
11+
var builder = new Builder('public_gen', 'public_gen/app/systemjs.conf.js');
12+
console.log('Starting systemjs-builder');
13+
14+
builder
15+
.bundle('app/app', 'public_gen/app/app.js')
16+
.then(function() {
17+
console.log('Build complete');
18+
done();
19+
})
20+
.catch(function(err) {
21+
console.log('Build error');
22+
console.log(err);
23+
done();
24+
});
25+
});
26+
27+
};

0 commit comments

Comments
 (0)