|
@@ -1,35 +1,38 @@
|
|
|
'use strict';
|
|
|
|
|
|
var fs = require('fs'),
|
|
|
- path = require('path');
|
|
|
+ path = require('path'),
|
|
|
+ helpers = require('@ambers/sdk').helpers;
|
|
|
|
|
|
function findAmberPath(options) {
|
|
|
var result;
|
|
|
options.some(function (x) {
|
|
|
var candidate = path.join(__dirname, x);
|
|
|
- return fs.existsSync(path.join(candidate, 'support/boot.js')) && (result = candidate);
|
|
|
+ return (
|
|
|
+ fs.existsSync(path.join(candidate, 'support/boot.js')) ||
|
|
|
+ fs.existsSync(path.join(candidate, 'base/boot.js'))
|
|
|
+ ) && (result = candidate);
|
|
|
});
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
module.exports = function (grunt) {
|
|
|
- var helpers = require('@ambers/sdk').helpers;
|
|
|
-
|
|
|
|
|
|
- grunt.loadNpmTasks('grunt-execute');
|
|
|
grunt.loadNpmTasks('grunt-contrib-clean');
|
|
|
grunt.loadNpmTasks('grunt-contrib-less');
|
|
|
grunt.loadNpmTasks('grunt-contrib-requirejs');
|
|
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
|
|
+ grunt.loadNpmTasks('grunt-exec');
|
|
|
grunt.loadNpmTasks('@ambers/sdk');
|
|
|
|
|
|
|
|
|
- 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']);
|
|
|
+ grunt.registerTask('default', ['amdconfig:app', 'less', 'amberc:all']);
|
|
|
+ grunt.registerTask('test', ['amdconfig:app', 'requirejs:test_runner', 'exec:test_runner', 'clean:test_runner']);
|
|
|
+ grunt.registerTask('devel', ['amdconfig:app']);
|
|
|
|
|
|
var polyfillThenPromiseApp = function () {
|
|
|
- define(["require", "amber/es2015-polyfills"], function (require) {
|
|
|
+ define(["require", "amber/es6-promise"], function (require, promiseLib) {
|
|
|
+ promiseLib.polyfill();
|
|
|
return new Promise(function (resolve, reject) {
|
|
|
require(["__app__"], resolve, reject);
|
|
|
});
|
|
@@ -56,11 +59,10 @@ module.exports = function (grunt) {
|
|
|
|
|
|
amberc: {
|
|
|
options: {
|
|
|
- amber_dir: findAmberPath(['../..', 'bower_components/amber']),
|
|
|
+ amber_dir: findAmberPath(['../..', '../amber/lang', 'bower_components/amber']),
|
|
|
configFile: "config.js"
|
|
|
},
|
|
|
all: {
|
|
|
- output_dir: 'src',
|
|
|
src: [
|
|
|
|
|
|
'src/Helios-Core.st', 'src/Helios-Exceptions.st', 'src/Helios-Announcements.st',
|
|
@@ -78,6 +80,9 @@ module.exports = function (grunt) {
|
|
|
jsGlobals: ['navigator']
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
+ amdconfig: {app: {dest: 'config.js'}},
|
|
|
+
|
|
|
requirejs: {
|
|
|
options: {
|
|
|
useStrict: true
|
|
@@ -109,12 +114,8 @@ module.exports = function (grunt) {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- amdconfig: {helios: {dest: 'config.js'}},
|
|
|
-
|
|
|
- execute: {
|
|
|
- test_runner: {
|
|
|
- src: ['test_runner.js']
|
|
|
- }
|
|
|
+ exec: {
|
|
|
+ test_runner: 'node test_runner.js'
|
|
|
},
|
|
|
|
|
|
clean: {
|