From 2992f54f11d09d51360a79f2442adf5bd02e0858 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Tue, 13 Dec 2016 23:01:25 +0100 Subject: [PATCH] added typings, removed beautylog --- .gitignore | 13 +--- .travis.yml | 15 ----- dist/gulpbrowser.browserify.d.ts | 3 +- dist/gulpbrowser.browserify.js | 6 +- dist/gulpbrowser.plugins.d.ts | 9 ++- dist/gulpbrowser.plugins.js | 3 +- dist/index.js | 2 +- package.json | 27 ++++---- test/test.d.ts | 3 +- test/test.js | 65 +++++++++---------- test/test.ts | 105 ++++++++++++++++--------------- ts/gulpbrowser.browserify.ts | 53 ++++++++-------- ts/gulpbrowser.plugins.ts | 9 ++- tslint.json | 3 + 14 files changed, 153 insertions(+), 163 deletions(-) delete mode 100644 .travis.yml create mode 100644 tslint.json diff --git a/.gitignore b/.gitignore index 7b030e8..574444a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,7 @@ node_modules/ -.settings/ -.idea/ npm-debug.log - -ts/*.js -ts/*.js.map -ts/typings/ - test/result/ - coverage/ - -docs/ \ No newline at end of file +docs/ +pages/ +public diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d0e0cd7..0000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: node_js -node_js: -- 4 -- stable -deploy: - provider: npm - email: npm@lossless.digital - api_key: - secure: MNBFCPscAm1+rY1qIHbye3Bwif9W/bPyHxvXyoKbi8G2URQjZKNYTpRT0bVShj6UBJihBrnXa40cxmU/F+rcQhPeY4uFIC5oBIyYkSrn0XvhJEqn/yQnBl0DrdImYSuYx480jLKvvNq3RIft2K+5y6+qb8QuumV/1p4QYbiM6Ibwz54SPfmJtzsMsei8bHzbDvOtKeoX8l3mGqyIVX1D/Nnnq9rH0UZnbqf7W5IH/QlCTpVAj5v/HRCSbCbJkbmwTYtx4PV0xS9vYgXklwFr0FcJXyZPmzqSRM/EYnhOg61uQCWM1JG12nDmdv8lkE+x5L6fV+YXTeBAKmnCBAZy8D7CYX0jDELrpKp4wKFofl/AkTDAlVsjEb4U+DVXuJOWt8KQzjYGLX6nXXOUzDD9OXNmB6010a2g3SQ4vCX3jHomycPZTgKPd4MN5xiJBfg/EXn1HlJdtO8jYFB2S87VVmFrJfwQ6x4iZxabmWPtasye3DP/OLX+8/8aWNGLMjP/Lr4muPS4B9OOlI3EvVo+DR3B381NPwzKaM9NLkeM3pHgMhm0K2mqOnbvhUhhkmmMkQI1T+RRf91zraPXAh7fMRDh2lDqKfrhtKobFBmONgXAtO7QPz2Bhp+kszwRo/Vx//H2VpUD45CNfMKnN99VYY/FHGYICBYH2mK/MX50HAA= - on: - tags: true - repo: pushrocks/gulp-browser -notifications: - slack: - secure: f5Uss0z9RPl/QcA/DroB8loyE93aOYI6bqCkrsiUscmZtlv/TVQtT4dxqGA6uvcG6iTQDBi3Ul88dQxWkRm4IqbhY35/iMaV2dHW4FVYMAh8GQMbsfL2sALCcufxD9blw47awv3iFcwhV1EeyesscjgL0JIjduk96v/7G/6QIO2838M1lzlgtj+kRUkim8qkaEs1je3gRrhMUIjLuAdscMXyUKYFMjWo9ACSjVUl30R/ZNemb18itIja6i92GotreBgcfEMczvy58ovDC7xdJUsY8LjMI01DwY+WPRnI0tAhsuI8moBwwcdM4e3bAjKjucQRjO33O5bMWRZ6QCiYd0DnCEFyCPQLJ4GSy/tkD00n8ijLHAOSV3AH1zNbdK1EAdSPQXDvlI36KJn/2hyQLoitGHVUPr76ujJWP82ypO2tgIp3XQU0dJVCxDuHnwJO2+hjdI+gCPqxNTpjeujHx3UdkTGNRjuuf9dlZ/D08fApjYxy2fxItTqo3QjP/nrqvBXUOPP8yPHpjIT4H2t5Pr4SJjBGI6X4qhKyFj6s9rA/Xu1rL+45zu1C3uC3z+u3T9UwrbzJ/cZM6r6UQvQmUvIfBNaMlg4I/diQCDIPL+Rhop2nylY3IcHmJnk2itn7kOqj1tohCpFEml5pRuSZy4udWywkdtyBAsHWFLF7oiQ= diff --git a/dist/gulpbrowser.browserify.d.ts b/dist/gulpbrowser.browserify.d.ts index 036fc75..84d0d30 100644 --- a/dist/gulpbrowser.browserify.d.ts +++ b/dist/gulpbrowser.browserify.d.ts @@ -1,3 +1,4 @@ /// -declare let browserify: (transforms?: any[]) => NodeJS.ReadWriteStream; +import * as stream from 'stream'; +declare let browserify: (transforms?: any[]) => stream.Transform; export = browserify; diff --git a/dist/gulpbrowser.browserify.js b/dist/gulpbrowser.browserify.js index 548037a..018aea8 100644 --- a/dist/gulpbrowser.browserify.js +++ b/dist/gulpbrowser.browserify.js @@ -10,7 +10,7 @@ let browserify = function (transforms = []) { file.contents = bufferedContent; } else { - plugins.beautylog.error("gulp-browser: .browserify() " + err.message); + console.log('gulp-browser: .browserify() ' + err.message); cb(new Error(err.message), file); return; } @@ -29,7 +29,7 @@ let browserify = function (transforms = []) { browserified.bundle(bundleCallback); } else { - plugins.beautylog.warn("gulp-browser: .browserify() file.contents appears to be empty"); + console.warn('gulp-browser: .browserify() file.contents appears to be empty'); cb(null, file); } ; @@ -40,4 +40,4 @@ let browserify = function (transforms = []) { return plugins.through2.obj(forEach, atEnd); // this is the through object that gets returned by gulpBrowser.browserify(); }; module.exports = browserify; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VscGJyb3dzZXIuYnJvd3NlcmlmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2d1bHBicm93c2VyLmJyb3dzZXJpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU8sT0FBTyxXQUFXLHVCQUF1QixDQUFDLENBQUM7QUFHbEQsSUFBSSxVQUFVLEdBQUksVUFBUyxVQUFVLEdBQUcsRUFBRTtJQUV0QyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLFVBQVUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE9BQU8sR0FBRyxVQUFTLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUVoQyxJQUFJLGNBQWMsR0FBRyxVQUFTLEdBQUcsRUFBRSxlQUFlO1lBQzlDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQztZQUNwQyxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsOEJBQThCLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN0RSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLENBQUM7WUFDWCxDQUFDO1lBQ0QsRUFBRSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUM7UUFFRixFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFDO1lBQ3pCLElBQUksWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRXBFLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxTQUFTO2dCQUNsQyxFQUFFLENBQUMsQ0FBQyxPQUFPLFNBQVMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUNsQyxZQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN0QyxDQUFDO2dCQUFDLElBQUksQ0FBQyxDQUFDO29CQUNKLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25FLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILFlBQVksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsK0RBQStELENBQUMsQ0FBQztZQUN4RixFQUFFLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQyxDQUFBO0lBRUQsSUFBSSxLQUFLLEdBQUcsVUFBUyxFQUFFO1FBQ25CLEVBQUUsRUFBRSxDQUFDO0lBQ1QsQ0FBQyxDQUFBLENBQUMsc0NBQXNDO0lBRXhDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyw2RUFBNkU7QUFDNUgsQ0FBQyxDQUFDO0FBRUgsaUJBQVMsVUFBVSxDQUFDIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VscGJyb3dzZXIuYnJvd3NlcmlmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2d1bHBicm93c2VyLmJyb3dzZXJpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLGlEQUFpRDtBQUVqRCxJQUFJLFVBQVUsR0FBRyxVQUFVLFVBQVUsR0FBRyxFQUFFO0lBRXRDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTyxHQUFHLFVBQVUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBRWpDLElBQUksY0FBYyxHQUFHLFVBQVUsR0FBRyxFQUFFLGVBQWU7WUFDL0MsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFBO1lBQ25DLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDSixPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDekQsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDaEMsTUFBTSxDQUFBO1lBQ1YsQ0FBQztZQUNELEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDbEIsQ0FBQyxDQUFBO1FBRUQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixJQUFJLFlBQVksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUVuRSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsU0FBUztnQkFDbEMsRUFBRSxDQUFDLENBQUMsT0FBTyxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDbEMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDckMsQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDSixZQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUNsRSxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUE7WUFFRixZQUFZLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0RBQStELENBQUMsQ0FBQTtZQUM3RSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ2xCLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQyxDQUFBO0lBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxFQUFFO1FBQ3BCLEVBQUUsRUFBRSxDQUFBO0lBQ1IsQ0FBQyxDQUFBLENBQUMsc0NBQXNDO0lBRXhDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUEsQ0FBQyw2RUFBNkU7QUFDN0gsQ0FBQyxDQUFBO0FBRUQsaUJBQVMsVUFBVSxDQUFBIn0= \ No newline at end of file diff --git a/dist/gulpbrowser.plugins.d.ts b/dist/gulpbrowser.plugins.d.ts index 1590b40..7492139 100644 --- a/dist/gulpbrowser.plugins.d.ts +++ b/dist/gulpbrowser.plugins.d.ts @@ -1,5 +1,4 @@ -import "typings-global"; -export import beautylog = require("beautylog"); -export import through2 = require("through2"); -export import path = require("path"); -export import browserify = require("browserify"); +import 'typings-global'; +export import through2 = require('through2'); +export import path = require('path'); +export import browserify = require('browserify'); diff --git a/dist/gulpbrowser.plugins.js b/dist/gulpbrowser.plugins.js index b140aeb..5b4ba63 100644 --- a/dist/gulpbrowser.plugins.js +++ b/dist/gulpbrowser.plugins.js @@ -1,7 +1,6 @@ "use strict"; require("typings-global"); -exports.beautylog = require("beautylog"); exports.through2 = require("through2"); exports.path = require("path"); exports.browserify = require("browserify"); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VscGJyb3dzZXIucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2d1bHBicm93c2VyLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsZ0JBQVEsV0FBVyxVQUFVLENBQUMsQ0FBQztBQUMvQixZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDdkIsa0JBQVUsV0FBVyxZQUFZLENBQUMsQ0FBQyJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VscGJyb3dzZXIucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2d1bHBicm93c2VyLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUF1QjtBQUN2Qix1Q0FBNEM7QUFDNUMsK0JBQW9DO0FBQ3BDLDJDQUFnRCJ9 \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index daf5236..1bb5840 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,3 +1,3 @@ "use strict"; exports.browserify = require("./gulpbrowser.browserify"); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQWMsa0JBQVUsV0FBVywwQkFBMEIsQ0FBQyxDQUFDIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseURBQStEIn0= \ No newline at end of file diff --git a/package.json b/package.json index 89d0fec..3ba15b5 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "3.0.2", "description": "browserify and other goodies for gulp", "main": "dist/index.js", + "typings": "dist/index.d.ts", "scripts": { "test": "(npmts)", "reinstall": "(rm -r node_modules && npm install)", @@ -25,20 +26,24 @@ }, "homepage": "https://gitlab.com/pushrocks/gulp-browser", "dependencies": { - "@types/browserify": "^12.0.29", - "@types/through2": "^0.0.28", - "beautylog": "^5.0.18", - "browserify": "^13.1.0", - "through2": "^2.0.1", - "typings-global": "^1.0.6" + "@types/browserify": "^12.0.30", + "@types/q": "0.0.32", + "@types/through2": "^2.0.32", + "browserify": "^13.1.1", + "q": "^1.4.1", + "through2": "^2.0.3", + "typings-global": "^1.0.14" }, "devDependencies": { - "babel-preset-es2015": "^6.9.0", + "@types/gulp": "^3.8.32", + "@types/should": "^8.1.30", + "babel-preset-es2015": "^6.18.0", "babelify": "^7.3.0", + "beautylog": "^6.0.0", "gulp": "^3.9.1", - "gulp-function": "^1.3.6", - "npmts-g": "^5.2.6", - "should": "^10.0.0", - "typings-test": "^1.0.1" + "gulp-function": "^2.2.3", + "npmts-g": "^5.2.10", + "should": "^11.1.2", + "typings-test": "^1.0.3" } } diff --git a/test/test.d.ts b/test/test.d.ts index b973566..2fd432a 100644 --- a/test/test.d.ts +++ b/test/test.d.ts @@ -1,2 +1 @@ -import "typings-test"; -import "should"; +import 'typings-test'; diff --git a/test/test.js b/test/test.js index df6dfe6..0b6e526 100644 --- a/test/test.js +++ b/test/test.js @@ -1,55 +1,56 @@ "use strict"; require("typings-test"); -let plugins = { - beautylog: require("beautylog"), - gulp: require("gulp"), - gulpBrowser: require("../dist/index.js"), - gulpFunction: require("gulp-function") -}; -require("should"); -describe("gulpBrowser", function () { - describe(".browserify", function () { - it("should run through smoothly", function (done) { +const gulp = require("gulp"); +const gulpBrowser = require("../dist/index.js"); +const gulpFunction = require("gulp-function"); +const q = require("q"); +describe('gulpBrowser', function () { + describe('.browserify', function () { + it('should run through smoothly', function (done) { this.timeout(30000); - let stream = plugins.gulp.src('./test/testBrowserifyNormal.js') - .pipe(plugins.gulpBrowser.browserify()) - .pipe(plugins.gulp.dest("./test/result/")) - .pipe(plugins.gulpFunction(done)); + let stream = gulp.src('./test/testBrowserifyNormal.js') + .pipe(gulpBrowser.browserify()) + .pipe(gulp.dest('./test/result/')) + .pipe(gulpFunction.atEnd(() => { + let done2 = q.defer(); + done(); + done2.resolve(); + return done2.promise; + })); }); - it("should throw an error, when a module is not found", function (done) { + it('should throw an error, when a module is not found', function (done) { let d = require('domain').create(); let doneCalled = false; - d.on("error", function (error) { - console.log(error.message); + d.on('error', function (error) { if (!doneCalled) { done(); doneCalled = true; } }); d.run(function () { - let stream = plugins.gulp.src("./test/testBrowserifyError.js") - .pipe(plugins.gulpBrowser.browserify()); + let stream = gulp.src('./test/testBrowserifyError.js') + .pipe(gulpBrowser.browserify()); }); }); - it("should run through with an empty file", function (done) { - let stream = plugins.gulp.src('./test/testBrowserifyEmpty.js') - .pipe(plugins.gulpBrowser.browserify()) - .pipe(plugins.gulp.dest("./test/result/")) - .pipe(plugins.gulpFunction(done)); + it('should run through with an empty file', function (done) { + let stream = gulp.src('./test/testBrowserifyEmpty.js') + .pipe(gulpBrowser.browserify()) + .pipe(gulp.dest('./test/result/')) + .pipe(gulpFunction.atEnd(done)); }); - it("should run through work with transforms", function (done) { + it('should run through work with transforms', function (done) { this.timeout(30000); let transforms = [ { - transform: "babelify", - options: { presets: ["es2015"] } + transform: 'babelify', + options: { presets: ['es2015'] } } ]; - let stream = plugins.gulp.src('./test/testBrowserifyNormal.js') - .pipe(plugins.gulpBrowser.browserify(transforms)) - .pipe(plugins.gulp.dest("./test/result/")) - .pipe(plugins.gulpFunction(done)); + let stream = gulp.src('./test/testBrowserifyNormal.js') + .pipe(gulpBrowser.browserify(transforms)) + .pipe(gulp.dest('./test/result/')) + .pipe(gulpFunction.atEnd(done)); }); }); }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FDUCxDQUFDLENBRG9CO0FBQ3JCLElBQUksT0FBTyxHQUFHO0lBQ1YsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDL0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDckIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztJQUN4QyxZQUFZLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQztDQUN6QyxDQUFDO0FBQ0YsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUdoQixRQUFRLENBQUMsYUFBYSxFQUFFO0lBQ3BCLFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDcEIsRUFBRSxDQUFDLDZCQUE2QixFQUFFLFVBQVUsSUFBSTtZQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDO2lCQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztpQkFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsbURBQW1ELEVBQUUsVUFBVSxJQUFJO1lBQ2xFLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQyxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUE7WUFDdEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUMsVUFBUyxLQUFLO2dCQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDMUIsRUFBRSxDQUFBLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQSxDQUFDO29CQUNaLElBQUksRUFBRSxDQUFDO29CQUNQLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ0YsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUM7cUJBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxVQUFVLElBQUk7WUFDdEQsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUM7aUJBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO2lCQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztpQkFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxVQUFVLElBQUk7WUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixJQUFJLFVBQVUsR0FBRztnQkFDYjtvQkFDSSxTQUFTLEVBQUUsVUFBVTtvQkFDckIsT0FBTyxFQUFFLEVBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7aUJBQ2pDO2FBQ0osQ0FBQztZQUNGLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDO2lCQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lCQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFxQjtBQUdyQiw2QkFBNEI7QUFDNUIsZ0RBQStDO0FBQy9DLDhDQUE2QztBQUc3Qyx1QkFBc0I7QUFHdEIsUUFBUSxDQUFDLGFBQWEsRUFBRTtJQUNwQixRQUFRLENBQUMsYUFBYSxFQUFFO1FBQ3BCLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxVQUFVLElBQUk7WUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNuQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDO2lCQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO2lCQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lCQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDckIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBO2dCQUNyQixJQUFJLEVBQUUsQ0FBQTtnQkFDTixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUE7WUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNYLENBQUMsQ0FBQyxDQUFBO1FBRUYsRUFBRSxDQUFDLG1EQUFtRCxFQUFFLFVBQVUsSUFBSTtZQUNsRSxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7WUFDbEMsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFBO1lBQ3RCLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFDLFVBQVMsS0FBSztnQkFDdkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUNkLElBQUksRUFBRSxDQUFBO29CQUNOLFVBQVUsR0FBRyxJQUFJLENBQUE7Z0JBQ3JCLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQTtZQUNGLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ0YsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQztxQkFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO1lBQ3ZDLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsdUNBQXVDLEVBQUUsVUFBVSxJQUFJO1lBQ3RELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUM7aUJBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7aUJBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdkMsQ0FBQyxDQUFDLENBQUE7UUFDRixFQUFFLENBQUMseUNBQXlDLEVBQUUsVUFBVSxJQUFJO1lBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDbkIsSUFBSSxVQUFVLEdBQUc7Z0JBQ2I7b0JBQ0ksU0FBUyxFQUFFLFVBQVU7b0JBQ3JCLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFDO2lCQUNqQzthQUNKLENBQUE7WUFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDO2lCQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztpQkFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN2QyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ== \ No newline at end of file diff --git a/test/test.ts b/test/test.ts index 2e8b373..bcf2d78 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,57 +1,62 @@ -import "typings-test" -let plugins = { - beautylog: require("beautylog"), - gulp: require("gulp"), - gulpBrowser: require("../dist/index.js"), - gulpFunction: require("gulp-function") -}; -import "should"; +import 'typings-test' + +import * as beautylog from 'beautylog' +import * as gulp from 'gulp' +import * as gulpBrowser from '../dist/index.js' +import * as gulpFunction from 'gulp-function' + +import * as should from 'should' +import * as q from 'q' -describe("gulpBrowser", function () { - describe(".browserify", function () { - it("should run through smoothly", function (done) { - this.timeout(30000); - let stream = plugins.gulp.src('./test/testBrowserifyNormal.js') - .pipe(plugins.gulpBrowser.browserify()) - .pipe(plugins.gulp.dest("./test/result/")) - .pipe(plugins.gulpFunction(done)); - }); - - it("should throw an error, when a module is not found", function (done) { - let d = require('domain').create(); +describe('gulpBrowser', function () { + describe('.browserify', function () { + it('should run through smoothly', function (done) { + this.timeout(30000) + let stream = gulp.src('./test/testBrowserifyNormal.js') + .pipe(gulpBrowser.browserify()) + .pipe(gulp.dest('./test/result/')) + .pipe(gulpFunction.atEnd(() => { + let done2 = q.defer() + done() + done2.resolve() + return done2.promise + })) + }) + + it('should throw an error, when a module is not found', function (done) { + let d = require('domain').create() let doneCalled = false - d.on("error",function(error){ - console.log(error.message) - if(!doneCalled){ - done(); - doneCalled = true; + d.on('error',function(error){ + if (!doneCalled) { + done() + doneCalled = true } - }); - d.run(function() { - let stream = plugins.gulp.src("./test/testBrowserifyError.js") - .pipe(plugins.gulpBrowser.browserify()); - }); - }); - - it("should run through with an empty file", function (done) { - let stream = plugins.gulp.src('./test/testBrowserifyEmpty.js') - .pipe(plugins.gulpBrowser.browserify()) - .pipe(plugins.gulp.dest("./test/result/")) - .pipe(plugins.gulpFunction(done)); - }); - it("should run through work with transforms", function (done) { - this.timeout(30000); + }) + d.run(function() { + let stream = gulp.src('./test/testBrowserifyError.js') + .pipe(gulpBrowser.browserify()) + }) + }) + + it('should run through with an empty file', function (done) { + let stream = gulp.src('./test/testBrowserifyEmpty.js') + .pipe(gulpBrowser.browserify()) + .pipe(gulp.dest('./test/result/')) + .pipe(gulpFunction.atEnd(done)) + }) + it('should run through work with transforms', function (done) { + this.timeout(30000) let transforms = [ { - transform: "babelify", - options: {presets: ["es2015"]} + transform: 'babelify', + options: {presets: ['es2015']} } - ]; - let stream = plugins.gulp.src('./test/testBrowserifyNormal.js') - .pipe(plugins.gulpBrowser.browserify(transforms)) - .pipe(plugins.gulp.dest("./test/result/")) - .pipe(plugins.gulpFunction(done)); - }); - }); -}); + ] + let stream = gulp.src('./test/testBrowserifyNormal.js') + .pipe(gulpBrowser.browserify(transforms)) + .pipe(gulp.dest('./test/result/')) + .pipe(gulpFunction.atEnd(done)) + }) + }) +}) diff --git a/ts/gulpbrowser.browserify.ts b/ts/gulpbrowser.browserify.ts index fda56ce..b898029 100644 --- a/ts/gulpbrowser.browserify.ts +++ b/ts/gulpbrowser.browserify.ts @@ -1,48 +1,49 @@ -import plugins = require("./gulpbrowser.plugins"); +import * as stream from 'stream' +import plugins = require('./gulpbrowser.plugins') +import * as q from 'q' - -let browserify = function(transforms = []) { +let browserify = function (transforms = []) { if (!Array.isArray(transforms)) { - transforms = [transforms]; + transforms = [transforms] } - let forEach = function(file, enc, cb){ // do this with every chunk (file in gulp terms) + let forEach = function (file, enc, cb) { // do this with every chunk (file in gulp terms) - let bundleCallback = function(err, bufferedContent) { // our bundle callback for when browserify is finished - if (Buffer.isBuffer(bufferedContent)){ - file.contents = bufferedContent; + let bundleCallback = function (err, bufferedContent) { // our bundle callback for when browserify is finished + if (Buffer.isBuffer(bufferedContent)) { + file.contents = bufferedContent } else { - plugins.beautylog.error("gulp-browser: .browserify() " + err.message); - cb(new Error(err.message),file); - return; + console.log('gulp-browser: .browserify() ' + err.message) + cb(new Error(err.message), file) + return } - cb(null,file); - }; + cb(null, file) + } - if(file.contents.length > 0){ - let browserified = plugins.browserify(file, { basedir: file.base }); + if (file.contents.length > 0) { + let browserified = plugins.browserify(file, { basedir: file.base }) transforms.forEach(function (transform) { if (typeof transform === 'function') { - browserified.transform(transform); + browserified.transform(transform) } else { - browserified.transform(transform.transform, transform.options); + browserified.transform(transform.transform, transform.options) } - }); + }) - browserified.bundle(bundleCallback); + browserified.bundle(bundleCallback) } else { - plugins.beautylog.warn("gulp-browser: .browserify() file.contents appears to be empty"); - cb(null,file); + console.warn('gulp-browser: .browserify() file.contents appears to be empty') + cb(null, file) }; } - let atEnd = function(cb){ - cb(); + let atEnd = function (cb) { + cb() } // no need to clean up after ourselves - return plugins.through2.obj(forEach,atEnd); // this is the through object that gets returned by gulpBrowser.browserify(); - }; + return plugins.through2.obj(forEach, atEnd) // this is the through object that gets returned by gulpBrowser.browserify(); +} -export = browserify; +export = browserify diff --git a/ts/gulpbrowser.plugins.ts b/ts/gulpbrowser.plugins.ts index 1590b40..bd76742 100644 --- a/ts/gulpbrowser.plugins.ts +++ b/ts/gulpbrowser.plugins.ts @@ -1,5 +1,4 @@ -import "typings-global"; -export import beautylog = require("beautylog"); -export import through2 = require("through2"); -export import path = require("path"); -export import browserify = require("browserify"); +import 'typings-global' +export import through2 = require('through2') +export import path = require('path') +export import browserify = require('browserify') diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..45052ad --- /dev/null +++ b/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "tslint-config-standard" +}