From 3b8e478a6aa93c54e85d71cda209b8c53006c0fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 17 Dec 2015 11:46:10 +0100 Subject: [PATCH] tech(systemjs): finally starting to get systemjs and typescript and runtime loading to work together in a manner that I want it to.. took forever --- public/app/app.ts | 8 +++++-- public/app/core/core.ts | 3 ++- public/app/headers/common.d.ts | 2 ++ public/app/jspm.conf.js | 43 +++++++++++++++++----------------- tasks/options/typescript.js | 1 - tsconfig.json | 27 ++++++++++----------- 6 files changed, 45 insertions(+), 39 deletions(-) diff --git a/public/app/app.ts b/public/app/app.ts index 9bef52681ae..1b475654786 100644 --- a/public/app/app.ts +++ b/public/app/app.ts @@ -17,6 +17,9 @@ import kbn = require('app/core/utils/kbn'); import angular = require('angular'); import config = require('app/core/config'); +import mod from 'app/core/core_module'; +console.log(mod); + class GrafanaApp { registerFunctions: any; ngModuleDependencies: any[]; @@ -66,7 +69,8 @@ class GrafanaApp { this.useModule(angular.module(moduleName, [])); }); - var preBootRequires = [System.import('app/features/all')]; + //var preBootRequires = [System.import('app/features/all')]; + var preBootRequires = []; var pluginModules = config.bootData.pluginModules || []; // add plugin modules @@ -76,7 +80,7 @@ class GrafanaApp { Promise.all(preBootRequires).then(() => { // disable tool tip animation - $.fn.tooltip.defaults.animation = false; + //$.fn.tooltip.defaults.animation = false; // bootstrap the app angular.bootstrap(document, this.ngModuleDependencies).invoke(() => { _.each(this.preBootModules, module => { diff --git a/public/app/core/core.ts b/public/app/core/core.ts index e814199ac0b..704024eebd7 100644 --- a/public/app/core/core.ts +++ b/public/app/core/core.ts @@ -28,8 +28,9 @@ import * as routes from 'app/core/routes/all'; // export * from './directives/give_focus' // export * from './filters/filters' -import {Component} from 'angular2/core'; +import {Component} from 'vendor/jspm/angular2/core'; console.log(Component); + // console.log(Component); // // console.log(Component); diff --git a/public/app/headers/common.d.ts b/public/app/headers/common.d.ts index af9d0955ceb..4151c7ffbfa 100644 --- a/public/app/headers/common.d.ts +++ b/public/app/headers/common.d.ts @@ -1,5 +1,7 @@ /// /// +/// +/// // dummy modules declare module 'app/core/config' { diff --git a/public/app/jspm.conf.js b/public/app/jspm.conf.js index 78439130fd0..c81e3d34f25 100644 --- a/public/app/jspm.conf.js +++ b/public/app/jspm.conf.js @@ -1,23 +1,21 @@ System.config({ - baseURL: "public", - defaultJSExtensions: true, - transpiler: false, + defaultJSExtenions: true, paths: { - moment: 'vendor/moment', - "jquery": "vendor/jquery/dist/jquery.js", - 'lodash-src': 'vendor/lodash', - "lodash": 'app/core/lodash_extended', - "angular": "vendor/angular/angular.js", - "bootstrap": "vendor/bootstrap/bootstrap.js", - 'angular-route': 'vendor/angular-route/angular-route', - 'angular-sanitize': 'vendor/angular-sanitize/angular-sanitize', - "angular-ui": "vendor/angular-ui/ui-bootstrap-tpls.js", - "angular-strap": "vendor/angular-other/angular-strap.js", - "angular-dragdrop": "vendor/angular-native-dragdrop/draganddrop.js", - "angular-bindonce": "vendor/angular-bindonce/bindonce.js", - "spectrum": "vendor/spectrum.js", - "filesaver": "vendor/filesaver.js", - "bootstrap-tagsinput": "vendor/tagsinput/bootstrap-tagsinput.js", + moment: 'public/vendor/moment.js', + "jquery": "public/vendor/jquery/dist/jquery.js", + 'lodash-src': 'public/vendor/lodash.js', + "lodash": 'public/app/core/lodash_extended.js', + "angular": "public/vendor/angular/angular.js", + "bootstrap": "public/vendor/bootstrap/bootstrap.js", + 'angular-route': 'public/vendor/angular-route/angular-route.js', + 'angular-sanitize': 'public/vendor/angular-sanitize/angular-sanitize.js', + "angular-ui": "public/vendor/angular-ui/ui-bootstrap-tpls.js", + "angular-strap": "public/vendor/angular-other/angular-strap.js", + "angular-dragdrop": "public/vendor/angular-native-dragdrop/draganddrop.js", + "angular-bindonce": "public/vendor/angular-bindonce/bindonce.js", + "spectrum": "public/vendor/spectrum.js", + "filesaver": "public/vendor/filesaver.js", + "bootstrap-tagsinput": "public/vendor/tagsinput/bootstrap-tagsinput.js", "jquery.flot": "vendor/flot/jquery.flot", "jquery.flot.pie": "vendor/flot/jquery.flot.pie", "jquery.flot.events": "vendor/flot/jquery.flot.events", @@ -30,12 +28,15 @@ System.config({ }, packages: { - "js": { - "defaultExtension": "js" - } + app: { + defaultExtension: 'js', + }, }, map: { + 'vendor/jspm/angular2': 'angular2', + app: 'public/app', + vendor: 'public/vendor', }, meta: { diff --git a/tasks/options/typescript.js b/tasks/options/typescript.js index 6911a9e7673..9a4adaa08c0 100644 --- a/tasks/options/typescript.js +++ b/tasks/options/typescript.js @@ -11,7 +11,6 @@ module.exports = function() { rootDir: 'public/', sourceRoot: 'public/', declaration: true, - moduleResolution: 2, emitDecoratorMetadata: true, experimentalDecorators: true, sourceMap: true, diff --git a/tsconfig.json b/tsconfig.json index 72d58e20bfb..6a1d6eaf2aa 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,16 +1,15 @@ { "compilerOptions": { - "sourceMap": true, - "declaration": true, - "outDir": "public_gen", - "noImplicitAny": false, - "target": "es5", - "rootDir": "public/", - "module": "system", - "moduleResolution": 2, - "noEmitOnError": true - }, - "files": [ - "public/app/core/core_module.ts" - ] -} \ No newline at end of file + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "sourceMap": true, + "declaration": true, + "outDir": "public_gen", + "noImplicitAny": false, + "target": "es5", + "rootDir": "public", + "module": "system", + "noEmitOnError": true, + "moduleResolution": "classic" + } +}