├── .eslintignore ├── .eslintrc.yml ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── appveyor.yml ├── index.d.ts ├── package-lock.json ├── package.json ├── rollup.config.js ├── src ├── index.js ├── options.js ├── resolveHost.js └── string.js ├── test ├── sample │ ├── assign │ │ └── main.ts │ ├── async │ │ └── main.ts │ ├── basic │ │ └── main.ts │ ├── commonjs-imports │ │ ├── cjs.js │ │ └── main.ts │ ├── dedup-helpers │ │ ├── A.ts │ │ ├── B.ts │ │ ├── Base.ts │ │ └── main.ts │ ├── dts │ │ ├── main.ts │ │ └── node_modules │ │ │ └── an-import.d.ts │ ├── dynamic-imports │ │ ├── dynamic.ts │ │ └── main.ts │ ├── export-abstract-class │ │ └── main.ts │ ├── export-class-fix │ │ ├── default.ts │ │ ├── main.ts │ │ └── named.ts │ ├── export-class │ │ ├── Foo.ts │ │ └── main.ts │ ├── export-fodule │ │ └── main.ts │ ├── export-namespace-export-class │ │ └── test.ts │ ├── import-class │ │ ├── A.ts │ │ └── main.ts │ ├── jsx │ │ └── main.tsx │ ├── overriding-tslib │ │ └── main.ts │ ├── overriding-typescript │ │ └── main.ts │ ├── syntax-error │ │ └── missing-type.ts │ ├── tsconfig-extends │ │ ├── main.tsx │ │ ├── tsconfig.base.json │ │ └── tsconfig.json │ └── tsconfig-jsx │ │ ├── main.tsx │ │ └── tsconfig.json └── test.js ├── tsconfig.json └── typings-test.js /.eslintignore: -------------------------------------------------------------------------------- 1 | typescript-helpers.js -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | root: true 2 | 3 | env: 4 | es6: true 5 | browser: true 6 | node: true 7 | mocha: true 8 | 9 | parserOptions: 10 | ecmaVersion: 8 11 | sourceType: "module" 12 | 13 | extends: "eslint:recommended" 14 | 15 | rules: 16 | indent: [ 2, "tab", { SwitchCase: 1 } ] 17 | semi: [ 2, "always" ] 18 | keyword-spacing: [ 2, { before: true, after: true } ] 19 | space-before-blocks: [ 2, "always" ] 20 | space-before-function-paren: [ 2, "always" ] 21 | no-mixed-spaces-and-tabs: [ 2, "smart-tabs" ] 22 | no-cond-assign: 0 23 | no-unused-vars: 2 24 | object-shorthand: [ 2, "always" ] 25 | no-const-assign: 2 26 | no-class-assign: 2 27 | no-this-before-super: 2 28 | no-var: 2 29 | no-unreachable: 2 30 | valid-typeof: 2 31 | quote-props: [ 2, "as-needed" ] 32 | one-var: [ 2, "never" ] 33 | prefer-arrow-callback: 2 34 | prefer-const: [ 2, { destructuring: "all" } ] 35 | arrow-spacing: 2 36 | no-irregular-whitespace: 0 37 | no-console: 0 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | !test/sample/dts/node_modules 3 | dist 4 | test/**/*.out 5 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "10" 4 | - "8" 5 | - "7" 6 | 7 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # rollup-plugin-typescript changelog 2 | 3 | ## 1.0.1 4 | *2019-03-24* 5 | * Update dependencies ([#136](https://github.com/rollup/rollup-plugin-typescript/issues/136)) 6 | 7 | ## 1.0.0 8 | *2018-09-16* 9 | * Major update for TypeScript 2/3, Rollup 1 compatibility, lots of fixes ([#124](https://github.com/rollup/rollup-plugin-typescript/issues/124)) 10 | * Require TypeScript as peer dependency ([#121](https://github.com/rollup/rollup-plugin-typescript/issues/121)) 11 | * Also test on Node 10 ([#119](https://github.com/rollup/rollup-plugin-typescript/issues/119)) 12 | * Fix example in readme ([#98](https://github.com/rollup/rollup-plugin-typescript/issues/98)) 13 | 14 | ## 0.8.1 15 | 16 | * Ignore typescript-helpers in source maps ([#61](https://github.com/rollup/rollup-plugin-typescript/issues/61)) 17 | 18 | ## 0.8.0 19 | 20 | * Fix the rollup breaking change with paths ([#52](https://github.com/rollup/rollup-plugin-typescript/issues/52)) 21 | * Don't fail without source maps ([#57](https://github.com/rollup/rollup-plugin-typescript/pull/57)) 22 | 23 | ## 0.7.7 24 | * Add missing `__assign` helper ([#49](https://github.com/rollup/rollup-plugin-typescript/issues/49)) 25 | 26 | ## 0.7.6 27 | * Ignore the `declaration` option ([#45](https://github.com/rollup/rollup-plugin-typescript/issues/45)) 28 | * Disable `strictNullChecks` with a warning for TypeScript versions that don't support it ([#46](https://github.com/rollup/rollup-plugin-typescript/issues/46)) 29 | 30 | ## 0.7.5 31 | * Ensure NPM doesn't ignore typescript-helpers 32 | 33 | ## 0.7.4 34 | * Resolve typescript-helpers to a file in the filesystem. 35 | 36 | ## 0.7.3 37 | * Update Tippex to ^2.1.1 38 | 39 | ## 0.7.2 40 | * Don't error if both `sourceMap` and `inlineSourceMap` are specified 41 | 42 | ## 0.7.1 43 | * No plugin specific options should be forwarded to TypeScript 44 | 45 | ## 0.7.0 46 | * Use `compilerOptions` from `tsconfig.json` if found ([#39](https://github.com/rollup/rollup-plugin-typescript/pull/32)) 47 | 48 | ## 0.6.1 49 | * Upgrade Tippex to ^2.1.0 50 | * Upgrade TypeScript to ^1.8.9 51 | 52 | ## 0.6.0 53 | * Upgrade to TypeScript ^1.8.7 54 | * Update `__awaiter` helper to support TypeScript 1.8.x ([#32](https://github.com/rollup/rollup-plugin-typescript/pull/32)) 55 | * Update `ts.nodeModuleNameResolver` to support both 1.7.x and 1.8.x ([#31](https://github.com/rollup/rollup-plugin-typescript/issues/31)) 56 | 57 | ## 0.5.0 58 | * Do not duplicate TypeScript's helpers ([#24](https://github.com/rollup/rollup-plugin-typescript/issues/24)) 59 | * Handle `export abstract class` ([#23](https://github.com/rollup/rollup-plugin-typescript/issues/23)) 60 | 61 | ## 0.4.1 62 | * Does not attempt resolve or transform `.d.ts` files ([#22](https://github.com/rollup/rollup-plugin-typescript/pull/22)) 63 | 64 | ## 0.4.0 65 | * Work around TypeScript 1.7.5's transpilation issues ([#9](https://github.com/rollup/rollup-plugin-typescript/issues/9)) 66 | * Overridable TypeScript version when transpiling ([#4](https://github.com/rollup/rollup-plugin-typescript/issues/4)) 67 | * Add `jsx` support ([#11](https://github.com/rollup/rollup-plugin-typescript/issues/11)) 68 | 69 | ## 0.3.0 70 | * Author plugin in TypeScript 71 | * Report diagnostics 72 | * Resolve identifiers using `ts.nodeModuleNameResolver` 73 | 74 | ## 0.2.1 75 | * Upgrade to TypeScript ^1.7.5 76 | * Enable source maps per default 77 | 78 | ## 0.2.0 79 | * Use (_prerelease version of_) TypeScript 1.7.0 to generate ES5 while preserving ES2015 imports for efficient bundling. 80 | 81 | ## 0.1.0 82 | * Initial release 83 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 [these people](https://github.com/rollup/rollup-plugin-typescript/graphs/contributors) 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 | # Moved 2 | 3 | This module has moved and is now available at [@rollup/plugin-typescript](https://github.com/rollup/plugins). Please update your dependencies. This repository is no longer maintained. 4 | 5 | 6 | # rollup-plugin-typescript 7 | [![Build Status](https://travis-ci.org/rollup/rollup-plugin-typescript.svg?branch=master)](https://travis-ci.org/rollup/rollup-plugin-typescript) 8 | ![npm-version](https://img.shields.io/npm/v/rollup-plugin-typescript.svg?maxAge=2592000) 9 | ![npm-monthly-downloads](https://img.shields.io/npm/dm/rollup-plugin-typescript.svg?maxAge=2592000) 10 | ![npm-dependencies](https://img.shields.io/david/rollup/rollup-plugin-typescript.svg?maxAge=2592000) 11 | 12 | Seamless integration between Rollup and Typescript. 13 | 14 | ## Why? 15 | See [rollup-plugin-babel](https://github.com/rollup/rollup-plugin-babel). 16 | 17 | ## Installation 18 | 19 | ```bash 20 | npm install --save-dev rollup-plugin-typescript typescript tslib 21 | ``` 22 | 23 | Note that both `typescript` and `tslib` are peer dependencies of this plugin that need to be installed separately. 24 | 25 | ## Usage 26 | 27 | ```js 28 | // rollup.config.js 29 | import typescript from 'rollup-plugin-typescript'; 30 | 31 | export default { 32 | input: './main.ts', 33 | plugins: [ 34 | typescript() 35 | ] 36 | } 37 | ``` 38 | 39 | The plugin loads any [`compilerOptions`](http://www.typescriptlang.org/docs/handbook/compiler-options.html) from the `tsconfig.json` file by default. Passing options to the plugin directly overrides those options: 40 | 41 | ```js 42 | ... 43 | export default { 44 | input: './main.ts', 45 | plugins: [ 46 | typescript({lib: ["es5", "es6", "dom"], target: "es5"}) 47 | ] 48 | } 49 | ``` 50 | 51 | The following options are unique to `rollup-plugin-typescript`: 52 | 53 | * `options.include` and `options.exclude` (each a minimatch pattern, or array of minimatch patterns), which determine which files are transpiled by Typescript (all `.ts` and `.tsx` files by default). 54 | 55 | * `tsconfig` when set to false, ignores any options specified in the config file. If set to a string that corresponds to a file path, the specified file will be used as config file. 56 | 57 | * `typescript` overrides TypeScript used for transpilation: 58 | ```js 59 | typescript({ 60 | typescript: require('some-fork-of-typescript') 61 | }) 62 | ``` 63 | 64 | * `tslib` overrides the injected TypeScript helpers with a custom version 65 | ```js 66 | typescript({ 67 | tslib: require('some-fork-of-tslib') 68 | }) 69 | ``` 70 | 71 | ### TypeScript version 72 | Due to the use of `tslib` to inject helpers, this plugin requires at least [TypeScript 2.1](https://github.com/Microsoft/TypeScript/wiki/Roadmap#21-december-2016). See also [here](https://blog.mariusschulz.com/2016/12/16/typescript-2-1-external-helpers-library#the-importhelpers-flag-and-tslib). 73 | 74 | ### Importing CommonJS 75 | Though it is not recommended, it is possible to configure this plugin to handle imports of CommonJS files from TypeScript. For this, you need to specify `CommonJS` as the module format and add `rollup-plugin-commonjs` to transpile the CommonJS output generated by TypeScript to ES Modules so that rollup can process it. 76 | 77 | ```js 78 | // rollup.config.js 79 | import typescript from 'rollup-plugin-typescript'; 80 | import commonjs from 'rollup-plugin-commonjs'; 81 | 82 | export default { 83 | input: './main.ts', 84 | plugins: [ 85 | typescript({module: 'CommonJS'}), 86 | commonjs({extensions: ['.js', '.ts']}) // the ".ts" extension is required 87 | ] 88 | } 89 | ``` 90 | 91 | Note that this will often result in less optimal output. 92 | 93 | ## Issues 94 | This plugin will currently **not warn for any type violations**. This plugin relies on TypeScript's [transpileModule](https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-simple-transform-function) function which basically transpiles TypeScript to JavaScript by stripping any type information on a per-file basis. While this is faster than using the language service, no cross-file type checks are possible with this approach. 95 | 96 | This also causes issues with emit-less types, see [#28](https://github.com/rollup/rollup-plugin-typescript/issues/28). 97 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | environment: 2 | matrix: 3 | - nodejs_version: "10" 4 | - nodejs_version: "9" 5 | - nodejs_version: "8" 6 | - nodejs_version: "7" 7 | 8 | version: "{build}" 9 | build: off 10 | deploy: off 11 | 12 | install: 13 | - ps: Install-Product node $env:nodejs_version 14 | - node --version 15 | - npm --version 16 | - npm install 17 | 18 | test_script: 19 | - npm test 20 | -------------------------------------------------------------------------------- /index.d.ts: -------------------------------------------------------------------------------- 1 | import { Plugin } from 'rollup'; 2 | import { CompilerOptionsValue, TsConfigSourceFile } from 'typescript'; 3 | 4 | interface RollupTypescriptOptions { 5 | /** 6 | * Determine which files are transpiled by Typescript (all `.ts` and 7 | * `.tsx` files by default). 8 | */ 9 | include?: string | RegExp | ReadonlyArray | null; 10 | /** 11 | * Determine which files are transpiled by Typescript (all `.ts` and 12 | * `.tsx` files by default). 13 | */ 14 | exclude?: string | RegExp | ReadonlyArray | null; 15 | /** 16 | * When set to false, ignores any options specified in the config file. 17 | * If set to a string that corresponds to a file path, the specified file 18 | * will be used as config file. 19 | */ 20 | tsconfig?: string | false; 21 | /** 22 | * Overrides TypeScript used for transpilation 23 | */ 24 | typescript?: typeof import('typescript'); 25 | /** 26 | * Overrides the injected TypeScript helpers with a custom version 27 | */ 28 | tslib?: typeof import('tslib'); 29 | 30 | /** 31 | * Other Typescript compiler options 32 | */ 33 | [option: string]: 34 | | CompilerOptionsValue 35 | | TsConfigSourceFile 36 | | RollupTypescriptOptions['include'] 37 | | RollupTypescriptOptions['typescript'] 38 | | RollupTypescriptOptions['tslib'] 39 | | undefined; 40 | } 41 | 42 | /** 43 | * Seamless integration between Rollup and Typescript. 44 | */ 45 | export default function typescript(options?: RollupTypescriptOptions): Plugin; 46 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rollup-plugin-typescript", 3 | "version": "1.0.1", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.0.0", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", 10 | "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.0.0" 14 | } 15 | }, 16 | "@babel/highlight": { 17 | "version": "7.0.0", 18 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", 19 | "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", 20 | "dev": true, 21 | "requires": { 22 | "chalk": "^2.0.0", 23 | "esutils": "^2.0.2", 24 | "js-tokens": "^4.0.0" 25 | } 26 | }, 27 | "@types/estree": { 28 | "version": "0.0.39", 29 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 30 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 31 | "dev": true 32 | }, 33 | "@types/node": { 34 | "version": "11.11.6", 35 | "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", 36 | "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==", 37 | "dev": true 38 | }, 39 | "acorn": { 40 | "version": "6.1.1", 41 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", 42 | "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", 43 | "dev": true 44 | }, 45 | "acorn-dynamic-import": { 46 | "version": "4.0.0", 47 | "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", 48 | "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", 49 | "dev": true 50 | }, 51 | "acorn-jsx": { 52 | "version": "5.0.1", 53 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", 54 | "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", 55 | "dev": true 56 | }, 57 | "ajv": { 58 | "version": "6.10.0", 59 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", 60 | "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", 61 | "dev": true, 62 | "requires": { 63 | "fast-deep-equal": "^2.0.1", 64 | "fast-json-stable-stringify": "^2.0.0", 65 | "json-schema-traverse": "^0.4.1", 66 | "uri-js": "^4.2.2" 67 | } 68 | }, 69 | "ansi-colors": { 70 | "version": "3.2.3", 71 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", 72 | "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", 73 | "dev": true 74 | }, 75 | "ansi-escapes": { 76 | "version": "3.2.0", 77 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 78 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", 79 | "dev": true 80 | }, 81 | "ansi-regex": { 82 | "version": "3.0.0", 83 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 84 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 85 | "dev": true 86 | }, 87 | "ansi-styles": { 88 | "version": "3.2.1", 89 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 90 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 91 | "dev": true, 92 | "requires": { 93 | "color-convert": "^1.9.0" 94 | } 95 | }, 96 | "argparse": { 97 | "version": "1.0.10", 98 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 99 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 100 | "dev": true, 101 | "requires": { 102 | "sprintf-js": "~1.0.2" 103 | } 104 | }, 105 | "arr-diff": { 106 | "version": "4.0.0", 107 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 108 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" 109 | }, 110 | "arr-flatten": { 111 | "version": "1.1.0", 112 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 113 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" 114 | }, 115 | "arr-union": { 116 | "version": "3.1.0", 117 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 118 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" 119 | }, 120 | "array-unique": { 121 | "version": "0.3.2", 122 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 123 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" 124 | }, 125 | "assign-symbols": { 126 | "version": "1.0.0", 127 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 128 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" 129 | }, 130 | "astral-regex": { 131 | "version": "1.0.0", 132 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 133 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 134 | "dev": true 135 | }, 136 | "atob": { 137 | "version": "2.1.2", 138 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 139 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" 140 | }, 141 | "balanced-match": { 142 | "version": "1.0.0", 143 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 144 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 145 | "dev": true 146 | }, 147 | "base": { 148 | "version": "0.11.2", 149 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 150 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 151 | "requires": { 152 | "cache-base": "^1.0.1", 153 | "class-utils": "^0.3.5", 154 | "component-emitter": "^1.2.1", 155 | "define-property": "^1.0.0", 156 | "isobject": "^3.0.1", 157 | "mixin-deep": "^1.2.0", 158 | "pascalcase": "^0.1.1" 159 | }, 160 | "dependencies": { 161 | "define-property": { 162 | "version": "1.0.0", 163 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 164 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 165 | "requires": { 166 | "is-descriptor": "^1.0.0" 167 | } 168 | }, 169 | "is-accessor-descriptor": { 170 | "version": "1.0.0", 171 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 172 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 173 | "requires": { 174 | "kind-of": "^6.0.0" 175 | } 176 | }, 177 | "is-data-descriptor": { 178 | "version": "1.0.0", 179 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 180 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 181 | "requires": { 182 | "kind-of": "^6.0.0" 183 | } 184 | }, 185 | "is-descriptor": { 186 | "version": "1.0.2", 187 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 188 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 189 | "requires": { 190 | "is-accessor-descriptor": "^1.0.0", 191 | "is-data-descriptor": "^1.0.0", 192 | "kind-of": "^6.0.2" 193 | } 194 | } 195 | } 196 | }, 197 | "brace-expansion": { 198 | "version": "1.1.11", 199 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 200 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 201 | "dev": true, 202 | "requires": { 203 | "balanced-match": "^1.0.0", 204 | "concat-map": "0.0.1" 205 | } 206 | }, 207 | "braces": { 208 | "version": "2.3.2", 209 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 210 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 211 | "requires": { 212 | "arr-flatten": "^1.1.0", 213 | "array-unique": "^0.3.2", 214 | "extend-shallow": "^2.0.1", 215 | "fill-range": "^4.0.0", 216 | "isobject": "^3.0.1", 217 | "repeat-element": "^1.1.2", 218 | "snapdragon": "^0.8.1", 219 | "snapdragon-node": "^2.0.1", 220 | "split-string": "^3.0.2", 221 | "to-regex": "^3.0.1" 222 | }, 223 | "dependencies": { 224 | "extend-shallow": { 225 | "version": "2.0.1", 226 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 227 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 228 | "requires": { 229 | "is-extendable": "^0.1.0" 230 | } 231 | } 232 | } 233 | }, 234 | "browser-stdout": { 235 | "version": "1.3.1", 236 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 237 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 238 | "dev": true 239 | }, 240 | "buble": { 241 | "version": "0.19.7", 242 | "resolved": "https://registry.npmjs.org/buble/-/buble-0.19.7.tgz", 243 | "integrity": "sha512-YLgWxX/l+NnfotydBlxqCMPR4FREE4ubuHphALz0FxQ7u2hp3BzxTKQ4nKpapOaRJfEm1gukC68KnT2OymRK0g==", 244 | "dev": true, 245 | "requires": { 246 | "acorn": "^6.1.1", 247 | "acorn-dynamic-import": "^4.0.0", 248 | "acorn-jsx": "^5.0.1", 249 | "chalk": "^2.4.2", 250 | "magic-string": "^0.25.2", 251 | "minimist": "^1.2.0", 252 | "os-homedir": "^1.0.1", 253 | "regexpu-core": "^4.5.4" 254 | } 255 | }, 256 | "cache-base": { 257 | "version": "1.0.1", 258 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 259 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 260 | "requires": { 261 | "collection-visit": "^1.0.0", 262 | "component-emitter": "^1.2.1", 263 | "get-value": "^2.0.6", 264 | "has-value": "^1.0.0", 265 | "isobject": "^3.0.1", 266 | "set-value": "^2.0.0", 267 | "to-object-path": "^0.3.0", 268 | "union-value": "^1.0.0", 269 | "unset-value": "^1.0.0" 270 | } 271 | }, 272 | "callsites": { 273 | "version": "3.0.0", 274 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", 275 | "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", 276 | "dev": true 277 | }, 278 | "camelcase": { 279 | "version": "5.3.1", 280 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 281 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 282 | "dev": true 283 | }, 284 | "chalk": { 285 | "version": "2.4.2", 286 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 287 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 288 | "dev": true, 289 | "requires": { 290 | "ansi-styles": "^3.2.1", 291 | "escape-string-regexp": "^1.0.5", 292 | "supports-color": "^5.3.0" 293 | } 294 | }, 295 | "chardet": { 296 | "version": "0.7.0", 297 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 298 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 299 | "dev": true 300 | }, 301 | "class-utils": { 302 | "version": "0.3.6", 303 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 304 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 305 | "requires": { 306 | "arr-union": "^3.1.0", 307 | "define-property": "^0.2.5", 308 | "isobject": "^3.0.0", 309 | "static-extend": "^0.1.1" 310 | }, 311 | "dependencies": { 312 | "define-property": { 313 | "version": "0.2.5", 314 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 315 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 316 | "requires": { 317 | "is-descriptor": "^0.1.0" 318 | } 319 | } 320 | } 321 | }, 322 | "cli-cursor": { 323 | "version": "2.1.0", 324 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 325 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 326 | "dev": true, 327 | "requires": { 328 | "restore-cursor": "^2.0.0" 329 | } 330 | }, 331 | "cli-width": { 332 | "version": "2.2.0", 333 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 334 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 335 | "dev": true 336 | }, 337 | "cliui": { 338 | "version": "4.1.0", 339 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", 340 | "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", 341 | "dev": true, 342 | "requires": { 343 | "string-width": "^2.1.1", 344 | "strip-ansi": "^4.0.0", 345 | "wrap-ansi": "^2.0.0" 346 | } 347 | }, 348 | "code-point-at": { 349 | "version": "1.1.0", 350 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 351 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 352 | "dev": true 353 | }, 354 | "collection-visit": { 355 | "version": "1.0.0", 356 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 357 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 358 | "requires": { 359 | "map-visit": "^1.0.0", 360 | "object-visit": "^1.0.0" 361 | } 362 | }, 363 | "color-convert": { 364 | "version": "1.9.3", 365 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 366 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 367 | "dev": true, 368 | "requires": { 369 | "color-name": "1.1.3" 370 | } 371 | }, 372 | "color-name": { 373 | "version": "1.1.3", 374 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 375 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 376 | "dev": true 377 | }, 378 | "component-emitter": { 379 | "version": "1.2.1", 380 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 381 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" 382 | }, 383 | "concat-map": { 384 | "version": "0.0.1", 385 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 386 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 387 | "dev": true 388 | }, 389 | "copy-descriptor": { 390 | "version": "0.1.1", 391 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 392 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" 393 | }, 394 | "cross-spawn": { 395 | "version": "6.0.5", 396 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 397 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 398 | "dev": true, 399 | "requires": { 400 | "nice-try": "^1.0.4", 401 | "path-key": "^2.0.1", 402 | "semver": "^5.5.0", 403 | "shebang-command": "^1.2.0", 404 | "which": "^1.2.9" 405 | } 406 | }, 407 | "debug": { 408 | "version": "4.1.1", 409 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 410 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 411 | "dev": true, 412 | "requires": { 413 | "ms": "^2.1.1" 414 | } 415 | }, 416 | "decamelize": { 417 | "version": "1.2.0", 418 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 419 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 420 | "dev": true 421 | }, 422 | "decode-uri-component": { 423 | "version": "0.2.0", 424 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 425 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" 426 | }, 427 | "deep-is": { 428 | "version": "0.1.3", 429 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 430 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 431 | "dev": true 432 | }, 433 | "define-properties": { 434 | "version": "1.1.3", 435 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 436 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 437 | "dev": true, 438 | "requires": { 439 | "object-keys": "^1.0.12" 440 | } 441 | }, 442 | "define-property": { 443 | "version": "2.0.2", 444 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 445 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 446 | "requires": { 447 | "is-descriptor": "^1.0.2", 448 | "isobject": "^3.0.1" 449 | }, 450 | "dependencies": { 451 | "is-accessor-descriptor": { 452 | "version": "1.0.0", 453 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 454 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 455 | "requires": { 456 | "kind-of": "^6.0.0" 457 | } 458 | }, 459 | "is-data-descriptor": { 460 | "version": "1.0.0", 461 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 462 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 463 | "requires": { 464 | "kind-of": "^6.0.0" 465 | } 466 | }, 467 | "is-descriptor": { 468 | "version": "1.0.2", 469 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 470 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 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 | "diff": { 480 | "version": "3.5.0", 481 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 482 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", 483 | "dev": true 484 | }, 485 | "doctrine": { 486 | "version": "3.0.0", 487 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 488 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 489 | "dev": true, 490 | "requires": { 491 | "esutils": "^2.0.2" 492 | } 493 | }, 494 | "emoji-regex": { 495 | "version": "7.0.3", 496 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 497 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 498 | "dev": true 499 | }, 500 | "end-of-stream": { 501 | "version": "1.4.1", 502 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 503 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 504 | "dev": true, 505 | "requires": { 506 | "once": "^1.4.0" 507 | } 508 | }, 509 | "es-abstract": { 510 | "version": "1.13.0", 511 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", 512 | "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", 513 | "dev": true, 514 | "requires": { 515 | "es-to-primitive": "^1.2.0", 516 | "function-bind": "^1.1.1", 517 | "has": "^1.0.3", 518 | "is-callable": "^1.1.4", 519 | "is-regex": "^1.0.4", 520 | "object-keys": "^1.0.12" 521 | } 522 | }, 523 | "es-to-primitive": { 524 | "version": "1.2.0", 525 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", 526 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", 527 | "dev": true, 528 | "requires": { 529 | "is-callable": "^1.1.4", 530 | "is-date-object": "^1.0.1", 531 | "is-symbol": "^1.0.2" 532 | } 533 | }, 534 | "escape-string-regexp": { 535 | "version": "1.0.5", 536 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 537 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 538 | "dev": true 539 | }, 540 | "eslint": { 541 | "version": "5.15.3", 542 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.15.3.tgz", 543 | "integrity": "sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ==", 544 | "dev": true, 545 | "requires": { 546 | "@babel/code-frame": "^7.0.0", 547 | "ajv": "^6.9.1", 548 | "chalk": "^2.1.0", 549 | "cross-spawn": "^6.0.5", 550 | "debug": "^4.0.1", 551 | "doctrine": "^3.0.0", 552 | "eslint-scope": "^4.0.3", 553 | "eslint-utils": "^1.3.1", 554 | "eslint-visitor-keys": "^1.0.0", 555 | "espree": "^5.0.1", 556 | "esquery": "^1.0.1", 557 | "esutils": "^2.0.2", 558 | "file-entry-cache": "^5.0.1", 559 | "functional-red-black-tree": "^1.0.1", 560 | "glob": "^7.1.2", 561 | "globals": "^11.7.0", 562 | "ignore": "^4.0.6", 563 | "import-fresh": "^3.0.0", 564 | "imurmurhash": "^0.1.4", 565 | "inquirer": "^6.2.2", 566 | "js-yaml": "^3.12.0", 567 | "json-stable-stringify-without-jsonify": "^1.0.1", 568 | "levn": "^0.3.0", 569 | "lodash": "^4.17.11", 570 | "minimatch": "^3.0.4", 571 | "mkdirp": "^0.5.1", 572 | "natural-compare": "^1.4.0", 573 | "optionator": "^0.8.2", 574 | "path-is-inside": "^1.0.2", 575 | "progress": "^2.0.0", 576 | "regexpp": "^2.0.1", 577 | "semver": "^5.5.1", 578 | "strip-ansi": "^4.0.0", 579 | "strip-json-comments": "^2.0.1", 580 | "table": "^5.2.3", 581 | "text-table": "^0.2.0" 582 | } 583 | }, 584 | "eslint-scope": { 585 | "version": "4.0.3", 586 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", 587 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", 588 | "dev": true, 589 | "requires": { 590 | "esrecurse": "^4.1.0", 591 | "estraverse": "^4.1.1" 592 | } 593 | }, 594 | "eslint-utils": { 595 | "version": "1.3.1", 596 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", 597 | "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", 598 | "dev": true 599 | }, 600 | "eslint-visitor-keys": { 601 | "version": "1.0.0", 602 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", 603 | "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", 604 | "dev": true 605 | }, 606 | "espree": { 607 | "version": "5.0.1", 608 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", 609 | "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", 610 | "dev": true, 611 | "requires": { 612 | "acorn": "^6.0.7", 613 | "acorn-jsx": "^5.0.0", 614 | "eslint-visitor-keys": "^1.0.0" 615 | } 616 | }, 617 | "esprima": { 618 | "version": "4.0.1", 619 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 620 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 621 | "dev": true 622 | }, 623 | "esquery": { 624 | "version": "1.0.1", 625 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", 626 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", 627 | "dev": true, 628 | "requires": { 629 | "estraverse": "^4.0.0" 630 | } 631 | }, 632 | "esrecurse": { 633 | "version": "4.2.1", 634 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 635 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 636 | "dev": true, 637 | "requires": { 638 | "estraverse": "^4.1.0" 639 | } 640 | }, 641 | "estraverse": { 642 | "version": "4.2.0", 643 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 644 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 645 | "dev": true 646 | }, 647 | "estree-walker": { 648 | "version": "0.5.2", 649 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", 650 | "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", 651 | "dev": true 652 | }, 653 | "esutils": { 654 | "version": "2.0.2", 655 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 656 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 657 | "dev": true 658 | }, 659 | "execa": { 660 | "version": "1.0.0", 661 | "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", 662 | "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", 663 | "dev": true, 664 | "requires": { 665 | "cross-spawn": "^6.0.0", 666 | "get-stream": "^4.0.0", 667 | "is-stream": "^1.1.0", 668 | "npm-run-path": "^2.0.0", 669 | "p-finally": "^1.0.0", 670 | "signal-exit": "^3.0.0", 671 | "strip-eof": "^1.0.0" 672 | } 673 | }, 674 | "expand-brackets": { 675 | "version": "2.1.4", 676 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 677 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 678 | "requires": { 679 | "debug": "^2.3.3", 680 | "define-property": "^0.2.5", 681 | "extend-shallow": "^2.0.1", 682 | "posix-character-classes": "^0.1.0", 683 | "regex-not": "^1.0.0", 684 | "snapdragon": "^0.8.1", 685 | "to-regex": "^3.0.1" 686 | }, 687 | "dependencies": { 688 | "debug": { 689 | "version": "2.6.9", 690 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 691 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 692 | "requires": { 693 | "ms": "2.0.0" 694 | } 695 | }, 696 | "define-property": { 697 | "version": "0.2.5", 698 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 699 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 700 | "requires": { 701 | "is-descriptor": "^0.1.0" 702 | } 703 | }, 704 | "extend-shallow": { 705 | "version": "2.0.1", 706 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 707 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 708 | "requires": { 709 | "is-extendable": "^0.1.0" 710 | } 711 | }, 712 | "ms": { 713 | "version": "2.0.0", 714 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 715 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 716 | } 717 | } 718 | }, 719 | "extend-shallow": { 720 | "version": "3.0.2", 721 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 722 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 723 | "requires": { 724 | "assign-symbols": "^1.0.0", 725 | "is-extendable": "^1.0.1" 726 | }, 727 | "dependencies": { 728 | "is-extendable": { 729 | "version": "1.0.1", 730 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 731 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 732 | "requires": { 733 | "is-plain-object": "^2.0.4" 734 | } 735 | } 736 | } 737 | }, 738 | "external-editor": { 739 | "version": "3.0.3", 740 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", 741 | "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", 742 | "dev": true, 743 | "requires": { 744 | "chardet": "^0.7.0", 745 | "iconv-lite": "^0.4.24", 746 | "tmp": "^0.0.33" 747 | } 748 | }, 749 | "extglob": { 750 | "version": "2.0.4", 751 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 752 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 753 | "requires": { 754 | "array-unique": "^0.3.2", 755 | "define-property": "^1.0.0", 756 | "expand-brackets": "^2.1.4", 757 | "extend-shallow": "^2.0.1", 758 | "fragment-cache": "^0.2.1", 759 | "regex-not": "^1.0.0", 760 | "snapdragon": "^0.8.1", 761 | "to-regex": "^3.0.1" 762 | }, 763 | "dependencies": { 764 | "define-property": { 765 | "version": "1.0.0", 766 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 767 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 768 | "requires": { 769 | "is-descriptor": "^1.0.0" 770 | } 771 | }, 772 | "extend-shallow": { 773 | "version": "2.0.1", 774 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 775 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 776 | "requires": { 777 | "is-extendable": "^0.1.0" 778 | } 779 | }, 780 | "is-accessor-descriptor": { 781 | "version": "1.0.0", 782 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 783 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 784 | "requires": { 785 | "kind-of": "^6.0.0" 786 | } 787 | }, 788 | "is-data-descriptor": { 789 | "version": "1.0.0", 790 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 791 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 792 | "requires": { 793 | "kind-of": "^6.0.0" 794 | } 795 | }, 796 | "is-descriptor": { 797 | "version": "1.0.2", 798 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 799 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 800 | "requires": { 801 | "is-accessor-descriptor": "^1.0.0", 802 | "is-data-descriptor": "^1.0.0", 803 | "kind-of": "^6.0.2" 804 | } 805 | } 806 | } 807 | }, 808 | "fast-deep-equal": { 809 | "version": "2.0.1", 810 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 811 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", 812 | "dev": true 813 | }, 814 | "fast-json-stable-stringify": { 815 | "version": "2.0.0", 816 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 817 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 818 | "dev": true 819 | }, 820 | "fast-levenshtein": { 821 | "version": "2.0.6", 822 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 823 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 824 | "dev": true 825 | }, 826 | "figures": { 827 | "version": "2.0.0", 828 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 829 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 830 | "dev": true, 831 | "requires": { 832 | "escape-string-regexp": "^1.0.5" 833 | } 834 | }, 835 | "file-entry-cache": { 836 | "version": "5.0.1", 837 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 838 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 839 | "dev": true, 840 | "requires": { 841 | "flat-cache": "^2.0.1" 842 | } 843 | }, 844 | "fill-range": { 845 | "version": "4.0.0", 846 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 847 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 848 | "requires": { 849 | "extend-shallow": "^2.0.1", 850 | "is-number": "^3.0.0", 851 | "repeat-string": "^1.6.1", 852 | "to-regex-range": "^2.1.0" 853 | }, 854 | "dependencies": { 855 | "extend-shallow": { 856 | "version": "2.0.1", 857 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 858 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 859 | "requires": { 860 | "is-extendable": "^0.1.0" 861 | } 862 | } 863 | } 864 | }, 865 | "find-up": { 866 | "version": "3.0.0", 867 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 868 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 869 | "dev": true, 870 | "requires": { 871 | "locate-path": "^3.0.0" 872 | } 873 | }, 874 | "flat": { 875 | "version": "4.1.0", 876 | "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", 877 | "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", 878 | "dev": true, 879 | "requires": { 880 | "is-buffer": "~2.0.3" 881 | }, 882 | "dependencies": { 883 | "is-buffer": { 884 | "version": "2.0.3", 885 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", 886 | "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", 887 | "dev": true 888 | } 889 | } 890 | }, 891 | "flat-cache": { 892 | "version": "2.0.1", 893 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 894 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 895 | "dev": true, 896 | "requires": { 897 | "flatted": "^2.0.0", 898 | "rimraf": "2.6.3", 899 | "write": "1.0.3" 900 | } 901 | }, 902 | "flatted": { 903 | "version": "2.0.0", 904 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", 905 | "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", 906 | "dev": true 907 | }, 908 | "for-in": { 909 | "version": "1.0.2", 910 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 911 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" 912 | }, 913 | "fragment-cache": { 914 | "version": "0.2.1", 915 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 916 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 917 | "requires": { 918 | "map-cache": "^0.2.2" 919 | } 920 | }, 921 | "fs.realpath": { 922 | "version": "1.0.0", 923 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 924 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 925 | "dev": true 926 | }, 927 | "function-bind": { 928 | "version": "1.1.1", 929 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 930 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 931 | "dev": true 932 | }, 933 | "functional-red-black-tree": { 934 | "version": "1.0.1", 935 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 936 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 937 | "dev": true 938 | }, 939 | "get-caller-file": { 940 | "version": "2.0.5", 941 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 942 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 943 | "dev": true 944 | }, 945 | "get-stream": { 946 | "version": "4.1.0", 947 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 948 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 949 | "dev": true, 950 | "requires": { 951 | "pump": "^3.0.0" 952 | } 953 | }, 954 | "get-value": { 955 | "version": "2.0.6", 956 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 957 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" 958 | }, 959 | "glob": { 960 | "version": "7.1.3", 961 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 962 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 963 | "dev": true, 964 | "requires": { 965 | "fs.realpath": "^1.0.0", 966 | "inflight": "^1.0.4", 967 | "inherits": "2", 968 | "minimatch": "^3.0.4", 969 | "once": "^1.3.0", 970 | "path-is-absolute": "^1.0.0" 971 | } 972 | }, 973 | "globals": { 974 | "version": "11.11.0", 975 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", 976 | "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", 977 | "dev": true 978 | }, 979 | "growl": { 980 | "version": "1.10.5", 981 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", 982 | "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", 983 | "dev": true 984 | }, 985 | "has": { 986 | "version": "1.0.3", 987 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 988 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 989 | "dev": true, 990 | "requires": { 991 | "function-bind": "^1.1.1" 992 | } 993 | }, 994 | "has-flag": { 995 | "version": "3.0.0", 996 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 997 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 998 | "dev": true 999 | }, 1000 | "has-symbols": { 1001 | "version": "1.0.0", 1002 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 1003 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", 1004 | "dev": true 1005 | }, 1006 | "has-value": { 1007 | "version": "1.0.0", 1008 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1009 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1010 | "requires": { 1011 | "get-value": "^2.0.6", 1012 | "has-values": "^1.0.0", 1013 | "isobject": "^3.0.0" 1014 | } 1015 | }, 1016 | "has-values": { 1017 | "version": "1.0.0", 1018 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1019 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1020 | "requires": { 1021 | "is-number": "^3.0.0", 1022 | "kind-of": "^4.0.0" 1023 | }, 1024 | "dependencies": { 1025 | "kind-of": { 1026 | "version": "4.0.0", 1027 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1028 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1029 | "requires": { 1030 | "is-buffer": "^1.1.5" 1031 | } 1032 | } 1033 | } 1034 | }, 1035 | "he": { 1036 | "version": "1.2.0", 1037 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 1038 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 1039 | "dev": true 1040 | }, 1041 | "iconv-lite": { 1042 | "version": "0.4.24", 1043 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1044 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1045 | "dev": true, 1046 | "requires": { 1047 | "safer-buffer": ">= 2.1.2 < 3" 1048 | } 1049 | }, 1050 | "ignore": { 1051 | "version": "4.0.6", 1052 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 1053 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 1054 | "dev": true 1055 | }, 1056 | "import-fresh": { 1057 | "version": "3.0.0", 1058 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", 1059 | "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", 1060 | "dev": true, 1061 | "requires": { 1062 | "parent-module": "^1.0.0", 1063 | "resolve-from": "^4.0.0" 1064 | } 1065 | }, 1066 | "imurmurhash": { 1067 | "version": "0.1.4", 1068 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1069 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1070 | "dev": true 1071 | }, 1072 | "inflight": { 1073 | "version": "1.0.6", 1074 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1075 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1076 | "dev": true, 1077 | "requires": { 1078 | "once": "^1.3.0", 1079 | "wrappy": "1" 1080 | } 1081 | }, 1082 | "inherits": { 1083 | "version": "2.0.3", 1084 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1085 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1086 | "dev": true 1087 | }, 1088 | "inquirer": { 1089 | "version": "6.2.2", 1090 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", 1091 | "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", 1092 | "dev": true, 1093 | "requires": { 1094 | "ansi-escapes": "^3.2.0", 1095 | "chalk": "^2.4.2", 1096 | "cli-cursor": "^2.1.0", 1097 | "cli-width": "^2.0.0", 1098 | "external-editor": "^3.0.3", 1099 | "figures": "^2.0.0", 1100 | "lodash": "^4.17.11", 1101 | "mute-stream": "0.0.7", 1102 | "run-async": "^2.2.0", 1103 | "rxjs": "^6.4.0", 1104 | "string-width": "^2.1.0", 1105 | "strip-ansi": "^5.0.0", 1106 | "through": "^2.3.6" 1107 | }, 1108 | "dependencies": { 1109 | "ansi-regex": { 1110 | "version": "4.1.0", 1111 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1112 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 1113 | "dev": true 1114 | }, 1115 | "strip-ansi": { 1116 | "version": "5.2.0", 1117 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1118 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1119 | "dev": true, 1120 | "requires": { 1121 | "ansi-regex": "^4.1.0" 1122 | } 1123 | } 1124 | } 1125 | }, 1126 | "invert-kv": { 1127 | "version": "2.0.0", 1128 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", 1129 | "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", 1130 | "dev": true 1131 | }, 1132 | "is-accessor-descriptor": { 1133 | "version": "0.1.6", 1134 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 1135 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 1136 | "requires": { 1137 | "kind-of": "^3.0.2" 1138 | }, 1139 | "dependencies": { 1140 | "kind-of": { 1141 | "version": "3.2.2", 1142 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1143 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1144 | "requires": { 1145 | "is-buffer": "^1.1.5" 1146 | } 1147 | } 1148 | } 1149 | }, 1150 | "is-buffer": { 1151 | "version": "1.1.6", 1152 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1153 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 1154 | }, 1155 | "is-callable": { 1156 | "version": "1.1.4", 1157 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 1158 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", 1159 | "dev": true 1160 | }, 1161 | "is-data-descriptor": { 1162 | "version": "0.1.4", 1163 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 1164 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 1165 | "requires": { 1166 | "kind-of": "^3.0.2" 1167 | }, 1168 | "dependencies": { 1169 | "kind-of": { 1170 | "version": "3.2.2", 1171 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1172 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1173 | "requires": { 1174 | "is-buffer": "^1.1.5" 1175 | } 1176 | } 1177 | } 1178 | }, 1179 | "is-date-object": { 1180 | "version": "1.0.1", 1181 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 1182 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 1183 | "dev": true 1184 | }, 1185 | "is-descriptor": { 1186 | "version": "0.1.6", 1187 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 1188 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 1189 | "requires": { 1190 | "is-accessor-descriptor": "^0.1.6", 1191 | "is-data-descriptor": "^0.1.4", 1192 | "kind-of": "^5.0.0" 1193 | }, 1194 | "dependencies": { 1195 | "kind-of": { 1196 | "version": "5.1.0", 1197 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 1198 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 1199 | } 1200 | } 1201 | }, 1202 | "is-extendable": { 1203 | "version": "0.1.1", 1204 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1205 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" 1206 | }, 1207 | "is-fullwidth-code-point": { 1208 | "version": "2.0.0", 1209 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1210 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1211 | "dev": true 1212 | }, 1213 | "is-number": { 1214 | "version": "3.0.0", 1215 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 1216 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 1217 | "requires": { 1218 | "kind-of": "^3.0.2" 1219 | }, 1220 | "dependencies": { 1221 | "kind-of": { 1222 | "version": "3.2.2", 1223 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1224 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1225 | "requires": { 1226 | "is-buffer": "^1.1.5" 1227 | } 1228 | } 1229 | } 1230 | }, 1231 | "is-plain-object": { 1232 | "version": "2.0.4", 1233 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1234 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1235 | "requires": { 1236 | "isobject": "^3.0.1" 1237 | } 1238 | }, 1239 | "is-promise": { 1240 | "version": "2.1.0", 1241 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 1242 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 1243 | "dev": true 1244 | }, 1245 | "is-regex": { 1246 | "version": "1.0.4", 1247 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 1248 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 1249 | "dev": true, 1250 | "requires": { 1251 | "has": "^1.0.1" 1252 | } 1253 | }, 1254 | "is-stream": { 1255 | "version": "1.1.0", 1256 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1257 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 1258 | "dev": true 1259 | }, 1260 | "is-symbol": { 1261 | "version": "1.0.2", 1262 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 1263 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", 1264 | "dev": true, 1265 | "requires": { 1266 | "has-symbols": "^1.0.0" 1267 | } 1268 | }, 1269 | "is-windows": { 1270 | "version": "1.0.2", 1271 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1272 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" 1273 | }, 1274 | "isarray": { 1275 | "version": "1.0.0", 1276 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1277 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1278 | }, 1279 | "isexe": { 1280 | "version": "2.0.0", 1281 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1282 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1283 | "dev": true 1284 | }, 1285 | "isobject": { 1286 | "version": "3.0.1", 1287 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1288 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 1289 | }, 1290 | "js-tokens": { 1291 | "version": "4.0.0", 1292 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1293 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1294 | "dev": true 1295 | }, 1296 | "js-yaml": { 1297 | "version": "3.13.1", 1298 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 1299 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 1300 | "dev": true, 1301 | "requires": { 1302 | "argparse": "^1.0.7", 1303 | "esprima": "^4.0.0" 1304 | } 1305 | }, 1306 | "jsesc": { 1307 | "version": "0.5.0", 1308 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 1309 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 1310 | "dev": true 1311 | }, 1312 | "json-schema-traverse": { 1313 | "version": "0.4.1", 1314 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1315 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1316 | "dev": true 1317 | }, 1318 | "json-stable-stringify-without-jsonify": { 1319 | "version": "1.0.1", 1320 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1321 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1322 | "dev": true 1323 | }, 1324 | "kind-of": { 1325 | "version": "6.0.2", 1326 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 1327 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" 1328 | }, 1329 | "lcid": { 1330 | "version": "2.0.0", 1331 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", 1332 | "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", 1333 | "dev": true, 1334 | "requires": { 1335 | "invert-kv": "^2.0.0" 1336 | } 1337 | }, 1338 | "levn": { 1339 | "version": "0.3.0", 1340 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1341 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 1342 | "dev": true, 1343 | "requires": { 1344 | "prelude-ls": "~1.1.2", 1345 | "type-check": "~0.3.2" 1346 | } 1347 | }, 1348 | "locate-path": { 1349 | "version": "3.0.0", 1350 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 1351 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 1352 | "dev": true, 1353 | "requires": { 1354 | "p-locate": "^3.0.0", 1355 | "path-exists": "^3.0.0" 1356 | } 1357 | }, 1358 | "lodash": { 1359 | "version": "4.17.11", 1360 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 1361 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", 1362 | "dev": true 1363 | }, 1364 | "log-symbols": { 1365 | "version": "2.2.0", 1366 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 1367 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 1368 | "dev": true, 1369 | "requires": { 1370 | "chalk": "^2.0.1" 1371 | } 1372 | }, 1373 | "magic-string": { 1374 | "version": "0.25.2", 1375 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", 1376 | "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", 1377 | "dev": true, 1378 | "requires": { 1379 | "sourcemap-codec": "^1.4.4" 1380 | } 1381 | }, 1382 | "map-age-cleaner": { 1383 | "version": "0.1.3", 1384 | "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", 1385 | "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", 1386 | "dev": true, 1387 | "requires": { 1388 | "p-defer": "^1.0.0" 1389 | } 1390 | }, 1391 | "map-cache": { 1392 | "version": "0.2.2", 1393 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 1394 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" 1395 | }, 1396 | "map-visit": { 1397 | "version": "1.0.0", 1398 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 1399 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 1400 | "requires": { 1401 | "object-visit": "^1.0.0" 1402 | } 1403 | }, 1404 | "mem": { 1405 | "version": "4.3.0", 1406 | "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", 1407 | "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", 1408 | "dev": true, 1409 | "requires": { 1410 | "map-age-cleaner": "^0.1.1", 1411 | "mimic-fn": "^2.0.0", 1412 | "p-is-promise": "^2.0.0" 1413 | }, 1414 | "dependencies": { 1415 | "mimic-fn": { 1416 | "version": "2.1.0", 1417 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1418 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1419 | "dev": true 1420 | } 1421 | } 1422 | }, 1423 | "micromatch": { 1424 | "version": "3.1.10", 1425 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 1426 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 1427 | "requires": { 1428 | "arr-diff": "^4.0.0", 1429 | "array-unique": "^0.3.2", 1430 | "braces": "^2.3.1", 1431 | "define-property": "^2.0.2", 1432 | "extend-shallow": "^3.0.2", 1433 | "extglob": "^2.0.4", 1434 | "fragment-cache": "^0.2.1", 1435 | "kind-of": "^6.0.2", 1436 | "nanomatch": "^1.2.9", 1437 | "object.pick": "^1.3.0", 1438 | "regex-not": "^1.0.0", 1439 | "snapdragon": "^0.8.1", 1440 | "to-regex": "^3.0.2" 1441 | } 1442 | }, 1443 | "mimic-fn": { 1444 | "version": "1.2.0", 1445 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 1446 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 1447 | "dev": true 1448 | }, 1449 | "minimatch": { 1450 | "version": "3.0.4", 1451 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1452 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1453 | "dev": true, 1454 | "requires": { 1455 | "brace-expansion": "^1.1.7" 1456 | } 1457 | }, 1458 | "minimist": { 1459 | "version": "1.2.0", 1460 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1461 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1462 | "dev": true 1463 | }, 1464 | "mixin-deep": { 1465 | "version": "1.3.1", 1466 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", 1467 | "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", 1468 | "requires": { 1469 | "for-in": "^1.0.2", 1470 | "is-extendable": "^1.0.1" 1471 | }, 1472 | "dependencies": { 1473 | "is-extendable": { 1474 | "version": "1.0.1", 1475 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1476 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1477 | "requires": { 1478 | "is-plain-object": "^2.0.4" 1479 | } 1480 | } 1481 | } 1482 | }, 1483 | "mkdirp": { 1484 | "version": "0.5.1", 1485 | "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1486 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1487 | "dev": true, 1488 | "requires": { 1489 | "minimist": "0.0.8" 1490 | }, 1491 | "dependencies": { 1492 | "minimist": { 1493 | "version": "0.0.8", 1494 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1495 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1496 | "dev": true 1497 | } 1498 | } 1499 | }, 1500 | "mocha": { 1501 | "version": "6.1.4", 1502 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz", 1503 | "integrity": "sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg==", 1504 | "dev": true, 1505 | "requires": { 1506 | "ansi-colors": "3.2.3", 1507 | "browser-stdout": "1.3.1", 1508 | "debug": "3.2.6", 1509 | "diff": "3.5.0", 1510 | "escape-string-regexp": "1.0.5", 1511 | "find-up": "3.0.0", 1512 | "glob": "7.1.3", 1513 | "growl": "1.10.5", 1514 | "he": "1.2.0", 1515 | "js-yaml": "3.13.1", 1516 | "log-symbols": "2.2.0", 1517 | "minimatch": "3.0.4", 1518 | "mkdirp": "0.5.1", 1519 | "ms": "2.1.1", 1520 | "node-environment-flags": "1.0.5", 1521 | "object.assign": "4.1.0", 1522 | "strip-json-comments": "2.0.1", 1523 | "supports-color": "6.0.0", 1524 | "which": "1.3.1", 1525 | "wide-align": "1.1.3", 1526 | "yargs": "13.2.2", 1527 | "yargs-parser": "13.0.0", 1528 | "yargs-unparser": "1.5.0" 1529 | }, 1530 | "dependencies": { 1531 | "debug": { 1532 | "version": "3.2.6", 1533 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 1534 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 1535 | "dev": true, 1536 | "requires": { 1537 | "ms": "^2.1.1" 1538 | } 1539 | }, 1540 | "supports-color": { 1541 | "version": "6.0.0", 1542 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", 1543 | "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", 1544 | "dev": true, 1545 | "requires": { 1546 | "has-flag": "^3.0.0" 1547 | } 1548 | } 1549 | } 1550 | }, 1551 | "ms": { 1552 | "version": "2.1.1", 1553 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 1554 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 1555 | "dev": true 1556 | }, 1557 | "mute-stream": { 1558 | "version": "0.0.7", 1559 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 1560 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 1561 | "dev": true 1562 | }, 1563 | "nanomatch": { 1564 | "version": "1.2.13", 1565 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 1566 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 1567 | "requires": { 1568 | "arr-diff": "^4.0.0", 1569 | "array-unique": "^0.3.2", 1570 | "define-property": "^2.0.2", 1571 | "extend-shallow": "^3.0.2", 1572 | "fragment-cache": "^0.2.1", 1573 | "is-windows": "^1.0.2", 1574 | "kind-of": "^6.0.2", 1575 | "object.pick": "^1.3.0", 1576 | "regex-not": "^1.0.0", 1577 | "snapdragon": "^0.8.1", 1578 | "to-regex": "^3.0.1" 1579 | } 1580 | }, 1581 | "natural-compare": { 1582 | "version": "1.4.0", 1583 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1584 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1585 | "dev": true 1586 | }, 1587 | "nice-try": { 1588 | "version": "1.0.5", 1589 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 1590 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 1591 | "dev": true 1592 | }, 1593 | "node-environment-flags": { 1594 | "version": "1.0.5", 1595 | "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", 1596 | "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", 1597 | "dev": true, 1598 | "requires": { 1599 | "object.getownpropertydescriptors": "^2.0.3", 1600 | "semver": "^5.7.0" 1601 | }, 1602 | "dependencies": { 1603 | "semver": { 1604 | "version": "5.7.0", 1605 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", 1606 | "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", 1607 | "dev": true 1608 | } 1609 | } 1610 | }, 1611 | "npm-run-path": { 1612 | "version": "2.0.2", 1613 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 1614 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 1615 | "dev": true, 1616 | "requires": { 1617 | "path-key": "^2.0.0" 1618 | } 1619 | }, 1620 | "number-is-nan": { 1621 | "version": "1.0.1", 1622 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1623 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 1624 | "dev": true 1625 | }, 1626 | "object-copy": { 1627 | "version": "0.1.0", 1628 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 1629 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 1630 | "requires": { 1631 | "copy-descriptor": "^0.1.0", 1632 | "define-property": "^0.2.5", 1633 | "kind-of": "^3.0.3" 1634 | }, 1635 | "dependencies": { 1636 | "define-property": { 1637 | "version": "0.2.5", 1638 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1639 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 1640 | "requires": { 1641 | "is-descriptor": "^0.1.0" 1642 | } 1643 | }, 1644 | "kind-of": { 1645 | "version": "3.2.2", 1646 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1647 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1648 | "requires": { 1649 | "is-buffer": "^1.1.5" 1650 | } 1651 | } 1652 | } 1653 | }, 1654 | "object-keys": { 1655 | "version": "1.1.1", 1656 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1657 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1658 | "dev": true 1659 | }, 1660 | "object-visit": { 1661 | "version": "1.0.1", 1662 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 1663 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 1664 | "requires": { 1665 | "isobject": "^3.0.0" 1666 | } 1667 | }, 1668 | "object.assign": { 1669 | "version": "4.1.0", 1670 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 1671 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 1672 | "dev": true, 1673 | "requires": { 1674 | "define-properties": "^1.1.2", 1675 | "function-bind": "^1.1.1", 1676 | "has-symbols": "^1.0.0", 1677 | "object-keys": "^1.0.11" 1678 | } 1679 | }, 1680 | "object.getownpropertydescriptors": { 1681 | "version": "2.0.3", 1682 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", 1683 | "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", 1684 | "dev": true, 1685 | "requires": { 1686 | "define-properties": "^1.1.2", 1687 | "es-abstract": "^1.5.1" 1688 | } 1689 | }, 1690 | "object.pick": { 1691 | "version": "1.3.0", 1692 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 1693 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 1694 | "requires": { 1695 | "isobject": "^3.0.1" 1696 | } 1697 | }, 1698 | "once": { 1699 | "version": "1.4.0", 1700 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1701 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1702 | "dev": true, 1703 | "requires": { 1704 | "wrappy": "1" 1705 | } 1706 | }, 1707 | "onetime": { 1708 | "version": "2.0.1", 1709 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 1710 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 1711 | "dev": true, 1712 | "requires": { 1713 | "mimic-fn": "^1.0.0" 1714 | } 1715 | }, 1716 | "optionator": { 1717 | "version": "0.8.2", 1718 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 1719 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 1720 | "dev": true, 1721 | "requires": { 1722 | "deep-is": "~0.1.3", 1723 | "fast-levenshtein": "~2.0.4", 1724 | "levn": "~0.3.0", 1725 | "prelude-ls": "~1.1.2", 1726 | "type-check": "~0.3.2", 1727 | "wordwrap": "~1.0.0" 1728 | } 1729 | }, 1730 | "os-homedir": { 1731 | "version": "1.0.2", 1732 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 1733 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 1734 | "dev": true 1735 | }, 1736 | "os-locale": { 1737 | "version": "3.1.0", 1738 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", 1739 | "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", 1740 | "dev": true, 1741 | "requires": { 1742 | "execa": "^1.0.0", 1743 | "lcid": "^2.0.0", 1744 | "mem": "^4.0.0" 1745 | } 1746 | }, 1747 | "os-tmpdir": { 1748 | "version": "1.0.2", 1749 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1750 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 1751 | "dev": true 1752 | }, 1753 | "p-defer": { 1754 | "version": "1.0.0", 1755 | "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", 1756 | "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", 1757 | "dev": true 1758 | }, 1759 | "p-finally": { 1760 | "version": "1.0.0", 1761 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 1762 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", 1763 | "dev": true 1764 | }, 1765 | "p-is-promise": { 1766 | "version": "2.1.0", 1767 | "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", 1768 | "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", 1769 | "dev": true 1770 | }, 1771 | "p-limit": { 1772 | "version": "2.2.0", 1773 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", 1774 | "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", 1775 | "dev": true, 1776 | "requires": { 1777 | "p-try": "^2.0.0" 1778 | } 1779 | }, 1780 | "p-locate": { 1781 | "version": "3.0.0", 1782 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 1783 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 1784 | "dev": true, 1785 | "requires": { 1786 | "p-limit": "^2.0.0" 1787 | } 1788 | }, 1789 | "p-try": { 1790 | "version": "2.2.0", 1791 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 1792 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 1793 | "dev": true 1794 | }, 1795 | "parent-module": { 1796 | "version": "1.0.0", 1797 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", 1798 | "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", 1799 | "dev": true, 1800 | "requires": { 1801 | "callsites": "^3.0.0" 1802 | } 1803 | }, 1804 | "pascalcase": { 1805 | "version": "0.1.1", 1806 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 1807 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" 1808 | }, 1809 | "path-exists": { 1810 | "version": "3.0.0", 1811 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1812 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1813 | "dev": true 1814 | }, 1815 | "path-is-absolute": { 1816 | "version": "1.0.1", 1817 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1818 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1819 | "dev": true 1820 | }, 1821 | "path-is-inside": { 1822 | "version": "1.0.2", 1823 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 1824 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 1825 | "dev": true 1826 | }, 1827 | "path-key": { 1828 | "version": "2.0.1", 1829 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1830 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 1831 | "dev": true 1832 | }, 1833 | "path-parse": { 1834 | "version": "1.0.6", 1835 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 1836 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" 1837 | }, 1838 | "posix-character-classes": { 1839 | "version": "0.1.1", 1840 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 1841 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" 1842 | }, 1843 | "prelude-ls": { 1844 | "version": "1.1.2", 1845 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 1846 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 1847 | "dev": true 1848 | }, 1849 | "progress": { 1850 | "version": "2.0.3", 1851 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 1852 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 1853 | "dev": true 1854 | }, 1855 | "pump": { 1856 | "version": "3.0.0", 1857 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1858 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1859 | "dev": true, 1860 | "requires": { 1861 | "end-of-stream": "^1.1.0", 1862 | "once": "^1.3.1" 1863 | } 1864 | }, 1865 | "punycode": { 1866 | "version": "2.1.1", 1867 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1868 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1869 | "dev": true 1870 | }, 1871 | "regenerate": { 1872 | "version": "1.4.0", 1873 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", 1874 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", 1875 | "dev": true 1876 | }, 1877 | "regenerate-unicode-properties": { 1878 | "version": "8.0.2", 1879 | "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz", 1880 | "integrity": "sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ==", 1881 | "dev": true, 1882 | "requires": { 1883 | "regenerate": "^1.4.0" 1884 | } 1885 | }, 1886 | "regex-not": { 1887 | "version": "1.0.2", 1888 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 1889 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 1890 | "requires": { 1891 | "extend-shallow": "^3.0.2", 1892 | "safe-regex": "^1.1.0" 1893 | } 1894 | }, 1895 | "regexpp": { 1896 | "version": "2.0.1", 1897 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 1898 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 1899 | "dev": true 1900 | }, 1901 | "regexpu-core": { 1902 | "version": "4.5.4", 1903 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", 1904 | "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==", 1905 | "dev": true, 1906 | "requires": { 1907 | "regenerate": "^1.4.0", 1908 | "regenerate-unicode-properties": "^8.0.2", 1909 | "regjsgen": "^0.5.0", 1910 | "regjsparser": "^0.6.0", 1911 | "unicode-match-property-ecmascript": "^1.0.4", 1912 | "unicode-match-property-value-ecmascript": "^1.1.0" 1913 | } 1914 | }, 1915 | "regjsgen": { 1916 | "version": "0.5.0", 1917 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", 1918 | "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", 1919 | "dev": true 1920 | }, 1921 | "regjsparser": { 1922 | "version": "0.6.0", 1923 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", 1924 | "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", 1925 | "dev": true, 1926 | "requires": { 1927 | "jsesc": "~0.5.0" 1928 | } 1929 | }, 1930 | "repeat-element": { 1931 | "version": "1.1.3", 1932 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", 1933 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" 1934 | }, 1935 | "repeat-string": { 1936 | "version": "1.6.1", 1937 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 1938 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" 1939 | }, 1940 | "require-directory": { 1941 | "version": "2.1.1", 1942 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1943 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 1944 | "dev": true 1945 | }, 1946 | "require-main-filename": { 1947 | "version": "2.0.0", 1948 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 1949 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 1950 | "dev": true 1951 | }, 1952 | "resolve": { 1953 | "version": "1.10.0", 1954 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", 1955 | "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", 1956 | "requires": { 1957 | "path-parse": "^1.0.6" 1958 | } 1959 | }, 1960 | "resolve-from": { 1961 | "version": "4.0.0", 1962 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1963 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1964 | "dev": true 1965 | }, 1966 | "resolve-url": { 1967 | "version": "0.2.1", 1968 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 1969 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" 1970 | }, 1971 | "restore-cursor": { 1972 | "version": "2.0.0", 1973 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 1974 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 1975 | "dev": true, 1976 | "requires": { 1977 | "onetime": "^2.0.0", 1978 | "signal-exit": "^3.0.2" 1979 | } 1980 | }, 1981 | "ret": { 1982 | "version": "0.1.15", 1983 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 1984 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" 1985 | }, 1986 | "rimraf": { 1987 | "version": "2.6.3", 1988 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 1989 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1990 | "dev": true, 1991 | "requires": { 1992 | "glob": "^7.1.3" 1993 | } 1994 | }, 1995 | "rollup": { 1996 | "version": "1.7.0", 1997 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.7.0.tgz", 1998 | "integrity": "sha512-hjuWSCgoQsFSTsmsNP4AH1l1kfkFqW82gW00V9nL81Zr3JtnKn3rvxh18jUAAEMb7qNoHj21PR5SqbK2mhBgMg==", 1999 | "dev": true, 2000 | "requires": { 2001 | "@types/estree": "0.0.39", 2002 | "@types/node": "^11.9.5", 2003 | "acorn": "^6.1.1" 2004 | }, 2005 | "dependencies": { 2006 | "acorn": { 2007 | "version": "6.1.1", 2008 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", 2009 | "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", 2010 | "dev": true 2011 | } 2012 | } 2013 | }, 2014 | "rollup-plugin-buble": { 2015 | "version": "0.19.6", 2016 | "resolved": "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.19.6.tgz", 2017 | "integrity": "sha512-El5Fut4/wEO17ZN/n9BZvqd7DXXB2WbJr/DKvr89LXChC/cHllE0XwiUDeAalrTkgr0WrnyLDTCQvEv+cGywWQ==", 2018 | "dev": true, 2019 | "requires": { 2020 | "buble": "^0.19.6", 2021 | "rollup-pluginutils": "^2.3.3" 2022 | } 2023 | }, 2024 | "rollup-plugin-commonjs": { 2025 | "version": "9.2.1", 2026 | "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.2.1.tgz", 2027 | "integrity": "sha512-X0A/Cp/t+zbONFinBhiTZrfuUaVwRIp4xsbKq/2ohA2CDULa/7ONSJTelqxon+Vds2R2t2qJTqJQucKUC8GKkw==", 2028 | "dev": true, 2029 | "requires": { 2030 | "estree-walker": "^0.5.2", 2031 | "magic-string": "^0.25.1", 2032 | "resolve": "^1.10.0", 2033 | "rollup-pluginutils": "^2.3.3" 2034 | } 2035 | }, 2036 | "rollup-pluginutils": { 2037 | "version": "2.5.0", 2038 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.5.0.tgz", 2039 | "integrity": "sha512-9Muh1H+XB5f5ONmKMayUoTYR1EZwHbwJJ9oZLrKT5yuTf/RLIQ5mYIGsrERquVucJmjmaAW0Y7+6Qo1Ep+5w3Q==", 2040 | "requires": { 2041 | "estree-walker": "^0.6.0", 2042 | "micromatch": "^3.1.10" 2043 | }, 2044 | "dependencies": { 2045 | "estree-walker": { 2046 | "version": "0.6.0", 2047 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.0.tgz", 2048 | "integrity": "sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw==" 2049 | } 2050 | } 2051 | }, 2052 | "run-async": { 2053 | "version": "2.3.0", 2054 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 2055 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 2056 | "dev": true, 2057 | "requires": { 2058 | "is-promise": "^2.1.0" 2059 | } 2060 | }, 2061 | "rxjs": { 2062 | "version": "6.4.0", 2063 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", 2064 | "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", 2065 | "dev": true, 2066 | "requires": { 2067 | "tslib": "^1.9.0" 2068 | } 2069 | }, 2070 | "safe-regex": { 2071 | "version": "1.1.0", 2072 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 2073 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 2074 | "requires": { 2075 | "ret": "~0.1.10" 2076 | } 2077 | }, 2078 | "safer-buffer": { 2079 | "version": "2.1.2", 2080 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2081 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2082 | "dev": true 2083 | }, 2084 | "semver": { 2085 | "version": "5.6.0", 2086 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", 2087 | "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", 2088 | "dev": true 2089 | }, 2090 | "set-blocking": { 2091 | "version": "2.0.0", 2092 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2093 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 2094 | "dev": true 2095 | }, 2096 | "set-value": { 2097 | "version": "2.0.0", 2098 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", 2099 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", 2100 | "requires": { 2101 | "extend-shallow": "^2.0.1", 2102 | "is-extendable": "^0.1.1", 2103 | "is-plain-object": "^2.0.3", 2104 | "split-string": "^3.0.1" 2105 | }, 2106 | "dependencies": { 2107 | "extend-shallow": { 2108 | "version": "2.0.1", 2109 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2110 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2111 | "requires": { 2112 | "is-extendable": "^0.1.0" 2113 | } 2114 | } 2115 | } 2116 | }, 2117 | "shebang-command": { 2118 | "version": "1.2.0", 2119 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 2120 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 2121 | "dev": true, 2122 | "requires": { 2123 | "shebang-regex": "^1.0.0" 2124 | } 2125 | }, 2126 | "shebang-regex": { 2127 | "version": "1.0.0", 2128 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 2129 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 2130 | "dev": true 2131 | }, 2132 | "signal-exit": { 2133 | "version": "3.0.2", 2134 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 2135 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 2136 | "dev": true 2137 | }, 2138 | "slice-ansi": { 2139 | "version": "2.1.0", 2140 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 2141 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 2142 | "dev": true, 2143 | "requires": { 2144 | "ansi-styles": "^3.2.0", 2145 | "astral-regex": "^1.0.0", 2146 | "is-fullwidth-code-point": "^2.0.0" 2147 | } 2148 | }, 2149 | "snapdragon": { 2150 | "version": "0.8.2", 2151 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 2152 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 2153 | "requires": { 2154 | "base": "^0.11.1", 2155 | "debug": "^2.2.0", 2156 | "define-property": "^0.2.5", 2157 | "extend-shallow": "^2.0.1", 2158 | "map-cache": "^0.2.2", 2159 | "source-map": "^0.5.6", 2160 | "source-map-resolve": "^0.5.0", 2161 | "use": "^3.1.0" 2162 | }, 2163 | "dependencies": { 2164 | "debug": { 2165 | "version": "2.6.9", 2166 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2167 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2168 | "requires": { 2169 | "ms": "2.0.0" 2170 | } 2171 | }, 2172 | "define-property": { 2173 | "version": "0.2.5", 2174 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2175 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2176 | "requires": { 2177 | "is-descriptor": "^0.1.0" 2178 | } 2179 | }, 2180 | "extend-shallow": { 2181 | "version": "2.0.1", 2182 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2183 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2184 | "requires": { 2185 | "is-extendable": "^0.1.0" 2186 | } 2187 | }, 2188 | "ms": { 2189 | "version": "2.0.0", 2190 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2191 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2192 | } 2193 | } 2194 | }, 2195 | "snapdragon-node": { 2196 | "version": "2.1.1", 2197 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 2198 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 2199 | "requires": { 2200 | "define-property": "^1.0.0", 2201 | "isobject": "^3.0.0", 2202 | "snapdragon-util": "^3.0.1" 2203 | }, 2204 | "dependencies": { 2205 | "define-property": { 2206 | "version": "1.0.0", 2207 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 2208 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 2209 | "requires": { 2210 | "is-descriptor": "^1.0.0" 2211 | } 2212 | }, 2213 | "is-accessor-descriptor": { 2214 | "version": "1.0.0", 2215 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 2216 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 2217 | "requires": { 2218 | "kind-of": "^6.0.0" 2219 | } 2220 | }, 2221 | "is-data-descriptor": { 2222 | "version": "1.0.0", 2223 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 2224 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 2225 | "requires": { 2226 | "kind-of": "^6.0.0" 2227 | } 2228 | }, 2229 | "is-descriptor": { 2230 | "version": "1.0.2", 2231 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 2232 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 2233 | "requires": { 2234 | "is-accessor-descriptor": "^1.0.0", 2235 | "is-data-descriptor": "^1.0.0", 2236 | "kind-of": "^6.0.2" 2237 | } 2238 | } 2239 | } 2240 | }, 2241 | "snapdragon-util": { 2242 | "version": "3.0.1", 2243 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 2244 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 2245 | "requires": { 2246 | "kind-of": "^3.2.0" 2247 | }, 2248 | "dependencies": { 2249 | "kind-of": { 2250 | "version": "3.2.2", 2251 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2252 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2253 | "requires": { 2254 | "is-buffer": "^1.1.5" 2255 | } 2256 | } 2257 | } 2258 | }, 2259 | "source-map": { 2260 | "version": "0.5.7", 2261 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2262 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" 2263 | }, 2264 | "source-map-resolve": { 2265 | "version": "0.5.2", 2266 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", 2267 | "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", 2268 | "requires": { 2269 | "atob": "^2.1.1", 2270 | "decode-uri-component": "^0.2.0", 2271 | "resolve-url": "^0.2.1", 2272 | "source-map-url": "^0.4.0", 2273 | "urix": "^0.1.0" 2274 | } 2275 | }, 2276 | "source-map-url": { 2277 | "version": "0.4.0", 2278 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 2279 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" 2280 | }, 2281 | "sourcemap-codec": { 2282 | "version": "1.4.4", 2283 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", 2284 | "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", 2285 | "dev": true 2286 | }, 2287 | "split-string": { 2288 | "version": "3.1.0", 2289 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 2290 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 2291 | "requires": { 2292 | "extend-shallow": "^3.0.0" 2293 | } 2294 | }, 2295 | "sprintf-js": { 2296 | "version": "1.0.3", 2297 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 2298 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 2299 | "dev": true 2300 | }, 2301 | "static-extend": { 2302 | "version": "0.1.2", 2303 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 2304 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 2305 | "requires": { 2306 | "define-property": "^0.2.5", 2307 | "object-copy": "^0.1.0" 2308 | }, 2309 | "dependencies": { 2310 | "define-property": { 2311 | "version": "0.2.5", 2312 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2313 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2314 | "requires": { 2315 | "is-descriptor": "^0.1.0" 2316 | } 2317 | } 2318 | } 2319 | }, 2320 | "string-width": { 2321 | "version": "2.1.1", 2322 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 2323 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 2324 | "dev": true, 2325 | "requires": { 2326 | "is-fullwidth-code-point": "^2.0.0", 2327 | "strip-ansi": "^4.0.0" 2328 | } 2329 | }, 2330 | "strip-ansi": { 2331 | "version": "4.0.0", 2332 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 2333 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 2334 | "dev": true, 2335 | "requires": { 2336 | "ansi-regex": "^3.0.0" 2337 | } 2338 | }, 2339 | "strip-eof": { 2340 | "version": "1.0.0", 2341 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 2342 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", 2343 | "dev": true 2344 | }, 2345 | "strip-json-comments": { 2346 | "version": "2.0.1", 2347 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2348 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 2349 | "dev": true 2350 | }, 2351 | "supports-color": { 2352 | "version": "5.5.0", 2353 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2354 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2355 | "dev": true, 2356 | "requires": { 2357 | "has-flag": "^3.0.0" 2358 | } 2359 | }, 2360 | "table": { 2361 | "version": "5.2.3", 2362 | "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", 2363 | "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==", 2364 | "dev": true, 2365 | "requires": { 2366 | "ajv": "^6.9.1", 2367 | "lodash": "^4.17.11", 2368 | "slice-ansi": "^2.1.0", 2369 | "string-width": "^3.0.0" 2370 | }, 2371 | "dependencies": { 2372 | "ansi-regex": { 2373 | "version": "4.1.0", 2374 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 2375 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 2376 | "dev": true 2377 | }, 2378 | "string-width": { 2379 | "version": "3.1.0", 2380 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 2381 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 2382 | "dev": true, 2383 | "requires": { 2384 | "emoji-regex": "^7.0.1", 2385 | "is-fullwidth-code-point": "^2.0.0", 2386 | "strip-ansi": "^5.1.0" 2387 | } 2388 | }, 2389 | "strip-ansi": { 2390 | "version": "5.2.0", 2391 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 2392 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 2393 | "dev": true, 2394 | "requires": { 2395 | "ansi-regex": "^4.1.0" 2396 | } 2397 | } 2398 | } 2399 | }, 2400 | "text-table": { 2401 | "version": "0.2.0", 2402 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 2403 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 2404 | "dev": true 2405 | }, 2406 | "through": { 2407 | "version": "2.3.8", 2408 | "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", 2409 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 2410 | "dev": true 2411 | }, 2412 | "tmp": { 2413 | "version": "0.0.33", 2414 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 2415 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 2416 | "dev": true, 2417 | "requires": { 2418 | "os-tmpdir": "~1.0.2" 2419 | } 2420 | }, 2421 | "to-object-path": { 2422 | "version": "0.3.0", 2423 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 2424 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 2425 | "requires": { 2426 | "kind-of": "^3.0.2" 2427 | }, 2428 | "dependencies": { 2429 | "kind-of": { 2430 | "version": "3.2.2", 2431 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2432 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2433 | "requires": { 2434 | "is-buffer": "^1.1.5" 2435 | } 2436 | } 2437 | } 2438 | }, 2439 | "to-regex": { 2440 | "version": "3.0.2", 2441 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 2442 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 2443 | "requires": { 2444 | "define-property": "^2.0.2", 2445 | "extend-shallow": "^3.0.2", 2446 | "regex-not": "^1.0.2", 2447 | "safe-regex": "^1.1.0" 2448 | } 2449 | }, 2450 | "to-regex-range": { 2451 | "version": "2.1.1", 2452 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 2453 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 2454 | "requires": { 2455 | "is-number": "^3.0.0", 2456 | "repeat-string": "^1.6.1" 2457 | } 2458 | }, 2459 | "tslib": { 2460 | "version": "1.9.3", 2461 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", 2462 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", 2463 | "dev": true 2464 | }, 2465 | "type-check": { 2466 | "version": "0.3.2", 2467 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 2468 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 2469 | "dev": true, 2470 | "requires": { 2471 | "prelude-ls": "~1.1.2" 2472 | } 2473 | }, 2474 | "typescript": { 2475 | "version": "3.3.4000", 2476 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.4000.tgz", 2477 | "integrity": "sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==", 2478 | "dev": true 2479 | }, 2480 | "unicode-canonical-property-names-ecmascript": { 2481 | "version": "1.0.4", 2482 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", 2483 | "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", 2484 | "dev": true 2485 | }, 2486 | "unicode-match-property-ecmascript": { 2487 | "version": "1.0.4", 2488 | "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", 2489 | "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", 2490 | "dev": true, 2491 | "requires": { 2492 | "unicode-canonical-property-names-ecmascript": "^1.0.4", 2493 | "unicode-property-aliases-ecmascript": "^1.0.4" 2494 | } 2495 | }, 2496 | "unicode-match-property-value-ecmascript": { 2497 | "version": "1.1.0", 2498 | "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", 2499 | "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", 2500 | "dev": true 2501 | }, 2502 | "unicode-property-aliases-ecmascript": { 2503 | "version": "1.0.5", 2504 | "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", 2505 | "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", 2506 | "dev": true 2507 | }, 2508 | "union-value": { 2509 | "version": "1.0.0", 2510 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", 2511 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", 2512 | "requires": { 2513 | "arr-union": "^3.1.0", 2514 | "get-value": "^2.0.6", 2515 | "is-extendable": "^0.1.1", 2516 | "set-value": "^0.4.3" 2517 | }, 2518 | "dependencies": { 2519 | "extend-shallow": { 2520 | "version": "2.0.1", 2521 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2522 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2523 | "requires": { 2524 | "is-extendable": "^0.1.0" 2525 | } 2526 | }, 2527 | "set-value": { 2528 | "version": "0.4.3", 2529 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", 2530 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", 2531 | "requires": { 2532 | "extend-shallow": "^2.0.1", 2533 | "is-extendable": "^0.1.1", 2534 | "is-plain-object": "^2.0.1", 2535 | "to-object-path": "^0.3.0" 2536 | } 2537 | } 2538 | } 2539 | }, 2540 | "unset-value": { 2541 | "version": "1.0.0", 2542 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 2543 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 2544 | "requires": { 2545 | "has-value": "^0.3.1", 2546 | "isobject": "^3.0.0" 2547 | }, 2548 | "dependencies": { 2549 | "has-value": { 2550 | "version": "0.3.1", 2551 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 2552 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 2553 | "requires": { 2554 | "get-value": "^2.0.3", 2555 | "has-values": "^0.1.4", 2556 | "isobject": "^2.0.0" 2557 | }, 2558 | "dependencies": { 2559 | "isobject": { 2560 | "version": "2.1.0", 2561 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 2562 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 2563 | "requires": { 2564 | "isarray": "1.0.0" 2565 | } 2566 | } 2567 | } 2568 | }, 2569 | "has-values": { 2570 | "version": "0.1.4", 2571 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 2572 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" 2573 | } 2574 | } 2575 | }, 2576 | "uri-js": { 2577 | "version": "4.2.2", 2578 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 2579 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 2580 | "dev": true, 2581 | "requires": { 2582 | "punycode": "^2.1.0" 2583 | } 2584 | }, 2585 | "urix": { 2586 | "version": "0.1.0", 2587 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 2588 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" 2589 | }, 2590 | "use": { 2591 | "version": "3.1.1", 2592 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 2593 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" 2594 | }, 2595 | "which": { 2596 | "version": "1.3.1", 2597 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 2598 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2599 | "dev": true, 2600 | "requires": { 2601 | "isexe": "^2.0.0" 2602 | } 2603 | }, 2604 | "which-module": { 2605 | "version": "2.0.0", 2606 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 2607 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 2608 | "dev": true 2609 | }, 2610 | "wide-align": { 2611 | "version": "1.1.3", 2612 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", 2613 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", 2614 | "dev": true, 2615 | "requires": { 2616 | "string-width": "^1.0.2 || 2" 2617 | } 2618 | }, 2619 | "wordwrap": { 2620 | "version": "1.0.0", 2621 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 2622 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 2623 | "dev": true 2624 | }, 2625 | "wrap-ansi": { 2626 | "version": "2.1.0", 2627 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 2628 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 2629 | "dev": true, 2630 | "requires": { 2631 | "string-width": "^1.0.1", 2632 | "strip-ansi": "^3.0.1" 2633 | }, 2634 | "dependencies": { 2635 | "ansi-regex": { 2636 | "version": "2.1.1", 2637 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 2638 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 2639 | "dev": true 2640 | }, 2641 | "is-fullwidth-code-point": { 2642 | "version": "1.0.0", 2643 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 2644 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 2645 | "dev": true, 2646 | "requires": { 2647 | "number-is-nan": "^1.0.0" 2648 | } 2649 | }, 2650 | "string-width": { 2651 | "version": "1.0.2", 2652 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 2653 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 2654 | "dev": true, 2655 | "requires": { 2656 | "code-point-at": "^1.0.0", 2657 | "is-fullwidth-code-point": "^1.0.0", 2658 | "strip-ansi": "^3.0.0" 2659 | } 2660 | }, 2661 | "strip-ansi": { 2662 | "version": "3.0.1", 2663 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2664 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2665 | "dev": true, 2666 | "requires": { 2667 | "ansi-regex": "^2.0.0" 2668 | } 2669 | } 2670 | } 2671 | }, 2672 | "wrappy": { 2673 | "version": "1.0.2", 2674 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2675 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2676 | "dev": true 2677 | }, 2678 | "write": { 2679 | "version": "1.0.3", 2680 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 2681 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 2682 | "dev": true, 2683 | "requires": { 2684 | "mkdirp": "^0.5.1" 2685 | } 2686 | }, 2687 | "y18n": { 2688 | "version": "4.0.0", 2689 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", 2690 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", 2691 | "dev": true 2692 | }, 2693 | "yargs": { 2694 | "version": "13.2.2", 2695 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", 2696 | "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", 2697 | "dev": true, 2698 | "requires": { 2699 | "cliui": "^4.0.0", 2700 | "find-up": "^3.0.0", 2701 | "get-caller-file": "^2.0.1", 2702 | "os-locale": "^3.1.0", 2703 | "require-directory": "^2.1.1", 2704 | "require-main-filename": "^2.0.0", 2705 | "set-blocking": "^2.0.0", 2706 | "string-width": "^3.0.0", 2707 | "which-module": "^2.0.0", 2708 | "y18n": "^4.0.0", 2709 | "yargs-parser": "^13.0.0" 2710 | }, 2711 | "dependencies": { 2712 | "ansi-regex": { 2713 | "version": "4.1.0", 2714 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 2715 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 2716 | "dev": true 2717 | }, 2718 | "string-width": { 2719 | "version": "3.1.0", 2720 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 2721 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 2722 | "dev": true, 2723 | "requires": { 2724 | "emoji-regex": "^7.0.1", 2725 | "is-fullwidth-code-point": "^2.0.0", 2726 | "strip-ansi": "^5.1.0" 2727 | } 2728 | }, 2729 | "strip-ansi": { 2730 | "version": "5.2.0", 2731 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 2732 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 2733 | "dev": true, 2734 | "requires": { 2735 | "ansi-regex": "^4.1.0" 2736 | } 2737 | } 2738 | } 2739 | }, 2740 | "yargs-parser": { 2741 | "version": "13.0.0", 2742 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", 2743 | "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", 2744 | "dev": true, 2745 | "requires": { 2746 | "camelcase": "^5.0.0", 2747 | "decamelize": "^1.2.0" 2748 | } 2749 | }, 2750 | "yargs-unparser": { 2751 | "version": "1.5.0", 2752 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", 2753 | "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", 2754 | "dev": true, 2755 | "requires": { 2756 | "flat": "^4.1.0", 2757 | "lodash": "^4.17.11", 2758 | "yargs": "^12.0.5" 2759 | }, 2760 | "dependencies": { 2761 | "get-caller-file": { 2762 | "version": "1.0.3", 2763 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", 2764 | "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", 2765 | "dev": true 2766 | }, 2767 | "require-main-filename": { 2768 | "version": "1.0.1", 2769 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 2770 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", 2771 | "dev": true 2772 | }, 2773 | "yargs": { 2774 | "version": "12.0.5", 2775 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", 2776 | "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", 2777 | "dev": true, 2778 | "requires": { 2779 | "cliui": "^4.0.0", 2780 | "decamelize": "^1.2.0", 2781 | "find-up": "^3.0.0", 2782 | "get-caller-file": "^1.0.1", 2783 | "os-locale": "^3.0.0", 2784 | "require-directory": "^2.1.1", 2785 | "require-main-filename": "^1.0.1", 2786 | "set-blocking": "^2.0.0", 2787 | "string-width": "^2.0.0", 2788 | "which-module": "^2.0.0", 2789 | "y18n": "^3.2.1 || ^4.0.0", 2790 | "yargs-parser": "^11.1.1" 2791 | } 2792 | }, 2793 | "yargs-parser": { 2794 | "version": "11.1.1", 2795 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", 2796 | "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", 2797 | "dev": true, 2798 | "requires": { 2799 | "camelcase": "^5.0.0", 2800 | "decamelize": "^1.2.0" 2801 | } 2802 | } 2803 | } 2804 | } 2805 | } 2806 | } 2807 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rollup-plugin-typescript", 3 | "version": "1.0.1", 4 | "description": "Seamless integration between Rollup and TypeScript.", 5 | "main": "dist/rollup-plugin-typescript.cjs.js", 6 | "module": "dist/rollup-plugin-typescript.es.js", 7 | "jsnext:main": "dist/rollup-plugin-typescript.es.js", 8 | "files": [ 9 | "dist", 10 | "src", 11 | "index.d.ts" 12 | ], 13 | "keywords": [ 14 | "rollup-plugin", 15 | "typescript", 16 | "es2015" 17 | ], 18 | "license": "MIT", 19 | "homepage": "https://github.com/rollup/rollup-plugin-typescript", 20 | "author": "Oskar Segersvärd", 21 | "scripts": { 22 | "prebuild": "rimraf dist/*", 23 | "build": "rollup -c", 24 | "lint": "eslint src test/*.js", 25 | "pretest": "npm run build", 26 | "test": "mocha && tsc", 27 | "posttest": "npm run lint", 28 | "prepublishOnly": "npm run test", 29 | "prepare": "npm run build" 30 | }, 31 | "dependencies": { 32 | "resolve": "^1.10.0", 33 | "rollup-pluginutils": "^2.5.0" 34 | }, 35 | "peerDependencies": { 36 | "tslib": "*", 37 | "typescript": ">=2.1.0" 38 | }, 39 | "devDependencies": { 40 | "buble": "^0.19.7", 41 | "eslint": "^5.15.3", 42 | "mocha": "^6.1.4", 43 | "rimraf": "^2.6.3", 44 | "rollup": "^1.7.0", 45 | "rollup-plugin-buble": "^0.19.6", 46 | "rollup-plugin-commonjs": "^9.2.1", 47 | "tslib": "^1.9.3", 48 | "typescript": "^3.3.4000" 49 | }, 50 | "repository": { 51 | "type": "git", 52 | "url": "git+https://github.com/rollup/rollup-plugin-typescript.git" 53 | }, 54 | "bugs": { 55 | "url": "https://github.com/rollup/rollup-plugin-typescript/issues" 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import buble from 'rollup-plugin-buble'; 2 | import pkg from './package.json'; 3 | 4 | export default { 5 | input: 'src/index.js', 6 | 7 | external: [ 8 | 'path', 9 | 'fs', 10 | 'resolve', 11 | 'rollup-pluginutils', 12 | 'typescript' 13 | ], 14 | 15 | plugins: [ 16 | buble() 17 | ], 18 | 19 | output: [ 20 | { 21 | format: 'cjs', 22 | file: pkg.main 23 | }, 24 | { 25 | format: 'es', 26 | file: pkg.module 27 | } 28 | ] 29 | }; 30 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import * as ts from 'typescript'; 2 | import { createFilter } from 'rollup-pluginutils'; 3 | import * as fs from 'fs'; 4 | import resolveId from 'resolve'; 5 | import { endsWith } from './string'; 6 | import { getDefaultOptions, readTsConfig, adjustCompilerOptions } from './options.js'; 7 | import resolveHost from './resolveHost'; 8 | 9 | const TSLIB_ID = '\0tslib'; 10 | 11 | export default function typescript ( options = {} ) { 12 | options = Object.assign( {}, options ); 13 | 14 | const filter = createFilter( 15 | options.include || [ '*.ts+(|x)', '**/*.ts+(|x)' ], 16 | options.exclude || [ '*.d.ts', '**/*.d.ts' ] ); 17 | 18 | delete options.include; 19 | delete options.exclude; 20 | 21 | // Allow users to override the TypeScript version used for transpilation and tslib version used for helpers. 22 | /** @type {import('typescript')} */ 23 | const typescript = options.typescript || ts; 24 | const tslib = options.tslib || 25 | fs.readFileSync(resolveId.sync('tslib/tslib.es6.js', { basedir: __dirname }), 'utf-8' ); 26 | 27 | delete options.typescript; 28 | delete options.tslib; 29 | 30 | // Load options from `tsconfig.json` unless explicitly asked not to. 31 | const tsConfig = options.tsconfig === false ? 32 | { compilerOptions: {} } : 33 | readTsConfig( typescript, options.tsconfig ); 34 | 35 | delete options.tsconfig; 36 | 37 | // Since the CompilerOptions aren't designed for the Rollup 38 | // use case, we'll adjust them for use with Rollup. 39 | adjustCompilerOptions( typescript, tsConfig.compilerOptions ); 40 | adjustCompilerOptions( typescript, options ); 41 | 42 | options = Object.assign( tsConfig.compilerOptions, getDefaultOptions(), options ); 43 | 44 | // Verify that we're targeting ES2015 modules. 45 | const moduleType = options.module.toUpperCase(); 46 | if ( moduleType !== 'ES2015' && moduleType !== 'ES6' && moduleType !== 'ESNEXT' && moduleType !== 'COMMONJS' ) { 47 | throw new Error( `rollup-plugin-typescript: The module kind should be 'ES2015' or 'ESNext, found: '${ options.module }'` ); 48 | } 49 | 50 | const parsed = typescript.convertCompilerOptionsFromJson( options, process.cwd() ); 51 | 52 | if ( parsed.errors.length ) { 53 | parsed.errors.forEach( error => console.error( `rollup-plugin-typescript: ${ error.messageText }` ) ); 54 | 55 | throw new Error( `rollup-plugin-typescript: Couldn't process compiler options` ); 56 | } 57 | 58 | // let typescript load inheritance chain if there are base configs 59 | const extendedConfig = !tsConfig.extends ? 60 | null : 61 | typescript.parseJsonConfigFileContent(tsConfig, typescript.sys, process.cwd(), parsed.options); 62 | if (extendedConfig && extendedConfig.errors.length) { 63 | extendedConfig.errors.forEach( error => console.error( `rollup-plugin-typescript: ${ error.messageText }` ) ); 64 | 65 | throw new Error( `rollup-plugin-typescript: Couldn't process compiler options` ); 66 | } 67 | 68 | const compilerOptions = extendedConfig ? extendedConfig.options : parsed.options; 69 | 70 | return { 71 | name: 'typescript', 72 | 73 | resolveId ( importee, importer ) { 74 | if ( importee === 'tslib' ) { 75 | return TSLIB_ID; 76 | } 77 | 78 | if ( !importer ) return null; 79 | importer = importer.split('\\').join('/'); 80 | 81 | const result = typescript.nodeModuleNameResolver(importee, importer, compilerOptions, resolveHost); 82 | 83 | if ( result.resolvedModule && result.resolvedModule.resolvedFileName ) { 84 | if ( endsWith( result.resolvedModule.resolvedFileName, '.d.ts' ) ) { 85 | return null; 86 | } 87 | 88 | return result.resolvedModule.resolvedFileName; 89 | } 90 | 91 | return null; 92 | }, 93 | 94 | load ( id ) { 95 | if ( id === TSLIB_ID ) { 96 | return tslib; 97 | } 98 | }, 99 | 100 | transform ( code, id ) { 101 | if ( !filter( id ) ) return null; 102 | 103 | const transformed = typescript.transpileModule( code, { 104 | fileName: id, 105 | reportDiagnostics: true, 106 | compilerOptions 107 | }); 108 | 109 | // All errors except `Cannot compile modules into 'es6' when targeting 'ES5' or lower.` 110 | const diagnostics = transformed.diagnostics ? 111 | transformed.diagnostics.filter( diagnostic => diagnostic.code !== 1204 ) : []; 112 | 113 | let fatalError = false; 114 | 115 | diagnostics.forEach( diagnostic => { 116 | const message = typescript.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); 117 | 118 | if ( diagnostic.file ) { 119 | const { line, character } = diagnostic.file.getLineAndCharacterOfPosition( diagnostic.start ); 120 | 121 | console.error( `${diagnostic.file.fileName}(${line + 1},${character + 1}): error TS${diagnostic.code}: ${message}` ); 122 | } else { 123 | console.error( `Error: ${message}` ); 124 | } 125 | 126 | if ( diagnostic.category === ts.DiagnosticCategory.Error ) { 127 | fatalError = true; 128 | } 129 | }); 130 | 131 | if ( fatalError ) { 132 | throw new Error( `There were TypeScript errors transpiling` ); 133 | } 134 | 135 | return { 136 | code: transformed.outputText, 137 | 138 | // Rollup expects `map` to be an object so we must parse the string 139 | map: transformed.sourceMapText ? JSON.parse(transformed.sourceMapText) : null 140 | }; 141 | } 142 | }; 143 | } 144 | -------------------------------------------------------------------------------- /src/options.js: -------------------------------------------------------------------------------- 1 | import * as path from 'path'; 2 | import { 3 | existsSync, 4 | readFileSync 5 | } from 'fs'; 6 | 7 | export function getDefaultOptions () { 8 | return { 9 | noEmitHelpers: true, 10 | module: 'ESNext', 11 | sourceMap: true, 12 | importHelpers: true 13 | }; 14 | } 15 | 16 | // Gratefully lifted from 'look-up', due to problems using it directly: 17 | // https://github.com/jonschlinkert/look-up/blob/master/index.js 18 | // MIT Licenced 19 | function findFile ( cwd, filename ) { 20 | let fp = cwd ? ( cwd + '/' + filename ) : filename; 21 | 22 | if ( existsSync( fp ) ) { 23 | return fp; 24 | } 25 | 26 | const segs = cwd.split( path.sep ); 27 | let len = segs.length; 28 | 29 | while ( len-- ) { 30 | cwd = segs.slice( 0, len ).join( '/' ); 31 | fp = cwd + '/' + filename; 32 | if ( existsSync( fp ) ) { 33 | return fp; 34 | } 35 | } 36 | 37 | return null; 38 | } 39 | 40 | export function readTsConfig (typescript, tsconfigPath) { 41 | if (tsconfigPath && !existsSync(tsconfigPath)) { 42 | throw new Error(`Could not find specified tsconfig.json at ${tsconfigPath}`); 43 | } 44 | const existingTsConfig = tsconfigPath || findFile( process.cwd(), 'tsconfig.json' ); 45 | if (!existingTsConfig) { 46 | return {}; 47 | } 48 | const tsconfig = typescript.readConfigFile( existingTsConfig, path => readFileSync( path, 'utf8' ) ); 49 | 50 | if ( !tsconfig.config || !tsconfig.config.compilerOptions ) return { compilerOptions: {} }; 51 | return tsconfig.config; 52 | } 53 | 54 | export function adjustCompilerOptions ( typescript, options ) { 55 | // Set `sourceMap` to `inlineSourceMap` if it's a boolean 56 | // under the assumption that both are never specified simultaneously. 57 | if ( typeof options.inlineSourceMap === 'boolean' ) { 58 | options.sourceMap = options.inlineSourceMap; 59 | delete options.inlineSourceMap; 60 | } 61 | 62 | // Delete some options to prevent compilation error. 63 | // See: https://github.com/rollup/rollup-plugin-typescript/issues/45 64 | // See: https://github.com/rollup/rollup-plugin-typescript/issues/142 65 | delete options.declaration; 66 | // Delete the `declarationMap` option, as it will cause an error, because we have 67 | // deleted the `declaration` option. 68 | delete options.declarationMap; 69 | delete options.incremental; 70 | delete options.tsBuildInfoFile; 71 | } 72 | -------------------------------------------------------------------------------- /src/resolveHost.js: -------------------------------------------------------------------------------- 1 | import { statSync } from 'fs'; 2 | 3 | export default { 4 | directoryExists ( dirPath ) { 5 | try { 6 | return statSync( dirPath ).isDirectory(); 7 | } catch ( err ) { 8 | return false; 9 | } 10 | }, 11 | fileExists ( filePath ) { 12 | try { 13 | return statSync( filePath ).isFile(); 14 | } catch ( err ) { 15 | return false; 16 | } 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /src/string.js: -------------------------------------------------------------------------------- 1 | export function endsWith ( str, tail ) { 2 | return !tail.length || str.slice( -tail.length ) === tail; 3 | } 4 | -------------------------------------------------------------------------------- /test/sample/assign/main.ts: -------------------------------------------------------------------------------- 1 | const others = { 2 | b: 2, 3 | c: 1, 4 | d: 3 5 | }; 6 | 7 | export default { a: 5, ...others, c: 3 }; 8 | -------------------------------------------------------------------------------- /test/sample/async/main.ts: -------------------------------------------------------------------------------- 1 | export default async function ( n: number ) { 2 | while ( --n ) { 3 | await delay( 10 ); 4 | } 5 | } 6 | 7 | function delay ( interval: number ) { 8 | return new Promise( resolve => setTimeout( resolve, interval ) ); 9 | } 10 | -------------------------------------------------------------------------------- /test/sample/basic/main.ts: -------------------------------------------------------------------------------- 1 | const answer: number = 42; 2 | console.log( `the answer is ${answer}` ); 3 | -------------------------------------------------------------------------------- /test/sample/commonjs-imports/cjs.js: -------------------------------------------------------------------------------- 1 | module.exports = 'exported from commonjs'; 2 | -------------------------------------------------------------------------------- /test/sample/commonjs-imports/main.ts: -------------------------------------------------------------------------------- 1 | import cjs = require('./cjs'); 2 | 3 | export default cjs; 4 | -------------------------------------------------------------------------------- /test/sample/dedup-helpers/A.ts: -------------------------------------------------------------------------------- 1 | import Base from './Base'; 2 | export class A extends Base {} 3 | -------------------------------------------------------------------------------- /test/sample/dedup-helpers/B.ts: -------------------------------------------------------------------------------- 1 | import Base from './Base'; 2 | export class B extends Base {} 3 | -------------------------------------------------------------------------------- /test/sample/dedup-helpers/Base.ts: -------------------------------------------------------------------------------- 1 | export default class Base {} 2 | -------------------------------------------------------------------------------- /test/sample/dedup-helpers/main.ts: -------------------------------------------------------------------------------- 1 | export { A } from './A'; 2 | export { B } from './B'; 3 | -------------------------------------------------------------------------------- /test/sample/dts/main.ts: -------------------------------------------------------------------------------- 1 | import { foo } from 'an-import'; 2 | 3 | foo(); 4 | -------------------------------------------------------------------------------- /test/sample/dts/node_modules/an-import.d.ts: -------------------------------------------------------------------------------- 1 | // empty 2 | -------------------------------------------------------------------------------- /test/sample/dynamic-imports/dynamic.ts: -------------------------------------------------------------------------------- 1 | console.log('dynamic'); 2 | export default 42; 3 | -------------------------------------------------------------------------------- /test/sample/dynamic-imports/main.ts: -------------------------------------------------------------------------------- 1 | export default import('./dynamic'); 2 | -------------------------------------------------------------------------------- /test/sample/export-abstract-class/main.ts: -------------------------------------------------------------------------------- 1 | export abstract class A {} 2 | -------------------------------------------------------------------------------- /test/sample/export-class-fix/default.ts: -------------------------------------------------------------------------------- 1 | // the odd spacing is intentional 2 | export default 3 | class A {} 4 | -------------------------------------------------------------------------------- /test/sample/export-class-fix/main.ts: -------------------------------------------------------------------------------- 1 | import A from './default'; 2 | import { B } from './named'; 3 | 4 | export { A, B }; 5 | -------------------------------------------------------------------------------- /test/sample/export-class-fix/named.ts: -------------------------------------------------------------------------------- 1 | // the odd spacing is intentional 2 | export class B {} 3 | -------------------------------------------------------------------------------- /test/sample/export-class/Foo.ts: -------------------------------------------------------------------------------- 1 | export class Foo { 2 | foo = 'bar'; 3 | } -------------------------------------------------------------------------------- /test/sample/export-class/main.ts: -------------------------------------------------------------------------------- 1 | import {Foo} from './Foo.ts'; 2 | 3 | export default new Foo(); 4 | -------------------------------------------------------------------------------- /test/sample/export-fodule/main.ts: -------------------------------------------------------------------------------- 1 | export function test() { 2 | return 0; 3 | } 4 | export namespace test { 5 | export const foo = "2" 6 | } -------------------------------------------------------------------------------- /test/sample/export-namespace-export-class/test.ts: -------------------------------------------------------------------------------- 1 | // https://github.com/rollup/rollup-plugin-typescript/issues/70#issuecomment-336216349 2 | 3 | // test.ts 4 | export namespace MODE { 5 | export class MODE { 6 | } 7 | } -------------------------------------------------------------------------------- /test/sample/import-class/A.ts: -------------------------------------------------------------------------------- 1 | class A { 2 | getArgs: () => any[]; 3 | 4 | constructor(...args: any[]) { 5 | this.getArgs = () => args; 6 | } 7 | } 8 | 9 | export default A; 10 | -------------------------------------------------------------------------------- /test/sample/import-class/main.ts: -------------------------------------------------------------------------------- 1 | import A from './A'; 2 | 3 | new A(); 4 | -------------------------------------------------------------------------------- /test/sample/jsx/main.tsx: -------------------------------------------------------------------------------- 1 | export default Yo! 2 | -------------------------------------------------------------------------------- /test/sample/overriding-tslib/main.ts: -------------------------------------------------------------------------------- 1 | class Base { 2 | static baseMethod() { 3 | return 'base method'; 4 | } 5 | } 6 | 7 | export default class Main extends Base {} 8 | -------------------------------------------------------------------------------- /test/sample/overriding-typescript/main.ts: -------------------------------------------------------------------------------- 1 | // empty 2 | -------------------------------------------------------------------------------- /test/sample/syntax-error/missing-type.ts: -------------------------------------------------------------------------------- 1 | var a: ; 2 | -------------------------------------------------------------------------------- /test/sample/tsconfig-extends/main.tsx: -------------------------------------------------------------------------------- 1 | export default Yo! 2 | -------------------------------------------------------------------------------- /test/sample/tsconfig-extends/tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "jsx": "react" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/sample/tsconfig-extends/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base", 3 | "compilerOptions": { 4 | "allowJs": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /test/sample/tsconfig-jsx/main.tsx: -------------------------------------------------------------------------------- 1 | export default Yo! 2 | -------------------------------------------------------------------------------- /test/sample/tsconfig-jsx/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "jsx": "react" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- 1 | const assert = require( 'assert' ); 2 | const rollup = require( 'rollup' ); 3 | const typescript = require( '..' ); 4 | const path = require('path'); 5 | const commonjs = require('rollup-plugin-commonjs'); 6 | 7 | async function bundle (main, options) { 8 | return rollup.rollup({ 9 | input: main, 10 | plugins: [typescript(options)] 11 | }); 12 | } 13 | 14 | const getOutputFromGenerated = generated => generated.output[0]; 15 | 16 | async function getCodeFromBundle (bundle) { 17 | return getOutputFromGenerated(await bundle.generate({ format: 'esm' })).code; 18 | } 19 | 20 | async function getCode ( main, options ) { 21 | return getCodeFromBundle(await bundle(main, options)); 22 | } 23 | 24 | async function evaluateBundle ( bundle ) { 25 | const module = { exports: {} }; 26 | new Function( 27 | 'module', 28 | 'exports', 29 | getOutputFromGenerated(await bundle.generate({ format: 'cjs' })).code 30 | )( module, module.exports ); 31 | return module.exports; 32 | } 33 | 34 | async function evaluate ( main, options ) { 35 | return evaluateBundle(await bundle(main, options)); 36 | } 37 | 38 | describe( 'rollup-plugin-typescript', () => { 39 | beforeEach(() => process.chdir(__dirname)); 40 | 41 | it( 'runs code through typescript', async () => { 42 | const code = await getCode( 'sample/basic/main.ts' ); 43 | 44 | assert.ok( code.indexOf( 'number' ) === -1, code ); 45 | assert.ok( code.indexOf( 'const' ) === -1, code ); 46 | }); 47 | 48 | it( 'ignores the declaration option', () => { 49 | return bundle( 'sample/basic/main.ts', { declaration: true }); 50 | }); 51 | 52 | it( 'throws for unsupported module types', async () => { 53 | let caughtError = null; 54 | try { 55 | await bundle( 'sample/basic/main.ts', { module: 'ES5' } ); 56 | } catch (error) { 57 | caughtError = error; 58 | } 59 | 60 | assert.ok(!!caughtError, 'Throws an error.'); 61 | assert.ok(caughtError.message.indexOf( 'The module kind should be \'ES2015\' or \'ESNext, found: \'ES5\'' ) !== -1, 62 | `Unexpected error message: ${caughtError.message}`); 63 | }); 64 | 65 | it( 'ignores case of module types', async () => { 66 | return bundle( 'sample/basic/main.ts', { module: 'eSnExT' } ); 67 | }); 68 | 69 | it( 'handles async functions', async () => { 70 | const wait = await evaluate('sample/async/main.ts'); 71 | return wait(3); 72 | }); 73 | 74 | it( 'does not duplicate helpers', async () => { 75 | const code = await getCode('sample/dedup-helpers/main.ts'); 76 | 77 | // The `__extends` function is defined in the bundle. 78 | assert.ok( code.indexOf( 'function __extends' ) > -1, code ); 79 | 80 | // No duplicate `__extends` helper is defined. 81 | assert.equal( code.indexOf( '__extends$1' ), -1, code ); 82 | }); 83 | 84 | it( 'transpiles `export class A` correctly', async () => { 85 | const bundled = await bundle( 'sample/export-class-fix/main.ts' ); 86 | 87 | const code = await getCodeFromBundle(bundled); 88 | assert.ok( code.indexOf( 'export { A, B };' ) !== -1, code ); 89 | 90 | const { A, B } = await evaluateBundle(bundled); 91 | const aInst = new A(); 92 | const bInst = new B(); 93 | assert.ok(aInst instanceof A); 94 | assert.ok(bInst instanceof B); 95 | 96 | 97 | }); 98 | 99 | it( 'transpiles ES6 features to ES5 with source maps', async () => { 100 | const code = await getCode( 'sample/import-class/main.ts' ); 101 | 102 | assert.equal( code.indexOf( '...' ), -1, code ); 103 | assert.equal( code.indexOf( '=>' ), -1, code ); 104 | }); 105 | 106 | it( 'reports diagnostics and throws if errors occur during transpilation', async () => { 107 | let caughtError = null; 108 | try { 109 | await bundle( 'sample/syntax-error/missing-type.ts' ); 110 | } catch (error) { 111 | caughtError = error; 112 | } 113 | 114 | assert.ok(!!caughtError, 'throws an error'); 115 | assert.ok( caughtError.message.indexOf( 'There were TypeScript errors transpiling' ) !== -1, 116 | `Unexpected error message: ${caughtError.message}`); 117 | }); 118 | 119 | it( 'works with named exports for abstract classes', async () => { 120 | const code = await getCode('sample/export-abstract-class/main.ts' ); 121 | assert.ok( code.length > 0, code ); 122 | }); 123 | 124 | it( 'should use named exports for classes', async () => { 125 | assert.equal( (await evaluate( 'sample/export-class/main.ts' )).foo, 'bar' ); 126 | }); 127 | 128 | it( 'supports overriding the TypeScript version', async () => { 129 | const result = await evaluate('sample/overriding-typescript/main.ts', { 130 | // Don't use `tsconfig.json` 131 | tsconfig: false, 132 | 133 | // test with a mocked version of TypeScript 134 | typescript: fakeTypescript({ 135 | version: '1.8.0-fake', 136 | 137 | transpileModule: () => { 138 | // Ignore the code to transpile. Always return the same thing. 139 | return { 140 | outputText: 'export default 1337;', 141 | diagnostics: [], 142 | sourceMapText: JSON.stringify({ mappings: '' }) 143 | }; 144 | } 145 | }) 146 | }); 147 | 148 | assert.equal( result, 1337 ); 149 | }); 150 | 151 | it( 'supports overriding tslib', async () => { 152 | const code = await evaluate('sample/overriding-tslib/main.ts', { 153 | tslib: 'export const __extends = (Main, Super) => Main.myParent = Super' 154 | }); 155 | 156 | assert.equal( code.myParent.baseMethod(), 'base method' ); 157 | }); 158 | 159 | it( 'should not resolve .d.ts files', async () => { 160 | const imports = (await bundle( 'sample/dts/main.ts' )).cache.modules[0].dependencies; 161 | assert.deepEqual( imports, [ 'an-import' ] ); 162 | }); 163 | 164 | it( 'should transpile JSX if enabled', async () => { 165 | const code = await getCode( 'sample/jsx/main.tsx', { jsx: 'react' }); 166 | 167 | assert.notEqual( code.indexOf( 'var __assign = ' ), -1, 168 | 'should contain __assign definition' ); 169 | 170 | const usage = code.indexOf( 'React.createElement("span", __assign({}, props), "Yo!")' ); 171 | 172 | assert.notEqual( usage, -1, 'should contain usage' ); 173 | }); 174 | 175 | it( 'automatically loads tsconfig.json from the current directory', async () => { 176 | process.chdir('sample/tsconfig-jsx'); 177 | const code = await getCode( 'main.tsx'); 178 | 179 | const usage = code.indexOf( 'React.createElement("span", __assign({}, props), "Yo!")' ); 180 | assert.notEqual( usage, -1, 'should contain usage' ); 181 | }); 182 | 183 | it( 'should support extends property in tsconfig', async () => { 184 | process.chdir('sample/tsconfig-extends'); 185 | const code = await getCode( 'main.tsx'); 186 | 187 | const usage = code.indexOf( 'React.createElement("span", __assign({}, props), "Yo!")' ); 188 | assert.notEqual( usage, -1, 'should contain usage' ); 189 | }); 190 | 191 | it( 'allows specifying a path for tsconfig.json', async () => { 192 | const code = await getCode( 'sample/tsconfig-jsx/main.tsx', 193 | {tsconfig: path.resolve(__dirname, 'sample/tsconfig-jsx/tsconfig.json')}); 194 | 195 | const usage = code.indexOf( 'React.createElement("span", __assign({}, props), "Yo!")' ); 196 | assert.notEqual( usage, -1, 'should contain usage' ); 197 | }); 198 | 199 | it( 'throws if tsconfig cannot be found', async () => { 200 | let caughtError = null; 201 | try { 202 | await bundle( 'sample/tsconfig-jsx/main.tsx', {tsconfig: path.resolve(__dirname, 'does-not-exist.json')} ); 203 | } catch (error) { 204 | caughtError = error; 205 | } 206 | 207 | assert.ok(!!caughtError, 'Throws an error.'); 208 | assert.ok(caughtError.message.indexOf( 'Could not find specified tsconfig.json' ) !== -1, 209 | `Unexpected error message: ${caughtError.message}`); 210 | }); 211 | 212 | it('should throw on bad options', () => { 213 | return bundle('does-not-matter.ts', { 214 | foo: 'bar' 215 | }).then(() => { 216 | throw new Error('plugin did not throw'); 217 | }).catch(err => assert.equal(err.message, 'rollup-plugin-typescript: Couldn\'t process compiler options')); 218 | }); 219 | 220 | it( 'prevents errors due to conflicting `sourceMap`/`inlineSourceMap` options', () => { 221 | return bundle( 'sample/overriding-typescript/main.ts', { 222 | inlineSourceMap: true 223 | }); 224 | }); 225 | 226 | it ( 'should not fail if source maps are off', () => { 227 | return bundle( 'sample/overriding-typescript/main.ts', { 228 | inlineSourceMap: false, 229 | sourceMap: false 230 | }); 231 | }); 232 | 233 | it( 'does not include helpers in source maps', async () => { 234 | const bundled = await bundle( 'sample/dedup-helpers/main.ts', { 235 | sourceMap: true 236 | }); 237 | 238 | const map = getOutputFromGenerated(await bundled.generate({ 239 | format: 'es', 240 | sourcemap: true 241 | })).map; 242 | 243 | assert.ok( map.sources.every( source => source.indexOf( 'tslib' ) === -1) ); 244 | }); 245 | 246 | it( 'should allow a namespace containing a class', async () => { 247 | const MODE = (await evaluate('sample/export-namespace-export-class/test.ts')).MODE.MODE; 248 | const mode = new MODE(); 249 | 250 | assert.ok(mode instanceof MODE); 251 | }); 252 | 253 | it( 'should allow merging an exported function and namespace', async () => { 254 | const f = (await evaluate('sample/export-fodule/main.ts')).test; 255 | 256 | assert.equal(f(), 0); 257 | assert.equal(f.foo, "2"); 258 | }); 259 | 260 | it('supports dynamic imports', async () => { 261 | const code = await getCodeFromBundle(await rollup.rollup({ 262 | input: 'sample/dynamic-imports/main.ts', 263 | inlineDynamicImports: true, 264 | plugins: [typescript()] 265 | })); 266 | assert.notEqual( code.indexOf( 'console.log(\'dynamic\')' ), -1 ); 267 | }); 268 | 269 | it('supports CommonJS imports when the output format is CommonJS', async () => { 270 | const output = await evaluateBundle(await rollup.rollup({ 271 | input: 'sample/commonjs-imports/main.ts', 272 | plugins: [typescript({module: 'CommonJS'}), commonjs({extensions: ['.ts', '.js']})] 273 | })); 274 | assert.equal(output, 'exported from commonjs'); 275 | }); 276 | }); 277 | 278 | function fakeTypescript ( custom ) { 279 | return Object.assign({ 280 | transpileModule () { 281 | return { 282 | outputText: '', 283 | diagnostics: [], 284 | sourceMapText: JSON.stringify({ mappings: '' }) 285 | }; 286 | }, 287 | 288 | convertCompilerOptionsFromJson ( options ) { 289 | [ 290 | 'include', 291 | 'exclude', 292 | 'typescript', 293 | 'tslib', 294 | 'tsconfig' 295 | ].forEach( option => { 296 | if ( option in options ) { 297 | throw new Error( 'unrecognized compiler option "' + option + '"' ); 298 | } 299 | }); 300 | 301 | return { 302 | options, 303 | errors: [] 304 | }; 305 | } 306 | }, custom); 307 | } 308 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": [ 4 | "es6" 5 | ], 6 | "noImplicitAny": true, 7 | "noImplicitThis": true, 8 | "strict": true, 9 | "noEmit": true, 10 | "allowJs": true 11 | }, 12 | "files": [ 13 | "index.d.ts", 14 | "typings-test.js" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /typings-test.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import typescript from '.'; 3 | 4 | /** @type {import("rollup").RollupOptions} */ 5 | const config = { 6 | input: 'main.js', 7 | output: { 8 | file: 'bundle.js', 9 | format: 'iife' 10 | }, 11 | plugins: [ 12 | typescript({ 13 | lib: ["es5", "es6", "dom"], 14 | target: "es5", 15 | include: 'node_modules/**', 16 | exclude: ['node_modules/foo/**', 'node_modules/bar/**', /node_modules/], 17 | }) 18 | ] 19 | }; 20 | 21 | export default config; 22 | --------------------------------------------------------------------------------