Browse Source

Merge pull request #1 from eliperelman/linting-and-pkg-config

Linting changes and new config API
plugin-mode
Eli Perelman 8 years ago
committed by GitHub
parent
commit
fec8fda35f
  1. 1
      package.json
  2. 31
      packages/neutrino-preset-base/package.json
  3. 47
      packages/neutrino-preset-base/src/eslint.js
  4. 136
      packages/neutrino-preset-base/src/index.js
  5. 327
      packages/neutrino-preset-base/yarn.lock
  6. 9
      packages/neutrino-preset-node/package.json
  7. 44
      packages/neutrino-preset-node/src/eslint.js
  8. 141
      packages/neutrino-preset-node/src/index.js
  9. 169
      packages/neutrino-preset-node/yarn.lock
  10. 12
      packages/neutrino-preset-react/package.json
  11. 26
      packages/neutrino-preset-react/src/eslint.js
  12. 92
      packages/neutrino-preset-react/src/index.js
  13. 136
      packages/neutrino-preset-react/yarn.lock
  14. 28
      packages/neutrino-preset-web/package.json
  15. 12
      packages/neutrino-preset-web/src/eslint.js
  16. 350
      packages/neutrino-preset-web/src/index.js
  17. 410
      packages/neutrino-preset-web/yarn.lock
  18. 17
      packages/neutrino/package.json
  19. 16
      packages/neutrino/src/get-preset.js
  20. 318
      packages/neutrino/yarn.lock

1
package.json

@ -8,6 +8,7 @@
"author": "Eli Perelman <eli@eliperelman.com>",
"license": "MPL-2.0",
"scripts": {
"bootstrap": "autolink bootstrap",
"postinstall": "autolink bootstrap",
"clean-all": "autolink clean",
"link-all": "autolink link",

31
packages/neutrino-preset-base/package.json

@ -11,23 +11,24 @@
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"dependencies": {
"babel-core": "6.17.0",
"babel-eslint": "7.0.0",
"babel-loader": "6.2.5",
"babel-preset-es2015": "6.16.0",
"clean-webpack-plugin": "0.1.13",
"babel-core": "^6.22.1",
"babel-eslint": "^7.1.1",
"babel-loader": "^6.2.10",
"babel-preset-env": "^1.1.8",
"clean-webpack-plugin": "^0.1.15",
"copy-webpack-plugin": "4.0.1",
"deepmerge": "1.2.0",
"eslint": "3.8.1",
"eslint-loader": "1.6.0",
"eslint-plugin-babel": "3.3.0",
"eslint-plugin-import": "2.0.1",
"eslint-plugin-mocha": "4.7.0",
"deepmerge": "^1.3.2",
"eslint": "^3.14.1",
"eslint-loader": "^1.6.1",
"eslint-plugin-babel": "^4.0.1",
"eslint-plugin-import": "^2.2.0",
"eslint-plugin-mocha": "^4.8.0",
"exports-loader": "0.6.3",
"imports-loader": "0.6.5",
"progress-bar-webpack-plugin": "1.9.0",
"webpack": "2.2.0",
"webpack-merge": "2.4.0"
"imports-loader": "^0.7.0",
"progress-bar-webpack-plugin": "^1.9.3",
"webpack": "^2.2.1",
"webpack-chain": "^1.0.0",
"webpack-merge": "^2.6.1"
},
"peerDependencies": {
"neutrino": "^4.0.0"

47
packages/neutrino-preset-base/src/eslint.js

@ -3,10 +3,10 @@ const eslint = {
useEslintrc: false,
root: true,
plugins: ['babel', 'mocha'],
extends: ['eslint:recommended'],
env: {
es6: true
baseConfig: {
extends: ['eslint:recommended']
},
envs: ['es6'],
parser: 'babel-eslint',
parserOptions: {
ecmaVersion: 2017,
@ -18,9 +18,7 @@ const eslint = {
}
},
settings: {},
globals: {
process: true
},
globals: ['process'],
rules: {
// enforces getter/setter pairs in objects
'accessor-pairs': 'off',
@ -386,8 +384,9 @@ const eslint = {
requireReturnForObjectLiteral: false,
}],
// handled by babel rules
'arrow-parens': 'off',
// require parens in arrow function arguments
// http://eslint.org/docs/rules/arrow-parens
'arrow-parens': ['error', 'as-needed'],
// require space before/after arrow function's arrow
// http://eslint.org/docs/rules/arrow-spacing
@ -398,7 +397,7 @@ const eslint = {
// enforce the spacing around the * in generator functions
// http://eslint.org/docs/rules/generator-star-spacing
'generator-star-spacing': 'off',
'generator-star-spacing': ['error', { before: false, after: true }],
// disallow modifying variables of class declarations
// http://eslint.org/docs/rules/no-class-assign
@ -452,8 +451,9 @@ const eslint = {
// require let or const instead of var
'no-var': 'error',
// handled by babel rules
'object-shorthand': 'off',
// require method and property shorthand syntax for object literals
// http://eslint.org/docs/rules/object-shorthand
'object-shorthand': ['error', 'always'],
// suggest using arrow functions as callbacks
'prefer-arrow-callback': ['error', {
@ -520,8 +520,8 @@ const eslint = {
// babel inserts `'use strict';` for us
strict: ['error', 'never'],
// handled by babel rules
'array-bracket-spacing': 'off',
// enforce spacing inside array brackets
'array-bracket-spacing': ['error', 'never'],
// enforce spacing inside single-line blocks
// http://eslint.org/docs/rules/block-spacing
@ -884,33 +884,14 @@ const eslint = {
// disallow use of variables before they are defined
'no-use-before-define': 'error',
// enforce the spacing around the * in generator functions
// http://eslint.org/docs/rules/generator-star-spacing
'babel/generator-star-spacing': ['error', { before: false, after: true }],
// require a capital letter for constructors
'babel/new-cap': ['error', { newIsCap: true }],
// enforce spacing inside array brackets
'babel/array-bracket-spacing': ['error', 'never'],
// require padding inside curly braces
'babel/object-curly-spacing': ['error', 'always'],
// require method and property shorthand syntax for object literals
// http://eslint.org/docs/rules/object-shorthand
'babel/object-shorthand': ['error', 'always'],
// require parens in arrow function arguments
// http://eslint.org/docs/rules/arrow-parens
'babel/arrow-parens': ['error', 'as-needed'],
// guard against awaiting async functions inside of a loop
'babel/no-await-in-loop': 'error',
// forbid trailing commas for function parameter lists. Behaves like, and takes the same options
// as comma-dangle
'babel/func-params-comma-dangle': 'error'
'babel/no-await-in-loop': 'error'
}
};

136
packages/neutrino-preset-base/src/index.js

@ -1,10 +1,12 @@
'use strict';
const Config = require('webpack-chain');
const CleanPlugin = require('clean-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
const path = require('path');
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
const webpack = require('webpack');
const lint = require('./eslint');
const CWD = process.cwd();
const BUILD = path.join(CWD, 'build');
@ -13,77 +15,81 @@ const BASE_MODULES = path.join(__dirname, '../node_modules');
const SRC = path.join(CWD, 'src');
const TEST = path.join(CWD, 'test');
const config = {
context: CWD,
entry: {
index: [path.join(SRC, 'index.js')]
},
output: {
path: BUILD,
filename: '[name].bundle.js',
chunkFilename: '[id].[chunkhash].js'
},
plugins: [],
resolve: {
modules: [PROJECT_MODULES, BASE_MODULES],
extensions: ['.js', '.json']
},
resolveLoader: {
modules: [PROJECT_MODULES, BASE_MODULES]
},
module: {
rules: [
{
test: /\.js$/,
include: [SRC],
enforce: 'pre',
use: require.resolve('eslint-loader')
},
{
test: /\.js$/,
include: [SRC, TEST],
use: {
loader: require.resolve('babel-loader'),
options: {
presets: [
[require.resolve('babel-preset-es2015'), { modules: false }]
],
plugins: [],
env: {
test: {
plugins: [
// FIXME: This currently breaks the coverage
//[require.resolve('babel-plugin-istanbul'), { exclude: ['test/**/*'] }]
]
}
}
const config = new Config();
config
.context(CWD)
.entry('index')
.add(path.join(SRC, 'index.js'))
.end()
.output
.path(path.join(process.cwd(), 'build'))
.filename('[name].bundle.js')
.chunkFilename('[id].[chunkhash].js')
.end()
.resolve
.modules
.add(PROJECT_MODULES)
.add(BASE_MODULES)
.end()
.extensions
.add('.js')
.add('json')
.end()
.end()
.resolveLoader
.modules
.add(PROJECT_MODULES)
.add(BASE_MODULES);
config
.module
.rule('lint')
.test(/\.js$/)
.pre()
.include(SRC)
.loader('eslint', require.resolve('eslint-loader'), Object.assign({
failOnError: process.env.NODE_ENV !== 'development',
emitWarning: process.env.NODE_ENV !== 'development',
emitError: process.env.NODE_ENV !== 'development'
}, lint));
config
.module
.rule('compile')
.test(/\.js$/)
.include(SRC, TEST)
.loader('babel', require.resolve('babel-loader'), {
presets: [
[require.resolve('babel-preset-env'), { modules: false, targets: {} }]
],
plugins: [],
env: {
test: {
plugins: [
// FIXME: This currently breaks the coverage
//[require.resolve('babel-plugin-istanbul'), { exclude: ['test/**/*'] }]
]
}
}
}
]
}
};
const eslint = { configFile: path.join(__dirname, 'eslint.js'), emitError: true, failOnError: true };
});
if (process.env.NODE_ENV === 'development') {
config.devtool = 'eval';
eslint.failOnError = false;
eslint.emitWarning = false;
eslint.emitError = false;
config.devtool('eval');
} else {
// Copy all files except JS files, since they will be Babel-compiled to the output directory.
// This only needs to be done in production since in development assets should be served from the
// webpack-development-server via the source directory.
config.plugins.push(
new CopyPlugin([{ context: SRC, from: `**/*` }], { ignore: ['*.js*'] }),
new ProgressBarPlugin(),
new CleanPlugin([BUILD], { root: CWD })
);
config.output.filename('[name].[chunkhash].bundle.js');
config.output.filename = '[name].[chunkhash].bundle.js';
}
config
.plugin('copy')
.use(CopyPlugin, [{ context: SRC, from: `**/*` }], { ignore: ['*.js*'] });
config
.plugin('progress')
.use(ProgressBarPlugin);
config.plugins.push(new webpack.LoaderOptionsPlugin({ options: { eslint }}));
config
.plugin('clean')
.use(CleanPlugin, [BUILD], { root: CWD });
}
module.exports = config;

327
packages/neutrino-preset-base/yarn.lock

@ -177,33 +177,7 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
esutils "^2.0.2"
js-tokens "^3.0.0"
babel-core@6.17.0:
version "6.17.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.17.0.tgz#6c4576447df479e241e58c807e4bc7da4db7f425"
dependencies:
babel-code-frame "^6.16.0"
babel-generator "^6.17.0"
babel-helpers "^6.16.0"
babel-messages "^6.8.0"
babel-register "^6.16.0"
babel-runtime "^6.9.1"
babel-template "^6.16.0"
babel-traverse "^6.16.0"
babel-types "^6.16.0"
babylon "^6.11.0"
convert-source-map "^1.1.0"
debug "^2.1.1"
json5 "^0.4.0"
lodash "^4.2.0"
minimatch "^3.0.2"
path-exists "^1.0.0"
path-is-absolute "^1.0.0"
private "^0.1.6"
shebang-regex "^1.0.0"
slash "^1.0.0"
source-map "^0.5.0"
babel-core@^6.22.0:
babel-core@^6.22.0, babel-core@^6.22.1:
version "6.22.1"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648"
dependencies:
@ -227,16 +201,17 @@ babel-core@^6.22.0:
slash "^1.0.0"
source-map "^0.5.0"
babel-eslint@7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.0.0.tgz#54e51b4033f54ac81326ecea4c646a779935196d"
babel-eslint@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2"
dependencies:
babel-code-frame "^6.16.0"
babel-traverse "^6.15.0"
babel-types "^6.15.0"
babylon "^6.11.2"
babylon "^6.13.0"
lodash.pickby "^4.6.0"
babel-generator@^6.17.0, babel-generator@^6.22.0:
babel-generator@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805"
dependencies:
@ -248,6 +223,14 @@ babel-generator@^6.17.0, babel-generator@^6.22.0:
lodash "^4.2.0"
source-map "^0.5.0"
babel-helper-builder-binary-assignment-operator-visitor@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd"
dependencies:
babel-helper-explode-assignable-expression "^6.22.0"
babel-runtime "^6.22.0"
babel-types "^6.22.0"
babel-helper-call-delegate@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef"
@ -266,6 +249,14 @@ babel-helper-define-map@^6.22.0:
babel-types "^6.22.0"
lodash "^4.2.0"
babel-helper-explode-assignable-expression@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478"
dependencies:
babel-runtime "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-helper-function-name@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc"
@ -305,6 +296,16 @@ babel-helper-regex@^6.22.0:
babel-types "^6.22.0"
lodash "^4.2.0"
babel-helper-remap-async-to-generator@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383"
dependencies:
babel-helper-function-name "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-helper-replace-supers@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42"
@ -316,22 +317,23 @@ babel-helper-replace-supers@^6.22.0:
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-helpers@^6.16.0, babel-helpers@^6.22.0:
babel-helpers@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c"
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-loader@6.2.5:
version "6.2.5"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.5.tgz#576d548520689a5e6b70c65b85d76af1ffedd005"
babel-loader@^6.2.10:
version "6.2.10"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.10.tgz#adefc2b242320cd5d15e65b31cea0e8b1b02d4b0"
dependencies:
find-cache-dir "^0.1.1"
loader-utils "^0.2.11"
mkdirp "^0.5.1"
object-assign "^4.0.1"
babel-messages@^6.22.0, babel-messages@^6.8.0:
babel-messages@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575"
dependencies:
@ -343,6 +345,26 @@ babel-plugin-check-es2015-constants@^6.3.13:
dependencies:
babel-runtime "^6.22.0"
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
babel-plugin-syntax-exponentiation-operator@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
babel-plugin-syntax-trailing-function-commas@^6.13.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
babel-plugin-transform-async-to-generator@^6.8.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e"
dependencies:
babel-helper-remap-async-to-generator "^6.22.0"
babel-plugin-syntax-async-functions "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-arrow-functions@^6.3.13:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
@ -355,7 +377,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.3.13:
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoping@^6.14.0:
babel-plugin-transform-es2015-block-scoping@^6.6.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e"
dependencies:
@ -365,7 +387,7 @@ babel-plugin-transform-es2015-block-scoping@^6.14.0:
babel-types "^6.22.0"
lodash "^4.2.0"
babel-plugin-transform-es2015-classes@^6.14.0:
babel-plugin-transform-es2015-classes@^6.6.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14"
dependencies:
@ -386,7 +408,7 @@ babel-plugin-transform-es2015-computed-properties@^6.3.13:
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-plugin-transform-es2015-destructuring@^6.16.0:
babel-plugin-transform-es2015-destructuring@^6.6.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz#8e0af2f885a0b2cf999d47c4c1dd23ce88cfa4c6"
dependencies:
@ -405,7 +427,7 @@ babel-plugin-transform-es2015-for-of@^6.6.0:
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-function-name@^6.9.0:
babel-plugin-transform-es2015-function-name@^6.3.13:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104"
dependencies:
@ -427,7 +449,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-plugin-transform-es2015-modules-commonjs@^6.16.0, babel-plugin-transform-es2015-modules-commonjs@^6.22.0:
babel-plugin-transform-es2015-modules-commonjs@^6.22.0, babel-plugin-transform-es2015-modules-commonjs@^6.6.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz#6ca04e22b8e214fb50169730657e7a07dc941145"
dependencies:
@ -436,7 +458,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.16.0, babel-plugin-transform-e
babel-template "^6.22.0"
babel-types "^6.22.0"
babel-plugin-transform-es2015-modules-systemjs@^6.14.0:
babel-plugin-transform-es2015-modules-systemjs@^6.12.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.22.0.tgz#810cd0cd025a08383b84236b92c6e31f88e644ad"
dependencies:
@ -459,7 +481,7 @@ babel-plugin-transform-es2015-object-super@^6.3.13:
babel-helper-replace-supers "^6.22.0"
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-parameters@^6.16.0:
babel-plugin-transform-es2015-parameters@^6.6.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb"
dependencies:
@ -511,7 +533,15 @@ babel-plugin-transform-es2015-unicode-regex@^6.3.13:
babel-runtime "^6.22.0"
regexpu-core "^2.0.0"
babel-plugin-transform-regenerator@^6.16.0:
babel-plugin-transform-exponentiation-operator@^6.8.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d"
dependencies:
babel-helper-builder-binary-assignment-operator-visitor "^6.22.0"
babel-plugin-syntax-exponentiation-operator "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-regenerator@^6.6.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6"
dependencies:
@ -524,36 +554,40 @@ babel-plugin-transform-strict-mode@^6.22.0:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
babel-preset-es2015@6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.16.0.tgz#59acecd1efbebaf48f89404840f2fe78c4d2ad5c"
babel-preset-env@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.1.8.tgz#c46734c6233c3f87d177513773db3cf3c1758aaa"
dependencies:
babel-plugin-check-es2015-constants "^6.3.13"
babel-plugin-syntax-trailing-function-commas "^6.13.0"
babel-plugin-transform-async-to-generator "^6.8.0"
babel-plugin-transform-es2015-arrow-functions "^6.3.13"
babel-plugin-transform-es2015-block-scoped-functions "^6.3.13"
babel-plugin-transform-es2015-block-scoping "^6.14.0"
babel-plugin-transform-es2015-classes "^6.14.0"
babel-plugin-transform-es2015-block-scoping "^6.6.0"
babel-plugin-transform-es2015-classes "^6.6.0"
babel-plugin-transform-es2015-computed-properties "^6.3.13"
babel-plugin-transform-es2015-destructuring "^6.16.0"
babel-plugin-transform-es2015-destructuring "^6.6.0"
babel-plugin-transform-es2015-duplicate-keys "^6.6.0"
babel-plugin-transform-es2015-for-of "^6.6.0"
babel-plugin-transform-es2015-function-name "^6.9.0"
babel-plugin-transform-es2015-function-name "^6.3.13"
babel-plugin-transform-es2015-literals "^6.3.13"
babel-plugin-transform-es2015-modules-amd "^6.8.0"
babel-plugin-transform-es2015-modules-commonjs "^6.16.0"
babel-plugin-transform-es2015-modules-systemjs "^6.14.0"
babel-plugin-transform-es2015-modules-commonjs "^6.6.0"
babel-plugin-transform-es2015-modules-systemjs "^6.12.0"
babel-plugin-transform-es2015-modules-umd "^6.12.0"
babel-plugin-transform-es2015-object-super "^6.3.13"
babel-plugin-transform-es2015-parameters "^6.16.0"
babel-plugin-transform-es2015-parameters "^6.6.0"
babel-plugin-transform-es2015-shorthand-properties "^6.3.13"
babel-plugin-transform-es2015-spread "^6.3.13"
babel-plugin-transform-es2015-sticky-regex "^6.3.13"
babel-plugin-transform-es2015-template-literals "^6.6.0"
babel-plugin-transform-es2015-typeof-symbol "^6.6.0"
babel-plugin-transform-es2015-unicode-regex "^6.3.13"
babel-plugin-transform-regenerator "^6.16.0"
babel-plugin-transform-exponentiation-operator "^6.8.0"
babel-plugin-transform-regenerator "^6.6.0"
browserslist "^1.4.0"
babel-register@^6.16.0, babel-register@^6.22.0:
babel-register@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63"
dependencies:
@ -565,14 +599,14 @@ babel-register@^6.16.0, babel-register@^6.22.0:
mkdirp "^0.5.1"
source-map-support "^0.4.2"
babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.9.1:
babel-runtime@^6.18.0, babel-runtime@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
babel-template@^6.16.0, babel-template@^6.22.0:
babel-template@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb"
dependencies:
@ -582,7 +616,7 @@ babel-template@^6.16.0, babel-template@^6.22.0:
babylon "^6.11.0"
lodash "^4.2.0"
babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.22.0, babel-traverse@^6.22.1:
babel-traverse@^6.15.0, babel-traverse@^6.22.0, babel-traverse@^6.22.1:
version "6.22.1"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f"
dependencies:
@ -596,7 +630,7 @@ babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.22.0, babel-tr
invariant "^2.2.0"
lodash "^4.2.0"
babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.19.0, babel-types@^6.22.0:
babel-types@^6.15.0, babel-types@^6.19.0, babel-types@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db"
dependencies:
@ -605,7 +639,7 @@ babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.19.0, babel-types@^6.22
lodash "^4.2.0"
to-fast-properties "^1.0.1"
babylon@^6.11.0, babylon@^6.11.2, babylon@^6.15.0:
babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
@ -721,6 +755,13 @@ browserify-zlib@^0.1.4:
dependencies:
pako "~0.2.0"
browserslist@^1.4.0:
version "1.7.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.1.tgz#cc9bd193979a2a4b09fdb3df6003fefe48ccefe1"
dependencies:
caniuse-db "^1.0.30000617"
electron-to-chromium "^1.2.1"
buffer-shims@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
@ -763,6 +804,10 @@ camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
caniuse-db@^1.0.30000617:
version "1.0.30000619"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000619.tgz#bffaa8150637c3182d3914a9718369b079299529"
caseless@~0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
@ -809,9 +854,9 @@ circular-json@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
clean-webpack-plugin@0.1.13:
version "0.1.13"
resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.13.tgz#c2bae9bc4dd44348123ad98e19fa55e7a9b07600"
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"
@ -1004,9 +1049,9 @@ 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.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.2.0.tgz#c36bf76bc1995b85d83e5b0362c97511562bfea8"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
define-properties@^1.1.2:
version "1.1.2"
@ -1056,9 +1101,9 @@ diffie-hellman@^5.0.0:
miller-rabin "^4.0.0"
randombytes "^2.0.0"
doctrine@1.3.x, doctrine@^1.2.2:
version "1.3.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26"
doctrine@1.5.0, doctrine@^1.2.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
dependencies:
esutils "^2.0.2"
isarray "^1.0.0"
@ -1073,6 +1118,10 @@ ecc-jsbn@~0.1.1:
dependencies:
jsbn "~0.1.0"
electron-to-chromium@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.1.tgz#63ac7579a1c5bedb296c8607621f2efc9a54b968"
elliptic@^6.0.0:
version "6.3.2"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.2.tgz#e4c81e0829cf0a65ab70e998b8232723b5c1bc48"
@ -1180,62 +1229,64 @@ eslint-import-resolver-node@^0.2.0:
object-assign "^4.0.1"
resolve "^1.1.6"
eslint-loader@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.6.0.tgz#38f9a1e6c602a4f1f3f3516289726e5d26e6e165"
eslint-loader@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.6.1.tgz#96c47c812772eeb077e3a81681818e671a2cabf5"
dependencies:
find-cache-dir "^0.1.1"
loader-utils "^0.2.7"
object-assign "^4.0.1"
object-hash "^1.1.4"
eslint-module-utils@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-1.0.0.tgz#c4a57fd3a53efd8426cc2d5550aadab9bbd05fd0"
eslint-module-utils@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce"
dependencies:
debug "2.2.0"
pkg-dir "^1.0.0"
eslint-plugin-babel@3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz#2f494aedcf6f4aa4e75b9155980837bc1fbde193"
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-import@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.0.1.tgz#dcfe96357d476b3f822570d42c29bec66f5d9c5c"
eslint-plugin-import@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e"
dependencies:
builtin-modules "^1.1.1"
contains-path "^0.1.0"
debug "^2.2.0"
doctrine "1.3.x"
doctrine "1.5.0"
eslint-import-resolver-node "^0.2.0"
eslint-module-utils "^1.0.0"
eslint-module-utils "^2.0.0"
has "^1.0.1"
lodash.cond "^4.3.0"
minimatch "^3.0.3"
pkg-up "^1.0.0"
eslint-plugin-mocha@4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-4.7.0.tgz#69262362f4ec69ae5849908824f325b8d465e7f3"
eslint-plugin-mocha@^4.8.0:
version "4.8.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-4.8.0.tgz#7627b35a61e5a720412da96eab06f0e03a1dcdb6"
dependencies:
ramda "^0.22.1"
eslint@3.8.1:
version "3.8.1"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.8.1.tgz#7d02db44cd5aaf4fa7aa489e1f083baa454342ba"
eslint@^3.14.1:
version "3.15.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.15.0.tgz#bdcc6a6c5ffe08160e7b93c066695362a91e30f2"
dependencies:
babel-code-frame "^6.16.0"
chalk "^1.1.3"
concat-stream "^1.4.6"
debug "^2.1.1"
doctrine "^1.2.2"
escope "^3.6.0"
espree "^3.3.1"
espree "^3.4.0"
estraverse "^4.2.0"
esutils "^2.0.2"
file-entry-cache "^2.0.0"
glob "^7.0.3"
globals "^9.2.0"
ignore "^3.1.5"
globals "^9.14.0"
ignore "^3.2.0"
imurmurhash "^0.1.4"
inquirer "^0.12.0"
is-my-json-valid "^2.10.0"
@ -1251,14 +1302,14 @@ eslint@3.8.1:
pluralize "^1.2.1"
progress "^1.1.8"
require-uncached "^1.0.2"
shelljs "^0.6.0"
shelljs "^0.7.5"
strip-bom "^3.0.0"
strip-json-comments "~1.0.1"
strip-json-comments "~2.0.1"
table "^3.7.8"
text-table "~0.2.0"
user-home "^2.0.0"
espree@^3.3.1:
espree@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d"
dependencies:
@ -1523,7 +1574,7 @@ glob@^6.0.4:
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.3, glob@^7.0.5:
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies:
@ -1534,7 +1585,7 @@ glob@^7.0.3, glob@^7.0.5:
once "^1.3.0"
path-is-absolute "^1.0.0"
globals@^9.0.0, globals@^9.2.0:
globals@^9.0.0, globals@^9.14.0:
version "9.14.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
@ -1632,16 +1683,16 @@ ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
ignore@^3.1.5:
ignore@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410"
imports-loader@0.6.5:
version "0.6.5"
resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.6.5.tgz#ae74653031d59e37b3c2fb2544ac61aeae3530a6"
imports-loader@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.7.0.tgz#468c04de8075941cfab28146c755c24cc1f36ccd"
dependencies:
loader-utils "0.2.x"
source-map "0.1.x"
loader-utils "^0.2.16"
source-map "^0.5.6"
imurmurhash@^0.1.4:
version "0.1.4"
@ -1890,10 +1941,6 @@ json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json5@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
@ -1959,7 +2006,7 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
loader-runner@^2.2.0:
loader-runner@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
@ -2168,6 +2215,10 @@ 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"
object-hash@^1.1.4:
version "1.1.5"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.1.5.tgz#bdd844e030d0861b692ca175c6cab6868ec233d7"
object-keys@^1.0.10, object-keys@^1.0.8:
version "1.0.11"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
@ -2265,10 +2316,6 @@ path-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
path-exists@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081"
path-exists@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
@ -2347,9 +2394,9 @@ process@^0.11.0:
version "0.11.9"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
progress-bar-webpack-plugin@1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.9.0.tgz#efe9055ae03ed1a6a9864c104120ebfe5b7de341"
progress-bar-webpack-plugin@^1.9.3:
version "1.9.3"
resolved "https://registry.yarnpkg.com/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.9.3.tgz#81fb8bd8e38da6edaf9a20beed79bd978dd63c2a"
dependencies:
chalk "^1.1.1"
object.assign "^4.0.1"
@ -2473,6 +2520,12 @@ readline2@^1.0.1:
is-fullwidth-code-point "^1.0.0"
mute-stream "0.0.5"
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
dependencies:
resolve "^1.1.6"
regenerate@^1.2.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
@ -2631,13 +2684,13 @@ sha.js@^2.3.6:
dependencies:
inherits "^2.0.1"
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
shelljs@^0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8"
shelljs@^0.7.5:
version "0.7.6"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad"
dependencies:
glob "^7.0.0"
interpret "^1.0.0"
rechoir "^0.6.2"
signal-exit@^3.0.0:
version "3.0.2"
@ -2673,7 +2726,7 @@ source-map@0.1.x:
dependencies:
amdefine ">=0.0.4"
source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1, source-map@~0.5.3:
source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
@ -2766,10 +2819,14 @@ strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
strip-json-comments@~1.0.1, strip-json-comments@~1.0.4:
strip-json-comments@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
supports-color@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
@ -2945,9 +3002,13 @@ watchpack@^1.2.0:
chokidar "^1.4.3"
graceful-fs "^4.1.2"
webpack-merge@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.4.0.tgz#4c518d471632c29ae22e83687c2f42a9cd5f35ea"
webpack-chain@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-1.0.0.tgz#42da40d66e98200ccca3fa274f7fc111b1e1c2c1"
webpack-merge@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.6.1.tgz#f1d801d2c5d39f83ffec9f119240b3e3be994a1c"
dependencies:
lodash "^4.17.4"
@ -2958,9 +3019,9 @@ webpack-sources@^0.1.4:
source-list-map "~0.1.7"
source-map "~0.5.3"
webpack@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.0.tgz#09246336b5581c9002353f75bcadb598a648f977"
webpack@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475"
dependencies:
acorn "^4.0.4"
acorn-dynamic-import "^2.0.0"
@ -2970,7 +3031,7 @@ webpack@2.2.0:
enhanced-resolve "^3.0.0"
interpret "^1.0.0"
json-loader "^0.5.4"
loader-runner "^2.2.0"
loader-runner "^2.3.0"
loader-utils "^0.2.16"
memory-fs "~0.4.1"
mkdirp "~0.5.0"

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

@ -11,12 +11,11 @@
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"dependencies": {
"babel-plugin-transform-async-to-generator": "6.16.0",
"babel-plugin-transform-runtime": "6.15.0",
"babel-runtime": "6.11.6",
"babel-runtime": "^6.22.0",
"deepmerge": "^1.3.2",
"source-map-support": "^0.4.6",
"webpack": "2.2.0",
"webpack-merge": "2.4.0",
"webpack": "^2.2.1",
"webpack-merge": "^2.6.1",
"webpack-node-externals": "1.5.4"
},
"linkDependencies": {

44
packages/neutrino-preset-node/src/eslint.js

@ -1,44 +0,0 @@
'use strict';
module.exports = {
extends: [require.resolve('neutrino-preset-base/src/eslint')],
env: {
node: true
},
rules: {
// enforce return after a callback
'callback-return': 'off',
// require all requires be top-level
// http://eslint.org/docs/rules/global-require
'global-require': 'error',
// enforces error handling in callbacks (node environment)
'handle-callback-err': 'off',
// Allow console in Node.js
'no-console': 'off',
// disallow mixing regular variable and require declarations
'no-mixed-requires': ['off', false],
// disallow use of new operator with the require function
'no-new-require': 'error',
// disallow string concatenation with __dirname and __filename
// http://eslint.org/docs/rules/no-path-concat
'no-path-concat': 'error',
// disallow use of process.env
'no-process-env': 'off',
// disallow process.exit()
'no-process-exit': 'off',
// restrict usage of specified node modules
'no-restricted-modules': 'off',
// disallow use of synchronous methods (off by default)
'no-sync': 'off'
}
};

141
packages/neutrino-preset-node/src/index.js

@ -1,64 +1,105 @@
'use strict';
const merge = require('webpack-merge').smart;
const preset = require('neutrino-preset-base');
const config = require('neutrino-preset-base');
const nodeExternals = require('webpack-node-externals');
const path = require('path');
const webpack = require('webpack');
const merge = require('deepmerge');
const MODULES = path.join(__dirname, '../node_modules');
const config = merge(preset, {
target: 'node',
output: {
filename: '[name].js',
libraryTarget: 'commonjs2'
},
resolve: {
modules: [MODULES]
},
resolveLoader: {
modules: [MODULES]
},
devtool: 'source-map',
node: {
__filename: false,
__dirname: false
},
plugins: [
new webpack.LoaderOptionsPlugin({
options: {
eslint: { configFile: path.join(__dirname, 'eslint.js') },
emitError: true,
failOnError: true,
mocha: {
reporter: 'spec',
ui: 'tdd',
bail: true
}
}
}),
new webpack.BannerPlugin({
banner: 'require("source-map-support").install();',
raw: true,
entryOnly: true
})
],
externals: [nodeExternals()],
performance: {
hints: false
}
config
.target('node')
.devtool('source-map')
.externals([nodeExternals()])
.node
.set('__filename', false)
.set('__dirname', false)
.end()
.output
.filename('[name].js')
.libraryTarget('commonjs2');
config.resolve.modules.add(MODULES);
config.resolveLoader.modules.add(MODULES);
config
.plugin('options')
.use(webpack.LoaderOptionsPlugin, {
emitError: true,
failOnError: true,
mocha: {
reporter: 'spec',
ui: 'tdd',
bail: true
}
});
config
.plugin('banner')
.use(webpack.BannerPlugin, {
banner: `require('source-map-support').install();`,
raw: true,
entryOnly: true
});
config.options.set('performance', {
hints: false
});
const babelLoader = config.module.rules.find(r => r.use && r.use.loader && r.use.loader.includes('babel'));
config.module
.rule('compile')
.loader('babel', ({ options }) => {
options.presets[0][1].targets.node = 6.9;
return { options };
});
config.module
.rule('lint')
.loader('eslint', ({ options }) => {
return {
options: merge(options, {
envs: ['node'],
rules: {
// enforce return after a callback
'callback-return': 'off',
// require all requires be top-level
// http://eslint.org/docs/rules/global-require
'global-require': 'error',
// enforces error handling in callbacks (node environment)
'handle-callback-err': 'off',
if (!babelLoader.use.options.plugins) {
babelLoader.use.options.plugins = [];
}
// Allow console in Node.js
'no-console': 'off',
// disallow mixing regular variable and require declarations
'no-mixed-requires': ['off', false],
// disallow use of new operator with the require function
'no-new-require': 'error',
// disallow string concatenation with __dirname and __filename
// http://eslint.org/docs/rules/no-path-concat
'no-path-concat': 'error',
// disallow use of process.env
'no-process-env': 'off',
// disallow process.exit()
'no-process-exit': 'off',
// restrict usage of specified node modules
'no-restricted-modules': 'off',
// disallow use of synchronous methods (off by default)
'no-sync': 'off'
}
})
};
});
babelLoader.use.options.plugins.push(
require.resolve('babel-plugin-transform-runtime'),
require.resolve('babel-plugin-transform-async-to-generator')
);
module.exports = config;

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

@ -131,72 +131,6 @@ aws4@^1.2.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"
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-helper-function-name@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc"
dependencies:
babel-helper-get-function-arity "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-helper-get-function-arity@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce"
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.22.0"
babel-helper-remap-async-to-generator@^6.16.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383"
dependencies:
babel-helper-function-name "^6.22.0"
babel-runtime "^6.22.0"
babel-template "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babel-messages@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
babel-plugin-transform-async-to-generator@6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999"
dependencies:
babel-helper-remap-async-to-generator "^6.16.0"
babel-plugin-syntax-async-functions "^6.8.0"
babel-runtime "^6.0.0"
babel-plugin-transform-runtime@6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.15.0.tgz#3d75b4d949ad81af157570273846fb59aeb0d57c"
dependencies:
babel-runtime "^6.9.0"
babel-runtime@6.11.6, babel-runtime@^6.0.0, babel-runtime@^6.9.0:
version "6.11.6"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.11.6.tgz#6db707fef2d49c49bfa3cb64efdb436b518b8222"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.9.5"
babel-runtime@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
@ -204,43 +138,6 @@ babel-runtime@^6.22.0:
core-js "^2.4.0"
regenerator-runtime "^0.10.0"
babel-template@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb"
dependencies:
babel-runtime "^6.22.0"
babel-traverse "^6.22.0"
babel-types "^6.22.0"
babylon "^6.11.0"
lodash "^4.2.0"
babel-traverse@^6.22.0:
version "6.22.1"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f"
dependencies:
babel-code-frame "^6.22.0"
babel-messages "^6.22.0"
babel-runtime "^6.22.0"
babel-types "^6.22.0"
babylon "^6.15.0"
debug "^2.2.0"
globals "^9.0.0"
invariant "^2.2.0"
lodash "^4.2.0"
babel-types@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db"
dependencies:
babel-runtime "^6.22.0"
esutils "^2.0.2"
lodash "^4.2.0"
to-fast-properties "^1.0.1"
babylon@^6.11.0, babylon@^6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
@ -392,7 +289,7 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
chalk@^1.1.0, chalk@^1.1.1:
chalk@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
@ -539,12 +436,6 @@ date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
debug@^2.2.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
dependencies:
ms "0.7.2"
debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
@ -559,6 +450,10 @@ deep-extend@~0.4.0:
version "0.4.1"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@ -630,10 +525,6 @@ 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"
events@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
@ -799,10 +690,6 @@ glob@^7.0.5:
once "^1.3.0"
path-is-absolute "^1.0.0"
globals@^9.0.0:
version "9.14.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
graceful-fs@^4.1.2:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@ -900,12 +787,6 @@ interpret@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
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"
invert-kv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
@ -1015,10 +896,6 @@ jodid25519@^1.0.0:
dependencies:
jsbn "~0.1.0"
js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
jsbn@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
@ -1087,7 +964,7 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
loader-runner@^2.2.0:
loader-runner@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
@ -1100,7 +977,7 @@ loader-utils@^0.2.16:
json5 "^0.5.0"
object-assign "^4.0.1"
lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.0:
lodash@^4.14.0, lodash@^4.17.4:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
@ -1108,12 +985,6 @@ longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
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"
memory-fs@^0.4.0, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@ -1184,10 +1055,6 @@ ms@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
ms@0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
nan@^2.3.0:
version "2.5.1"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
@ -1486,10 +1353,6 @@ regenerator-runtime@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb"
regenerator-runtime@^0.9.5:
version "0.9.6"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029"
regex-cache@^0.4.2:
version "0.4.3"
resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
@ -1727,10 +1590,6 @@ to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
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"
tough-cookie@~2.3.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
@ -1814,9 +1673,9 @@ watchpack@^1.2.0:
chokidar "^1.4.3"
graceful-fs "^4.1.2"
webpack-merge@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.4.0.tgz#4c518d471632c29ae22e83687c2f42a9cd5f35ea"
webpack-merge@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.6.1.tgz#f1d801d2c5d39f83ffec9f119240b3e3be994a1c"
dependencies:
lodash "^4.17.4"
@ -1831,9 +1690,9 @@ webpack-sources@^0.1.4:
source-list-map "~0.1.7"
source-map "~0.5.3"
webpack@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.0.tgz#09246336b5581c9002353f75bcadb598a648f977"
webpack@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475"
dependencies:
acorn "^4.0.4"
acorn-dynamic-import "^2.0.0"
@ -1843,7 +1702,7 @@ webpack@2.2.0:
enhanced-resolve "^3.0.0"
interpret "^1.0.0"
json-loader "^0.5.4"
loader-runner "^2.2.0"
loader-runner "^2.3.0"
loader-utils "^0.2.16"
memory-fs "~0.4.1"
mkdirp "~0.5.0"

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

@ -11,13 +11,13 @@
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"dependencies": {
"babel-preset-react": "6.16.0",
"babel-preset-stage-0": "6.16.0",
"deepmerge": "1.2.0",
"eslint-plugin-react": "6.4.1",
"babel-preset-react": "^6.22.0",
"babel-preset-stage-0": "^6.22.0",
"deepmerge": "^1.3.2",
"eslint-plugin-react": "^6.9.0",
"react-hot-loader": "3.0.0-beta.6",
"webpack": "2.2.0",
"webpack-merge": "2.4.0"
"webpack": "^2.2.1",
"webpack-merge": "^2.6.1"
},
"linkDependencies": {
"neutrino-preset-web": "4.0.0"

26
packages/neutrino-preset-react/src/eslint.js

@ -1,26 +0,0 @@
'use strict';
module.exports = {
plugins: ['react'],
extends: [
require.resolve('neutrino-preset-web/src/eslint'),
'plugin:react/recommended'
],
settings: {
pragma: 'React',
version: '15.0'
},
parserOptions: {
ecmaFeatures: {
experimentalObjectRestSpread: true,
jsx: true
}
},
rules: {
'react/prop-types': ['off'],
// specify whether double or single quotes should be used in JSX attributes
// http://eslint.org/docs/rules/jsx-quotes
'jsx-quotes': ['error', 'prefer-double']
}
};

92
packages/neutrino-preset-react/src/index.js

@ -1,47 +1,75 @@
'use strict';
const preset = require('neutrino-preset-web');
const config = require('neutrino-preset-web');
const merge = require('deepmerge');
const webpackMerge = require('webpack-merge').smart;
const path = require('path');
const webpack = require('webpack');
const MODULES = path.join(__dirname, 'node_modules');
const eslintLoader = preset.module.rules.find(r => r.use && r.use.includes('eslint'));
const babelLoader = preset.module.rules.find(r => r.use && r.use.loader && r.use.loader.includes('babel'));
eslintLoader.test = /\.jsx?$/;
babelLoader.test = /\.jsx?$/;
babelLoader.use.options.presets.push(require.resolve('babel-preset-stage-0'));
babelLoader.use.options.presets.push(require.resolve('babel-preset-react'));
const config = webpackMerge(preset, {
plugins: [
new webpack.LoaderOptionsPlugin({
options: {
eslint: {
configFile: path.join(__dirname, 'eslint.js')
const MODULES = path.join(__dirname, '../node_modules');
// modify lint rule and loader
config.module
.rule('lint')
.test(/\.jsx?$/)
.loader('eslint', ({ options }) => {
return {
options: merge(options, {
plugins: ['react'],
baseConfig: {
extends: ['plugin:react/recommended']
},
parserOptions: {
ecmaFeatures: {
experimentalObjectRestSpread: true
}
},
rules: {
'react/prop-types': ['off'],
'jsx-quotes': ['error', 'prefer-double']
}
}
})
],
resolve: {
modules: [MODULES],
extensions: ['.jsx']
},
resolveLoader: {
modules: [MODULES]
},
externals: {
})
};
});
// modify babel rule and loader
config.module
.rule('compile')
.test(/\.jsx?$/)
.loader('babel', ({ options }) => {
if (process.env.NODE_ENV === 'development') {
options.plugins.push(require.resolve('react-hot-loader/babel'));
}
return {
options: merge(options, {
presets: [
require.resolve('babel-preset-stage-0'),
require.resolve('babel-preset-react')
]
})
};
});
config.resolve
.modules
.add(MODULES)
.end()
.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.unshift(require.resolve('react-hot-loader/patch'));
babelLoader.use.options.plugins.push(require.resolve('react-hot-loader/babel'));
config
.entry('index')
.add(require.resolve('react-hot-loader/patch'));
}
module.exports = config;

136
packages/neutrino-preset-react/yarn.lock

@ -79,6 +79,13 @@ array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
array.prototype.find@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.3.tgz#08c3ec33e32ec4bab362a2958e686ae92f59271d"
dependencies:
define-properties "^1.1.2"
es-abstract "^1.7.0"
arrify@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@ -317,7 +324,7 @@ babel-plugin-transform-decorators@^6.22.0:
babel-template "^6.22.0"
babel-types "^6.22.0"
babel-plugin-transform-do-expressions@^6.3.13:
babel-plugin-transform-do-expressions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz#28ccaf92812d949c2cd1281f690c8fdc468ae9bb"
dependencies:
@ -339,14 +346,14 @@ babel-plugin-transform-export-extensions@^6.22.0:
babel-plugin-syntax-export-extensions "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-flow-strip-types@^6.3.13:
babel-plugin-transform-flow-strip-types@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf"
dependencies:
babel-plugin-syntax-flow "^6.18.0"
babel-runtime "^6.22.0"
babel-plugin-transform-function-bind@^6.3.13:
babel-plugin-transform-function-bind@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz#c6fb8e96ac296a310b8cf8ea401462407ddf6a97"
dependencies:
@ -360,27 +367,27 @@ babel-plugin-transform-object-rest-spread@^6.22.0:
babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-react-display-name@^6.3.13:
babel-plugin-transform-react-display-name@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.22.0.tgz#077197520fa8562b8d3da4c3c4b0b1bdd7853f26"
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-react-jsx-self@^6.11.0:
babel-plugin-transform-react-jsx-self@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e"
dependencies:
babel-plugin-syntax-jsx "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-react-jsx-source@^6.3.13:
babel-plugin-transform-react-jsx-source@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6"
dependencies:
babel-plugin-syntax-jsx "^6.8.0"
babel-runtime "^6.22.0"
babel-plugin-transform-react-jsx@^6.3.13:
babel-plugin-transform-react-jsx@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.22.0.tgz#48556b7dd4c3fe97d1c943bcd54fc3f2561c1817"
dependencies:
@ -388,27 +395,27 @@ babel-plugin-transform-react-jsx@^6.3.13:
babel-plugin-syntax-jsx "^6.8.0"
babel-runtime "^6.22.0"
babel-preset-react@6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.16.0.tgz#aa117d60de0928607e343c4828906e4661824316"
babel-preset-react@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.22.0.tgz#7bc97e2d73eec4b980fb6b4e4e0884e81ccdc165"
dependencies:
babel-plugin-syntax-flow "^6.3.13"
babel-plugin-syntax-jsx "^6.3.13"
babel-plugin-transform-flow-strip-types "^6.3.13"
babel-plugin-transform-react-display-name "^6.3.13"
babel-plugin-transform-react-jsx "^6.3.13"
babel-plugin-transform-react-jsx-self "^6.11.0"
babel-plugin-transform-react-jsx-source "^6.3.13"
babel-plugin-transform-flow-strip-types "^6.22.0"
babel-plugin-transform-react-display-name "^6.22.0"
babel-plugin-transform-react-jsx "^6.22.0"
babel-plugin-transform-react-jsx-self "^6.22.0"
babel-plugin-transform-react-jsx-source "^6.22.0"
babel-preset-stage-0@6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.16.0.tgz#f5a263c420532fd57491f1a7315b3036e428f823"
babel-preset-stage-0@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.22.0.tgz#707eeb5b415da769eff9c42f4547f644f9296ef9"
dependencies:
babel-plugin-transform-do-expressions "^6.3.13"
babel-plugin-transform-function-bind "^6.3.13"
babel-preset-stage-1 "^6.16.0"
babel-plugin-transform-do-expressions "^6.22.0"
babel-plugin-transform-function-bind "^6.22.0"
babel-preset-stage-1 "^6.22.0"
babel-preset-stage-1@^6.16.0:
babel-preset-stage-1@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.22.0.tgz#7da05bffea6ad5a10aef93e320cfc6dd465dbc1a"
dependencies:
@ -797,9 +804,16 @@ deep-extend@~0.4.0:
version "0.4.1"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
deepmerge@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.2.0.tgz#c36bf76bc1995b85d83e5b0362c97511562bfea8"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
define-properties@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
dependencies:
foreach "^2.0.5"
object-keys "^1.0.8"
delayed-stream@~1.0.0:
version "1.0.0"
@ -885,16 +899,34 @@ error-stack-parser@^1.3.6:
dependencies:
stackframe "^0.3.1"
es-abstract@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c"
dependencies:
es-to-primitive "^1.1.1"
function-bind "^1.1.0"
is-callable "^1.1.3"
is-regex "^1.0.3"
es-to-primitive@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
dependencies:
is-callable "^1.1.1"
is-date-object "^1.0.1"
is-symbol "^1.0.1"
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"
eslint-plugin-react@6.4.1:
version "6.4.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.4.1.tgz#7d1aade747db15892f71eee1fea4addf97bcfa2b"
eslint-plugin-react@^6.9.0:
version "6.9.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.9.0.tgz#54c2e9906b76f9d10142030bdc34e9d6840a0bb2"
dependencies:
array.prototype.find "^2.0.1"
doctrine "^1.2.2"
jsx-ast-utils "^1.3.1"
jsx-ast-utils "^1.3.4"
esutils@^2.0.0, esutils@^2.0.2:
version "2.0.2"
@ -967,6 +999,10 @@ for-own@^0.1.4:
dependencies:
for-in "^0.1.5"
foreach@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@ -1007,6 +1043,10 @@ fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10:
mkdirp ">=0.5 0"
rimraf "2"
function-bind@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
gauge@~2.7.1:
version "2.7.2"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774"
@ -1203,6 +1243,14 @@ is-builtin-module@^1.0.0:
dependencies:
builtin-modules "^1.0.0"
is-callable@^1.1.1, is-callable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
is-date-object@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
is-dotfile@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
@ -1260,6 +1308,14 @@ is-property@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
is-regex@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637"
is-symbol@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
@ -1334,7 +1390,7 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.3.6"
jsx-ast-utils@^1.3.1:
jsx-ast-utils@^1.3.4:
version "1.4.0"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591"
dependencies:
@ -1366,7 +1422,7 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
loader-runner@^2.2.0:
loader-runner@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
@ -1559,6 +1615,10 @@ 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"
object-keys@^1.0.8:
version "1.0.11"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
@ -2131,9 +2191,9 @@ watchpack@^1.2.0:
chokidar "^1.4.3"
graceful-fs "^4.1.2"
webpack-merge@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.4.0.tgz#4c518d471632c29ae22e83687c2f42a9cd5f35ea"
webpack-merge@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.6.1.tgz#f1d801d2c5d39f83ffec9f119240b3e3be994a1c"
dependencies:
lodash "^4.17.4"
@ -2144,9 +2204,9 @@ webpack-sources@^0.1.4:
source-list-map "~0.1.7"
source-map "~0.5.3"
webpack@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.0.tgz#09246336b5581c9002353f75bcadb598a648f977"
webpack@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475"
dependencies:
acorn "^4.0.4"
acorn-dynamic-import "^2.0.0"
@ -2156,7 +2216,7 @@ webpack@2.2.0:
enhanced-resolve "^3.0.0"
interpret "^1.0.0"
json-loader "^0.5.4"
loader-runner "^2.2.0"
loader-runner "^2.3.0"
loader-utils "^0.2.16"
memory-fs "~0.4.1"
mkdirp "~0.5.0"

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

@ -11,26 +11,26 @@
"license": "MPL-2.0",
"repository": "mozilla-neutrino/neutrino-dev",
"dependencies": {
"babel-polyfill": "6.16.0",
"css-loader": "0.25.0",
"deepmerge": "1.2.0",
"eslint-plugin-mocha": "4.7.0",
"babel-polyfill": "^6.22.0",
"css-loader": "^0.26.1",
"deepmerge": "^1.3.2",
"eslint-plugin-mocha": "^4.8.0",
"exists-file": "3.0.0",
"file-loader": "0.9.0",
"html-webpack-plugin": "2.26.0",
"karma": "1.3.0",
"file-loader": "^0.10.0",
"html-webpack-plugin": "^2.28.0",
"karma": "^1.4.1",
"karma-chrome-launcher": "2.0.0",
"karma-coverage": "1.1.1",
"karma-mocha": "1.2.0",
"karma-mocha-reporter": "2.1.0",
"karma-webpack": "2.0.1",
"mocha": "3.1.2",
"karma-mocha": "^1.3.0",
"karma-mocha-reporter": "^2.2.2",
"karma-webpack": "^2.0.2",
"mocha": "^3.2.0",
"mocha-coverage-reporter": "0.0.1",
"style-loader": "0.13.1",
"url-loader": "0.5.7",
"webpack": "2.2.0",
"webpack-dev-server": "2.2.0",
"webpack-merge": "2.4.0",
"webpack": "^2.2.1",
"webpack-dev-server": "^2.3.0",
"webpack-merge": "^2.6.1",
"worker-loader": "0.7.1"
},
"linkDependencies": {

12
packages/neutrino-preset-web/src/eslint.js

@ -1,12 +0,0 @@
'use strict';
module.exports = {
extends: [require.resolve('neutrino-preset-base/src/eslint')],
globals: {
Buffer: true
},
env: {
browser: true,
commonjs: true
}
};

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

@ -4,9 +4,8 @@ const exists = require('exists-file');
const webpack = require('webpack');
const HtmlPlugin = require('html-webpack-plugin');
const merge = require('deepmerge');
const preset = require('neutrino-preset-base');
const config = require('neutrino-preset-base');
const path = require('path');
const webpackMerge = require('webpack-merge').smart;
const CWD = process.cwd();
const SRC = path.join(CWD, 'src');
@ -18,10 +17,6 @@ const CSS_LOADER = require.resolve('css-loader');
const STYLE_LOADER = require.resolve('style-loader');
const URL_LOADER = require.resolve('url-loader');
const MODULES = path.join(__dirname, '../node_modules');
const USER_CONFIG = require(path.join(CWD, 'package.json'));
const VENDOR_LIBS = Object.keys(USER_CONFIG.dependencies);
preset.entry.index.unshift(require.resolve('babel-polyfill'));
/**
* Find best fit template.
@ -38,117 +33,116 @@ function findTemplate() {
return PROJECT_TEMPLATE;
}
const config = webpackMerge(preset, {
target: 'web',
node: {
console: false,
global: true,
process: true,
Buffer: true,
__filename: 'mock',
__dirname: 'mock',
setImmediate: true,
fs: 'empty',
tls: 'empty'
},
entry: {
vendor: VENDOR_LIBS
},
output: {
publicPath: './'
},
plugins: [
new webpack.EnvironmentPlugin(['NODE_ENV']),
new HtmlPlugin({
template: findTemplate(),
inject: 'body',
xhtml: true
}),
new webpack.LoaderOptionsPlugin({
options: {
eslint: {
configFile: path.join(__dirname, 'eslint.js')
}
}
})
],
resolve: {
modules: [MODULES]
},
resolveLoader: {
modules: [MODULES]
},
module: {
rules: [
{
test: /\.html$/,
use: {
loader: FILE_LOADER,
options: {
name: '[name].[ext]'
}
}
},
{
test: /\.css$/,
loaders: [STYLE_LOADER, CSS_LOADER]
},
{
test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/,
use: {
loader: URL_LOADER,
options: {
limit: 10000,
mimetype: 'application/font-woff'
}
}
},
{
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
use: {
loader: URL_LOADER,
options: {
limit: '10000',
mimetype: 'application/octet-stream'
}
}
},
{
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
use: FILE_LOADER
},
{
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
use: {
loader: URL_LOADER,
options: {
limit: '10000',
mimetype: 'application/svg+xml'
}
}
},
{
test: /\.(png|jpg)$/,
use: {
loader: URL_LOADER,
options: {
limit: 8192
}
}
},
{
test: /\.ico(\?v=\d+\.\d+\.\d+)?$/,
use: URL_LOADER
}
]
}
});
config.target('web');
config.output.publicPath('./');
config.resolve.modules.add(MODULES);
config.resolveLoader.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);
// modify the babel loader
config.module
.rule('compile')
.loader('babel', ({ options }) => {
options.presets[0][1].targets.browsers = ['last 2 versions'];
return { options };
});
// modify the lint loader
config.module
.rule('lint')
.loader('eslint', ({ options }) => {
return {
options: merge(options, {
globals: ['Buffer'],
envs: ['browser', 'commonjs']
})
};
});
config
.plugin('env')
.use(webpack.EnvironmentPlugin, ['NODE_ENV']);
config
.plugin('html')
.use(HtmlPlugin, {
template: findTemplate(),
inject: 'body',
xhtml: true
});
if (process.env.NODE_ENV !== 'test') {
config.plugins.push(new webpack.optimize.CommonsChunkPlugin({
names: ['vendor', 'manifest'],
minChunks: Infinity
}));
config
.plugin('chunk')
.use(webpack.optimize.CommonsChunkPlugin, {
names: ['vendor', 'manifest'],
minChunks: Infinity
});
}
if (process.env.NODE_ENV === 'development') {
@ -156,68 +150,82 @@ if (process.env.NODE_ENV === 'development') {
const host = process.env.HOST || 'localhost';
const port = parseInt(process.env.PORT) || 5000;
config.devServer = {
host,
port,
hot: true,
https: protocol === 'https',
contentBase: SRC,
// Enable history API fallback so HTML5 History API based
// routing works. This is a good default that will come
// in handy in more complicated setups.
historyApiFallback: true,
stats: {
colors: true,
chunks: false,
version: false,
config
.devServer
.host(host)
.port(port)
.https(protocol === 'https')
.contentBase(SRC)
.historyApiFallback(true)
.stats({
assets: false,
modules: false,
children: false,
source: false
}
};
chunks: false,
colors: true,
errors: true,
errorDetails: true,
hash: false,
modules: false,
publicPath: false,
timings: false,
version: false,
warnings: true
});
config.entry.index.push(`webpack-dev-server/client?${protocol}://${host}:${port}/`);
config.entry.index.push(`webpack/hot/dev-server`);
config.plugins.push(new webpack.HotModuleReplacementPlugin());
config
.entry('index')
.add(`webpack-dev-server/client?${protocol}://${host}:${port}/`)
.add('webpack/hot/dev-server');
config
.plugin('hot')
.use(webpack.HotModuleReplacementPlugin);
} else if (process.env.NODE_ENV === 'production') {
config.plugins.push(
new webpack.optimize.UglifyJsPlugin({ sourceMap: false, compress: { warnings: false }}),
new webpack.LoaderOptionsPlugin({ minimize: true })
);
config
.plugin('minify')
.use(webpack.optimize.UglifyJsPlugin, {
sourceMap: false,
compress: { warnings: false }
});
config
.plugin('minimize')
.use(webpack.LoaderOptionsPlugin, { minimize: true });
} else if (process.env.NODE_ENV === 'test') {
config.karma = {
plugins: [
require.resolve('karma-webpack'),
require.resolve('karma-chrome-launcher'),
require.resolve('karma-coverage'),
require.resolve('karma-mocha'),
require.resolve('karma-mocha-reporter')
],
basePath: process.cwd(),
browsers: [process.env.CI ? 'ChromeCI' : 'Chrome'],
customLaunchers: {
ChromeCI: {
base: 'Chrome',
flags: ['--no-sandbox']
config
.options
.set('karma', {
plugins: [
require.resolve('karma-webpack'),
require.resolve('karma-chrome-launcher'),
require.resolve('karma-coverage'),
require.resolve('karma-mocha'),
require.resolve('karma-mocha-reporter')
],
basePath: process.cwd(),
browsers: [process.env.CI ? 'ChromeCI' : 'Chrome'],
customLaunchers: {
ChromeCI: {
base: 'Chrome',
flags: ['--no-sandbox']
}
},
frameworks: ['mocha'],
files: ['test/**/*_test.js'],
preprocessors: {
'test/**/*_test.js': ['webpack'],
'src/**/*.js': ['webpack']
},
webpackMiddleware: { noInfo: true },
reporters: ['mocha', 'coverage'],
coverageReporter: {
dir: '.coverage',
reporters: [
{ type: 'html', subdir: 'report-html' },
{ type: 'lcov', subdir: 'report-lcov' }
]
}
},
frameworks: ['mocha'],
files: ['test/**/*_test.js'],
preprocessors: {
'test/**/*_test.js': ['webpack'],
'src/**/*.js': ['webpack']
},
webpackMiddleware: { noInfo: true },
reporters: ['mocha', 'coverage'],
coverageReporter: {
dir: '.coverage',
reporters: [
{ type: 'html', subdir: 'report-html' },
{ type: 'lcov', subdir: 'report-lcov' }
]
}
};
});
}
module.exports = config;

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

@ -6,14 +6,7 @@ abbrev@1, abbrev@1.0.x:
version "1.0.9"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
accepts@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.1.4.tgz#d71c96f7d41d0feda2c38cd14e8a27c04158df4a"
dependencies:
mime-types "~2.0.4"
negotiator "0.4.9"
accepts@~1.3.3:
accepts@1.3.3, accepts@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
dependencies:
@ -30,9 +23,9 @@ acorn@^4.0.3, acorn@^4.0.4:
version "4.0.8"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.8.tgz#f41e52020ce78118a3c68ed0e9215eb8fc68b5b1"
after@0.8.1:
version "0.8.1"
resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627"
after@0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
ajv-keywords@^1.1.1:
version "1.5.1"
@ -61,6 +54,10 @@ amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
ansi-html@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@ -206,15 +203,15 @@ babel-code-frame@^6.11.0:
esutils "^2.0.2"
js-tokens "^3.0.0"
babel-polyfill@6.16.0:
version "6.16.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422"
babel-polyfill@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.22.0.tgz#1ac99ebdcc6ba4db1e2618c387b2084a82154a3b"
dependencies:
babel-runtime "^6.9.1"
babel-runtime "^6.22.0"
core-js "^2.4.0"
regenerator-runtime "^0.9.5"
regenerator-runtime "^0.10.0"
babel-runtime@^6.9.1:
babel-runtime@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
dependencies:
@ -229,17 +226,17 @@ balanced-match@^0.4.1, balanced-match@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
base64-arraybuffer@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz#474df4a9f2da24e05df3158c3b1db3c3cd46a154"
base64-arraybuffer@0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
base64-js@^1.0.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
base64id@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f"
base64id@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
batch@0.5.3:
version "0.5.3"
@ -251,10 +248,6 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
benchmark@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-1.0.0.tgz#2f1e2fa4c359f11122aa183082218e957e390c73"
better-assert@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
@ -530,8 +523,8 @@ clap@^1.0.9:
chalk "^1.1.3"
clean-css@4.0.x:
version "4.0.3"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.3.tgz#9da7b59301d940c345757f175e6dfa6872c7de8e"
version "4.0.4"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.4.tgz#629896cc364f3c3d00b9908ee60dd18e4c6c6462"
dependencies:
source-map "0.5.x"
@ -635,9 +628,9 @@ component-emitter@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
component-emitter@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe"
component-emitter@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
component-inherit@0.0.3:
version "0.0.3"
@ -763,15 +756,15 @@ 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.25.0:
version "0.25.0"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.25.0.tgz#c3febc8ce28f4c83576b6b13707f47f90c390223"
css-loader@^0.26.1:
version "0.26.1"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.1.tgz#2ba7f20131b93597496b3e9bb500785a49cd29ea"
dependencies:
babel-code-frame "^6.11.0"
css-selector-tokenizer "^0.6.0"
css-selector-tokenizer "^0.7.0"
cssnano ">=2.6.1 <4"
loader-utils "~0.2.2"
lodash.camelcase "^3.0.1"
lodash.camelcase "^4.3.0"
object-assign "^4.0.1"
postcss "^5.0.6"
postcss-modules-extract-imports "^1.0.0"
@ -797,6 +790,14 @@ css-selector-tokenizer@^0.6.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"
css-what@2.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
@ -876,16 +877,18 @@ dateformat@^1.0.6:
get-stdin "^4.0.1"
meow "^3.3.0"
debug@0.7.4:
version "0.7.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
debug@2.2.0, debug@^2.2.0, debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies:
ms "0.7.1"
debug@2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
dependencies:
ms "0.7.2"
debug@2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
@ -904,9 +907,9 @@ 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.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.2.0.tgz#c36bf76bc1995b85d83e5b0362c97511562bfea8"
deepmerge@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
defined@^1.0.0:
version "1.0.0"
@ -1035,43 +1038,44 @@ encodeurl@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
engine.io-client@1.6.9:
version "1.6.9"
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.6.9.tgz#1d6ad48048a5083c95096943b29d36efdb212401"
engine.io-client@1.8.2:
version "1.8.2"
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.2.tgz#c38767547f2a7d184f5752f6f0ad501006703766"
dependencies:
component-emitter "1.1.2"
component-emitter "1.2.1"
component-inherit "0.0.3"
debug "2.2.0"
engine.io-parser "1.2.4"
debug "2.3.3"
engine.io-parser "1.3.2"
has-cors "1.1.0"
indexof "0.0.1"
parsejson "0.0.1"
parseqs "0.0.2"
parseuri "0.0.4"
ws "1.0.1"
xmlhttprequest-ssl "1.5.1"
parsejson "0.0.3"
parseqs "0.0.5"
parseuri "0.0.5"
ws "1.1.1"
xmlhttprequest-ssl "1.5.3"
yeast "0.1.2"
engine.io-parser@1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.2.4.tgz#e0897b0bf14e792d4cd2a5950553919c56948c42"
engine.io-parser@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
dependencies:
after "0.8.1"
after "0.8.2"
arraybuffer.slice "0.0.6"
base64-arraybuffer "0.1.2"
base64-arraybuffer "0.1.5"
blob "0.0.4"
has-binary "0.1.6"
utf8 "2.1.0"
has-binary "0.1.7"
wtf-8 "1.0.0"
engine.io@1.6.10:
version "1.6.10"
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.6.10.tgz#f87d84e1bd21d1a2ec7f8deef0c62054acdfb27a"
engine.io@1.8.2:
version "1.8.2"
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.2.tgz#6b59be730b348c0125b0a4589de1c355abcf7a7e"
dependencies:
accepts "1.1.4"
base64id "0.1.0"
debug "2.2.0"
engine.io-parser "1.2.4"
ws "1.0.1"
accepts "1.3.3"
base64id "1.0.0"
cookie "0.3.1"
debug "2.3.3"
engine.io-parser "1.3.2"
ws "1.1.1"
enhanced-resolve@^3.0.0:
version "3.1.0"
@ -1121,9 +1125,9 @@ escodegen@1.8.x:
optionalDependencies:
source-map "~0.2.0"
eslint-plugin-mocha@4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-4.7.0.tgz#69262362f4ec69ae5849908824f325b8d465e7f3"
eslint-plugin-mocha@^4.8.0:
version "4.8.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-4.8.0.tgz#7627b35a61e5a720412da96eab06f0e03a1dcdb6"
dependencies:
ramda "^0.22.1"
@ -1261,9 +1265,9 @@ faye-websocket@~0.11.0:
dependencies:
websocket-driver ">=0.5.1"
file-loader@0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.9.0.tgz#1d2daddd424ce6d1b07cfe3f79731bed3617ab42"
file-loader@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.10.0.tgz#bbe6db7474ac92c7f54fdc197cf547e98b6b8e12"
dependencies:
loader-utils "~0.2.5"
@ -1452,7 +1456,7 @@ glob@^5.0.15:
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.3, glob@^7.0.5:
glob@^7.0.5, glob@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies:
@ -1504,12 +1508,6 @@ has-ansi@^2.0.0:
dependencies:
ansi-regex "^2.0.0"
has-binary@0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10"
dependencies:
isarray "0.0.1"
has-binary@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
@ -1574,6 +1572,10 @@ 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"
html-entities@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2"
html-minifier@^3.2.3:
version "3.3.0"
resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.3.0.tgz#a9b5b8eda501362d4c5699db02a8dc72013d1fab"
@ -1587,9 +1589,9 @@ html-minifier@^3.2.3:
relateurl "0.2.x"
uglify-js "2.7.x"
html-webpack-plugin@2.26.0:
version "2.26.0"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.26.0.tgz#ba97c8a66f912b85df80d2aeea65966c8bd9249e"
html-webpack-plugin@^2.28.0:
version "2.28.0"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz#2e7863b57e5fd48fe263303e2ffc934c3064d009"
dependencies:
bluebird "^3.4.7"
html-minifier "^3.2.3"
@ -1915,10 +1917,6 @@ json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json3@3.2.6:
version "3.2.6"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.2.6.tgz#f6efc93c06a04de9aec53053df2559bb19e2038b"
json3@3.3.2, json3@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
@ -1960,19 +1958,21 @@ karma-coverage@1.1.1:
minimatch "^3.0.0"
source-map "^0.5.1"
karma-mocha-reporter@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.1.0.tgz#8a4bee4894c3a88ec669e640fee052253e03e01b"
karma-mocha-reporter@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.2.tgz#876de9a287244e54a608591732a98e66611f6abe"
dependencies:
chalk "1.1.3"
karma-mocha@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-1.2.0.tgz#bca6be2a66805b847417e8d2873fd0b5b27ee7cd"
karma-mocha@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-1.3.0.tgz#eeaac7ffc0e201eb63c467440d2b69c7cf3778bf"
dependencies:
minimist "1.2.0"
karma-webpack@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.1.tgz#271ac955685b9bd99365ef010ffc5655eac28ef6"
karma-webpack@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.2.tgz#bd38350af5645c9644090770939ebe7ce726f864"
dependencies:
async "~0.9.0"
loader-utils "^0.2.5"
@ -1980,9 +1980,9 @@ karma-webpack@2.0.1:
source-map "^0.1.41"
webpack-dev-middleware "^1.0.11"
karma@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/karma/-/karma-1.3.0.tgz#b2b94e8f499fadd0069d54f9aef4a4d48ec5cc1f"
karma@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/karma/-/karma-1.4.1.tgz#41981a71d54237606b0a3ea8c58c90773f41650e"
dependencies:
bluebird "^3.3.0"
body-parser "^1.12.4"
@ -1994,7 +1994,7 @@ karma@1.3.0:
di "^0.0.1"
dom-serialize "^2.2.0"
expand-braces "^0.1.1"
glob "^7.0.3"
glob "^7.1.1"
graceful-fs "^4.1.2"
http-proxy "^1.13.0"
isbinaryfile "^3.0.0"
@ -2006,10 +2006,11 @@ karma@1.3.0:
qjobs "^1.1.4"
range-parser "^1.2.0"
rimraf "^2.3.3"
socket.io "1.4.7"
safe-buffer "^5.0.1"
socket.io "1.7.2"
source-map "^0.5.3"
tmp "0.0.28"
useragent "^2.1.9"
useragent "^2.1.10"
kind-of@^3.0.2:
version "3.1.0"
@ -2044,7 +2045,7 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
loader-runner@^2.2.0:
loader-runner@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
@ -2072,13 +2073,6 @@ lodash._basecreate@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821"
lodash._createcompounder@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._createcompounder/-/lodash._createcompounder-3.0.0.tgz#5dd2cb55372d6e70e0e2392fb2304d6631091075"
dependencies:
lodash.deburr "^3.0.0"
lodash.words "^3.0.0"
lodash._getnative@^3.0.0:
version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
@ -2087,15 +2081,9 @@ lodash._isiterateecall@^3.0.0:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
lodash._root@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
lodash.camelcase@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz#932c8b87f8a4377897c67197533282f97aeac298"
dependencies:
lodash._createcompounder "^3.0.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.create@3.1.1:
version "3.1.1"
@ -2105,12 +2093,6 @@ lodash.create@3.1.1:
lodash._basecreate "^3.0.0"
lodash._isiterateecall "^3.0.0"
lodash.deburr@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-3.2.0.tgz#6da8f54334a366a7cf4c4c76ef8d80aa1b365ed5"
dependencies:
lodash._root "^3.0.0"
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@ -2135,12 +2117,6 @@ lodash.uniq@^4.3.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
lodash.words@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.words/-/lodash.words-3.2.0.tgz#4e2a8649bc08745b17c695b1a3ce8fee596623b3"
dependencies:
lodash._root "^3.0.0"
lodash@^3.8.0:
version "3.10.1"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
@ -2250,22 +2226,12 @@ miller-rabin@^4.0.0:
version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
mime-db@~1.12.0:
version "1.12.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7:
version "2.1.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
dependencies:
mime-db "~1.26.0"
mime-types@~2.0.4:
version "2.0.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6"
dependencies:
mime-db "~1.12.0"
mime@1.2.x:
version "1.2.11"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10"
@ -2284,18 +2250,14 @@ minimalistic-assert@^1.0.0:
dependencies:
brace-expansion "^1.0.0"
minimist@0.0.8:
minimist@0.0.8, minimist@~0.0.1:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
minimist@^1.1.3, minimist@^1.2.0:
minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
minimist@~0.0.1:
version "0.0.10"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
@ -2306,9 +2268,9 @@ mocha-coverage-reporter@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/mocha-coverage-reporter/-/mocha-coverage-reporter-0.0.1.tgz#1f996a3cd6ea89bc53eca4807fd1c91da54c9e09"
mocha@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.1.2.tgz#51f93b432bf7e1b175ffc22883ccd0be32dba6b5"
mocha@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3"
dependencies:
browser-stdout "1.3.0"
commander "2.9.0"
@ -2340,10 +2302,6 @@ ncname@1.0.x:
dependencies:
xml-char-classes "^1.0.0"
negotiator@0.4.9:
version "0.4.9"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.4.9.tgz#92e46b6db53c7e421ed64a2bc94f08be7630df3f"
negotiator@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
@ -2459,6 +2417,10 @@ oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
object-assign@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
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"
@ -2584,21 +2546,21 @@ parse-json@^2.2.0:
dependencies:
error-ex "^1.2.0"
parsejson@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc"
parsejson@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
dependencies:
better-assert "~1.0.0"
parseqs@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.2.tgz#9dfe70b2cddac388bde4f35b1f240fa58adbe6c7"
parseqs@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
dependencies:
better-assert "~1.0.0"
parseuri@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.4.tgz#806582a39887e1ea18dd5e2fe0e01902268e9350"
parseuri@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
dependencies:
better-assert "~1.0.0"
@ -2677,8 +2639,8 @@ postcss-colormin@^2.1.8:
postcss-value-parser "^3.2.3"
postcss-convert-values@^2.3.4:
version "2.6.0"
resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.0.tgz#08c6d06130fe58a91a21ff50829e1aad6a3a1acc"
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"
@ -3115,10 +3077,6 @@ regenerator-runtime@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb"
regenerator-runtime@^0.9.5:
version "0.9.6"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029"
regex-cache@^0.4.2:
version "0.4.3"
resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
@ -3233,6 +3191,10 @@ ripemd160@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
safe-buffer@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
sax@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
@ -3320,59 +3282,49 @@ sntp@1.x.x:
dependencies:
hoek "2.x.x"
socket.io-adapter@0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz#fb9f82ab1aa65290bf72c3657955b930a991a24f"
socket.io-adapter@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
dependencies:
debug "2.2.0"
socket.io-parser "2.2.2"
debug "2.3.3"
socket.io-parser "2.3.1"
socket.io-client@1.4.6:
version "1.4.6"
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.4.6.tgz#49b0ba537efd15b8297c84016e642e1c7c752c3d"
socket.io-client@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.2.tgz#39fdb0c3dd450e321b7e40cfd83612ec533dd644"
dependencies:
backo2 "1.0.2"
component-bind "1.0.0"
component-emitter "1.2.0"
debug "2.2.0"
engine.io-client "1.6.9"
component-emitter "1.2.1"
debug "2.3.3"
engine.io-client "1.8.2"
has-binary "0.1.7"
indexof "0.0.1"
object-component "0.0.3"
parseuri "0.0.4"
socket.io-parser "2.2.6"
parseuri "0.0.5"
socket.io-parser "2.3.1"
to-array "0.1.4"
socket.io-parser@2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.2.tgz#3d7af6b64497e956b7d9fe775f999716027f9417"
dependencies:
benchmark "1.0.0"
component-emitter "1.1.2"
debug "0.7.4"
isarray "0.0.1"
json3 "3.2.6"
socket.io-parser@2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.6.tgz#38dfd61df50dcf8ab1d9e2091322bf902ba28b99"
socket.io-parser@2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
dependencies:
benchmark "1.0.0"
component-emitter "1.1.2"
debug "2.2.0"
isarray "0.0.1"
json3 "3.3.2"
socket.io@1.4.7:
version "1.4.7"
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.4.7.tgz#92b7f7cb88c5797d4daee279fe8075dbe6d3fa1c"
socket.io@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.2.tgz#83bbbdf2e79263b378900da403e7843e05dc3b71"
dependencies:
debug "2.2.0"
engine.io "1.6.10"
debug "2.3.3"
engine.io "1.8.2"
has-binary "0.1.7"
socket.io-adapter "0.4.0"
socket.io-client "1.4.6"
socket.io-parser "2.2.6"
object-assign "4.1.0"
socket.io-adapter "0.5.0"
socket.io-client "1.7.2"
socket.io-parser "2.3.1"
sockjs-client@1.1.1:
version "1.1.1"
@ -3733,16 +3685,12 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
useragent@^2.1.9:
useragent@^2.1.10:
version "2.1.11"
resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.11.tgz#6a026e6a6c619b46ca7a0b2fdef6c1ac3da8ca29"
dependencies:
lru-cache "2.2.x"
utf8@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.0.tgz#0cfec5c8052d44a23e3aaa908104e8075f95dfd5"
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@ -3827,14 +3775,16 @@ webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.9.0:
path-is-absolute "^1.0.0"
range-parser "^1.0.3"
webpack-dev-server@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.2.0.tgz#364967eccaf8ff1d7e1681b7a8cc24fab4ced8a6"
webpack-dev-server@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.3.0.tgz#0437704bbd4d941a6e4c061eb3cc232ed7d06101"
dependencies:
ansi-html "0.0.7"
chokidar "^1.6.0"
compression "^1.5.2"
connect-history-api-fallback "^1.3.0"
express "^4.13.3"
html-entities "^1.2.0"
http-proxy-middleware "~0.17.1"
opn "4.0.2"
portfinder "^1.0.9"
@ -3847,9 +3797,9 @@ webpack-dev-server@2.2.0:
webpack-dev-middleware "^1.9.0"
yargs "^6.0.0"
webpack-merge@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.4.0.tgz#4c518d471632c29ae22e83687c2f42a9cd5f35ea"
webpack-merge@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.6.1.tgz#f1d801d2c5d39f83ffec9f119240b3e3be994a1c"
dependencies:
lodash "^4.17.4"
@ -3860,9 +3810,9 @@ webpack-sources@^0.1.4:
source-list-map "~0.1.7"
source-map "~0.5.3"
webpack@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.0.tgz#09246336b5581c9002353f75bcadb598a648f977"
webpack@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475"
dependencies:
acorn "^4.0.4"
acorn-dynamic-import "^2.0.0"
@ -3872,7 +3822,7 @@ webpack@2.2.0:
enhanced-resolve "^3.0.0"
interpret "^1.0.0"
json-loader "^0.5.4"
loader-runner "^2.2.0"
loader-runner "^2.3.0"
loader-utils "^0.2.16"
memory-fs "~0.4.1"
mkdirp "~0.5.0"
@ -3948,20 +3898,24 @@ wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
ws@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ws/-/ws-1.0.1.tgz#7d0b2a2e58cddd819039c29c9de65045e1b310e9"
ws@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018"
dependencies:
options ">=0.0.5"
ultron "1.0.x"
wtf-8@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
xml-char-classes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
xmlhttprequest-ssl@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz#3b7741fea4a86675976e908d296d4445961faa67"
xmlhttprequest-ssl@1.5.3:
version "1.5.3"
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
xtend@^4.0.0:
version "4.0.1"

17
packages/neutrino/package.json

@ -42,14 +42,15 @@
"repository": "mozilla-neutrino/neutrino-dev",
"dependencies": {
"babel-register": "6.22.0",
"change-case": "3.0.0",
"karma": "1.3.0",
"mocha": "3.1.2",
"resolve": "1.1.7",
"change-case": "^3.0.1",
"karma": "^1.4.1",
"mocha": "^3.2.0",
"resolve": "^1.2.0",
"vorpal": "1.4.1",
"webpack": "2.2.0",
"webpack-dev-server": "2.2.0",
"webpack-hot-middleware": "2.15.0",
"yeoman-environment": "1.6.5"
"webpack": "^2.2.1",
"webpack-dev-server": "^2.3.0",
"webpack-hot-middleware": "^2.16.1",
"webpack-merge": "^2.6.1",
"yeoman-environment": "^1.6.6"
}
}

16
packages/neutrino/src/get-preset.js

@ -1,13 +1,13 @@
'use strict';
const path = require('path');
const merge = require('webpack-merge').smart;
module.exports = (preset) => {
const cwd = process.cwd();
const cwd = process.cwd();
const pkg = require(path.join(cwd, 'package.json'));
module.exports = (preset) => {
if (!preset) {
const pkg = require(path.join(cwd, 'package.json'));
if (!pkg.config || !pkg.config.preset) {
throw new Error(`This command requires a preset.
Specify one using -p, --preset, or in your package.json as \`config.preset\`.`);
@ -26,7 +26,13 @@ module.exports = (preset) => {
// try requiring it as relative to the project
for (let i = 0; i < modules.length; i++) {
try {
return require(modules[i]);
const module = require(modules[i]);
const core = 'toConfig' in module ? module.toConfig() : module;
const config = pkg.config && pkg.config.neutrino ?
merge(core, pkg.config.neutrino) :
core;
return config;
} catch (err) {
if (!/Cannot find module/.test(err.message)) {
throw err;

318
packages/neutrino/yarn.lock

@ -6,14 +6,7 @@ abbrev@1:
version "1.0.9"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
accepts@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.1.4.tgz#d71c96f7d41d0feda2c38cd14e8a27c04158df4a"
dependencies:
mime-types "~2.0.4"
negotiator "0.4.9"
accepts@~1.3.3:
accepts@1.3.3, accepts@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
dependencies:
@ -30,9 +23,9 @@ acorn@^4.0.3, acorn@^4.0.4:
version "4.0.8"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.8.tgz#f41e52020ce78118a3c68ed0e9215eb8fc68b5b1"
after@0.8.1:
version "0.8.1"
resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627"
after@0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
ajv-keywords@^1.1.1:
version "1.5.1"
@ -61,6 +54,10 @@ ansi-html@0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.6.tgz#bda8e33dd2ee1c20f54c08eb405713cbfc0ed80e"
ansi-html@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@ -304,17 +301,17 @@ balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
base64-arraybuffer@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz#474df4a9f2da24e05df3158c3b1db3c3cd46a154"
base64-arraybuffer@0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
base64-js@^1.0.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
base64id@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f"
base64id@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
batch@0.5.3:
version "0.5.3"
@ -326,10 +323,6 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
benchmark@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-1.0.0.tgz#2f1e2fa4c359f11122aa183082218e957e390c73"
better-assert@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
@ -535,9 +528,9 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
change-case@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.0.tgz#6c9c8e35f8790870a82b6b0745be8c3cbef9b081"
change-case@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.1.tgz#ee5f5ad0415ad1ad9e8072cf49cd4cfa7660a554"
dependencies:
camel-case "^3.0.0"
constant-case "^2.0.0"
@ -655,9 +648,9 @@ component-emitter@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
component-emitter@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe"
component-emitter@1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
component-inherit@0.0.3:
version "0.0.3"
@ -812,16 +805,18 @@ date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
debug@0.7.4:
version "0.7.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
debug@2.2.0, debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies:
ms "0.7.1"
debug@2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
dependencies:
ms "0.7.2"
debug@2.6.0, debug@^2.0.0, debug@^2.1.1, debug@^2.2.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
@ -931,43 +926,44 @@ encodeurl@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
engine.io-client@1.6.9:
version "1.6.9"
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.6.9.tgz#1d6ad48048a5083c95096943b29d36efdb212401"
engine.io-client@1.8.2:
version "1.8.2"
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.2.tgz#c38767547f2a7d184f5752f6f0ad501006703766"
dependencies:
component-emitter "1.1.2"
component-emitter "1.2.1"
component-inherit "0.0.3"
debug "2.2.0"
engine.io-parser "1.2.4"
debug "2.3.3"
engine.io-parser "1.3.2"
has-cors "1.1.0"
indexof "0.0.1"
parsejson "0.0.1"
parseqs "0.0.2"
parseuri "0.0.4"
ws "1.0.1"
xmlhttprequest-ssl "1.5.1"
parsejson "0.0.3"
parseqs "0.0.5"
parseuri "0.0.5"
ws "1.1.1"
xmlhttprequest-ssl "1.5.3"
yeast "0.1.2"
engine.io-parser@1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.2.4.tgz#e0897b0bf14e792d4cd2a5950553919c56948c42"
engine.io-parser@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
dependencies:
after "0.8.1"
after "0.8.2"
arraybuffer.slice "0.0.6"
base64-arraybuffer "0.1.2"
base64-arraybuffer "0.1.5"
blob "0.0.4"
has-binary "0.1.6"
utf8 "2.1.0"
has-binary "0.1.7"
wtf-8 "1.0.0"
engine.io@1.6.10:
version "1.6.10"
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.6.10.tgz#f87d84e1bd21d1a2ec7f8deef0c62054acdfb27a"
engine.io@1.8.2:
version "1.8.2"
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.2.tgz#6b59be730b348c0125b0a4589de1c355abcf7a7e"
dependencies:
accepts "1.1.4"
base64id "0.1.0"
debug "2.2.0"
engine.io-parser "1.2.4"
ws "1.0.1"
accepts "1.3.3"
base64id "1.0.0"
cookie "0.3.1"
debug "2.3.3"
engine.io-parser "1.3.2"
ws "1.1.1"
enhanced-resolve@^3.0.0:
version "3.1.0"
@ -1285,7 +1281,7 @@ glob-parent@^2.0.0:
dependencies:
is-glob "^2.0.0"
glob@7.0.5, glob@^7.0.3, glob@^7.0.5:
glob@7.0.5:
version "7.0.5"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95"
dependencies:
@ -1306,6 +1302,17 @@ glob@^6.0.1:
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.5, glob@^7.1.1:
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"
globals@^9.0.0:
version "9.14.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
@ -1358,12 +1365,6 @@ has-ansi@^2.0.0:
dependencies:
ansi-regex "^2.0.0"
has-binary@0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10"
dependencies:
isarray "0.0.1"
has-binary@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
@ -1736,10 +1737,6 @@ json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
json3@3.2.6:
version "3.2.6"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.2.6.tgz#f6efc93c06a04de9aec53053df2559bb19e2038b"
json3@3.3.2, json3@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
@ -1764,9 +1761,9 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.3.6"
karma@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/karma/-/karma-1.3.0.tgz#b2b94e8f499fadd0069d54f9aef4a4d48ec5cc1f"
karma@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/karma/-/karma-1.4.1.tgz#41981a71d54237606b0a3ea8c58c90773f41650e"
dependencies:
bluebird "^3.3.0"
body-parser "^1.12.4"
@ -1778,7 +1775,7 @@ karma@1.3.0:
di "^0.0.1"
dom-serialize "^2.2.0"
expand-braces "^0.1.1"
glob "^7.0.3"
glob "^7.1.1"
graceful-fs "^4.1.2"
http-proxy "^1.13.0"
isbinaryfile "^3.0.0"
@ -1790,10 +1787,11 @@ karma@1.3.0:
qjobs "^1.1.4"
range-parser "^1.2.0"
rimraf "^2.3.3"
socket.io "1.4.7"
safe-buffer "^5.0.1"
socket.io "1.7.2"
source-map "^0.5.3"
tmp "0.0.28"
useragent "^2.1.9"
useragent "^2.1.10"
kind-of@^3.0.2:
version "3.1.0"
@ -1821,7 +1819,7 @@ load-json-file@^1.0.0:
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
loader-runner@^2.2.0:
loader-runner@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
@ -1885,7 +1883,7 @@ lodash@^3.10.1, lodash@^3.3.1, lodash@^3.8.0:
version "3.10.1"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
lodash@^4.11.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.0:
lodash@^4.11.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.0:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
@ -1989,22 +1987,12 @@ miller-rabin@^4.0.0:
version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
mime-db@~1.12.0:
version "1.12.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7:
version "2.1.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
dependencies:
mime-db "~1.26.0"
mime-types@~2.0.4:
version "2.0.14"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6"
dependencies:
mime-db "~1.12.0"
mime@1.3.4, mime@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
@ -2033,9 +2021,9 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0, mkdi
dependencies:
minimist "0.0.8"
mocha@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.1.2.tgz#51f93b432bf7e1b175ffc22883ccd0be32dba6b5"
mocha@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3"
dependencies:
browser-stdout "1.3.0"
commander "2.9.0"
@ -2073,10 +2061,6 @@ native-promise-only@^0.8.0-a:
version "0.8.1"
resolved "https://registry.yarnpkg.com/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11"
negotiator@0.4.9:
version "0.4.9"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.4.9.tgz#92e46b6db53c7e421ed64a2bc94f08be7630df3f"
negotiator@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
@ -2165,6 +2149,10 @@ oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
object-assign@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
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"
@ -2291,21 +2279,21 @@ parse-json@^2.2.0:
dependencies:
error-ex "^1.2.0"
parsejson@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc"
parsejson@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
dependencies:
better-assert "~1.0.0"
parseqs@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.2.tgz#9dfe70b2cddac388bde4f35b1f240fa58adbe6c7"
parseqs@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
dependencies:
better-assert "~1.0.0"
parseuri@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.4.tgz#806582a39887e1ea18dd5e2fe0e01902268e9350"
parseuri@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
dependencies:
better-assert "~1.0.0"
@ -2620,9 +2608,9 @@ requires-port@1.0.x, requires-port@1.x.x:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
resolve@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
restore-cursor@^1.0.1:
version "1.0.1"
@ -2667,6 +2655,10 @@ rx@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
safe-buffer@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
@ -2767,59 +2759,49 @@ sntp@1.x.x:
dependencies:
hoek "2.x.x"
socket.io-adapter@0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz#fb9f82ab1aa65290bf72c3657955b930a991a24f"
socket.io-adapter@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
dependencies:
debug "2.2.0"
socket.io-parser "2.2.2"
debug "2.3.3"
socket.io-parser "2.3.1"
socket.io-client@1.4.6:
version "1.4.6"
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.4.6.tgz#49b0ba537efd15b8297c84016e642e1c7c752c3d"
socket.io-client@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.2.tgz#39fdb0c3dd450e321b7e40cfd83612ec533dd644"
dependencies:
backo2 "1.0.2"
component-bind "1.0.0"
component-emitter "1.2.0"
debug "2.2.0"
engine.io-client "1.6.9"
component-emitter "1.2.1"
debug "2.3.3"
engine.io-client "1.8.2"
has-binary "0.1.7"
indexof "0.0.1"
object-component "0.0.3"
parseuri "0.0.4"
socket.io-parser "2.2.6"
parseuri "0.0.5"
socket.io-parser "2.3.1"
to-array "0.1.4"
socket.io-parser@2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.2.tgz#3d7af6b64497e956b7d9fe775f999716027f9417"
dependencies:
benchmark "1.0.0"
component-emitter "1.1.2"
debug "0.7.4"
isarray "0.0.1"
json3 "3.2.6"
socket.io-parser@2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.6.tgz#38dfd61df50dcf8ab1d9e2091322bf902ba28b99"
socket.io-parser@2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
dependencies:
benchmark "1.0.0"
component-emitter "1.1.2"
debug "2.2.0"
isarray "0.0.1"
json3 "3.3.2"
socket.io@1.4.7:
version "1.4.7"
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.4.7.tgz#92b7f7cb88c5797d4daee279fe8075dbe6d3fa1c"
socket.io@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.2.tgz#83bbbdf2e79263b378900da403e7843e05dc3b71"
dependencies:
debug "2.2.0"
engine.io "1.6.10"
debug "2.3.3"
engine.io "1.8.2"
has-binary "0.1.7"
socket.io-adapter "0.4.0"
socket.io-client "1.4.6"
socket.io-parser "2.2.6"
object-assign "4.1.0"
socket.io-adapter "0.5.0"
socket.io-client "1.7.2"
socket.io-parser "2.3.1"
sockjs-client@1.1.1:
version "1.1.1"
@ -3164,16 +3146,12 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
useragent@^2.1.9:
useragent@^2.1.10:
version "2.1.11"
resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.11.tgz#6a026e6a6c619b46ca7a0b2fdef6c1ac3da8ca29"
dependencies:
lru-cache "2.2.x"
utf8@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.0.tgz#0cfec5c8052d44a23e3aaa908104e8075f95dfd5"
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@ -3277,14 +3255,16 @@ webpack-dev-middleware@^1.9.0:
path-is-absolute "^1.0.0"
range-parser "^1.0.3"
webpack-dev-server@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.2.0.tgz#364967eccaf8ff1d7e1681b7a8cc24fab4ced8a6"
webpack-dev-server@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.3.0.tgz#0437704bbd4d941a6e4c061eb3cc232ed7d06101"
dependencies:
ansi-html "0.0.7"
chokidar "^1.6.0"
compression "^1.5.2"
connect-history-api-fallback "^1.3.0"
express "^4.13.3"
html-entities "^1.2.0"
http-proxy-middleware "~0.17.1"
opn "4.0.2"
portfinder "^1.0.9"
@ -3297,15 +3277,21 @@ webpack-dev-server@2.2.0:
webpack-dev-middleware "^1.9.0"
yargs "^6.0.0"
webpack-hot-middleware@2.15.0:
version "2.15.0"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.15.0.tgz#71995af7c0025f109df482f86f1e10379526d026"
webpack-hot-middleware@^2.16.1:
version "2.16.1"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.16.1.tgz#ae209bcab2b9b672f1b0fdcf6c5c2a680ff118e1"
dependencies:
ansi-html "0.0.6"
html-entities "^1.2.0"
querystring "^0.2.0"
strip-ansi "^3.0.0"
webpack-merge@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.6.1.tgz#f1d801d2c5d39f83ffec9f119240b3e3be994a1c"
dependencies:
lodash "^4.17.4"
webpack-sources@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd"
@ -3313,9 +3299,9 @@ webpack-sources@^0.1.4:
source-list-map "~0.1.7"
source-map "~0.5.3"
webpack@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.0.tgz#09246336b5581c9002353f75bcadb598a648f977"
webpack@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475"
dependencies:
acorn "^4.0.4"
acorn-dynamic-import "^2.0.0"
@ -3325,7 +3311,7 @@ webpack@2.2.0:
enhanced-resolve "^3.0.0"
interpret "^1.0.0"
json-loader "^0.5.4"
loader-runner "^2.2.0"
loader-runner "^2.3.0"
loader-utils "^0.2.16"
memory-fs "~0.4.1"
mkdirp "~0.5.0"
@ -3381,16 +3367,20 @@ wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
ws@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ws/-/ws-1.0.1.tgz#7d0b2a2e58cddd819039c29c9de65045e1b310e9"
ws@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018"
dependencies:
options ">=0.0.5"
ultron "1.0.x"
xmlhttprequest-ssl@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz#3b7741fea4a86675976e908d296d4445961faa67"
wtf-8@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
xmlhttprequest-ssl@1.5.3:
version "1.5.3"
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
xtend@^4.0.0, xtend@~4.0.1:
version "4.0.1"
@ -3437,9 +3427,9 @@ yeast@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
yeoman-environment@1.6.5:
version "1.6.5"
resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-1.6.5.tgz#0db07ab315adecb6e5e3b55ad9ab2063b71a08e1"
yeoman-environment@^1.6.6:
version "1.6.6"
resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-1.6.6.tgz#cd85fa67d156060e440d7807d7ef7cf0d2d1d671"
dependencies:
chalk "^1.0.0"
debug "^2.0.0"

Loading…
Cancel
Save