Pārlūkot izejas kodu

migration to newest state of Amber

Herbert Vojčík 10 gadi atpakaļ
vecāks
revīzija
a124549252
10 mainītis faili ar 58 papildinājumiem un 35 dzēšanām
  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;
+});