Updated node modules
This commit is contained in:
		
							
								
								
									
										21
									
								
								node_modules/fill-range/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								node_modules/fill-range/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| The MIT License (MIT) | ||||
|  | ||||
| Copyright (c) 2014-present, Jon Schlinkert. | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in | ||||
| all copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
| THE SOFTWARE. | ||||
							
								
								
									
										237
									
								
								node_modules/fill-range/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										237
									
								
								node_modules/fill-range/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,237 @@ | ||||
| # fill-range [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W8YFZ425KND68) [](https://www.npmjs.com/package/fill-range) [](https://npmjs.org/package/fill-range) [](https://npmjs.org/package/fill-range) [](https://travis-ci.org/jonschlinkert/fill-range) | ||||
|  | ||||
| > Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex` | ||||
|  | ||||
| Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. | ||||
|  | ||||
| ## Install | ||||
|  | ||||
| Install with [npm](https://www.npmjs.com/): | ||||
|  | ||||
| ```sh | ||||
| $ npm install --save fill-range | ||||
| ``` | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| Expands numbers and letters, optionally using a `step` as the last argument. _(Numbers may be defined as JavaScript numbers or strings)_. | ||||
|  | ||||
| ```js | ||||
| const fill = require('fill-range'); | ||||
| // fill(from, to[, step, options]); | ||||
|  | ||||
| console.log(fill('1', '10')); //=> ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] | ||||
| console.log(fill('1', '10', { toRegex: true })); //=> [1-9]|10 | ||||
| ``` | ||||
|  | ||||
| **Params** | ||||
|  | ||||
| * `from`: **{String|Number}** the number or letter to start with | ||||
| * `to`: **{String|Number}** the number or letter to end with | ||||
| * `step`: **{String|Number|Object|Function}** Optionally pass a [step](#optionsstep) to use. | ||||
| * `options`: **{Object|Function}**: See all available [options](#options) | ||||
|  | ||||
| ## Examples | ||||
|  | ||||
| By default, an array of values is returned. | ||||
|  | ||||
| **Alphabetical ranges** | ||||
|  | ||||
| ```js | ||||
| console.log(fill('a', 'e')); //=> ['a', 'b', 'c', 'd', 'e'] | ||||
| console.log(fill('A', 'E')); //=> [ 'A', 'B', 'C', 'D', 'E' ] | ||||
| ``` | ||||
|  | ||||
| **Numerical ranges** | ||||
|  | ||||
| Numbers can be defined as actual numbers or strings. | ||||
|  | ||||
| ```js | ||||
| console.log(fill(1, 5));     //=> [ 1, 2, 3, 4, 5 ] | ||||
| console.log(fill('1', '5')); //=> [ 1, 2, 3, 4, 5 ] | ||||
| ``` | ||||
|  | ||||
| **Negative ranges** | ||||
|  | ||||
| Numbers can be defined as actual numbers or strings. | ||||
|  | ||||
| ```js | ||||
| console.log(fill('-5', '-1')); //=> [ '-5', '-4', '-3', '-2', '-1' ] | ||||
| console.log(fill('-5', '5')); //=> [ '-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5' ] | ||||
| ``` | ||||
|  | ||||
| **Steps (increments)** | ||||
|  | ||||
| ```js | ||||
| // numerical ranges with increments | ||||
| console.log(fill('0', '25', 4)); //=> [ '0', '4', '8', '12', '16', '20', '24' ] | ||||
| console.log(fill('0', '25', 5)); //=> [ '0', '5', '10', '15', '20', '25' ] | ||||
| console.log(fill('0', '25', 6)); //=> [ '0', '6', '12', '18', '24' ] | ||||
|  | ||||
| // alphabetical ranges with increments | ||||
| console.log(fill('a', 'z', 4)); //=> [ 'a', 'e', 'i', 'm', 'q', 'u', 'y' ] | ||||
| console.log(fill('a', 'z', 5)); //=> [ 'a', 'f', 'k', 'p', 'u', 'z' ] | ||||
| console.log(fill('a', 'z', 6)); //=> [ 'a', 'g', 'm', 's', 'y' ] | ||||
| ``` | ||||
|  | ||||
| ## Options | ||||
|  | ||||
| ### options.step | ||||
|  | ||||
| **Type**: `number` (formatted as a string or number) | ||||
|  | ||||
| **Default**: `undefined` | ||||
|  | ||||
| **Description**: The increment to use for the range. Can be used with letters or numbers. | ||||
|  | ||||
| **Example(s)** | ||||
|  | ||||
| ```js | ||||
| // numbers | ||||
| console.log(fill('1', '10', 2)); //=> [ '1', '3', '5', '7', '9' ] | ||||
| console.log(fill('1', '10', 3)); //=> [ '1', '4', '7', '10' ] | ||||
| console.log(fill('1', '10', 4)); //=> [ '1', '5', '9' ] | ||||
|  | ||||
| // letters | ||||
| console.log(fill('a', 'z', 5)); //=> [ 'a', 'f', 'k', 'p', 'u', 'z' ] | ||||
| console.log(fill('a', 'z', 7)); //=> [ 'a', 'h', 'o', 'v' ] | ||||
| console.log(fill('a', 'z', 9)); //=> [ 'a', 'j', 's' ] | ||||
| ``` | ||||
|  | ||||
| ### options.strictRanges | ||||
|  | ||||
| **Type**: `boolean` | ||||
|  | ||||
| **Default**: `false` | ||||
|  | ||||
| **Description**: By default, `null` is returned when an invalid range is passed. Enable this option to throw a `RangeError` on invalid ranges. | ||||
|  | ||||
| **Example(s)** | ||||
|  | ||||
| The following are all invalid: | ||||
|  | ||||
| ```js | ||||
| fill('1.1', '2');   // decimals not supported in ranges | ||||
| fill('a', '2');     // incompatible range values | ||||
| fill(1, 10, 'foo'); // invalid "step" argument | ||||
| ``` | ||||
|  | ||||
| ### options.stringify | ||||
|  | ||||
| **Type**: `boolean` | ||||
|  | ||||
| **Default**: `undefined` | ||||
|  | ||||
| **Description**: Cast all returned values to strings. By default, integers are returned as numbers. | ||||
|  | ||||
| **Example(s)** | ||||
|  | ||||
| ```js | ||||
| console.log(fill(1, 5));                    //=> [ 1, 2, 3, 4, 5 ] | ||||
| console.log(fill(1, 5, { stringify: true })); //=> [ '1', '2', '3', '4', '5' ] | ||||
| ``` | ||||
|  | ||||
| ### options.toRegex | ||||
|  | ||||
| **Type**: `boolean` | ||||
|  | ||||
| **Default**: `undefined` | ||||
|  | ||||
| **Description**: Create a regex-compatible source string, instead of expanding values to an array. | ||||
|  | ||||
| **Example(s)** | ||||
|  | ||||
| ```js | ||||
| // alphabetical range | ||||
| console.log(fill('a', 'e', { toRegex: true })); //=> '[a-e]' | ||||
| // alphabetical with step | ||||
| console.log(fill('a', 'z', 3, { toRegex: true })); //=> 'a|d|g|j|m|p|s|v|y' | ||||
| // numerical range | ||||
| console.log(fill('1', '100', { toRegex: true })); //=> '[1-9]|[1-9][0-9]|100' | ||||
| // numerical range with zero padding | ||||
| console.log(fill('000001', '100000', { toRegex: true })); | ||||
| //=> '0{5}[1-9]|0{4}[1-9][0-9]|0{3}[1-9][0-9]{2}|0{2}[1-9][0-9]{3}|0[1-9][0-9]{4}|100000' | ||||
| ``` | ||||
|  | ||||
| ### options.transform | ||||
|  | ||||
| **Type**: `function` | ||||
|  | ||||
| **Default**: `undefined` | ||||
|  | ||||
| **Description**: Customize each value in the returned array (or [string](#optionstoRegex)). _(you can also pass this function as the last argument to `fill()`)_. | ||||
|  | ||||
| **Example(s)** | ||||
|  | ||||
| ```js | ||||
| // add zero padding | ||||
| console.log(fill(1, 5, value => String(value).padStart(4, '0'))); | ||||
| //=> ['0001', '0002', '0003', '0004', '0005'] | ||||
| ``` | ||||
|  | ||||
| ## About | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Contributing</strong></summary> | ||||
|  | ||||
| Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||||
|  | ||||
| </details> | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Running Tests</strong></summary> | ||||
|  | ||||
| Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: | ||||
|  | ||||
| ```sh | ||||
| $ npm install && npm test | ||||
| ``` | ||||
|  | ||||
| </details> | ||||
|  | ||||
| <details> | ||||
| <summary><strong>Building docs</strong></summary> | ||||
|  | ||||
| _(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ | ||||
|  | ||||
| To generate the readme, run the following command: | ||||
|  | ||||
| ```sh | ||||
| $ npm install -g verbose/verb#dev verb-generate-readme && verb | ||||
| ``` | ||||
|  | ||||
| </details> | ||||
|  | ||||
| ### Contributors | ||||
|  | ||||
| | **Commits** | **Contributor** |   | ||||
| | --- | --- |   | ||||
| | 116 | [jonschlinkert](https://github.com/jonschlinkert) |   | ||||
| | 4   | [paulmillr](https://github.com/paulmillr) |   | ||||
| | 2   | [realityking](https://github.com/realityking) |   | ||||
| | 2   | [bluelovers](https://github.com/bluelovers) |   | ||||
| | 1   | [edorivai](https://github.com/edorivai) |   | ||||
| | 1   | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |   | ||||
|  | ||||
| ### Author | ||||
|  | ||||
| **Jon Schlinkert** | ||||
|  | ||||
| * [GitHub Profile](https://github.com/jonschlinkert) | ||||
| * [Twitter Profile](https://twitter.com/jonschlinkert) | ||||
| * [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) | ||||
|  | ||||
| Please consider supporting me on Patreon, or [start your own Patreon page](https://patreon.com/invite/bxpbvm)! | ||||
|  | ||||
| <a href="https://www.patreon.com/jonschlinkert"> | ||||
| <img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" height="50"> | ||||
| </a> | ||||
|  | ||||
| ### License | ||||
|  | ||||
| Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert). | ||||
| Released under the [MIT License](LICENSE). | ||||
|  | ||||
| *** | ||||
|  | ||||
| _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 08, 2019._ | ||||
							
								
								
									
										249
									
								
								node_modules/fill-range/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										249
									
								
								node_modules/fill-range/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,249 @@ | ||||
| /*! | ||||
|  * fill-range <https://github.com/jonschlinkert/fill-range> | ||||
|  * | ||||
|  * Copyright (c) 2014-present, Jon Schlinkert. | ||||
|  * Licensed under the MIT License. | ||||
|  */ | ||||
|  | ||||
| 'use strict'; | ||||
|  | ||||
| const util = require('util'); | ||||
| const toRegexRange = require('to-regex-range'); | ||||
|  | ||||
| const isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); | ||||
|  | ||||
| const transform = toNumber => { | ||||
|   return value => toNumber === true ? Number(value) : String(value); | ||||
| }; | ||||
|  | ||||
| const isValidValue = value => { | ||||
|   return typeof value === 'number' || (typeof value === 'string' && value !== ''); | ||||
| }; | ||||
|  | ||||
| const isNumber = num => Number.isInteger(+num); | ||||
|  | ||||
| const zeros = input => { | ||||
|   let value = `${input}`; | ||||
|   let index = -1; | ||||
|   if (value[0] === '-') value = value.slice(1); | ||||
|   if (value === '0') return false; | ||||
|   while (value[++index] === '0'); | ||||
|   return index > 0; | ||||
| }; | ||||
|  | ||||
| const stringify = (start, end, options) => { | ||||
|   if (typeof start === 'string' || typeof end === 'string') { | ||||
|     return true; | ||||
|   } | ||||
|   return options.stringify === true; | ||||
| }; | ||||
|  | ||||
| const pad = (input, maxLength, toNumber) => { | ||||
|   if (maxLength > 0) { | ||||
|     let dash = input[0] === '-' ? '-' : ''; | ||||
|     if (dash) input = input.slice(1); | ||||
|     input = (dash + input.padStart(dash ? maxLength - 1 : maxLength, '0')); | ||||
|   } | ||||
|   if (toNumber === false) { | ||||
|     return String(input); | ||||
|   } | ||||
|   return input; | ||||
| }; | ||||
|  | ||||
| const toMaxLen = (input, maxLength) => { | ||||
|   let negative = input[0] === '-' ? '-' : ''; | ||||
|   if (negative) { | ||||
|     input = input.slice(1); | ||||
|     maxLength--; | ||||
|   } | ||||
|   while (input.length < maxLength) input = '0' + input; | ||||
|   return negative ? ('-' + input) : input; | ||||
| }; | ||||
|  | ||||
| const toSequence = (parts, options) => { | ||||
|   parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); | ||||
|   parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); | ||||
|  | ||||
|   let prefix = options.capture ? '' : '?:'; | ||||
|   let positives = ''; | ||||
|   let negatives = ''; | ||||
|   let result; | ||||
|  | ||||
|   if (parts.positives.length) { | ||||
|     positives = parts.positives.join('|'); | ||||
|   } | ||||
|  | ||||
|   if (parts.negatives.length) { | ||||
|     negatives = `-(${prefix}${parts.negatives.join('|')})`; | ||||
|   } | ||||
|  | ||||
|   if (positives && negatives) { | ||||
|     result = `${positives}|${negatives}`; | ||||
|   } else { | ||||
|     result = positives || negatives; | ||||
|   } | ||||
|  | ||||
|   if (options.wrap) { | ||||
|     return `(${prefix}${result})`; | ||||
|   } | ||||
|  | ||||
|   return result; | ||||
| }; | ||||
|  | ||||
| const toRange = (a, b, isNumbers, options) => { | ||||
|   if (isNumbers) { | ||||
|     return toRegexRange(a, b, { wrap: false, ...options }); | ||||
|   } | ||||
|  | ||||
|   let start = String.fromCharCode(a); | ||||
|   if (a === b) return start; | ||||
|  | ||||
|   let stop = String.fromCharCode(b); | ||||
|   return `[${start}-${stop}]`; | ||||
| }; | ||||
|  | ||||
| const toRegex = (start, end, options) => { | ||||
|   if (Array.isArray(start)) { | ||||
|     let wrap = options.wrap === true; | ||||
|     let prefix = options.capture ? '' : '?:'; | ||||
|     return wrap ? `(${prefix}${start.join('|')})` : start.join('|'); | ||||
|   } | ||||
|   return toRegexRange(start, end, options); | ||||
| }; | ||||
|  | ||||
| const rangeError = (...args) => { | ||||
|   return new RangeError('Invalid range arguments: ' + util.inspect(...args)); | ||||
| }; | ||||
|  | ||||
| const invalidRange = (start, end, options) => { | ||||
|   if (options.strictRanges === true) throw rangeError([start, end]); | ||||
|   return []; | ||||
| }; | ||||
|  | ||||
| const invalidStep = (step, options) => { | ||||
|   if (options.strictRanges === true) { | ||||
|     throw new TypeError(`Expected step "${step}" to be a number`); | ||||
|   } | ||||
|   return []; | ||||
| }; | ||||
|  | ||||
| const fillNumbers = (start, end, step = 1, options = {}) => { | ||||
|   let a = Number(start); | ||||
|   let b = Number(end); | ||||
|  | ||||
|   if (!Number.isInteger(a) || !Number.isInteger(b)) { | ||||
|     if (options.strictRanges === true) throw rangeError([start, end]); | ||||
|     return []; | ||||
|   } | ||||
|  | ||||
|   // fix negative zero | ||||
|   if (a === 0) a = 0; | ||||
|   if (b === 0) b = 0; | ||||
|  | ||||
|   let descending = a > b; | ||||
|   let startString = String(start); | ||||
|   let endString = String(end); | ||||
|   let stepString = String(step); | ||||
|   step = Math.max(Math.abs(step), 1); | ||||
|  | ||||
|   let padded = zeros(startString) || zeros(endString) || zeros(stepString); | ||||
|   let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; | ||||
|   let toNumber = padded === false && stringify(start, end, options) === false; | ||||
|   let format = options.transform || transform(toNumber); | ||||
|  | ||||
|   if (options.toRegex && step === 1) { | ||||
|     return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); | ||||
|   } | ||||
|  | ||||
|   let parts = { negatives: [], positives: [] }; | ||||
|   let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num)); | ||||
|   let range = []; | ||||
|   let index = 0; | ||||
|  | ||||
|   while (descending ? a >= b : a <= b) { | ||||
|     if (options.toRegex === true && step > 1) { | ||||
|       push(a); | ||||
|     } else { | ||||
|       range.push(pad(format(a, index), maxLen, toNumber)); | ||||
|     } | ||||
|     a = descending ? a - step : a + step; | ||||
|     index++; | ||||
|   } | ||||
|  | ||||
|   if (options.toRegex === true) { | ||||
|     return step > 1 | ||||
|       ? toSequence(parts, options) | ||||
|       : toRegex(range, null, { wrap: false, ...options }); | ||||
|   } | ||||
|  | ||||
|   return range; | ||||
| }; | ||||
|  | ||||
| const fillLetters = (start, end, step = 1, options = {}) => { | ||||
|   if ((!isNumber(start) && start.length > 1) || (!isNumber(end) && end.length > 1)) { | ||||
|     return invalidRange(start, end, options); | ||||
|   } | ||||
|  | ||||
|  | ||||
|   let format = options.transform || (val => String.fromCharCode(val)); | ||||
|   let a = `${start}`.charCodeAt(0); | ||||
|   let b = `${end}`.charCodeAt(0); | ||||
|  | ||||
|   let descending = a > b; | ||||
|   let min = Math.min(a, b); | ||||
|   let max = Math.max(a, b); | ||||
|  | ||||
|   if (options.toRegex && step === 1) { | ||||
|     return toRange(min, max, false, options); | ||||
|   } | ||||
|  | ||||
|   let range = []; | ||||
|   let index = 0; | ||||
|  | ||||
|   while (descending ? a >= b : a <= b) { | ||||
|     range.push(format(a, index)); | ||||
|     a = descending ? a - step : a + step; | ||||
|     index++; | ||||
|   } | ||||
|  | ||||
|   if (options.toRegex === true) { | ||||
|     return toRegex(range, null, { wrap: false, options }); | ||||
|   } | ||||
|  | ||||
|   return range; | ||||
| }; | ||||
|  | ||||
| const fill = (start, end, step, options = {}) => { | ||||
|   if (end == null && isValidValue(start)) { | ||||
|     return [start]; | ||||
|   } | ||||
|  | ||||
|   if (!isValidValue(start) || !isValidValue(end)) { | ||||
|     return invalidRange(start, end, options); | ||||
|   } | ||||
|  | ||||
|   if (typeof step === 'function') { | ||||
|     return fill(start, end, 1, { transform: step }); | ||||
|   } | ||||
|  | ||||
|   if (isObject(step)) { | ||||
|     return fill(start, end, 0, step); | ||||
|   } | ||||
|  | ||||
|   let opts = { ...options }; | ||||
|   if (opts.capture === true) opts.wrap = true; | ||||
|   step = step || opts.step || 1; | ||||
|  | ||||
|   if (!isNumber(step)) { | ||||
|     if (step != null && !isObject(step)) return invalidStep(step, opts); | ||||
|     return fill(start, end, 1, step); | ||||
|   } | ||||
|  | ||||
|   if (isNumber(start) && isNumber(end)) { | ||||
|     return fillNumbers(start, end, step, opts); | ||||
|   } | ||||
|  | ||||
|   return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); | ||||
| }; | ||||
|  | ||||
| module.exports = fill; | ||||
							
								
								
									
										69
									
								
								node_modules/fill-range/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								node_modules/fill-range/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| { | ||||
|   "name": "fill-range", | ||||
|   "description": "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`", | ||||
|   "version": "7.0.1", | ||||
|   "homepage": "https://github.com/jonschlinkert/fill-range", | ||||
|   "author": "Jon Schlinkert (https://github.com/jonschlinkert)", | ||||
|   "contributors": [ | ||||
|     "Edo Rivai (edo.rivai.nl)", | ||||
|     "Jon Schlinkert (http://twitter.com/jonschlinkert)", | ||||
|     "Paul Miller (paulmillr.com)", | ||||
|     "Rouven Weßling (www.rouvenwessling.de)", | ||||
|     "(https://github.com/wtgtybhertgeghgtwtg)" | ||||
|   ], | ||||
|   "repository": "jonschlinkert/fill-range", | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/jonschlinkert/fill-range/issues" | ||||
|   }, | ||||
|   "license": "MIT", | ||||
|   "files": [ | ||||
|     "index.js" | ||||
|   ], | ||||
|   "main": "index.js", | ||||
|   "engines": { | ||||
|     "node": ">=8" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "test": "mocha" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "to-regex-range": "^5.0.1" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "gulp-format-md": "^2.0.0", | ||||
|     "mocha": "^6.1.1" | ||||
|   }, | ||||
|   "keywords": [ | ||||
|     "alpha", | ||||
|     "alphabetical", | ||||
|     "array", | ||||
|     "bash", | ||||
|     "brace", | ||||
|     "expand", | ||||
|     "expansion", | ||||
|     "fill", | ||||
|     "glob", | ||||
|     "match", | ||||
|     "matches", | ||||
|     "matching", | ||||
|     "number", | ||||
|     "numerical", | ||||
|     "range", | ||||
|     "ranges", | ||||
|     "regex", | ||||
|     "sh" | ||||
|   ], | ||||
|   "verb": { | ||||
|     "toc": false, | ||||
|     "layout": "default", | ||||
|     "tasks": [ | ||||
|       "readme" | ||||
|     ], | ||||
|     "plugins": [ | ||||
|       "gulp-format-md" | ||||
|     ], | ||||
|     "lint": { | ||||
|       "reflinks": true | ||||
|     } | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user