From b97274cf3d491ff10d534670137239584bb32b47 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 6 Oct 2014 17:00:53 +1100 Subject: [PATCH] move connect middleware and browserify to separate modules --- README.md | 40 ++++++------------------- browserify.js | 1 - lib/6to5/browserify.js | 31 ------------------- lib/6to5/middleware.js | 67 ------------------------------------------ lib/6to5/node.js | 3 +- package.json | 3 +- test/browserify.js | 3 -- test/middleware.js | 3 -- 8 files changed, 11 insertions(+), 140 deletions(-) delete mode 100644 browserify.js delete mode 100644 lib/6to5/browserify.js delete mode 100644 lib/6to5/middleware.js delete mode 100644 test/browserify.js delete mode 100644 test/middleware.js diff --git a/README.md b/README.md index 86db7ab121..d2411ebf2e 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,15 @@ To be implemented: - [Generators](FEATURES.md#generators) +## Plugins + + - [Browserify](https://github.com/sebmck/6to5-browserify) + - [Connect Middleware](https://github.com/sebmck/6to5-connect) + - [Gulp](https://github.com/sindresorhus/gulp-6to5)* + - [Brunch](https://github.com/es128/6to5-brunch)* + +*Community contributed + ## Usage ### CLI @@ -85,10 +94,6 @@ Compile and run `test.js`. $ 6to5-node test -### Browserify - - $ browserify script.js -t 6to5/browserify --outfile bundle.js - ### Node ```javascript @@ -140,33 +145,6 @@ code. require("6to5/register"); ``` -#### Connect Middleware - -```javascript -var to5 = require("6to5"); - -app.use(to5.middleware({ - options: { - // options to use when transforming files - }, - src: "assets", - dest: "cache" -})); - -app.use(connect.static("cache")); -``` - -#### Browserify - -```javascript -var to5 = require("6to5"); -browserify() - .transform(to5.browserify) - .require("script.js", { entry: true }) - .bundle({ debug: true }) - .pipe(fs.createWriteStream("bundle.js")); -``` - ## Caveats ### For-of diff --git a/browserify.js b/browserify.js deleted file mode 100644 index a4835f1cbb..0000000000 --- a/browserify.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./lib/6to5/browserify"); diff --git a/lib/6to5/browserify.js b/lib/6to5/browserify.js deleted file mode 100644 index 4ffcfa28ad..0000000000 --- a/lib/6to5/browserify.js +++ /dev/null @@ -1,31 +0,0 @@ -var transform = require("./transform"); -var through = require("through"); -var _ = require("lodash"); - -var browserify = module.exports = function (filename) { - return browserify.configure()(filename); -}; - -browserify.configure = function (opts) { - opts = opts || {}; - - return function (filename) { - var data = ""; - - var write = function (buf) { - data += buf; - }; - - var end = function () { - var opts2 = _.clone(opts); - opts2.filename = filename; - - var out = transform(data, opts2); - stream.queue(out); - stream.queue(null); - }; - - var stream = through(write, end); - return stream; - }; -}; diff --git a/lib/6to5/middleware.js b/lib/6to5/middleware.js deleted file mode 100644 index 1f575a419b..0000000000 --- a/lib/6to5/middleware.js +++ /dev/null @@ -1,67 +0,0 @@ -var util = require("./util"); -var path = require("path"); -var api = require("./node"); -var fs = require("fs"); -var _ = require("lodash"); - -module.exports = function (opts) { - opts = _.defaults(opts || {}, { - options: {}, - dest: "cache", - src: "assets" - }); - - var cache = {}; - - return function (req, res, next) { - var url = req.url; - if (!util.canCompile(url)) return next(); - - var dest = path.join(opts.dest, url); - var src = path.join(opts.src, url); - - var write = function (transformed) { - fs.writeFile(dest, transformed, function (err) { - if (err) { - next(err); - } else { - cache[url] = Date.now(); - next(); - } - }); - }; - - var compile = function () { - var transformOpts = _.clone(opts.options); - - api.transformFile(opts.dest, transformOpts, function (err, transformed) { - if (err) return next(err); - write(transformed); - }); - }; - - var destExists = function () { - fs.stat(dest, function (err, stat) { - if (err) return next(err); - - if (cache[url] < +stat.mtime) { - compile(); - } else { - next(); - } - }); - }; - - fs.exists(src, function (exists) { - if (!exists) return next(); - - fs.exists(dest, function (exists) { - if (exists && cache[dest]) { - destExists(); - } else { - compile(); - } - }); - }); - }; -}; diff --git a/lib/6to5/node.js b/lib/6to5/node.js index 6369c4a3ac..6818a153c2 100644 --- a/lib/6to5/node.js +++ b/lib/6to5/node.js @@ -2,8 +2,7 @@ var transform = require("./transform"); var fs = require("fs"); var _ = require("lodash"); -exports.browserify = require("./browserify"); -exports.middleware = require("./middleware"); +exports.util = require("./util"); exports.register = function () { require("./register"); diff --git a/package.json b/package.json index c3c387d6f3..c993679ad7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "6to5", "description": "Turn ES6 code into vanilla ES5 with no runtime required", - "version": "0.0.10", + "version": "0.1.0", "repository": { "type": "git", "url": "https://github.com/sebmck/6to5.git" @@ -23,7 +23,6 @@ "fs-readdir-recursive": "0.0.2", "lodash": "2.4.1", "mkdirp": "0.5.0", - "through": "2.3.4", "escodegen": "https://github.com/Constellation/escodegen/archive/624550d0d6edf812a661902c6908dedff66005a7.tar.gz", "esprima": "https://github.com/esnext/esprima/archive/ebda4fb14a2aad61c54a83006c061c1649636985.tar.gz", "estraverse": "1.5.1", diff --git a/test/browserify.js b/test/browserify.js deleted file mode 100644 index 811281f7e0..0000000000 --- a/test/browserify.js +++ /dev/null @@ -1,3 +0,0 @@ -suite("browserify", function () { - -}); diff --git a/test/middleware.js b/test/middleware.js deleted file mode 100644 index 811281f7e0..0000000000 --- a/test/middleware.js +++ /dev/null @@ -1,3 +0,0 @@ -suite("browserify", function () { - -});