Browse Source

Package imports: loaded lazily.

Herby Vojčík 5 years ago
parent
commit
01ae9fe968
3 changed files with 9 additions and 10 deletions
  1. 1 1
      package.json
  2. 7 8
      src/IDE.js
  3. 1 1
      src/IDE.st

+ 1 - 1
package.json

@@ -28,7 +28,7 @@
   },
   "dependencies": {
     "@ambers/contrib-web": ">=0.6.0",
-    "@ambers/lang": ">=0.22.2",
+    "@ambers/lang": ">=0.22.6",
     "codemirror": "^5.39.2",
     "jquery-ui-dist": ">=1.9.2",
     "require-css": "^0.1.10"

+ 7 - 8
src/IDE.js

@@ -1,17 +1,16 @@
-define(["amber/boot"
 //>>excludeStart("imports", pragmas.excludeImports);
-, "codemirror/lib/codemirror", "amber_core/Platform-Services", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk", "css!./resources/amber", "css!codemirror/addon/hint/show-hint", "css!codemirror/lib/codemirror", "css!codemirror/theme/ambiance", "jquery-ui"
+require(["codemirror/lib/codemirror", "amber_core/Platform-Services", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk", "css!amber/legacy/resources/amber", "css!codemirror/addon/hint/show-hint", "css!codemirror/lib/codemirror", "css!codemirror/theme/ambiance", "jquery-ui"]);
 //>>excludeEnd("imports");
-, "amber/web/Web", "amber_core/Kernel-Objects"], function($boot
-//>>excludeStart("imports", pragmas.excludeImports);
-,codeMirrorLib
-//>>excludeEnd("imports");
-){"use strict";
+define(["amber/boot", "amber/web/Web", "amber_core/Kernel-Objects"], function($boot){"use strict";
 if(!("nilAsValue" in $boot))$boot.nilAsValue=$boot.nilAsReceiver;
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("IDE");
 $pkg.innerEval = function (expr) { return eval(expr); };
-$pkg.imports = ["codeMirrorLib=codemirror/lib/codemirror", "amber_core/Platform-Services", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk", "css!./resources/amber", "css!codemirror/addon/hint/show-hint", "css!codemirror/lib/codemirror", "css!codemirror/theme/ambiance", "jquery-ui"];
+$pkg.imports = ["codeMirrorLib=codemirror/lib/codemirror", "amber_core/Platform-Services", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk", "css!amber/legacy/resources/amber", "css!codemirror/addon/hint/show-hint", "css!codemirror/lib/codemirror", "css!codemirror/theme/ambiance", "jquery-ui"];
+//>>excludeStart("imports", pragmas.excludeImports);
+var codeMirrorLib;
+$pkg.isReady = new Promise(function (resolve, reject) { require(["codemirror/lib/codemirror", "amber_core/Platform-Services", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk", "css!amber/legacy/resources/amber", "css!codemirror/addon/hint/show-hint", "css!codemirror/lib/codemirror", "css!codemirror/theme/ambiance", "jquery-ui"], function ($1) {codeMirrorLib=$1; resolve();}, reject); });
+//>>excludeEnd("imports");
 $pkg.transport = {"type":"amd","amdNamespace":"amber/legacy"};
 
 $core.addClass("ClassesList", $globals.Widget, ["browser", "ul", "nodes"], "IDE");

+ 1 - 1
src/IDE.st

@@ -1,5 +1,5 @@
 Smalltalk createPackage: 'IDE'!
-(Smalltalk packageAt: 'IDE' ifAbsent: [ self error: 'Package not created: IDE' ]) imports: {'codeMirrorLib' -> 'codemirror/lib/codemirror'. 'amber_core/Platform-Services'. 'codemirror/addon/hint/show-hint'. 'codemirror/mode/smalltalk/smalltalk'. 'css!!./resources/amber'. 'css!!codemirror/addon/hint/show-hint'. 'css!!codemirror/lib/codemirror'. 'css!!codemirror/theme/ambiance'. 'jquery-ui'}!
+(Smalltalk packageAt: 'IDE' ifAbsent: [ self error: 'Package not created: IDE' ]) imports: {'codeMirrorLib' -> 'codemirror/lib/codemirror'. 'amber_core/Platform-Services'. 'codemirror/addon/hint/show-hint'. 'codemirror/mode/smalltalk/smalltalk'. 'css!!amber/legacy/resources/amber'. 'css!!codemirror/addon/hint/show-hint'. 'css!!codemirror/lib/codemirror'. 'css!!codemirror/theme/ambiance'. 'jquery-ui'}!
 Widget subclass: #ClassesList
 	instanceVariableNames: 'browser ul nodes'
 	package: 'IDE'!