Browse Source

Refining middleware concept, splitting presets into middleware packages

v5.0.0-beta
Eli Perelman 8 years ago
parent
commit
f20297738b
  1. 17
      packages/neutrino-lint-base/README.md
  2. 55
      packages/neutrino-lint-base/src/index.js
  3. 10
      packages/neutrino-middleware-banner/index.js
  4. 20
      packages/neutrino-middleware-banner/package.json
  5. 1765
      packages/neutrino-middleware-banner/yarn.lock
  6. 9
      packages/neutrino-middleware-chunk/index.js
  7. 20
      packages/neutrino-middleware-chunk/package.json
  8. 1765
      packages/neutrino-middleware-chunk/yarn.lock
  9. 10
      packages/neutrino-middleware-clean/index.js
  10. 20
      packages/neutrino-middleware-clean/package.json
  11. 80
      packages/neutrino-middleware-clean/yarn.lock
  12. 5
      packages/neutrino-middleware-compile-loader/index.js
  13. 22
      packages/neutrino-middleware-compile-loader/package.json
  14. 2007
      packages/neutrino-middleware-compile-loader/yarn.lock
  15. 10
      packages/neutrino-middleware-copy/index.js
  16. 21
      packages/neutrino-middleware-copy/package.json
  17. 172
      packages/neutrino-middleware-copy/yarn.lock
  18. 5
      packages/neutrino-middleware-env/index.js
  19. 21
      packages/neutrino-middleware-env/package.json
  20. 1761
      packages/neutrino-middleware-env/yarn.lock
  21. 52
      packages/neutrino-middleware-eslint/index.js
  22. 25
      packages/neutrino-middleware-eslint/package.json
  23. 38
      packages/neutrino-middleware-eslint/yarn.lock
  24. 22
      packages/neutrino-middleware-font-loader/index.js
  25. 21
      packages/neutrino-middleware-font-loader/package.json
  26. 44
      packages/neutrino-middleware-font-loader/yarn.lock
  27. 3
      packages/neutrino-middleware-hot/index.js
  28. 22
      packages/neutrino-middleware-hot/package.json
  29. 1761
      packages/neutrino-middleware-hot/yarn.lock
  30. 4
      packages/neutrino-middleware-html-loader/index.js
  31. 19
      packages/neutrino-middleware-html-loader/package.json
  32. 29
      packages/neutrino-middleware-html-loader/yarn.lock
  33. 19
      packages/neutrino-middleware-html-template/index.js
  34. 23
      packages/neutrino-middleware-html-template/package.json
  35. 1966
      packages/neutrino-middleware-html-template/yarn.lock
  36. 21
      packages/neutrino-middleware-image-loader/index.js
  37. 21
      packages/neutrino-middleware-image-loader/package.json
  38. 44
      packages/neutrino-middleware-image-loader/yarn.lock
  39. 3
      packages/neutrino-middleware-minify/index.js
  40. 21
      packages/neutrino-middleware-minify/package.json
  41. 508
      packages/neutrino-middleware-minify/yarn.lock
  42. 3
      packages/neutrino-middleware-progress/index.js
  43. 21
      packages/neutrino-middleware-progress/package.json
  44. 1800
      packages/neutrino-middleware-progress/yarn.lock
  45. 5
      packages/neutrino-middleware-style-loader/index.js
  46. 22
      packages/neutrino-middleware-style-loader/package.json
  47. 750
      packages/neutrino-middleware-style-loader/yarn.lock
  48. 27
      packages/neutrino-preset-airbnb-base/index.js
  49. 11
      packages/neutrino-preset-airbnb-base/package.json
  50. 30
      packages/neutrino-preset-airbnb-base/src/index.js
  51. 1037
      packages/neutrino-preset-airbnb-base/yarn.lock
  52. 10
      packages/neutrino-preset-jest/package.json
  53. 29
      packages/neutrino-preset-jest/src/index.js
  54. 2
      packages/neutrino-preset-karma/index.js
  55. 10
      packages/neutrino-preset-karma/package.json
  56. 37
      packages/neutrino-preset-karma/yarn.lock
  57. 8
      packages/neutrino-preset-mocha/package.json
  58. 4
      packages/neutrino-preset-mocha/src/index.js
  59. 96
      packages/neutrino-preset-node/index.js
  60. 19
      packages/neutrino-preset-node/package.json
  61. 1957
      packages/neutrino-preset-node/yarn.lock
  62. 78
      packages/neutrino-preset-react/index.js
  63. 11
      packages/neutrino-preset-react/package.json
  64. 150
      packages/neutrino-preset-web/index.js
  65. 36
      packages/neutrino-preset-web/package.json
  66. 245
      packages/neutrino-preset-web/src/index.js
  67. 1856
      packages/neutrino-preset-web/yarn.lock
  68. 6
      packages/neutrino/bin/neutrino
  69. 2
      packages/neutrino/src/neutrino.js

17
packages/neutrino-lint-base/README.md

@ -1,17 +0,0 @@
# Neutrino Lint Base
[![NPM version][npm-image]][npm-url] [![NPM downloads][npm-downloads]][npm-url] [![Join Slack][slack-image]][slack-url]
`neutrino-lint-base` is an abstract Neutrino preset base that makes creating ESLint-based presets simpler. By creating
a linting preset that extends from `neutrino-lint-base`, the development overhead and dependencies needed can be
significantly reduced. Use it as a baseline to create your own linting presets easier and more quickly.
## Documentation
See the [Neutrino docs](https://neutrino.js.org/presets/neutrino-lint-base/)
for details on installation, getting started, usage, and customizing.
[npm-image]: https://img.shields.io/npm/v/neutrino-lint-base.svg
[npm-downloads]: https://img.shields.io/npm/dt/neutrino-lint-base.svg
[npm-url]: https://npmjs.org/package/neutrino-lint-base
[slack-image]: https://neutrino-slack.herokuapp.com/badge.svg
[slack-url]: https://neutrino-slack.herokuapp.com/

55
packages/neutrino-lint-base/src/index.js

@ -1,55 +0,0 @@
const clone = require('lodash.clonedeep');
const path = require('path');
const MODULES = path.join(__dirname, '../node_modules');
const IF_NOT_DEV = process.env.NODE_ENV !== 'development';
module.exports = neutrino => {
const { config } = neutrino;
config
.module
.rule('lint')
.test(/\.(js|jsx)$/)
.pre()
.include(path.join(process.cwd(), 'src'))
.loader('eslint', require.resolve('eslint-loader'), {
failOnError: IF_NOT_DEV,
emitWarning: IF_NOT_DEV,
emitError: IF_NOT_DEV,
cwd: process.cwd(),
useEslintrc: false,
root: true,
plugins: ['babel'],
baseConfig: {},
envs: ['es6'],
parser: 'babel-eslint',
parserOptions: {
ecmaVersion: 2017,
sourceType: 'module',
ecmaFeatures: {
objectLiteralDuplicateProperties: false,
generators: true,
impliedStrict: true
}
},
settings: {},
globals: ['process'],
rules: {}
});
config.resolve.modules.add(MODULES);
config.resolveLoader.modules.add(MODULES);
neutrino.eslintrc = () => {
const options = clone(config.module.rule('lint').loaders.get('eslint').options);
options.extends = options.baseConfig.extends;
options.useEslintrc = true;
options.env = options.envs.reduce((env, key) => Object.assign(env, { [key]: true }), {});
options.globals = options.globals.reduce((globals, key) => Object.assign(globals, { [key]: true }), {});
['envs', 'baseConfig', 'failOnError', 'emitWarning', 'emitError'].map(method => delete options[method]);
return options;
};
};

10
packages/neutrino-middleware-banner/index.js

@ -0,0 +1,10 @@
const { BannerPlugin } = require('webpack');
const merge = require('deepmerge');
module.exports = (options = {}) => config => config
.plugin('banner')
.use(BannerPlugin, merge({
banner: `require('source-map-support').install();`,
raw: true,
entryOnly: true
}, options));

20
packages/neutrino-middleware-banner/package.json

@ -0,0 +1,20 @@
{
"name": "neutrino-middleware-banner",
"version": "5.0.0",
"description": "Neutrino middleware for injecting a banner into bundled files",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"banner"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"deepmerge": "^1.3.2",
"webpack": "^2.2.1"
}
}

1765
packages/neutrino-middleware-banner/yarn.lock

File diff suppressed because it is too large

9
packages/neutrino-middleware-chunk/index.js

@ -0,0 +1,9 @@
const { CommonsChunkPlugin } = require('webpack').optimize;
const merge = require('deepmerge');
module.exports = (options = {}) => config => config
.plugin('chunk')
.use(CommonsChunkPlugin, merge({
minChunks: Infinity,
names: ['vendor', 'manifest']
}, options));

20
packages/neutrino-middleware-chunk/package.json

@ -0,0 +1,20 @@
{
"name": "neutrino-middleware-chunk",
"version": "5.0.0",
"description": "Neutrino middleware for chunking bundle assets",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"chunk"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"deepmerge": "^1.3.2",
"webpack": "^2.2.1"
}
}

1765
packages/neutrino-middleware-chunk/yarn.lock

File diff suppressed because it is too large

10
packages/neutrino-middleware-clean/index.js

@ -0,0 +1,10 @@
const CleanPlugin = require('clean-webpack-plugin');
const merge = require('deepmerge');
module.exports = (options = {}) => config => {
const { paths, root } = merge({ paths: [], root: process.cwd() }, options);
config
.plugin('clean')
.use(CleanPlugin, paths, { root });
};

20
packages/neutrino-middleware-clean/package.json

@ -0,0 +1,20 @@
{
"name": "neutrino-middleware-clean",
"version": "5.0.0",
"description": "Neutrino middleware for cleaning bundle output directories",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"clean"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"clean-webpack-plugin": "^0.1.15",
"deepmerge": "^1.3.2"
}
}

80
packages/neutrino-middleware-clean/yarn.lock

@ -0,0 +1,80 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
brace-expansion@^1.0.0:
version "1.1.6"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
dependencies:
balanced-match "^0.4.1"
concat-map "0.0.1"
clean-webpack-plugin@^0.1.15:
version "0.1.15"
resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.15.tgz#facc04e0c8dba99bf451ae865ad0361f51af1df1"
dependencies:
rimraf "~2.5.1"
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
glob@^7.0.5:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.2"
once "^1.3.0"
path-is-absolute "^1.0.0"
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
dependencies:
once "^1.3.0"
wrappy "1"
inherits@2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
minimatch@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
dependencies:
brace-expansion "^1.0.0"
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
dependencies:
wrappy "1"
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
rimraf@~2.5.1:
version "2.5.4"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
dependencies:
glob "^7.0.5"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"

5
packages/neutrino-middleware-compile-loader/index.js

@ -0,0 +1,5 @@
module.exports = options => config => config.module
.rule('compile')
.test(/\.js$/)
.include(...options.include)
.loader('babel', require.resolve('babel-loader'), options.babel);

22
packages/neutrino-middleware-compile-loader/package.json

@ -0,0 +1,22 @@
{
"name": "neutrino-middleware-compile-loader",
"version": "5.0.0",
"description": "Neutrino middleware for compiling JavaScript using Babel configuration",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"compile",
"babel"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"babel-core": "^6.23.1",
"babel-loader": "^6.3.2",
"webpack": "^2.2.1"
}
}

2007
packages/neutrino-middleware-compile-loader/yarn.lock

File diff suppressed because it is too large

10
packages/neutrino-middleware-copy/index.js

@ -0,0 +1,10 @@
const CopyPlugin = require('copy-webpack-plugin');
const merge = require('deepmerge');
module.exports = (options = {}) => config => {
const opts = merge({ patterns: [], options: {} }, options);
config
.plugin('copy')
.use(CopyPlugin, opts.patterns, opts.options);
};

21
packages/neutrino-middleware-copy/package.json

@ -0,0 +1,21 @@
{
"name": "neutrino-middleware-copy",
"version": "5.0.0",
"description": "Neutrino middleware for copying files to a bundle output directory",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"copy",
"copying"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"copy-webpack-plugin": "^4.0.1",
"deepmerge": "^1.3.2"
}
}

172
packages/neutrino-middleware-copy/yarn.lock

@ -0,0 +1,172 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
big.js@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
bluebird@^2.10.2:
version "2.11.0"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
brace-expansion@^1.0.0:
version "1.1.6"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
dependencies:
balanced-match "^0.4.1"
concat-map "0.0.1"
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
copy-webpack-plugin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz#9728e383b94316050d0c7463958f2b85c0aa8200"
dependencies:
bluebird "^2.10.2"
fs-extra "^0.26.4"
glob "^6.0.4"
is-glob "^3.1.0"
loader-utils "^0.2.15"
lodash "^4.3.0"
minimatch "^3.0.0"
node-dir "^0.1.10"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
fs-extra@^0.26.4:
version "0.26.7"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
klaw "^1.0.0"
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
glob@^6.0.4:
version "6.0.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
dependencies:
inflight "^1.0.4"
inherits "2"
minimatch "2 || 3"
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.5:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.2"
once "^1.3.0"
path-is-absolute "^1.0.0"
graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
dependencies:
once "^1.3.0"
wrappy "1"
inherits@2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
is-extglob@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
dependencies:
is-extglob "^2.1.0"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
jsonfile@^2.1.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
optionalDependencies:
graceful-fs "^4.1.6"
klaw@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
optionalDependencies:
graceful-fs "^4.1.9"
loader-utils@^0.2.15:
version "0.2.17"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
json5 "^0.5.0"
object-assign "^4.0.1"
lodash@^4.3.0:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
dependencies:
brace-expansion "^1.0.0"
node-dir@^0.1.10:
version "0.1.16"
resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.16.tgz#d2ef583aa50b90d93db8cdd26fcea58353957fe4"
dependencies:
minimatch "^3.0.2"
object-assign@^4.0.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
dependencies:
wrappy "1"
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
rimraf@^2.2.8:
version "2.6.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
glob "^7.0.5"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"

5
packages/neutrino-middleware-env/index.js

@ -0,0 +1,5 @@
const { EnvironmentPlugin } = require('webpack');
module.exports = (envs = []) => config => config
.plugin('env')
.use(EnvironmentPlugin, ['NODE_ENV', ...envs]);

21
packages/neutrino-middleware-env/package.json

@ -0,0 +1,21 @@
{
"name": "neutrino-middleware-env",
"version": "5.0.0",
"description": "Neutrino middleware for injecting environment variables into source code",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"env",
"environment",
"variables"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"webpack": "^2.2.1"
}
}

1761
packages/neutrino-middleware-env/yarn.lock

File diff suppressed because it is too large

52
packages/neutrino-middleware-eslint/index.js

@ -0,0 +1,52 @@
const merge = require('deepmerge');
const clone = require('lodash.clonedeep');
const { join } = require('path');
const IF_NOT_DEV = process.env.NODE_ENV !== 'development';
const MODULES = join(__dirname, 'node_modules');
module.exports = options => (config, neutrino) => {
config.resolve.modules.add(MODULES);
config.resolveLoader.modules.add(MODULES);
config.module
.rule('lint')
.test(options.test || /\.(js|jsx)$/)
.pre()
.include(options.include)
.loader('eslint', require.resolve('eslint-loader'), merge({
failOnError: IF_NOT_DEV,
emitWarning: IF_NOT_DEV,
emitError: IF_NOT_DEV,
cwd: process.cwd(),
useEslintrc: false,
root: true,
plugins: ['babel'],
baseConfig: {},
envs: ['es6'],
parser: 'babel-eslint',
parserOptions: {
ecmaVersion: 2017,
sourceType: 'module',
ecmaFeatures: {
objectLiteralDuplicateProperties: false,
generators: true,
impliedStrict: true
}
},
settings: {},
globals: ['process'],
rules: {}
}, options.eslint || {}));
neutrino.eslintrc = () => {
const options = clone(config.module.rule('lint').loaders.get('eslint').options);
options.extends = options.baseConfig.extends;
options.useEslintrc = true;
options.env = options.envs.reduce((env, key) => Object.assign(env, { [key]: true }), {});
options.globals = options.globals.reduce((globals, key) => Object.assign(globals, { [key]: true }), {});
['envs', 'baseConfig', 'failOnError', 'emitWarning', 'emitError'].map(method => delete options[method]);
return options;
};
};

25
packages/neutrino-lint-base/package.json → packages/neutrino-middleware-eslint/package.json

@ -1,27 +1,26 @@
{
"name": "neutrino-lint-base",
"name": "neutrino-middleware-eslint",
"version": "5.0.0",
"description": "Neutrino preset starter for adding building ESLint-based presets",
"main": "src/index.js",
"description": "Neutrino middleware for linting source code using ESLint",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-preset",
"neutrino-middleware",
"lint",
"eslint"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"babel-eslint": "^7.1.1",
"deepmerge": "^1.3.2",
"eslint": "^3.16.1",
"eslint-loader": "^1.6.1",
"eslint-plugin-babel": "^4.0.1",
"eslint-loader": "^1.6.3",
"eslint-plugin-babel": "^4.1.0",
"eslint-plugin-import": "^2.2.0",
"lodash.clonedeep": "^4.5.0"
},
"peerDependencies": {
"neutrino": "^5.0.0"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues"
}
}

38
packages/neutrino-lint-base/yarn.lock → packages/neutrino-middleware-eslint/yarn.lock

@ -114,8 +114,8 @@ babel-types@^6.15.0, babel-types@^6.23.0:
to-fast-properties "^1.0.1"
babylon@^6.13.0, babylon@^6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
version "6.16.1"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
balanced-match@^0.4.1:
version "0.4.2"
@ -232,6 +232,10 @@ deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
del@^2.0.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
@ -328,7 +332,7 @@ eslint-import-resolver-node@^0.2.0:
object-assign "^4.0.1"
resolve "^1.1.6"
eslint-loader@^1.6.1:
eslint-loader@^1.6.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.6.3.tgz#52fdcb32e9e8355108f8380dad4efe51a28986f9"
dependencies:
@ -344,9 +348,9 @@ eslint-module-utils@^2.0.0:
debug "2.2.0"
pkg-dir "^1.0.0"
eslint-plugin-babel@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.0.1.tgz#77de74dabd67a6bef3b16bf258f5804e971e7349"
eslint-plugin-babel@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.1.0.tgz#837a74c092ad4d74f9fc74aed43f750906adc827"
eslint-plugin-import@^2.2.0:
version "2.2.0"
@ -603,8 +607,8 @@ is-fullwidth-code-point@^2.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
is-my-json-valid@^2.10.0:
version "2.15.0"
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
version "2.16.0"
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
dependencies:
generate-function "^2.0.0"
generate-object-property "^1.1.0"
@ -748,8 +752,8 @@ object-assign@^4.0.1, object-assign@^4.1.0:
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
object-hash@^1.1.4:
version "1.1.5"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.1.5.tgz#bdd844e030d0861b692ca175c6cab6868ec233d7"
version "1.1.6"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.1.6.tgz#826fd161372e826bd124a85b7e67710d14146f65"
once@^1.3.0:
version "1.4.0"
@ -790,6 +794,10 @@ path-is-inside@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
path-parse@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@ -874,8 +882,10 @@ resolve-from@^1.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
resolve@^1.1.6:
version "1.2.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
version "1.3.2"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235"
dependencies:
path-parse "^1.0.5"
restore-cursor@^1.0.1:
version "1.0.1"
@ -885,8 +895,8 @@ restore-cursor@^1.0.1:
onetime "^1.0.0"
rimraf@^2.2.8:
version "2.6.0"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.0.tgz#89b8a0fe432b9ff9ec9a925a00b6cdb3a91bbada"
version "2.6.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
glob "^7.0.5"

22
packages/neutrino-middleware-font-loader/index.js

@ -0,0 +1,22 @@
const merge = require('deepmerge');
module.exports = (options = {}) => config => {
const { limit } = merge({ limit: '10000' }, options);
const urlLoader = require.resolve('url-loader');
const fileLoader = require.resolve('file-loader');
config.module
.rule('woff')
.test(/\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/)
.loader('url', urlLoader, { limit, mimetype: 'application/font-woff' });
config.module
.rule('ttf')
.test(/\.ttf(\?v=\d+\.\d+\.\d+)?$/)
.loader('url', urlLoader, { limit, mimetype: 'application/octet-stream' });
config.module
.rule('eot')
.test(/\.eot(\?v=\d+\.\d+\.\d+)?$/)
.loader('file', fileLoader);
};

21
packages/neutrino-middleware-font-loader/package.json

@ -0,0 +1,21 @@
{
"name": "neutrino-middleware-font-loader",
"version": "5.0.0",
"description": "Neutrino middleware for importing and loading font files from modules",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"font"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"deepmerge": "^1.3.2",
"file-loader": "^0.10.1",
"url-loader": "^0.5.8"
}
}

44
packages/neutrino-middleware-font-loader/yarn.lock

@ -0,0 +1,44 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
big.js@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
file-loader@^0.10.1:
version "0.10.1"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.10.1.tgz#815034119891fc6441fb5a64c11bc93c22ddd842"
dependencies:
loader-utils "^1.0.2"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
loader-utils@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.0.2.tgz#a9f923c865a974623391a8602d031137fad74830"
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
json5 "^0.5.0"
mime@1.3.x:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
url-loader@^0.5.8:
version "0.5.8"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5"
dependencies:
loader-utils "^1.0.2"
mime "1.3.x"

3
packages/neutrino-middleware-hot/index.js

@ -0,0 +1,3 @@
const { HotModuleReplacementPlugin } = require('webpack');
module.exports = () => config => config.plugin('hot').use(HotModuleReplacementPlugin);

22
packages/neutrino-middleware-hot/package.json

@ -0,0 +1,22 @@
{
"name": "neutrino-middleware-hot",
"version": "5.0.0",
"description": "Neutrino middleware for plugging hot module replacement",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"hmr",
"hot",
"module",
"replacement"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"webpack": "^2.2.1"
}
}

1761
packages/neutrino-middleware-hot/yarn.lock

File diff suppressed because it is too large

4
packages/neutrino-middleware-html-loader/index.js

@ -0,0 +1,4 @@
module.exports = () => config => config.module
.rule('html')
.test(/\.html$/)
.loader('file', require.resolve('file-loader'), { name: '[name].[ext]' });

19
packages/neutrino-middleware-html-loader/package.json

@ -0,0 +1,19 @@
{
"name": "neutrino-middleware-html-loader",
"version": "5.0.0",
"description": "Neutrino middleware for importing and loading HTML files from modules",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"html"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"file-loader": "^0.10.1"
}
}

29
packages/neutrino-middleware-html-loader/yarn.lock

@ -0,0 +1,29 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
big.js@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
file-loader@^0.10.1:
version "0.10.1"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.10.1.tgz#815034119891fc6441fb5a64c11bc93c22ddd842"
dependencies:
loader-utils "^1.0.2"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
loader-utils@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.0.2.tgz#a9f923c865a974623391a8602d031137fad74830"
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
json5 "^0.5.0"

19
packages/neutrino-middleware-html-template/index.js

@ -0,0 +1,19 @@
const HtmlPlugin = require('html-webpack-plugin');
const template = require('html-webpack-template');
const merge = require('deepmerge');
module.exports = (options = {}) => config => config
.plugin('html')
.use(HtmlPlugin, merge({
template,
inject: false,
appMountId: 'root',
xhtml: true,
mobile: true,
minify: {
useShortDoctype: true,
keepClosingSlash: true,
collapseWhitespace: true,
preserveLineBreaks: true,
}
}, options));

23
packages/neutrino-middleware-html-template/package.json

@ -0,0 +1,23 @@
{
"name": "neutrino-middleware-html-template",
"version": "5.0.0",
"description": "Neutrino middleware for automatic HTML file generation from metadata",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"html",
"template"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"deepmerge": "^1.3.2",
"html-webpack-plugin": "^2.28.0",
"html-webpack-template": "^6.0.1",
"webpack": "^2.2.1"
}
}

1966
packages/neutrino-middleware-html-template/yarn.lock

File diff suppressed because it is too large

21
packages/neutrino-middleware-image-loader/index.js

@ -0,0 +1,21 @@
const merge = require('deepmerge');
module.exports = (options = {}) => config => {
const { limit } = merge({ limit: 8192 }, options);
const urlLoader = require.resolve('url-loader');
config.module
.rule('svg')
.test(/\.svg(\?v=\d+\.\d+\.\d+)?$/)
.loader('url', urlLoader, { limit, mimetype: 'application/svg+xml' });
config.module
.rule('img')
.test(/\.(png|jpg|jpeg|gif)$/)
.loader('url', urlLoader, { limit });
config.module
.rule('ico')
.test(/\.ico(\?v=\d+\.\d+\.\d+)?$/)
.loader('url', urlLoader);
};

21
packages/neutrino-middleware-image-loader/package.json

@ -0,0 +1,21 @@
{
"name": "neutrino-middleware-image-loader",
"version": "5.0.0",
"description": "Neutrino middleware for importing and loading image files from modules",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"image"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"deepmerge": "^1.3.2",
"file-loader": "^0.10.1",
"url-loader": "^0.5.8"
}
}

44
packages/neutrino-middleware-image-loader/yarn.lock

@ -0,0 +1,44 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
big.js@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
file-loader@^0.10.1:
version "0.10.1"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.10.1.tgz#815034119891fc6441fb5a64c11bc93c22ddd842"
dependencies:
loader-utils "^1.0.2"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
loader-utils@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.0.2.tgz#a9f923c865a974623391a8602d031137fad74830"
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
json5 "^0.5.0"
mime@1.3.x:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
url-loader@^0.5.8:
version "0.5.8"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5"
dependencies:
loader-utils "^1.0.2"
mime "1.3.x"

3
packages/neutrino-middleware-minify/index.js

@ -0,0 +1,3 @@
const BabiliPlugin = require('babili-webpack-plugin');
module.exports = () => config => config.plugin('minify').use(BabiliPlugin);

21
packages/neutrino-middleware-minify/package.json

@ -0,0 +1,21 @@
{
"name": "neutrino-middleware-minify",
"version": "5.0.0",
"description": "Neutrino middleware for minifying source code",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"minify",
"babili",
"compress"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"babili-webpack-plugin": "^0.0.10"
}
}

508
packages/neutrino-middleware-minify/yarn.lock

@ -0,0 +1,508 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
babel-code-frame@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
dependencies:
chalk "^1.1.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
babel-core@^6.22.1, babel-core@^6.23.0:
version "6.23.1"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.23.1.tgz#c143cb621bb2f621710c220c5d579d15b8a442df"
dependencies:
babel-code-frame "^6.22.0"
babel-generator "^6.23.0"
babel-helpers "^6.23.0"
babel-messages "^6.23.0"
babel-register "^6.23.0"
babel-runtime "^6.22.0"
babel-template "^6.23.0"
babel-traverse "^6.23.1"
babel-types "^6.23.0"
babylon "^6.11.0"
convert-source-map "^1.1.0"
debug "^2.1.1"
json5 "^0.5.0"
lodash "^4.2.0"
minimatch "^3.0.2"
path-is-absolute "^1.0.0"
private "^0.1.6"
slash "^1.0.0"
source-map "^0.5.0"
babel-generator@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz#6b8edab956ef3116f79d8c84c5a3c05f32a74bc5"
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
babel-types "^6.23.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.2.0"
source-map "^0.5.0"
trim-right "^1.0.1"
babel-helper-evaluate-path@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.0.3.tgz#1d103ac9d4a59e5d431842212f151785f7ac547b"
babel-helper-flip-expressions@^0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.0.2.tgz#7bab2cf61162bc92703e9b298ef512bcf77d6787"
babel-helper-is-nodes-equiv@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684"
babel-helper-is-void-0@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.0.1.tgz#ed74553b883e68226ae45f989a99b02c190f105a"
babel-helper-mark-eval-scopes@^0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.0.2.tgz#909fd1f2384570cd3003283773852d9d63922a37"
babel-helper-remove-or-void@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.0.1.tgz#f602790e465acf2dfbe84fb3dd210c43a2dd7262"
babel-helper-to-multiple-sequence-expressions@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.0.3.tgz#c789a0faccd2669c51234be2cea7a3e5a0573c25"
babel-helpers@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992"
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.23.0"
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-minify-constant-folding@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.0.4.tgz#b6e231026a6035e88ceadd206128d7db2b5c15e6"
dependencies:
babel-helper-evaluate-path "^0.0.3"
jsesc "^2.4.0"
babel-plugin-minify-dead-code-elimination@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.1.3.tgz#7882c014619934cb9aca69d85c968ed124ac97e3"
dependencies:
babel-helper-mark-eval-scopes "^0.0.2"
babel-helper-remove-or-void "^0.0.1"
lodash.some "^4.6.0"
babel-plugin-minify-flip-comparisons@^0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.0.2.tgz#7d0953aa5876ede6118966bda9edecc63bf346ab"
dependencies:
babel-helper-is-void-0 "^0.0.1"
babel-plugin-minify-guarded-expressions@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.0.4.tgz#957104a760e6a7ffd967005a7a11621bb42fd11c"
dependencies:
babel-helper-flip-expressions "^0.0.2"
babel-plugin-minify-infinity@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.0.3.tgz#4cc99b61d12b434ce80ad675103335c589cba9a1"
babel-plugin-minify-mangle-names@^0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.0.7.tgz#fcc5f9a4c4c9c0731e73a4a4e3d002fcb800ef41"
dependencies:
babel-helper-mark-eval-scopes "^0.0.2"
babel-plugin-minify-numeric-literals@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.0.1.tgz#9597e6c31154d7daf3744d0bd417c144b275bd53"
babel-plugin-minify-replace@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.0.1.tgz#5d5aea7cb9899245248d1ee9ce7a2fe556a8facc"
babel-plugin-minify-simplify@^0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.0.7.tgz#4198d589ea10b4bc5bf9310206619a743c0d0664"
dependencies:
babel-helper-flip-expressions "^0.0.2"
babel-helper-is-nodes-equiv "^0.0.1"
babel-helper-to-multiple-sequence-expressions "^0.0.3"
babel-plugin-minify-type-constructors@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.0.3.tgz#ab59c1ad835b6b6e8e932b875d4df4dc393d9d26"
dependencies:
babel-helper-is-void-0 "^0.0.1"
babel-plugin-transform-inline-consecutive-adds@^0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.0.2.tgz#a58fcecfc09c08fbf9373a5a3e70746c03d01fc1"
babel-plugin-transform-member-expression-literals@^6.8.1:
version "6.8.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.8.1.tgz#60b78cb2b814ac71dd6104ef51c496c62e877337"
babel-plugin-transform-merge-sibling-variables@^6.8.2:
version "6.8.2"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.8.2.tgz#498acd07481ab340c1bad8b726c2fad1b8f644e5"
babel-plugin-transform-minify-booleans@^6.8.0:
version "6.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.8.0.tgz#b1a48864a727847696b84eae36fa4d085a54b42b"
dependencies:
babel-runtime "^6.0.0"
babel-plugin-transform-property-literals@^6.8.1:
version "6.8.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.1.tgz#05ed01f6024820b18f1d0495c80fe287176bccd9"
babel-plugin-transform-regexp-constructors@^0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.0.5.tgz#74d95e0c567e6fc1d9c699a084894d40de8e581d"
babel-plugin-transform-remove-console@^6.8.0:
version "6.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.8.0.tgz#c4162f01ee169491776e64093f4dad8d61125a90"
dependencies:
babel-runtime "^6.0.0"
babel-plugin-transform-remove-debugger@^6.8.0:
version "6.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.8.0.tgz#d3ece7d8400473f7a706177ba22fd3026ad7e020"
dependencies:
babel-runtime "^6.0.0"
babel-plugin-transform-remove-undefined@^0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.0.5.tgz#12ef11805e06e861dd2eb0c7cc041d2184b8f410"
babel-plugin-transform-simplify-comparison-operators@^6.8.1:
version "6.8.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.8.1.tgz#a307088e0d1c728081777fba568f4107396ab25c"
babel-plugin-transform-undefined-to-void@^6.8.0:
version "6.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.8.0.tgz#bc5b6b4908d3b1262170e67cb3963903ddce167e"
dependencies:
babel-runtime "^6.0.0"
babel-preset-babili@^0.0.11:
version "0.0.11"
resolved "https://registry.yarnpkg.com/babel-preset-babili/-/babel-preset-babili-0.0.11.tgz#9461fd902d6a3c8bc032b8f06c2f691674c12a1f"
dependencies:
babel-plugin-minify-constant-folding "^0.0.4"
babel-plugin-minify-dead-code-elimination "^0.1.3"
babel-plugin-minify-flip-comparisons "^0.0.2"
babel-plugin-minify-guarded-expressions "^0.0.4"
babel-plugin-minify-infinity "^0.0.3"
babel-plugin-minify-mangle-names "^0.0.7"
babel-plugin-minify-numeric-literals "^0.0.1"
babel-plugin-minify-replace "^0.0.1"
babel-plugin-minify-simplify "^0.0.7"
babel-plugin-minify-type-constructors "^0.0.3"
babel-plugin-transform-inline-consecutive-adds "^0.0.2"
babel-plugin-transform-member-expression-literals "^6.8.1"
babel-plugin-transform-merge-sibling-variables "^6.8.2"
babel-plugin-transform-minify-booleans "^6.8.0"
babel-plugin-transform-property-literals "^6.8.1"
babel-plugin-transform-regexp-constructors "^0.0.5"
babel-plugin-transform-remove-console "^6.8.0"
babel-plugin-transform-remove-debugger "^6.8.0"
babel-plugin-transform-remove-undefined "^0.0.5"
babel-plugin-transform-simplify-comparison-operators "^6.8.1"
babel-plugin-transform-undefined-to-void "^6.8.0"
lodash.isplainobject "^4.0.6"
babel-register@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz#c9aa3d4cca94b51da34826c4a0f9e08145d74ff3"
dependencies:
babel-core "^6.23.0"
babel-runtime "^6.22.0"
core-js "^2.4.0"
home-or-tmp "^2.0.0"
lodash "^4.2.0"
mkdirp "^0.5.1"
source-map-support "^0.4.2"
babel-runtime@^6.0.0, babel-runtime@^6.22.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
babel-template@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638"
dependencies:
babel-runtime "^6.22.0"
babel-traverse "^6.23.0"
babel-types "^6.23.0"
babylon "^6.11.0"
lodash "^4.2.0"
babel-traverse@^6.23.0, babel-traverse@^6.23.1:
version "6.23.1"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48"
dependencies:
babel-code-frame "^6.22.0"
babel-messages "^6.23.0"
babel-runtime "^6.22.0"
babel-types "^6.23.0"
babylon "^6.15.0"
debug "^2.2.0"
globals "^9.0.0"
invariant "^2.2.0"
lodash "^4.2.0"
babel-types@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf"
dependencies:
babel-runtime "^6.22.0"
esutils "^2.0.2"
lodash "^4.2.0"
to-fast-properties "^1.0.1"
babili-webpack-plugin@^0.0.10:
version "0.0.10"
resolved "https://registry.yarnpkg.com/babili-webpack-plugin/-/babili-webpack-plugin-0.0.10.tgz#4b4daed0aa0868541bab9724f690574600cd639b"
dependencies:
babel-core "^6.22.1"
babel-preset-babili "^0.0.11"
webpack-sources "^0.1.4"
babylon@^6.11.0, babylon@^6.15.0:
version "6.16.1"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
brace-expansion@^1.0.0:
version "1.1.6"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
dependencies:
balanced-match "^0.4.1"
concat-map "0.0.1"
chalk@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
has-ansi "^2.0.0"
strip-ansi "^3.0.0"
supports-color "^2.0.0"
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
convert-source-map@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3"
core-js@^2.4.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
debug@^2.1.1, debug@^2.2.0:
version "2.6.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
dependencies:
ms "0.7.2"
detect-indent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
dependencies:
repeating "^2.0.0"
escape-string-regexp@^1.0.2:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
globals@^9.0.0:
version "9.16.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80"
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
dependencies:
ansi-regex "^2.0.0"
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
invariant@^2.2.0:
version "2.2.2"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
dependencies:
loose-envify "^1.0.0"
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
dependencies:
number-is-nan "^1.0.0"
js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
jsesc@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.4.0.tgz#8568d223ff69c0b5e081b4f8edf5a23d978c9867"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
lodash.isplainobject@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
lodash.some@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
lodash@^4.2.0:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
loose-envify@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
js-tokens "^3.0.0"
minimatch@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
dependencies:
brace-expansion "^1.0.0"
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
mkdirp@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
minimist "0.0.8"
ms@0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
private@^0.1.6:
version "0.1.7"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
regenerator-runtime@^0.10.0:
version "0.10.3"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e"
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
dependencies:
is-finite "^1.0.0"
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
source-list-map@~0.1.7:
version "0.1.8"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
source-map-support@^0.4.2:
version "0.4.11"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322"
dependencies:
source-map "^0.5.3"
source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.3:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
strip-ansi@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
dependencies:
ansi-regex "^2.0.0"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
to-fast-properties@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320"
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
webpack-sources@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd"
dependencies:
source-list-map "~0.1.7"
source-map "~0.5.3"

3
packages/neutrino-middleware-progress/index.js

@ -0,0 +1,3 @@
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
module.exports = () => config => config.plugin('progress').use(ProgressBarPlugin);

21
packages/neutrino-middleware-progress/package.json

@ -0,0 +1,21 @@
{
"name": "neutrino-middleware-progress",
"version": "5.0.0",
"description": "Neutrino middleware for displaying a progress bar during compilation",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"progress",
"bar"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"progress-bar-webpack-plugin": "^1.9.3",
"webpack": "^2.2.1"
}
}

1800
packages/neutrino-middleware-progress/yarn.lock

File diff suppressed because it is too large

5
packages/neutrino-middleware-style-loader/index.js

@ -0,0 +1,5 @@
module.exports = () => config => config.module
.rule('style')
.test(/\.css$/)
.loader('style', require.resolve('style-loader'))
.loader('css', require.resolve('css-loader'));

22
packages/neutrino-middleware-style-loader/package.json

@ -0,0 +1,22 @@
{
"name": "neutrino-middleware-style-loader",
"version": "5.0.0",
"description": "Neutrino middleware for importing and loading stylesheets from modules",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-middleware",
"style",
"css",
"stylesheet"
],
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MIT",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"css-loader": "^0.26.2",
"style-loader": "^0.13.2"
}
}

750
packages/neutrino-middleware-style-loader/yarn.lock

@ -0,0 +1,750 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
argparse@^1.0.7:
version "1.0.9"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
dependencies:
sprintf-js "~1.0.2"
autoprefixer@^6.3.1:
version "6.7.6"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.6.tgz#00f05656c7ef73de9d2fd9b4668f6ef6905a855a"
dependencies:
browserslist "^1.7.5"
caniuse-db "^1.0.30000628"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
postcss "^5.2.15"
postcss-value-parser "^3.2.3"
babel-code-frame@^6.11.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
dependencies:
chalk "^1.1.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
balanced-match@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
big.js@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
browserslist@^1.0.1, browserslist@^1.5.2, browserslist@^1.7.5:
version "1.7.5"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.5.tgz#eca4713897b51e444283241facf3985de49a9e2b"
dependencies:
caniuse-db "^1.0.30000624"
electron-to-chromium "^1.2.3"
caniuse-api@^1.5.2:
version "1.5.3"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.5.3.tgz#5018e674b51c393e4d50614275dc017e27c4a2a2"
dependencies:
browserslist "^1.0.1"
caniuse-db "^1.0.30000346"
lodash.memoize "^4.1.0"
lodash.uniq "^4.3.0"
caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000624, caniuse-db@^1.0.30000628:
version "1.0.30000631"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000631.tgz#8aa6f65cff452c4aba1c2aaa1e724102fbb9114f"
chalk@^1.1.0, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
has-ansi "^2.0.0"
strip-ansi "^3.0.0"
supports-color "^2.0.0"
clap@^1.0.9:
version "1.1.2"
resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.2.tgz#316545bf22229225a2cecaa6824cd2f56a9709ed"
dependencies:
chalk "^1.1.3"
clone@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
coa@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz#7f959346cfc8719e3f7233cd6852854a7c67d8a3"
dependencies:
q "^1.1.2"
color-convert@^1.3.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
dependencies:
color-name "^1.1.1"
color-name@^1.0.0, color-name@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
color-string@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
dependencies:
color-name "^1.0.0"
color@^0.11.0:
version "0.11.4"
resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
dependencies:
clone "^1.0.2"
color-convert "^1.3.0"
color-string "^0.3.0"
colormin@^1.0.5:
version "1.1.2"
resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
dependencies:
color "^0.11.0"
css-color-names "0.0.4"
has "^1.0.1"
colors@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
css-color-names@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
css-loader@^0.26.2:
version "0.26.2"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.2.tgz#a9cd4c2b1a559b45d8efc04fc311ab5d2aaccb9d"
dependencies:
babel-code-frame "^6.11.0"
css-selector-tokenizer "^0.7.0"
cssnano ">=2.6.1 <4"
loader-utils "^1.0.2"
lodash.camelcase "^4.3.0"
object-assign "^4.0.1"
postcss "^5.0.6"
postcss-modules-extract-imports "^1.0.0"
postcss-modules-local-by-default "^1.0.1"
postcss-modules-scope "^1.0.0"
postcss-modules-values "^1.1.0"
source-list-map "^0.1.7"
css-selector-tokenizer@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.6.0.tgz#6445f582c7930d241dcc5007a43d6fcb8f073152"
dependencies:
cssesc "^0.1.0"
fastparse "^1.1.1"
regexpu-core "^1.0.0"
css-selector-tokenizer@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86"
dependencies:
cssesc "^0.1.0"
fastparse "^1.1.1"
regexpu-core "^1.0.0"
cssesc@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
"cssnano@>=2.6.1 <4":
version "3.10.0"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
dependencies:
autoprefixer "^6.3.1"
decamelize "^1.1.2"
defined "^1.0.0"
has "^1.0.1"
object-assign "^4.0.1"
postcss "^5.0.14"
postcss-calc "^5.2.0"
postcss-colormin "^2.1.8"
postcss-convert-values "^2.3.4"
postcss-discard-comments "^2.0.4"
postcss-discard-duplicates "^2.0.1"
postcss-discard-empty "^2.0.1"
postcss-discard-overridden "^0.1.1"
postcss-discard-unused "^2.2.1"
postcss-filter-plugins "^2.0.0"
postcss-merge-idents "^2.1.5"
postcss-merge-longhand "^2.0.1"
postcss-merge-rules "^2.0.3"
postcss-minify-font-values "^1.0.2"
postcss-minify-gradients "^1.0.1"
postcss-minify-params "^1.0.4"
postcss-minify-selectors "^2.0.4"
postcss-normalize-charset "^1.1.0"
postcss-normalize-url "^3.0.7"
postcss-ordered-values "^2.1.0"
postcss-reduce-idents "^2.2.2"
postcss-reduce-initial "^1.0.0"
postcss-reduce-transforms "^1.0.3"
postcss-svgo "^2.1.1"
postcss-unique-selectors "^2.0.2"
postcss-value-parser "^3.2.3"
postcss-zindex "^2.0.1"
csso@~2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.1.tgz#4f8d91a156f2f1c2aebb40b8fb1b5eb83d94d3b9"
dependencies:
clap "^1.0.9"
source-map "^0.5.3"
decamelize@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
defined@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
electron-to-chromium@^1.2.3:
version "1.2.4"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.4.tgz#9751cbea89fa120bf88c226ba41eb8d0b6f1b597"
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
escape-string-regexp@^1.0.2:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
esprima@^2.6.0:
version "2.7.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
fastparse@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
flatten@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
function-bind@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
dependencies:
ansi-regex "^2.0.0"
has-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
has@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
dependencies:
function-bind "^1.0.2"
html-comment-regex@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
icss-replace-symbols@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5"
indexes-of@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
is-absolute-url@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
is-plain-obj@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
is-svg@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
dependencies:
html-comment-regex "^1.1.0"
js-base64@^2.1.9:
version "2.1.9"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
js-yaml@~3.7.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
dependencies:
argparse "^1.0.7"
esprima "^2.6.0"
jsesc@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
loader-utils@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.0.2.tgz#a9f923c865a974623391a8602d031137fad74830"
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
json5 "^0.5.0"
lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
lodash.memoize@^4.1.0:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
lodash.uniq@^4.3.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
macaddress@^0.2.8:
version "0.2.8"
resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
math-expression-evaluator@^1.2.14:
version "1.2.16"
resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz#b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9"
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
minimist "0.0.8"
normalize-range@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
normalize-url@^1.4.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.0.tgz#c2bb50035edee62cd81edb2d45da68dc25e3423e"
dependencies:
object-assign "^4.0.1"
prepend-http "^1.0.0"
query-string "^4.1.0"
sort-keys "^1.0.0"
num2fraction@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
postcss-calc@^5.2.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
dependencies:
postcss "^5.0.2"
postcss-message-helpers "^2.0.0"
reduce-css-calc "^1.2.6"
postcss-colormin@^2.1.8:
version "2.2.2"
resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
dependencies:
colormin "^1.0.5"
postcss "^5.0.13"
postcss-value-parser "^3.2.3"
postcss-convert-values@^2.3.4:
version "2.6.1"
resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
dependencies:
postcss "^5.0.11"
postcss-value-parser "^3.1.2"
postcss-discard-comments@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
dependencies:
postcss "^5.0.14"
postcss-discard-duplicates@^2.0.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
dependencies:
postcss "^5.0.4"
postcss-discard-empty@^2.0.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
dependencies:
postcss "^5.0.14"
postcss-discard-overridden@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
dependencies:
postcss "^5.0.16"
postcss-discard-unused@^2.2.1:
version "2.2.3"
resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
dependencies:
postcss "^5.0.14"
uniqs "^2.0.0"
postcss-filter-plugins@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
dependencies:
postcss "^5.0.4"
uniqid "^4.0.0"
postcss-merge-idents@^2.1.5:
version "2.1.7"
resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
dependencies:
has "^1.0.1"
postcss "^5.0.10"
postcss-value-parser "^3.1.1"
postcss-merge-longhand@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
dependencies:
postcss "^5.0.4"
postcss-merge-rules@^2.0.3:
version "2.1.2"
resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
dependencies:
browserslist "^1.5.2"
caniuse-api "^1.5.2"
postcss "^5.0.4"
postcss-selector-parser "^2.2.2"
vendors "^1.0.0"
postcss-message-helpers@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
postcss-minify-font-values@^1.0.2:
version "1.0.5"
resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
dependencies:
object-assign "^4.0.1"
postcss "^5.0.4"
postcss-value-parser "^3.0.2"
postcss-minify-gradients@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
dependencies:
postcss "^5.0.12"
postcss-value-parser "^3.3.0"
postcss-minify-params@^1.0.4:
version "1.2.2"
resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
dependencies:
alphanum-sort "^1.0.1"
postcss "^5.0.2"
postcss-value-parser "^3.0.2"
uniqs "^2.0.0"
postcss-minify-selectors@^2.0.4:
version "2.1.1"
resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
dependencies:
alphanum-sort "^1.0.2"
has "^1.0.1"
postcss "^5.0.14"
postcss-selector-parser "^2.0.0"
postcss-modules-extract-imports@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.1.tgz#8fb3fef9a6dd0420d3f6d4353cf1ff73f2b2a341"
dependencies:
postcss "^5.0.4"
postcss-modules-local-by-default@^1.0.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.1.1.tgz#29a10673fa37d19251265ca2ba3150d9040eb4ce"
dependencies:
css-selector-tokenizer "^0.6.0"
postcss "^5.0.4"
postcss-modules-scope@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.0.2.tgz#ff977395e5e06202d7362290b88b1e8cd049de29"
dependencies:
css-selector-tokenizer "^0.6.0"
postcss "^5.0.4"
postcss-modules-values@^1.1.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.2.2.tgz#f0e7d476fe1ed88c5e4c7f97533a3e772ad94ca1"
dependencies:
icss-replace-symbols "^1.0.2"
postcss "^5.0.14"
postcss-normalize-charset@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
dependencies:
postcss "^5.0.5"
postcss-normalize-url@^3.0.7:
version "3.0.8"
resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
dependencies:
is-absolute-url "^2.0.0"
normalize-url "^1.4.0"
postcss "^5.0.14"
postcss-value-parser "^3.2.3"
postcss-ordered-values@^2.1.0:
version "2.2.3"
resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
dependencies:
postcss "^5.0.4"
postcss-value-parser "^3.0.1"
postcss-reduce-idents@^2.2.2:
version "2.4.0"
resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
dependencies:
postcss "^5.0.4"
postcss-value-parser "^3.0.2"
postcss-reduce-initial@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
dependencies:
postcss "^5.0.4"
postcss-reduce-transforms@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
dependencies:
has "^1.0.1"
postcss "^5.0.8"
postcss-value-parser "^3.0.1"
postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
version "2.2.3"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
dependencies:
flatten "^1.0.2"
indexes-of "^1.0.1"
uniq "^1.0.1"
postcss-svgo@^2.1.1:
version "2.1.6"
resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
dependencies:
is-svg "^2.0.0"
postcss "^5.0.14"
postcss-value-parser "^3.2.3"
svgo "^0.7.0"
postcss-unique-selectors@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
dependencies:
alphanum-sort "^1.0.1"
postcss "^5.0.4"
uniqs "^2.0.0"
postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
postcss-zindex@^2.0.1:
version "2.2.0"
resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
dependencies:
has "^1.0.1"
postcss "^5.0.4"
uniqs "^2.0.0"
postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.15:
version "5.2.15"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.15.tgz#a9e8685e50e06cc5b3fdea5297273246c26f5b30"
dependencies:
chalk "^1.1.3"
js-base64 "^2.1.9"
source-map "^0.5.6"
supports-color "^3.2.3"
prepend-http@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
q@^1.1.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
query-string@^4.1.0:
version "4.3.2"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.2.tgz#ec0fd765f58a50031a3968c2431386f8947a5cdd"
dependencies:
object-assign "^4.1.0"
strict-uri-encode "^1.0.0"
reduce-css-calc@^1.2.6:
version "1.3.0"
resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
dependencies:
balanced-match "^0.4.2"
math-expression-evaluator "^1.2.14"
reduce-function-call "^1.0.1"
reduce-function-call@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
dependencies:
balanced-match "^0.4.2"
regenerate@^1.2.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
regexpu-core@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
dependencies:
regenerate "^1.2.1"
regjsgen "^0.2.0"
regjsparser "^0.1.4"
regjsgen@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
regjsparser@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
dependencies:
jsesc "~0.5.0"
sax@~1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828"
sort-keys@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
dependencies:
is-plain-obj "^1.0.0"
source-list-map@^0.1.7:
version "0.1.8"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
source-map@^0.5.3, source-map@^0.5.6:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
strip-ansi@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
dependencies:
ansi-regex "^2.0.0"
style-loader@^0.13.2:
version "0.13.2"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.2.tgz#74533384cf698c7104c7951150b49717adc2f3bb"
dependencies:
loader-utils "^1.0.2"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
supports-color@^3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
dependencies:
has-flag "^1.0.0"
svgo@^0.7.0:
version "0.7.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
dependencies:
coa "~1.0.1"
colors "~1.1.2"
csso "~2.3.1"
js-yaml "~3.7.0"
mkdirp "~0.5.1"
sax "~1.2.1"
whet.extend "~0.9.9"
uniq@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
uniqid@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
dependencies:
macaddress "^0.2.8"
uniqs@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
vendors@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
whet.extend@~0.9.9:
version "0.9.9"
resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"

27
packages/neutrino-preset-airbnb-base/index.js

@ -0,0 +1,27 @@
const lint = require('neutrino-middleware-eslint');
const { join } = require('path');
module.exports = (config, neutrino) => neutrino.use(lint({
include: [join(process.cwd(), 'SRC')],
eslint: {
baseConfig: {
extends: ['airbnb-base']
},
rules: {
// handled by babel rules
'new-cap': 'off',
// handled by babel rules
'object-curly-spacing': 'off',
// require a capital letter for constructors
'babel/new-cap': ['error', {newIsCap: true}],
// require padding inside curly braces
'babel/object-curly-spacing': ['error', 'always'],
// guard against awaiting async functions inside of a loop
'babel/no-await-in-loop': 'error'
}
}
}));

11
packages/neutrino-preset-airbnb-base/package.json

@ -2,7 +2,7 @@
"name": "neutrino-preset-airbnb-base",
"version": "5.0.0",
"description": "Neutrino preset for adding Airbnb's base JS ESLint config, following the Airbnb styleguide",
"main": "src/index.js",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-preset",
@ -12,14 +12,13 @@
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"deepmerge": "^1.3.2",
"eslint-config-airbnb-base": "^11.1.0",
"neutrino-lint-base": "^5.0.0"
"neutrino-middleware-eslint": "^5.0.0"
},
"peerDependencies": {
"neutrino": "^5.0.0"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues"
}
}

30
packages/neutrino-preset-airbnb-base/src/index.js

@ -1,30 +0,0 @@
const merge = require('deepmerge');
module.exports = neutrino => {
neutrino.use(require('neutrino-lint-base'));
neutrino.config.module
.rule('lint')
.loader('eslint', props => merge(props, {
options: {
baseConfig: {
extends: ['airbnb-base']
},
rules: {
// handled by babel rules
'new-cap': 'off',
// handled by babel rules
'object-curly-spacing': 'off',
// require a capital letter for constructors
'babel/new-cap': ['error', { newIsCap: true }],
// require padding inside curly braces
'babel/object-curly-spacing': ['error', 'always'],
// guard against awaiting async functions inside of a loop
'babel/no-await-in-loop': 'error'
}
}
}));
};

1037
packages/neutrino-preset-airbnb-base/yarn.lock

File diff suppressed because it is too large

10
packages/neutrino-preset-jest/package.json

@ -11,9 +11,8 @@
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"peerDependencies": {
"neutrino": "^5.0.0"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"babel-core": "^6.23.1",
"babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
@ -24,6 +23,7 @@
"jest-cli": "^19.0.2",
"lodash.clonedeep": "^4.5.0"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues"
"peerDependencies": {
"neutrino": "^5.0.0"
}
}

29
packages/neutrino-preset-jest/src/index.js

@ -33,7 +33,15 @@ function normalizeJestOptions(jestOptions, config, args) {
return options;
}
module.exports = neutrino => {
const compile = ({ babel }) => config => config.module
.rule('compile')
.loader('babel', props => merge(props, { options: babel }));
const lint = ({ eslint }) => config => config.module
.rule('lint')
.loader('eslint', props => merge(props, { options: eslint }));
module.exports = (config, neutrino) => {
const jestOptions = merge.all([
{
bail: true,
@ -53,10 +61,9 @@ module.exports = neutrino => {
neutrino.options.jest
]);
neutrino.config.module
.rule('compile')
.loader('babel', props => merge(props, {
options: {
neutrino.use([
compile({
babel: {
env: {
test: {
retainLines: true,
@ -65,17 +72,11 @@ module.exports = neutrino => {
}
}
}
}));
})
]);
if (neutrino.config.module.rules.has('lint')) {
neutrino.config.module
.rule('lint')
.loader('eslint', props => merge(props, {
options: {
plugins: ['jest'],
envs: ['jest']
}
}));
neutrino.use(lint({ eslint: { plugins: ['jest'], envs: ['jest'] } }));
}
neutrino.on('test', args => {

2
packages/neutrino-preset-karma/src/index.js → packages/neutrino-preset-karma/index.js

@ -1,7 +1,7 @@
const { Server } = require('karma');
const merge = require('deepmerge');
module.exports = neutrino => {
module.exports = (config, neutrino) => {
const defaults = {
plugins: [
require.resolve('karma-webpack'),

10
packages/neutrino-preset-karma/package.json

@ -2,7 +2,7 @@
"name": "neutrino-preset-karma",
"version": "5.0.0",
"description": "Neutrino preset for testing Neutrino projects with Karma",
"main": "src/index.js",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-preset",
@ -13,9 +13,6 @@
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"peerDependencies": {
"neutrino": "^5.0.0"
},
"dependencies": {
"deepmerge": "^1.3.2",
"karma": "^1.5.0",
@ -29,6 +26,7 @@
"webpack": "^2.2.1",
"webpack-dev-middleware": "^1.10.1"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues"
"peerDependencies": {
"neutrino": "^5.0.0"
}
}

37
packages/neutrino-preset-karma/yarn.lock

@ -14,8 +14,8 @@ accepts@1.3.3:
negotiator "0.6.1"
acorn-dynamic-import@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.1.tgz#23f671eb6e650dab277fef477c321b1178a8cca2"
version "2.0.2"
resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
dependencies:
acorn "^4.0.3"
@ -147,8 +147,8 @@ async@1.x, async@^1.4.0:
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
async@^2.1.2:
version "2.1.4"
resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
version "2.1.5"
resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc"
dependencies:
lodash "^4.14.0"
@ -273,8 +273,8 @@ braces@^1.8.2:
repeat-element "^1.1.2"
brorand@^1.0.1:
version "1.0.7"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.7.tgz#6677fa5e4901bdbf9c9ec2a748e28dca407a9bfc"
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
browser-stdout@1.3.0:
version "1.3.0"
@ -693,13 +693,16 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
elliptic@^6.0.0:
version "6.3.3"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f"
version "6.4.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"
hash.js "^1.0.0"
hmac-drbg "^1.0.0"
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
emojis-list@^2.0.0:
version "2.1.0"
@ -1093,7 +1096,7 @@ has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
hash.js@^1.0.0:
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
dependencies:
@ -1108,6 +1111,14 @@ hawk@~3.1.3:
hoek "2.x.x"
sntp "1.x.x"
hmac-drbg@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.0.tgz#3db471f45aae4a994a0688322171f51b8b91bee5"
dependencies:
hash.js "^1.0.3"
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
hoek@2.x.x:
version "2.16.3"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
@ -1654,6 +1665,10 @@ minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
@ -2573,8 +2588,8 @@ void-elements@^2.0.0:
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
watchpack@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.2.1.tgz#01efa80c5c29e5c56ba55d6f5470a35b6402f0b2"
version "1.3.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
dependencies:
async "^2.1.2"
chokidar "^1.4.3"

8
packages/neutrino-preset-mocha/package.json

@ -11,9 +11,6 @@
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"peerDependencies": {
"neutrino": "^5.0.0"
},
"dependencies": {
"babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
"babel-register": "^6.23.0",
@ -21,6 +18,7 @@
"deepmerge": "^1.3.2",
"mocha": "^3.2.0"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues"
"peerDependencies": {
"neutrino": "^5.0.0"
}
}

4
packages/neutrino-preset-mocha/src/index.js

@ -1,14 +1,14 @@
const mocha = require('./mocha');
const merge = require('deepmerge');
module.exports = neutrino => {
module.exports = (config, neutrino) => {
const defaults = {
reporter: 'spec',
ui: 'tdd',
bail: true
};
neutrino.config.module
config.module
.rule('compile')
.loader('babel', props => merge(props, {
options: {

96
packages/neutrino-preset-node/src/index.js → packages/neutrino-preset-node/index.js

@ -1,26 +1,36 @@
'use strict';
const banner = require('neutrino-middleware-banner');
const compile = require('neutrino-middleware-compile-loader');
const copy = require('neutrino-middleware-copy');
const progress = require('neutrino-middleware-progress');
const clean = require('neutrino-middleware-clean');
const nodeExternals = require('webpack-node-externals');
const path = require('path');
const webpack = require('webpack');
const { join } = require('path');
const merge = require('deepmerge');
const CopyPlugin = require('copy-webpack-plugin');
const CleanPlugin = require('clean-webpack-plugin');
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
const CWD = process.cwd();
const SRC = path.join(CWD, 'src');
const BUILD = path.join(CWD, 'build');
const TEST = path.join(CWD, 'test');
const PROJECT_MODULES = path.join(CWD, 'node_modules');
const MODULES = path.join(__dirname, '../node_modules');
const PKG = require(path.join(CWD, 'package.json'));
module.exports = neutrino => {
const { config } = neutrino;
const hasSourceMap = (PKG.dependencies && 'source-map-support' in PKG.dependencies) ||
(PKG.devDependencies && 'source-map-support' in PKG.devDependencies);
const SRC = join(CWD, 'src');
const BUILD = join(CWD, 'build');
const TEST = join(CWD, 'test');
const PROJECT_MODULES = join(CWD, 'node_modules');
const MODULES = join(__dirname, 'node_modules');
const PKG = require(join(CWD, 'package.json'));
module.exports = (config, neutrino) => {
neutrino.use(compile({
include: [SRC, TEST],
babel: {
presets: [
[require.resolve('babel-preset-env'), {
modules: false,
targets: {
node: 6.9
}
}]
]
}
}));
config.options.set('performance', { hints: false });
config
.target('node')
.node
@ -31,7 +41,7 @@ module.exports = neutrino => {
.externals([nodeExternals()])
.context(CWD)
.entry('index')
.add(path.join(SRC, 'index.js'))
.add(join(SRC, 'index.js'))
.end()
.output
.path(BUILD)
@ -54,16 +64,19 @@ module.exports = neutrino => {
.add(PROJECT_MODULES)
.add(MODULES);
config.options.set('performance', { hints: false });
const hasSourceMap = (PKG.dependencies && 'source-map-support' in PKG.dependencies) ||
(PKG.devDependencies && 'source-map-support' in PKG.devDependencies);
if (hasSourceMap) {
config
.plugin('banner')
.use(webpack.BannerPlugin, {
banner: `require('source-map-support').install();`,
raw: true,
entryOnly: true
});
neutrino.use(banner());
}
if (process.env.NODE_ENV !== 'development') {
neutrino.use([
copy({ patterns: [{ context: SRC, from: `**/*` }], options: { ignore: ['*.js*'] } }),
progress(),
clean({ paths: [BUILD] })
])
}
if (config.module.rules.has('lint')) {
@ -111,33 +124,4 @@ module.exports = neutrino => {
}
}));
}
config.module
.rule('compile')
.test(/\.js$/)
.include(SRC, TEST)
.loader('babel', require.resolve('babel-loader'), {
presets: [
[require.resolve('babel-preset-env'), {
modules: false,
targets: {
node: 6.9
}
}]
]
});
if (process.env.NODE_ENV !== 'development') {
config
.plugin('copy')
.use(CopyPlugin, [{ context: SRC, from: `**/*` }], { ignore: ['*.js*'] });
config
.plugin('progress')
.use(ProgressBarPlugin);
config
.plugin('clean')
.use(CleanPlugin, [BUILD], { root: CWD });
}
};

19
packages/neutrino-preset-node/package.json

@ -2,7 +2,7 @@
"name": "neutrino-preset-node",
"version": "5.0.0",
"description": "Neutrino preset for building Node.js projects",
"main": "src/index.js",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-preset",
@ -12,22 +12,21 @@
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"babel-core": "^6.23.1",
"babel-loader": "^6.3.2",
"babel-preset-env": "^1.1.10",
"clean-webpack-plugin": "^0.1.15",
"copy-webpack-plugin": "4.0.1",
"deepmerge": "^1.3.2",
"exports-loader": "^0.6.4",
"imports-loader": "^0.7.1",
"progress-bar-webpack-plugin": "^1.9.3",
"webpack": "^2.2.1",
"neutrino-middleware-banner": "^5.0.0",
"neutrino-middleware-compile-loader": "^5.0.0",
"neutrino-middleware-copy": "^5.0.0",
"neutrino-middleware-progress": "^5.0.0",
"neutrino-middleware-clean": "^5.0.0",
"webpack-node-externals": "1.5.4"
},
"peerDependencies": {
"neutrino": "^5.0.0"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues"
}
}

1957
packages/neutrino-preset-node/yarn.lock

File diff suppressed because it is too large

78
packages/neutrino-preset-react/src/index.js → packages/neutrino-preset-react/index.js

@ -1,15 +1,43 @@
'use strict';
const web = require('neutrino-preset-web');
const merge = require('deepmerge');
const path = require('path');
const webpack = require('webpack');
const { join } = require('path');
const MODULES = join(__dirname, 'node_modules');
module.exports = (config, neutrino) => {
neutrino.use(web);
config.resolve.modules.add(MODULES);
config.resolve.extensions.add('.jsx');
config.resolveLoader.modules.add(MODULES);
const MODULES = path.join(__dirname, '../node_modules');
config
.externals({
'react/addons': true,
'react/lib/ExecutionEnvironment': true,
'react/lib/ReactContext': 'window'
});
module.exports = neutrino => {
neutrino.use(require('neutrino-preset-web'));
config.module
.rule('compile')
.test(/\.jsx?$/)
.loader('babel', props => merge(props, {
options: {
presets: [require.resolve('babel-preset-react')],
plugins: [require.resolve('babel-plugin-transform-object-rest-spread')],
env: {
development: {
plugins: [require.resolve('react-hot-loader/babel')]
}
}
}
}));
const { config } = neutrino;
if (process.env.NODE_ENV === 'development') {
config
.entry('index')
.prepend(require.resolve('react-hot-loader/patch'));
}
if (config.module.rules.has('lint')) {
config.module
@ -49,35 +77,7 @@ module.exports = neutrino => {
}));
}
config.module
.rule('compile')
.test(/\.jsx?$/)
.loader('babel', props => merge(props, {
options: {
presets: [require.resolve('babel-preset-react')],
plugins: [require.resolve('babel-plugin-transform-object-rest-spread')],
env: {
development: {
plugins: [require.resolve('react-hot-loader/babel')]
}
}
}
}));
config.resolve.modules.add(MODULES);
config.resolve.extensions.add('.jsx');
config.resolveLoader.modules.add(MODULES);
config
.externals({
'react/addons': true,
'react/lib/ExecutionEnvironment': true,
'react/lib/ReactContext': 'window'
});
if (process.env.NODE_ENV === 'development') {
config
.entry('index')
.prepend(require.resolve('react-hot-loader/patch'));
}
// console.log(config.module.toConfig());
// console.log(neutrino.getWebpackOptions().module.rules);
// process.exit();
};

11
packages/neutrino-preset-react/package.json

@ -2,7 +2,7 @@
"name": "neutrino-preset-react",
"version": "5.0.0",
"description": "Neutrino preset for building React web applications",
"main": "src/index.js",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-preset",
@ -13,18 +13,17 @@
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"babel-plugin-transform-object-rest-spread": "^6.23.0",
"babel-preset-react": "^6.23.0",
"deepmerge": "^1.3.2",
"eslint-plugin-react": "^6.10.0",
"neutrino-preset-web": "^5.0.0",
"react-hot-loader": "^3.0.0-beta.6",
"webpack": "^2.2.1"
"react-hot-loader": "^3.0.0-beta.6"
},
"peerDependencies": {
"neutrino": "^5.0.0"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues"
}
}

150
packages/neutrino-preset-web/index.js

@ -0,0 +1,150 @@
const htmlLoader = require('neutrino-middleware-html-loader');
const styleLoader = require('neutrino-middleware-style-loader');
const fontLoader = require('neutrino-middleware-font-loader');
const imageLoader = require('neutrino-middleware-image-loader');
const compileLoader = require('neutrino-middleware-compile-loader');
const env = require('neutrino-middleware-env');
const htmlTemplate = require('neutrino-middleware-html-template');
const chunk = require('neutrino-middleware-chunk');
const hot = require('neutrino-middleware-hot');
const copy = require('neutrino-middleware-copy');
const progress = require('neutrino-middleware-progress');
const clean = require('neutrino-middleware-clean');
const minify = require('neutrino-middleware-minify');
const merge = require('deepmerge');
const { join } = require('path');
const CWD = process.cwd();
const SRC = join(CWD, 'src');
const BUILD = join(CWD, 'build');
const TEST = join(CWD, 'test');
const PKG = require(join(CWD, 'package.json'));
const PROJECT_MODULES = join(CWD, 'node_modules');
const MODULES = join(__dirname, 'node_modules');
const devServer = (options = {}) => config => config.devServer
.host(options.host)
.port(parseInt(options.port))
.https(options.https)
.contentBase(options.contentBase)
.historyApiFallback(true)
.hot(true)
.stats({
assets: false,
children: false,
chunks: false,
colors: true,
errors: true,
errorDetails: true,
hash: false,
modules: false,
publicPath: false,
timings: false,
version: false,
warnings: true
});
module.exports = (config, neutrino) => {
neutrino.use([
env(),
htmlLoader(),
styleLoader(),
fontLoader(),
imageLoader(),
htmlTemplate(),
compileLoader({
include: [SRC, TEST],
babel: {
presets: [
[require.resolve('babel-preset-env'), {
modules: false,
useBuiltIns: true,
include: ['transform-regenerator'],
targets: {
browsers: [
'last 2 Chrome versions',
'last 2 Firefox versions',
'last 2 Edge versions',
'last 2 Opera versions',
'last 2 Safari versions',
'last 2 iOS versions'
]
}
}]
]
}
})
]);
if (process.env.NODE_ENV !== 'test') {
neutrino.use(chunk());
}
config
.target('web')
.context(CWD)
.entry('index')
.add(join(SRC, 'index.js'));
config.output
.path(BUILD)
.publicPath('./')
.filename('[name].bundle.js')
.chunkFilename('[id].[chunkhash].js');
config.resolve.modules.add(PROJECT_MODULES).add(MODULES);
config.resolve.extensions.add('.js').add('json');
config.resolveLoader.modules.add(PROJECT_MODULES).add(MODULES);
config.node
.set('console', false)
.set('global', true)
.set('process', true)
.set('Buffer', true)
.set('__filename', 'mock')
.set('__dirname', 'mock')
.set('setImmediate', true)
.set('fs', 'empty')
.set('tls', 'empty');
if (config.module.rules.has('lint')) {
config.module
.rule('lint')
.loader('eslint', props => merge(props, {
options: {
globals: ['Buffer'],
envs: ['browser', 'commonjs']
}
}));
}
if (process.env.NODE_ENV === 'development') {
const protocol = !!process.env.HTTPS ? 'https' : 'http';
const host = process.env.HOST ||
(PKG.neutrino && PKG.neutrino.config && PKG.neutrino.config.devServer && PKG.neutrino.config.devServer.host) ||
'localhost';
const port = process.env.PORT ||
(PKG.neutrino && PKG.neutrino.config && PKG.neutrino.config.devServer && PKG.neutrino.config.devServer.port) ||
5000;
neutrino.use([
devServer({ host, port, https: protocol === 'https', contentBase: SRC }),
hot()
]);
config
.devtool('eval')
.entry('index')
.add(`webpack-dev-server/client?${protocol}://${host}:${port}/`)
.add('webpack/hot/dev-server');
} else {
neutrino.use([
copy({ patterns: [{ context: SRC, from: `**/*` }], options: { ignore: ['*.js*'] } }),
progress(),
clean({ paths: [BUILD] }),
minify()
]);
config.output.filename('[name].[chunkhash].bundle.js');
}
};

36
packages/neutrino-preset-web/package.json

@ -2,7 +2,7 @@
"name": "neutrino-preset-web",
"version": "5.0.0",
"description": "Neutrino preset for building generic web applications",
"main": "src/index.js",
"main": "index.js",
"keywords": [
"neutrino",
"neutrino-preset",
@ -12,30 +12,30 @@
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues",
"dependencies": {
"babel-core": "^6.23.1",
"babel-loader": "^6.3.2",
"babel-preset-env": "^1.1.10",
"babili-webpack-plugin": "^0.0.10",
"clean-webpack-plugin": "^0.1.15",
"copy-webpack-plugin": "4.0.1",
"css-loader": "^0.26.2",
"deepmerge": "^1.3.2",
"exports-loader": "^0.6.4",
"file-loader": "^0.10.1",
"html-webpack-plugin": "^2.28.0",
"html-webpack-template": "^6.0.1",
"imports-loader": "^0.7.1",
"progress-bar-webpack-plugin": "^1.9.3",
"style-loader": "^0.13.2",
"url-loader": "^0.5.8",
"webpack": "^2.2.1",
"webpack-dev-server": "^2.4.1",
"worker-loader": "^0.8.0"
"worker-loader": "^0.8.0",
"neutrino-middleware-chunk": "^5.0.0",
"neutrino-middleware-clean": "^5.0.0",
"neutrino-middleware-compile-loader": "^5.0.0",
"neutrino-middleware-copy": "^5.0.0",
"neutrino-middleware-env": "^5.0.0",
"neutrino-middleware-font-loader": "^5.0.0",
"neutrino-middleware-html-loader": "^5.0.0",
"neutrino-middleware-html-template": "^5.0.0",
"neutrino-middleware-hot": "^5.0.0",
"neutrino-middleware-image-loader": "^5.0.0",
"neutrino-middleware-progress": "^5.0.0",
"neutrino-middleware-minify": "^5.0.0",
"neutrino-middleware-style-loader": "^5.0.0"
},
"peerDependencies": {
"neutrino": "^5.0.0"
},
"homepage": "https://neutrino.js.org",
"bugs": "https://github.com/mozilla-neutrino/neutrino-dev/issues"
}
}

245
packages/neutrino-preset-web/src/index.js

@ -1,245 +0,0 @@
'use strict';
const webpack = require('webpack');
const HtmlPlugin = require('html-webpack-plugin');
const htmlTemplate = require('html-webpack-template');
const merge = require('deepmerge');
const path = require('path');
const CopyPlugin = require('copy-webpack-plugin');
const CleanPlugin = require('clean-webpack-plugin');
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
const BabiliPlugin = require('babili-webpack-plugin');
const CWD = process.cwd();
const SRC = path.join(CWD, 'src');
const BUILD = path.join(CWD, 'build');
const TEST = path.join(CWD, 'test');
const PKG = require(path.join(CWD, 'package.json'));
const FILE_LOADER = require.resolve('file-loader');
const CSS_LOADER = require.resolve('css-loader');
const STYLE_LOADER = require.resolve('style-loader');
const URL_LOADER = require.resolve('url-loader');
const PROJECT_MODULES = path.join(CWD, 'node_modules');
const MODULES = path.join(__dirname, '../node_modules');
module.exports = neutrino => {
const { config } = neutrino;
const html = {
inject: false,
template: htmlTemplate,
appMountId: 'root',
xhtml: true,
mobile: true,
minify: {
useShortDoctype: true,
keepClosingSlash: true,
collapseWhitespace: true,
preserveLineBreaks: true,
}
};
config
.target('web')
.context(CWD)
.entry('index')
.add(path.join(SRC, 'index.js'))
.end()
.output
.path(BUILD)
.publicPath('./')
.filename('[name].bundle.js')
.chunkFilename('[id].[chunkhash].js')
.end()
.resolve
.modules
.add(PROJECT_MODULES)
.add(MODULES)
.end()
.extensions
.add('.js')
.add('json')
.end()
.end()
.resolveLoader
.modules
.add(PROJECT_MODULES)
.add(MODULES);
config.node
.set('console', false)
.set('global', true)
.set('process', true)
.set('Buffer', true)
.set('__filename', 'mock')
.set('__dirname', 'mock')
.set('setImmediate', true)
.set('fs', 'empty')
.set('tls', 'empty');
config.module
.rule('html')
.test(/\.html$/)
.loader('file', FILE_LOADER, {
name: '[name].[ext]'
});
config.module
.rule('css')
.test(/\.css$/)
.loader('style', STYLE_LOADER)
.loader('css', CSS_LOADER);
config.module
.rule('woff')
.test(/\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/)
.loader('url', URL_LOADER, {
limit: '10000',
mimetype: 'application/font-woff'
});
config.module
.rule('ttf')
.test(/\.ttf(\?v=\d+\.\d+\.\d+)?$/)
.loader('url', URL_LOADER, {
limit: '10000',
mimetype: 'application/octet-stream'
});
config.module
.rule('eot')
.test(/\.eot(\?v=\d+\.\d+\.\d+)?$/)
.loader('file', FILE_LOADER);
config.module
.rule('svg')
.test(/\.svg(\?v=\d+\.\d+\.\d+)?$/)
.loader('url', URL_LOADER, {
limit: '10000',
mimetype: 'application/svg+xml'
});
config.module
.rule('img')
.test(/\.(png|jpg)$/)
.loader('url', URL_LOADER, {
limit: 8192
});
config.module
.rule('ico')
.test(/\.ico(\?v=\d+\.\d+\.\d+)?$/)
.loader('url', URL_LOADER);
config.module
.rule('compile')
.test(/\.js$/)
.include(SRC, TEST)
.loader('babel', require.resolve('babel-loader'), {
presets: [
[require.resolve('babel-preset-env'), {
modules: false,
useBuiltIns: true,
include: ['transform-regenerator'],
targets: {
browsers: [
'last 2 Chrome versions',
'last 2 Firefox versions',
'last 2 Edge versions',
'last 2 Opera versions',
'last 2 Safari versions',
'last 2 iOS versions'
]
}
}]
]
});
if (config.module.rules.has('lint')) {
config.module
.rule('lint')
.loader('eslint', props => merge(props, {
options: {
globals: ['Buffer'],
envs: ['browser', 'commonjs']
}
}));
}
config
.plugin('env')
.use(webpack.EnvironmentPlugin, ['NODE_ENV']);
config
.plugin('html')
.use(HtmlPlugin, merge(html, neutrino.options.html));
if (process.env.NODE_ENV !== 'test') {
config
.plugin('chunk')
.use(webpack.optimize.CommonsChunkPlugin, {
names: ['vendor', 'manifest'],
minChunks: Infinity
});
}
if (process.env.NODE_ENV === 'development') {
const protocol = !!process.env.HTTPS ? 'https' : 'http';
const host = process.env.HOST ||
(PKG.neutrino && PKG.neutrino.config && PKG.neutrino.config.devServer && PKG.neutrino.config.devServer.host) ||
'localhost';
const port = parseInt(process.env.PORT) ||
(PKG.neutrino && PKG.neutrino.config && PKG.neutrino.config.devServer && parseInt(PKG.neutrino.config.devServer.port)) ||
5000;
config.devtool('eval');
config.devServer
.host(host)
.port(port)
.https(protocol === 'https')
.contentBase(SRC)
.historyApiFallback(true)
.hot(true)
.stats({
assets: false,
children: false,
chunks: false,
colors: true,
errors: true,
errorDetails: true,
hash: false,
modules: false,
publicPath: false,
timings: false,
version: false,
warnings: true
});
config
.entry('index')
.add(`webpack-dev-server/client?${protocol}://${host}:${port}/`)
.add('webpack/hot/dev-server');
config
.plugin('hot')
.use(webpack.HotModuleReplacementPlugin);
} else {
config.output.filename('[name].[chunkhash].bundle.js');
config
.plugin('copy')
.use(CopyPlugin, [{ context: SRC, from: `**/*` }], { ignore: ['*.js*'] });
config
.plugin('progress')
.use(ProgressBarPlugin);
config
.plugin('clean')
.use(CleanPlugin, [BUILD], { root: CWD });
config
.plugin('minify')
.use(BabiliPlugin)
}
};

1856
packages/neutrino-preset-web/yarn.lock

File diff suppressed because it is too large

6
packages/neutrino/bin/neutrino

@ -1,5 +1,9 @@
#!/usr/bin/env node
// TODO: Remove this once babel-loader updates
// https://github.com/babel/babel-loader/pull/391
process.noDeprecation = true;
const Neutrino = require('../src/neutrino');
const yargs = require('yargs');
const { join } = require('path');
@ -58,7 +62,7 @@ function run(command, presets) {
for (let i = 0; i < paths.length; i += 1) {
try {
api.use(require(paths[i]));
return api.use(require(paths[i]));
} catch (exception) {
if (/Cannot find module/.test(exception.message)) {
continue;

2
packages/neutrino/src/neutrino.js

@ -17,7 +17,7 @@ class Neutrino extends EventEmitter {
presets = [presets];
}
presets.map(preset => preset(this));
presets.map(preset => preset(this.config, this));
}
handleErrors(err, stats) {

Loading…
Cancel
Save