diff --git a/.babelrc b/.babelrc new file mode 100644 index 000000000..af0f0c3d3 --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["es2015"] +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index e67d576aa..d156c3766 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /node_modules npm-debug.log tmp* +dist/ diff --git a/.jshintignore b/.jshintignore index 77beb46a3..9fbbcd230 100644 --- a/.jshintignore +++ b/.jshintignore @@ -1,2 +1,3 @@ test/fixtures/** node_modules/** +dist/** diff --git a/.travis.yml b/.travis.yml index 08b453c81..158886f09 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ language: node_js node_js: - "stable" - "4" + - "0.12" env: - CXX=g++-4.8 WORKER_COUNT=2 diff --git a/Brocfile.js b/Brocfile.js new file mode 100644 index 000000000..0c1d27b70 --- /dev/null +++ b/Brocfile.js @@ -0,0 +1,5 @@ +var alchemist = require('broccoli-module-alchemist'); + +module.exports = alchemist({ + targets: ['cjs'] +}); diff --git a/package.json b/package.json index f06ec6570..9b8e92441 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,13 @@ "name": "fastboot", "version": "1.0.0-beta.5", "description": "Library for rendering Ember apps in node.js", + "main": "src/index.js", "scripts": { "test": "mocha", + "build": "rm -rf dist && broccoli build dist", "preversion": "npm test", + "prepublish": "npm run build", + "postinstall": "broccoli-module-alchemist-install", "postversion": "git push origin master --tags" }, "repository": { @@ -22,6 +26,7 @@ }, "homepage": "https://github.com/ember-fastboot/fastboot#readme", "dependencies": { + "broccoli-module-alchemist-install": "^0.1.1", "chalk": "^0.5.1", "cookie": "^0.2.3", "debug": "^2.1.0", @@ -36,6 +41,11 @@ "source-map-support": "^0.4.0" }, "devDependencies": { + "babel-core": "^6.10.4", + "babel-preset-es2015": "^6.9.0", + "broccoli": "^0.16.9", + "broccoli-cli": "^1.0.0", + "broccoli-module-alchemist": "^0.2.0", "chai": "^3.5.0", "chai-as-promised": "^5.2.0", "fs-promise": "^0.5.0", diff --git a/lib/ember-app.js b/src/ember-app.js similarity index 100% rename from lib/ember-app.js rename to src/ember-app.js diff --git a/lib/fastboot-headers.js b/src/fastboot-headers.js similarity index 100% rename from lib/fastboot-headers.js rename to src/fastboot-headers.js diff --git a/lib/fastboot-info.js b/src/fastboot-info.js similarity index 100% rename from lib/fastboot-info.js rename to src/fastboot-info.js diff --git a/lib/fastboot-request.js b/src/fastboot-request.js similarity index 100% rename from lib/fastboot-request.js rename to src/fastboot-request.js diff --git a/lib/fastboot-response.js b/src/fastboot-response.js similarity index 100% rename from lib/fastboot-response.js rename to src/fastboot-response.js diff --git a/index.js b/src/index.js similarity index 98% rename from index.js rename to src/index.js index a4e3c7b7d..20e10499f 100644 --- a/index.js +++ b/src/index.js @@ -1,6 +1,6 @@ 'use strict'; -const EmberApp = require('./lib/ember-app'); +const EmberApp = require('./ember-app'); /** * FastBoot renders your Ember.js applications in Node.js. Start by diff --git a/lib/install-source-map-support.js b/src/install-source-map-support.js similarity index 100% rename from lib/install-source-map-support.js rename to src/install-source-map-support.js diff --git a/lib/result.js b/src/result.js similarity index 100% rename from lib/result.js rename to src/result.js diff --git a/lib/sandbox.js b/src/sandbox.js similarity index 100% rename from lib/sandbox.js rename to src/sandbox.js diff --git a/lib/vm-sandbox.js b/src/vm-sandbox.js similarity index 100% rename from lib/vm-sandbox.js rename to src/vm-sandbox.js diff --git a/test/fastboot-headers-test.js b/test/fastboot-headers-test.js index fba386a64..10eb435ba 100644 --- a/test/fastboot-headers-test.js +++ b/test/fastboot-headers-test.js @@ -2,7 +2,8 @@ var expect = require('chai').expect; var path = require('path'); -var FastBootHeaders = require('../lib/fastboot-headers.js'); +var alchemistRequire = require('broccoli-module-alchemist/require'); +var FastBootHeaders = alchemistRequire('fastboot-headers.js'); describe('FastBootHeaders', function() { it('returns an array of header values from getAll, regardless of header name casing', function() { diff --git a/test/fastboot-info-test.js b/test/fastboot-info-test.js index 47d29fd5e..5f8423dc3 100644 --- a/test/fastboot-info-test.js +++ b/test/fastboot-info-test.js @@ -1,8 +1,9 @@ var expect = require('chai').expect; var path = require('path'); -var FastBootInfo = require('../lib/fastboot-info.js'); -var FastBootResponse = require('../lib/fastboot-response.js'); -var FastBootRequest = require('../lib/fastboot-request.js'); +var alchemistRequire = require('broccoli-module-alchemist/require'); +var FastBootInfo = alchemistRequire('fastboot-info.js'); +var FastBootResponse = alchemistRequire('fastboot-response.js'); +var FastBootRequest = alchemistRequire('fastboot-request.js'); describe("FastBootInfo", function() { var response; diff --git a/test/fastboot-request-test.js b/test/fastboot-request-test.js index 43c883b83..50933feb6 100644 --- a/test/fastboot-request-test.js +++ b/test/fastboot-request-test.js @@ -1,6 +1,7 @@ var expect = require('chai').expect; var path = require('path'); -var FastBootRequest = require('../lib/fastboot-request.js'); +var alchemistRequire = require('broccoli-module-alchemist/require'); +var FastBootRequest = alchemistRequire('fastboot-request.js'); describe("FastBootRequest", function() { it("throws an exception if no hostWhitelist is provided", function() { diff --git a/test/fastboot-response-test.js b/test/fastboot-response-test.js index 88999b29b..304b26e5f 100644 --- a/test/fastboot-response-test.js +++ b/test/fastboot-response-test.js @@ -1,6 +1,7 @@ var expect = require('chai').expect; -var FastBootHeaders = require('../lib/fastboot-headers.js'); -var FastBootResponse = require('../lib/fastboot-response.js'); +var alchemistRequire = require('broccoli-module-alchemist/require'); +var FastBootHeaders = alchemistRequire('fastboot-headers.js'); +var FastBootResponse = alchemistRequire('fastboot-response.js'); describe("FastBootResponse", function() { var fastBootResponse; diff --git a/test/fastboot-shoebox-test.js b/test/fastboot-shoebox-test.js index 01fbe0065..e38d17460 100644 --- a/test/fastboot-shoebox-test.js +++ b/test/fastboot-shoebox-test.js @@ -4,8 +4,9 @@ const expect = require('chai').expect; const fs = require('fs'); const path = require('path'); const request = require('request-promise'); -const FastBoot = require('../index'); const TestHTTPServer = require('./helpers/test-http-server'); +const alchemistRequire = require('broccoli-module-alchemist/require'); +const FastBoot = alchemistRequire('index'); describe("FastBootShoebox", function() { diff --git a/test/fastboot-test.js b/test/fastboot-test.js index ae39c3018..6f17c74c4 100644 --- a/test/fastboot-test.js +++ b/test/fastboot-test.js @@ -1,11 +1,12 @@ 'use strict'; -const expect = require('chai').expect; -const fs = require('fs'); -const path = require('path'); -const request = require('request-promise'); -const FastBoot = require('../index'); -const TestHTTPServer = require('./helpers/test-http-server'); +const expect = require('chai').expect; +const fs = require('fs'); +const path = require('path'); +const request = require('request-promise'); +const TestHTTPServer = require('./helpers/test-http-server'); +const alchemistRequire = require('broccoli-module-alchemist/require'); +const FastBoot = alchemistRequire('index'); describe("FastBoot", function() { it("throws an exception if no distPath is provided", function() { diff --git a/test/helpers/test-http-server.js b/test/helpers/test-http-server.js index f65ad5b27..0c63aed37 100644 --- a/test/helpers/test-http-server.js +++ b/test/helpers/test-http-server.js @@ -1,6 +1,7 @@ var express = require('express'); var RSVP = require('rsvp'); -var FastBoot = require('../../index'); +var alchemistRequire = require('broccoli-module-alchemist/require'); +var FastBoot = alchemistRequire('index'); function TestHTTPServer(options) { options = options || {}; diff --git a/test/mocha.opts b/test/mocha.opts index ed44bbffb..c269fab0c 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1 +1,3 @@ --require test/support/common +--compilers js:babel-core/register +--timeout 10000 diff --git a/test/result-test.js b/test/result-test.js index 4f2919331..9afe07e36 100644 --- a/test/result-test.js +++ b/test/result-test.js @@ -1,10 +1,11 @@ var expect = require('chai').expect; -var Result = require('../lib/result.js'); -var FastBootInfo = require('../lib/fastboot-info.js'); +var alchemistRequire = require('broccoli-module-alchemist/require'); +var Result = alchemistRequire('result.js'); +var FastBootInfo = alchemistRequire('fastboot-info.js'); var SimpleDOM = require('simple-dom'); describe('Result', function() { - var doc, result; + var doc, result, html; beforeEach(function () { var req = { headers: {}, get() {} };