From 0ccc216a2cadc0430213fbb7242ba3514c8d92ce Mon Sep 17 00:00:00 2001 From: Tyler Long Date: Tue, 18 Apr 2017 23:20:38 +0800 Subject: [PATCH] Replace karma-browserify with karma-webpack --- karma.conf.js | 37 +++-- package.json | 6 +- .../sequenceDiagram/sequenceDiagram.spec.js | 6 +- yarn.lock | 155 +++++------------- 4 files changed, 74 insertions(+), 130 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index 07c9efffb..ac3f3caf8 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -9,7 +9,7 @@ module.exports = function (config) { // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['browserify', 'jasmine'], + frameworks: ['jasmine'], // list of files / patterns to load in the browser files: [ @@ -23,17 +23,32 @@ module.exports = function (config) { ], preprocessors: { - 'src/**/*.spec.js': ['browserify'] + 'src/**/*.spec.js': ['webpack'] }, - browserify: { - debug: true, - extensions: ['.js'], - configure: function (bundle) { - bundle.on('prebundle', function () { - bundle - .plugin('proxyquire-universal') - }) + webpack: { + externals: ['fs'], + module: { + rules: [ + { + test: /\.js$/, + use: { + loader: 'babel-loader', + options: { + presets: [ + ['env', { + 'targets': { + 'browsers': ['last 3 versions'] + } + }] + ], + plugins: [ + 'transform-remove-strict-mode' + ] + } + } + } + ] } }, @@ -73,7 +88,7 @@ module.exports = function (config) { plugins: [ 'karma-jasmine', 'karma-chrome-launcher', - 'karma-browserify', + 'karma-webpack', 'karma-babel-preprocessor' ], // Continuous Integration mode diff --git a/package.json b/package.json index 38803d355..63020a55a 100644 --- a/package.json +++ b/package.json @@ -115,6 +115,7 @@ "gulp-util": "^3.0.8", "gulp-vartree": "^2.0.1", "hogan.js": "^3.0.2", + "inject-loader": "^3.0.0", "jasmine": "2.5.3", "jasmine-es6": "0.4.0", "jison": "^0.4.17", @@ -123,9 +124,9 @@ "jshint-stylish": "^2.2.1", "karma": "^1.6.0", "karma-babel-preprocessor": "^6.0.1", - "karma-browserify": "^5.1.1", "karma-chrome-launcher": "^2.0.0", "karma-jasmine": "^1.1.0", + "karma-webpack": "^2.0.3", "live-server": "^1.2.0", "map-stream": "0.0.7", "marked": "^0.3.6", @@ -133,9 +134,6 @@ "npm-check-updates": "^2.11.0", "npm-watch": "^0.1.8", "phantomjs-prebuilt": "^2.1.14", - "proxyquire": "^1.7.11", - "proxyquire-universal": "^1.0.8", - "proxyquireify": "^3.2.1", "require-dir": "^0.3.1", "rimraf": "^2.6.1", "standard": "^10.0.2", diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index 42cba7b5c..7b03fc8a0 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -1,5 +1,4 @@ /* eslint-env jasmine */ -var proxyquire = require('proxyquire') /** * Created by knut on 14-11-18. */ @@ -15,7 +14,10 @@ var d3 = { return new NewD3() } } -var sd = proxyquire('./sequenceRenderer', { '../../d3': d3 }) +const MyModuleInjector = require('inject-loader!./sequenceRenderer') // eslint-disable-line import/no-webpack-loader-syntax +var sd = MyModuleInjector({ + '../../d3': d3 +}) function addConf (conf, key, value) { if (value !== undefined) { diff --git a/yarn.lock b/yarn.lock index 77f9a8797..e96e04690 100644 --- a/yarn.lock +++ b/yarn.lock @@ -424,7 +424,7 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@^6.0.0, babel-core@^6.16.0, babel-core@^6.24.1: +babel-core@^6.0.0, babel-core@^6.16.0, babel-core@^6.24.1, babel-core@~6: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" dependencies: @@ -1287,7 +1287,7 @@ brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" -browser-pack@^6.0.0, browser-pack@^6.0.1: +browser-pack@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.2.tgz#f86cd6cef4f5300c8e63e07a4d512f65fbff4531" dependencies: @@ -1994,7 +1994,7 @@ content-type@~1.0.1, content-type@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" -convert-source-map@^1.1.0, convert-source-map@^1.1.3, convert-source-map@^1.2.0: +convert-source-map@^1.1.0, convert-source-map@^1.2.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -2318,7 +2318,7 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" -detective@^4.0.0, detective@~4.1.0: +detective@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/detective/-/detective-4.1.1.tgz#9c4bac1e9fb8bb34f7f18cae080ea1d03aff2cda" dependencies: @@ -2682,7 +2682,7 @@ escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -3146,13 +3146,6 @@ fileset@0.2.x: glob "5.x" minimatch "2.x" -fill-keys@^1.0.0, fill-keys@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fill-keys/-/fill-keys-1.0.2.tgz#9a8fa36f4e8ad634e3bf6b4f3c8882551452eb20" - dependencies: - is-object "~1.0.1" - merge-descriptors "~1.0.0" - fill-range@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" @@ -4094,12 +4087,6 @@ has-gulplog@^0.1.0: dependencies: sparkles "^1.0.0" -has-require@^1.1.0, has-require@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/has-require/-/has-require-1.2.2.tgz#921675ab130dbd9768fc8da8f1a8e242dfa41774" - dependencies: - escape-string-regexp "^1.0.3" - has-unicode@^2.0.0, has-unicode@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -4129,10 +4116,6 @@ hasha@~2.2.0: is-stream "^1.0.1" pinkie-promise "^2.0.0" -hat@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/hat/-/hat-0.0.3.tgz#bb014a9e64b3788aed8005917413d4ff3d502d8a" - hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" @@ -4351,6 +4334,12 @@ init-package-json@~1.9.4: validate-npm-package-license "^3.0.1" validate-npm-package-name "^3.0.0" +inject-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/inject-loader/-/inject-loader-3.0.0.tgz#0aea1f96e589e657bdbb6b26e7d9d41730e5b68f" + dependencies: + babel-core "~6" + inline-source-map@~0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.3.1.tgz#a528b514e689fce90db3089e870d92f527acb5eb" @@ -4569,10 +4558,6 @@ is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" -is-object@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -4799,10 +4784,6 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" -js-string-escape@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" - js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" @@ -4968,17 +4949,6 @@ karma-babel-preprocessor@^6.0.1: dependencies: babel-core "^6.0.0" -karma-browserify@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/karma-browserify/-/karma-browserify-5.1.1.tgz#f642d70d776d9ab3b73526c5732abcfea2400319" - dependencies: - convert-source-map "^1.1.3" - hat "^0.0.3" - js-string-escape "^1.0.0" - lodash "^3.10.1" - minimatch "^3.0.0" - os-shim "^0.1.3" - karma-chrome-launcher@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz#c2790c5a32b15577d0fff5a4d5a2703b3b439c25" @@ -4990,6 +4960,16 @@ karma-jasmine@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.0.tgz#22e4c06bf9a182e5294d1f705e3733811b810acf" +karma-webpack@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.3.tgz#39cebf5ca2580139b27f9ae69b78816b9c82fae6" + dependencies: + async "~0.9.0" + loader-utils "^0.2.5" + lodash "^3.8.0" + source-map "^0.1.41" + webpack-dev-middleware "^1.0.11" + karma@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/karma/-/karma-1.6.0.tgz#0e871d4527d5eac56c41d181f03c5c0a7e6dbf3e" @@ -5194,7 +5174,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@^0.2.16: +loader-utils@^0.2.16, loader-utils@^0.2.5: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: @@ -5535,7 +5515,7 @@ lodash@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" -lodash@^3.10.0, lodash@^3.10.1, lodash@^3.3.1, lodash@^3.7.0, lodash@^3.8.0: +lodash@^3.10.0, lodash@^3.3.1, lodash@^3.7.0, lodash@^3.8.0: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" @@ -5668,7 +5648,7 @@ meow@^3.3.0: redent "^1.0.0" trim-newlines "^1.0.0" -merge-descriptors@1.0.1, merge-descriptors@~1.0.0: +merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -5848,10 +5828,6 @@ module-deps@~2.0.0: stream-combiner "~0.1.0" through2 "~0.4.1" -module-not-found-error@^1.0.0, module-not-found-error@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0" - moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -6413,10 +6389,6 @@ os-name@^1.0.3: osx-release "^1.0.0" win-release "^1.0.0" -os-shim@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -6551,10 +6523,6 @@ parseurl@~1.3.0, parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" -patch-text@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/patch-text/-/patch-text-1.0.2.tgz#4bf36e65e51733d6e98f0cf62e09034daa0348ac" - path-array@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271" @@ -6637,10 +6605,6 @@ performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" -pff@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pff/-/pff-1.0.0.tgz#ea5f09ee6571cae292a78fc280905a3865668e78" - phantomjs-prebuilt@^2.1.14, phantomjs-prebuilt@^2.1.3: version "2.1.14" resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz#d53d311fcfb7d1d08ddb24014558f1188c516da0" @@ -6802,35 +6766,6 @@ proxy-middleware@latest: version "0.15.0" resolved "https://registry.yarnpkg.com/proxy-middleware/-/proxy-middleware-0.15.0.tgz#a3fdf1befb730f951965872ac2f6074c61477a56" -proxyquire-universal@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/proxyquire-universal/-/proxyquire-universal-1.0.8.tgz#2d0884365f76baf8da910b1be6c7f9c942d8640a" - dependencies: - replace-requires "~1.0.1" - through2 "~0.6.3" - transformify "^0.1.2" - -proxyquire@^1.7.11: - version "1.7.11" - resolved "https://registry.yarnpkg.com/proxyquire/-/proxyquire-1.7.11.tgz#13b494eb1e71fb21cc3ebe3699e637d3bec1af9e" - dependencies: - fill-keys "^1.0.2" - module-not-found-error "^1.0.0" - resolve "~1.1.7" - -proxyquireify@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/proxyquireify/-/proxyquireify-3.2.1.tgz#15bee101360acc91dcd86ee4d9a445f8a971eea0" - dependencies: - browser-pack "^6.0.0" - detective "~4.1.0" - fill-keys "^1.0.0" - has-require "^1.1.0" - module-not-found-error "~1.0.1" - require-deps "~1.0.1" - through "~2.2.7" - xtend "^3.0.0" - prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" @@ -6928,7 +6863,7 @@ randombytes@^2.0.0, randombytes@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" -range-parser@^1.2.0, range-parser@~1.2.0: +range-parser@^1.0.3, range-parser@^1.2.0, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" @@ -7237,15 +7172,6 @@ replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" -replace-requires@~1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/replace-requires/-/replace-requires-1.0.3.tgz#73e85df05bab562fe84df45d97d78c0fa13a7041" - dependencies: - detective "~4.1.0" - has-require "~1.2.1" - patch-text "~1.0.2" - xtend "~4.0.0" - request-progress@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" @@ -7356,12 +7282,6 @@ request@~2.79.0: tunnel-agent "~0.4.1" uuid "^3.0.0" -require-deps@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-deps/-/require-deps-1.0.1.tgz#2415cf49c35bd36a5d3177395108d3f237205263" - dependencies: - pff "~1.0.0" - require-dir@^0.3.0, require-dir@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/require-dir/-/require-dir-0.3.1.tgz#b5a8e28bae0343bb0d0cc38ab1f531e1931b264a" @@ -7830,7 +7750,7 @@ source-map-support@^0.4.2: dependencies: source-map "^0.5.6" -source-map@0.1.34, source-map@~0.1.30, source-map@~0.1.31, source-map@~0.1.33, source-map@~0.1.7: +source-map@0.1.34: version "0.1.34" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.34.tgz#a7cfe89aec7b1682c3b198d0acfb47d7d090566b" dependencies: @@ -7840,6 +7760,12 @@ source-map@0.5.6, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, sourc version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" +source-map@^0.1.41, source-map@~0.1.30, source-map@~0.1.31, source-map@~0.1.33, source-map@~0.1.7: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" @@ -8351,12 +8277,6 @@ tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" -transformify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/transformify/-/transformify-0.1.2.tgz#9a4f42a154433dd727b80575428a3c9e5489ebf1" - dependencies: - readable-stream "~1.1.9" - trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -8754,6 +8674,15 @@ webidl-conversions@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" +webpack-dev-middleware@^1.0.11: + version "1.10.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz#c6b4cf428139cf1aefbe06a0c00fdb4f8da2f893" + dependencies: + memory-fs "~0.4.1" + mime "^1.3.4" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + webpack-node-externals@^1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.5.4.tgz#ea05ba17108a23e776c35c42e7bb0e86c225be00" @@ -8920,7 +8849,7 @@ xmlhttprequest-ssl@1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"