--- /dev/null
+var compileModules = require('broccoli-es6-module-transpiler');
+var compile6to5 = require('broccoli-6to5-transpiler');
+var uglify = require('broccoli-uglify-js');
+var merge = require('broccoli-merge-trees');
+var Funnel = require('broccoli-funnel');
+
+var testFiles = new Funnel('.', {
+ include: [/^test\/(moment|qunit|helpers)/]
+});
+
+var libAndTests = merge(['lib', testFiles]);
+
+var tests = compileModules(libAndTests, {
+ formatter: 'bundle',
+ output: 'test/moment-and-tests.js'
+});
+
+function bundle (file) {
+ var template = new Funnel('templates', {
+ include : [new RegExp(file + ".js")]
+ });
+ return compileModules(merge(['lib', template]), {
+ formatter: 'bundle',
+ output: file + '/moment.js'
+ });
+}
+
+var bundled = merge([
+ bundle('amd'),
+ bundle('amd-named'),
+ bundle('globals')
+]);
+
+var minified = uglify(bundled, {
+ mangle: true,
+ compress: {
+ dead_code: false // jshint ignore:line
+ },
+ output: {
+ ascii_only: true // jshint ignore:line
+ }
+});
+
+var commonjsSource = compile6to5(libAndTests, {
+ modules: 'commonInterop'
+});
+
+var commonjs = new Funnel(commonjsSource, {
+ destDir: "commonjs"
+});
+
+var all = merge([minified, tests, commonjs]);
+
+var allWithoutMaps = new Funnel(all, {
+ exclude: [/\.map$/]
+});
+
+module.exports = allWithoutMaps;
],
"devDependencies": {
"uglify-js": "latest",
+ "broccoli": "^0.13.3",
+ "broccoli-6to5-transpiler": "^0.1.1",
+ "broccoli-cli": "0.0.1",
+ "broccoli-es6-module-transpiler": "^0.5.0",
+ "broccoli-funnel": "^0.1.6",
+ "broccoli-merge-trees": "^0.2.1",
+ "broccoli-uglify-js": "^0.1.3",
"grunt": "latest",
"nodeunit": "latest",
"benchmark": "latest",
"karma-firefox-launcher": "latest",
"karma-nodeunit": "latest",
"karma-sauce-launcher": "latest",
+ "qunit": "^0.7.5",
+ "qunit-cli": "^0.1.4",
"spacejam": "latest"
},
"scripts": {
- "test": "grunt test:node"
+ "test": "rm -rf temp; broccoli build temp; qunit-cli temp/test/*.js; qunit-cli temp/commonjs/test/**/*.js;"
},
"ender": "./ender.js",
"dojoBuild": "package.js",
--- /dev/null
+/*global QUnit:false*/
+
+import moment from "../moment";
+
+export var test = QUnit.test;
+
+export function module (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function () {
+ throw new Error('input not handled by moment');
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+}