From e6e7d3933d16f62d699bf920f38029eacd4f9acf Mon Sep 17 00:00:00 2001 From: Franziska Carstens Date: Fri, 21 Aug 2015 15:14:05 +0200 Subject: [PATCH] Build: add new build script fix #16 fix #21 fix #22 --- build.js | 27 +++++++++++++++++++++++++++ lib/license-header.js | 10 ++++++++++ package.json | 2 +- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 build.js create mode 100644 lib/license-header.js diff --git a/build.js b/build.js new file mode 100644 index 0000000..30bc86c --- /dev/null +++ b/build.js @@ -0,0 +1,27 @@ +var mkdirp = require("mkdirp"); +var esperanto = require("esperanto"); +var fs = require("fs"); +var babel = require("babel"); +var pkg = require("./package.json"); + +mkdirp.sync("dist"); + +esperanto.bundle({ + base: "lib", + entry: "index.js" +}).then(function (bundle) { + var umd = bundle.toUmd({ + name: "JsReporters" + }); + + var transformed = babel.transform(umd.code, { + blacklist: [ + "useStrict" + ] + }); + var license = fs.readFileSync("lib/license-header.js", {encoding: "utf8"}) + .replace("@VERSION", pkg.version) + .replace("@DATE", ( new Date() ).toISOString().replace(/:\d+\.\d+Z$/, "Z")); + var content = license + "(function() {\n" + transformed.code + "\n})();"; + fs.writeFileSync("dist/js-reporters.js", content); +}).catch(console.error); diff --git a/lib/license-header.js b/lib/license-header.js new file mode 100644 index 0000000..39e7400 --- /dev/null +++ b/lib/license-header.js @@ -0,0 +1,10 @@ +/*! + * JS Reporters @VERSION + * https://github.com/js-reporters + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: @DATE + */ diff --git a/package.json b/package.json index 14f8dcb..7d4e47a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "js-reporters", "version": "1.0.0", "scripts": { - "build": "mkdirp dist/ && esperanto -b -i lib/index.js -t umd --name JsReporters | babel -o dist/js-reporters.js --blacklist strict -m umd", + "build": "node build.js", "lint": "eslint lib/ test/", "test": "node test/test.js" },