├── .gitignore
├── .npmignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── example
├── components
│ ├── Baz.jsx
│ └── Foo.jsx
├── docs
│ └── README.md
└── gulpfile.js
├── index.js
├── package-lock.json
├── package.json
└── src
└── react-docgen-md.js
/.gitignore:
--------------------------------------------------------------------------------
1 | npm-debug.log
2 | npm-debug.log.*
3 | node_modules/
4 | .DS_Store
5 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | example/
2 | .gitignore
3 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # gulp-react-docs Change Log
2 |
3 | ## 1.0.0 (2020-03-04)
4 |
5 | ### BREAKING
6 |
7 | - Update `react-docgen` to `5.3.0`
8 |
9 | ### Improvements
10 |
11 | - Upgrade to `gulp@4` for local development
12 | - Update `lodash` to `4.17.15`
13 | - Remove `gulp-util` dependency
14 |
15 | ## 0.1.3 (2017-12-13)
16 |
17 | Upgraded `react-docgen` to `^2.20.0`. Fixes https://github.com/AdRoll/gulp-react-docs/issues/7
18 |
19 | ## 0.1.2 (2016-07-14)
20 |
21 | Make the `options` argument optional and make `gulp-util` a production dependency (https://github.com/AdRoll/gulp-react-docs/pull/4)
22 |
23 | ## 0.1.1 (2016-04-08)
24 |
25 | Pinned `react-docgen` dependency to version `2.7.0`. This prevents backwards incompatible changes in `react-docgen@2.8.0` from breaking this package.
26 |
27 | ## 0.1.0 (2015-12-17)
28 |
29 | Initial publication of the `gulp-react-docs` plugin. The gulp plugin uses `react-docgen@2.4.0` and generates documentation for React components and the `propTypes` they expect. The plugin takes the following options at the moment:
30 |
31 | - `path`: If given, a link from the generated `.md` doc to the source code / file will be included in the generated output. See the repo [README.md](./README.md) for more information.
32 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2015 AdRoll, Inc.
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 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # gulp-react-docs
2 |
3 | A [gulp](http://gulpjs.com/) plugin for generating documentation in Markdown format for React components based on their `propTypes`. The plugin uses [react-docgen](https://github.com/reactjs/react-docgen) to extract component prop information, and then render the markdown using [handlebars](http://handlebarsjs.com/).
4 |
5 | This plugin is an extension of the automatic documentation generation tool we use at [AdRoll](http://tech.adroll.com) for our reusable component library as written about [here](http://tech.adroll.com/blog/frontend/2015/11/12/rollup-react-and-npm-at-adroll.html#automatic-documentation-generation).
6 |
7 | ## Installation
8 |
9 | Install package with [npm](http://npmjs.org/) and add it to your development dependencies:
10 |
11 | `npm install gulp-react-docs --save-dev`
12 |
13 | ## Information
14 |
15 |
16 |
17 | Package | gulp-react-docs |
18 |
19 |
20 | Description |
21 | Generates Markdown documentation for React components based on component `propTypes`. |
22 |
23 |
24 | Node Version |
25 | >= 10 |
26 |
27 |
28 |
29 | ## Usage
30 |
31 | ```js
32 | var gulpReactDocs = require('gulp-react-docs');
33 |
34 | gulp.task('react-docs', function() {
35 | var docsDest = 'docs';
36 |
37 | return gulp.src('./components/**/*.jsx')
38 | .pipe(gulpReactDocs({
39 | path: docsDest
40 | }))
41 | .pipe(gulp.dest(docsDest));
42 | });
43 | ```
44 |
45 | For example usage, see our example `gulpfile.js` [here](./example/gulpfile.js).
46 |
47 | For example output, see the generated docs [example/docs](./example/docs) generated from the files in [example/components](./example/components).
48 |
49 | ### Options
50 | The `gulp-react-docs` plugin can take an `options` object. The following attributes may be passed as part of the `options` object:
51 |
52 | #### path
53 |
54 | * Type: `string` OR `function`
55 | * Default: `undefined`
56 |
57 | The path specifying the destination directory for your generated documentation files. This option is used to generate links from the output `.md` files to the source code. See the link produced below the heading [here](./example/docs/README.md#baz) for an example. If this option is not given, the link to the source code will not be generated. The `path` can be either a string or a function.
58 |
59 | If you pass in a string, `path` should be the relative path from the `gulpfile.js` using the `gulp-react-docs` plugin to where the generated documentation will be output. The `path` will then be used to generate the relative path from the output documentation to the source code.
60 |
61 | If you pass in a function, `path` is expected to return a string. The return value can be either a relative from where the generated documentation will be output to the source code, or an absolute path / URL pointing to the source code.
62 |
63 | ## Contributors
64 |
65 | - [@marsjosephine](https://github.com/marsjosephine)
66 | - [@jtuulos](https://github.com/jtuulos)
67 | - [@jgrist](https://github.com/jgrist)
68 |
--------------------------------------------------------------------------------
/example/components/Baz.jsx:
--------------------------------------------------------------------------------
1 | var React = require('react');
2 |
3 | var Baz = React.createClass({
4 |
5 | /**************************************************
6 | * Component Specs and lifecycle *
7 | **************************************************/
8 |
9 | propTypes: {
10 | /**
11 | * The columns you want the Foo to have. Each column can have the
12 | * following attributes:
13 | * - `key` **(required)**: column identifier
14 | * - `label` **(required)**: Display text for the column. Should alread be
15 | * translated when passed to the Foo.
16 | * - `accessor` **(required)**: Function that returns relevant value from a
17 | * given data item. Later fed to the column `render` function.
18 | * - `render`: Function that takes the output of `accessor` and returns
19 | * what should be rendered for a given data item in that column. Should
20 | * return either a formatted value or can also be html. Columns without
21 | * `render` functions will not be displayed but can be used for filtering
22 | * (see the `filters` prop for more information).
23 | * - `widthMultiplier`: Number to multiply the width of the column relative
24 | * to other columns. By default, all columns are of equal width.
25 | */
26 | columns: React.PropTypes.arrayOf(
27 | React.PropTypes.shape({
28 | key: React.PropTypes.string.isRequired,
29 | label: React.PropTypes.string.isRequired,
30 | accessor: React.PropTypes.func.isRequired,
31 | render: React.PropTypes.func,
32 | widthMultiplier: React.PropTypes.number
33 | })
34 | ),
35 | /**
36 | * Array of data items. These data items can take whatever form or have
37 | * whatever attributes you'd like. As long as the column.accessor and
38 | * column.render functions accounts for the form or attributes of your
39 | * data items.
40 | */
41 | data: React.PropTypes.array.isRequired,
42 | /**
43 | * CSS class(es) to add to a Baz. Can be a string or a function. If this
44 | * prop is a string, the class(es) will be attached to all Bazzes in the Foo.
45 | * If it is a function, the function will be called with the data item
46 | * to be rendered in the Baz and the classes returned will be applied
47 | * to that item's Baz when rendered. In the case of a function the return
48 | * value is expected to a string of space-separated classes.
49 | */
50 | bazClassNames: React.PropTypes.oneOfType([
51 | React.PropTypes.string,
52 | React.PropTypes.func
53 | ]),
54 | /**
55 | * An array of filters you want the Foo to have. When no filters are
56 | * given, no filter dropdowns will be shown. A filter object can have the
57 | * following properties:
58 | * - `columnKey` **(required)**: The key of the column in the `columns`
59 | * array the filter will do the filtering on.
60 | * - `options`: An array of options to display in the filter dropdown. Each
61 | * option is required to have a `value` and `label`.
62 | * - `defaultValue` **(required)**: A default value to render the filter with.
63 | * Should match one of the values in the `options` array.
64 | * - `filterCb` **(required)**: The predicate function used to filter the
65 | * items in the Foo when a selection for this filter is made. The `Foo`
66 | * will call this function with the option `value` as the first argument, and
67 | * the value of each data item (as they're being filtered) as the second
68 | * argument. The value of the data item is determined using the corresponding
69 | * columns (using `columnKey`) `accessor` function.
70 | * - `value`: Given value to the assign to the filter. If not given, this filter's
71 | * `defaultValue` will be used.
72 | */
73 | filters: React.PropTypes.arrayOf(
74 | React.PropTypes.shape({
75 | columnKey: React.PropTypes.string.isRequired,
76 | options: React.PropTypes.arrayOf(
77 | React.PropTypes.shape({
78 | value: React.PropTypes.string.isRequired,
79 | label: React.PropTypes.string.isRequired
80 | })
81 | ),
82 | defaultValue: React.PropTypes.string.isRequired,
83 | filterCb: React.PropTypes.func.isRequired,
84 | value: React.PropTypes.string
85 | })
86 | ),
87 | /**
88 | * An array of column keys that designate which columns the search should
89 | * look for matches in. When no search columns are given, the search field
90 | * is not shown in the Foo.
91 | */
92 | searchColumns: React.PropTypes.arrayOf(React.PropTypes.string),
93 | /**
94 | * The initial search query. Tokenized based on spaces in the string.
95 | */
96 | searchQuery: React.PropTypes.string,
97 | /**
98 | * A function that when given a data item returns a list of possible actions
99 | * that can be taken for that item. if no `bazActions` are given, then no
100 | * actions will be shown. This function should return an array of either
101 | * a visual divider between action options **OR** objects with a `type` and
102 | * `label`.
103 | */
104 | bazActions: React.PropTypes.func,
105 | /**
106 | * A React element that renders and controls secondary info.
107 | * This could be bulk action buttons, non-actionable information, etc.
108 | * Will be rendered to the right of the search and filters.
109 | */
110 | secondaryInfo: React.PropTypes.element
111 | },
112 |
113 | statics: {
114 | TEXT_ALIGN_LEFT : TEXT_ALIGN_LEFT,
115 | TEXT_ALIGN_RIGHT : TEXT_ALIGN_RIGHT,
116 | SORT_DIRECTION_DESC : SORT_DIRECTION_DESC,
117 | SORT_DIRECTION_ASC : SORT_DIRECTION_ASC
118 | },
119 |
120 | getDefaultProps() {
121 | return {
122 | maxConfigOptions : 6,
123 | onSearch : _.noop,
124 | onFilter : _.noop,
125 | onSort : _.noop
126 | };
127 | },
128 |
129 | /**************************************************
130 | * Rendering *
131 | **************************************************/
132 |
133 | render: function() {
134 | return (
135 | Hello World, this is a Baz element.
136 | );
137 | }
138 | });
139 |
140 | module.exports = Baz;
141 |
--------------------------------------------------------------------------------
/example/components/Foo.jsx:
--------------------------------------------------------------------------------
1 | var React = require('react');
2 |
3 | var Foo = React.createClass({
4 |
5 | /**************************************************
6 | * Component Specs && Lifecycle *
7 | **************************************************/
8 |
9 | propTypes: {
10 | /**
11 | * Initial value for Foo component in Foo Bar format.
12 | * The Foo Bar format is enforced because it's the most reliable way to
13 | * parse Foos.
14 | */
15 | initialValue: fooBarFormat,
16 | /**
17 | * Buttons for Foo presets (e.g. "Bar", "Baz"). Each button
18 | * should have the following properties:
19 | * - `label` **(required)**: Display text for the button.
20 | * - `value` **(required)**: The preset Foo or Foo range for the button.
21 | * For single mode, this function should return a string in Foo Bar format.
22 | * For `range` mode, this function should return an array
23 | * of strings in Foo Bar format.
24 | */
25 | buttons: React.PropTypes.arrayOf(
26 | React.PropTypes.shape({
27 | label: React.PropTypes.string.isRequired,
28 | value: React.PropTypes.func.isRequired
29 | })
30 | ),
31 | /**
32 | * Number of Foos to display side by side in the Baz.
33 | * - Defaults to 2.
34 | * - Max 2.
35 | */
36 | foos: React.PropTypes.oneOf([1, 2]),
37 | /**
38 | * The first selectable Foo.
39 | */
40 | disableBefore: React.PropTypes.string,
41 | /**
42 | * The last selectable Foo.
43 | */
44 | disableAfter: React.PropTypes.string,
45 | /**
46 | * When a Foo is clicked in the Baz, this callback receives the
47 | * new selected range as the first argument.
48 | *
49 | * The selected range will be an array of 2 Foos, and each Foo in the
50 | * range is formatted as a Foo Bar Baz.
51 | */
52 | onChange: React.PropTypes.func,
53 | /**
54 | * User-provided validator function for ranges a user is considering.
55 | * This prop can be used to implement custom range restrictions. This
56 | * function will be called with the range in the form of an array.
57 | *
58 | * For invalid ranges, this function should return an error message.
59 | * Otherwise, it should not return anything.
60 | */
61 | validate: React.PropTypes.func,
62 | /**
63 | * Boolean for whether or not the Baz should include
64 | * Baz selection dropdowns.
65 | */
66 | showBazSelector: React.PropTypes.bool
67 | },
68 |
69 | statics: {
70 | FOO_BAR : BAR_BAZ,
71 | BAZ_FOO : BAR_FOO
72 | },
73 |
74 | /**************************************************
75 | * Rendering *
76 | **************************************************/
77 |
78 | render: function() {
79 | return (
80 | Hello World, this is a Foo element.
81 | );
82 | }
83 | });
84 |
85 | module.exports = Foo;
86 |
--------------------------------------------------------------------------------
/example/docs/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # React Component Reference
4 |
5 | - [Baz](#baz)
6 | - [Foo](#foo)
7 |
8 |
9 |
10 | ## Baz
11 |
12 | From [`../components/Baz.jsx`](../components/Baz.jsx)
13 |
14 | #### bazActions
15 |
16 | ```js
17 | bazActions: Function
18 | ```
19 |
20 | A function that when given a data item returns a list of possible actions
21 | that can be taken for that item. if no `bazActions` are given, then no
22 | actions will be shown. This function should return an array of either
23 | a visual divider between action options **OR** objects with a `type` and
24 | `label`.
25 |
26 | #### bazClassNames
27 |
28 | ```js
29 | bazClassNames: (String|Function)
30 | ```
31 |
32 | CSS class(es) to add to a Baz. Can be a string or a function. If this
33 | prop is a string, the class(es) will be attached to all Bazzes in the Foo.
34 | If it is a function, the function will be called with the data item
35 | to be rendered in the Baz and the classes returned will be applied
36 | to that item's Baz when rendered. In the case of a function the return
37 | value is expected to a string of space-separated classes.
38 |
39 | #### columns
40 |
41 | ```js
42 | columns: [{
43 | key: String
44 | label: String
45 | accessor: Function
46 | render: Function
47 | widthMultiplier: Number
48 | }, ...]
49 | ```
50 |
51 | The columns you want the Foo to have. Each column can have the
52 | following attributes:
53 | - `key` **(required)**: column identifier
54 | - `label` **(required)**: Display text for the column. Should alread be
55 | translated when passed to the Foo.
56 | - `accessor` **(required)**: Function that returns relevant value from a
57 | given data item. Later fed to the column `render` function.
58 | - `render`: Function that takes the output of `accessor` and returns
59 | what should be rendered for a given data item in that column. Should
60 | return either a formatted value or can also be html. Columns without
61 | `render` functions will not be displayed but can be used for filtering
62 | (see the `filters` prop for more information).
63 | - `widthMultiplier`: Number to multiply the width of the column relative
64 | to other columns. By default, all columns are of equal width.
65 |
66 | #### data
67 |
68 | ```js
69 | // Required
70 | data: Array
71 | ```
72 |
73 | Array of data items. These data items can take whatever form or have
74 | whatever attributes you'd like. As long as the column.accessor and
75 | column.render functions accounts for the form or attributes of your
76 | data items.
77 |
78 | #### filters
79 |
80 | ```js
81 | filters: [{
82 | columnKey: String
83 | options: [{
84 | value: String
85 | label: String
86 | }, ...]
87 | defaultValue: String
88 | filterCb: Function
89 | value: String
90 | }, ...]
91 | ```
92 |
93 | An array of filters you want the Foo to have. When no filters are
94 | given, no filter dropdowns will be shown. A filter object can have the
95 | following properties:
96 | - `columnKey` **(required)**: The key of the column in the `columns`
97 | array the filter will do the filtering on.
98 | - `options`: An array of options to display in the filter dropdown. Each
99 | option is required to have a `value` and `label`.
100 | - `defaultValue` **(required)**: A default value to render the filter with.
101 | Should match one of the values in the `options` array.
102 | - `filterCb` **(required)**: The predicate function used to filter the
103 | items in the Foo when a selection for this filter is made. The `Foo`
104 | will call this function with the option `value` as the first argument, and
105 | the value of each data item (as they're being filtered) as the second
106 | argument. The value of the data item is determined using the corresponding
107 | columns (using `columnKey`) `accessor` function.
108 | - `value`: Given value to the assign to the filter. If not given, this filter's
109 | `defaultValue` will be used.
110 |
111 | #### maxConfigOptions
112 |
113 | ```js
114 | // Default: 6
115 | maxConfigOptions:
116 | ```
117 |
118 | #### onFilter
119 |
120 | ```js
121 | // Default: _.noop
122 | onFilter:
123 | ```
124 |
125 | #### onSearch
126 |
127 | ```js
128 | // Default: _.noop
129 | onSearch:
130 | ```
131 |
132 | #### onSort
133 |
134 | ```js
135 | // Default: _.noop
136 | onSort:
137 | ```
138 |
139 | #### searchColumns
140 |
141 | ```js
142 | searchColumns: [String, ...]
143 | ```
144 |
145 | An array of column keys that designate which columns the search should
146 | look for matches in. When no search columns are given, the search field
147 | is not shown in the Foo.
148 |
149 | #### searchQuery
150 |
151 | ```js
152 | searchQuery: String
153 | ```
154 |
155 | The initial search query. Tokenized based on spaces in the string.
156 |
157 | #### secondaryInfo
158 |
159 | ```js
160 | secondaryInfo: ReactElement
161 | ```
162 |
163 | A React element that renders and controls secondary info.
164 | This could be bulk action buttons, non-actionable information, etc.
165 | Will be rendered to the right of the search and filters.
166 |
167 |
168 |
169 | ## Foo
170 |
171 | From [`../components/Foo.jsx`](../components/Foo.jsx)
172 |
173 | #### buttons
174 |
175 | ```js
176 | buttons: [{
177 | label: String
178 | value: Function
179 | }, ...]
180 | ```
181 |
182 | Buttons for Foo presets (e.g. "Bar", "Baz"). Each button
183 | should have the following properties:
184 | - `label` **(required)**: Display text for the button.
185 | - `value` **(required)**: The preset Foo or Foo range for the button.
186 | For single mode, this function should return a string in Foo Bar format.
187 | For `range` mode, this function should return an array
188 | of strings in Foo Bar format.
189 |
190 | #### disableAfter
191 |
192 | ```js
193 | disableAfter: String
194 | ```
195 |
196 | The last selectable Foo.
197 |
198 | #### disableBefore
199 |
200 | ```js
201 | disableBefore: String
202 | ```
203 |
204 | The first selectable Foo.
205 |
206 | #### foos
207 |
208 | ```js
209 | foos: (1|2)
210 | ```
211 |
212 | Number of Foos to display side by side in the Baz.
213 | - Defaults to 2.
214 | - Max 2.
215 |
216 | #### initialValue
217 |
218 | ```js
219 | initialValue: fooBarFormat (custom validator)
220 | ```
221 |
222 | Initial value for Foo component in Foo Bar format.
223 | The Foo Bar format is enforced because it's the most reliable way to
224 | parse Foos.
225 |
226 | #### onChange
227 |
228 | ```js
229 | onChange: Function
230 | ```
231 |
232 | When a Foo is clicked in the Baz, this callback receives the
233 | new selected range as the first argument.
234 |
235 | The selected range will be an array of 2 Foos, and each Foo in the
236 | range is formatted as a Foo Bar Baz.
237 |
238 | #### showBazSelector
239 |
240 | ```js
241 | showBazSelector: Boolean
242 | ```
243 |
244 | Boolean for whether or not the Baz should include
245 | Baz selection dropdowns.
246 |
247 | #### validate
248 |
249 | ```js
250 | validate: Function
251 | ```
252 |
253 | User-provided validator function for ranges a user is considering.
254 | This prop can be used to implement custom range restrictions. This
255 | function will be called with the range in the form of an array.
256 |
257 | For invalid ranges, this function should return an error message.
258 | Otherwise, it should not return anything.
259 |
260 |
261 |
--------------------------------------------------------------------------------
/example/gulpfile.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Required modules
4 | const gulp = require('gulp');
5 | const doctoc = require('doctoc/lib/transform');
6 | const del = require('del');
7 | const $ = require('gulp-load-plugins')();
8 | const reactDocsPlugin = require('../');
9 | const { exec } = require('child_process');
10 |
11 | // Helper vars
12 | var docsDest = 'docs';
13 |
14 | // Tasks
15 | gulp.task('clean', function (cb) {
16 | del.sync(docsDest);
17 | cb();
18 | });
19 |
20 | gulp.task('check:docs', function (cb) {
21 | exec('git diff --name-only docs/', function (err, diffFiles) {
22 | if (diffFiles.indexOf('.md') > -1) {
23 | console.log('Automatically generated documentation is not up to \
24 | date with the changes in the codebase. Please run `gulp` and commit the changes.');
25 | process.exit(1);
26 | } else {
27 | console.log('Automatically generated documentation is up to date!');
28 | }
29 | cb();
30 | });
31 | });
32 |
33 | gulp.task('react-docs', function () {
34 | var mdTitle = '# React Component Reference';
35 |
36 | return gulp.src('./components/**/*.jsx')
37 | .pipe(reactDocsPlugin({
38 | path: docsDest
39 | }))
40 | .pipe($.concat('README.md'))
41 | .pipe($.tap(function (file) {
42 | // Generate table of contents for components.md
43 | var mdWithToc = doctoc(file.contents.toString(), null, 2, mdTitle).data;
44 | file.contents = Buffer.from(mdWithToc);
45 | }))
46 | .pipe(gulp.dest(docsDest));
47 | });
48 |
49 | gulp.task('default', gulp.series('react-docs'));
50 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | // external dependencies
2 | var through = require('through2'),
3 | path = require('path');
4 |
5 | // internal dependencies
6 | var reactDocgenMarkdown = require('./src/react-docgen-md');
7 |
8 | module.exports = function(options) {
9 | options = options || {};
10 |
11 | return through.obj(function(file, encoding, cb) {
12 | if (file.isNull()) {
13 | return cb(null, file);
14 | }
15 |
16 | if (file.isStream()) {
17 | throw new Error('Streams not supported!')
18 |
19 | } else if (file.isBuffer()) {
20 |
21 | // figure out where the component headings in the markdown doc
22 | // should link to
23 | var pathToSrc = options.path,
24 | srcLink;
25 |
26 | switch (typeof pathToSrc) {
27 | case 'string':
28 | pathToSrc = path.resolve(pathToSrc);
29 | srcLink = path.relative(pathToSrc, file.path);
30 | break;
31 | case 'function':
32 | srcLink = pathToSrc(file.path);
33 | break;
34 | default:
35 | srcLink = '';
36 | }
37 |
38 | // get the markdown documentation for the file
39 | var markdownDoc = reactDocgenMarkdown(file.contents, {
40 | componentName : file.relative.replace(file.extname, ''),
41 | srcLink : srcLink
42 | });
43 |
44 | // replace the file contents and extension
45 | file.contents = Buffer.from(markdownDoc);
46 | file.path = file.path.replace(file.extname, '.md');
47 |
48 | return cb(null, file);
49 | }
50 | });
51 | };
52 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "gulp-react-docs",
3 | "version": "1.0.1",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@babel/code-frame": {
8 | "version": "7.8.3",
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
10 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
11 | "requires": {
12 | "@babel/highlight": "^7.8.3"
13 | }
14 | },
15 | "@babel/core": {
16 | "version": "7.8.6",
17 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.6.tgz",
18 | "integrity": "sha512-Sheg7yEJD51YHAvLEV/7Uvw95AeWqYPL3Vk3zGujJKIhJ+8oLw2ALaf3hbucILhKsgSoADOvtKRJuNVdcJkOrg==",
19 | "requires": {
20 | "@babel/code-frame": "^7.8.3",
21 | "@babel/generator": "^7.8.6",
22 | "@babel/helpers": "^7.8.4",
23 | "@babel/parser": "^7.8.6",
24 | "@babel/template": "^7.8.6",
25 | "@babel/traverse": "^7.8.6",
26 | "@babel/types": "^7.8.6",
27 | "convert-source-map": "^1.7.0",
28 | "debug": "^4.1.0",
29 | "gensync": "^1.0.0-beta.1",
30 | "json5": "^2.1.0",
31 | "lodash": "^4.17.13",
32 | "resolve": "^1.3.2",
33 | "semver": "^5.4.1",
34 | "source-map": "^0.5.0"
35 | },
36 | "dependencies": {
37 | "source-map": {
38 | "version": "0.5.7",
39 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
40 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
41 | }
42 | }
43 | },
44 | "@babel/generator": {
45 | "version": "7.8.6",
46 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.6.tgz",
47 | "integrity": "sha512-4bpOR5ZBz+wWcMeVtcf7FbjcFzCp+817z2/gHNncIRcM9MmKzUhtWCYAq27RAfUrAFwb+OCG1s9WEaVxfi6cjg==",
48 | "requires": {
49 | "@babel/types": "^7.8.6",
50 | "jsesc": "^2.5.1",
51 | "lodash": "^4.17.13",
52 | "source-map": "^0.5.0"
53 | },
54 | "dependencies": {
55 | "source-map": {
56 | "version": "0.5.7",
57 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
58 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
59 | }
60 | }
61 | },
62 | "@babel/helper-function-name": {
63 | "version": "7.8.3",
64 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
65 | "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
66 | "requires": {
67 | "@babel/helper-get-function-arity": "^7.8.3",
68 | "@babel/template": "^7.8.3",
69 | "@babel/types": "^7.8.3"
70 | }
71 | },
72 | "@babel/helper-get-function-arity": {
73 | "version": "7.8.3",
74 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
75 | "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
76 | "requires": {
77 | "@babel/types": "^7.8.3"
78 | }
79 | },
80 | "@babel/helper-split-export-declaration": {
81 | "version": "7.8.3",
82 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
83 | "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
84 | "requires": {
85 | "@babel/types": "^7.8.3"
86 | }
87 | },
88 | "@babel/helpers": {
89 | "version": "7.8.4",
90 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz",
91 | "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==",
92 | "requires": {
93 | "@babel/template": "^7.8.3",
94 | "@babel/traverse": "^7.8.4",
95 | "@babel/types": "^7.8.3"
96 | }
97 | },
98 | "@babel/highlight": {
99 | "version": "7.8.3",
100 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
101 | "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
102 | "requires": {
103 | "chalk": "^2.0.0",
104 | "esutils": "^2.0.2",
105 | "js-tokens": "^4.0.0"
106 | }
107 | },
108 | "@babel/parser": {
109 | "version": "7.8.6",
110 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.6.tgz",
111 | "integrity": "sha512-trGNYSfwq5s0SgM1BMEB8hX3NDmO7EP2wsDGDexiaKMB92BaRpS+qZfpkMqUBhcsOTBwNy9B/jieo4ad/t/z2g=="
112 | },
113 | "@babel/runtime": {
114 | "version": "7.8.4",
115 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz",
116 | "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==",
117 | "requires": {
118 | "regenerator-runtime": "^0.13.2"
119 | }
120 | },
121 | "@babel/template": {
122 | "version": "7.8.6",
123 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
124 | "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
125 | "requires": {
126 | "@babel/code-frame": "^7.8.3",
127 | "@babel/parser": "^7.8.6",
128 | "@babel/types": "^7.8.6"
129 | }
130 | },
131 | "@babel/traverse": {
132 | "version": "7.8.6",
133 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
134 | "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
135 | "requires": {
136 | "@babel/code-frame": "^7.8.3",
137 | "@babel/generator": "^7.8.6",
138 | "@babel/helper-function-name": "^7.8.3",
139 | "@babel/helper-split-export-declaration": "^7.8.3",
140 | "@babel/parser": "^7.8.6",
141 | "@babel/types": "^7.8.6",
142 | "debug": "^4.1.0",
143 | "globals": "^11.1.0",
144 | "lodash": "^4.17.13"
145 | }
146 | },
147 | "@babel/types": {
148 | "version": "7.8.6",
149 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.6.tgz",
150 | "integrity": "sha512-wqz7pgWMIrht3gquyEFPVXeXCti72Rm8ep9b5tQKz9Yg9LzJA3HxosF1SB3Kc81KD1A3XBkkVYtJvCKS2Z/QrA==",
151 | "requires": {
152 | "esutils": "^2.0.2",
153 | "lodash": "^4.17.13",
154 | "to-fast-properties": "^2.0.0"
155 | }
156 | },
157 | "anchor-markdown-header": {
158 | "version": "0.5.7",
159 | "resolved": "https://registry.npmjs.org/anchor-markdown-header/-/anchor-markdown-header-0.5.7.tgz",
160 | "integrity": "sha1-BFBj125qH5zTJ6V6ASaqD97Dcac=",
161 | "dev": true,
162 | "requires": {
163 | "emoji-regex": "~6.1.0"
164 | }
165 | },
166 | "ansi-colors": {
167 | "version": "1.1.0",
168 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
169 | "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
170 | "dev": true,
171 | "requires": {
172 | "ansi-wrap": "^0.1.0"
173 | }
174 | },
175 | "ansi-gray": {
176 | "version": "0.1.1",
177 | "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
178 | "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
179 | "dev": true,
180 | "requires": {
181 | "ansi-wrap": "0.1.0"
182 | }
183 | },
184 | "ansi-regex": {
185 | "version": "2.1.1",
186 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
187 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
188 | "dev": true
189 | },
190 | "ansi-styles": {
191 | "version": "3.2.1",
192 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
193 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
194 | "requires": {
195 | "color-convert": "^1.9.0"
196 | }
197 | },
198 | "ansi-wrap": {
199 | "version": "0.1.0",
200 | "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
201 | "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
202 | "dev": true
203 | },
204 | "anymatch": {
205 | "version": "2.0.0",
206 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
207 | "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
208 | "dev": true,
209 | "requires": {
210 | "micromatch": "^3.1.4",
211 | "normalize-path": "^2.1.1"
212 | }
213 | },
214 | "append-buffer": {
215 | "version": "1.0.2",
216 | "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
217 | "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
218 | "dev": true,
219 | "requires": {
220 | "buffer-equal": "^1.0.0"
221 | }
222 | },
223 | "archy": {
224 | "version": "1.0.0",
225 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
226 | "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
227 | "dev": true
228 | },
229 | "arr-diff": {
230 | "version": "4.0.0",
231 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
232 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
233 | "dev": true
234 | },
235 | "arr-filter": {
236 | "version": "1.1.2",
237 | "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz",
238 | "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=",
239 | "dev": true,
240 | "requires": {
241 | "make-iterator": "^1.0.0"
242 | }
243 | },
244 | "arr-flatten": {
245 | "version": "1.1.0",
246 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
247 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
248 | "dev": true
249 | },
250 | "arr-map": {
251 | "version": "2.0.2",
252 | "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz",
253 | "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=",
254 | "dev": true,
255 | "requires": {
256 | "make-iterator": "^1.0.0"
257 | }
258 | },
259 | "arr-union": {
260 | "version": "3.1.0",
261 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
262 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
263 | "dev": true
264 | },
265 | "array-each": {
266 | "version": "1.0.1",
267 | "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
268 | "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
269 | "dev": true
270 | },
271 | "array-initial": {
272 | "version": "1.1.0",
273 | "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz",
274 | "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=",
275 | "dev": true,
276 | "requires": {
277 | "array-slice": "^1.0.0",
278 | "is-number": "^4.0.0"
279 | },
280 | "dependencies": {
281 | "is-number": {
282 | "version": "4.0.0",
283 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
284 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
285 | "dev": true
286 | }
287 | }
288 | },
289 | "array-last": {
290 | "version": "1.3.0",
291 | "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz",
292 | "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==",
293 | "dev": true,
294 | "requires": {
295 | "is-number": "^4.0.0"
296 | },
297 | "dependencies": {
298 | "is-number": {
299 | "version": "4.0.0",
300 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
301 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
302 | "dev": true
303 | }
304 | }
305 | },
306 | "array-slice": {
307 | "version": "1.1.0",
308 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
309 | "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
310 | "dev": true
311 | },
312 | "array-sort": {
313 | "version": "1.0.0",
314 | "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz",
315 | "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==",
316 | "dev": true,
317 | "requires": {
318 | "default-compare": "^1.0.0",
319 | "get-value": "^2.0.6",
320 | "kind-of": "^5.0.2"
321 | },
322 | "dependencies": {
323 | "kind-of": {
324 | "version": "5.1.0",
325 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
326 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
327 | "dev": true
328 | }
329 | }
330 | },
331 | "array-union": {
332 | "version": "1.0.2",
333 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
334 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
335 | "dev": true,
336 | "requires": {
337 | "array-uniq": "^1.0.1"
338 | }
339 | },
340 | "array-uniq": {
341 | "version": "1.0.3",
342 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
343 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
344 | "dev": true
345 | },
346 | "array-unique": {
347 | "version": "0.3.2",
348 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
349 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
350 | "dev": true
351 | },
352 | "arrify": {
353 | "version": "1.0.1",
354 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
355 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
356 | "dev": true
357 | },
358 | "assign-symbols": {
359 | "version": "1.0.0",
360 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
361 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
362 | "dev": true
363 | },
364 | "ast-types": {
365 | "version": "0.13.2",
366 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz",
367 | "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA=="
368 | },
369 | "async-done": {
370 | "version": "1.3.2",
371 | "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz",
372 | "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==",
373 | "dev": true,
374 | "requires": {
375 | "end-of-stream": "^1.1.0",
376 | "once": "^1.3.2",
377 | "process-nextick-args": "^2.0.0",
378 | "stream-exhaust": "^1.0.1"
379 | }
380 | },
381 | "async-each": {
382 | "version": "1.0.3",
383 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
384 | "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
385 | "dev": true
386 | },
387 | "async-settle": {
388 | "version": "1.0.0",
389 | "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz",
390 | "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=",
391 | "dev": true,
392 | "requires": {
393 | "async-done": "^1.2.2"
394 | }
395 | },
396 | "atob": {
397 | "version": "2.1.2",
398 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
399 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
400 | "dev": true
401 | },
402 | "bach": {
403 | "version": "1.2.0",
404 | "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz",
405 | "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=",
406 | "dev": true,
407 | "requires": {
408 | "arr-filter": "^1.1.1",
409 | "arr-flatten": "^1.0.1",
410 | "arr-map": "^2.0.0",
411 | "array-each": "^1.0.0",
412 | "array-initial": "^1.0.0",
413 | "array-last": "^1.1.1",
414 | "async-done": "^1.2.2",
415 | "async-settle": "^1.0.0",
416 | "now-and-later": "^2.0.0"
417 | }
418 | },
419 | "balanced-match": {
420 | "version": "1.0.0",
421 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
422 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
423 | },
424 | "base": {
425 | "version": "0.11.2",
426 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
427 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
428 | "dev": true,
429 | "requires": {
430 | "cache-base": "^1.0.1",
431 | "class-utils": "^0.3.5",
432 | "component-emitter": "^1.2.1",
433 | "define-property": "^1.0.0",
434 | "isobject": "^3.0.1",
435 | "mixin-deep": "^1.2.0",
436 | "pascalcase": "^0.1.1"
437 | },
438 | "dependencies": {
439 | "define-property": {
440 | "version": "1.0.0",
441 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
442 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
443 | "dev": true,
444 | "requires": {
445 | "is-descriptor": "^1.0.0"
446 | }
447 | },
448 | "is-accessor-descriptor": {
449 | "version": "1.0.0",
450 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
451 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
452 | "dev": true,
453 | "requires": {
454 | "kind-of": "^6.0.0"
455 | }
456 | },
457 | "is-data-descriptor": {
458 | "version": "1.0.0",
459 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
460 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
461 | "dev": true,
462 | "requires": {
463 | "kind-of": "^6.0.0"
464 | }
465 | },
466 | "is-descriptor": {
467 | "version": "1.0.2",
468 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
469 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
470 | "dev": true,
471 | "requires": {
472 | "is-accessor-descriptor": "^1.0.0",
473 | "is-data-descriptor": "^1.0.0",
474 | "kind-of": "^6.0.2"
475 | }
476 | }
477 | }
478 | },
479 | "binary-extensions": {
480 | "version": "1.13.1",
481 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
482 | "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
483 | "dev": true
484 | },
485 | "bindings": {
486 | "version": "1.5.0",
487 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
488 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
489 | "dev": true,
490 | "optional": true,
491 | "requires": {
492 | "file-uri-to-path": "1.0.0"
493 | }
494 | },
495 | "brace-expansion": {
496 | "version": "1.1.11",
497 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
498 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
499 | "requires": {
500 | "balanced-match": "^1.0.0",
501 | "concat-map": "0.0.1"
502 | }
503 | },
504 | "braces": {
505 | "version": "2.3.2",
506 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
507 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
508 | "dev": true,
509 | "requires": {
510 | "arr-flatten": "^1.1.0",
511 | "array-unique": "^0.3.2",
512 | "extend-shallow": "^2.0.1",
513 | "fill-range": "^4.0.0",
514 | "isobject": "^3.0.1",
515 | "repeat-element": "^1.1.2",
516 | "snapdragon": "^0.8.1",
517 | "snapdragon-node": "^2.0.1",
518 | "split-string": "^3.0.2",
519 | "to-regex": "^3.0.1"
520 | },
521 | "dependencies": {
522 | "extend-shallow": {
523 | "version": "2.0.1",
524 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
525 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
526 | "dev": true,
527 | "requires": {
528 | "is-extendable": "^0.1.0"
529 | }
530 | }
531 | }
532 | },
533 | "buffer-equal": {
534 | "version": "1.0.0",
535 | "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
536 | "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
537 | "dev": true
538 | },
539 | "buffer-from": {
540 | "version": "1.1.1",
541 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
542 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
543 | "dev": true
544 | },
545 | "cache-base": {
546 | "version": "1.0.1",
547 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
548 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
549 | "dev": true,
550 | "requires": {
551 | "collection-visit": "^1.0.0",
552 | "component-emitter": "^1.2.1",
553 | "get-value": "^2.0.6",
554 | "has-value": "^1.0.0",
555 | "isobject": "^3.0.1",
556 | "set-value": "^2.0.0",
557 | "to-object-path": "^0.3.0",
558 | "union-value": "^1.0.0",
559 | "unset-value": "^1.0.0"
560 | }
561 | },
562 | "camelcase": {
563 | "version": "3.0.0",
564 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
565 | "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
566 | "dev": true
567 | },
568 | "chalk": {
569 | "version": "2.4.2",
570 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
571 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
572 | "requires": {
573 | "ansi-styles": "^3.2.1",
574 | "escape-string-regexp": "^1.0.5",
575 | "supports-color": "^5.3.0"
576 | }
577 | },
578 | "chokidar": {
579 | "version": "2.1.8",
580 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
581 | "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
582 | "dev": true,
583 | "requires": {
584 | "anymatch": "^2.0.0",
585 | "async-each": "^1.0.1",
586 | "braces": "^2.3.2",
587 | "fsevents": "^1.2.7",
588 | "glob-parent": "^3.1.0",
589 | "inherits": "^2.0.3",
590 | "is-binary-path": "^1.0.0",
591 | "is-glob": "^4.0.0",
592 | "normalize-path": "^3.0.0",
593 | "path-is-absolute": "^1.0.0",
594 | "readdirp": "^2.2.1",
595 | "upath": "^1.1.1"
596 | },
597 | "dependencies": {
598 | "normalize-path": {
599 | "version": "3.0.0",
600 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
601 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
602 | "dev": true
603 | }
604 | }
605 | },
606 | "class-utils": {
607 | "version": "0.3.6",
608 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
609 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
610 | "dev": true,
611 | "requires": {
612 | "arr-union": "^3.1.0",
613 | "define-property": "^0.2.5",
614 | "isobject": "^3.0.0",
615 | "static-extend": "^0.1.1"
616 | },
617 | "dependencies": {
618 | "define-property": {
619 | "version": "0.2.5",
620 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
621 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
622 | "dev": true,
623 | "requires": {
624 | "is-descriptor": "^0.1.0"
625 | }
626 | }
627 | }
628 | },
629 | "cliui": {
630 | "version": "3.2.0",
631 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
632 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
633 | "dev": true,
634 | "requires": {
635 | "string-width": "^1.0.1",
636 | "strip-ansi": "^3.0.1",
637 | "wrap-ansi": "^2.0.0"
638 | }
639 | },
640 | "clone": {
641 | "version": "2.1.2",
642 | "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
643 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
644 | "dev": true
645 | },
646 | "clone-buffer": {
647 | "version": "1.0.0",
648 | "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
649 | "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
650 | "dev": true
651 | },
652 | "clone-stats": {
653 | "version": "1.0.0",
654 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
655 | "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
656 | "dev": true
657 | },
658 | "cloneable-readable": {
659 | "version": "1.1.3",
660 | "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
661 | "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
662 | "dev": true,
663 | "requires": {
664 | "inherits": "^2.0.1",
665 | "process-nextick-args": "^2.0.0",
666 | "readable-stream": "^2.3.5"
667 | }
668 | },
669 | "code-point-at": {
670 | "version": "1.1.0",
671 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
672 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
673 | "dev": true
674 | },
675 | "collection-map": {
676 | "version": "1.0.0",
677 | "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz",
678 | "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=",
679 | "dev": true,
680 | "requires": {
681 | "arr-map": "^2.0.2",
682 | "for-own": "^1.0.0",
683 | "make-iterator": "^1.0.0"
684 | }
685 | },
686 | "collection-visit": {
687 | "version": "1.0.0",
688 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
689 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
690 | "dev": true,
691 | "requires": {
692 | "map-visit": "^1.0.0",
693 | "object-visit": "^1.0.0"
694 | }
695 | },
696 | "color-convert": {
697 | "version": "1.9.3",
698 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
699 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
700 | "requires": {
701 | "color-name": "1.1.3"
702 | }
703 | },
704 | "color-name": {
705 | "version": "1.1.3",
706 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
707 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
708 | },
709 | "color-support": {
710 | "version": "1.1.3",
711 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
712 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
713 | "dev": true
714 | },
715 | "commander": {
716 | "version": "2.20.3",
717 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
718 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
719 | },
720 | "component-emitter": {
721 | "version": "1.3.0",
722 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
723 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
724 | "dev": true
725 | },
726 | "concat-map": {
727 | "version": "0.0.1",
728 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
729 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
730 | },
731 | "concat-stream": {
732 | "version": "1.6.2",
733 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
734 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
735 | "dev": true,
736 | "requires": {
737 | "buffer-from": "^1.0.0",
738 | "inherits": "^2.0.3",
739 | "readable-stream": "^2.2.2",
740 | "typedarray": "^0.0.6"
741 | }
742 | },
743 | "concat-with-sourcemaps": {
744 | "version": "1.1.0",
745 | "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
746 | "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
747 | "dev": true,
748 | "requires": {
749 | "source-map": "^0.6.1"
750 | }
751 | },
752 | "convert-source-map": {
753 | "version": "1.7.0",
754 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
755 | "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
756 | "requires": {
757 | "safe-buffer": "~5.1.1"
758 | }
759 | },
760 | "copy-descriptor": {
761 | "version": "0.1.1",
762 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
763 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
764 | "dev": true
765 | },
766 | "copy-props": {
767 | "version": "2.0.4",
768 | "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz",
769 | "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==",
770 | "dev": true,
771 | "requires": {
772 | "each-props": "^1.3.0",
773 | "is-plain-object": "^2.0.1"
774 | }
775 | },
776 | "core-util-is": {
777 | "version": "1.0.2",
778 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
779 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
780 | },
781 | "d": {
782 | "version": "1.0.1",
783 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
784 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
785 | "dev": true,
786 | "requires": {
787 | "es5-ext": "^0.10.50",
788 | "type": "^1.0.1"
789 | }
790 | },
791 | "debug": {
792 | "version": "4.1.1",
793 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
794 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
795 | "requires": {
796 | "ms": "^2.1.1"
797 | }
798 | },
799 | "decamelize": {
800 | "version": "1.2.0",
801 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
802 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
803 | "dev": true
804 | },
805 | "decode-uri-component": {
806 | "version": "0.2.0",
807 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
808 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
809 | "dev": true
810 | },
811 | "default-compare": {
812 | "version": "1.0.0",
813 | "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
814 | "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==",
815 | "dev": true,
816 | "requires": {
817 | "kind-of": "^5.0.2"
818 | },
819 | "dependencies": {
820 | "kind-of": {
821 | "version": "5.1.0",
822 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
823 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
824 | "dev": true
825 | }
826 | }
827 | },
828 | "default-resolution": {
829 | "version": "2.0.0",
830 | "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz",
831 | "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=",
832 | "dev": true
833 | },
834 | "define-properties": {
835 | "version": "1.1.3",
836 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
837 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
838 | "dev": true,
839 | "requires": {
840 | "object-keys": "^1.0.12"
841 | }
842 | },
843 | "define-property": {
844 | "version": "2.0.2",
845 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
846 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
847 | "dev": true,
848 | "requires": {
849 | "is-descriptor": "^1.0.2",
850 | "isobject": "^3.0.1"
851 | },
852 | "dependencies": {
853 | "is-accessor-descriptor": {
854 | "version": "1.0.0",
855 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
856 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
857 | "dev": true,
858 | "requires": {
859 | "kind-of": "^6.0.0"
860 | }
861 | },
862 | "is-data-descriptor": {
863 | "version": "1.0.0",
864 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
865 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
866 | "dev": true,
867 | "requires": {
868 | "kind-of": "^6.0.0"
869 | }
870 | },
871 | "is-descriptor": {
872 | "version": "1.0.2",
873 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
874 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
875 | "dev": true,
876 | "requires": {
877 | "is-accessor-descriptor": "^1.0.0",
878 | "is-data-descriptor": "^1.0.0",
879 | "kind-of": "^6.0.2"
880 | }
881 | }
882 | }
883 | },
884 | "del": {
885 | "version": "2.2.2",
886 | "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
887 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
888 | "dev": true,
889 | "requires": {
890 | "globby": "^5.0.0",
891 | "is-path-cwd": "^1.0.0",
892 | "is-path-in-cwd": "^1.0.0",
893 | "object-assign": "^4.0.1",
894 | "pify": "^2.0.0",
895 | "pinkie-promise": "^2.0.0",
896 | "rimraf": "^2.2.8"
897 | }
898 | },
899 | "detect-file": {
900 | "version": "1.0.0",
901 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
902 | "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
903 | "dev": true
904 | },
905 | "doctoc": {
906 | "version": "0.15.0",
907 | "resolved": "https://registry.npmjs.org/doctoc/-/doctoc-0.15.0.tgz",
908 | "integrity": "sha1-CnpI5Deg76mHKKQwraEk3ZUDnAs=",
909 | "dev": true,
910 | "requires": {
911 | "anchor-markdown-header": "^0.5.4",
912 | "htmlparser2": "~3.7.1",
913 | "minimist": "~1.1.0",
914 | "underscore": ">=1.3.3",
915 | "update-section": "^0.3.0"
916 | },
917 | "dependencies": {
918 | "minimist": {
919 | "version": "1.1.3",
920 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
921 | "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
922 | "dev": true
923 | }
924 | }
925 | },
926 | "doctrine": {
927 | "version": "3.0.0",
928 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
929 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
930 | "requires": {
931 | "esutils": "^2.0.2"
932 | }
933 | },
934 | "dom-serializer": {
935 | "version": "0.2.2",
936 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
937 | "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
938 | "dev": true,
939 | "requires": {
940 | "domelementtype": "^2.0.1",
941 | "entities": "^2.0.0"
942 | },
943 | "dependencies": {
944 | "domelementtype": {
945 | "version": "2.0.1",
946 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
947 | "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
948 | "dev": true
949 | },
950 | "entities": {
951 | "version": "2.0.0",
952 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
953 | "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==",
954 | "dev": true
955 | }
956 | }
957 | },
958 | "domelementtype": {
959 | "version": "1.3.1",
960 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
961 | "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
962 | "dev": true
963 | },
964 | "domhandler": {
965 | "version": "2.2.1",
966 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz",
967 | "integrity": "sha1-Wd+dzSJ+gIs2Wuc+H2aErD2Ub8I=",
968 | "dev": true,
969 | "requires": {
970 | "domelementtype": "1"
971 | }
972 | },
973 | "domutils": {
974 | "version": "1.5.1",
975 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
976 | "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
977 | "dev": true,
978 | "requires": {
979 | "dom-serializer": "0",
980 | "domelementtype": "1"
981 | }
982 | },
983 | "duplexer": {
984 | "version": "0.1.1",
985 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
986 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
987 | "dev": true
988 | },
989 | "duplexify": {
990 | "version": "3.7.1",
991 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
992 | "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
993 | "dev": true,
994 | "requires": {
995 | "end-of-stream": "^1.0.0",
996 | "inherits": "^2.0.1",
997 | "readable-stream": "^2.0.0",
998 | "stream-shift": "^1.0.0"
999 | }
1000 | },
1001 | "each-props": {
1002 | "version": "1.3.2",
1003 | "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz",
1004 | "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==",
1005 | "dev": true,
1006 | "requires": {
1007 | "is-plain-object": "^2.0.1",
1008 | "object.defaults": "^1.1.0"
1009 | }
1010 | },
1011 | "emoji-regex": {
1012 | "version": "6.1.3",
1013 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.3.tgz",
1014 | "integrity": "sha1-7HmjlpsC0uzytyJUJ5v5m8eoOTI=",
1015 | "dev": true
1016 | },
1017 | "end-of-stream": {
1018 | "version": "1.4.4",
1019 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
1020 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
1021 | "dev": true,
1022 | "requires": {
1023 | "once": "^1.4.0"
1024 | }
1025 | },
1026 | "entities": {
1027 | "version": "1.0.0",
1028 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
1029 | "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
1030 | "dev": true
1031 | },
1032 | "error-ex": {
1033 | "version": "1.3.2",
1034 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
1035 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1036 | "dev": true,
1037 | "requires": {
1038 | "is-arrayish": "^0.2.1"
1039 | }
1040 | },
1041 | "es5-ext": {
1042 | "version": "0.10.53",
1043 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
1044 | "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
1045 | "dev": true,
1046 | "requires": {
1047 | "es6-iterator": "~2.0.3",
1048 | "es6-symbol": "~3.1.3",
1049 | "next-tick": "~1.0.0"
1050 | }
1051 | },
1052 | "es6-iterator": {
1053 | "version": "2.0.3",
1054 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
1055 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
1056 | "dev": true,
1057 | "requires": {
1058 | "d": "1",
1059 | "es5-ext": "^0.10.35",
1060 | "es6-symbol": "^3.1.1"
1061 | }
1062 | },
1063 | "es6-symbol": {
1064 | "version": "3.1.3",
1065 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
1066 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
1067 | "dev": true,
1068 | "requires": {
1069 | "d": "^1.0.1",
1070 | "ext": "^1.1.2"
1071 | }
1072 | },
1073 | "es6-weak-map": {
1074 | "version": "2.0.3",
1075 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
1076 | "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
1077 | "dev": true,
1078 | "requires": {
1079 | "d": "1",
1080 | "es5-ext": "^0.10.46",
1081 | "es6-iterator": "^2.0.3",
1082 | "es6-symbol": "^3.1.1"
1083 | }
1084 | },
1085 | "escape-string-regexp": {
1086 | "version": "1.0.5",
1087 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1088 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
1089 | },
1090 | "esutils": {
1091 | "version": "2.0.3",
1092 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1093 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
1094 | },
1095 | "event-stream": {
1096 | "version": "3.1.7",
1097 | "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.1.7.tgz",
1098 | "integrity": "sha1-tMVAAS0P4UmEIPPYlGAI22OTw3o=",
1099 | "dev": true,
1100 | "requires": {
1101 | "duplexer": "~0.1.1",
1102 | "from": "~0",
1103 | "map-stream": "~0.1.0",
1104 | "pause-stream": "0.0.11",
1105 | "split": "0.2",
1106 | "stream-combiner": "~0.0.4",
1107 | "through": "~2.3.1"
1108 | }
1109 | },
1110 | "expand-brackets": {
1111 | "version": "2.1.4",
1112 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1113 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1114 | "dev": true,
1115 | "requires": {
1116 | "debug": "^2.3.3",
1117 | "define-property": "^0.2.5",
1118 | "extend-shallow": "^2.0.1",
1119 | "posix-character-classes": "^0.1.0",
1120 | "regex-not": "^1.0.0",
1121 | "snapdragon": "^0.8.1",
1122 | "to-regex": "^3.0.1"
1123 | },
1124 | "dependencies": {
1125 | "debug": {
1126 | "version": "2.6.9",
1127 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1128 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1129 | "dev": true,
1130 | "requires": {
1131 | "ms": "2.0.0"
1132 | }
1133 | },
1134 | "define-property": {
1135 | "version": "0.2.5",
1136 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1137 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1138 | "dev": true,
1139 | "requires": {
1140 | "is-descriptor": "^0.1.0"
1141 | }
1142 | },
1143 | "extend-shallow": {
1144 | "version": "2.0.1",
1145 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1146 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1147 | "dev": true,
1148 | "requires": {
1149 | "is-extendable": "^0.1.0"
1150 | }
1151 | },
1152 | "ms": {
1153 | "version": "2.0.0",
1154 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1155 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1156 | "dev": true
1157 | }
1158 | }
1159 | },
1160 | "expand-tilde": {
1161 | "version": "2.0.2",
1162 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
1163 | "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
1164 | "dev": true,
1165 | "requires": {
1166 | "homedir-polyfill": "^1.0.1"
1167 | }
1168 | },
1169 | "ext": {
1170 | "version": "1.4.0",
1171 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
1172 | "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
1173 | "dev": true,
1174 | "requires": {
1175 | "type": "^2.0.0"
1176 | },
1177 | "dependencies": {
1178 | "type": {
1179 | "version": "2.0.0",
1180 | "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz",
1181 | "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==",
1182 | "dev": true
1183 | }
1184 | }
1185 | },
1186 | "extend": {
1187 | "version": "3.0.2",
1188 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1189 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
1190 | "dev": true
1191 | },
1192 | "extend-shallow": {
1193 | "version": "3.0.2",
1194 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1195 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1196 | "dev": true,
1197 | "requires": {
1198 | "assign-symbols": "^1.0.0",
1199 | "is-extendable": "^1.0.1"
1200 | },
1201 | "dependencies": {
1202 | "is-extendable": {
1203 | "version": "1.0.1",
1204 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1205 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1206 | "dev": true,
1207 | "requires": {
1208 | "is-plain-object": "^2.0.4"
1209 | }
1210 | }
1211 | }
1212 | },
1213 | "extglob": {
1214 | "version": "2.0.4",
1215 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1216 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1217 | "dev": true,
1218 | "requires": {
1219 | "array-unique": "^0.3.2",
1220 | "define-property": "^1.0.0",
1221 | "expand-brackets": "^2.1.4",
1222 | "extend-shallow": "^2.0.1",
1223 | "fragment-cache": "^0.2.1",
1224 | "regex-not": "^1.0.0",
1225 | "snapdragon": "^0.8.1",
1226 | "to-regex": "^3.0.1"
1227 | },
1228 | "dependencies": {
1229 | "define-property": {
1230 | "version": "1.0.0",
1231 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1232 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1233 | "dev": true,
1234 | "requires": {
1235 | "is-descriptor": "^1.0.0"
1236 | }
1237 | },
1238 | "extend-shallow": {
1239 | "version": "2.0.1",
1240 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1241 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1242 | "dev": true,
1243 | "requires": {
1244 | "is-extendable": "^0.1.0"
1245 | }
1246 | },
1247 | "is-accessor-descriptor": {
1248 | "version": "1.0.0",
1249 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1250 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1251 | "dev": true,
1252 | "requires": {
1253 | "kind-of": "^6.0.0"
1254 | }
1255 | },
1256 | "is-data-descriptor": {
1257 | "version": "1.0.0",
1258 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1259 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1260 | "dev": true,
1261 | "requires": {
1262 | "kind-of": "^6.0.0"
1263 | }
1264 | },
1265 | "is-descriptor": {
1266 | "version": "1.0.2",
1267 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1268 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1269 | "dev": true,
1270 | "requires": {
1271 | "is-accessor-descriptor": "^1.0.0",
1272 | "is-data-descriptor": "^1.0.0",
1273 | "kind-of": "^6.0.2"
1274 | }
1275 | }
1276 | }
1277 | },
1278 | "fancy-log": {
1279 | "version": "1.3.3",
1280 | "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
1281 | "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
1282 | "dev": true,
1283 | "requires": {
1284 | "ansi-gray": "^0.1.1",
1285 | "color-support": "^1.1.3",
1286 | "parse-node-version": "^1.0.0",
1287 | "time-stamp": "^1.0.0"
1288 | }
1289 | },
1290 | "file-uri-to-path": {
1291 | "version": "1.0.0",
1292 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
1293 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
1294 | "dev": true,
1295 | "optional": true
1296 | },
1297 | "fill-range": {
1298 | "version": "4.0.0",
1299 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
1300 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
1301 | "dev": true,
1302 | "requires": {
1303 | "extend-shallow": "^2.0.1",
1304 | "is-number": "^3.0.0",
1305 | "repeat-string": "^1.6.1",
1306 | "to-regex-range": "^2.1.0"
1307 | },
1308 | "dependencies": {
1309 | "extend-shallow": {
1310 | "version": "2.0.1",
1311 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1312 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1313 | "dev": true,
1314 | "requires": {
1315 | "is-extendable": "^0.1.0"
1316 | }
1317 | }
1318 | }
1319 | },
1320 | "find-up": {
1321 | "version": "1.1.2",
1322 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
1323 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
1324 | "dev": true,
1325 | "requires": {
1326 | "path-exists": "^2.0.0",
1327 | "pinkie-promise": "^2.0.0"
1328 | }
1329 | },
1330 | "findup-sync": {
1331 | "version": "3.0.0",
1332 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
1333 | "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
1334 | "dev": true,
1335 | "requires": {
1336 | "detect-file": "^1.0.0",
1337 | "is-glob": "^4.0.0",
1338 | "micromatch": "^3.0.4",
1339 | "resolve-dir": "^1.0.1"
1340 | }
1341 | },
1342 | "fined": {
1343 | "version": "1.2.0",
1344 | "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
1345 | "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
1346 | "dev": true,
1347 | "requires": {
1348 | "expand-tilde": "^2.0.2",
1349 | "is-plain-object": "^2.0.3",
1350 | "object.defaults": "^1.1.0",
1351 | "object.pick": "^1.2.0",
1352 | "parse-filepath": "^1.0.1"
1353 | }
1354 | },
1355 | "flagged-respawn": {
1356 | "version": "1.0.1",
1357 | "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
1358 | "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
1359 | "dev": true
1360 | },
1361 | "flush-write-stream": {
1362 | "version": "1.1.1",
1363 | "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
1364 | "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
1365 | "dev": true,
1366 | "requires": {
1367 | "inherits": "^2.0.3",
1368 | "readable-stream": "^2.3.6"
1369 | }
1370 | },
1371 | "for-in": {
1372 | "version": "1.0.2",
1373 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1374 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1375 | "dev": true
1376 | },
1377 | "for-own": {
1378 | "version": "1.0.0",
1379 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
1380 | "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
1381 | "dev": true,
1382 | "requires": {
1383 | "for-in": "^1.0.1"
1384 | }
1385 | },
1386 | "fragment-cache": {
1387 | "version": "0.2.1",
1388 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1389 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1390 | "dev": true,
1391 | "requires": {
1392 | "map-cache": "^0.2.2"
1393 | }
1394 | },
1395 | "from": {
1396 | "version": "0.1.7",
1397 | "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
1398 | "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
1399 | "dev": true
1400 | },
1401 | "fs-mkdirp-stream": {
1402 | "version": "1.0.0",
1403 | "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
1404 | "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
1405 | "dev": true,
1406 | "requires": {
1407 | "graceful-fs": "^4.1.11",
1408 | "through2": "^2.0.3"
1409 | }
1410 | },
1411 | "fs.realpath": {
1412 | "version": "1.0.0",
1413 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1414 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1415 | "dev": true
1416 | },
1417 | "fsevents": {
1418 | "version": "1.2.11",
1419 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz",
1420 | "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==",
1421 | "dev": true,
1422 | "optional": true,
1423 | "requires": {
1424 | "bindings": "^1.5.0",
1425 | "nan": "^2.12.1",
1426 | "node-pre-gyp": "*"
1427 | },
1428 | "dependencies": {
1429 | "abbrev": {
1430 | "version": "1.1.1",
1431 | "bundled": true,
1432 | "dev": true,
1433 | "optional": true
1434 | },
1435 | "ansi-regex": {
1436 | "version": "2.1.1",
1437 | "bundled": true,
1438 | "dev": true,
1439 | "optional": true
1440 | },
1441 | "aproba": {
1442 | "version": "1.2.0",
1443 | "bundled": true,
1444 | "dev": true,
1445 | "optional": true
1446 | },
1447 | "are-we-there-yet": {
1448 | "version": "1.1.5",
1449 | "bundled": true,
1450 | "dev": true,
1451 | "optional": true,
1452 | "requires": {
1453 | "delegates": "^1.0.0",
1454 | "readable-stream": "^2.0.6"
1455 | }
1456 | },
1457 | "balanced-match": {
1458 | "version": "1.0.0",
1459 | "bundled": true,
1460 | "dev": true,
1461 | "optional": true
1462 | },
1463 | "brace-expansion": {
1464 | "version": "1.1.11",
1465 | "bundled": true,
1466 | "dev": true,
1467 | "optional": true,
1468 | "requires": {
1469 | "balanced-match": "^1.0.0",
1470 | "concat-map": "0.0.1"
1471 | }
1472 | },
1473 | "chownr": {
1474 | "version": "1.1.3",
1475 | "bundled": true,
1476 | "dev": true,
1477 | "optional": true
1478 | },
1479 | "code-point-at": {
1480 | "version": "1.1.0",
1481 | "bundled": true,
1482 | "dev": true,
1483 | "optional": true
1484 | },
1485 | "concat-map": {
1486 | "version": "0.0.1",
1487 | "bundled": true,
1488 | "dev": true,
1489 | "optional": true
1490 | },
1491 | "console-control-strings": {
1492 | "version": "1.1.0",
1493 | "bundled": true,
1494 | "dev": true,
1495 | "optional": true
1496 | },
1497 | "core-util-is": {
1498 | "version": "1.0.2",
1499 | "bundled": true,
1500 | "dev": true,
1501 | "optional": true
1502 | },
1503 | "debug": {
1504 | "version": "3.2.6",
1505 | "bundled": true,
1506 | "dev": true,
1507 | "optional": true,
1508 | "requires": {
1509 | "ms": "^2.1.1"
1510 | }
1511 | },
1512 | "deep-extend": {
1513 | "version": "0.6.0",
1514 | "bundled": true,
1515 | "dev": true,
1516 | "optional": true
1517 | },
1518 | "delegates": {
1519 | "version": "1.0.0",
1520 | "bundled": true,
1521 | "dev": true,
1522 | "optional": true
1523 | },
1524 | "detect-libc": {
1525 | "version": "1.0.3",
1526 | "bundled": true,
1527 | "dev": true,
1528 | "optional": true
1529 | },
1530 | "fs-minipass": {
1531 | "version": "1.2.7",
1532 | "bundled": true,
1533 | "dev": true,
1534 | "optional": true,
1535 | "requires": {
1536 | "minipass": "^2.6.0"
1537 | }
1538 | },
1539 | "fs.realpath": {
1540 | "version": "1.0.0",
1541 | "bundled": true,
1542 | "dev": true,
1543 | "optional": true
1544 | },
1545 | "gauge": {
1546 | "version": "2.7.4",
1547 | "bundled": true,
1548 | "dev": true,
1549 | "optional": true,
1550 | "requires": {
1551 | "aproba": "^1.0.3",
1552 | "console-control-strings": "^1.0.0",
1553 | "has-unicode": "^2.0.0",
1554 | "object-assign": "^4.1.0",
1555 | "signal-exit": "^3.0.0",
1556 | "string-width": "^1.0.1",
1557 | "strip-ansi": "^3.0.1",
1558 | "wide-align": "^1.1.0"
1559 | }
1560 | },
1561 | "glob": {
1562 | "version": "7.1.6",
1563 | "bundled": true,
1564 | "dev": true,
1565 | "optional": true,
1566 | "requires": {
1567 | "fs.realpath": "^1.0.0",
1568 | "inflight": "^1.0.4",
1569 | "inherits": "2",
1570 | "minimatch": "^3.0.4",
1571 | "once": "^1.3.0",
1572 | "path-is-absolute": "^1.0.0"
1573 | }
1574 | },
1575 | "has-unicode": {
1576 | "version": "2.0.1",
1577 | "bundled": true,
1578 | "dev": true,
1579 | "optional": true
1580 | },
1581 | "iconv-lite": {
1582 | "version": "0.4.24",
1583 | "bundled": true,
1584 | "dev": true,
1585 | "optional": true,
1586 | "requires": {
1587 | "safer-buffer": ">= 2.1.2 < 3"
1588 | }
1589 | },
1590 | "ignore-walk": {
1591 | "version": "3.0.3",
1592 | "bundled": true,
1593 | "dev": true,
1594 | "optional": true,
1595 | "requires": {
1596 | "minimatch": "^3.0.4"
1597 | }
1598 | },
1599 | "inflight": {
1600 | "version": "1.0.6",
1601 | "bundled": true,
1602 | "dev": true,
1603 | "optional": true,
1604 | "requires": {
1605 | "once": "^1.3.0",
1606 | "wrappy": "1"
1607 | }
1608 | },
1609 | "inherits": {
1610 | "version": "2.0.4",
1611 | "bundled": true,
1612 | "dev": true,
1613 | "optional": true
1614 | },
1615 | "ini": {
1616 | "version": "1.3.5",
1617 | "bundled": true,
1618 | "dev": true,
1619 | "optional": true
1620 | },
1621 | "is-fullwidth-code-point": {
1622 | "version": "1.0.0",
1623 | "bundled": true,
1624 | "dev": true,
1625 | "optional": true,
1626 | "requires": {
1627 | "number-is-nan": "^1.0.0"
1628 | }
1629 | },
1630 | "isarray": {
1631 | "version": "1.0.0",
1632 | "bundled": true,
1633 | "dev": true,
1634 | "optional": true
1635 | },
1636 | "minimatch": {
1637 | "version": "3.0.4",
1638 | "bundled": true,
1639 | "dev": true,
1640 | "optional": true,
1641 | "requires": {
1642 | "brace-expansion": "^1.1.7"
1643 | }
1644 | },
1645 | "minimist": {
1646 | "version": "0.0.8",
1647 | "bundled": true,
1648 | "dev": true,
1649 | "optional": true
1650 | },
1651 | "minipass": {
1652 | "version": "2.9.0",
1653 | "bundled": true,
1654 | "dev": true,
1655 | "optional": true,
1656 | "requires": {
1657 | "safe-buffer": "^5.1.2",
1658 | "yallist": "^3.0.0"
1659 | }
1660 | },
1661 | "minizlib": {
1662 | "version": "1.3.3",
1663 | "bundled": true,
1664 | "dev": true,
1665 | "optional": true,
1666 | "requires": {
1667 | "minipass": "^2.9.0"
1668 | }
1669 | },
1670 | "mkdirp": {
1671 | "version": "0.5.1",
1672 | "bundled": true,
1673 | "dev": true,
1674 | "optional": true,
1675 | "requires": {
1676 | "minimist": "0.0.8"
1677 | }
1678 | },
1679 | "ms": {
1680 | "version": "2.1.2",
1681 | "bundled": true,
1682 | "dev": true,
1683 | "optional": true
1684 | },
1685 | "needle": {
1686 | "version": "2.4.0",
1687 | "bundled": true,
1688 | "dev": true,
1689 | "optional": true,
1690 | "requires": {
1691 | "debug": "^3.2.6",
1692 | "iconv-lite": "^0.4.4",
1693 | "sax": "^1.2.4"
1694 | }
1695 | },
1696 | "node-pre-gyp": {
1697 | "version": "0.14.0",
1698 | "bundled": true,
1699 | "dev": true,
1700 | "optional": true,
1701 | "requires": {
1702 | "detect-libc": "^1.0.2",
1703 | "mkdirp": "^0.5.1",
1704 | "needle": "^2.2.1",
1705 | "nopt": "^4.0.1",
1706 | "npm-packlist": "^1.1.6",
1707 | "npmlog": "^4.0.2",
1708 | "rc": "^1.2.7",
1709 | "rimraf": "^2.6.1",
1710 | "semver": "^5.3.0",
1711 | "tar": "^4.4.2"
1712 | }
1713 | },
1714 | "nopt": {
1715 | "version": "4.0.1",
1716 | "bundled": true,
1717 | "dev": true,
1718 | "optional": true,
1719 | "requires": {
1720 | "abbrev": "1",
1721 | "osenv": "^0.1.4"
1722 | }
1723 | },
1724 | "npm-bundled": {
1725 | "version": "1.1.1",
1726 | "bundled": true,
1727 | "dev": true,
1728 | "optional": true,
1729 | "requires": {
1730 | "npm-normalize-package-bin": "^1.0.1"
1731 | }
1732 | },
1733 | "npm-normalize-package-bin": {
1734 | "version": "1.0.1",
1735 | "bundled": true,
1736 | "dev": true,
1737 | "optional": true
1738 | },
1739 | "npm-packlist": {
1740 | "version": "1.4.7",
1741 | "bundled": true,
1742 | "dev": true,
1743 | "optional": true,
1744 | "requires": {
1745 | "ignore-walk": "^3.0.1",
1746 | "npm-bundled": "^1.0.1"
1747 | }
1748 | },
1749 | "npmlog": {
1750 | "version": "4.1.2",
1751 | "bundled": true,
1752 | "dev": true,
1753 | "optional": true,
1754 | "requires": {
1755 | "are-we-there-yet": "~1.1.2",
1756 | "console-control-strings": "~1.1.0",
1757 | "gauge": "~2.7.3",
1758 | "set-blocking": "~2.0.0"
1759 | }
1760 | },
1761 | "number-is-nan": {
1762 | "version": "1.0.1",
1763 | "bundled": true,
1764 | "dev": true,
1765 | "optional": true
1766 | },
1767 | "object-assign": {
1768 | "version": "4.1.1",
1769 | "bundled": true,
1770 | "dev": true,
1771 | "optional": true
1772 | },
1773 | "once": {
1774 | "version": "1.4.0",
1775 | "bundled": true,
1776 | "dev": true,
1777 | "optional": true,
1778 | "requires": {
1779 | "wrappy": "1"
1780 | }
1781 | },
1782 | "os-homedir": {
1783 | "version": "1.0.2",
1784 | "bundled": true,
1785 | "dev": true,
1786 | "optional": true
1787 | },
1788 | "os-tmpdir": {
1789 | "version": "1.0.2",
1790 | "bundled": true,
1791 | "dev": true,
1792 | "optional": true
1793 | },
1794 | "osenv": {
1795 | "version": "0.1.5",
1796 | "bundled": true,
1797 | "dev": true,
1798 | "optional": true,
1799 | "requires": {
1800 | "os-homedir": "^1.0.0",
1801 | "os-tmpdir": "^1.0.0"
1802 | }
1803 | },
1804 | "path-is-absolute": {
1805 | "version": "1.0.1",
1806 | "bundled": true,
1807 | "dev": true,
1808 | "optional": true
1809 | },
1810 | "process-nextick-args": {
1811 | "version": "2.0.1",
1812 | "bundled": true,
1813 | "dev": true,
1814 | "optional": true
1815 | },
1816 | "rc": {
1817 | "version": "1.2.8",
1818 | "bundled": true,
1819 | "dev": true,
1820 | "optional": true,
1821 | "requires": {
1822 | "deep-extend": "^0.6.0",
1823 | "ini": "~1.3.0",
1824 | "minimist": "^1.2.0",
1825 | "strip-json-comments": "~2.0.1"
1826 | },
1827 | "dependencies": {
1828 | "minimist": {
1829 | "version": "1.2.0",
1830 | "bundled": true,
1831 | "dev": true,
1832 | "optional": true
1833 | }
1834 | }
1835 | },
1836 | "readable-stream": {
1837 | "version": "2.3.6",
1838 | "bundled": true,
1839 | "dev": true,
1840 | "optional": true,
1841 | "requires": {
1842 | "core-util-is": "~1.0.0",
1843 | "inherits": "~2.0.3",
1844 | "isarray": "~1.0.0",
1845 | "process-nextick-args": "~2.0.0",
1846 | "safe-buffer": "~5.1.1",
1847 | "string_decoder": "~1.1.1",
1848 | "util-deprecate": "~1.0.1"
1849 | }
1850 | },
1851 | "rimraf": {
1852 | "version": "2.7.1",
1853 | "bundled": true,
1854 | "dev": true,
1855 | "optional": true,
1856 | "requires": {
1857 | "glob": "^7.1.3"
1858 | }
1859 | },
1860 | "safe-buffer": {
1861 | "version": "5.1.2",
1862 | "bundled": true,
1863 | "dev": true,
1864 | "optional": true
1865 | },
1866 | "safer-buffer": {
1867 | "version": "2.1.2",
1868 | "bundled": true,
1869 | "dev": true,
1870 | "optional": true
1871 | },
1872 | "sax": {
1873 | "version": "1.2.4",
1874 | "bundled": true,
1875 | "dev": true,
1876 | "optional": true
1877 | },
1878 | "semver": {
1879 | "version": "5.7.1",
1880 | "bundled": true,
1881 | "dev": true,
1882 | "optional": true
1883 | },
1884 | "set-blocking": {
1885 | "version": "2.0.0",
1886 | "bundled": true,
1887 | "dev": true,
1888 | "optional": true
1889 | },
1890 | "signal-exit": {
1891 | "version": "3.0.2",
1892 | "bundled": true,
1893 | "dev": true,
1894 | "optional": true
1895 | },
1896 | "string-width": {
1897 | "version": "1.0.2",
1898 | "bundled": true,
1899 | "dev": true,
1900 | "optional": true,
1901 | "requires": {
1902 | "code-point-at": "^1.0.0",
1903 | "is-fullwidth-code-point": "^1.0.0",
1904 | "strip-ansi": "^3.0.0"
1905 | }
1906 | },
1907 | "string_decoder": {
1908 | "version": "1.1.1",
1909 | "bundled": true,
1910 | "dev": true,
1911 | "optional": true,
1912 | "requires": {
1913 | "safe-buffer": "~5.1.0"
1914 | }
1915 | },
1916 | "strip-ansi": {
1917 | "version": "3.0.1",
1918 | "bundled": true,
1919 | "dev": true,
1920 | "optional": true,
1921 | "requires": {
1922 | "ansi-regex": "^2.0.0"
1923 | }
1924 | },
1925 | "strip-json-comments": {
1926 | "version": "2.0.1",
1927 | "bundled": true,
1928 | "dev": true,
1929 | "optional": true
1930 | },
1931 | "tar": {
1932 | "version": "4.4.13",
1933 | "bundled": true,
1934 | "dev": true,
1935 | "optional": true,
1936 | "requires": {
1937 | "chownr": "^1.1.1",
1938 | "fs-minipass": "^1.2.5",
1939 | "minipass": "^2.8.6",
1940 | "minizlib": "^1.2.1",
1941 | "mkdirp": "^0.5.0",
1942 | "safe-buffer": "^5.1.2",
1943 | "yallist": "^3.0.3"
1944 | }
1945 | },
1946 | "util-deprecate": {
1947 | "version": "1.0.2",
1948 | "bundled": true,
1949 | "dev": true,
1950 | "optional": true
1951 | },
1952 | "wide-align": {
1953 | "version": "1.1.3",
1954 | "bundled": true,
1955 | "dev": true,
1956 | "optional": true,
1957 | "requires": {
1958 | "string-width": "^1.0.2 || 2"
1959 | }
1960 | },
1961 | "wrappy": {
1962 | "version": "1.0.2",
1963 | "bundled": true,
1964 | "dev": true,
1965 | "optional": true
1966 | },
1967 | "yallist": {
1968 | "version": "3.1.1",
1969 | "bundled": true,
1970 | "dev": true,
1971 | "optional": true
1972 | }
1973 | }
1974 | },
1975 | "function-bind": {
1976 | "version": "1.1.1",
1977 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1978 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1979 | "dev": true
1980 | },
1981 | "gensync": {
1982 | "version": "1.0.0-beta.1",
1983 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
1984 | "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg=="
1985 | },
1986 | "get-caller-file": {
1987 | "version": "1.0.3",
1988 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
1989 | "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
1990 | "dev": true
1991 | },
1992 | "get-value": {
1993 | "version": "2.0.6",
1994 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
1995 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
1996 | "dev": true
1997 | },
1998 | "glob": {
1999 | "version": "7.1.6",
2000 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
2001 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
2002 | "dev": true,
2003 | "requires": {
2004 | "fs.realpath": "^1.0.0",
2005 | "inflight": "^1.0.4",
2006 | "inherits": "2",
2007 | "minimatch": "^3.0.4",
2008 | "once": "^1.3.0",
2009 | "path-is-absolute": "^1.0.0"
2010 | }
2011 | },
2012 | "glob-parent": {
2013 | "version": "3.1.0",
2014 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
2015 | "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
2016 | "dev": true,
2017 | "requires": {
2018 | "is-glob": "^3.1.0",
2019 | "path-dirname": "^1.0.0"
2020 | },
2021 | "dependencies": {
2022 | "is-glob": {
2023 | "version": "3.1.0",
2024 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
2025 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2026 | "dev": true,
2027 | "requires": {
2028 | "is-extglob": "^2.1.0"
2029 | }
2030 | }
2031 | }
2032 | },
2033 | "glob-stream": {
2034 | "version": "6.1.0",
2035 | "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
2036 | "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
2037 | "dev": true,
2038 | "requires": {
2039 | "extend": "^3.0.0",
2040 | "glob": "^7.1.1",
2041 | "glob-parent": "^3.1.0",
2042 | "is-negated-glob": "^1.0.0",
2043 | "ordered-read-streams": "^1.0.0",
2044 | "pumpify": "^1.3.5",
2045 | "readable-stream": "^2.1.5",
2046 | "remove-trailing-separator": "^1.0.1",
2047 | "to-absolute-glob": "^2.0.0",
2048 | "unique-stream": "^2.0.2"
2049 | }
2050 | },
2051 | "glob-watcher": {
2052 | "version": "5.0.3",
2053 | "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz",
2054 | "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==",
2055 | "dev": true,
2056 | "requires": {
2057 | "anymatch": "^2.0.0",
2058 | "async-done": "^1.2.0",
2059 | "chokidar": "^2.0.0",
2060 | "is-negated-glob": "^1.0.0",
2061 | "just-debounce": "^1.0.0",
2062 | "object.defaults": "^1.1.0"
2063 | }
2064 | },
2065 | "global-modules": {
2066 | "version": "1.0.0",
2067 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
2068 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
2069 | "dev": true,
2070 | "requires": {
2071 | "global-prefix": "^1.0.1",
2072 | "is-windows": "^1.0.1",
2073 | "resolve-dir": "^1.0.0"
2074 | }
2075 | },
2076 | "global-prefix": {
2077 | "version": "1.0.2",
2078 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
2079 | "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
2080 | "dev": true,
2081 | "requires": {
2082 | "expand-tilde": "^2.0.2",
2083 | "homedir-polyfill": "^1.0.1",
2084 | "ini": "^1.3.4",
2085 | "is-windows": "^1.0.1",
2086 | "which": "^1.2.14"
2087 | }
2088 | },
2089 | "globals": {
2090 | "version": "11.12.0",
2091 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
2092 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
2093 | },
2094 | "globby": {
2095 | "version": "5.0.0",
2096 | "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
2097 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
2098 | "dev": true,
2099 | "requires": {
2100 | "array-union": "^1.0.1",
2101 | "arrify": "^1.0.0",
2102 | "glob": "^7.0.3",
2103 | "object-assign": "^4.0.1",
2104 | "pify": "^2.0.0",
2105 | "pinkie-promise": "^2.0.0"
2106 | }
2107 | },
2108 | "glogg": {
2109 | "version": "1.0.2",
2110 | "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
2111 | "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
2112 | "dev": true,
2113 | "requires": {
2114 | "sparkles": "^1.0.0"
2115 | }
2116 | },
2117 | "graceful-fs": {
2118 | "version": "4.2.3",
2119 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
2120 | "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
2121 | "dev": true
2122 | },
2123 | "gulp": {
2124 | "version": "4.0.2",
2125 | "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz",
2126 | "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==",
2127 | "dev": true,
2128 | "requires": {
2129 | "glob-watcher": "^5.0.3",
2130 | "gulp-cli": "^2.2.0",
2131 | "undertaker": "^1.2.1",
2132 | "vinyl-fs": "^3.0.0"
2133 | },
2134 | "dependencies": {
2135 | "gulp-cli": {
2136 | "version": "2.2.0",
2137 | "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz",
2138 | "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==",
2139 | "dev": true,
2140 | "requires": {
2141 | "ansi-colors": "^1.0.1",
2142 | "archy": "^1.0.0",
2143 | "array-sort": "^1.0.0",
2144 | "color-support": "^1.1.3",
2145 | "concat-stream": "^1.6.0",
2146 | "copy-props": "^2.0.1",
2147 | "fancy-log": "^1.3.2",
2148 | "gulplog": "^1.0.0",
2149 | "interpret": "^1.1.0",
2150 | "isobject": "^3.0.1",
2151 | "liftoff": "^3.1.0",
2152 | "matchdep": "^2.0.0",
2153 | "mute-stdout": "^1.0.0",
2154 | "pretty-hrtime": "^1.0.0",
2155 | "replace-homedir": "^1.0.0",
2156 | "semver-greatest-satisfied-range": "^1.1.0",
2157 | "v8flags": "^3.0.1",
2158 | "yargs": "^7.1.0"
2159 | }
2160 | }
2161 | }
2162 | },
2163 | "gulp-concat": {
2164 | "version": "2.6.1",
2165 | "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
2166 | "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
2167 | "dev": true,
2168 | "requires": {
2169 | "concat-with-sourcemaps": "^1.0.0",
2170 | "through2": "^2.0.0",
2171 | "vinyl": "^2.0.0"
2172 | }
2173 | },
2174 | "gulp-load-plugins": {
2175 | "version": "1.6.0",
2176 | "resolved": "https://registry.npmjs.org/gulp-load-plugins/-/gulp-load-plugins-1.6.0.tgz",
2177 | "integrity": "sha512-HlCODki0WHJvQIgAsJYOTkyo0c7TsDCetvfhrdGz9JYPL6A4mFRMGmKfoi6JmXjA/vvzg+fkT91c9FBh7rnkyg==",
2178 | "dev": true,
2179 | "requires": {
2180 | "array-unique": "^0.2.1",
2181 | "fancy-log": "^1.2.0",
2182 | "findup-sync": "^3.0.0",
2183 | "gulplog": "^1.0.0",
2184 | "has-gulplog": "^0.1.0",
2185 | "micromatch": "^3.1.10",
2186 | "resolve": "^1.1.7"
2187 | },
2188 | "dependencies": {
2189 | "array-unique": {
2190 | "version": "0.2.1",
2191 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
2192 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
2193 | "dev": true
2194 | }
2195 | }
2196 | },
2197 | "gulp-tap": {
2198 | "version": "0.1.3",
2199 | "resolved": "https://registry.npmjs.org/gulp-tap/-/gulp-tap-0.1.3.tgz",
2200 | "integrity": "sha1-Eg3KKQHnb7hNXLStXzfK0BVjYeQ=",
2201 | "dev": true,
2202 | "requires": {
2203 | "event-stream": "~3.1.0"
2204 | }
2205 | },
2206 | "gulplog": {
2207 | "version": "1.0.0",
2208 | "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
2209 | "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
2210 | "dev": true,
2211 | "requires": {
2212 | "glogg": "^1.0.0"
2213 | }
2214 | },
2215 | "handlebars": {
2216 | "version": "4.7.3",
2217 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz",
2218 | "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==",
2219 | "requires": {
2220 | "neo-async": "^2.6.0",
2221 | "optimist": "^0.6.1",
2222 | "source-map": "^0.6.1",
2223 | "uglify-js": "^3.1.4"
2224 | }
2225 | },
2226 | "has-flag": {
2227 | "version": "3.0.0",
2228 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2229 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
2230 | },
2231 | "has-gulplog": {
2232 | "version": "0.1.0",
2233 | "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
2234 | "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
2235 | "dev": true,
2236 | "requires": {
2237 | "sparkles": "^1.0.0"
2238 | }
2239 | },
2240 | "has-symbols": {
2241 | "version": "1.0.1",
2242 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
2243 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
2244 | "dev": true
2245 | },
2246 | "has-value": {
2247 | "version": "1.0.0",
2248 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
2249 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
2250 | "dev": true,
2251 | "requires": {
2252 | "get-value": "^2.0.6",
2253 | "has-values": "^1.0.0",
2254 | "isobject": "^3.0.0"
2255 | }
2256 | },
2257 | "has-values": {
2258 | "version": "1.0.0",
2259 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
2260 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
2261 | "dev": true,
2262 | "requires": {
2263 | "is-number": "^3.0.0",
2264 | "kind-of": "^4.0.0"
2265 | },
2266 | "dependencies": {
2267 | "kind-of": {
2268 | "version": "4.0.0",
2269 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
2270 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
2271 | "dev": true,
2272 | "requires": {
2273 | "is-buffer": "^1.1.5"
2274 | }
2275 | }
2276 | }
2277 | },
2278 | "homedir-polyfill": {
2279 | "version": "1.0.3",
2280 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
2281 | "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
2282 | "dev": true,
2283 | "requires": {
2284 | "parse-passwd": "^1.0.0"
2285 | }
2286 | },
2287 | "hosted-git-info": {
2288 | "version": "2.8.8",
2289 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
2290 | "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
2291 | "dev": true
2292 | },
2293 | "htmlparser2": {
2294 | "version": "3.7.3",
2295 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz",
2296 | "integrity": "sha1-amTHdjfAjG8w7CqBV6UzM758sF4=",
2297 | "dev": true,
2298 | "requires": {
2299 | "domelementtype": "1",
2300 | "domhandler": "2.2",
2301 | "domutils": "1.5",
2302 | "entities": "1.0",
2303 | "readable-stream": "1.1"
2304 | },
2305 | "dependencies": {
2306 | "isarray": {
2307 | "version": "0.0.1",
2308 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
2309 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
2310 | "dev": true
2311 | },
2312 | "readable-stream": {
2313 | "version": "1.1.14",
2314 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
2315 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
2316 | "dev": true,
2317 | "requires": {
2318 | "core-util-is": "~1.0.0",
2319 | "inherits": "~2.0.1",
2320 | "isarray": "0.0.1",
2321 | "string_decoder": "~0.10.x"
2322 | }
2323 | },
2324 | "string_decoder": {
2325 | "version": "0.10.31",
2326 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
2327 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
2328 | "dev": true
2329 | }
2330 | }
2331 | },
2332 | "inflight": {
2333 | "version": "1.0.6",
2334 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2335 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2336 | "dev": true,
2337 | "requires": {
2338 | "once": "^1.3.0",
2339 | "wrappy": "1"
2340 | }
2341 | },
2342 | "inherits": {
2343 | "version": "2.0.4",
2344 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2345 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
2346 | },
2347 | "ini": {
2348 | "version": "1.3.5",
2349 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
2350 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
2351 | "dev": true
2352 | },
2353 | "interpret": {
2354 | "version": "1.2.0",
2355 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
2356 | "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
2357 | "dev": true
2358 | },
2359 | "invert-kv": {
2360 | "version": "1.0.0",
2361 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
2362 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
2363 | "dev": true
2364 | },
2365 | "is-absolute": {
2366 | "version": "1.0.0",
2367 | "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
2368 | "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
2369 | "dev": true,
2370 | "requires": {
2371 | "is-relative": "^1.0.0",
2372 | "is-windows": "^1.0.1"
2373 | }
2374 | },
2375 | "is-accessor-descriptor": {
2376 | "version": "0.1.6",
2377 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
2378 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2379 | "dev": true,
2380 | "requires": {
2381 | "kind-of": "^3.0.2"
2382 | },
2383 | "dependencies": {
2384 | "kind-of": {
2385 | "version": "3.2.2",
2386 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2387 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2388 | "dev": true,
2389 | "requires": {
2390 | "is-buffer": "^1.1.5"
2391 | }
2392 | }
2393 | }
2394 | },
2395 | "is-arrayish": {
2396 | "version": "0.2.1",
2397 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
2398 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
2399 | "dev": true
2400 | },
2401 | "is-binary-path": {
2402 | "version": "1.0.1",
2403 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
2404 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
2405 | "dev": true,
2406 | "requires": {
2407 | "binary-extensions": "^1.0.0"
2408 | }
2409 | },
2410 | "is-buffer": {
2411 | "version": "1.1.6",
2412 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
2413 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
2414 | "dev": true
2415 | },
2416 | "is-data-descriptor": {
2417 | "version": "0.1.4",
2418 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
2419 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2420 | "dev": true,
2421 | "requires": {
2422 | "kind-of": "^3.0.2"
2423 | },
2424 | "dependencies": {
2425 | "kind-of": {
2426 | "version": "3.2.2",
2427 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2428 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2429 | "dev": true,
2430 | "requires": {
2431 | "is-buffer": "^1.1.5"
2432 | }
2433 | }
2434 | }
2435 | },
2436 | "is-descriptor": {
2437 | "version": "0.1.6",
2438 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2439 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2440 | "dev": true,
2441 | "requires": {
2442 | "is-accessor-descriptor": "^0.1.6",
2443 | "is-data-descriptor": "^0.1.4",
2444 | "kind-of": "^5.0.0"
2445 | },
2446 | "dependencies": {
2447 | "kind-of": {
2448 | "version": "5.1.0",
2449 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2450 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
2451 | "dev": true
2452 | }
2453 | }
2454 | },
2455 | "is-extendable": {
2456 | "version": "0.1.1",
2457 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
2458 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
2459 | "dev": true
2460 | },
2461 | "is-extglob": {
2462 | "version": "2.1.1",
2463 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2464 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
2465 | "dev": true
2466 | },
2467 | "is-fullwidth-code-point": {
2468 | "version": "1.0.0",
2469 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
2470 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
2471 | "dev": true,
2472 | "requires": {
2473 | "number-is-nan": "^1.0.0"
2474 | }
2475 | },
2476 | "is-glob": {
2477 | "version": "4.0.1",
2478 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
2479 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
2480 | "dev": true,
2481 | "requires": {
2482 | "is-extglob": "^2.1.1"
2483 | }
2484 | },
2485 | "is-negated-glob": {
2486 | "version": "1.0.0",
2487 | "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
2488 | "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
2489 | "dev": true
2490 | },
2491 | "is-number": {
2492 | "version": "3.0.0",
2493 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2494 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2495 | "dev": true,
2496 | "requires": {
2497 | "kind-of": "^3.0.2"
2498 | },
2499 | "dependencies": {
2500 | "kind-of": {
2501 | "version": "3.2.2",
2502 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2503 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2504 | "dev": true,
2505 | "requires": {
2506 | "is-buffer": "^1.1.5"
2507 | }
2508 | }
2509 | }
2510 | },
2511 | "is-path-cwd": {
2512 | "version": "1.0.0",
2513 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
2514 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
2515 | "dev": true
2516 | },
2517 | "is-path-in-cwd": {
2518 | "version": "1.0.1",
2519 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
2520 | "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
2521 | "dev": true,
2522 | "requires": {
2523 | "is-path-inside": "^1.0.0"
2524 | }
2525 | },
2526 | "is-path-inside": {
2527 | "version": "1.0.1",
2528 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
2529 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
2530 | "dev": true,
2531 | "requires": {
2532 | "path-is-inside": "^1.0.1"
2533 | }
2534 | },
2535 | "is-plain-object": {
2536 | "version": "2.0.4",
2537 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
2538 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
2539 | "dev": true,
2540 | "requires": {
2541 | "isobject": "^3.0.1"
2542 | }
2543 | },
2544 | "is-relative": {
2545 | "version": "1.0.0",
2546 | "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
2547 | "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
2548 | "dev": true,
2549 | "requires": {
2550 | "is-unc-path": "^1.0.0"
2551 | }
2552 | },
2553 | "is-unc-path": {
2554 | "version": "1.0.0",
2555 | "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
2556 | "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
2557 | "dev": true,
2558 | "requires": {
2559 | "unc-path-regex": "^0.1.2"
2560 | }
2561 | },
2562 | "is-utf8": {
2563 | "version": "0.2.1",
2564 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
2565 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
2566 | "dev": true
2567 | },
2568 | "is-valid-glob": {
2569 | "version": "1.0.0",
2570 | "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
2571 | "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=",
2572 | "dev": true
2573 | },
2574 | "is-windows": {
2575 | "version": "1.0.2",
2576 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
2577 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
2578 | "dev": true
2579 | },
2580 | "isarray": {
2581 | "version": "1.0.0",
2582 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2583 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
2584 | },
2585 | "isexe": {
2586 | "version": "2.0.0",
2587 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2588 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2589 | "dev": true
2590 | },
2591 | "isobject": {
2592 | "version": "3.0.1",
2593 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2594 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2595 | "dev": true
2596 | },
2597 | "js-tokens": {
2598 | "version": "4.0.0",
2599 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2600 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
2601 | },
2602 | "jsesc": {
2603 | "version": "2.5.2",
2604 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
2605 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
2606 | },
2607 | "json-stable-stringify-without-jsonify": {
2608 | "version": "1.0.1",
2609 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2610 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
2611 | "dev": true
2612 | },
2613 | "json5": {
2614 | "version": "2.1.1",
2615 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
2616 | "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
2617 | "requires": {
2618 | "minimist": "^1.2.0"
2619 | },
2620 | "dependencies": {
2621 | "minimist": {
2622 | "version": "1.2.0",
2623 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
2624 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
2625 | }
2626 | }
2627 | },
2628 | "just-debounce": {
2629 | "version": "1.0.0",
2630 | "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz",
2631 | "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=",
2632 | "dev": true
2633 | },
2634 | "kind-of": {
2635 | "version": "6.0.3",
2636 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2637 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2638 | "dev": true
2639 | },
2640 | "last-run": {
2641 | "version": "1.1.1",
2642 | "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz",
2643 | "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=",
2644 | "dev": true,
2645 | "requires": {
2646 | "default-resolution": "^2.0.0",
2647 | "es6-weak-map": "^2.0.1"
2648 | }
2649 | },
2650 | "lazystream": {
2651 | "version": "1.0.0",
2652 | "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
2653 | "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
2654 | "dev": true,
2655 | "requires": {
2656 | "readable-stream": "^2.0.5"
2657 | }
2658 | },
2659 | "lcid": {
2660 | "version": "1.0.0",
2661 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
2662 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
2663 | "dev": true,
2664 | "requires": {
2665 | "invert-kv": "^1.0.0"
2666 | }
2667 | },
2668 | "lead": {
2669 | "version": "1.0.0",
2670 | "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
2671 | "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
2672 | "dev": true,
2673 | "requires": {
2674 | "flush-write-stream": "^1.0.2"
2675 | }
2676 | },
2677 | "liftoff": {
2678 | "version": "3.1.0",
2679 | "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz",
2680 | "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==",
2681 | "dev": true,
2682 | "requires": {
2683 | "extend": "^3.0.0",
2684 | "findup-sync": "^3.0.0",
2685 | "fined": "^1.0.1",
2686 | "flagged-respawn": "^1.0.0",
2687 | "is-plain-object": "^2.0.4",
2688 | "object.map": "^1.0.0",
2689 | "rechoir": "^0.6.2",
2690 | "resolve": "^1.1.7"
2691 | }
2692 | },
2693 | "load-json-file": {
2694 | "version": "1.1.0",
2695 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
2696 | "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
2697 | "dev": true,
2698 | "requires": {
2699 | "graceful-fs": "^4.1.2",
2700 | "parse-json": "^2.2.0",
2701 | "pify": "^2.0.0",
2702 | "pinkie-promise": "^2.0.0",
2703 | "strip-bom": "^2.0.0"
2704 | }
2705 | },
2706 | "lodash": {
2707 | "version": "4.17.15",
2708 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
2709 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
2710 | },
2711 | "make-iterator": {
2712 | "version": "1.0.1",
2713 | "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
2714 | "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
2715 | "dev": true,
2716 | "requires": {
2717 | "kind-of": "^6.0.2"
2718 | }
2719 | },
2720 | "map-cache": {
2721 | "version": "0.2.2",
2722 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
2723 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
2724 | "dev": true
2725 | },
2726 | "map-stream": {
2727 | "version": "0.1.0",
2728 | "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
2729 | "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
2730 | "dev": true
2731 | },
2732 | "map-visit": {
2733 | "version": "1.0.0",
2734 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
2735 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
2736 | "dev": true,
2737 | "requires": {
2738 | "object-visit": "^1.0.0"
2739 | }
2740 | },
2741 | "matchdep": {
2742 | "version": "2.0.0",
2743 | "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz",
2744 | "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=",
2745 | "dev": true,
2746 | "requires": {
2747 | "findup-sync": "^2.0.0",
2748 | "micromatch": "^3.0.4",
2749 | "resolve": "^1.4.0",
2750 | "stack-trace": "0.0.10"
2751 | },
2752 | "dependencies": {
2753 | "findup-sync": {
2754 | "version": "2.0.0",
2755 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
2756 | "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
2757 | "dev": true,
2758 | "requires": {
2759 | "detect-file": "^1.0.0",
2760 | "is-glob": "^3.1.0",
2761 | "micromatch": "^3.0.4",
2762 | "resolve-dir": "^1.0.1"
2763 | }
2764 | },
2765 | "is-glob": {
2766 | "version": "3.1.0",
2767 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
2768 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2769 | "dev": true,
2770 | "requires": {
2771 | "is-extglob": "^2.1.0"
2772 | }
2773 | }
2774 | }
2775 | },
2776 | "micromatch": {
2777 | "version": "3.1.10",
2778 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
2779 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2780 | "dev": true,
2781 | "requires": {
2782 | "arr-diff": "^4.0.0",
2783 | "array-unique": "^0.3.2",
2784 | "braces": "^2.3.1",
2785 | "define-property": "^2.0.2",
2786 | "extend-shallow": "^3.0.2",
2787 | "extglob": "^2.0.4",
2788 | "fragment-cache": "^0.2.1",
2789 | "kind-of": "^6.0.2",
2790 | "nanomatch": "^1.2.9",
2791 | "object.pick": "^1.3.0",
2792 | "regex-not": "^1.0.0",
2793 | "snapdragon": "^0.8.1",
2794 | "to-regex": "^3.0.2"
2795 | }
2796 | },
2797 | "min-indent": {
2798 | "version": "1.0.0",
2799 | "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz",
2800 | "integrity": "sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY="
2801 | },
2802 | "minimatch": {
2803 | "version": "3.0.4",
2804 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2805 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2806 | "requires": {
2807 | "brace-expansion": "^1.1.7"
2808 | }
2809 | },
2810 | "minimist": {
2811 | "version": "0.0.10",
2812 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
2813 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
2814 | },
2815 | "mixin-deep": {
2816 | "version": "1.3.2",
2817 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
2818 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
2819 | "dev": true,
2820 | "requires": {
2821 | "for-in": "^1.0.2",
2822 | "is-extendable": "^1.0.1"
2823 | },
2824 | "dependencies": {
2825 | "is-extendable": {
2826 | "version": "1.0.1",
2827 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
2828 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2829 | "dev": true,
2830 | "requires": {
2831 | "is-plain-object": "^2.0.4"
2832 | }
2833 | }
2834 | }
2835 | },
2836 | "ms": {
2837 | "version": "2.1.2",
2838 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2839 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
2840 | },
2841 | "mute-stdout": {
2842 | "version": "1.0.1",
2843 | "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz",
2844 | "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==",
2845 | "dev": true
2846 | },
2847 | "nan": {
2848 | "version": "2.14.0",
2849 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
2850 | "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
2851 | "dev": true,
2852 | "optional": true
2853 | },
2854 | "nanomatch": {
2855 | "version": "1.2.13",
2856 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
2857 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
2858 | "dev": true,
2859 | "requires": {
2860 | "arr-diff": "^4.0.0",
2861 | "array-unique": "^0.3.2",
2862 | "define-property": "^2.0.2",
2863 | "extend-shallow": "^3.0.2",
2864 | "fragment-cache": "^0.2.1",
2865 | "is-windows": "^1.0.2",
2866 | "kind-of": "^6.0.2",
2867 | "object.pick": "^1.3.0",
2868 | "regex-not": "^1.0.0",
2869 | "snapdragon": "^0.8.1",
2870 | "to-regex": "^3.0.1"
2871 | }
2872 | },
2873 | "neo-async": {
2874 | "version": "2.6.1",
2875 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
2876 | "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
2877 | },
2878 | "next-tick": {
2879 | "version": "1.0.0",
2880 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
2881 | "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
2882 | "dev": true
2883 | },
2884 | "node-dir": {
2885 | "version": "0.1.17",
2886 | "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz",
2887 | "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=",
2888 | "requires": {
2889 | "minimatch": "^3.0.2"
2890 | }
2891 | },
2892 | "normalize-package-data": {
2893 | "version": "2.5.0",
2894 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
2895 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
2896 | "dev": true,
2897 | "requires": {
2898 | "hosted-git-info": "^2.1.4",
2899 | "resolve": "^1.10.0",
2900 | "semver": "2 || 3 || 4 || 5",
2901 | "validate-npm-package-license": "^3.0.1"
2902 | }
2903 | },
2904 | "normalize-path": {
2905 | "version": "2.1.1",
2906 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
2907 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
2908 | "dev": true,
2909 | "requires": {
2910 | "remove-trailing-separator": "^1.0.1"
2911 | }
2912 | },
2913 | "now-and-later": {
2914 | "version": "2.0.1",
2915 | "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz",
2916 | "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
2917 | "dev": true,
2918 | "requires": {
2919 | "once": "^1.3.2"
2920 | }
2921 | },
2922 | "number-is-nan": {
2923 | "version": "1.0.1",
2924 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
2925 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
2926 | "dev": true
2927 | },
2928 | "object-assign": {
2929 | "version": "4.1.1",
2930 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2931 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
2932 | "dev": true
2933 | },
2934 | "object-copy": {
2935 | "version": "0.1.0",
2936 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
2937 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
2938 | "dev": true,
2939 | "requires": {
2940 | "copy-descriptor": "^0.1.0",
2941 | "define-property": "^0.2.5",
2942 | "kind-of": "^3.0.3"
2943 | },
2944 | "dependencies": {
2945 | "define-property": {
2946 | "version": "0.2.5",
2947 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2948 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2949 | "dev": true,
2950 | "requires": {
2951 | "is-descriptor": "^0.1.0"
2952 | }
2953 | },
2954 | "kind-of": {
2955 | "version": "3.2.2",
2956 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2957 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2958 | "dev": true,
2959 | "requires": {
2960 | "is-buffer": "^1.1.5"
2961 | }
2962 | }
2963 | }
2964 | },
2965 | "object-keys": {
2966 | "version": "1.1.1",
2967 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
2968 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
2969 | "dev": true
2970 | },
2971 | "object-visit": {
2972 | "version": "1.0.1",
2973 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
2974 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
2975 | "dev": true,
2976 | "requires": {
2977 | "isobject": "^3.0.0"
2978 | }
2979 | },
2980 | "object.assign": {
2981 | "version": "4.1.0",
2982 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
2983 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
2984 | "dev": true,
2985 | "requires": {
2986 | "define-properties": "^1.1.2",
2987 | "function-bind": "^1.1.1",
2988 | "has-symbols": "^1.0.0",
2989 | "object-keys": "^1.0.11"
2990 | }
2991 | },
2992 | "object.defaults": {
2993 | "version": "1.1.0",
2994 | "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
2995 | "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
2996 | "dev": true,
2997 | "requires": {
2998 | "array-each": "^1.0.1",
2999 | "array-slice": "^1.0.0",
3000 | "for-own": "^1.0.0",
3001 | "isobject": "^3.0.0"
3002 | }
3003 | },
3004 | "object.map": {
3005 | "version": "1.0.1",
3006 | "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
3007 | "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
3008 | "dev": true,
3009 | "requires": {
3010 | "for-own": "^1.0.0",
3011 | "make-iterator": "^1.0.0"
3012 | }
3013 | },
3014 | "object.pick": {
3015 | "version": "1.3.0",
3016 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
3017 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
3018 | "dev": true,
3019 | "requires": {
3020 | "isobject": "^3.0.1"
3021 | }
3022 | },
3023 | "object.reduce": {
3024 | "version": "1.0.1",
3025 | "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz",
3026 | "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=",
3027 | "dev": true,
3028 | "requires": {
3029 | "for-own": "^1.0.0",
3030 | "make-iterator": "^1.0.0"
3031 | }
3032 | },
3033 | "once": {
3034 | "version": "1.4.0",
3035 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3036 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3037 | "dev": true,
3038 | "requires": {
3039 | "wrappy": "1"
3040 | }
3041 | },
3042 | "optimist": {
3043 | "version": "0.6.1",
3044 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
3045 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
3046 | "requires": {
3047 | "minimist": "~0.0.1",
3048 | "wordwrap": "~0.0.2"
3049 | }
3050 | },
3051 | "ordered-read-streams": {
3052 | "version": "1.0.1",
3053 | "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
3054 | "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
3055 | "dev": true,
3056 | "requires": {
3057 | "readable-stream": "^2.0.1"
3058 | }
3059 | },
3060 | "os-locale": {
3061 | "version": "1.4.0",
3062 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
3063 | "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
3064 | "dev": true,
3065 | "requires": {
3066 | "lcid": "^1.0.0"
3067 | }
3068 | },
3069 | "parse-filepath": {
3070 | "version": "1.0.2",
3071 | "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
3072 | "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
3073 | "dev": true,
3074 | "requires": {
3075 | "is-absolute": "^1.0.0",
3076 | "map-cache": "^0.2.0",
3077 | "path-root": "^0.1.1"
3078 | }
3079 | },
3080 | "parse-json": {
3081 | "version": "2.2.0",
3082 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
3083 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
3084 | "dev": true,
3085 | "requires": {
3086 | "error-ex": "^1.2.0"
3087 | }
3088 | },
3089 | "parse-node-version": {
3090 | "version": "1.0.1",
3091 | "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
3092 | "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
3093 | "dev": true
3094 | },
3095 | "parse-passwd": {
3096 | "version": "1.0.0",
3097 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
3098 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
3099 | "dev": true
3100 | },
3101 | "pascalcase": {
3102 | "version": "0.1.1",
3103 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
3104 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
3105 | "dev": true
3106 | },
3107 | "path-dirname": {
3108 | "version": "1.0.2",
3109 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
3110 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
3111 | "dev": true
3112 | },
3113 | "path-exists": {
3114 | "version": "2.1.0",
3115 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
3116 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
3117 | "dev": true,
3118 | "requires": {
3119 | "pinkie-promise": "^2.0.0"
3120 | }
3121 | },
3122 | "path-is-absolute": {
3123 | "version": "1.0.1",
3124 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3125 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3126 | "dev": true
3127 | },
3128 | "path-is-inside": {
3129 | "version": "1.0.2",
3130 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
3131 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
3132 | "dev": true
3133 | },
3134 | "path-parse": {
3135 | "version": "1.0.6",
3136 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
3137 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
3138 | },
3139 | "path-root": {
3140 | "version": "0.1.1",
3141 | "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
3142 | "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
3143 | "dev": true,
3144 | "requires": {
3145 | "path-root-regex": "^0.1.0"
3146 | }
3147 | },
3148 | "path-root-regex": {
3149 | "version": "0.1.2",
3150 | "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
3151 | "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
3152 | "dev": true
3153 | },
3154 | "path-type": {
3155 | "version": "1.1.0",
3156 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
3157 | "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
3158 | "dev": true,
3159 | "requires": {
3160 | "graceful-fs": "^4.1.2",
3161 | "pify": "^2.0.0",
3162 | "pinkie-promise": "^2.0.0"
3163 | }
3164 | },
3165 | "pause-stream": {
3166 | "version": "0.0.11",
3167 | "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
3168 | "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
3169 | "dev": true,
3170 | "requires": {
3171 | "through": "~2.3"
3172 | }
3173 | },
3174 | "pify": {
3175 | "version": "2.3.0",
3176 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
3177 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
3178 | "dev": true
3179 | },
3180 | "pinkie": {
3181 | "version": "2.0.4",
3182 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
3183 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
3184 | "dev": true
3185 | },
3186 | "pinkie-promise": {
3187 | "version": "2.0.1",
3188 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
3189 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
3190 | "dev": true,
3191 | "requires": {
3192 | "pinkie": "^2.0.0"
3193 | }
3194 | },
3195 | "posix-character-classes": {
3196 | "version": "0.1.1",
3197 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
3198 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
3199 | "dev": true
3200 | },
3201 | "pretty-hrtime": {
3202 | "version": "1.0.3",
3203 | "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
3204 | "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
3205 | "dev": true
3206 | },
3207 | "process-nextick-args": {
3208 | "version": "2.0.1",
3209 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
3210 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
3211 | },
3212 | "pump": {
3213 | "version": "2.0.1",
3214 | "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
3215 | "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
3216 | "dev": true,
3217 | "requires": {
3218 | "end-of-stream": "^1.1.0",
3219 | "once": "^1.3.1"
3220 | }
3221 | },
3222 | "pumpify": {
3223 | "version": "1.5.1",
3224 | "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
3225 | "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
3226 | "dev": true,
3227 | "requires": {
3228 | "duplexify": "^3.6.0",
3229 | "inherits": "^2.0.3",
3230 | "pump": "^2.0.0"
3231 | }
3232 | },
3233 | "react-docgen": {
3234 | "version": "5.3.0",
3235 | "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-5.3.0.tgz",
3236 | "integrity": "sha512-hUrv69k6nxazOuOmdGeOpC/ldiKy7Qj/UFpxaQi0eDMrUFUTIPGtY5HJu7BggSmiyAMfREaESbtBL9UzdQ+hyg==",
3237 | "requires": {
3238 | "@babel/core": "^7.7.5",
3239 | "@babel/runtime": "^7.7.6",
3240 | "ast-types": "^0.13.2",
3241 | "commander": "^2.19.0",
3242 | "doctrine": "^3.0.0",
3243 | "neo-async": "^2.6.1",
3244 | "node-dir": "^0.1.10",
3245 | "strip-indent": "^3.0.0"
3246 | }
3247 | },
3248 | "read-pkg": {
3249 | "version": "1.1.0",
3250 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
3251 | "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
3252 | "dev": true,
3253 | "requires": {
3254 | "load-json-file": "^1.0.0",
3255 | "normalize-package-data": "^2.3.2",
3256 | "path-type": "^1.0.0"
3257 | }
3258 | },
3259 | "read-pkg-up": {
3260 | "version": "1.0.1",
3261 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
3262 | "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
3263 | "dev": true,
3264 | "requires": {
3265 | "find-up": "^1.0.0",
3266 | "read-pkg": "^1.0.0"
3267 | }
3268 | },
3269 | "readable-stream": {
3270 | "version": "2.3.7",
3271 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
3272 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
3273 | "requires": {
3274 | "core-util-is": "~1.0.0",
3275 | "inherits": "~2.0.3",
3276 | "isarray": "~1.0.0",
3277 | "process-nextick-args": "~2.0.0",
3278 | "safe-buffer": "~5.1.1",
3279 | "string_decoder": "~1.1.1",
3280 | "util-deprecate": "~1.0.1"
3281 | }
3282 | },
3283 | "readdirp": {
3284 | "version": "2.2.1",
3285 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
3286 | "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
3287 | "dev": true,
3288 | "requires": {
3289 | "graceful-fs": "^4.1.11",
3290 | "micromatch": "^3.1.10",
3291 | "readable-stream": "^2.0.2"
3292 | }
3293 | },
3294 | "rechoir": {
3295 | "version": "0.6.2",
3296 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
3297 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
3298 | "dev": true,
3299 | "requires": {
3300 | "resolve": "^1.1.6"
3301 | }
3302 | },
3303 | "regenerator-runtime": {
3304 | "version": "0.13.3",
3305 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
3306 | "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
3307 | },
3308 | "regex-not": {
3309 | "version": "1.0.2",
3310 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
3311 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
3312 | "dev": true,
3313 | "requires": {
3314 | "extend-shallow": "^3.0.2",
3315 | "safe-regex": "^1.1.0"
3316 | }
3317 | },
3318 | "remove-bom-buffer": {
3319 | "version": "3.0.0",
3320 | "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
3321 | "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
3322 | "dev": true,
3323 | "requires": {
3324 | "is-buffer": "^1.1.5",
3325 | "is-utf8": "^0.2.1"
3326 | }
3327 | },
3328 | "remove-bom-stream": {
3329 | "version": "1.2.0",
3330 | "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
3331 | "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
3332 | "dev": true,
3333 | "requires": {
3334 | "remove-bom-buffer": "^3.0.0",
3335 | "safe-buffer": "^5.1.0",
3336 | "through2": "^2.0.3"
3337 | }
3338 | },
3339 | "remove-trailing-separator": {
3340 | "version": "1.1.0",
3341 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
3342 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
3343 | "dev": true
3344 | },
3345 | "repeat-element": {
3346 | "version": "1.1.3",
3347 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
3348 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
3349 | "dev": true
3350 | },
3351 | "repeat-string": {
3352 | "version": "1.6.1",
3353 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
3354 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
3355 | "dev": true
3356 | },
3357 | "replace-ext": {
3358 | "version": "1.0.0",
3359 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
3360 | "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
3361 | "dev": true
3362 | },
3363 | "replace-homedir": {
3364 | "version": "1.0.0",
3365 | "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz",
3366 | "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=",
3367 | "dev": true,
3368 | "requires": {
3369 | "homedir-polyfill": "^1.0.1",
3370 | "is-absolute": "^1.0.0",
3371 | "remove-trailing-separator": "^1.1.0"
3372 | }
3373 | },
3374 | "require-directory": {
3375 | "version": "2.1.1",
3376 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
3377 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
3378 | "dev": true
3379 | },
3380 | "require-main-filename": {
3381 | "version": "1.0.1",
3382 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
3383 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
3384 | "dev": true
3385 | },
3386 | "resolve": {
3387 | "version": "1.15.1",
3388 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz",
3389 | "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==",
3390 | "requires": {
3391 | "path-parse": "^1.0.6"
3392 | }
3393 | },
3394 | "resolve-dir": {
3395 | "version": "1.0.1",
3396 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
3397 | "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
3398 | "dev": true,
3399 | "requires": {
3400 | "expand-tilde": "^2.0.0",
3401 | "global-modules": "^1.0.0"
3402 | }
3403 | },
3404 | "resolve-options": {
3405 | "version": "1.1.0",
3406 | "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
3407 | "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
3408 | "dev": true,
3409 | "requires": {
3410 | "value-or-function": "^3.0.0"
3411 | }
3412 | },
3413 | "resolve-url": {
3414 | "version": "0.2.1",
3415 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
3416 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
3417 | "dev": true
3418 | },
3419 | "ret": {
3420 | "version": "0.1.15",
3421 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
3422 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
3423 | "dev": true
3424 | },
3425 | "rimraf": {
3426 | "version": "2.7.1",
3427 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
3428 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
3429 | "dev": true,
3430 | "requires": {
3431 | "glob": "^7.1.3"
3432 | }
3433 | },
3434 | "safe-buffer": {
3435 | "version": "5.1.2",
3436 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3437 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
3438 | },
3439 | "safe-regex": {
3440 | "version": "1.1.0",
3441 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
3442 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
3443 | "dev": true,
3444 | "requires": {
3445 | "ret": "~0.1.10"
3446 | }
3447 | },
3448 | "semver": {
3449 | "version": "5.7.1",
3450 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
3451 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
3452 | },
3453 | "semver-greatest-satisfied-range": {
3454 | "version": "1.1.0",
3455 | "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz",
3456 | "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=",
3457 | "dev": true,
3458 | "requires": {
3459 | "sver-compat": "^1.5.0"
3460 | }
3461 | },
3462 | "set-blocking": {
3463 | "version": "2.0.0",
3464 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
3465 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
3466 | "dev": true
3467 | },
3468 | "set-value": {
3469 | "version": "2.0.1",
3470 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
3471 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
3472 | "dev": true,
3473 | "requires": {
3474 | "extend-shallow": "^2.0.1",
3475 | "is-extendable": "^0.1.1",
3476 | "is-plain-object": "^2.0.3",
3477 | "split-string": "^3.0.1"
3478 | },
3479 | "dependencies": {
3480 | "extend-shallow": {
3481 | "version": "2.0.1",
3482 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3483 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3484 | "dev": true,
3485 | "requires": {
3486 | "is-extendable": "^0.1.0"
3487 | }
3488 | }
3489 | }
3490 | },
3491 | "snapdragon": {
3492 | "version": "0.8.2",
3493 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
3494 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
3495 | "dev": true,
3496 | "requires": {
3497 | "base": "^0.11.1",
3498 | "debug": "^2.2.0",
3499 | "define-property": "^0.2.5",
3500 | "extend-shallow": "^2.0.1",
3501 | "map-cache": "^0.2.2",
3502 | "source-map": "^0.5.6",
3503 | "source-map-resolve": "^0.5.0",
3504 | "use": "^3.1.0"
3505 | },
3506 | "dependencies": {
3507 | "debug": {
3508 | "version": "2.6.9",
3509 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
3510 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
3511 | "dev": true,
3512 | "requires": {
3513 | "ms": "2.0.0"
3514 | }
3515 | },
3516 | "define-property": {
3517 | "version": "0.2.5",
3518 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3519 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3520 | "dev": true,
3521 | "requires": {
3522 | "is-descriptor": "^0.1.0"
3523 | }
3524 | },
3525 | "extend-shallow": {
3526 | "version": "2.0.1",
3527 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3528 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3529 | "dev": true,
3530 | "requires": {
3531 | "is-extendable": "^0.1.0"
3532 | }
3533 | },
3534 | "ms": {
3535 | "version": "2.0.0",
3536 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3537 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3538 | "dev": true
3539 | },
3540 | "source-map": {
3541 | "version": "0.5.7",
3542 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
3543 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
3544 | "dev": true
3545 | }
3546 | }
3547 | },
3548 | "snapdragon-node": {
3549 | "version": "2.1.1",
3550 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
3551 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
3552 | "dev": true,
3553 | "requires": {
3554 | "define-property": "^1.0.0",
3555 | "isobject": "^3.0.0",
3556 | "snapdragon-util": "^3.0.1"
3557 | },
3558 | "dependencies": {
3559 | "define-property": {
3560 | "version": "1.0.0",
3561 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
3562 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
3563 | "dev": true,
3564 | "requires": {
3565 | "is-descriptor": "^1.0.0"
3566 | }
3567 | },
3568 | "is-accessor-descriptor": {
3569 | "version": "1.0.0",
3570 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3571 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3572 | "dev": true,
3573 | "requires": {
3574 | "kind-of": "^6.0.0"
3575 | }
3576 | },
3577 | "is-data-descriptor": {
3578 | "version": "1.0.0",
3579 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3580 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3581 | "dev": true,
3582 | "requires": {
3583 | "kind-of": "^6.0.0"
3584 | }
3585 | },
3586 | "is-descriptor": {
3587 | "version": "1.0.2",
3588 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3589 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3590 | "dev": true,
3591 | "requires": {
3592 | "is-accessor-descriptor": "^1.0.0",
3593 | "is-data-descriptor": "^1.0.0",
3594 | "kind-of": "^6.0.2"
3595 | }
3596 | }
3597 | }
3598 | },
3599 | "snapdragon-util": {
3600 | "version": "3.0.1",
3601 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
3602 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
3603 | "dev": true,
3604 | "requires": {
3605 | "kind-of": "^3.2.0"
3606 | },
3607 | "dependencies": {
3608 | "kind-of": {
3609 | "version": "3.2.2",
3610 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3611 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3612 | "dev": true,
3613 | "requires": {
3614 | "is-buffer": "^1.1.5"
3615 | }
3616 | }
3617 | }
3618 | },
3619 | "source-map": {
3620 | "version": "0.6.1",
3621 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
3622 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
3623 | },
3624 | "source-map-resolve": {
3625 | "version": "0.5.3",
3626 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
3627 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
3628 | "dev": true,
3629 | "requires": {
3630 | "atob": "^2.1.2",
3631 | "decode-uri-component": "^0.2.0",
3632 | "resolve-url": "^0.2.1",
3633 | "source-map-url": "^0.4.0",
3634 | "urix": "^0.1.0"
3635 | }
3636 | },
3637 | "source-map-url": {
3638 | "version": "0.4.0",
3639 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
3640 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
3641 | "dev": true
3642 | },
3643 | "sparkles": {
3644 | "version": "1.0.1",
3645 | "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
3646 | "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
3647 | "dev": true
3648 | },
3649 | "spdx-correct": {
3650 | "version": "3.1.0",
3651 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
3652 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
3653 | "dev": true,
3654 | "requires": {
3655 | "spdx-expression-parse": "^3.0.0",
3656 | "spdx-license-ids": "^3.0.0"
3657 | }
3658 | },
3659 | "spdx-exceptions": {
3660 | "version": "2.2.0",
3661 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
3662 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
3663 | "dev": true
3664 | },
3665 | "spdx-expression-parse": {
3666 | "version": "3.0.0",
3667 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
3668 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
3669 | "dev": true,
3670 | "requires": {
3671 | "spdx-exceptions": "^2.1.0",
3672 | "spdx-license-ids": "^3.0.0"
3673 | }
3674 | },
3675 | "spdx-license-ids": {
3676 | "version": "3.0.5",
3677 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
3678 | "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
3679 | "dev": true
3680 | },
3681 | "split": {
3682 | "version": "0.2.10",
3683 | "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz",
3684 | "integrity": "sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=",
3685 | "dev": true,
3686 | "requires": {
3687 | "through": "2"
3688 | }
3689 | },
3690 | "split-string": {
3691 | "version": "3.1.0",
3692 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
3693 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
3694 | "dev": true,
3695 | "requires": {
3696 | "extend-shallow": "^3.0.0"
3697 | }
3698 | },
3699 | "stack-trace": {
3700 | "version": "0.0.10",
3701 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
3702 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
3703 | "dev": true
3704 | },
3705 | "static-extend": {
3706 | "version": "0.1.2",
3707 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
3708 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
3709 | "dev": true,
3710 | "requires": {
3711 | "define-property": "^0.2.5",
3712 | "object-copy": "^0.1.0"
3713 | },
3714 | "dependencies": {
3715 | "define-property": {
3716 | "version": "0.2.5",
3717 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3718 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3719 | "dev": true,
3720 | "requires": {
3721 | "is-descriptor": "^0.1.0"
3722 | }
3723 | }
3724 | }
3725 | },
3726 | "stream-combiner": {
3727 | "version": "0.0.4",
3728 | "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
3729 | "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
3730 | "dev": true,
3731 | "requires": {
3732 | "duplexer": "~0.1.1"
3733 | }
3734 | },
3735 | "stream-exhaust": {
3736 | "version": "1.0.2",
3737 | "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
3738 | "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
3739 | "dev": true
3740 | },
3741 | "stream-shift": {
3742 | "version": "1.0.1",
3743 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
3744 | "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
3745 | "dev": true
3746 | },
3747 | "string-width": {
3748 | "version": "1.0.2",
3749 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
3750 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
3751 | "dev": true,
3752 | "requires": {
3753 | "code-point-at": "^1.0.0",
3754 | "is-fullwidth-code-point": "^1.0.0",
3755 | "strip-ansi": "^3.0.0"
3756 | }
3757 | },
3758 | "string_decoder": {
3759 | "version": "1.1.1",
3760 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3761 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3762 | "requires": {
3763 | "safe-buffer": "~5.1.0"
3764 | }
3765 | },
3766 | "strip-ansi": {
3767 | "version": "3.0.1",
3768 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
3769 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
3770 | "dev": true,
3771 | "requires": {
3772 | "ansi-regex": "^2.0.0"
3773 | }
3774 | },
3775 | "strip-bom": {
3776 | "version": "2.0.0",
3777 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
3778 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
3779 | "dev": true,
3780 | "requires": {
3781 | "is-utf8": "^0.2.0"
3782 | }
3783 | },
3784 | "strip-indent": {
3785 | "version": "3.0.0",
3786 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
3787 | "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
3788 | "requires": {
3789 | "min-indent": "^1.0.0"
3790 | }
3791 | },
3792 | "supports-color": {
3793 | "version": "5.5.0",
3794 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
3795 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
3796 | "requires": {
3797 | "has-flag": "^3.0.0"
3798 | }
3799 | },
3800 | "sver-compat": {
3801 | "version": "1.5.0",
3802 | "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz",
3803 | "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=",
3804 | "dev": true,
3805 | "requires": {
3806 | "es6-iterator": "^2.0.1",
3807 | "es6-symbol": "^3.1.1"
3808 | }
3809 | },
3810 | "through": {
3811 | "version": "2.3.8",
3812 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
3813 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
3814 | "dev": true
3815 | },
3816 | "through2": {
3817 | "version": "2.0.5",
3818 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
3819 | "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
3820 | "requires": {
3821 | "readable-stream": "~2.3.6",
3822 | "xtend": "~4.0.1"
3823 | }
3824 | },
3825 | "through2-filter": {
3826 | "version": "3.0.0",
3827 | "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
3828 | "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
3829 | "dev": true,
3830 | "requires": {
3831 | "through2": "~2.0.0",
3832 | "xtend": "~4.0.0"
3833 | }
3834 | },
3835 | "time-stamp": {
3836 | "version": "1.1.0",
3837 | "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
3838 | "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
3839 | "dev": true
3840 | },
3841 | "to-absolute-glob": {
3842 | "version": "2.0.2",
3843 | "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
3844 | "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
3845 | "dev": true,
3846 | "requires": {
3847 | "is-absolute": "^1.0.0",
3848 | "is-negated-glob": "^1.0.0"
3849 | }
3850 | },
3851 | "to-fast-properties": {
3852 | "version": "2.0.0",
3853 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
3854 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
3855 | },
3856 | "to-object-path": {
3857 | "version": "0.3.0",
3858 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
3859 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
3860 | "dev": true,
3861 | "requires": {
3862 | "kind-of": "^3.0.2"
3863 | },
3864 | "dependencies": {
3865 | "kind-of": {
3866 | "version": "3.2.2",
3867 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3868 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3869 | "dev": true,
3870 | "requires": {
3871 | "is-buffer": "^1.1.5"
3872 | }
3873 | }
3874 | }
3875 | },
3876 | "to-regex": {
3877 | "version": "3.0.2",
3878 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
3879 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
3880 | "dev": true,
3881 | "requires": {
3882 | "define-property": "^2.0.2",
3883 | "extend-shallow": "^3.0.2",
3884 | "regex-not": "^1.0.2",
3885 | "safe-regex": "^1.1.0"
3886 | }
3887 | },
3888 | "to-regex-range": {
3889 | "version": "2.1.1",
3890 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
3891 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
3892 | "dev": true,
3893 | "requires": {
3894 | "is-number": "^3.0.0",
3895 | "repeat-string": "^1.6.1"
3896 | }
3897 | },
3898 | "to-through": {
3899 | "version": "2.0.0",
3900 | "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
3901 | "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
3902 | "dev": true,
3903 | "requires": {
3904 | "through2": "^2.0.3"
3905 | }
3906 | },
3907 | "type": {
3908 | "version": "1.2.0",
3909 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
3910 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
3911 | "dev": true
3912 | },
3913 | "typedarray": {
3914 | "version": "0.0.6",
3915 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
3916 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
3917 | "dev": true
3918 | },
3919 | "uglify-js": {
3920 | "version": "3.8.0",
3921 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.0.tgz",
3922 | "integrity": "sha512-ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ==",
3923 | "optional": true,
3924 | "requires": {
3925 | "commander": "~2.20.3",
3926 | "source-map": "~0.6.1"
3927 | }
3928 | },
3929 | "unc-path-regex": {
3930 | "version": "0.1.2",
3931 | "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
3932 | "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
3933 | "dev": true
3934 | },
3935 | "underscore": {
3936 | "version": "1.9.2",
3937 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz",
3938 | "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==",
3939 | "dev": true
3940 | },
3941 | "undertaker": {
3942 | "version": "1.2.1",
3943 | "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz",
3944 | "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==",
3945 | "dev": true,
3946 | "requires": {
3947 | "arr-flatten": "^1.0.1",
3948 | "arr-map": "^2.0.0",
3949 | "bach": "^1.0.0",
3950 | "collection-map": "^1.0.0",
3951 | "es6-weak-map": "^2.0.1",
3952 | "last-run": "^1.1.0",
3953 | "object.defaults": "^1.0.0",
3954 | "object.reduce": "^1.0.0",
3955 | "undertaker-registry": "^1.0.0"
3956 | }
3957 | },
3958 | "undertaker-registry": {
3959 | "version": "1.0.1",
3960 | "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz",
3961 | "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=",
3962 | "dev": true
3963 | },
3964 | "union-value": {
3965 | "version": "1.0.1",
3966 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
3967 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
3968 | "dev": true,
3969 | "requires": {
3970 | "arr-union": "^3.1.0",
3971 | "get-value": "^2.0.6",
3972 | "is-extendable": "^0.1.1",
3973 | "set-value": "^2.0.1"
3974 | }
3975 | },
3976 | "unique-stream": {
3977 | "version": "2.3.1",
3978 | "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
3979 | "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
3980 | "dev": true,
3981 | "requires": {
3982 | "json-stable-stringify-without-jsonify": "^1.0.1",
3983 | "through2-filter": "^3.0.0"
3984 | }
3985 | },
3986 | "unset-value": {
3987 | "version": "1.0.0",
3988 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
3989 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
3990 | "dev": true,
3991 | "requires": {
3992 | "has-value": "^0.3.1",
3993 | "isobject": "^3.0.0"
3994 | },
3995 | "dependencies": {
3996 | "has-value": {
3997 | "version": "0.3.1",
3998 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
3999 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
4000 | "dev": true,
4001 | "requires": {
4002 | "get-value": "^2.0.3",
4003 | "has-values": "^0.1.4",
4004 | "isobject": "^2.0.0"
4005 | },
4006 | "dependencies": {
4007 | "isobject": {
4008 | "version": "2.1.0",
4009 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
4010 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
4011 | "dev": true,
4012 | "requires": {
4013 | "isarray": "1.0.0"
4014 | }
4015 | }
4016 | }
4017 | },
4018 | "has-values": {
4019 | "version": "0.1.4",
4020 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
4021 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
4022 | "dev": true
4023 | }
4024 | }
4025 | },
4026 | "upath": {
4027 | "version": "1.2.0",
4028 | "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
4029 | "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
4030 | "dev": true
4031 | },
4032 | "update-section": {
4033 | "version": "0.3.3",
4034 | "resolved": "https://registry.npmjs.org/update-section/-/update-section-0.3.3.tgz",
4035 | "integrity": "sha1-RY8Xgg03gg3GDiC4bZQ5GwASMVg=",
4036 | "dev": true
4037 | },
4038 | "urix": {
4039 | "version": "0.1.0",
4040 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
4041 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
4042 | "dev": true
4043 | },
4044 | "use": {
4045 | "version": "3.1.1",
4046 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
4047 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
4048 | "dev": true
4049 | },
4050 | "util-deprecate": {
4051 | "version": "1.0.2",
4052 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
4053 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
4054 | },
4055 | "v8flags": {
4056 | "version": "3.1.3",
4057 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
4058 | "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
4059 | "dev": true,
4060 | "requires": {
4061 | "homedir-polyfill": "^1.0.1"
4062 | }
4063 | },
4064 | "validate-npm-package-license": {
4065 | "version": "3.0.4",
4066 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
4067 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
4068 | "dev": true,
4069 | "requires": {
4070 | "spdx-correct": "^3.0.0",
4071 | "spdx-expression-parse": "^3.0.0"
4072 | }
4073 | },
4074 | "value-or-function": {
4075 | "version": "3.0.0",
4076 | "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
4077 | "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=",
4078 | "dev": true
4079 | },
4080 | "vinyl": {
4081 | "version": "2.2.0",
4082 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
4083 | "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
4084 | "dev": true,
4085 | "requires": {
4086 | "clone": "^2.1.1",
4087 | "clone-buffer": "^1.0.0",
4088 | "clone-stats": "^1.0.0",
4089 | "cloneable-readable": "^1.0.0",
4090 | "remove-trailing-separator": "^1.0.1",
4091 | "replace-ext": "^1.0.0"
4092 | }
4093 | },
4094 | "vinyl-fs": {
4095 | "version": "3.0.3",
4096 | "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
4097 | "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
4098 | "dev": true,
4099 | "requires": {
4100 | "fs-mkdirp-stream": "^1.0.0",
4101 | "glob-stream": "^6.1.0",
4102 | "graceful-fs": "^4.0.0",
4103 | "is-valid-glob": "^1.0.0",
4104 | "lazystream": "^1.0.0",
4105 | "lead": "^1.0.0",
4106 | "object.assign": "^4.0.4",
4107 | "pumpify": "^1.3.5",
4108 | "readable-stream": "^2.3.3",
4109 | "remove-bom-buffer": "^3.0.0",
4110 | "remove-bom-stream": "^1.2.0",
4111 | "resolve-options": "^1.1.0",
4112 | "through2": "^2.0.0",
4113 | "to-through": "^2.0.0",
4114 | "value-or-function": "^3.0.0",
4115 | "vinyl": "^2.0.0",
4116 | "vinyl-sourcemap": "^1.1.0"
4117 | }
4118 | },
4119 | "vinyl-sourcemap": {
4120 | "version": "1.1.0",
4121 | "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
4122 | "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
4123 | "dev": true,
4124 | "requires": {
4125 | "append-buffer": "^1.0.2",
4126 | "convert-source-map": "^1.5.0",
4127 | "graceful-fs": "^4.1.6",
4128 | "normalize-path": "^2.1.1",
4129 | "now-and-later": "^2.0.0",
4130 | "remove-bom-buffer": "^3.0.0",
4131 | "vinyl": "^2.0.0"
4132 | }
4133 | },
4134 | "which": {
4135 | "version": "1.3.1",
4136 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
4137 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
4138 | "dev": true,
4139 | "requires": {
4140 | "isexe": "^2.0.0"
4141 | }
4142 | },
4143 | "which-module": {
4144 | "version": "1.0.0",
4145 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
4146 | "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
4147 | "dev": true
4148 | },
4149 | "wordwrap": {
4150 | "version": "0.0.3",
4151 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
4152 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
4153 | },
4154 | "wrap-ansi": {
4155 | "version": "2.1.0",
4156 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
4157 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
4158 | "dev": true,
4159 | "requires": {
4160 | "string-width": "^1.0.1",
4161 | "strip-ansi": "^3.0.1"
4162 | }
4163 | },
4164 | "wrappy": {
4165 | "version": "1.0.2",
4166 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
4167 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
4168 | "dev": true
4169 | },
4170 | "xtend": {
4171 | "version": "4.0.2",
4172 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
4173 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
4174 | },
4175 | "y18n": {
4176 | "version": "3.2.1",
4177 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
4178 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
4179 | "dev": true
4180 | },
4181 | "yargs": {
4182 | "version": "7.1.0",
4183 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
4184 | "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
4185 | "dev": true,
4186 | "requires": {
4187 | "camelcase": "^3.0.0",
4188 | "cliui": "^3.2.0",
4189 | "decamelize": "^1.1.1",
4190 | "get-caller-file": "^1.0.1",
4191 | "os-locale": "^1.4.0",
4192 | "read-pkg-up": "^1.0.1",
4193 | "require-directory": "^2.1.1",
4194 | "require-main-filename": "^1.0.1",
4195 | "set-blocking": "^2.0.0",
4196 | "string-width": "^1.0.2",
4197 | "which-module": "^1.0.0",
4198 | "y18n": "^3.2.1",
4199 | "yargs-parser": "^5.0.0"
4200 | }
4201 | },
4202 | "yargs-parser": {
4203 | "version": "5.0.0",
4204 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
4205 | "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
4206 | "dev": true,
4207 | "requires": {
4208 | "camelcase": "^3.0.0"
4209 | }
4210 | }
4211 | }
4212 | }
4213 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "gulp-react-docs",
3 | "version": "1.0.1",
4 | "description": "A gulp plugin for generating documentation in Markdown format for React components based on their `propTypes`.",
5 | "license": "MIT",
6 | "main": "index.js",
7 | "contributors": [
8 | "Mars Jullian ",
9 | "Jyri Tuulos ",
10 | "Jessica Grist "
11 | ],
12 | "keywords": [
13 | "gulp",
14 | "gulpplugin",
15 | "plugin",
16 | "react",
17 | "documentation-generation"
18 | ],
19 | "repository": {
20 | "type": "git",
21 | "url": "git+https://github.com/adroll/gulp-react-docs.git"
22 | },
23 | "bugs": {
24 | "url": "https://github.com/adroll/gulp-react-docs/issues"
25 | },
26 | "dependencies": {
27 | "handlebars": "^4.0.5",
28 | "lodash": "^4.17.15",
29 | "react-docgen": "^5.3.0",
30 | "through2": "^2.0.0"
31 | },
32 | "devDependencies": {
33 | "del": "^2.2.0",
34 | "doctoc": "^0.15.0",
35 | "gulp": "^4.0.2",
36 | "gulp-concat": "^2.6.0",
37 | "gulp-load-plugins": "^1.1.0",
38 | "gulp-tap": "^0.1.3"
39 | },
40 | "engines": {
41 | "node": ">=10"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/react-docgen-md.js:
--------------------------------------------------------------------------------
1 | var _ = require('lodash'),
2 | reactDocs = require('react-docgen'),
3 | Handlebars = require('handlebars');
4 |
5 | /********************************************************
6 | * Helpers *
7 | ********************************************************/
8 |
9 | var sortObjectByKey = function(obj){
10 | return _(obj).keys().sort().reduce(function(memo, key) {
11 | memo[key] = obj[key];
12 | return memo;
13 | }, {});
14 | };
15 |
16 | /********************************************************
17 | * Prop type partials and handblebars helpers *
18 | ********************************************************/
19 |
20 | Handlebars.registerPartial('catchAll', '{{name}}');
21 |
22 | // Basic prop types
23 | Handlebars.registerPartial('func', 'Function');
24 | Handlebars.registerPartial('array', 'Array');
25 | Handlebars.registerPartial('object', 'Object');
26 | Handlebars.registerPartial('string', 'String');
27 | Handlebars.registerPartial('number', 'Number');
28 | Handlebars.registerPartial('bool', 'Boolean');
29 | Handlebars.registerPartial('node', 'ReactNode');
30 | Handlebars.registerPartial('element', 'ReactElement');
31 | Handlebars.registerPartial('any', '*');
32 | Handlebars.registerPartial('custom', '{{raw}} (custom validator)');
33 |
34 | // composed prop types
35 | Handlebars.registerPartial('arrayOf', '[{{> (whichPartial value) value level=level}}, ...]');
36 |
37 | Handlebars.registerPartial('shape', '{\n\
38 | {{#indent level}}\
39 | {{#each value}}\
40 | {{@key}}: {{> (whichPartial this) this level=(addLevel ../level)}}\n\
41 | {{/each}}\n\
42 | }\
43 | {{/indent}}');
44 |
45 | Handlebars.registerPartial('enum', '(\
46 | {{#each value}}\
47 | {{this.value}}{{#unless @last}}|{{/unless}}\
48 | {{/each}}\
49 | )');
50 |
51 | Handlebars.registerPartial('union', '(\
52 | {{#each value}}\
53 | {{> (whichPartial this) this level=../level}}{{#unless @last}}|{{/unless}}\
54 | {{/each}}\
55 | )');
56 |
57 | // Partial helper. Tells us which partial to use based on the "propType" name
58 | Handlebars.registerHelper('whichPartial', function(type) {
59 | var partials = [
60 | 'any', 'array', 'arrayOf', 'bool', 'custom', 'element', 'enum', 'func',
61 | 'node', 'number', 'object', 'shape', 'string', 'union'
62 | ];
63 | return type && _.includes(partials, type.name) ? type.name : 'catchAll';
64 | });
65 |
66 | /********************************************************
67 | * General helpers *
68 | ********************************************************/
69 |
70 | // math helper
71 | Handlebars.registerHelper('addLevel', function(level) { return level + 1; });
72 |
73 | // loop helper
74 | Handlebars.registerHelper('indent', function(indentLevel, options) {
75 | var content = options.fn(this),
76 | lines = content.split('\n'),
77 | indentString = '';
78 |
79 | // build the indent string we need for this indent level
80 | for (var i = 0; i < indentLevel; i++) {
81 | indentString += ' ';
82 | }
83 |
84 | // add then indents to each line
85 | lines = lines.map(function(line) { return line = indentString + line; });
86 | return lines.join('\n');
87 | });
88 |
89 | /********************************************************
90 | * Top-level handlebars template *
91 | ********************************************************/
92 |
93 | var reactDocgenTemplate = Handlebars.compile('\
94 | ## {{componentName}}\n\n\
95 | {{#if srcLink }}From [`{{srcLink}}`]({{srcLink}})\n\n\{{/if}}\
96 | {{#if description}}{{{description}}}\n\n{{/if}}\
97 | {{#each props}}\
98 | #### {{@key}}\n\n\
99 | ```js\n\
100 | {{#if this.required}}// Required\n{{/if}}\
101 | {{#if this.defaultValue}}// Default: {{{this.defaultValue.value}}}\n{{/if}}\
102 | {{@key}}: {{> (whichPartial this.type) this.type level=0}}\n\
103 | ```\n\n\
104 | {{#if this.description}}{{{this.description}}}\n\n{{/if}}\
105 | {{/each}}\
106 |
\n');
107 |
108 | /********************************************************
109 | * Documentation generator using react-docgen *
110 | ********************************************************/
111 |
112 | var reactDocgenMarkdown = function (componentSrc, options) {
113 | try {
114 | const docs = reactDocs.parse(componentSrc);
115 | return reactDocgenTemplate({
116 | srcLink: options.srcLink,
117 | componentName: options.componentName,
118 | description: docs.description,
119 | props: sortObjectByKey(docs.props)
120 | });
121 | } catch (error) {
122 | // Fallback for components using multiple exports in the same file
123 | const docsList = reactDocs.parse(componentSrc, reactDocs.resolver.findAllExportedComponentDefinitions);
124 | return docsList.reduce((acc, docs) => acc + reactDocgenTemplate({
125 | srcLink: options.srcLink,
126 | componentName: options.componentName,
127 | description: docs.description,
128 | props: sortObjectByKey(docs.props)
129 | }) + '\n', '');
130 | }
131 | };
132 |
133 | module.exports = reactDocgenMarkdown;
134 |
--------------------------------------------------------------------------------