├── .gitattributes ├── .gitignore ├── packages ├── webpack-flow │ ├── lib │ │ ├── flows │ │ │ ├── merge.js │ │ │ ├── babel.js │ │ │ ├── buble.js │ │ │ ├── index.js │ │ │ ├── env.js │ │ │ ├── define-constants.js │ │ │ ├── entry.js │ │ │ ├── dest.js │ │ │ └── uglifyjs.js │ │ └── index.js │ ├── package.json │ └── test │ │ └── index.test.js └── css │ ├── package.json │ ├── test.js │ └── index.js ├── .editorconfig ├── circle.yml ├── lerna.json ├── package.json ├── docs ├── create-a-flow.md ├── README.md └── flows │ ├── css.md │ └── built-in-flows.md ├── LICENSE ├── README.md └── yarn.lock /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | package-lock.json 3 | packages/*/yarn.lock 4 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/merge.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Usually you should add this flow after other flows 3 | */ 4 | module.exports = function(obj) { 5 | return ({ config }) => config.merge(obj) 6 | } 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | node: 3 | version: 7 4 | environment: 5 | PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin" 6 | 7 | dependencies: 8 | override: 9 | - yarn 10 | cache_directories: 11 | - ~/.cache/yarn 12 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "lerna": "2.0.0-rc.5", 3 | "packages": [ 4 | "packages/*" 5 | ], 6 | "version": "independent", 7 | "commands": { 8 | "publish": { 9 | "ignore": [ 10 | "*.md", 11 | "example/**", 12 | "test/**" 13 | ] 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/babel.js: -------------------------------------------------------------------------------- 1 | module.exports = function(options) { 2 | return ({ config }) => { 3 | const ruleBabel = config.module.rule('babel') 4 | ruleBabel.test(/\.jsx?$/) 5 | ruleBabel.exclude.add(/node_modules/) 6 | ruleBabel.use('babel-loader').loader('babel-loader').options(options) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/buble.js: -------------------------------------------------------------------------------- 1 | module.exports = function(options) { 2 | return ({ config }) => { 3 | const ruleBuble = config.module.rule('buble') 4 | ruleBuble.test(/\.jsx?$/) 5 | ruleBuble.exclude.add(/node_modules/) 6 | ruleBuble.use('buble-loader').loader('buble-loader').options(options) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | babel: require('./babel'), 3 | buble: require('./buble'), 4 | dest: require('./dest'), 5 | entry: require('./entry'), 6 | env: require('./env'), 7 | merge: require('./merge'), 8 | defineConstants: require('./define-constants'), 9 | uglifyjs: require('./uglifyjs') 10 | } 11 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/env.js: -------------------------------------------------------------------------------- 1 | module.exports = function(env, flows) { 2 | return context => { 3 | if ( 4 | env === true || 5 | (typeof env === 'string' && process.env.NODE_ENV === env) || 6 | (typeof env === 'function' && env()) 7 | ) { 8 | if (typeof flows === 'function') { 9 | flows = flows() 10 | } 11 | flows.forEach(flow => flow(context)) 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/define-constants.js: -------------------------------------------------------------------------------- 1 | module.exports = function(constants) { 2 | return context => { 3 | context.config 4 | .plugin('defined-constants') 5 | .use(context.webpack.DefinePlugin, [stringifyObjValue(constants)]) 6 | } 7 | } 8 | 9 | function stringifyObjValue(obj = {}) { 10 | return Object.keys(obj).reduce((res, key) => { 11 | res[key] = JSON.stringify(obj[key]) 12 | return res 13 | }, {}) 14 | } 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "webpack-flow-monorepo", 4 | "version": "0.0.0", 5 | "main": "index.js", 6 | "author": "EGOIST <0x142857@gmail.com>", 7 | "license": "MIT", 8 | "devDependencies": { 9 | "eslint-config-rem": "^3.2.0", 10 | "lerna": "^2.0.0" 11 | }, 12 | "scripts": { 13 | "test": "lerna bootstrap && lerna exec -- npm test" 14 | }, 15 | "eslintConfig": { 16 | "extends": "rem" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/entry.js: -------------------------------------------------------------------------------- 1 | function entry(filepath, entryPoint) { 2 | entryPoint = entryPoint || 'client' 3 | return ({ config }) => { 4 | config.entry(entryPoint).add(filepath) 5 | } 6 | } 7 | 8 | entry.append = entry 9 | 10 | entry.prepend = function(filepath, entryPoint) { 11 | entryPoint = entryPoint || 'client' 12 | return ({ config }) => { 13 | config.entry(entryPoint).prepend(filepath) 14 | } 15 | } 16 | 17 | module.exports = entry 18 | -------------------------------------------------------------------------------- /docs/create-a-flow.md: -------------------------------------------------------------------------------- 1 | # Create A Flow 2 | 3 | An example: 4 | 5 | ```js 6 | // my-flow.js 7 | module.exports = function myFlow(options) { 8 | return context => { 9 | // handle context and options 10 | } 11 | } 12 | ``` 13 | 14 | Use your flow: 15 | 16 | ```js 17 | // webpack.config.js 18 | const flow = require('webpack-flow') 19 | const myFlow = require('./my-flow') 20 | 21 | module.exports = flow.createConfig([ 22 | myFlow(options) 23 | ]) 24 | ``` 25 | 26 | ## context 27 | 28 | ### webpack 29 | 30 | Bascially the `webpack` module. 31 | 32 | ### config 33 | 34 | The [webpack-chain](https://github.com/mozilla-rpweb/webpack-chain) instance. 35 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/index.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const webpack = require('webpack') 3 | const Config = require('webpack-chain') 4 | const builtInflows = require('./flows') 5 | 6 | function createConfigInstance(flows) { 7 | const config = new Config() 8 | const context = Object.assign({ config, webpack }, builtInflows) 9 | flows.forEach(flow => flow(context)) 10 | return config 11 | } 12 | 13 | function createConfig(flows) { 14 | return createConfigInstance(flows).toConfig() 15 | } 16 | 17 | module.exports = Object.assign( 18 | { 19 | createConfigInstance, 20 | createConfig, 21 | webpack 22 | }, 23 | builtInflows 24 | ) 25 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # webpack-flow 2 | 3 | 👉 [To create a flow](./create-a-flow.md) 4 | 5 | ## Built-in Flows 6 | 7 | - [flow.entry](./flows/built-in-flows.md#flowentryfilepath-entrypoint) 8 | - [flow.dest](./flows/built-in-flows.md#flowdestfilepath-mergeoptions) 9 | - [flow.babel](./flows/built-in-flows.md#flowbabelloaderoptions) 10 | - [flow.buble](./flows/built-in-flows.md#flowbubleloaderoptions) 11 | - [flow.defineConstants](./flows/built-in-flows.md#flowdefineconstantsconstants) 12 | - [flow.env](./flows/built-in-flows.md#flowenvcondition-flows) 13 | - [flow.merge](./flows/built-in-flows.md#flowmergewebpackconfig) 14 | 15 | ## External Flows 16 | 17 | - [CSS](./flows/css.md) 18 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/dest.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | 3 | module.exports = function dest(outputPath, mergeOptions) { 4 | return ({ config }) => { 5 | const parsed = path.parse(outputPath) 6 | 7 | config.output 8 | .path(parsed.dir) 9 | .filename(parsed.base) 10 | .publicPath('/') 11 | // Point sourcemap entries to original disk location 12 | .devtoolModuleFilenameTemplate(info => 13 | path.resolve(info.absoluteResourcePath) 14 | ) 15 | // Add /* filename */ comments to generated require()s in the output. 16 | .pathinfo(true) 17 | 18 | config.output.merge(mergeOptions || {}) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /packages/css/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@webpack-flow/css", 3 | "version": "1.1.0", 4 | "publishConfig": { 5 | "access": "public" 6 | }, 7 | "files": [ 8 | "index.js" 9 | ], 10 | "main": "index.js", 11 | "scripts": { 12 | "test": "jest --env node" 13 | }, 14 | "dependencies": { 15 | "extract-text-webpack-plugin": "^2.1.0" 16 | }, 17 | "devDependencies": { 18 | "babel-preset-env": "^1.5.1", 19 | "jest": "^20.0.4", 20 | "webpack": "^2.6.1", 21 | "webpack-flow": "^2.0.0" 22 | }, 23 | "babel": { 24 | "presets": [ 25 | [ 26 | "env", 27 | { 28 | "targets": { 29 | "node": "current" 30 | } 31 | } 32 | ] 33 | ] 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/webpack-flow/lib/flows/uglifyjs.js: -------------------------------------------------------------------------------- 1 | module.exports = () => { 2 | return ({ config, webpack }) => { 3 | config.plugin('uglifyjs') 4 | .use(webpack.optimize.UglifyJsPlugin, [{ 5 | compress: { 6 | warnings: false, 7 | // Disabled because of an issue with Uglify breaking seemingly valid code: 8 | // https://github.com/facebookincubator/create-react-app/issues/2376 9 | // Pending further investigation: 10 | // https://github.com/mishoo/UglifyJS2/issues/2011 11 | comparisons: false, 12 | }, 13 | output: { 14 | comments: false, 15 | // Turned on because emoji and regex is not minified properly using default 16 | // https://github.com/facebookincubator/create-react-app/issues/2488 17 | ascii_only: true, 18 | }, 19 | sourceMap: true 20 | }]) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/webpack-flow/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webpack-flow", 3 | "version": "2.0.0", 4 | "description": "Composable webpack config.", 5 | "repository": { 6 | "url": "egoist/webpack-flow", 7 | "type": "git" 8 | }, 9 | "main": "lib/index.js", 10 | "files": [ 11 | "lib" 12 | ], 13 | "engines": { 14 | "node": ">=6" 15 | }, 16 | "scripts": { 17 | "test": "jest --env node" 18 | }, 19 | "author": "egoist <0x142857@gmail.com>", 20 | "license": "MIT", 21 | "dependencies": { 22 | "webpack-chain": "^3.3.0" 23 | }, 24 | "devDependencies": { 25 | "babel-jest": "^20.0.3", 26 | "babel-preset-env": "^1.5.1", 27 | "jest": "^20.0.4", 28 | "webpack": "^3.4.1" 29 | }, 30 | "babel": { 31 | "presets": [ 32 | [ 33 | "env", 34 | { 35 | "targets": { 36 | "node": "current" 37 | } 38 | } 39 | ] 40 | ] 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /packages/css/test.js: -------------------------------------------------------------------------------- 1 | import flow from 'webpack-flow' 2 | import css from './' 3 | 4 | describe('css', () => { 5 | it('defaults', () => { 6 | const config = flow.createConfig([css()]) 7 | 8 | expect(config.module.rules).toEqual([ 9 | { 10 | test: /\.css$/, 11 | use: [ 12 | { 13 | loader: 'style-loader', 14 | options: { sourceMap: true } 15 | }, 16 | { 17 | loader: 'css-loader', 18 | options: { 19 | autoprefixer: false, 20 | sourceMap: true 21 | } 22 | } 23 | ] 24 | } 25 | ]) 26 | }) 27 | 28 | it('extract css', () => { 29 | const config = flow.createConfig([css({ extract: true })]) 30 | 31 | expect(config.module.rules[0].use).toHaveLength(3) 32 | 33 | expect(config.plugins).toEqual([ 34 | { 35 | filename: '[name].css', 36 | id: 2, 37 | options: { allChunks: true, disable: false } 38 | } 39 | ]) 40 | }) 41 | }) 42 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) egoist <0x142857@gmail.com> (https://egoistian.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs/flows/css.md: -------------------------------------------------------------------------------- 1 | # CSS flow 2 | 3 | ## Install 4 | 5 | ```bash 6 | yarn add style-loader css-loader @webpack-flow/css --dev 7 | ``` 8 | 9 | ## Usage 10 | 11 | ```js 12 | // webpack.config.js 13 | const flow = require('webpack-flow') 14 | const css = require('@webpack-flow/css') 15 | 16 | module.exports = flow.createConfig([ 17 | css() 18 | ]) 19 | ``` 20 | 21 | ## API 22 | 23 | ### css([options]) 24 | 25 | #### options 26 | 27 | ##### test 28 | 29 | Type: [`Condition`](https://webpack.js.org/configuration/module/#condition)
30 | Default: `/\.css$/` 31 | 32 | File matcher. 33 | 34 | ##### extract 35 | 36 | Type: `boolean`
37 | Default: `process.env.NODE_ENV === 'production'` 38 | 39 | Extract CSS into a single file. 40 | 41 | ##### hash 42 | 43 | Type: `boolean`
44 | Default: `process.env.NODE_ENV === 'production'` 45 | 46 | Add hash to filename for long-term caching, eg: `style.s2sd3fadf.css`. 47 | 48 | ##### sourceMap 49 | 50 | Type: `boolean`
51 | Default: `true` 52 | 53 | Enable sourceMap. 54 | 55 | ##### cssModules 56 | 57 | Type: `boolean`
58 | Default: `undefined` 59 | 60 | Enable CSS modules. 61 | 62 | ##### preLoader 63 | 64 | Type: `object` `Array`
65 | Default: `undefined` 66 | 67 | Add a loader before `css-loader`, eg: 68 | 69 | ```js 70 | css({ 71 | preLoader: { 72 | loader: 'sass-loader', 73 | options: {} 74 | } 75 | }) 76 | ``` 77 | -------------------------------------------------------------------------------- /packages/css/index.js: -------------------------------------------------------------------------------- 1 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 2 | 3 | const isProd = process.env.NODE_ENV === 'production' 4 | 5 | module.exports = function( 6 | { 7 | test = /\.css$/, 8 | hash = isProd, 9 | extract = isProd, 10 | sourceMap = true, 11 | loaderOptions, 12 | preLoader, 13 | fallbackLoader, 14 | cssModules 15 | } = {} 16 | ) { 17 | return ({ config }) => { 18 | const filename = hash ? '[name].[contenthash:8].css' : '[name].css' 19 | config.plugin('extract-css').use(ExtractTextPlugin, [ 20 | { 21 | filename, 22 | allChunks: true, 23 | disable: !extract 24 | } 25 | ]) 26 | 27 | const ruleCSS = config.module.rule('css') 28 | ruleCSS.test(test) 29 | 30 | const styleLoader = Object.assign( 31 | { 32 | loader: 'style-loader', 33 | options: { 34 | sourceMap 35 | } 36 | }, 37 | fallbackLoader 38 | ) 39 | 40 | const cssLoaderOptions = { 41 | sourceMap, 42 | autoprefixer: false 43 | } 44 | 45 | if (cssModules) { 46 | Object.assign(cssLoaderOptions, { 47 | modules: true, 48 | importLoaders: 1, 49 | localIdentName: '[name]__[local]___[hash:base64:5]' 50 | }) 51 | } 52 | 53 | Object.assign(cssLoaderOptions, loaderOptions) 54 | 55 | let uses = [ 56 | styleLoader, 57 | { 58 | loader: 'css-loader', 59 | options: cssLoaderOptions 60 | } 61 | ] 62 | 63 | if (preLoader) { 64 | uses = uses.concat(preLoader) 65 | } 66 | 67 | if (extract) { 68 | uses = ExtractTextPlugin.extract({ 69 | use: uses, 70 | fallback: styleLoader 71 | }) 72 | } 73 | 74 | uses.forEach(use => { 75 | ruleCSS.use(use.loader).loader(use.loader).options(use.options) 76 | }) 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /docs/flows/built-in-flows.md: -------------------------------------------------------------------------------- 1 | ## flow.entry(filepath, [entryPoint]) 2 | 3 | Add `filepath` to an entry point, default entry point is `client`. 4 | 5 | `flow.entry` is an alias to `flow.entry.append`. 6 | 7 | ### entryPoint 8 | 9 | Type: `string`
10 | Default: `client` 11 | 12 | ## flow.entry.prepend(filepath, [entryPoint]) 13 | 14 | Like `flow.entry` but it inserts filepath before the first element in the entry point. 15 | 16 | 17 | 18 | ## flow.dest(filepath, [mergeOptions]) 19 | 20 | Set Webpack's `output.path` and `output.filename` from `filepath` which is parsed by `path.parse`. 21 | 22 | ### mergeOptions 23 | 24 | Type: `Object`
25 | Default: 26 | 27 | ```js 28 | { 29 | devtoolModuleFilenameTemplate: info => 30 | path.resolve(info.absoluteResourcePath), 31 | pathinfo: true 32 | } 33 | ``` 34 | 35 | It will be merged into `output` option. 36 | 37 | 38 | 39 | ## flow.babel(loaderOptions) 40 | 41 | Add `babel-loader` for `.js`, `.jsx` files. 42 | 43 | `/node_modules/` is ignored by default. 44 | 45 | ### loaderOptions 46 | 47 | Type: `Object`
48 | Default: `undefined` 49 | 50 | Options for `babel-loader`. 51 | 52 | 53 | 54 | ## flow.buble(loaderOptions) 55 | 56 | Same as `flow.babel` but use `buble-loader`. 57 | 58 | 59 | 60 | ## flow.defineConstants(constants) 61 | 62 | ### constants 63 | 64 | Type: `Object`
65 | Required: `true` 66 | 67 | Use `webpack.DefinePlugin` to replace string in your app code, the value is automatically stringified. 68 | 69 | 70 | 71 | ## flow.env(condition, [flows]) 72 | 73 | Add flows in specific condition. 74 | 75 | ### condition 76 | 77 | Type: `boolean` `string` `function`
78 | Required: `true` 79 | 80 | - `boolean`: add flows when it's `true`. 81 | - `string`: add flows when it's equal to `process.env.NODE_ENV`. 82 | - `function`: add flows when its return value is trusty. 83 | 84 | ### flows 85 | 86 | Type: `Array` `function`
87 | Required: `true` 88 | 89 | An array of flows or a function that returns flows. 90 | 91 | 92 | 93 | ## flow.uglifyjs() 94 | 95 | Apply `UglifyJsPlugin`. 96 | 97 | 98 | 99 | ## flow.merge(webpackConfig) 100 | 101 | Directly merge it into base webpack config, it's supposed to be put at the end of your flows. 102 | 103 | ### webpackConfig 104 | 105 | Type: `Object`
106 | Required: `true` 107 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # webpack-flow 2 | 3 | [![NPM version](https://img.shields.io/npm/v/webpack-flow.svg?style=flat)](https://npmjs.com/package/webpack-flow) [![NPM downloads](https://img.shields.io/npm/dm/webpack-flow.svg?style=flat)](https://npmjs.com/package/webpack-flow) [![CircleCI](https://circleci.com/gh/egoist/webpack-flow/tree/master.svg?style=shield&circle-token=e1a1a54deeacf368cc9af44162ef71bc1a255443)](https://circleci.com/gh/egoist/webpack-flow/tree/master) 4 | [![donate](https://img.shields.io/badge/$-donate-ff69b4.svg?maxAge=2592000&style=flat)](https://github.com/egoist/donate) 5 | 6 | ## How does this work? 7 | 8 |
Example
9 | 10 | ```js 11 | // Create Webpack Config in a composable way: 12 | flow.createConfig([ 13 | flow.entry('./src/index.js'), 14 | flow.babel(), 15 | flow.env('production', [ 16 | flow.dest('./dist/[name].[chunkhash].js', { 17 | publicPath: '/my/cdn/' 18 | }) 19 | ]), 20 | flow.env('development', [ 21 | flow.dest('dist/[name].js') 22 | ]) 23 | ]) 24 | ``` 25 |

26 | 27 | `webpack-flow` is similar to [webpack-blocks](https://github.com/andywer/webpack-blocks) but we're using [webpack-chain](https://github.com/mozilla-rpweb/webpack-chain) instead of [webpack-merge](https://github.com/survivejs/webpack-merge) under the hood. With `webpack-chain` you can manage deep nested webpack config in a predictable way while `webpack-merge` kind of looks like a black-box to me. 28 | 29 | ### flow.createConfig(flows) 30 | 31 | It creates a webpack-chain instance, say `config`, and passes it through each flow to manipulate. A `flow` is a function which takes `context` (which you can use to access `config`) as argument, it could also be a higher order function if your flow needs options (most likely it does). 32 | 33 | ### flow 34 | 35 | An example flow which defines some constants: 36 | 37 | ```diff 38 | + function defineConstants(constants) { 39 | + return context => { 40 | + context.config.plugin('define-constants') 41 | + .use(context.webpack.DefinePlugin, [stringifyObjValue(constants)]) 42 | + } 43 | + } 44 | 45 | function stringifyObjValue(obj) { 46 | return Object.keys(obj).reduce((res, key) => { 47 | res[key] = JSON.stringify(obj[key]) 48 | return res 49 | }, {}) 50 | } 51 | 52 | + // Then use it 53 | + flow.createConfig([ 54 | + defineConstants({ 55 | + 'process.env.NODE_ENV': 'development' 56 | + }) 57 | + ]) 58 | ``` 59 | 60 | ## Install 61 | 62 | ```bash 63 | yarn add webpack-flow 64 | ``` 65 | 66 | ## Usage 67 | 68 | ```js 69 | // webpack.config.js 70 | const flow = require('webpack-flow') 71 | 72 | module.exports = flow.createConfig([ 73 | flow.entry('src/index.js'), 74 | //... 75 | ]) 76 | ``` 77 | 78 | For more usages please head to [documentations](./docs). 79 | 80 | ## Contributing 81 | 82 | 1. Fork it! 83 | 2. Create your feature branch: `git checkout -b my-new-feature` 84 | 3. Commit your changes: `git commit -am 'Add some feature'` 85 | 4. Push to the branch: `git push origin my-new-feature` 86 | 5. Submit a pull request :D 87 | 88 | 89 | ## Author 90 | 91 | **webpack-flow** © [egoist](https://github.com/egoist), Released under the [MIT](./LICENSE) License.
92 | Authored and maintained by egoist with help from contributors ([list](https://github.com/egoist/webpack-flow/contributors)). 93 | 94 | > [egoistian.com](https://egoistian.com) · GitHub [@egoist](https://github.com/egoist) · Twitter [@rem_rin_rin](https://twitter.com/rem_rin_rin) 95 | -------------------------------------------------------------------------------- /packages/webpack-flow/test/index.test.js: -------------------------------------------------------------------------------- 1 | import path from 'path' 2 | import flow from '../' 3 | 4 | describe('entry', () => { 5 | it('append to default entryPoint', () => { 6 | const config = flow.createConfig([ 7 | flow.entry('src/index.js'), 8 | flow.entry('src/foo.js') 9 | ]) 10 | 11 | expect(config).toEqual({ 12 | entry: { 13 | client: ['src/index.js', 'src/foo.js'] 14 | } 15 | }) 16 | }) 17 | 18 | it('prepend to default entryPoint', () => { 19 | const config = flow.createConfig([ 20 | flow.entry('src/index.js'), 21 | flow.entry.prepend('src/foo.js') 22 | ]) 23 | 24 | expect(config).toEqual({ 25 | entry: { 26 | client: ['src/foo.js', 'src/index.js'] 27 | } 28 | }) 29 | }) 30 | 31 | it('append to custom entryPoint', () => { 32 | const config = flow.createConfig([ 33 | flow.entry('src/index.js'), 34 | flow.entry('src/foo.js', 'vendor') 35 | ]) 36 | 37 | expect(config).toEqual({ 38 | entry: { 39 | client: ['src/index.js'], 40 | vendor: ['src/foo.js'] 41 | } 42 | }) 43 | }) 44 | 45 | it('prepend to custom entryPoint', () => { 46 | const config = flow.createConfig([ 47 | flow.entry('src/index.js'), 48 | flow.entry('src/foo.js', 'vendor'), 49 | flow.entry.prepend('src/bar.js', 'vendor') 50 | ]) 51 | 52 | expect(config).toEqual({ 53 | entry: { 54 | client: ['src/index.js'], 55 | vendor: ['src/bar.js', 'src/foo.js'] 56 | } 57 | }) 58 | }) 59 | }) 60 | 61 | describe('babel', () => { 62 | it('add babel-loader', () => { 63 | const config = flow.createConfig([flow.babel()]) 64 | 65 | expect(config).toEqual({ 66 | module: { 67 | rules: [ 68 | { 69 | test: /\.jsx?$/, 70 | exclude: [/node_modules/], 71 | use: [ 72 | { 73 | loader: 'babel-loader' 74 | } 75 | ] 76 | } 77 | ] 78 | } 79 | }) 80 | }) 81 | 82 | it('add babel-loader with options', () => { 83 | const config = flow.createConfig([ 84 | flow.babel({ 85 | presets: ['vue-app'] 86 | }) 87 | ]) 88 | 89 | expect(config).toEqual({ 90 | module: { 91 | rules: [ 92 | { 93 | test: /\.jsx?$/, 94 | exclude: [/node_modules/], 95 | use: [ 96 | { 97 | loader: 'babel-loader', 98 | options: { 99 | presets: ['vue-app'] 100 | } 101 | } 102 | ] 103 | } 104 | ] 105 | } 106 | }) 107 | }) 108 | }) 109 | 110 | describe('dest', () => { 111 | it('set output', () => { 112 | const config = flow.createConfig([flow.dest('./dist/[name].js')]) 113 | 114 | expect(config.output.path).toBe('./dist') 115 | expect(config.output.filename).toBe('[name].js') 116 | expect(config.output.publicPath).toBe('/') 117 | expect(config.output.pathinfo).toBe(true) 118 | expect(typeof config.output.devtoolModuleFilenameTemplate).toBe('function') 119 | }) 120 | }) 121 | 122 | describe('env', () => { 123 | it('no env', () => { 124 | const config = flow.createConfig([ 125 | flow.env('papapa', [flow.entry('src/index.js')]) 126 | ]) 127 | 128 | expect(config).toEqual({}) 129 | }) 130 | 131 | it('by condition', () => { 132 | const config = flow.createConfig([ 133 | flow.env(1 === 1, [flow.entry('src/index.js')]) 134 | ]) 135 | 136 | expect(config).toEqual({ 137 | entry: { 138 | client: ['src/index.js'] 139 | } 140 | }) 141 | }) 142 | 143 | it('by function return value', () => { 144 | const config = flow.createConfig([ 145 | flow.env(() => false, [flow.entry('no.js')]), 146 | flow.env(() => true, [flow.entry('yes.js')]) 147 | ]) 148 | 149 | expect(config).toEqual({ 150 | entry: { 151 | client: ['yes.js'] 152 | } 153 | }) 154 | }) 155 | }) 156 | 157 | describe('define constants', () => { 158 | it('stringified', () => { 159 | const config = flow.createConfig([ 160 | flow.defineConstants({ 161 | 'process.env.NODE_ENV': 'development' 162 | }) 163 | ]) 164 | 165 | expect(config).toEqual({ 166 | plugins: [ 167 | { 168 | definitions: { 169 | 'process.env.NODE_ENV': '"development"' 170 | } 171 | } 172 | ] 173 | }) 174 | }) 175 | }) 176 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | JSONStream@^1.0.4: 6 | version "1.3.1" 7 | resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" 8 | dependencies: 9 | jsonparse "^1.2.0" 10 | through ">=2.2.7 <3" 11 | 12 | add-stream@^1.0.0: 13 | version "1.0.0" 14 | resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" 15 | 16 | align-text@^0.1.1, align-text@^0.1.3: 17 | version "0.1.4" 18 | resolved "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 19 | dependencies: 20 | kind-of "^3.0.2" 21 | longest "^1.0.1" 22 | repeat-string "^1.5.2" 23 | 24 | amdefine@>=0.0.4: 25 | version "1.0.1" 26 | resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 27 | 28 | ansi-escapes@^1.1.0: 29 | version "1.4.0" 30 | resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 31 | 32 | ansi-regex@^2.0.0: 33 | version "2.1.1" 34 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 35 | 36 | ansi-styles@^2.2.1: 37 | version "2.2.1" 38 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 39 | 40 | aproba@^1.0.3: 41 | version "1.1.2" 42 | resolved "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" 43 | 44 | are-we-there-yet@~1.1.2: 45 | version "1.1.4" 46 | resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 47 | dependencies: 48 | delegates "^1.0.0" 49 | readable-stream "^2.0.6" 50 | 51 | array-find-index@^1.0.1: 52 | version "1.0.2" 53 | resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 54 | 55 | array-ify@^1.0.0: 56 | version "1.0.0" 57 | resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" 58 | 59 | array-union@^1.0.1: 60 | version "1.0.2" 61 | resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 62 | dependencies: 63 | array-uniq "^1.0.1" 64 | 65 | array-uniq@^1.0.1: 66 | version "1.0.3" 67 | resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 68 | 69 | async@^1.4.0, async@^1.5.0: 70 | version "1.5.2" 71 | resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 72 | 73 | bail@^1.0.0: 74 | version "1.0.2" 75 | resolved "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz#f7d6c1731630a9f9f0d4d35ed1f962e2074a1764" 76 | 77 | balanced-match@^0.4.1: 78 | version "0.4.2" 79 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 80 | 81 | brace-expansion@^1.1.7: 82 | version "1.1.7" 83 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" 84 | dependencies: 85 | balanced-match "^0.4.1" 86 | concat-map "0.0.1" 87 | 88 | builtin-modules@^1.0.0: 89 | version "1.1.1" 90 | resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 91 | 92 | byline@^5.0.0: 93 | version "5.0.0" 94 | resolved "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" 95 | 96 | camelcase-keys@^2.0.0: 97 | version "2.1.0" 98 | resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 99 | dependencies: 100 | camelcase "^2.0.0" 101 | map-obj "^1.0.0" 102 | 103 | camelcase@^1.0.2: 104 | version "1.2.1" 105 | resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 106 | 107 | camelcase@^2.0.0: 108 | version "2.1.1" 109 | resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 110 | 111 | camelcase@^4.1.0: 112 | version "4.1.0" 113 | resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 114 | 115 | center-align@^0.1.1: 116 | version "0.1.3" 117 | resolved "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 118 | dependencies: 119 | align-text "^0.1.3" 120 | lazy-cache "^1.0.3" 121 | 122 | chalk@^1.0.0, chalk@^1.1.1: 123 | version "1.1.3" 124 | resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 125 | dependencies: 126 | ansi-styles "^2.2.1" 127 | escape-string-regexp "^1.0.2" 128 | has-ansi "^2.0.0" 129 | strip-ansi "^3.0.0" 130 | supports-color "^2.0.0" 131 | 132 | character-entities-legacy@^1.0.0: 133 | version "1.1.1" 134 | resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz#f40779df1a101872bb510a3d295e1fccf147202f" 135 | 136 | character-entities@^1.0.0: 137 | version "1.2.1" 138 | resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz#f76871be5ef66ddb7f8f8e3478ecc374c27d6dca" 139 | 140 | character-reference-invalid@^1.0.0: 141 | version "1.1.1" 142 | resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz#942835f750e4ec61a308e60c2ef8cc1011202efc" 143 | 144 | ci-info@^1.0.0: 145 | version "1.0.0" 146 | resolved "https://registry.npmjs.org/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" 147 | 148 | cli-cursor@^2.1.0: 149 | version "2.1.0" 150 | resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 151 | dependencies: 152 | restore-cursor "^2.0.0" 153 | 154 | cli-width@^2.0.0: 155 | version "2.1.0" 156 | resolved "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" 157 | 158 | cliui@^2.1.0: 159 | version "2.1.0" 160 | resolved "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 161 | dependencies: 162 | center-align "^0.1.1" 163 | right-align "^0.1.1" 164 | wordwrap "0.0.2" 165 | 166 | cliui@^3.2.0: 167 | version "3.2.0" 168 | resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 169 | dependencies: 170 | string-width "^1.0.1" 171 | strip-ansi "^3.0.1" 172 | wrap-ansi "^2.0.0" 173 | 174 | clone@^1.0.2: 175 | version "1.0.2" 176 | resolved "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" 177 | 178 | cmd-shim@^2.0.2: 179 | version "2.0.2" 180 | resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" 181 | dependencies: 182 | graceful-fs "^4.1.2" 183 | mkdirp "~0.5.0" 184 | 185 | code-point-at@^1.0.0: 186 | version "1.1.0" 187 | resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 188 | 189 | collapse-white-space@^1.0.2: 190 | version "1.0.3" 191 | resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz#4b906f670e5a963a87b76b0e1689643341b6023c" 192 | 193 | columnify@^1.5.4: 194 | version "1.5.4" 195 | resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" 196 | dependencies: 197 | strip-ansi "^3.0.0" 198 | wcwidth "^1.0.0" 199 | 200 | command-join@^2.0.0: 201 | version "2.0.0" 202 | resolved "https://registry.npmjs.org/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" 203 | 204 | compare-func@^1.3.1: 205 | version "1.3.2" 206 | resolved "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" 207 | dependencies: 208 | array-ify "^1.0.0" 209 | dot-prop "^3.0.0" 210 | 211 | concat-map@0.0.1: 212 | version "0.0.1" 213 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 214 | 215 | concat-stream@^1.4.10: 216 | version "1.6.0" 217 | resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" 218 | dependencies: 219 | inherits "^2.0.3" 220 | readable-stream "^2.2.2" 221 | typedarray "^0.0.6" 222 | 223 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 224 | version "1.1.0" 225 | resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 226 | 227 | conventional-changelog-angular@^1.3.4: 228 | version "1.3.4" 229 | resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.3.4.tgz#7d7cdfbd358948312904d02229a61fd6075cf455" 230 | dependencies: 231 | compare-func "^1.3.1" 232 | github-url-from-git "^1.4.0" 233 | q "^1.4.1" 234 | 235 | conventional-changelog-atom@^0.1.0: 236 | version "0.1.0" 237 | resolved "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz#67a47c66a42b2f8909ef1587c9989ae1de730b92" 238 | dependencies: 239 | q "^1.4.1" 240 | 241 | conventional-changelog-cli@^1.3.1: 242 | version "1.3.1" 243 | resolved "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-1.3.1.tgz#1cd5a9dbae25ffb5ffe67afef1e136eaceefd2d5" 244 | dependencies: 245 | add-stream "^1.0.0" 246 | conventional-changelog "^1.1.3" 247 | lodash "^4.1.0" 248 | meow "^3.7.0" 249 | tempfile "^1.1.1" 250 | 251 | conventional-changelog-codemirror@^0.1.0: 252 | version "0.1.0" 253 | resolved "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz#7577a591dbf9b538e7a150a7ee62f65a2872b334" 254 | dependencies: 255 | q "^1.4.1" 256 | 257 | conventional-changelog-core@^1.9.0: 258 | version "1.9.0" 259 | resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.9.0.tgz#de5dfbc091847656508d4a389e35c9a1bc49e7f4" 260 | dependencies: 261 | conventional-changelog-writer "^1.1.0" 262 | conventional-commits-parser "^1.0.0" 263 | dateformat "^1.0.12" 264 | get-pkg-repo "^1.0.0" 265 | git-raw-commits "^1.2.0" 266 | git-remote-origin-url "^2.0.0" 267 | git-semver-tags "^1.2.0" 268 | lodash "^4.0.0" 269 | normalize-package-data "^2.3.5" 270 | q "^1.4.1" 271 | read-pkg "^1.1.0" 272 | read-pkg-up "^1.0.1" 273 | through2 "^2.0.0" 274 | 275 | conventional-changelog-ember@^0.2.6: 276 | version "0.2.6" 277 | resolved "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.6.tgz#8b7355419f5127493c4c562473ab2fc792f1c2b6" 278 | dependencies: 279 | q "^1.4.1" 280 | 281 | conventional-changelog-eslint@^0.1.0: 282 | version "0.1.0" 283 | resolved "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz#a52411e999e0501ce500b856b0a643d0330907e2" 284 | dependencies: 285 | q "^1.4.1" 286 | 287 | conventional-changelog-express@^0.1.0: 288 | version "0.1.0" 289 | resolved "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz#55c6c841c811962036c037bdbd964a54ae310fce" 290 | dependencies: 291 | q "^1.4.1" 292 | 293 | conventional-changelog-jquery@^0.1.0: 294 | version "0.1.0" 295 | resolved "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" 296 | dependencies: 297 | q "^1.4.1" 298 | 299 | conventional-changelog-jscs@^0.1.0: 300 | version "0.1.0" 301 | resolved "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" 302 | dependencies: 303 | q "^1.4.1" 304 | 305 | conventional-changelog-jshint@^0.1.0: 306 | version "0.1.0" 307 | resolved "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz#00cab8e9a3317487abd94c4d84671342918d2a07" 308 | dependencies: 309 | compare-func "^1.3.1" 310 | q "^1.4.1" 311 | 312 | conventional-changelog-writer@^1.1.0: 313 | version "1.4.1" 314 | resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz#3f4cb4d003ebb56989d30d345893b52a43639c8e" 315 | dependencies: 316 | compare-func "^1.3.1" 317 | conventional-commits-filter "^1.0.0" 318 | dateformat "^1.0.11" 319 | handlebars "^4.0.2" 320 | json-stringify-safe "^5.0.1" 321 | lodash "^4.0.0" 322 | meow "^3.3.0" 323 | semver "^5.0.1" 324 | split "^1.0.0" 325 | through2 "^2.0.0" 326 | 327 | conventional-changelog@^1.1.3: 328 | version "1.1.4" 329 | resolved "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.4.tgz#108bc750c2a317e200e2f9b413caaa1f8c7efa3b" 330 | dependencies: 331 | conventional-changelog-angular "^1.3.4" 332 | conventional-changelog-atom "^0.1.0" 333 | conventional-changelog-codemirror "^0.1.0" 334 | conventional-changelog-core "^1.9.0" 335 | conventional-changelog-ember "^0.2.6" 336 | conventional-changelog-eslint "^0.1.0" 337 | conventional-changelog-express "^0.1.0" 338 | conventional-changelog-jquery "^0.1.0" 339 | conventional-changelog-jscs "^0.1.0" 340 | conventional-changelog-jshint "^0.1.0" 341 | 342 | conventional-commits-filter@^1.0.0: 343 | version "1.0.0" 344 | resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" 345 | dependencies: 346 | is-subset "^0.1.1" 347 | modify-values "^1.0.0" 348 | 349 | conventional-commits-parser@^1.0.0, conventional-commits-parser@^1.0.1: 350 | version "1.3.0" 351 | resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865" 352 | dependencies: 353 | JSONStream "^1.0.4" 354 | is-text-path "^1.0.0" 355 | lodash "^4.2.1" 356 | meow "^3.3.0" 357 | split2 "^2.0.0" 358 | through2 "^2.0.0" 359 | trim-off-newlines "^1.0.0" 360 | 361 | conventional-recommended-bump@^1.0.0: 362 | version "1.0.0" 363 | resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-1.0.0.tgz#6d303a27837ae938b7c68c8ddeed34559b4b0789" 364 | dependencies: 365 | concat-stream "^1.4.10" 366 | conventional-commits-filter "^1.0.0" 367 | conventional-commits-parser "^1.0.1" 368 | git-raw-commits "^1.2.0" 369 | git-semver-tags "^1.2.0" 370 | meow "^3.3.0" 371 | object-assign "^4.0.1" 372 | 373 | core-util-is@~1.0.0: 374 | version "1.0.2" 375 | resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 376 | 377 | cross-spawn@^4.0.0: 378 | version "4.0.2" 379 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 380 | dependencies: 381 | lru-cache "^4.0.1" 382 | which "^1.2.9" 383 | 384 | cross-spawn@^5.0.1: 385 | version "5.1.0" 386 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 387 | dependencies: 388 | lru-cache "^4.0.1" 389 | shebang-command "^1.2.0" 390 | which "^1.2.9" 391 | 392 | currently-unhandled@^0.4.1: 393 | version "0.4.1" 394 | resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 395 | dependencies: 396 | array-find-index "^1.0.1" 397 | 398 | dargs@^4.0.1: 399 | version "4.1.0" 400 | resolved "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" 401 | dependencies: 402 | number-is-nan "^1.0.0" 403 | 404 | dateformat@^1.0.11, dateformat@^1.0.12: 405 | version "1.0.12" 406 | resolved "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" 407 | dependencies: 408 | get-stdin "^4.0.1" 409 | meow "^3.3.0" 410 | 411 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: 412 | version "1.2.0" 413 | resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 414 | 415 | dedent@^0.7.0: 416 | version "0.7.0" 417 | resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 418 | 419 | defaults@^1.0.3: 420 | version "1.0.3" 421 | resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" 422 | dependencies: 423 | clone "^1.0.2" 424 | 425 | delegates@^1.0.0: 426 | version "1.0.0" 427 | resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 428 | 429 | detect-indent@^5.0.0: 430 | version "5.0.0" 431 | resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" 432 | 433 | dot-prop@^3.0.0: 434 | version "3.0.0" 435 | resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" 436 | dependencies: 437 | is-obj "^1.0.0" 438 | 439 | duplexer@^0.1.1: 440 | version "0.1.1" 441 | resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" 442 | 443 | error-ex@^1.2.0: 444 | version "1.3.1" 445 | resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 446 | dependencies: 447 | is-arrayish "^0.2.1" 448 | 449 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 450 | version "1.0.5" 451 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 452 | 453 | eslint-config-prettier@^1.7.0: 454 | version "1.7.0" 455 | resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-1.7.0.tgz#cda3ce22df1e852daa9370f1f3446e8b8a02ce44" 456 | dependencies: 457 | get-stdin "^5.0.1" 458 | 459 | eslint-config-rem@^3.2.0: 460 | version "3.2.0" 461 | resolved "https://registry.npmjs.org/eslint-config-rem/-/eslint-config-rem-3.2.0.tgz#8f9db2f7dded1875a12689a3e28ab4ae137cfac3" 462 | dependencies: 463 | eslint-config-prettier "^1.7.0" 464 | eslint-plugin-markdown "^1.0.0-beta.6" 465 | eslint-plugin-prettier "^2.0.1" 466 | prettier "^1.2.2" 467 | 468 | eslint-plugin-markdown@^1.0.0-beta.6: 469 | version "1.0.0-beta.7" 470 | resolved "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-1.0.0-beta.7.tgz#12e73a4127c4a4b79d966f9f475851dd0f78f7e7" 471 | dependencies: 472 | object-assign "^4.0.1" 473 | remark-parse "^3.0.0" 474 | unified "^6.1.2" 475 | 476 | eslint-plugin-prettier@^2.0.1: 477 | version "2.1.1" 478 | resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.1.1.tgz#2fb7e2ab961f2b61d2c8cf91bc17716ca8c53868" 479 | dependencies: 480 | fast-diff "^1.1.1" 481 | jest-docblock "^20.0.1" 482 | 483 | execa@^0.5.0: 484 | version "0.5.1" 485 | resolved "https://registry.npmjs.org/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" 486 | dependencies: 487 | cross-spawn "^4.0.0" 488 | get-stream "^2.2.0" 489 | is-stream "^1.1.0" 490 | npm-run-path "^2.0.0" 491 | p-finally "^1.0.0" 492 | signal-exit "^3.0.0" 493 | strip-eof "^1.0.0" 494 | 495 | execa@^0.6.3: 496 | version "0.6.3" 497 | resolved "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe" 498 | dependencies: 499 | cross-spawn "^5.0.1" 500 | get-stream "^3.0.0" 501 | is-stream "^1.1.0" 502 | npm-run-path "^2.0.0" 503 | p-finally "^1.0.0" 504 | signal-exit "^3.0.0" 505 | strip-eof "^1.0.0" 506 | 507 | extend@^3.0.0: 508 | version "3.0.1" 509 | resolved "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 510 | 511 | external-editor@^2.0.1: 512 | version "2.0.4" 513 | resolved "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" 514 | dependencies: 515 | iconv-lite "^0.4.17" 516 | jschardet "^1.4.2" 517 | tmp "^0.0.31" 518 | 519 | fast-diff@^1.1.1: 520 | version "1.1.1" 521 | resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.1.tgz#0aea0e4e605b6a2189f0e936d4b7fbaf1b7cfd9b" 522 | 523 | figures@^2.0.0: 524 | version "2.0.0" 525 | resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 526 | dependencies: 527 | escape-string-regexp "^1.0.5" 528 | 529 | find-up@^1.0.0: 530 | version "1.1.2" 531 | resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 532 | dependencies: 533 | path-exists "^2.0.0" 534 | pinkie-promise "^2.0.0" 535 | 536 | find-up@^2.0.0, find-up@^2.1.0: 537 | version "2.1.0" 538 | resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 539 | dependencies: 540 | locate-path "^2.0.0" 541 | 542 | fs-extra@^3.0.1: 543 | version "3.0.1" 544 | resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" 545 | dependencies: 546 | graceful-fs "^4.1.2" 547 | jsonfile "^3.0.0" 548 | universalify "^0.1.0" 549 | 550 | fs.realpath@^1.0.0: 551 | version "1.0.0" 552 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 553 | 554 | function-bind@^1.0.2: 555 | version "1.1.0" 556 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" 557 | 558 | gauge@~2.7.3: 559 | version "2.7.4" 560 | resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 561 | dependencies: 562 | aproba "^1.0.3" 563 | console-control-strings "^1.0.0" 564 | has-unicode "^2.0.0" 565 | object-assign "^4.1.0" 566 | signal-exit "^3.0.0" 567 | string-width "^1.0.1" 568 | strip-ansi "^3.0.1" 569 | wide-align "^1.1.0" 570 | 571 | get-caller-file@^1.0.1: 572 | version "1.0.2" 573 | resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 574 | 575 | get-pkg-repo@^1.0.0: 576 | version "1.3.0" 577 | resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.3.0.tgz#43c6b4c048b75dd604fc5388edecde557f6335df" 578 | dependencies: 579 | hosted-git-info "^2.1.4" 580 | meow "^3.3.0" 581 | normalize-package-data "^2.3.0" 582 | parse-github-repo-url "^1.3.0" 583 | through2 "^2.0.0" 584 | 585 | get-port@^3.1.0: 586 | version "3.1.0" 587 | resolved "https://registry.npmjs.org/get-port/-/get-port-3.1.0.tgz#ef01b18a84ca6486970ff99e54446141a73ffd3e" 588 | 589 | get-stdin@^4.0.1: 590 | version "4.0.1" 591 | resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 592 | 593 | get-stdin@^5.0.1: 594 | version "5.0.1" 595 | resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" 596 | 597 | get-stream@^2.2.0: 598 | version "2.3.1" 599 | resolved "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" 600 | dependencies: 601 | object-assign "^4.0.1" 602 | pinkie-promise "^2.0.0" 603 | 604 | get-stream@^3.0.0: 605 | version "3.0.0" 606 | resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 607 | 608 | git-raw-commits@^1.2.0: 609 | version "1.2.0" 610 | resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.2.0.tgz#0f3a8bfd99ae0f2d8b9224d58892975e9a52d03c" 611 | dependencies: 612 | dargs "^4.0.1" 613 | lodash.template "^4.0.2" 614 | meow "^3.3.0" 615 | split2 "^2.0.0" 616 | through2 "^2.0.0" 617 | 618 | git-remote-origin-url@^2.0.0: 619 | version "2.0.0" 620 | resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" 621 | dependencies: 622 | gitconfiglocal "^1.0.0" 623 | pify "^2.3.0" 624 | 625 | git-semver-tags@^1.2.0: 626 | version "1.2.0" 627 | resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.2.0.tgz#b31fd02c8ab578bd6c9b5cacca5e1c64c1177ac1" 628 | dependencies: 629 | meow "^3.3.0" 630 | semver "^5.0.1" 631 | 632 | gitconfiglocal@^1.0.0: 633 | version "1.0.0" 634 | resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" 635 | dependencies: 636 | ini "^1.3.2" 637 | 638 | github-url-from-git@^1.4.0: 639 | version "1.5.0" 640 | resolved "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0" 641 | 642 | glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: 643 | version "7.1.2" 644 | resolved "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 645 | dependencies: 646 | fs.realpath "^1.0.0" 647 | inflight "^1.0.4" 648 | inherits "2" 649 | minimatch "^3.0.4" 650 | once "^1.3.0" 651 | path-is-absolute "^1.0.0" 652 | 653 | globby@^6.1.0: 654 | version "6.1.0" 655 | resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" 656 | dependencies: 657 | array-union "^1.0.1" 658 | glob "^7.0.3" 659 | object-assign "^4.0.1" 660 | pify "^2.0.0" 661 | pinkie-promise "^2.0.0" 662 | 663 | graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: 664 | version "4.1.11" 665 | resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 666 | 667 | handlebars@^4.0.2: 668 | version "4.0.10" 669 | resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" 670 | dependencies: 671 | async "^1.4.0" 672 | optimist "^0.6.1" 673 | source-map "^0.4.4" 674 | optionalDependencies: 675 | uglify-js "^2.6" 676 | 677 | has-ansi@^2.0.0: 678 | version "2.0.0" 679 | resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 680 | dependencies: 681 | ansi-regex "^2.0.0" 682 | 683 | has-unicode@^2.0.0: 684 | version "2.0.1" 685 | resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 686 | 687 | has@^1.0.1: 688 | version "1.0.1" 689 | resolved "https://registry.npmjs.org/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" 690 | dependencies: 691 | function-bind "^1.0.2" 692 | 693 | hosted-git-info@^2.1.4: 694 | version "2.4.2" 695 | resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" 696 | 697 | iconv-lite@^0.4.17: 698 | version "0.4.17" 699 | resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" 700 | 701 | imurmurhash@^0.1.4: 702 | version "0.1.4" 703 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 704 | 705 | indent-string@^2.1.0: 706 | version "2.1.0" 707 | resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 708 | dependencies: 709 | repeating "^2.0.0" 710 | 711 | inflight@^1.0.4: 712 | version "1.0.6" 713 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 714 | dependencies: 715 | once "^1.3.0" 716 | wrappy "1" 717 | 718 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1: 719 | version "2.0.3" 720 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 721 | 722 | ini@^1.3.2: 723 | version "1.3.4" 724 | resolved "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 725 | 726 | inquirer@^3.0.6: 727 | version "3.0.6" 728 | resolved "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" 729 | dependencies: 730 | ansi-escapes "^1.1.0" 731 | chalk "^1.0.0" 732 | cli-cursor "^2.1.0" 733 | cli-width "^2.0.0" 734 | external-editor "^2.0.1" 735 | figures "^2.0.0" 736 | lodash "^4.3.0" 737 | mute-stream "0.0.7" 738 | run-async "^2.2.0" 739 | rx "^4.1.0" 740 | string-width "^2.0.0" 741 | strip-ansi "^3.0.0" 742 | through "^2.3.6" 743 | 744 | invert-kv@^1.0.0: 745 | version "1.0.0" 746 | resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 747 | 748 | is-alphabetical@^1.0.0: 749 | version "1.0.1" 750 | resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz#c77079cc91d4efac775be1034bf2d243f95e6f08" 751 | 752 | is-alphanumerical@^1.0.0: 753 | version "1.0.1" 754 | resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz#dfb4aa4d1085e33bdb61c2dee9c80e9c6c19f53b" 755 | dependencies: 756 | is-alphabetical "^1.0.0" 757 | is-decimal "^1.0.0" 758 | 759 | is-arrayish@^0.2.1: 760 | version "0.2.1" 761 | resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 762 | 763 | is-buffer@^1.1.4, is-buffer@^1.1.5: 764 | version "1.1.5" 765 | resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" 766 | 767 | is-builtin-module@^1.0.0: 768 | version "1.0.0" 769 | resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 770 | dependencies: 771 | builtin-modules "^1.0.0" 772 | 773 | is-ci@^1.0.10: 774 | version "1.0.10" 775 | resolved "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" 776 | dependencies: 777 | ci-info "^1.0.0" 778 | 779 | is-decimal@^1.0.0: 780 | version "1.0.1" 781 | resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz#f5fb6a94996ad9e8e3761fbfbd091f1fca8c4e82" 782 | 783 | is-finite@^1.0.0: 784 | version "1.0.2" 785 | resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 786 | dependencies: 787 | number-is-nan "^1.0.0" 788 | 789 | is-fullwidth-code-point@^1.0.0: 790 | version "1.0.0" 791 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 792 | dependencies: 793 | number-is-nan "^1.0.0" 794 | 795 | is-fullwidth-code-point@^2.0.0: 796 | version "2.0.0" 797 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 798 | 799 | is-hexadecimal@^1.0.0: 800 | version "1.0.1" 801 | resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz#6e084bbc92061fbb0971ec58b6ce6d404e24da69" 802 | 803 | is-obj@^1.0.0: 804 | version "1.0.1" 805 | resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 806 | 807 | is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: 808 | version "1.1.0" 809 | resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 810 | 811 | is-promise@^2.1.0: 812 | version "2.1.0" 813 | resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 814 | 815 | is-stream@^1.1.0: 816 | version "1.1.0" 817 | resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 818 | 819 | is-subset@^0.1.1: 820 | version "0.1.1" 821 | resolved "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" 822 | 823 | is-text-path@^1.0.0: 824 | version "1.0.1" 825 | resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" 826 | dependencies: 827 | text-extensions "^1.0.0" 828 | 829 | is-utf8@^0.2.0: 830 | version "0.2.1" 831 | resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 832 | 833 | is-whitespace-character@^1.0.0: 834 | version "1.0.1" 835 | resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz#9ae0176f3282b65457a1992cdb084f8a5f833e3b" 836 | 837 | is-word-character@^1.0.0: 838 | version "1.0.1" 839 | resolved "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz#5a03fa1ea91ace8a6eb0c7cd770eb86d65c8befb" 840 | 841 | isarray@~1.0.0: 842 | version "1.0.0" 843 | resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 844 | 845 | isexe@^2.0.0: 846 | version "2.0.0" 847 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 848 | 849 | jest-docblock@^20.0.1: 850 | version "20.0.3" 851 | resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712" 852 | 853 | jschardet@^1.4.2: 854 | version "1.4.2" 855 | resolved "https://registry.npmjs.org/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a" 856 | 857 | json-stringify-safe@^5.0.1: 858 | version "5.0.1" 859 | resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 860 | 861 | jsonfile@^3.0.0: 862 | version "3.0.0" 863 | resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.0.tgz#92e7c7444e5ffd5fa32e6a9ae8b85034df8347d0" 864 | optionalDependencies: 865 | graceful-fs "^4.1.6" 866 | 867 | jsonparse@^1.2.0: 868 | version "1.3.1" 869 | resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 870 | 871 | kind-of@^3.0.2: 872 | version "3.2.2" 873 | resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 874 | dependencies: 875 | is-buffer "^1.1.5" 876 | 877 | lazy-cache@^1.0.3: 878 | version "1.0.4" 879 | resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 880 | 881 | lcid@^1.0.0: 882 | version "1.0.0" 883 | resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 884 | dependencies: 885 | invert-kv "^1.0.0" 886 | 887 | lerna@^2.0.0: 888 | version "2.0.0" 889 | resolved "https://registry.npmjs.org/lerna/-/lerna-2.0.0.tgz#49a72fe70e06aebfd7ea23efb2ab41abe60ebeea" 890 | dependencies: 891 | async "^1.5.0" 892 | chalk "^1.1.1" 893 | cmd-shim "^2.0.2" 894 | columnify "^1.5.4" 895 | command-join "^2.0.0" 896 | conventional-changelog-cli "^1.3.1" 897 | conventional-recommended-bump "^1.0.0" 898 | dedent "^0.7.0" 899 | execa "^0.6.3" 900 | find-up "^2.1.0" 901 | fs-extra "^3.0.1" 902 | get-port "^3.1.0" 903 | glob "^7.1.2" 904 | globby "^6.1.0" 905 | graceful-fs "^4.1.11" 906 | inquirer "^3.0.6" 907 | is-ci "^1.0.10" 908 | load-json-file "^2.0.0" 909 | lodash "^4.17.4" 910 | minimatch "^3.0.4" 911 | npmlog "^4.1.0" 912 | p-finally "^1.0.0" 913 | path-exists "^3.0.0" 914 | read-cmd-shim "^1.0.1" 915 | read-pkg "^2.0.0" 916 | rimraf "^2.6.1" 917 | safe-buffer "^5.0.1" 918 | semver "^5.1.0" 919 | signal-exit "^3.0.2" 920 | strong-log-transformer "^1.0.6" 921 | temp-write "^3.3.0" 922 | write-file-atomic "^2.1.0" 923 | write-json-file "^2.1.0" 924 | write-pkg "^3.0.1" 925 | yargs "^8.0.1" 926 | 927 | load-json-file@^1.0.0: 928 | version "1.1.0" 929 | resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 930 | dependencies: 931 | graceful-fs "^4.1.2" 932 | parse-json "^2.2.0" 933 | pify "^2.0.0" 934 | pinkie-promise "^2.0.0" 935 | strip-bom "^2.0.0" 936 | 937 | load-json-file@^2.0.0: 938 | version "2.0.0" 939 | resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 940 | dependencies: 941 | graceful-fs "^4.1.2" 942 | parse-json "^2.2.0" 943 | pify "^2.0.0" 944 | strip-bom "^3.0.0" 945 | 946 | locate-path@^2.0.0: 947 | version "2.0.0" 948 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 949 | dependencies: 950 | p-locate "^2.0.0" 951 | path-exists "^3.0.0" 952 | 953 | lodash._reinterpolate@~3.0.0: 954 | version "3.0.0" 955 | resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" 956 | 957 | lodash.template@^4.0.2: 958 | version "4.4.0" 959 | resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" 960 | dependencies: 961 | lodash._reinterpolate "~3.0.0" 962 | lodash.templatesettings "^4.0.0" 963 | 964 | lodash.templatesettings@^4.0.0: 965 | version "4.1.0" 966 | resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" 967 | dependencies: 968 | lodash._reinterpolate "~3.0.0" 969 | 970 | lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0: 971 | version "4.17.4" 972 | resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 973 | 974 | longest@^1.0.1: 975 | version "1.0.1" 976 | resolved "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 977 | 978 | loud-rejection@^1.0.0: 979 | version "1.6.0" 980 | resolved "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 981 | dependencies: 982 | currently-unhandled "^0.4.1" 983 | signal-exit "^3.0.0" 984 | 985 | lru-cache@^4.0.1: 986 | version "4.0.2" 987 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" 988 | dependencies: 989 | pseudomap "^1.0.1" 990 | yallist "^2.0.0" 991 | 992 | make-dir@^1.0.0: 993 | version "1.0.0" 994 | resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" 995 | dependencies: 996 | pify "^2.3.0" 997 | 998 | map-obj@^1.0.0, map-obj@^1.0.1: 999 | version "1.0.1" 1000 | resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 1001 | 1002 | markdown-escapes@^1.0.0: 1003 | version "1.0.1" 1004 | resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz#1994df2d3af4811de59a6714934c2b2292734518" 1005 | 1006 | mem@^1.1.0: 1007 | version "1.1.0" 1008 | resolved "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 1009 | dependencies: 1010 | mimic-fn "^1.0.0" 1011 | 1012 | meow@^3.3.0, meow@^3.7.0: 1013 | version "3.7.0" 1014 | resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 1015 | dependencies: 1016 | camelcase-keys "^2.0.0" 1017 | decamelize "^1.1.2" 1018 | loud-rejection "^1.0.0" 1019 | map-obj "^1.0.1" 1020 | minimist "^1.1.3" 1021 | normalize-package-data "^2.3.4" 1022 | object-assign "^4.0.1" 1023 | read-pkg-up "^1.0.1" 1024 | redent "^1.0.0" 1025 | trim-newlines "^1.0.0" 1026 | 1027 | mimic-fn@^1.0.0: 1028 | version "1.1.0" 1029 | resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 1030 | 1031 | minimatch@^3.0.4: 1032 | version "3.0.4" 1033 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1034 | dependencies: 1035 | brace-expansion "^1.1.7" 1036 | 1037 | minimist@0.0.8, minimist@~0.0.1: 1038 | version "0.0.8" 1039 | resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1040 | 1041 | minimist@^0.1.0: 1042 | version "0.1.0" 1043 | resolved "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" 1044 | 1045 | minimist@^1.1.3: 1046 | version "1.2.0" 1047 | resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1048 | 1049 | mkdirp@~0.5.0: 1050 | version "0.5.1" 1051 | resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1052 | dependencies: 1053 | minimist "0.0.8" 1054 | 1055 | modify-values@^1.0.0: 1056 | version "1.0.0" 1057 | resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" 1058 | 1059 | moment@^2.6.0: 1060 | version "2.18.1" 1061 | resolved "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" 1062 | 1063 | mute-stream@0.0.7: 1064 | version "0.0.7" 1065 | resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 1066 | 1067 | normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: 1068 | version "2.3.8" 1069 | resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" 1070 | dependencies: 1071 | hosted-git-info "^2.1.4" 1072 | is-builtin-module "^1.0.0" 1073 | semver "2 || 3 || 4 || 5" 1074 | validate-npm-package-license "^3.0.1" 1075 | 1076 | npm-run-path@^2.0.0: 1077 | version "2.0.2" 1078 | resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 1079 | dependencies: 1080 | path-key "^2.0.0" 1081 | 1082 | npmlog@^4.1.0: 1083 | version "4.1.0" 1084 | resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" 1085 | dependencies: 1086 | are-we-there-yet "~1.1.2" 1087 | console-control-strings "~1.1.0" 1088 | gauge "~2.7.3" 1089 | set-blocking "~2.0.0" 1090 | 1091 | number-is-nan@^1.0.0: 1092 | version "1.0.1" 1093 | resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1094 | 1095 | object-assign@^4.0.1, object-assign@^4.1.0: 1096 | version "4.1.1" 1097 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1098 | 1099 | once@^1.3.0: 1100 | version "1.4.0" 1101 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1102 | dependencies: 1103 | wrappy "1" 1104 | 1105 | onetime@^2.0.0: 1106 | version "2.0.1" 1107 | resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 1108 | dependencies: 1109 | mimic-fn "^1.0.0" 1110 | 1111 | optimist@^0.6.1: 1112 | version "0.6.1" 1113 | resolved "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 1114 | dependencies: 1115 | minimist "~0.0.1" 1116 | wordwrap "~0.0.2" 1117 | 1118 | os-locale@^2.0.0: 1119 | version "2.0.0" 1120 | resolved "https://registry.npmjs.org/os-locale/-/os-locale-2.0.0.tgz#15918ded510522b81ee7ae5a309d54f639fc39a4" 1121 | dependencies: 1122 | execa "^0.5.0" 1123 | lcid "^1.0.0" 1124 | mem "^1.1.0" 1125 | 1126 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.1: 1127 | version "1.0.2" 1128 | resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1129 | 1130 | p-finally@^1.0.0: 1131 | version "1.0.0" 1132 | resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 1133 | 1134 | p-limit@^1.1.0: 1135 | version "1.1.0" 1136 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" 1137 | 1138 | p-locate@^2.0.0: 1139 | version "2.0.0" 1140 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 1141 | dependencies: 1142 | p-limit "^1.1.0" 1143 | 1144 | parse-entities@^1.0.2: 1145 | version "1.1.1" 1146 | resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz#8112d88471319f27abae4d64964b122fe4e1b890" 1147 | dependencies: 1148 | character-entities "^1.0.0" 1149 | character-entities-legacy "^1.0.0" 1150 | character-reference-invalid "^1.0.0" 1151 | is-alphanumerical "^1.0.0" 1152 | is-decimal "^1.0.0" 1153 | is-hexadecimal "^1.0.0" 1154 | 1155 | parse-github-repo-url@^1.3.0: 1156 | version "1.4.0" 1157 | resolved "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.0.tgz#286c53e2c9962e0641649ee3ac9508fca4dd959c" 1158 | 1159 | parse-json@^2.2.0: 1160 | version "2.2.0" 1161 | resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 1162 | dependencies: 1163 | error-ex "^1.2.0" 1164 | 1165 | path-exists@^2.0.0: 1166 | version "2.1.0" 1167 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 1168 | dependencies: 1169 | pinkie-promise "^2.0.0" 1170 | 1171 | path-exists@^3.0.0: 1172 | version "3.0.0" 1173 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1174 | 1175 | path-is-absolute@^1.0.0: 1176 | version "1.0.1" 1177 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1178 | 1179 | path-key@^2.0.0: 1180 | version "2.0.1" 1181 | resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 1182 | 1183 | path-type@^1.0.0: 1184 | version "1.1.0" 1185 | resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 1186 | dependencies: 1187 | graceful-fs "^4.1.2" 1188 | pify "^2.0.0" 1189 | pinkie-promise "^2.0.0" 1190 | 1191 | path-type@^2.0.0: 1192 | version "2.0.0" 1193 | resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 1194 | dependencies: 1195 | pify "^2.0.0" 1196 | 1197 | pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: 1198 | version "2.3.0" 1199 | resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1200 | 1201 | pinkie-promise@^2.0.0: 1202 | version "2.0.1" 1203 | resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1204 | dependencies: 1205 | pinkie "^2.0.0" 1206 | 1207 | pinkie@^2.0.0: 1208 | version "2.0.4" 1209 | resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1210 | 1211 | prettier@^1.2.2: 1212 | version "1.4.1" 1213 | resolved "https://registry.npmjs.org/prettier/-/prettier-1.4.1.tgz#3526cc46aea102e980db5b70cabe2020910ef142" 1214 | 1215 | process-nextick-args@~1.0.6: 1216 | version "1.0.7" 1217 | resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1218 | 1219 | pseudomap@^1.0.1: 1220 | version "1.0.2" 1221 | resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1222 | 1223 | q@^1.4.1: 1224 | version "1.5.0" 1225 | resolved "https://registry.npmjs.org/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" 1226 | 1227 | read-cmd-shim@^1.0.1: 1228 | version "1.0.1" 1229 | resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" 1230 | dependencies: 1231 | graceful-fs "^4.1.2" 1232 | 1233 | read-pkg-up@^1.0.1: 1234 | version "1.0.1" 1235 | resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 1236 | dependencies: 1237 | find-up "^1.0.0" 1238 | read-pkg "^1.0.0" 1239 | 1240 | read-pkg-up@^2.0.0: 1241 | version "2.0.0" 1242 | resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 1243 | dependencies: 1244 | find-up "^2.0.0" 1245 | read-pkg "^2.0.0" 1246 | 1247 | read-pkg@^1.0.0, read-pkg@^1.1.0: 1248 | version "1.1.0" 1249 | resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 1250 | dependencies: 1251 | load-json-file "^1.0.0" 1252 | normalize-package-data "^2.3.2" 1253 | path-type "^1.0.0" 1254 | 1255 | read-pkg@^2.0.0: 1256 | version "2.0.0" 1257 | resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 1258 | dependencies: 1259 | load-json-file "^2.0.0" 1260 | normalize-package-data "^2.3.2" 1261 | path-type "^2.0.0" 1262 | 1263 | readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2: 1264 | version "2.2.10" 1265 | resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz#effe72bb7c884c0dd335e2379d526196d9d011ee" 1266 | dependencies: 1267 | core-util-is "~1.0.0" 1268 | inherits "~2.0.1" 1269 | isarray "~1.0.0" 1270 | process-nextick-args "~1.0.6" 1271 | safe-buffer "^5.0.1" 1272 | string_decoder "~1.0.0" 1273 | util-deprecate "~1.0.1" 1274 | 1275 | redent@^1.0.0: 1276 | version "1.0.0" 1277 | resolved "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 1278 | dependencies: 1279 | indent-string "^2.1.0" 1280 | strip-indent "^1.0.1" 1281 | 1282 | remark-parse@^3.0.0: 1283 | version "3.0.1" 1284 | resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-3.0.1.tgz#1b9f841a44d8f4fbf2246850265459a4eb354c80" 1285 | dependencies: 1286 | collapse-white-space "^1.0.2" 1287 | has "^1.0.1" 1288 | is-alphabetical "^1.0.0" 1289 | is-decimal "^1.0.0" 1290 | is-whitespace-character "^1.0.0" 1291 | is-word-character "^1.0.0" 1292 | markdown-escapes "^1.0.0" 1293 | parse-entities "^1.0.2" 1294 | repeat-string "^1.5.4" 1295 | state-toggle "^1.0.0" 1296 | trim "0.0.1" 1297 | trim-trailing-lines "^1.0.0" 1298 | unherit "^1.0.4" 1299 | unist-util-remove-position "^1.0.0" 1300 | vfile-location "^2.0.0" 1301 | xtend "^4.0.1" 1302 | 1303 | repeat-string@^1.5.2, repeat-string@^1.5.4: 1304 | version "1.6.1" 1305 | resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1306 | 1307 | repeating@^2.0.0: 1308 | version "2.0.1" 1309 | resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 1310 | dependencies: 1311 | is-finite "^1.0.0" 1312 | 1313 | replace-ext@1.0.0: 1314 | version "1.0.0" 1315 | resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" 1316 | 1317 | require-directory@^2.1.1: 1318 | version "2.1.1" 1319 | resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1320 | 1321 | require-main-filename@^1.0.1: 1322 | version "1.0.1" 1323 | resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 1324 | 1325 | restore-cursor@^2.0.0: 1326 | version "2.0.0" 1327 | resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 1328 | dependencies: 1329 | onetime "^2.0.0" 1330 | signal-exit "^3.0.2" 1331 | 1332 | right-align@^0.1.1: 1333 | version "0.1.3" 1334 | resolved "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 1335 | dependencies: 1336 | align-text "^0.1.1" 1337 | 1338 | rimraf@^2.6.1: 1339 | version "2.6.1" 1340 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" 1341 | dependencies: 1342 | glob "^7.0.5" 1343 | 1344 | run-async@^2.2.0: 1345 | version "2.3.0" 1346 | resolved "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 1347 | dependencies: 1348 | is-promise "^2.1.0" 1349 | 1350 | rx@^4.1.0: 1351 | version "4.1.0" 1352 | resolved "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" 1353 | 1354 | safe-buffer@^5.0.1: 1355 | version "5.1.0" 1356 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223" 1357 | 1358 | "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0: 1359 | version "5.3.0" 1360 | resolved "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 1361 | 1362 | set-blocking@^2.0.0, set-blocking@~2.0.0: 1363 | version "2.0.0" 1364 | resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1365 | 1366 | shebang-command@^1.2.0: 1367 | version "1.2.0" 1368 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 1369 | dependencies: 1370 | shebang-regex "^1.0.0" 1371 | 1372 | shebang-regex@^1.0.0: 1373 | version "1.0.0" 1374 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1375 | 1376 | signal-exit@^3.0.0, signal-exit@^3.0.2: 1377 | version "3.0.2" 1378 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1379 | 1380 | slide@^1.1.5: 1381 | version "1.1.6" 1382 | resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 1383 | 1384 | sort-keys@^1.1.1, sort-keys@^1.1.2: 1385 | version "1.1.2" 1386 | resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" 1387 | dependencies: 1388 | is-plain-obj "^1.0.0" 1389 | 1390 | source-map@^0.4.4: 1391 | version "0.4.4" 1392 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 1393 | dependencies: 1394 | amdefine ">=0.0.4" 1395 | 1396 | source-map@~0.5.1: 1397 | version "0.5.6" 1398 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 1399 | 1400 | spdx-correct@~1.0.0: 1401 | version "1.0.2" 1402 | resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 1403 | dependencies: 1404 | spdx-license-ids "^1.0.2" 1405 | 1406 | spdx-expression-parse@~1.0.0: 1407 | version "1.0.4" 1408 | resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 1409 | 1410 | spdx-license-ids@^1.0.2: 1411 | version "1.2.2" 1412 | resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 1413 | 1414 | split2@^2.0.0: 1415 | version "2.1.1" 1416 | resolved "https://registry.npmjs.org/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" 1417 | dependencies: 1418 | through2 "^2.0.2" 1419 | 1420 | split@^1.0.0: 1421 | version "1.0.0" 1422 | resolved "https://registry.npmjs.org/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" 1423 | dependencies: 1424 | through "2" 1425 | 1426 | state-toggle@^1.0.0: 1427 | version "1.0.0" 1428 | resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz#d20f9a616bb4f0c3b98b91922d25b640aa2bc425" 1429 | 1430 | string-width@^1.0.1, string-width@^1.0.2: 1431 | version "1.0.2" 1432 | resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1433 | dependencies: 1434 | code-point-at "^1.0.0" 1435 | is-fullwidth-code-point "^1.0.0" 1436 | strip-ansi "^3.0.0" 1437 | 1438 | string-width@^2.0.0: 1439 | version "2.0.0" 1440 | resolved "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" 1441 | dependencies: 1442 | is-fullwidth-code-point "^2.0.0" 1443 | strip-ansi "^3.0.0" 1444 | 1445 | string_decoder@~1.0.0: 1446 | version "1.0.1" 1447 | resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" 1448 | dependencies: 1449 | safe-buffer "^5.0.1" 1450 | 1451 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 1452 | version "3.0.1" 1453 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1454 | dependencies: 1455 | ansi-regex "^2.0.0" 1456 | 1457 | strip-bom@^2.0.0: 1458 | version "2.0.0" 1459 | resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 1460 | dependencies: 1461 | is-utf8 "^0.2.0" 1462 | 1463 | strip-bom@^3.0.0: 1464 | version "3.0.0" 1465 | resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1466 | 1467 | strip-eof@^1.0.0: 1468 | version "1.0.0" 1469 | resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 1470 | 1471 | strip-indent@^1.0.1: 1472 | version "1.0.1" 1473 | resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 1474 | dependencies: 1475 | get-stdin "^4.0.1" 1476 | 1477 | strong-log-transformer@^1.0.6: 1478 | version "1.0.6" 1479 | resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-1.0.6.tgz#f7fb93758a69a571140181277eea0c2eb1301fa3" 1480 | dependencies: 1481 | byline "^5.0.0" 1482 | duplexer "^0.1.1" 1483 | minimist "^0.1.0" 1484 | moment "^2.6.0" 1485 | through "^2.3.4" 1486 | 1487 | supports-color@^2.0.0: 1488 | version "2.0.0" 1489 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1490 | 1491 | temp-dir@^1.0.0: 1492 | version "1.0.0" 1493 | resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" 1494 | 1495 | temp-write@^3.3.0: 1496 | version "3.3.0" 1497 | resolved "https://registry.npmjs.org/temp-write/-/temp-write-3.3.0.tgz#c1a96de2b36061342eae81f44ff001aec8f615a9" 1498 | dependencies: 1499 | graceful-fs "^4.1.2" 1500 | is-stream "^1.1.0" 1501 | make-dir "^1.0.0" 1502 | pify "^2.2.0" 1503 | temp-dir "^1.0.0" 1504 | uuid "^3.0.1" 1505 | 1506 | tempfile@^1.1.1: 1507 | version "1.1.1" 1508 | resolved "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" 1509 | dependencies: 1510 | os-tmpdir "^1.0.0" 1511 | uuid "^2.0.1" 1512 | 1513 | text-extensions@^1.0.0: 1514 | version "1.4.0" 1515 | resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.4.0.tgz#c385d2e80879fe6ef97893e1709d88d9453726e9" 1516 | 1517 | through2@^2.0.0, through2@^2.0.2: 1518 | version "2.0.3" 1519 | resolved "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 1520 | dependencies: 1521 | readable-stream "^2.1.5" 1522 | xtend "~4.0.1" 1523 | 1524 | through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: 1525 | version "2.3.8" 1526 | resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1527 | 1528 | tmp@^0.0.31: 1529 | version "0.0.31" 1530 | resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" 1531 | dependencies: 1532 | os-tmpdir "~1.0.1" 1533 | 1534 | trim-newlines@^1.0.0: 1535 | version "1.0.0" 1536 | resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 1537 | 1538 | trim-off-newlines@^1.0.0: 1539 | version "1.0.1" 1540 | resolved "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" 1541 | 1542 | trim-trailing-lines@^1.0.0: 1543 | version "1.1.0" 1544 | resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz#7aefbb7808df9d669f6da2e438cac8c46ada7684" 1545 | 1546 | trim@0.0.1: 1547 | version "0.0.1" 1548 | resolved "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" 1549 | 1550 | trough@^1.0.0: 1551 | version "1.0.1" 1552 | resolved "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz#a9fd8b0394b0ae8fff82e0633a0a36ccad5b5f86" 1553 | 1554 | typedarray@^0.0.6: 1555 | version "0.0.6" 1556 | resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1557 | 1558 | uglify-js@^2.6: 1559 | version "2.8.27" 1560 | resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.27.tgz#47787f912b0f242e5b984343be8e35e95f694c9c" 1561 | dependencies: 1562 | source-map "~0.5.1" 1563 | yargs "~3.10.0" 1564 | optionalDependencies: 1565 | uglify-to-browserify "~1.0.0" 1566 | 1567 | uglify-to-browserify@~1.0.0: 1568 | version "1.0.2" 1569 | resolved "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 1570 | 1571 | unherit@^1.0.4: 1572 | version "1.1.0" 1573 | resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz#6b9aaedfbf73df1756ad9e316dd981885840cd7d" 1574 | dependencies: 1575 | inherits "^2.0.1" 1576 | xtend "^4.0.1" 1577 | 1578 | unified@^6.1.2: 1579 | version "6.1.5" 1580 | resolved "https://registry.npmjs.org/unified/-/unified-6.1.5.tgz#716937872621a63135e62ced2f3ac6a063c6fb87" 1581 | dependencies: 1582 | bail "^1.0.0" 1583 | extend "^3.0.0" 1584 | is-plain-obj "^1.1.0" 1585 | trough "^1.0.0" 1586 | vfile "^2.0.0" 1587 | x-is-function "^1.0.4" 1588 | x-is-string "^0.1.0" 1589 | 1590 | unist-util-remove-position@^1.0.0: 1591 | version "1.1.1" 1592 | resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz#5a85c1555fc1ba0c101b86707d15e50fa4c871bb" 1593 | dependencies: 1594 | unist-util-visit "^1.1.0" 1595 | 1596 | unist-util-stringify-position@^1.0.0: 1597 | version "1.1.1" 1598 | resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz#3ccbdc53679eed6ecf3777dd7f5e3229c1b6aa3c" 1599 | 1600 | unist-util-visit@^1.1.0: 1601 | version "1.1.3" 1602 | resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.1.3.tgz#ec268e731b9d277a79a5b5aa0643990e405d600b" 1603 | 1604 | universalify@^0.1.0: 1605 | version "0.1.0" 1606 | resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778" 1607 | 1608 | util-deprecate@~1.0.1: 1609 | version "1.0.2" 1610 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1611 | 1612 | uuid@^2.0.1: 1613 | version "2.0.3" 1614 | resolved "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" 1615 | 1616 | uuid@^3.0.1: 1617 | version "3.0.1" 1618 | resolved "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" 1619 | 1620 | validate-npm-package-license@^3.0.1: 1621 | version "3.0.1" 1622 | resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 1623 | dependencies: 1624 | spdx-correct "~1.0.0" 1625 | spdx-expression-parse "~1.0.0" 1626 | 1627 | vfile-location@^2.0.0: 1628 | version "2.0.2" 1629 | resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz#d3675c59c877498e492b4756ff65e4af1a752255" 1630 | 1631 | vfile@^2.0.0: 1632 | version "2.2.0" 1633 | resolved "https://registry.npmjs.org/vfile/-/vfile-2.2.0.tgz#ce47a4fb335922b233e535db0f7d8121d8fced4e" 1634 | dependencies: 1635 | is-buffer "^1.1.4" 1636 | replace-ext "1.0.0" 1637 | unist-util-stringify-position "^1.0.0" 1638 | 1639 | wcwidth@^1.0.0: 1640 | version "1.0.1" 1641 | resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" 1642 | dependencies: 1643 | defaults "^1.0.3" 1644 | 1645 | which-module@^2.0.0: 1646 | version "2.0.0" 1647 | resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 1648 | 1649 | which@^1.2.9: 1650 | version "1.2.14" 1651 | resolved "https://registry.npmjs.org/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" 1652 | dependencies: 1653 | isexe "^2.0.0" 1654 | 1655 | wide-align@^1.1.0: 1656 | version "1.1.2" 1657 | resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 1658 | dependencies: 1659 | string-width "^1.0.2" 1660 | 1661 | window-size@0.1.0: 1662 | version "0.1.0" 1663 | resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 1664 | 1665 | wordwrap@0.0.2: 1666 | version "0.0.2" 1667 | resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 1668 | 1669 | wordwrap@~0.0.2: 1670 | version "0.0.3" 1671 | resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 1672 | 1673 | wrap-ansi@^2.0.0: 1674 | version "2.1.0" 1675 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 1676 | dependencies: 1677 | string-width "^1.0.1" 1678 | strip-ansi "^3.0.1" 1679 | 1680 | wrappy@1: 1681 | version "1.0.2" 1682 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1683 | 1684 | write-file-atomic@^2.0.0, write-file-atomic@^2.1.0: 1685 | version "2.1.0" 1686 | resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" 1687 | dependencies: 1688 | graceful-fs "^4.1.11" 1689 | imurmurhash "^0.1.4" 1690 | slide "^1.1.5" 1691 | 1692 | write-json-file@^2.0.0, write-json-file@^2.1.0: 1693 | version "2.2.0" 1694 | resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" 1695 | dependencies: 1696 | detect-indent "^5.0.0" 1697 | graceful-fs "^4.1.2" 1698 | make-dir "^1.0.0" 1699 | pify "^2.0.0" 1700 | sort-keys "^1.1.1" 1701 | write-file-atomic "^2.0.0" 1702 | 1703 | write-pkg@^3.0.1: 1704 | version "3.0.1" 1705 | resolved "https://registry.npmjs.org/write-pkg/-/write-pkg-3.0.1.tgz#f95245805be6f6a4eb1d6c31c43b57226815e6e3" 1706 | dependencies: 1707 | sort-keys "^1.1.2" 1708 | write-json-file "^2.0.0" 1709 | 1710 | x-is-function@^1.0.4: 1711 | version "1.0.4" 1712 | resolved "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz#5d294dc3d268cbdd062580e0c5df77a391d1fa1e" 1713 | 1714 | x-is-string@^0.1.0: 1715 | version "0.1.0" 1716 | resolved "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" 1717 | 1718 | xtend@^4.0.1, xtend@~4.0.1: 1719 | version "4.0.1" 1720 | resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1721 | 1722 | y18n@^3.2.1: 1723 | version "3.2.1" 1724 | resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 1725 | 1726 | yallist@^2.0.0: 1727 | version "2.1.2" 1728 | resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 1729 | 1730 | yargs-parser@^7.0.0: 1731 | version "7.0.0" 1732 | resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" 1733 | dependencies: 1734 | camelcase "^4.1.0" 1735 | 1736 | yargs@^8.0.1: 1737 | version "8.0.1" 1738 | resolved "https://registry.npmjs.org/yargs/-/yargs-8.0.1.tgz#420ef75e840c1457a80adcca9bc6fa3849de51aa" 1739 | dependencies: 1740 | camelcase "^4.1.0" 1741 | cliui "^3.2.0" 1742 | decamelize "^1.1.1" 1743 | get-caller-file "^1.0.1" 1744 | os-locale "^2.0.0" 1745 | read-pkg-up "^2.0.0" 1746 | require-directory "^2.1.1" 1747 | require-main-filename "^1.0.1" 1748 | set-blocking "^2.0.0" 1749 | string-width "^2.0.0" 1750 | which-module "^2.0.0" 1751 | y18n "^3.2.1" 1752 | yargs-parser "^7.0.0" 1753 | 1754 | yargs@~3.10.0: 1755 | version "3.10.0" 1756 | resolved "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 1757 | dependencies: 1758 | camelcase "^1.0.2" 1759 | cliui "^2.1.0" 1760 | decamelize "^1.0.0" 1761 | window-size "0.1.0" 1762 | --------------------------------------------------------------------------------