Browse Source

Move to modern Gruntfile; use @ambers/sdk.

Herby Vojčík 5 years ago
parent
commit
7fbd0822ba
4 changed files with 27 additions and 22 deletions
  1. 19 8
      Gruntfile.js
  2. 1 0
      bower.json
  3. 0 7
      config-node.js
  4. 7 7
      package.json

+ 19 - 8
Gruntfile.js

@@ -13,7 +13,7 @@ function findAmberPath(options) {
 }
 
 module.exports = function (grunt) {
-    var helpers = require('amber-dev').helpers;
+    var helpers = require('@ambers/sdk').helpers;
 
     // These plugins provide necessary tasks.
     grunt.loadNpmTasks('grunt-execute');
@@ -21,13 +21,21 @@ module.exports = function (grunt) {
     grunt.loadNpmTasks('grunt-contrib-less');
     grunt.loadNpmTasks('grunt-contrib-requirejs');
     grunt.loadNpmTasks('grunt-contrib-watch');
-    grunt.loadNpmTasks('amber-dev');
+    grunt.loadNpmTasks('@ambers/sdk');
 
     // Default task.
     grunt.registerTask('default', ['amdconfig:helios', 'less', 'amberc:all']);
     grunt.registerTask('test', ['amdconfig:helios', 'requirejs:test_runner', 'execute:test_runner', 'clean:test_runner']);
     grunt.registerTask('devel', ['amdconfig:helios']);
 
+    var polyfillThenPromiseApp = function () {
+        define(["require", "amber/es2015-polyfills"], function (require) {
+            return new Promise(function (resolve, reject) {
+                require(["__app__"], resolve, reject);
+            });
+        });
+    };
+
     // Project configuration.
     grunt.initConfig({
         // Metadata.
@@ -78,18 +86,21 @@ module.exports = function (grunt) {
                 options: {
                     mainConfigFile: "config.js",
                     rawText: {
-                        "app": "(" + function () {
-                            define(["amber/deploy", "helios/all", "amber_devkit/NodeTestRunner"], function (amber) {
-                                amber.initialize();
-                                amber.globals.NodeTestRunner._main();
+                        "jquery": "/* do not load in node test runner */",
+                        "__app__": "(" + function () {
+                            define(["amber/deploy", "helios/all", "amber_core/Platform-Node", "amber_devkit/NodeTestRunner"], function (amber) {
+                                amber.initialize().then(function () {
+                                    amber.globals.NodeTestRunner._main();
+                                });
                             });
-                        } + "());"
+                        } + "());",
+                        "app": "(" + polyfillThenPromiseApp + "());"
                     },
                     paths: {"amber_devkit": helpers.libPath},
                     pragmas: {
                         excludeIdeData: true
                     },
-                    include: ['config-node', 'app'],
+                    include: ['app', 'amber/lazypack', '__app__'],
                     insertRequire: ['app'],
                     optimize: "none",
                     wrap: helpers.nodeWrapperWithShebang,

+ 1 - 0
bower.json

@@ -19,6 +19,7 @@
   ],
   "dependencies": {
     "amber": ">=0.21.0",
+    "amber-compat-es2015": "^0.1.5",
     "amber-contrib-web": ">=0.5.0",
     "jquery-ui": ">=1.9.2",
     "bootstrap": "^3.3.4",

+ 0 - 7
config-node.js

@@ -1,7 +0,0 @@
-// 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/Platform", ["amber_core/Platform-Node"], {});
-define("amber/compatibility", ["amber/node-compatibility"], {});
-define("jquery", {});

+ 7 - 7
package.json

@@ -19,14 +19,14 @@
     "test": "grunt test"
   },
   "devDependencies": {
-    "amber-dev": "^0.8.7",
-    "grunt": "^0.4.5",
-    "grunt-contrib-clean": "^0.6.0",
-    "grunt-contrib-less": "^1.0.1",
-    "grunt-contrib-requirejs": "^0.4.4",
-    "grunt-contrib-watch": "^0.6.1",
+    "@ambers/sdk": "^0.10.5",
+    "grunt": "^1.0.3",
+    "grunt-contrib-clean": "^1.1.0",
+    "grunt-contrib-less": "^2.0.0",
+    "grunt-contrib-requirejs": "^1.0.0",
+    "grunt-contrib-watch": "^1.1.0",
     "grunt-execute": "^0.2.2",
-    "requirejs": "^2.1.15"
+    "requirejs": "^2.3.5"
   },
   "keywords": [
     "Amber",