Browse Source

migration to newest state of Amber

Herbert Vojčík 10 năm trước cách đây
mục cha
commit
a124549252
10 tập tin đã thay đổi với 58 bổ sung35 xóa
  1. 31 23
      Gruntfile.js
  2. 3 3
      bower.json
  3. 7 0
      config-node.js
  4. 1 1
      devel.js
  5. 1 1
      package.json
  6. 3 3
      src/Trapped-Frontend.js
  7. 1 1
      src/Trapped-Frontend.st
  8. 2 2
      src/Trapped-Processors.js
  9. 1 1
      src/Trapped-Processors.st
  10. 8 0
      testing.js

+ 31 - 23
Gruntfile.js

@@ -1,7 +1,8 @@
 'use strict';
 
 module.exports = function (grunt) {
-    var path = require('path');
+    var path = require('path'),
+        helpers = require('amber-dev/lib/helpers');
 
     // These plugins provide necessary tasks.
     grunt.loadNpmTasks('grunt-contrib-clean');
@@ -11,7 +12,7 @@ module.exports = function (grunt) {
 
     // Default task.
     grunt.registerTask('default', ['amberc:all', 'amberc:counter', 'amberc:todo']);
-    grunt.registerTask('test', ['amberc:test_runner', 'execute:test_runner', 'clean:test_runner']);
+    grunt.registerTask('test', ['amdconfig:app', 'requirejs:test_runner', 'execute:test_runner', 'clean:test_runner']);
     grunt.registerTask('devel', ['amdconfig:app', 'requirejs:devel']);
     grunt.registerTask('deploy', ['amdconfig:app', 'requirejs:deploy']);
 
@@ -28,8 +29,7 @@ module.exports = function (grunt) {
         amberc: {
             options: {
                 amber_dir: path.join(__dirname, "bower_components", "amber"),
-                library_dirs: ['src'],
-                closure_jar: ''
+                library_dirs: ['src']
             },
             all: {
                 src: [
@@ -52,17 +52,6 @@ module.exports = function (grunt) {
                 ],
                 amd_namespace: 'trapped-todo',
                 libraries: ['SUnit', 'Web', 'Trapped-Frontend', 'Trapped-Backend']
-            },
-            test_runner: {
-                src: ['node_modules/amber-dev/lib/Test.st'],
-                libraries: [
-                    /* add dependencies packages here */
-                    'Trapped', /* add other code-to-test packages here */
-                    'SUnit',
-                    'Trapped-Tests' /* add other test packages here */
-                ],
-                main_class: 'NodeTestRunner',
-                output_name: 'test_runner'
             }
         },
 
@@ -72,26 +61,45 @@ module.exports = function (grunt) {
             deploy: {
                 options: {
                     mainConfigFile: "config.js",
-                    onBuildWrite: function (moduleName, path, contents) {
-                        return moduleName === "config" ? contents + "\nrequire.config({map:{'*':{app:'deploy'}}});" : contents;
-                    },
+                    rawText: {"app": 'define(["deploy"],function(x){return x});'},
                     pragmas: {
                         excludeIdeData: true,
                         excludeDebugContexts: true
                     },
-                    include: ['config', 'node_modules/requirejs/require', 'deploy'],
+                    include: ['config', 'node_modules/requirejs/require', 'app'],
                     out: "the.js"
                 }
             },
             devel: {
                 options: {
                     mainConfigFile: "config.js",
-                    onBuildWrite: function (moduleName, path, contents) {
-                        return moduleName === "config" ? contents + "\nrequire.config({map:{'*':{app:'devel'}}});" : contents;
-                    },
-                    include: ['config', 'node_modules/requirejs/require'],
+                    rawText: {"app": 'define(["devel"],function(x){return x});'},
+                    include: ['config', 'node_modules/requirejs/require', 'app'],
+                    exclude: ['devel'],
                     out: "the.js"
                 }
+            },
+            test_runner: {
+                options: {
+                    mainConfigFile: "config.js",
+                    rawText: {
+                        "app": "(" + function () {
+                            define(["testing", "amber_devkit/NodeTestRunner"], function (amber) {
+                                amber.initialize();
+                                amber.globals.NodeTestRunner._main();
+                            });
+                        } + "());"
+                    },
+                    paths: {"amber_devkit": helpers.libPath},
+                    pragmas: {
+                        excludeIdeData: true
+                    },
+                    include: ['config-node', 'app'],
+                    insertRequire: ['app'],
+                    optimize: "none",
+                    wrap: helpers.nodeWrapperWithShebang,
+                    out: "test_runner.js"
+                }
             }
         },
 

+ 3 - 3
bower.json

@@ -24,13 +24,13 @@
     "tests"
   ],
   "dependencies": {
-    "amber": ">=0.14.10",
+    "amber": ">=0.14.15",
     "xontent": "^0.1.0",
     "lyst": "^0.1.0"
   },
   "devDependencies": {
     "amber-ide-starter-dialog": "^0.1.0",
-    "amber-attic": ">=0.1.5",
-    "helios": ">=0.4.0"
+    "amber-contrib-legacy": "^0.2.1",
+    "helios": ">=0.5.0"
   }
 }

+ 7 - 0
config-node.js

@@ -0,0 +1,7 @@
+// This file is used to make additional changes
+// when building an app to run in node.js.
+// Free to edit. You can break tests (cli test runner uses
+// this to build itself - it is a node executable).
+define("amber_core/Platform-Browser", ["amber_core/Platform-Node"], {});
+define("amber/browser-compatibility", {});
+define("jquery", {});

+ 1 - 1
devel.js

@@ -1,6 +1,6 @@
 define([
+    './testing',
     'amber/devel',
-    './deploy',
     // --- packages used only during development begin here ---
     'trapped/Trapped-Tests',
     'amber-attic/IDE'

+ 1 - 1
package.json

@@ -28,7 +28,7 @@
     "test": "grunt test"
   },
   "devDependencies": {
-    "amber-dev": "^0.4.0",
+    "amber-dev": "^0.6.0",
     "grunt": "^0.4.5",
     "grunt-contrib-clean": "^0.6.0",
     "grunt-contrib-requirejs": "^0.4.4",

+ 3 - 3
src/Trapped-Frontend.js

@@ -1,8 +1,8 @@
 define("trapped/Trapped-Frontend", ["amber/boot"
 //>>excludeStart("imports", pragmas.excludeImports);
-, "amber-contrib-jquery/Wrappers-JQuery", "amber-contrib-web/Web"
+, "amber/jquery/Wrappers-JQuery", "amber/web/Web"
 //>>excludeEnd("imports");
-, "amber_core/Kernel-Objects", "amber_core/Kernel-Collections", "amber-contrib-web/Web"], function($boot
+, "amber_core/Kernel-Objects", "amber_core/Kernel-Collections", "amber/web/Web"], function($boot
 //>>excludeStart("imports", pragmas.excludeImports);
 
 //>>excludeEnd("imports");
@@ -10,7 +10,7 @@ define("trapped/Trapped-Frontend", ["amber/boot"
 var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
 $core.addPackage('Trapped-Frontend');
 $core.packages["Trapped-Frontend"].innerEval = function (expr) { return eval(expr); };
-$core.packages["Trapped-Frontend"].imports = ["amber-contrib-jquery/Wrappers-JQuery", "amber-contrib-web/Web"];
+$core.packages["Trapped-Frontend"].imports = ["amber/jquery/Wrappers-JQuery", "amber/web/Web"];
 $core.packages["Trapped-Frontend"].transport = {"type":"amd","amdNamespace":"trapped"};
 
 $core.addClass('TrappedDataCarrier', $globals.Object, ['target', 'model', 'chain'], 'Trapped-Frontend');

+ 1 - 1
src/Trapped-Frontend.st

@@ -1,5 +1,5 @@
 Smalltalk createPackage: 'Trapped-Frontend'!
-(Smalltalk packageAt: 'Trapped-Frontend') imports: {'amber-contrib-jquery/Wrappers-JQuery'. 'amber-contrib-web/Web'}!
+(Smalltalk packageAt: 'Trapped-Frontend') imports: {'amber/jquery/Wrappers-JQuery'. 'amber/web/Web'}!
 Object subclass: #TrappedDataCarrier
 	instanceVariableNames: 'target model chain'
 	package: 'Trapped-Frontend'!

+ 2 - 2
src/Trapped-Processors.js

@@ -1,6 +1,6 @@
 define("trapped/Trapped-Processors", ["amber/boot"
 //>>excludeStart("imports", pragmas.excludeImports);
-, "amber-contrib-jquery/Wrappers-JQuery", "jquery.xontent"
+, "amber/jquery/Wrappers-JQuery", "jquery.xontent"
 //>>excludeEnd("imports");
 , "trapped/Trapped-Frontend"], function($boot
 //>>excludeStart("imports", pragmas.excludeImports);
@@ -10,7 +10,7 @@ define("trapped/Trapped-Processors", ["amber/boot"
 var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
 $core.addPackage('Trapped-Processors');
 $core.packages["Trapped-Processors"].innerEval = function (expr) { return eval(expr); };
-$core.packages["Trapped-Processors"].imports = ["amber-contrib-jquery/Wrappers-JQuery", "jquery.xontent"];
+$core.packages["Trapped-Processors"].imports = ["amber/jquery/Wrappers-JQuery", "jquery.xontent"];
 $core.packages["Trapped-Processors"].transport = {"type":"amd","amdNamespace":"trapped"};
 
 $core.addClass('TrappedProcessorAttribute', $globals.TrappedDataExpectingProcessor, ['attrName'], 'Trapped-Processors');

+ 1 - 1
src/Trapped-Processors.st

@@ -1,5 +1,5 @@
 Smalltalk createPackage: 'Trapped-Processors'!
-(Smalltalk packageAt: 'Trapped-Processors') imports: {'amber-contrib-jquery/Wrappers-JQuery'. 'jquery.xontent'}!
+(Smalltalk packageAt: 'Trapped-Processors') imports: {'amber/jquery/Wrappers-JQuery'. 'jquery.xontent'}!
 TrappedDataExpectingProcessor subclass: #TrappedProcessorAttribute
 	instanceVariableNames: 'attrName'
 	package: 'Trapped-Processors'!

+ 8 - 0
testing.js

@@ -0,0 +1,8 @@
+define([
+    './deploy',
+    'amber_core/SUnit',
+    // --- packages used only during automated testing begin here ---
+    // --- packages used only during automated testing end here ---
+], function (amber) {
+    return amber;
+});