commit 0762bde89e1fbe070abc3463aa56c7682ee7e8c8 Author: crusader Date: Wed Sep 5 19:01:59 2018 +0900 project initialized diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..a0be7a4 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,22 @@ +# top-most EditorConfig file +root = true + +# all files +[*] +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +max_line_length = 80 + +[*.{js,ts}] +quote_type = single +curly_bracket_next_line = false +spaces_around_brackets = inside +indent_brace_style = BSD KNF + +# HTML +[*.html] +quote_type = double diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b20265 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +*.log +.idea +.DS_Store +.cache +node_modules + +coverage +lib +esm5 +lib-esm +esm2015 +lib-fesm +fesm +umd +bundles +typings +types +docs +dist + +## this is generated by `npm pack` +*.tgz +package diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..6dc8762 --- /dev/null +++ b/.npmignore @@ -0,0 +1,32 @@ +.* +*.log + +# tools configs +**/tsconfig.json +tsconfig.*.json +tslint.json +**/webpack.config.js +**/jest.config.js +**/prettier.config.js + +# build scripts +config/ +scripts/ + +# Test files +**/*.spec.js +**/*.test.js +**/*.test.d.ts +**/*.spec.d.ts +__tests__ +coverage + +# Sources +node_modules +src +docs +examples + +## this is generated by `npm pack` +*.tgz +package diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..64d71ed --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +access=public +save-exact=true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..da9b102 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,7 @@ +bundles +esm5 +esm2015 +fesm +types +typings +dist diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a3aabc6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +language: node_js +node_js: '8' +cache: yarn +notifications: + email: false +install: + - yarn +script: + - yarn build diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..8b47b44 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,11 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + "eg2.tslint", + "esbenp.prettier-vscode", + "codezombiech.gitignore", + "EditorConfig.EditorConfig" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bed6d7e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,13 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "tslint.autoFixOnSave": true, + "tslint.enable": true, + "editor.formatOnSave": true, + "typescript.format.enable": false, + "javascript.format.enable": false, + "typescript.referencesCodeLens.enabled": true, + "javascript.referencesCodeLens.enabled": true, + "editor.rulers": [ + 80,100 + ], +} diff --git a/.yarnrc b/.yarnrc new file mode 100644 index 0000000..95b8581 --- /dev/null +++ b/.yarnrc @@ -0,0 +1 @@ +save-prefix false diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e69de29 diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..5d44fc2 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Martin Hochel + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..3a7c5b4 --- /dev/null +++ b/README.md @@ -0,0 +1,236 @@ +# Typescript lib starter + +[![Greenkeeper badge](https://badges.greenkeeper.io/Hotell/typescript-lib-starter.svg)](https://greenkeeper.io/) + +[![Build Status](https://travis-ci.org/Hotell/typescript-lib-starter.svg?branch=master)](https://travis-ci.org/Hotell/typescript-lib-starter) +[![NPM version](https://img.shields.io/npm/v/%40martin_hotell%2Ftypescript-lib-starter.svg)](https://www.npmjs.com/package/@martin_hotell/typescript-lib-starter) +![Downloads](https://img.shields.io/npm/dm/@martin_hotell/typescript-lib-starter.svg) +[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version) +[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier) +[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) + +This npm library starter: + +- creates package for both Node and Browser +- build will creates 4 standard "package" formats: + - `umd` 👉 UMD bundle for Node and Browser + > `main` field in package.json + - `esm5` 👉 transpiled files to ES5 + es2015 modules for tree shaking + > `module` field in package.json + - `esm2015` 👉 raw javascript files transpiled from typescript to latest ES standard ( es2018 ) + > `es2015` field in package.json + > + > this is useful if you wanna transpile everything or just wanna ship untranspiled esNext code for evergreen browsers) + - `fesm` 👉 experimental bundle type introduced by Angular team (TL;DR: it's an es2015 flattened bundle, like UMD but with latest ECMAscript and JS modules) +- type definitions are automatically generated and shipped with your package + - > `types` field in package.json +- `sideEffects` 👉 [support proper tree-shaking](https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free) for whole library ( Webpack >= 4). Turn this off or adjust as needed if your modules are not pure! + +## Start coding in 4 steps ! + +1. `git clone https://github.com/Hotell/typescript-lib-starter && cd $_` + +2. `rm -rf .git && git init` + +3. in `package.json` reset following fields: + +```diff +{ +- "name": "@next-gen/typescript-lib-starter", ++ "name": "{yourLibraryPackageName}", +- "version": "1.7.0", ++ "version": "1.0.0", +- "description": "TypeScript library setup for multiple compilation targets using tsc and webpack", ++ "description": "What is your library all about...", +- "author": "Martin Hochel", ++ "author": "{yourName}", +- "license": "MIT", ++ "license": "{yourLicense}", + "repository": { + "type": "git", +- "url": "https://www.github.com/Hotell/typescript-lib-starter" ++ "url": "https://www.github.com/{yourAccountName}/{yourLibraryPackageName}" + } +} +``` + +4. Install all dependencies `yarn install` + +Happy coding ! 🖖 + +## Consumption of published library: + +1. install it 🤖 + +```sh +yarn add my-new-library +# OR +npm install my-new-library +``` + +1. use it 💪 + +### Webpack + +> #### NOTE: +> +> Don't forget to turn off ES modules transpilation to enable tree-shaking! +> +> - babel: `{"modules": false}` +> - typescript: `{"module": "esnext"}` + +```ts +// main.ts or main.js +import { Greeter } from 'my-new-library' + +const mountPoint = document.getElementById('app') +const App = () => { + const greeter = new Greeter('Stranger') + return `

${greeter.greet()}

` +} +const render = (Root: Function, where: HTMLElement) => { + where.innerHTML = Root() +} + +render(App, mountPoint) +``` + +```html + + + + + + +
+ + +``` + +### UMD/ES2015 module aware browsers ( no bundler ) + +```html + + + + + + + +
+ + +``` + +## Publish your library + +> #### NOTE: +> +> you have to create npm account and register token on your machine +> 👉 `npm adduser` +> +> If you are using scope ( you definitely should 👌) don't forget to [`--scope`](https://docs.npmjs.com/cli/adduser#scope) + +Execute `yarn release` which will handle following tasks: + +- bump package version and git tag +- update/(create if it doesn't exist) CHANGELOG.md +- push to github master branch + push tags +- publish build packages to npm + +> **NOTE:** +> +> all package files are gonna be within `/dist` folder from where `npm publish` will be executed + +> releases are handled by awesome [standard-version](https://github.com/conventional-changelog/standard-version) + +### Initial Release (without bumping package.json version): + +`yarn release --first-release` + +### Pre-release + +- To get from `1.1.2` to `1.1.2-0`: + +`yarn release --prerelease` + +- **Alpha**: To get from `1.1.2` to `1.1.2-alpha.0`: + +`yarn release --prerelease alpha` + +- **Beta**: To get from `1.1.2` to `1.1.2-beta.0`: + +`yarn release --prerelease beta` + +### Dry run mode + +See what commands would be run, without committing to git or updating files + +`yarn release --dry-run` + +## Check what files are gonna be published to npm + +- `cd dist && yarn pack` OR `yarn release:preflight` which will create a tarball with everything that would get published to NPM + +## Check size of your published NPM bundle + +`yarn size` + +## Format and fix lint errors + +`yarn ts:style:fix` + +## Generate documentation + +`yarn docs` + +## Commit ( via commitizen ) + +- this is preferred way how to create conventional-changelog valid commits +- if you prefer your custom tool we provide a commit hook linter which will error out, it you provide invalid commit message +- if you are in rush and just wanna skip commit message validation just prefix your message with `WIP: something done` ( if you do this please squash your work when you're done with proper commit message so standard-version can create Changelog and bump version of your library appropriately ) + +`yarn commit` - will invoke [commitizen CLI](https://github.com/commitizen/cz-cli) + +### Troubleshooting + +#### dynamic `import()` + +This starter uses latest **TypeScript >=2.9** which has support for lazy loading chunks/modules via `import()` and also definition acquisition via [`import('../path-to-module').TypeFoo`](http://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-9.html#import-types) + +Before TS 2.9, it wasn't possible to properly generate ambient definitions if you used dynamic `import()`. This works now as expected without any hacks ❤️ ! + +--- + +> ### Before TS 2.9 +> +> Please note that if you wanna use that feature, compiler will complain because declaration generation is turned on, and currently TS can't handle type generation with types that will be loaded in the future ( lazily ) +> +> **How to solve this:** +> +> - turn of type checking and don't generate types for that lazy import: `import('./components/button') as any` +> - or you can use this [temporary workaround](https://github.com/Microsoft/TypeScript/issues/16603#issuecomment-310208259) diff --git a/config/global.d.ts b/config/global.d.ts new file mode 100644 index 0000000..5b6af9e --- /dev/null +++ b/config/global.d.ts @@ -0,0 +1,66 @@ +// ts-jest types require 'babel-core' +declare module 'babel-core' { + interface TransformOptions {} +} + +declare module 'jest-config' { + const defaults: jest.DefaultOptions +} + +declare module 'sort-object-keys' { + const sortPackageJson: ( + object: T, + sortWith?: (...args: any[]) => any + ) => T + export = sortPackageJson +} + +type RollupPluginFn = ( + options?: O +) => import('rollup').Plugin + +declare module 'rollup-plugin-json' { + export interface Options { + /** + * All JSON files will be parsed by default, but you can also specifically include/exclude files + */ + include?: string | string[] + exclude?: string | string[] + /** + * for tree-shaking, properties will be declared as variables, using either `var` or `const` + * @default false + */ + preferConst?: boolean + /** + * specify indentation for the generated default export — defaults to '\t' + * @default '\t' + */ + indent?: string + } + const plugin: RollupPluginFn + export default plugin +} +declare module 'rollup-plugin-sourcemaps' { + const plugin: RollupPluginFn + export default plugin +} +declare module 'rollup-plugin-node-resolve' { + const plugin: RollupPluginFn + export default plugin +} +declare module 'rollup-plugin-commonjs' { + const plugin: RollupPluginFn + export default plugin +} +declare module 'rollup-plugin-replace' { + const plugin: RollupPluginFn + export default plugin +} +declare module 'rollup-plugin-uglify' { + const uglify: RollupPluginFn + export { uglify } +} +declare module 'rollup-plugin-terser' { + const terser: RollupPluginFn + export { terser } +} diff --git a/config/helpers.js b/config/helpers.js new file mode 100644 index 0000000..e87f3e2 --- /dev/null +++ b/config/helpers.js @@ -0,0 +1,60 @@ +// helpers +module.exports = { + camelCaseToDash, + dashToCamelCase, + toUpperCase, + pascalCase, + normalizePackageName, + getOutputFileName, +} + +/** + * + * @param {string} myStr + */ +function camelCaseToDash(myStr) { + return myStr.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +} + +/** + * + * @param {string} myStr + */ +function dashToCamelCase(myStr) { + return myStr.replace(/-([a-z])/g, (g) => g[1].toUpperCase()) +} + +/** + * + * @param {string} myStr + */ +function toUpperCase(myStr) { + return `${myStr.charAt(0).toUpperCase()}${myStr.substr(1)}` +} + +/** + * + * @param {string} myStr + */ +function pascalCase(myStr) { + return toUpperCase(dashToCamelCase(myStr)) +} + +/** + * + * @param {string} rawPackageName + */ +function normalizePackageName(rawPackageName) { + const scopeEnd = rawPackageName.indexOf('/') + 1 + + return rawPackageName.substring(scopeEnd) +} + +/** + * + * @param {string} fileName + * @param {boolean?} isProd + */ +function getOutputFileName(fileName, isProd = false) { + return isProd ? fileName.replace(/\.js$/, '.min.js') : fileName +} diff --git a/config/jest.config.js b/config/jest.config.js new file mode 100644 index 0000000..d67d427 --- /dev/null +++ b/config/jest.config.js @@ -0,0 +1,43 @@ +// @ts-check + +const { defaults } = require('jest-config') + +/** + * @type {import('./types').TsJestConfig} + */ +const tsJestConfig = { + skipBabel: true, +} + +/** + * @type {Partial} + */ +const config = { + rootDir: '..', + transform: { + '^.+\\.(ts|tsx)$': 'ts-jest', + }, + testMatch: [ + '/src/**/__tests__/**/*.ts?(x)', + '/src/**/?(*.)+(spec|test).ts?(x)', + ], + moduleFileExtensions: [...defaults.moduleFileExtensions, 'ts', 'tsx'], + globals: { + 'ts-jest': tsJestConfig, + }, + coverageThreshold: { + global: { + branches: 80, + functions: 80, + lines: 80, + statements: 80, + }, + }, + setupFiles: ['/config/setup-tests.js'], + watchPlugins: [ + 'jest-watch-typeahead/filename', + 'jest-watch-typeahead/testname', + ], +} + +module.exports = config diff --git a/config/rollup.config.js b/config/rollup.config.js new file mode 100644 index 0000000..65e003e --- /dev/null +++ b/config/rollup.config.js @@ -0,0 +1,128 @@ +import { resolve } from 'path' +import sourceMaps from 'rollup-plugin-sourcemaps' +import nodeResolve from 'rollup-plugin-node-resolve' +import json from 'rollup-plugin-json' +import commonjs from 'rollup-plugin-commonjs' +import replace from 'rollup-plugin-replace' +import { uglify } from 'rollup-plugin-uglify' +import { terser } from 'rollup-plugin-terser' +import { getIfUtils, removeEmpty } from 'webpack-config-utils' + +import pkg from '../package.json' +const { + pascalCase, + normalizePackageName, + getOutputFileName, +} = require('./helpers') + +/** + * @typedef {import('./types').RollupConfig} Config + */ +/** + * @typedef {import('./types').RollupPlugin} Plugin + */ + +const env = process.env.NODE_ENV || 'development' +const { ifProduction } = getIfUtils(env) + +const LIB_NAME = pascalCase(normalizePackageName(pkg.name)) +const ROOT = resolve(__dirname, '..') +const DIST = resolve(ROOT, 'dist') + +/** + * @type {{entry:{esm5: string, esm2015: string},bundles:string}} + */ +const PATHS = { + entry: { + esm5: resolve(DIST, 'esm5'), + esm2015: resolve(DIST, 'esm2015'), + }, + bundles: resolve(DIST, 'bundles'), +} + +/** + * @type {string[]} + */ +const external = Object.keys(pkg.peerDependencies) || [] + +/** + * @type {Plugin[]} + */ +const plugins = /** @type {Plugin[]} */ ([ + // Allow json resolution + json(), + + // Allow bundling cjs modules (unlike webpack, rollup doesn't understand cjs) + commonjs(), + + // Allow node_modules resolution, so you can use 'external' to control + // which external modules to include in the bundle + // https://github.com/rollup/rollup-plugin-node-resolve#usage + nodeResolve(), + + // Resolve source maps to the original source + sourceMaps(), + + // properly set process.env.NODE_ENV within `./environment.ts` + replace({ + exclude: 'node_modules/**', + 'process.env.NODE_ENV': JSON.stringify(env), + }), +]) + +/** + * @type {Config} + */ +const CommonConfig = { + input: {}, + output: {}, + inlineDynamicImports: true, + // Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash') + external, +} + +/** + * @type {Config} + */ +const UMDconfig = { + ...CommonConfig, + input: resolve(PATHS.entry.esm5, 'index.js'), + output: { + file: getOutputFileName( + resolve(PATHS.bundles, 'index.umd.js'), + ifProduction() + ), + // file: getOutputFileName('dist/bundles/index.umd.js', ifProduction()), + format: 'umd', + name: LIB_NAME, + sourcemap: true, + }, + plugins: /** @type {Plugin[]} */ (removeEmpty([ + ...plugins, + ifProduction(uglify()), + ])), +} + +/** + * @type {Config} + */ +const FESMconfig = { + ...CommonConfig, + input: resolve(PATHS.entry.esm2015, 'index.js'), + output: [ + { + file: getOutputFileName( + resolve(PATHS.bundles, 'index.esm.js'), + ifProduction() + ), + format: 'es', + sourcemap: true, + }, + ], + plugins: /** @type {Plugin[]} */ (removeEmpty([ + ...plugins, + ifProduction(terser()), + ])), +} + +export default [UMDconfig, FESMconfig] diff --git a/config/setup-tests.js b/config/setup-tests.js new file mode 100644 index 0000000..c0c91c6 --- /dev/null +++ b/config/setup-tests.js @@ -0,0 +1,4 @@ +// add here any code that you wanna execute before tests like +// - polyfills +// - some custom code +// for more docs check see https://jestjs.io/docs/en/configuration.html#setupfiles-array diff --git a/config/tsconfig.json b/config/tsconfig.json new file mode 100644 index 0000000..0117857 --- /dev/null +++ b/config/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "strict": true, + "allowJs": true, + "checkJs": true, + "target": "es2017", + "module": "commonjs", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "noEmit": true + } +} \ No newline at end of file diff --git a/config/types.js b/config/types.js new file mode 100644 index 0000000..bbe72d1 --- /dev/null +++ b/config/types.js @@ -0,0 +1,30 @@ +export {} + +// ===== JEST ==== + +/** + * @typedef {import('ts-jest/dist/jest-types').TsJestConfig} TsJestConfig + */ + +// @TODO https://github.com/Microsoft/TypeScript/issues/24916 +/** + * @typedef {Partial} JestConfig + */ + +/** + * @typedef {typeof import('jest-config').defaults} JestDefaultConfig + */ + +// ==== PRETTIER ==== +/** + * @typedef {import('prettier').Options} PrettierConfig + */ + +// ==== ROLLUP ==== +/** + * @typedef {import('rollup').InputOptions & { output: import('rollup').OutputOptions | Array }} RollupConfig + */ + +/** + * @typedef {import('rollup').Plugin} RollupPlugin + */ diff --git a/package.json b/package.json new file mode 100644 index 0000000..15f7433 --- /dev/null +++ b/package.json @@ -0,0 +1,100 @@ +{ + "name": "@overflow/core-js", + "version": "0.0.1", + "description": "TypeScript library setup for multiple compilation targets using tsc and webpack", + "main": "./bundles/index.umd.js", + "module": "./esm5/index.js", + "es2015": "./esm2015/index.js", + "typings": "./types/index.d.ts", + "sideEffects": false, + "repository": { + "type": "git", + "url": "https://git.loafle.net/overflow/core-js.git" + }, + "publishConfig": { + "registry": "https://nexus.loafle.net/repository/npm-loafle/" + }, + "author": "loafle.com", + "license": "MIT", + "engines": { + "node": ">=8.5" + }, + "scripts": { + "cleanup": "shx rm -rf dist", + "prebuild": "yarn cleanup && yarn verify", + "build": "tsc && tsc --target es2018 --outDir dist/esm2015 && rollup -c config/rollup.config.js && rollup -c config/rollup.config.js --environment NODE_ENV:production", + "postbuild": "node scripts/copy.js && yarn size", + "docs": "typedoc -p . --theme minimal --target 'es6' --excludeNotExported --excludePrivate --ignoreCompilerErrors --exclude \"**/src/**/__tests__/*.*\" --out docs src/", + "test": "jest -c ./config/jest.config.js", + "test:watch": "yarn test -- --watch", + "test:coverage": "yarn test -- --coverage", + "test:ci": "yarn test -- --ci", + "validate-js": "tsc -p ./config && tsc -p ./scripts", + "verify": "yarn validate-js && yarn style && yarn test:ci", + "commit": "git-cz", + "style": "yarn lint", + "style:fix": "yarn format:fix && yarn lint:fix", + "lint": "tslint --project tsconfig.json --format codeFrame", + "lint:fix": "yarn lint -- --fix", + "prerelease": "yarn build", + "release": "standard-version", + "postrelease": "node scripts/copy.js && yarn release:git && yarn release:npm", + "release:git": "git push --no-verify --follow-tags origin master", + "release:npm": "cd dist && yarn publish", + "release:preflight": "cd dist && yarn pack", + "size": "yarn size:umd && yarn size:fesm", + "size:umd": "shx echo \"Gzipped+minified UMD bundle Size:\" && cross-var strip-json-comments --no-whitespace \"./dist/bundles/index.umd.min.js\" | gzip-size", + "size:fesm": "shx echo \"Gzipped+minified FESM bundle Size:\" && strip-json-comments --no-whitespace \"./dist/bundles/index.esm.min.js\" | gzip-size" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + }, + "validate-commit-msg": { + "types": "conventional-commit-types", + "maxSubjectLength": 120 + } + }, + "peerDependencies": { + "tslib": ">=1.9.0" + }, + "dependencies": { + "reflect-metadata": "^0.1.12" + }, + "devDependencies": { + "@types/chokidar": "^1.7.5", + "@types/jest": "^23.3.1", + "@types/json5": "^0.0.30", + "@types/node": "^8.10.4", + "@types/webpack-config-utils": "^2.3.0", + "awesome-typescript-loader": "^5.2.0", + "commitizen": "^2.10.1", + "cross-var": "^1.1.0", + "cz-conventional-changelog": "^2.1.0", + "gzip-size-cli": "^3.0.0", + "jest": "^23.5.0", + "jest-watch-typeahead": "^0.2.0", + "json5": "^2.0.1", + "lint-staged": "^7.2.2", + "rollup": "^0.65.0", + "rollup-plugin-commonjs": "^9.1.6", + "rollup-plugin-json": "^3.0.0", + "rollup-plugin-node-resolve": "^3.3.0", + "rollup-plugin-replace": "^2.0.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "rollup-plugin-terser": "^1.0.1", + "rollup-plugin-uglify": "^4.0.0", + "shx": "^0.3.2", + "sort-object-keys": "^1.1.2", + "standard-version": "^4.4.0", + "strip-json-comments-cli": "^1.0.1", + "ts-jest": "^23.1.4", + "tslib": "^1.9.3", + "tslint": "^5.11.0", + "tslint-config-standard": "^7.1.0", + "typedoc": "^0.12.0", + "typescript": "^2.9.2", + "validate-commit-msg": "^2.14.0", + "webpack-config-utils": "^2.3.0" + } +} \ No newline at end of file diff --git a/scripts/copy.js b/scripts/copy.js new file mode 100644 index 0000000..1a803bf --- /dev/null +++ b/scripts/copy.js @@ -0,0 +1,45 @@ +const { writeFileSync, copyFileSync } = require('fs') +const { resolve } = require('path') +const packageJson = require('../package.json') + +main() + +function main() { + const projectRoot = resolve(__dirname, '..') + const distPath = resolve(projectRoot, 'dist') + const distPackageJson = createDistPackageJson(packageJson) + + copyFileSync( + resolve(projectRoot, 'README.md'), + resolve(distPath, 'README.md') + ) + copyFileSync( + resolve(projectRoot, 'CHANGELOG.md'), + resolve(distPath, 'CHANGELOG.md') + ) + copyFileSync( + resolve(projectRoot, 'LICENSE.md'), + resolve(distPath, 'LICENSE.md') + ) + copyFileSync( + resolve(projectRoot, '.npmignore'), + resolve(distPath, '.npmignore') + ) + writeFileSync(resolve(distPath, 'package.json'), distPackageJson) +} + +/** + * @param {typeof packageJson} packageConfig + * @return {string} + */ +function createDistPackageJson(packageConfig) { + const { + devDependencies, + scripts, + engines, + config, + ...distPackageJson + } = packageConfig + + return JSON.stringify(distPackageJson, null, 2) +} diff --git a/scripts/migrate.js b/scripts/migrate.js new file mode 100644 index 0000000..096a600 --- /dev/null +++ b/scripts/migrate.js @@ -0,0 +1,221 @@ +/** + * Migrate Typescript-library-starter from 3. -> 4. + */ + +const JSON5 = require('json5') +const sortObjectByKeyNameList = require('sort-object-keys') +const { + writeFileSync, + copyFileSync, + readFileSync, + existsSync, + unlinkSync, +} = require('fs') +const { resolve, join } = require('path') +const starterPkg = require('../package.json') +const args = process.argv.slice(2) +const pathToProject = args[0] + +/** + * @typedef {typeof projectPkg} Pkg + */ + +if (!pathToProject) { + throw new Error( + 'you need provide relative path to package that uses ts-lib-starter!' + ) +} + +const ROOT = resolve(__dirname, '..') +const PACKAGE_ROOT = resolve(ROOT, pathToProject) + +main() + +function main() { + if (!existsSync(PACKAGE_ROOT)) { + throw new Error(`${PACKAGE_ROOT}, doesn't exists`) + } + + console.log('Migration initialized 👀') + + console.log('path to Package:', PACKAGE_ROOT) + + updatePackageJson() + updateTsConfig() + updateTsLintConfig() + updateConfigDir() + updateScriptsDir() + + console.log('DONE ✅') +} + +function updatePackageJson() { + const libPackagePkgPath = resolve(PACKAGE_ROOT, 'package.json') + + /** + * @type {typeof starterPkg} + */ + const libPackagePkg = JSON5.parse( + readFileSync(libPackagePkgPath, { encoding: 'utf-8' }) + ) + + /** + * @type {typeof starterPkg} + */ + const updatePkg = { + ...libPackagePkg, + main: starterPkg.main, + engines: { ...libPackagePkg.engines, ...starterPkg.engines }, + scripts: { ...libPackagePkg.scripts, ...starterPkg.scripts }, + peerDependencies: sortObjectByKeyNameList({ + ...libPackagePkg.peerDependencies, + ...starterPkg.peerDependencies, + }), + devDependencies: sortObjectByKeyNameList({ + ...starterPkg.devDependencies, + ...libPackagePkg.devDependencies, + }), + } + + removePackages(updatePkg.devDependencies) + writePackage(updatePkg) + + /** + * + * @param {{[packageName:string]:string}} devDependencies + */ + function removePackages(devDependencies) { + const depsToRemove = [ + '@types/uglifyjs-webpack-plugin', + '@types/webpack', + 'uglifyjs-webpack-plugin', + 'webpack', + 'webpack-cli', + // packages needed for this script + 'json5', + '@types/json5', + 'sort-object-keys', + ] + + depsToRemove.forEach( + (dependencyName) => delete devDependencies[dependencyName] + ) + } + + /** + * @param {typeof starterPkg} pkg + */ + function writePackage(pkg) { + const updatedLibPkgToWrite = JSON.stringify(pkg, null, 2) + writeFileSync(join(PACKAGE_ROOT, 'package.json'), updatedLibPkgToWrite) + + console.log('\n updated package.json:', updatedLibPkgToWrite, '\n') + } +} + +function updateTsConfig() { + /** + * @typedef {typeof import('../tsconfig.json')} TsConfig + */ + + const starterConfigPath = resolve(ROOT, 'tsconfig.json') + const libPackageConfigPath = resolve(PACKAGE_ROOT, 'tsconfig.json') + + /** + * @type {TsConfig} + */ + const starterConfig = JSON5.parse( + readFileSync(starterConfigPath, { encoding: 'utf-8' }) + ) + + /** + * @type {TsConfig} + */ + const libConfig = JSON5.parse( + readFileSync(libPackageConfigPath, { encoding: 'utf-8' }) + ) + + console.log('starter:', starterConfig) + console.log('library:', libConfig) + + console.log('==TS-Config:nothing updated==\n') +} + +function updateTsLintConfig() { + /** + * @typedef {typeof import('../tslint.json')} TsLintConfig + */ + + const starterConfigPath = resolve(ROOT, 'tslint.json') + const libPackageConfigPath = resolve(PACKAGE_ROOT, 'tslint.json') + + /** + * @type {TsLintConfig} + */ + const starterConfig = JSON5.parse( + readFileSync(starterConfigPath, { encoding: 'utf-8' }) + ) + + /** + * @type {TsLintConfig} + */ + const libConfig = JSON5.parse( + readFileSync(libPackageConfigPath, { encoding: 'utf-8' }) + ) + + console.log('starter:', starterConfig) + console.log('library:', libConfig) + + console.log('==TS-Lint:nothing updated==\n') +} + +function updateConfigDir() { + const starterConfigPathDir = resolve(ROOT, 'config') + const libPackageConfigPathDir = resolve(PACKAGE_ROOT, 'config') + + const filesToCopy = [ + 'global.d.ts', + 'helpers.js', + 'rollup.config.js', + 'tsconfig.json', + 'types.js', + ] + const filesToRemove = ['webpack.config.js'] + + filesToCopy.forEach((file) => { + copyFileSync( + resolve(starterConfigPathDir, file), + join(libPackageConfigPathDir, file) + ) + }) + + filesToRemove.forEach((file) => { + unlinkSync(join(libPackageConfigPathDir, file)) + }) + + console.log('==config/ updated==\n') +} + +function updateScriptsDir() { + const starterScriptsPathDir = resolve(ROOT, 'scripts') + const libPackageScriptsPathDir = resolve(PACKAGE_ROOT, 'scripts') + + const filesToCopy = ['copy.js', 'tsconfig.json'] + /** + * @type {string[]} + */ + const filesToRemove = [] + + filesToCopy.forEach((file) => { + copyFileSync( + resolve(starterScriptsPathDir, file), + join(libPackageScriptsPathDir, file) + ) + }) + + filesToRemove.forEach((file) => { + unlinkSync(join(libPackageScriptsPathDir, file)) + }) + + console.log('==scripts/ updated==\n') +} diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json new file mode 100644 index 0000000..e724c8d --- /dev/null +++ b/scripts/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../config/tsconfig.json", + "compilerOptions": {}, + "include": [ + ".", + "../config/global.d.ts" + ] +} diff --git a/src/__tests__/Greeter.spec.ts b/src/__tests__/Greeter.spec.ts new file mode 100644 index 0000000..61bac5d --- /dev/null +++ b/src/__tests__/Greeter.spec.ts @@ -0,0 +1,16 @@ +jest.mock('../environment.ts', () => ({ + IS_DEV: true, + IS_PROD: false, +})); + +describe(`Greeter`, () => { + + beforeEach(() => { + console.log(''); + }); + + it(`should greet`, () => { + console.log(''); + }); + +}); diff --git a/src/core/error.ts b/src/core/error.ts new file mode 100644 index 0000000..e1e727b --- /dev/null +++ b/src/core/error.ts @@ -0,0 +1,6 @@ +export class IllegalArgumentError extends Error { + public constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} diff --git a/src/core/index.ts b/src/core/index.ts new file mode 100644 index 0000000..ad66f68 --- /dev/null +++ b/src/core/index.ts @@ -0,0 +1,2 @@ +export * from './error'; +export * from './type'; diff --git a/src/core/type.ts b/src/core/type.ts new file mode 100644 index 0000000..c80ecad --- /dev/null +++ b/src/core/type.ts @@ -0,0 +1,16 @@ +export declare const Type: FunctionConstructor; +export declare function isType(v: any): v is Type; +export interface Type extends Function { + new (...args: any[]): T; +} + +export declare type IdentityType = T | symbol; +export declare type PropertyKeyType = IdentityType; +export declare type MetadataKeyType = IdentityType; + +export enum PrimitiveType { + ANY = 'any', + STRING = 'string', + NUMBER = 'number', + BOOLEAN = 'boolean', +} diff --git a/src/environment.ts b/src/environment.ts new file mode 100644 index 0000000..0fd66fe --- /dev/null +++ b/src/environment.ts @@ -0,0 +1,5 @@ +/** * @internal */ +export const IS_DEV = process.env.NODE_ENV === 'development'; + +/** * @internal */ +export const IS_PROD = process.env.NODE_ENV === 'production'; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..81129bf --- /dev/null +++ b/src/index.ts @@ -0,0 +1,3 @@ +export * from './core'; +export * from './reflect'; +export * from './util'; diff --git a/src/reflect/AccessibleObject.ts b/src/reflect/AccessibleObject.ts new file mode 100644 index 0000000..2150163 --- /dev/null +++ b/src/reflect/AccessibleObject.ts @@ -0,0 +1,65 @@ +import { + Type, +} from '../core'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { AnnotatedElement } from './AnnotatedElement'; +import { Annotation } from './Annotation'; + +export abstract class AccessibleObject implements AnnotatedElement { + private _annotations: Map, Annotation>; + + protected constructor() { + this._annotations = new Map(); + } + + public _addAnnotation(annotation: AnnotationType): void { + this._annotations.set(TypeUtil.getType(annotation), annotation); + } + + public isAnnotationPresent(annotationClass: Type): boolean { + return null !== this.getAnnotation(annotationClass); + } + + public getOwnAnnotation(annotationClass: Type): AnnotationType | undefined { + return this._annotations.get(annotationClass) as AnnotationType; + } + + public getOwnAnnotations(): Map, Annotation> { + return this._annotations; + } + + public getOwnAnnotationsByType(annotationClass: Type) + : AnnotationType[] | undefined { + if (0 === this._annotations.size) { + return undefined; + } + const results: AnnotationType[] = []; + for (const classType of Array.from(this._annotations.keys())) { + if (classType === annotationClass) { + results.push(this._annotations.get(classType) as AnnotationType); + } + } + if (0 === results.length) { + return undefined; + } + + return results; + } + + public getAnnotation(annotationClass: Type): AnnotationType | undefined { + return this.getOwnAnnotation(annotationClass); + } + + public getAnnotations(): Map, Annotation> { + return this.getOwnAnnotations(); + } + + public getAnnotationsByType(annotationClass: Type) + : AnnotationType[] | undefined { + return this.getOwnAnnotationsByType(annotationClass); + } +} diff --git a/src/reflect/AnnotatedElement.ts b/src/reflect/AnnotatedElement.ts new file mode 100644 index 0000000..e830e58 --- /dev/null +++ b/src/reflect/AnnotatedElement.ts @@ -0,0 +1,17 @@ +import { + Type, +} from '../core'; + +import { Annotation } from './Annotation'; + +export interface AnnotatedElement { + _addAnnotation(annotation: AnnotationType): void; + + isAnnotationPresent(annotationClass: Type): boolean; + getOwnAnnotation(annotationClass: Type): AnnotationType | undefined; + getOwnAnnotations(): Map, Annotation>; + getOwnAnnotationsByType(annotationClass: Type): AnnotationType[] | undefined; + getAnnotation(annotationClass: Type): AnnotationType | undefined; + getAnnotations(): Map, Annotation>; + getAnnotationsByType(annotationClass: Type): AnnotationType[] | undefined; +} diff --git a/src/reflect/Annotation.ts b/src/reflect/Annotation.ts new file mode 100644 index 0000000..ff26377 --- /dev/null +++ b/src/reflect/Annotation.ts @@ -0,0 +1,7 @@ +export abstract class Annotation { + public readonly attribute: Attribute | undefined; + + public constructor(attribute?: Attribute) { + this.attribute = attribute; + } +} diff --git a/src/reflect/Class.ts b/src/reflect/Class.ts new file mode 100644 index 0000000..29180d3 --- /dev/null +++ b/src/reflect/Class.ts @@ -0,0 +1,231 @@ +import { + PropertyKeyType, + Type, +} from '../core'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { AccessibleObject } from './AccessibleObject'; +import { Annotation } from './Annotation'; +import { SystemClassRegistry } from './ClassRegistry'; +import { Constructor } from './Constructor'; +import { Field } from './Field'; +import { Metadata } from './Metadata'; +import { Method } from './Method'; + +export class Class extends AccessibleObject { + private _type: Type; + private _constructor: Constructor | undefined; + private _fields: Map; + private _methods: Map; + + /** + * forClass + */ + public static forType(type: Type): Class | undefined { + return SystemClassRegistry.get(type); + } + + /** + * _defineClass + */ + public static _defineClass(type: Type): Class { + let clazz: Class | undefined = Class.forType(type); + if (undefined === clazz) { + clazz = new Class(type); + SystemClassRegistry.set(type, clazz); + } + + if (null === clazz._constructor) { + const parameterTypes = Metadata.getOwnParamTypes(type); + if (undefined !== parameterTypes) { + clazz._constructor = new Constructor(clazz, parameterTypes); + } + } + + return clazz; + } + + private constructor(type: Type) { + super(); + this._type = type; + this._fields = new Map(); + this._methods = new Map(); + } + + /** + * _defineField + */ + public _defineConstructor(parameterTypes: any[]): Constructor | null { + let cons: Constructor | undefined = this._constructor; + if (undefined === cons) { + cons = new Constructor(this, parameterTypes); + this._constructor = cons; + } + + return cons; + } + + /** + * _defineField + */ + public _defineField(propertyKey: PropertyKeyType, propertyType: any): Field { + let field: Field | undefined = this._fields.get(propertyKey); + if (undefined === field) { + field = new Field(this, propertyKey, propertyType); + this._fields.set(propertyKey, field); + } + + return field; + } + + /** + * _defineMethod + */ + public _defineMethod(propertyKey: PropertyKeyType, parameterTypes: any[], returnType: any): Method { + let method: Method | undefined = this._methods.get(propertyKey); + if (undefined === method) { + method = new Method(this, propertyKey, parameterTypes, returnType); + this._methods.set(propertyKey, method); + } + + return method; + } + + public getType(): Type { + return this._type; + } + + public getConstructor(): Constructor { + if (undefined === this._constructor) { + this._constructor = new Constructor(this, undefined); + } + + return this._constructor; + } + + public getOwnField(propertyKey: PropertyKeyType): Field | undefined { + return this._fields.get(propertyKey); + } + + public getOwnFields(): Map { + return this._fields; + } + + public getField(propertyKey: PropertyKeyType): Field | undefined { + const fields = this.getFields(); + + return fields.get(propertyKey); + } + + public getFields(): Map { + const fields: Map = new Map(); + + const types = TypeUtil.ancestorsOf(this._type); + if (null === types || 0 === types.length) { + return fields; + } + for (let i = 0; i < types.length; i++) { + const tType = types[i]; + const tClazz = Class.forType(tType); + if (undefined === tClazz) { + continue; + } + + tClazz.getOwnFields().forEach((value: Field, key: PropertyKeyType): void => { + fields.set(key, value); + }); + } + + return fields; + } + + public getOwnMethod(propertyKey: PropertyKeyType): Method | undefined { + return this._methods.get(propertyKey); + } + + public getOwnMethods(): Map { + return this._methods; + } + + public getMethod(propertyKey: PropertyKeyType): Method | undefined { + const methods = this.getMethods(); + + return methods.get(propertyKey); + } + + public getMethods(): Map { + const methods: Map = new Map(); + + const types = TypeUtil.ancestorsOf(this._type); + if (null === types || 0 === types.length) { + return methods; + } + for (let i = 0; i < types.length; i++) { + const tClazzType = types[i]; + const tClazz = Class.forType(tClazzType); + if (undefined === tClazz) { + continue; + } + + tClazz.getOwnMethods().forEach((value: Method, key: PropertyKeyType): void => { + methods.set(key, value); + }); + } + + return methods; + } + + public getAnnotation(annotationClass: Type): AnnotationType | undefined { + const annotations = this.getAnnotations(); + + return annotations.get(annotationClass) as AnnotationType; + } + + public getAnnotations(): Map, Annotation> { + const annotations: Map, Annotation> = new Map(); + + const types = TypeUtil.ancestorsOf(this._type); + if (null === types || 0 === types.length) { + return annotations; + } + for (let i = 0; i < types.length; i++) { + const tClazzType = types[i]; + const tClazz = Class.forType(tClazzType); + if (undefined === tClazz) { + continue; + } + + tClazz.getOwnAnnotations().forEach((value: Annotation, key: Type): void => { + annotations.set(key, value); + }); + } + + return annotations; + } + + public getAnnotationsByType(annotationClass: Type) + : AnnotationType[] | undefined { + const annotations = this.getAnnotations(); + if (0 === annotations.size) { + return undefined; + } + const results: AnnotationType[] = []; + for (const classType of Array.from(annotations.keys())) { + if (classType === annotationClass) { + results.push(annotations.get(classType) as AnnotationType); + } + } + if (0 === results.length) { + return undefined; + } + + return results; + } + + public getName(): string { + return this._type.name; + } +} diff --git a/src/reflect/ClassRegistry.ts b/src/reflect/ClassRegistry.ts new file mode 100644 index 0000000..61a9682 --- /dev/null +++ b/src/reflect/ClassRegistry.ts @@ -0,0 +1,12 @@ +import { Type } from '../core'; +import { Registry } from '../util/Registry'; + +import { Class } from './Class'; + +export class ClassRegistry extends Registry, Class> { + public constructor(parent?: ClassRegistry) { + super(parent); + } +} + +export const SystemClassRegistry = new ClassRegistry(); diff --git a/src/reflect/Constructor.ts b/src/reflect/Constructor.ts new file mode 100644 index 0000000..50dc52b --- /dev/null +++ b/src/reflect/Constructor.ts @@ -0,0 +1,23 @@ +// import { +// TypeUtil, +// } from '../util/TypeUtil'; + +import { Class } from './Class'; +import { Executable } from './Executable'; + +export class Constructor extends Executable { + // private _rawConstructor: Function; + + public constructor(declaringClazz: Class, parameterTypes?: any[]) { + super(declaringClazz, CONSTRUCTOR_NAME, parameterTypes); + // this._rawConstructor = TypeUtil.getPrototype(declaringClazz.getType())[CONSTRUCTOR_NAME]; + } + + public newInstance(...args: any[]): any { + const ctor = this.getDeclaringClass().getType(); + + return new (ctor.bind.apply(ctor, [null].concat(args)))(); + } +} + +const CONSTRUCTOR_NAME = 'constructor'; diff --git a/src/reflect/Executable.ts b/src/reflect/Executable.ts new file mode 100644 index 0000000..c6ef735 --- /dev/null +++ b/src/reflect/Executable.ts @@ -0,0 +1,77 @@ +import { + PropertyKeyType, +} from '../core'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { AccessibleObject } from './AccessibleObject'; +import { Class } from './Class'; +import { Member } from './Member'; +import { Parameter } from './Parameter'; + +export abstract class Executable extends AccessibleObject implements Member { + private _clazz: Class; + private _name: PropertyKeyType; + private _parameters: Parameter[]; + + protected constructor(declaringClazz: Class, name: PropertyKeyType, parameterTypes?: any[]) { + super(); + + this._clazz = declaringClazz; + this._name = name; + this._parameters = []; + + if (undefined === parameterTypes) { + return; + } + + const parameterNames = TypeUtil.getParameterNames(declaringClazz.getType(), name); + + for (let i = 0; i < parameterTypes.length; i++) { + const parameterType = parameterTypes[i]; + const parameterName = parameterNames[i]; + const parameter: Parameter = new Parameter(this, parameterType, parameterName, i); + this._parameters.push(parameter); + } + } + + public getDeclaringClass(): Class { + return this._clazz; + } + + public getName(): PropertyKeyType { + return this._name; + } + + /** + * getParameterCount + */ + public getParameterCount(): number { + if (null === this._parameters) { + return 0; + } + + return this._parameters.length; + } + /** + * getParameters + */ + public getParameters(): Parameter[] | undefined { + return this._parameters; + } + /** + * getParameter + */ + public getParameter(index: number): Parameter | undefined { + if (null === this._parameters) { + return undefined; + } + if (0 > index || this._parameters.length <= index) { + return undefined; + } + + return this._parameters[index]; + } +} diff --git a/src/reflect/Field.ts b/src/reflect/Field.ts new file mode 100644 index 0000000..13ff9d3 --- /dev/null +++ b/src/reflect/Field.ts @@ -0,0 +1,33 @@ +import { + PropertyKeyType, +} from '../core'; + +import { AccessibleObject } from './AccessibleObject'; +import { Class } from './Class'; +import { Member } from './Member'; + +export class Field extends AccessibleObject implements Member { + private _clazz: Class; + private _name: PropertyKeyType; + private _type: any; + + public constructor(declaringClazz: Class, name: PropertyKeyType, fieldType: any) { + super(); + this._clazz = declaringClazz; + this._name = name; + this._type = fieldType; + } + + public getDeclaringClass(): Class { + return this._clazz; + } + + public getName(): PropertyKeyType { + return this._name; + } + + public getType(): any { + return this._type; + } + +} diff --git a/src/reflect/Member.ts b/src/reflect/Member.ts new file mode 100644 index 0000000..f3957f0 --- /dev/null +++ b/src/reflect/Member.ts @@ -0,0 +1,10 @@ +import { + PropertyKeyType, +} from '../core'; + +import { Class } from './Class'; + +export interface Member { + getDeclaringClass(): Class; + getName(): PropertyKeyType; +} diff --git a/src/reflect/Metadata.ts b/src/reflect/Metadata.ts new file mode 100644 index 0000000..881df21 --- /dev/null +++ b/src/reflect/Metadata.ts @@ -0,0 +1,531 @@ +import { + MetadataKeyType, + PropertyKeyType, +} from '../core'; + +import { TypeUtil } from '../util/TypeUtil'; + +export class Metadata { + /** + * Gets the metadata value for the provided metadata key on the target object or its prototype chain. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.get("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.get("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.get("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.get("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.get("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static get(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): any; + public static get(key: MetadataKeyType, target: any, propertyKey: PropertyKeyType): any { + return Reflect.getMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Gets the metadata value for the provided metadata key on the target object or its prototype chain. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.getOwn("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.getOwn("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.getOwn("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.getOwn("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.getOwn("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static getOwn(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): any; + public static getOwn(key: MetadataKeyType, target: any, propertyKey: PropertyKeyType): any { + return Reflect.getOwnMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_TYPE on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getType(Example); + * + * // property (on constructor) + * result = Metadata.getType(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getType(Example, "staticMethod"); + * ``` + * + */ + public static getType(target: any, propertyKey?: PropertyKeyType): any; + public static getType(target: any, propertyKey: PropertyKeyType): any { + return Reflect.getMetadata(DESIGN_TYPE, target, propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_TYPE on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getOwnType(Example); + * + * // property (on constructor) + * result = Metadata.getOwnType(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getOwnType(Example, "staticMethod"); + * ``` + * + */ + public static getOwnType(target: any, propertyKey?: PropertyKeyType): any; + public static getOwnType(target: any, propertyKey: PropertyKeyType): any { + return Reflect.getMetadata(DESIGN_TYPE, target, propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_RETURN_TYPE on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getReturnType(Example); + * + * // property (on constructor) + * result = Metadata.getReturnType(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getReturnType(Example, "staticMethod"); + * ``` + * + */ + public static getReturnType(target: any, propertyKey?: PropertyKeyType): any; + public static getReturnType(target: any, propertyKey: PropertyKeyType): any { + return Reflect.getMetadata(DESIGN_RETURN_TYPE, target, propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_RETURN_TYPE on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getOwnReturnType(Example); + * + * // property (on constructor) + * result = Metadata.getOwnReturnType(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getOwnReturnType(Example, "staticMethod"); + * ``` + * + */ + public static getOwnReturnType(target: any, propertyKey?: PropertyKeyType): any; + public static getOwnReturnType(target: any, propertyKey: PropertyKeyType): any { + return Reflect.getOwnMetadata(DESIGN_RETURN_TYPE, target, propertyKey); + } + + /** + * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.has("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.has("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.has("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.has("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.has("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static has(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): boolean; + public static has(key: MetadataKeyType, target: any, propertyKey: PropertyKeyType): boolean { + return Reflect.hasMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.has("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.hasOwn("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.hasOwn("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.hasOwn("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.hasOwn("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static hasOwn(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): boolean; + public static hasOwn(key: MetadataKeyType, target: any, propertyKey: PropertyKeyType): boolean { + return Reflect.hasOwnMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Deletes the metadata entry from the target object with the provided key. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns `true` if the metadata entry was found and deleted; otherwise, false. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.delete("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.delete("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.delete("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.delete("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.delete("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static delete(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): boolean; + public static delete(key: MetadataKeyType, target: any, propertyKey: PropertyKeyType): boolean { + return Reflect.deleteMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Set the metadata value for the provided metadata DESIGN_PARAM_TYPES on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @param value A value that contains attached metadata. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.setParamTypes(Example, undefined, [Object]); + * + * // property (on constructor) + * result = Metadata.setParamTypes(Example, "staticProperty", [Object]); + * + * // property (on prototype) + * result = Metadata.setParamTypes(Example.prototype, "property", [Object]); + * + * // method (on constructor) + * result = Metadata.setParamTypes(Example, "staticMethod", [Object]); + * + * // method (on prototype) + * result = Metadata.setParamTypes(Example.prototype, "method", [Object]); + * ``` + * + */ + public static setParamTypes(target: any, propertyKey: PropertyKeyType, value: any): void { + return this.set(DESIGN_PARAM_TYPES, value, target.prototype, propertyKey); + } + + /** + * Get all metadata for a metadataKey. + * @param metadataKey + */ + public static getTargetsFromPropertyKey = (metadataKey: MetadataKeyType): any[] => + PROPERTIES.has(metadataKey) ? PROPERTIES.get(metadataKey) || [] : [] + + /** + * Define a unique metadata entry on the target. + * @param key A key used to store and retrieve metadata. + * @param value A value that contains attached metadata. + * @param target The target object on which to define metadata. + * @param propertyKey The property key for the target. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * Reflect.defineMetadata("custom:annotation", options, Example); + * + * // property (on constructor) + * Reflect.defineMetadata("custom:annotation", Number, Example, "staticProperty"); + * + * // property (on prototype) + * Reflect.defineMetadata("custom:annotation", Number, Example.prototype, "property"); + * + * // method (on constructor) + * Reflect.defineMetadata("custom:annotation", Number, Example, "staticMethod"); + * + * // method (on prototype) + * Reflect.defineMetadata("custom:annotation", Number, Example.prototype, "method"); + * + * // decorator factory as metadata-producing annotation. + * function MyAnnotation(options): PropertyDecorator { + * return (target, key) => Reflect.defineMetadata("custom:annotation", options, target, key); + * } + * ``` + * + */ + public static set(key: MetadataKeyType, value: any, target: any, propertyKey?: PropertyKeyType): void; + public static set(key: MetadataKeyType, value: any, target: any, propertyKey: PropertyKeyType): void { + + const targets: any[] = PROPERTIES.has(key) ? PROPERTIES.get(key) || [] : []; + const classConstructor = TypeUtil.getType(target); + + if (targets.indexOf(classConstructor) === -1) { + targets.push(classConstructor); + PROPERTIES.set(key, targets); + } + + Reflect.defineMetadata(key, value, TypeUtil.getType(target), propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_PARAM_TYPES on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getParamTypes(Example); + * + * // property (on constructor) + * result = Metadata.getParamTypes(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getParamTypes(Example, "staticMethod"); + * ``` + * + */ + public static getParamTypes(target: any, propertyKey?: PropertyKeyType): any[]; + public static getParamTypes(target: any, propertyKey: PropertyKeyType): any[] { + return Reflect.getMetadata(DESIGN_PARAM_TYPES, target, propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_PARAM_TYPES on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getParamTypes(Example); + * + * // property (on constructor) + * result = Metadata.getParamTypes(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getParamTypes(Example, "staticMethod"); + * ``` + * + */ + public static getOwnParamTypes(target: any, propertyKey?: PropertyKeyType): any[]; + public static getOwnParamTypes(target: any, propertyKey: PropertyKeyType): any[] { + return Reflect.getOwnMetadata(DESIGN_PARAM_TYPES, target, propertyKey); + } +} + +/** + * Metadata key + * @private + * @type {string} + */ +const DESIGN_PARAM_TYPES = 'design:paramtypes'; +/** + * Metadata key + * @private + * @type {string} + */ +const DESIGN_TYPE = 'design:type'; +/** + * Metadata key + * @private + * @type {string} + */ +const DESIGN_RETURN_TYPE = 'design:returntype'; +/** + * Properties collections + * @private + * @type {string} + */ +const PROPERTIES: Map = new Map(); diff --git a/src/reflect/Method.ts b/src/reflect/Method.ts new file mode 100644 index 0000000..0026ba9 --- /dev/null +++ b/src/reflect/Method.ts @@ -0,0 +1,29 @@ +import { + PropertyKeyType, +} from '../core'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { Class } from './Class'; +import { Executable } from './Executable'; + +export class Method extends Executable { + private _returnType: any; + private _rawMethod: Function; + + public constructor(declaringClazz: Class, name: PropertyKeyType, parameterTypes: any[], returnType: any) { + super(declaringClazz, name, parameterTypes); + this._returnType = returnType; + this._rawMethod = TypeUtil.getPrototype(declaringClazz.getType())[name]; + } + + public getReturnType(): any { + return this._returnType; + } + + public invoke(instance: Object, ...args: any[]): any { + return this._rawMethod.apply(instance, args); + } +} diff --git a/src/reflect/Parameter.ts b/src/reflect/Parameter.ts new file mode 100644 index 0000000..19d515a --- /dev/null +++ b/src/reflect/Parameter.ts @@ -0,0 +1,33 @@ +import { AccessibleObject } from './AccessibleObject'; +import { Executable } from './Executable'; + +export class Parameter extends AccessibleObject { + private _executable: Executable; + private _type: any; + private _index: number; + private _name: string; + + public constructor(executable: Executable, parameterType: any, name: string, index: number) { + super(); + this._executable = executable; + this._type = parameterType; + this._name = name; + this._index = index; + } + + public getDeclaringExecutable(): Executable { + return this._executable; + } + + public getType(): any { + return this._type; + } + + public getName(): string { + return this._name; + } + + public getIndex(): number { + return this._index; + } +} diff --git a/src/reflect/index.ts b/src/reflect/index.ts new file mode 100644 index 0000000..0dbbe0f --- /dev/null +++ b/src/reflect/index.ts @@ -0,0 +1,12 @@ +export * from './AccessibleObject'; +export * from './AnnotatedElement'; +export * from './Annotation'; +export * from './Class'; +export * from './Constructor'; + +export * from './Executable'; +export * from './Field'; +export * from './Member'; +export * from './Metadata'; +export * from './Method'; +export * from './Parameter'; diff --git a/src/util/AnnotationUtil.ts b/src/util/AnnotationUtil.ts new file mode 100644 index 0000000..c16579a --- /dev/null +++ b/src/util/AnnotationUtil.ts @@ -0,0 +1,38 @@ +import { Type } from '../core'; +import { Annotation, Class } from '../reflect'; + +export abstract class AnnotationUtils { + public static hasAnnotation(type: Type, annotationClass: Type): boolean { + const annotation = AnnotationUtils.getAnnotation(type, annotationClass); + if (undefined !== annotation) { + return true; + } + + return false; + } + + public static getAnnotation(type: Type, annotationClass: Type): T | undefined { + const clazz = Class.forType(type); + if (undefined === clazz) { + return undefined; + } + + const annotations = clazz.getAnnotations(); + if (0 === annotations.size) { + return undefined; + } + + for (const annonClassType of Array.from(annotations.keys())) { + if (annonClassType === annotationClass) { + return annotations.get(annonClassType) as T; + } + const annotation = AnnotationUtils.getAnnotation(annonClassType, annotationClass); + if (undefined !== annotation) { + return annotation; + } + } + + return undefined; + } + +} diff --git a/src/util/Registry.ts b/src/util/Registry.ts new file mode 100644 index 0000000..24b94de --- /dev/null +++ b/src/util/Registry.ts @@ -0,0 +1,68 @@ +export abstract class Registry { + private _parent: Registry | undefined; + private _map: Map; + + protected constructor(parent?: Registry) { + this._parent = parent; + this._map = new Map(); + } + + public get parent(): Registry | undefined { + return this._parent; + } + + public get size(): number { + return this._map.size; + } + + public get(key: K): V | undefined { + let v = this._map.get(key); + if (undefined === v && undefined !== this._parent) { + v = this._parent.get(key); + } + + return v; + } + + public has(key: K): boolean { + let exist = this._map.has(key); + if (!exist && undefined !== this._parent) { + exist = this._parent.has(key); + } + + return exist; + } + + public set(key: K, value: V): void { + this._map.set(key, value); + } + + public entries(): IterableIterator<[K, V]> { + return this._map.entries(); + } + + public keys(): IterableIterator { + return this._map.keys(); + } + + public values(): IterableIterator { + return this._map.values(); + } + + public clear(): void { + this._map.clear(); + } + + public delete(key: K): boolean { + let result = this._map.delete(key); + if (!result && undefined !== this._parent) { + result = this._parent.delete(key); + } + + return result; + } + + public forEach(callback: (vlaue: V, key: K, map: Map) => void, thisArg?: any): void { + this._map.forEach(callback, thisArg); + } +} diff --git a/src/util/TypeUtil.ts b/src/util/TypeUtil.ts new file mode 100644 index 0000000..a1467b2 --- /dev/null +++ b/src/util/TypeUtil.ts @@ -0,0 +1,414 @@ +import { + PrimitiveType, + PropertyKeyType, + Type, +} from '../core'; + +export class TypeUtil { + /** + * Get the provide constructor. + * @param target + */ + public static getContructor(target: any): Type { + return typeof target === 'function' ? target : target.constructor; + } + + /** + * Get the provide constructor if target is an instance. + * @param target + * @returns {*} + */ + public static getType(target: any): Type { + return target.prototype ? target : target.constructor; + } + + /** + * Get the provide prototype if target is an instance. + * @param target + * @returns {*} + */ + public static getPrototype(target: any): Object { + return typeof target === 'function' ? target.prototype : target; + } + + /** + * + * @param target + * @returns {symbol} + */ + public static getTypeOrSymbol(target: any): any { + return typeof target === 'symbol' ? target : TypeUtil.getType(target); + } + + /** + * Return true if the given obj is a primitive. + * @param target + * @returns {boolean} + */ + public static isPrimitiveOrPrimitiveType(target: any): boolean { + return TypeUtil.isString(target) + || TypeUtil.isNumber(target) + || TypeUtil.isBoolean(target); + } + + /** + * + * @param target + * @returns {PrimitiveType} + */ + public static primitiveOf(target: any): PrimitiveType { + if (TypeUtil.isString(target)) { + return PrimitiveType.STRING; + } + if (TypeUtil.isNumber(target)) { + return PrimitiveType.NUMBER; + } + if (TypeUtil.isBoolean(target)) { + return PrimitiveType.BOOLEAN; + } + + return PrimitiveType.ANY; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isString(target: any): boolean { + return typeof target === 'string' || target instanceof String || target === String; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isNumber(target: any): boolean { + return typeof target === 'number' || target instanceof Number || target === Number; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isBoolean(target: any): boolean { + return typeof target === 'boolean' || target instanceof Boolean || target === Boolean; + } + + /** + * + * @param target + * @returns {Boolean} + */ + public static isArray(target: any): boolean { + return Array.isArray(target); + } + + /** + * Return true if the clazz is an array. + * @param target + * @returns {boolean} + */ + public static isArrayOrArrayType(target: any): boolean { + if (target === Array) { + return true; + } + + return TypeUtil.isArray(target); + } + + /** + * Return true if the target. + * @param target + * @returns {boolean} + */ + public static isCollection(target: any): boolean { + return TypeUtil.isArrayOrArrayType(target) + || target === Map + || target instanceof Map + || target === Set + || target instanceof Set + || target === WeakMap + || target instanceof WeakMap + || target === WeakSet + || target instanceof WeakSet; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isDate(target: any): boolean { + return target === Date || target instanceof Date; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isMethod(target: any, propertyKey: PropertyKeyType): boolean { + if (typeof(target[propertyKey]) === undefined) { + return false; + } + + return typeof target[propertyKey] === 'function'; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isObject(target: any): boolean { + return target === Object; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isType(target: any): boolean { + return !TypeUtil.isPrimitiveOrPrimitiveType(target) + && !TypeUtil.isObject(target) + && !TypeUtil.isDate(target) + && target !== undefined + && !TypeUtil.isPromise(target); + } + + /** + * Return true if the value is an empty string, null or undefined. + * @param value + * @returns {boolean} + */ + public static isEmpty(value: any): boolean { + return value === '' || value === null || value === undefined; + } + + /** + * Get object name + */ + public static nameOf(obj: any): string { + switch (typeof obj) { + default: + return '' + obj; + case 'symbol': + return TypeUtil.nameOfSymbol(obj); + case 'function': + return TypeUtil.nameOfType(obj); + } + } + + /** + * Get the provide name. + * @param target + */ + public static nameOfType(target: any): string { + return typeof target === 'function' + ? target.name + : target.constructor.name; + } + /** + * Get symbol name. + * @param sym + */ + public static nameOfSymbol(sym: symbol): string { + return sym.toString().replace('Symbol(', '').replace(')', ''); + } + /** + * + * @param out + * @param obj + * @param {{[p: string]: (collection: any[], value: any) => any}} reducers + * @returns {any} + */ + public static deepExtends(out: any, obj: any, reducers: { [key: string]: (collection: any[], value: any) => any } = {}): any { + + if (obj === undefined || obj === null) { + return obj; + } + + if (TypeUtil.isPrimitiveOrPrimitiveType(obj) || typeof obj === 'symbol' || typeof obj === 'function') { + return obj; + } + + if (TypeUtil.isArrayOrArrayType(obj)) { + out = out || []; + } else { + out = out || {}; + } + + const defaultReducer = reducers.default ? reducers.default : (collection: any[], value: any) => { + collection.push(value); + + return collection; + }; + const set = (key: string | number, value: any) => { + if (TypeUtil.isArrayOrArrayType(obj)) { + out.push(value); + } else { + out[key] = value; + } + }; + + Object.keys(obj).forEach(key => { + let value = obj[key]; + + if (value === undefined || value === null) { + return; + } + + if (value === '' && out[key] !== '') { + return; + } + + if (TypeUtil.isPrimitiveOrPrimitiveType(value) || typeof value === 'function') { + set(key, value); + + return; + } + + if (TypeUtil.isArrayOrArrayType(value)) { + + value = value.map((v: any) => TypeUtil.deepExtends(undefined, v)); + + set(key, [] + .concat(out[key] || [], value) + .reduce((collection: any[], v: any) => + reducers[key] ? reducers[key](collection, v) : defaultReducer(collection, v), + [])); + + return; + } + + // Object + if (TypeUtil.isArrayOrArrayType(obj)) { + set(key, TypeUtil.deepExtends(undefined, value, reducers)); + } else { + set(key, TypeUtil.deepExtends(out[key], value, reducers)); + } + }); + + if (TypeUtil.isArrayOrArrayType(out)) { + out.reduce((collection: any[], value: any) => defaultReducer(collection, value), []); + } + + return out; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isPromise(target: any): boolean { + return target === Promise || target instanceof Promise; + } + + /** + * + * @param target + * @returns {any} + */ + public static getInheritedType(target: Type): Type { + return Object.getPrototypeOf(target); + } + + /** + * + * @param target + * @param {PropertyKeyType} propertyKey + * @returns {PropertyDescriptor} + */ + public static descriptorOf(target: any, propertyKey: PropertyKeyType): PropertyDescriptor | undefined { + return Object.getOwnPropertyDescriptor(target && target.prototype || target, propertyKey); + } + + /** + * + * @param target + * @param {PropertyKeyType} propertyKey + * @returns {string[]} + */ + public static getParameterNames(target: any, propertyKey: PropertyKeyType): string[] { + const rawType = TypeUtil.getPrototype(target); + const fn: Function = rawType[propertyKey]; + + const code = fn.toString() + .replace(COMMENTS, '') + .replace(FAT_ARROWS, '') + .replace(DEFAULT_PARAMS, ''); + + const result = code.slice(code.indexOf('(') + 1, code.indexOf(')')).match(/([^\s,]+)/g); + + return result === null + ? [] + : result; + } + + /** + * + * @param target + * @returns {Array} + */ + public static ancestorsOf(target: Type): Type[] { + const classes: Type[] = []; + + let currentTarget = TypeUtil.getType(target); + + while (TypeUtil.nameOf(currentTarget) !== '') { + classes.unshift(currentTarget); + currentTarget = TypeUtil.getInheritedType(currentTarget); + } + + return classes; + } + + /** + * + * @param target + * @param {string} name + * @param {Function} callback + */ + public static applyBefore(target: any, name: string, callback: Function): void { + const original = target[name]; + target[name] = function (...args: any[]): any { + callback(...args); + + return original.apply(target, args); + }; + } + + /** + * + * @param {Promise} promise + * @param {number} time + * @returns {Promise} + */ + public static promiseTimeout(promise: Promise, time = 1000): Promise<{ ok: boolean, response: any }> { + const timeout = (p: Promise, t: number) => new Promise((resolve) => { + p.then((response) => { + resolve(); + + return response; + }); + setTimeout(() => resolve({ ok: false }), t); + }); + + promise = promise.then((response) => ({ ok: true, response })); + + return Promise.race([ + promise, + timeout(promise, time), + ]); + } + +} + +const COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; +const DEFAULT_PARAMS = /=[^,]+/mg; +const FAT_ARROWS = /=>.*$/mg; diff --git a/src/util/index.ts b/src/util/index.ts new file mode 100644 index 0000000..d289752 --- /dev/null +++ b/src/util/index.ts @@ -0,0 +1,3 @@ +export * from './AnnotationUtil'; +export * from './Registry'; +export * from './TypeUtil'; \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..78b0be7 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,36 @@ +{ + "compilerOptions": { + "moduleResolution": "node", + "module": "esnext", + "target": "es5", + "types": [ + "reflect-metadata", + ], + "lib": [ + "dom", + "es2018" + ], + "strict": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "suppressImplicitAnyIndexErrors": true, + "forceConsistentCasingInFileNames": true, + "sourceMap": true, + "outDir": "dist/esm5", + "declaration": true, + "declarationDir": "dist/types", + "declarationMap": true, + "stripInternal": true, + "resolveJsonModule": true, + "importHelpers": true + }, + "include": [ + "./src" + ], + "exclude": [ + "node_modules", + "dist" + ], + "compileOnSave": false, + "buildOnSave": false +} \ No newline at end of file diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..1186244 --- /dev/null +++ b/tslint.json @@ -0,0 +1,79 @@ +{ + "extends": [ + "tslint-config-standard" + ], + "rules": { + // core ts-lint rules + "await-promise": true, + "no-unused-variable": true, + "forin": true, + "no-bitwise": true, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-debugger": true, + "no-shadowed-variable": true, + "no-string-literal": true, + "no-inferrable-types": [ + true + ], + "no-unnecessary-initializer": true, + "no-magic-numbers": false, + "no-require-imports": false, + "no-duplicate-super": true, + "no-boolean-literal-compare": true, + "no-namespace": [ + true, + "allow-declarations" + ], + "no-invalid-this": [ + true, + "check-function-in-method" + ], + "ordered-imports": [ + true + ], + "interface-name": [ + false + ], + "newline-before-return": true, + "object-literal-shorthand": true, + "arrow-return-shorthand": [ + true + ], + "unified-signatures": true, + "prefer-for-of": false, + "match-default-export-name": true, + "prefer-const": true, + "semicolon": [ + true, + "always" + ], + "trailing-comma": [ + true, + { + "multiline": { + "objects": "always", + "arrays": "always", + "functions": "always", + "typeLiterals": "ignore" + }, + "esSpecCompliant": true + } + ], + "space-before-function-paren": [ + true, + { + "anonymous": "always", + "named": "never", + "asyncArrow": "always" + } + ] + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..69dce61 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,5551 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz#bd71d9b192af978df915829d39d4094456439a0c" + dependencies: + "@babel/highlight" "7.0.0-beta.51" + +"@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.0.0-beta.47": + version "7.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/generator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/generator/-/generator-7.0.0-beta.51.tgz#6c7575ffde761d07485e04baedc0392c6d9e30f6" + dependencies: + "@babel/types" "7.0.0-beta.51" + jsesc "^2.5.1" + lodash "^4.17.5" + source-map "^0.5.0" + trim-right "^1.0.1" + +"@babel/helper-function-name@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.51.tgz#21b4874a227cf99ecafcc30a90302da5a2640561" + dependencies: + "@babel/helper-get-function-arity" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" + +"@babel/helper-get-function-arity@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.51.tgz#3281b2d045af95c172ce91b20825d85ea4676411" + dependencies: + "@babel/types" "7.0.0-beta.51" + +"@babel/helper-split-export-declaration@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.51.tgz#8a6c3f66c4d265352fc077484f9f6e80a51ab978" + dependencies: + "@babel/types" "7.0.0-beta.51" + +"@babel/highlight@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/highlight/-/highlight-7.0.0-beta.51.tgz#e8844ae25a1595ccfd42b89623b4376ca06d225d" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/parser@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/parser/-/parser-7.0.0-beta.51.tgz#27cec2df409df60af58270ed8f6aa55409ea86f6" + +"@babel/template@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/template/-/template-7.0.0-beta.51.tgz#9602a40aebcf357ae9677e2532ef5fc810f5fbff" + dependencies: + "@babel/code-frame" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" + lodash "^4.17.5" + +"@babel/traverse@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/traverse/-/traverse-7.0.0-beta.51.tgz#981daf2cec347a6231d3aa1d9e1803b03aaaa4a8" + dependencies: + "@babel/code-frame" "7.0.0-beta.51" + "@babel/generator" "7.0.0-beta.51" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/helper-split-export-declaration" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" + debug "^3.1.0" + globals "^11.1.0" + invariant "^2.2.0" + lodash "^4.17.5" + +"@babel/types@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://nexus.loafle.net/repository/npm-all/@babel/types/-/types-7.0.0-beta.51.tgz#d802b7b543b5836c778aa691797abf00f3d97ea9" + dependencies: + esutils "^2.0.2" + lodash "^4.17.5" + to-fast-properties "^2.0.0" + +"@samverschueren/stream-to-observable@^0.3.0": + version "0.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" + dependencies: + any-observable "^0.3.0" + +"@types/chokidar@^1.7.5": + version "1.7.5" + resolved "https://nexus.loafle.net/repository/npm-all/@types/chokidar/-/chokidar-1.7.5.tgz#1fa78c8803e035bed6d98e6949e514b133b0c9b6" + dependencies: + "@types/events" "*" + "@types/node" "*" + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://nexus.loafle.net/repository/npm-all/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + +"@types/events@*": + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" + +"@types/fs-extra@^5.0.3": + version "5.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/@types/fs-extra/-/fs-extra-5.0.4.tgz#b971134d162cc0497d221adde3dbb67502225599" + dependencies: + "@types/node" "*" + +"@types/glob@*": + version "5.0.35" + resolved "https://nexus.loafle.net/repository/npm-all/@types/glob/-/glob-5.0.35.tgz#1ae151c802cece940443b5ac246925c85189f32a" + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/handlebars@^4.0.38": + version "4.0.39" + resolved "https://nexus.loafle.net/repository/npm-all/@types/handlebars/-/handlebars-4.0.39.tgz#961fb54db68030890942e6aeffe9f93a957807bd" + +"@types/highlight.js@^9.12.3": + version "9.12.3" + resolved "https://nexus.loafle.net/repository/npm-all/@types/highlight.js/-/highlight.js-9.12.3.tgz#b672cfaac25cbbc634a0fd92c515f66faa18dbca" + +"@types/jest@^23.3.1": + version "23.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf" + +"@types/json5@^0.0.30": + version "0.0.30" + resolved "https://nexus.loafle.net/repository/npm-all/@types/json5/-/json5-0.0.30.tgz#44cb52f32a809734ca562e685c6473b5754a7818" + +"@types/lodash@^4.14.110": + version "4.14.116" + resolved "https://nexus.loafle.net/repository/npm-all/@types/lodash/-/lodash-4.14.116.tgz#5ccf215653e3e8c786a58390751033a9adca0eb9" + +"@types/marked@^0.4.0": + version "0.4.1" + resolved "https://nexus.loafle.net/repository/npm-all/@types/marked/-/marked-0.4.1.tgz#6595701c4d0dfde9d04894d3be04b8a97a49e0d7" + +"@types/minimatch@*", "@types/minimatch@3.0.3": + version "3.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + +"@types/node@*": + version "10.9.4" + resolved "https://nexus.loafle.net/repository/npm-all/@types/node/-/node-10.9.4.tgz#0f4cb2dc7c1de6096055357f70179043c33e9897" + +"@types/node@^8.10.4": + version "8.10.29" + resolved "https://nexus.loafle.net/repository/npm-all/@types/node/-/node-8.10.29.tgz#b3a13b58dd7b0682bf1b42022bef4a5a9718f687" + +"@types/shelljs@^0.8.0": + version "0.8.0" + resolved "https://nexus.loafle.net/repository/npm-all/@types/shelljs/-/shelljs-0.8.0.tgz#0caa56b68baae4f68f44e0dd666ab30b098e3632" + dependencies: + "@types/glob" "*" + "@types/node" "*" + +"@types/webpack-config-utils@^2.3.0": + version "2.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/@types/webpack-config-utils/-/webpack-config-utils-2.3.0.tgz#9be9afe9501fac5e5ace2ea768381662b8d75f1f" + +JSONStream@^1.0.4: + version "1.3.4" + resolved "https://nexus.loafle.net/repository/npm-all/JSONStream/-/JSONStream-1.3.4.tgz#615bb2adb0cd34c8f4c447b5f6512fa1d8f16a2e" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abab@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + +abbrev@1: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +acorn-globals@^4.1.0: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" + dependencies: + acorn "^5.0.0" + +acorn@^5.0.0, acorn@^5.5.3: + version "5.7.2" + resolved "https://nexus.loafle.net/repository/npm-all/acorn/-/acorn-5.7.2.tgz#91fa871883485d06708800318404e72bfb26dcc5" + +ajv@^5.3.0: + version "5.5.2" + resolved "https://nexus.loafle.net/repository/npm-all/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-escapes@^3.0.0: + version "3.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + dependencies: + color-convert "^1.9.0" + +any-observable@^0.3.0: + version "0.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +append-transform@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" + dependencies: + default-require-extensions "^2.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://nexus.loafle.net/repository/npm-all/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://nexus.loafle.net/repository/npm-all/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://nexus.loafle.net/repository/npm-all/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + +async@^2.1.4, async@^2.5.0: + version "2.6.1" + resolved "https://nexus.loafle.net/repository/npm-all/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + dependencies: + lodash "^4.17.10" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + +awesome-typescript-loader@^5.2.0: + version "5.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/awesome-typescript-loader/-/awesome-typescript-loader-5.2.0.tgz#d7bccf4823c45096ec24da4c12a1507d276ba15a" + dependencies: + chalk "^2.4.1" + enhanced-resolve "^4.0.0" + loader-utils "^1.1.0" + lodash "^4.17.5" + micromatch "^3.1.9" + mkdirp "^0.5.1" + source-map-support "^0.5.3" + webpack-log "^1.2.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://nexus.loafle.net/repository/npm-all/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.8.0: + version "1.8.0" + resolved "https://nexus.loafle.net/repository/npm-all/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + +babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.0, babel-core@^6.26.0: + version "6.26.3" + resolved "https://nexus.loafle.net/repository/npm-all/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-generator@^6.18.0, babel-generator@^6.26.0: + version "6.26.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-bindify-decorators@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-explode-class@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + dependencies: + babel-helper-bindify-decorators "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-jest@^23.4.2: + version "23.4.2" + resolved "https://nexus.loafle.net/repository/npm-all/babel-jest/-/babel-jest-23.4.2.tgz#f276de67798a5d68f2d6e87ff518c2f6e1609877" + dependencies: + babel-plugin-istanbul "^4.1.6" + babel-preset-jest "^23.2.0" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-istanbul@^4.1.6: + version "4.1.6" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.13.0" + find-up "^2.1.0" + istanbul-lib-instrument "^1.10.1" + test-exclude "^4.2.1" + +babel-plugin-jest-hoist@^23.2.0: + version "23.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-constructor-call@^6.18.0: + version "6.18.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-do-expressions@^6.8.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-export-extensions@^6.8.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + +babel-plugin-syntax-function-bind@^6.8.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" + +babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-class-constructor-call@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" + dependencies: + babel-plugin-syntax-class-constructor-call "^6.18.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-class-properties@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + dependencies: + babel-helper-function-name "^6.24.1" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-decorators@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + dependencies: + babel-helper-explode-class "^6.24.1" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-do-expressions@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz#28ccaf92812d949c2cd1281f690c8fdc468ae9bb" + dependencies: + babel-plugin-syntax-do-expressions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-export-extensions@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" + dependencies: + babel-plugin-syntax-export-extensions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-function-bind@^6.22.0: + version "6.22.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz#c6fb8e96ac296a310b8cf8ea401462407ddf6a97" + dependencies: + babel-plugin-syntax-function-bind "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-polyfill@6.23.0: + version "6.23.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" + dependencies: + babel-runtime "^6.22.0" + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-preset-es2015@^6.18.0: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-preset-jest@^23.2.0: + version "23.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46" + dependencies: + babel-plugin-jest-hoist "^23.2.0" + babel-plugin-syntax-object-rest-spread "^6.13.0" + +babel-preset-stage-0@^6.16.0: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz#5642d15042f91384d7e5af8bc88b1db95b039e6a" + dependencies: + babel-plugin-transform-do-expressions "^6.22.0" + babel-plugin-transform-function-bind "^6.22.0" + babel-preset-stage-1 "^6.24.1" + +babel-preset-stage-1@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" + dependencies: + babel-plugin-transform-class-constructor-call "^6.24.1" + babel-plugin-transform-export-extensions "^6.22.0" + babel-preset-stage-2 "^6.24.1" + +babel-preset-stage-2@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-decorators "^6.24.1" + babel-preset-stage-3 "^6.24.1" + +babel-preset-stage-3@^6.24.1: + version "6.24.1" + resolved "https://nexus.loafle.net/repository/npm-all/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + +babel-register@^6.18.0, babel-register@^6.26.0: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://nexus.loafle.net/repository/npm-all/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://nexus.loafle.net/repository/npm-all/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base@^0.11.1: + version "0.11.2" + resolved "https://nexus.loafle.net/repository/npm-all/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://nexus.loafle.net/repository/npm-all/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://nexus.loafle.net/repository/npm-all/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.1: + version "2.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +browser-process-hrtime@^0.1.2: + version "0.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://nexus.loafle.net/repository/npm-all/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + dependencies: + resolve "1.1.7" + +bser@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + +builtin-modules@^1.0.0, builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-modules@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/builtin-modules/-/builtin-modules-2.0.0.tgz#60b7ef5ae6546bd7deefa74b08b62a43a232648e" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cachedir@^1.1.0: + version "1.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/cachedir/-/cachedir-1.3.0.tgz#5e01928bf2d95b5edd94b0942188246740e0dbc4" + dependencies: + os-homedir "^1.0.1" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase-keys@^4.0.0: + version "4.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" + dependencies: + camelcase "^4.1.0" + map-obj "^2.0.0" + quick-lru "^1.0.0" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +capture-exit@^1.2.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" + dependencies: + rsvp "^3.3.3" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://nexus.loafle.net/repository/npm-all/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1: + version "2.4.1" + resolved "https://nexus.loafle.net/repository/npm-all/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chardet@^0.4.0: + version "0.4.2" + resolved "https://nexus.loafle.net/repository/npm-all/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + +chownr@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + +ci-info@^1.3.0: + version "1.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/ci-info/-/ci-info-1.4.0.tgz#4841d53cad49f11b827b648ebde27a6e189b412f" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://nexus.loafle.net/repository/npm-all/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cli-cursor@^1.0.1, cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + dependencies: + restore-cursor "^2.0.0" + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +closest-file-data@^0.1.4: + version "0.1.4" + resolved "https://nexus.loafle.net/repository/npm-all/closest-file-data/-/closest-file-data-0.1.4.tgz#975f87c132f299d24a0375b9f63ca3fb88f72b3a" + +co@^4.6.0: + version "4.6.0" + resolved "https://nexus.loafle.net/repository/npm-all/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://nexus.loafle.net/repository/npm-all/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +colors@~0.6.0-1: + version "0.6.2" + resolved "https://nexus.loafle.net/repository/npm-all/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" + +combined-stream@1.0.6, combined-stream@~1.0.6: + version "1.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +commander@^2.12.1, commander@^2.14.1, commander@^2.9.0, commander@~2.17.1: + version "2.17.1" + resolved "https://nexus.loafle.net/repository/npm-all/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + +commander@~2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781" + +commitizen@^2.10.1: + version "2.10.1" + resolved "https://nexus.loafle.net/repository/npm-all/commitizen/-/commitizen-2.10.1.tgz#8c395def34a895f4e94952c2efc3c9eb4c3683bd" + dependencies: + cachedir "^1.1.0" + chalk "1.1.3" + cz-conventional-changelog "2.0.0" + dedent "0.6.0" + detect-indent "4.0.0" + find-node-modules "1.0.4" + find-root "1.0.0" + fs-extra "^1.0.0" + glob "7.1.1" + inquirer "1.2.3" + lodash "4.17.5" + minimist "1.2.0" + opencollective "1.0.3" + path-exists "2.1.0" + shelljs "0.7.6" + strip-json-comments "2.0.1" + +compare-func@^1.3.1: + version "1.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" + dependencies: + array-ify "^1.0.0" + dot-prop "^3.0.0" + +compare-versions@^3.1.0: + version "3.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/compare-versions/-/compare-versions-3.4.0.tgz#e0747df5c9cb7f054d6d3dc3e1dbc444f9e92b26" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.10, concat-stream@^1.4.7: + version "1.6.2" + resolved "https://nexus.loafle.net/repository/npm-all/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +conventional-changelog-angular@^1.6.6: + version "1.6.6" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" + dependencies: + compare-func "^1.3.1" + q "^1.5.1" + +conventional-changelog-atom@^0.2.8: + version "0.2.8" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-atom/-/conventional-changelog-atom-0.2.8.tgz#8037693455990e3256f297320a45fa47ee553a14" + dependencies: + q "^1.5.1" + +conventional-changelog-codemirror@^0.3.8: + version "0.3.8" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.8.tgz#a1982c8291f4ee4d6f2f62817c6b2ecd2c4b7b47" + dependencies: + q "^1.5.1" + +conventional-changelog-core@^2.0.11: + version "2.0.11" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-core/-/conventional-changelog-core-2.0.11.tgz#19b5fbd55a9697773ed6661f4e32030ed7e30287" + dependencies: + conventional-changelog-writer "^3.0.9" + conventional-commits-parser "^2.1.7" + dateformat "^3.0.0" + get-pkg-repo "^1.0.0" + git-raw-commits "^1.3.6" + git-remote-origin-url "^2.0.0" + git-semver-tags "^1.3.6" + lodash "^4.2.1" + normalize-package-data "^2.3.5" + q "^1.5.1" + read-pkg "^1.1.0" + read-pkg-up "^1.0.1" + through2 "^2.0.0" + +conventional-changelog-ember@^0.3.12: + version "0.3.12" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-ember/-/conventional-changelog-ember-0.3.12.tgz#b7d31851756d0fcb49b031dffeb6afa93b202400" + dependencies: + q "^1.5.1" + +conventional-changelog-eslint@^1.0.9: + version "1.0.9" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.9.tgz#b13cc7e4b472c819450ede031ff1a75c0e3d07d3" + dependencies: + q "^1.5.1" + +conventional-changelog-express@^0.3.6: + version "0.3.6" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-express/-/conventional-changelog-express-0.3.6.tgz#4a6295cb11785059fb09202180d0e59c358b9c2c" + dependencies: + q "^1.5.1" + +conventional-changelog-jquery@^0.1.0: + version "0.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" + dependencies: + q "^1.4.1" + +conventional-changelog-jscs@^0.1.0: + version "0.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" + dependencies: + q "^1.4.1" + +conventional-changelog-jshint@^0.3.8: + version "0.3.8" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.8.tgz#9051c1ac0767abaf62a31f74d2fe8790e8acc6c8" + dependencies: + compare-func "^1.3.1" + q "^1.5.1" + +conventional-changelog-preset-loader@^1.1.8: + version "1.1.8" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.8.tgz#40bb0f142cd27d16839ec6c74ee8db418099b373" + +conventional-changelog-writer@^3.0.9: + version "3.0.9" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog-writer/-/conventional-changelog-writer-3.0.9.tgz#4aecdfef33ff2a53bb0cf3b8071ce21f0e994634" + dependencies: + compare-func "^1.3.1" + conventional-commits-filter "^1.1.6" + dateformat "^3.0.0" + handlebars "^4.0.2" + json-stringify-safe "^5.0.1" + lodash "^4.2.1" + meow "^4.0.0" + semver "^5.5.0" + split "^1.0.0" + through2 "^2.0.0" + +conventional-changelog@^1.1.0: + version "1.1.24" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-changelog/-/conventional-changelog-1.1.24.tgz#3d94c29c960f5261c002678315b756cdd3d7d1f0" + dependencies: + conventional-changelog-angular "^1.6.6" + conventional-changelog-atom "^0.2.8" + conventional-changelog-codemirror "^0.3.8" + conventional-changelog-core "^2.0.11" + conventional-changelog-ember "^0.3.12" + conventional-changelog-eslint "^1.0.9" + conventional-changelog-express "^0.3.6" + conventional-changelog-jquery "^0.1.0" + conventional-changelog-jscs "^0.1.0" + conventional-changelog-jshint "^0.3.8" + conventional-changelog-preset-loader "^1.1.8" + +conventional-commit-types@^2.0.0: + version "2.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-commit-types/-/conventional-commit-types-2.2.0.tgz#5db95739d6c212acbe7b6f656a11b940baa68946" + +conventional-commits-filter@^1.1.1, conventional-commits-filter@^1.1.6: + version "1.1.6" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz#4389cd8e58fe89750c0b5fb58f1d7f0cc8ad3831" + dependencies: + is-subset "^0.1.1" + modify-values "^1.0.0" + +conventional-commits-parser@^2.1.1, conventional-commits-parser@^2.1.7: + version "2.1.7" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz#eca45ed6140d72ba9722ee4132674d639e644e8e" + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.0" + lodash "^4.2.1" + meow "^4.0.0" + split2 "^2.0.0" + through2 "^2.0.0" + trim-off-newlines "^1.0.0" + +conventional-recommended-bump@^1.0.0: + version "1.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/conventional-recommended-bump/-/conventional-recommended-bump-1.2.1.tgz#1b7137efb5091f99fe009e2fe9ddb7cc490e9375" + dependencies: + concat-stream "^1.4.10" + conventional-commits-filter "^1.1.1" + conventional-commits-parser "^2.1.1" + git-raw-commits "^1.3.0" + git-semver-tags "^1.3.0" + meow "^3.3.0" + object-assign "^4.0.1" + +convert-source-map@^1.4.0, convert-source-map@^1.5.1: + version "1.6.0" + resolved "https://nexus.loafle.net/repository/npm-all/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.7" + resolved "https://nexus.loafle.net/repository/npm-all/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cosmiconfig@^5.0.2: + version "5.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/cosmiconfig/-/cosmiconfig-5.0.6.tgz#dca6cf680a0bd03589aff684700858c81abeeb39" + dependencies: + is-directory "^0.3.1" + js-yaml "^3.9.0" + parse-json "^4.0.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-var@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/cross-var/-/cross-var-1.1.0.tgz#f0f0d4bb235d95138d1a539842d290f00db71cd6" + dependencies: + babel-preset-es2015 "^6.18.0" + babel-preset-stage-0 "^6.16.0" + babel-register "^6.18.0" + cross-spawn "^5.0.1" + exit "^0.1.2" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.4" + resolved "https://nexus.loafle.net/repository/npm-all/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" + +cssstyle@^1.0.0: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" + dependencies: + cssom "0.3.x" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://nexus.loafle.net/repository/npm-all/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +cz-conventional-changelog@2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/cz-conventional-changelog/-/cz-conventional-changelog-2.0.0.tgz#55a979afdfe95e7024879d2a0f5924630170b533" + dependencies: + conventional-commit-types "^2.0.0" + lodash.map "^4.5.1" + longest "^1.0.1" + pad-right "^0.2.2" + right-pad "^1.0.1" + word-wrap "^1.0.3" + +cz-conventional-changelog@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/cz-conventional-changelog/-/cz-conventional-changelog-2.1.0.tgz#2f4bc7390e3244e4df293e6ba351e4c740a7c764" + dependencies: + conventional-commit-types "^2.0.0" + lodash.map "^4.5.1" + longest "^1.0.1" + right-pad "^1.0.1" + word-wrap "^1.0.3" + +d@1: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +dargs@^4.0.1: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" + dependencies: + number-is-nan "^1.0.0" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://nexus.loafle.net/repository/npm-all/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/data-urls/-/data-urls-1.0.1.tgz#d416ac3896918f29ca84d81085bc3705834da579" + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.1.0" + whatwg-url "^7.0.0" + +date-fns@^1.27.2: + version "1.29.0" + resolved "https://nexus.loafle.net/repository/npm-all/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" + +dateformat@^3.0.0: + version "3.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + +debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://nexus.loafle.net/repository/npm-all/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +decamelize-keys@^1.0.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + +dedent@0.6.0: + version "0.6.0" + resolved "https://nexus.loafle.net/repository/npm-all/dedent/-/dedent-0.6.0.tgz#0e6da8f0ce52838ef5cec5c8f9396b0c1b64a3cb" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://nexus.loafle.net/repository/npm-all/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://nexus.loafle.net/repository/npm-all/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +default-require-extensions@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" + dependencies: + strip-bom "^3.0.0" + +define-properties@^1.1.2: + version "1.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://nexus.loafle.net/repository/npm-all/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +detect-file@^0.1.0: + version "0.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" + dependencies: + fs-exists-sync "^0.1.0" + +detect-indent@4.0.0, detect-indent@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + +diff@^3.2.0: + version "3.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + +doctrine@0.7.2: + version "0.7.2" + resolved "https://nexus.loafle.net/repository/npm-all/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" + dependencies: + esutils "^1.1.6" + isarray "0.0.1" + +domexception@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + dependencies: + webidl-conversions "^4.0.2" + +dot-prop@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" + dependencies: + is-obj "^1.0.0" + +dotgitignore@^1.0.3: + version "1.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/dotgitignore/-/dotgitignore-1.0.3.tgz#a442cbde7dc20dff51cdb849e4c5a64568c07923" + dependencies: + find-up "^2.1.0" + minimatch "^3.0.4" + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encoding@^0.1.11: + version "0.1.12" + resolved "https://nexus.loafle.net/repository/npm-all/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +enhanced-resolve@^4.0.0: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + tapable "^1.0.0" + +errno@^0.1.3: + version "0.1.7" + resolved "https://nexus.loafle.net/repository/npm-all/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.5.1: + version "1.12.0" + resolved "https://nexus.loafle.net/repository/npm-all/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.46" + resolved "https://nexus.loafle.net/repository/npm-all/es5-ext/-/es5-ext-0.10.46.tgz#efd99f67c5a7ec789baa3daa7f79870388f7f572" + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "1" + +es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-object-assign@^1.0.3: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" + +es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://nexus.loafle.net/repository/npm-all/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@^1.9.1: + version "1.11.0" + resolved "https://nexus.loafle.net/repository/npm-all/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^3.1.3: + version "3.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + +estraverse@^4.2.0: + version "4.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estree-walker@^0.5.1, estree-walker@^0.5.2: + version "0.5.2" + resolved "https://nexus.loafle.net/repository/npm-all/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" + +esutils@^1.1.6: + version "1.1.6" + resolved "https://nexus.loafle.net/repository/npm-all/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +exec-sh@^0.2.0: + version "0.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" + dependencies: + merge "^1.2.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://nexus.loafle.net/repository/npm-all/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^0.9.0: + version "0.9.0" + resolved "https://nexus.loafle.net/repository/npm-all/execa/-/execa-0.9.0.tgz#adb7ce62cf985071f60580deb4a88b9e34712d01" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +exit@^0.1.2: + version "0.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://nexus.loafle.net/repository/npm-all/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://nexus.loafle.net/repository/npm-all/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://nexus.loafle.net/repository/npm-all/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + dependencies: + os-homedir "^1.0.1" + +expect@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/expect/-/expect-23.5.0.tgz#18999a0eef8f8acf99023fde766d9c323c2562ed" + dependencies: + ansi-styles "^3.2.0" + jest-diff "^23.5.0" + jest-get-type "^22.1.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0, extend@~3.0.2: + version "3.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + +external-editor@^1.1.0: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" + dependencies: + extend "^3.0.0" + spawn-sync "^1.0.15" + tmp "^0.0.29" + +external-editor@^2.0.1: + version "2.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +fb-watchman@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + dependencies: + bser "^2.0.0" + +figures@^1.3.5, figures@^1.5.0, figures@^1.7.0: + version "1.7.0" + resolved "https://nexus.loafle.net/repository/npm-all/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + dependencies: + escape-string-regexp "^1.0.5" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fileset@^2.0.2: + version "2.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + dependencies: + glob "^7.0.3" + minimatch "^3.0.3" + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://nexus.loafle.net/repository/npm-all/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +find-node-modules@1.0.4: + version "1.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/find-node-modules/-/find-node-modules-1.0.4.tgz#b6deb3cccb699c87037677bcede2c5f5862b2550" + dependencies: + findup-sync "0.4.2" + merge "^1.2.0" + +find-parent-dir@^0.3.0: + version "0.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" + +find-root@1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/find-root/-/find-root-1.0.0.tgz#962ff211aab25c6520feeeb8d6287f8f6e95807a" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +findup-sync@0.4.2: + version "0.4.2" + resolved "https://nexus.loafle.net/repository/npm-all/findup-sync/-/findup-sync-0.4.2.tgz#a8117d0f73124f5a4546839579fe52d7129fb5e5" + dependencies: + detect-file "^0.1.0" + is-glob "^2.0.1" + micromatch "^2.3.7" + resolve-dir "^0.1.0" + +findup@0.1.5: + version "0.1.5" + resolved "https://nexus.loafle.net/repository/npm-all/findup/-/findup-0.1.5.tgz#8ad929a3393bac627957a7e5de4623b06b0e2ceb" + dependencies: + colors "~0.6.0-1" + commander "~2.1.0" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://nexus.loafle.net/repository/npm-all/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://nexus.loafle.net/repository/npm-all/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.3.2: + version "2.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +fs-access@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" + dependencies: + null-check "^1.0.0" + +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + +fs-extra@6.0.1: + version "6.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + +fs-extra@^7.0.0: + version "7.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://nexus.loafle.net/repository/npm-all/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.2.3: + version "1.2.4" + resolved "https://nexus.loafle.net/repository/npm-all/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://nexus.loafle.net/repository/npm-all/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + +get-own-enumerable-property-symbols@^2.0.1: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" + +get-pkg-repo@^1.0.0: + version "1.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" + dependencies: + hosted-git-info "^2.1.4" + meow "^3.3.0" + normalize-package-data "^2.3.0" + parse-github-repo-url "^1.3.0" + through2 "^2.0.0" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stdin@^5.0.1: + version "5.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://nexus.loafle.net/repository/npm-all/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +git-raw-commits@^1.3.0, git-raw-commits@^1.3.6: + version "1.3.6" + resolved "https://nexus.loafle.net/repository/npm-all/git-raw-commits/-/git-raw-commits-1.3.6.tgz#27c35a32a67777c1ecd412a239a6c19d71b95aff" + dependencies: + dargs "^4.0.1" + lodash.template "^4.0.2" + meow "^4.0.0" + split2 "^2.0.0" + through2 "^2.0.0" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-semver-tags@^1.3.0, git-semver-tags@^1.3.6: + version "1.3.6" + resolved "https://nexus.loafle.net/repository/npm-all/git-semver-tags/-/git-semver-tags-1.3.6.tgz#357ea01f7280794fe0927f2806bee6414d2caba5" + dependencies: + meow "^4.0.0" + semver "^5.5.0" + +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + dependencies: + ini "^1.3.2" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@7.1.1: + version "7.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: + version "7.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^0.2.3: + version "0.2.3" + resolved "https://nexus.loafle.net/repository/npm-all/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.5" + resolved "https://nexus.loafle.net/repository/npm-all/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" + dependencies: + homedir-polyfill "^1.0.0" + ini "^1.3.4" + is-windows "^0.2.0" + which "^1.2.12" + +globals@^11.1.0: + version "11.7.0" + resolved "https://nexus.loafle.net/repository/npm-all/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" + +globals@^9.18.0: + version "9.18.0" + resolved "https://nexus.loafle.net/repository/npm-all/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://nexus.loafle.net/repository/npm-all/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +growly@^1.3.0: + version "1.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + +gzip-size-cli@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/gzip-size-cli/-/gzip-size-cli-3.0.0.tgz#b3f7ed1ad4ce70f06b2c80f749848fb5aca273fa" + dependencies: + gzip-size "^5.0.0" + meow "^5.0.0" + pretty-bytes "^5.1.0" + +gzip-size@^5.0.0: + version "5.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80" + dependencies: + duplexer "^0.1.1" + pify "^3.0.0" + +handlebars@^4.0.11, handlebars@^4.0.2, handlebars@^4.0.6: + version "4.0.12" + resolved "https://nexus.loafle.net/repository/npm-all/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" + dependencies: + async "^2.5.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~5.1.0: + version "5.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/har-validator/-/har-validator-5.1.0.tgz#44657f5688a22cfd4b72486e81b3a3fb11742c29" + dependencies: + ajv "^5.3.0" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://nexus.loafle.net/repository/npm-all/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.1: + version "1.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + dependencies: + function-bind "^1.1.1" + +highlight.js@^9.0.0: + version "9.12.0" + resolved "https://nexus.loafle.net/repository/npm-all/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +homedir-polyfill@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.7.1" + resolved "https://nexus.loafle.net/repository/npm-all/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + dependencies: + whatwg-encoding "^1.0.1" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.23: + version "0.4.23" + resolved "https://nexus.loafle.net/repository/npm-all/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13: + version "0.4.24" + resolved "https://nexus.loafle.net/repository/npm-all/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +import-local@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://nexus.loafle.net/repository/npm-all/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://nexus.loafle.net/repository/npm-all/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +inquirer@1.2.3: + version "1.2.3" + resolved "https://nexus.loafle.net/repository/npm-all/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + external-editor "^1.1.0" + figures "^1.3.5" + lodash "^4.3.0" + mute-stream "0.0.6" + pinkie-promise "^2.0.0" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +inquirer@3.0.6: + version "3.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.1" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^2.0.0" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + +invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://nexus.loafle.net/repository/npm-all/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://nexus.loafle.net/repository/npm-all/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://nexus.loafle.net/repository/npm-all/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.4" + resolved "https://nexus.loafle.net/repository/npm-all/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + +is-ci@^1.0.10: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-ci/-/is-ci-1.2.0.tgz#3f4a08d6303a09882cef3f0fb97439c5f5ce2d53" + dependencies: + ci-info "^1.3.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://nexus.loafle.net/repository/npm-all/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://nexus.loafle.net/repository/npm-all/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-generator-fn@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + +is-module@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + +is-obj@^1.0.0, is-obj@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + +is-observable@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" + dependencies: + symbol-observable "^1.1.0" + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-subset@^0.1.1: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-text-path@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + dependencies: + text-extensions "^1.0.0" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^0.2.0: + version "0.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +isarray@0.0.1: + version "0.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul-api@^1.3.1: + version "1.3.6" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-api/-/istanbul-api-1.3.6.tgz#0c695f17e533131de8c49e0657175dcfd8af8a8f" + dependencies: + async "^2.1.4" + compare-versions "^3.1.0" + fileset "^2.0.2" + istanbul-lib-coverage "^1.2.0" + istanbul-lib-hook "^1.2.0" + istanbul-lib-instrument "^2.1.0" + istanbul-lib-report "^1.1.4" + istanbul-lib-source-maps "^1.2.5" + istanbul-reports "^1.4.1" + js-yaml "^3.7.0" + mkdirp "^0.5.1" + once "^1.4.0" + +istanbul-lib-coverage@^1.2.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" + +istanbul-lib-coverage@^2.0.1: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#2aee0e073ad8c5f6a0b00e0dfbf52b4667472eda" + +istanbul-lib-hook@^1.2.0: + version "1.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz#f614ec45287b2a8fc4f07f5660af787575601805" + dependencies: + append-transform "^1.0.0" + +istanbul-lib-instrument@^1.10.1: + version "1.10.1" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.18.0" + istanbul-lib-coverage "^1.2.0" + semver "^5.3.0" + +istanbul-lib-instrument@^2.1.0: + version "2.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-lib-instrument/-/istanbul-lib-instrument-2.3.2.tgz#b287cbae2b5f65f3567b05e2e29b275eaf92d25e" + dependencies: + "@babel/generator" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" + istanbul-lib-coverage "^2.0.1" + semver "^5.5.0" + +istanbul-lib-report@^1.1.4: + version "1.1.4" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5" + dependencies: + istanbul-lib-coverage "^1.2.0" + mkdirp "^0.5.1" + path-parse "^1.0.5" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.5: + version "1.2.5" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1" + dependencies: + debug "^3.1.0" + istanbul-lib-coverage "^1.2.0" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-reports@^1.4.1: + version "1.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/istanbul-reports/-/istanbul-reports-1.5.0.tgz#c6c2867fa65f59eb7dcedb7f845dfc76aaee70f9" + dependencies: + handlebars "^4.0.11" + +jest-changed-files@^23.4.2: + version "23.4.2" + resolved "https://nexus.loafle.net/repository/npm-all/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83" + dependencies: + throat "^4.0.0" + +jest-cli@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-cli/-/jest-cli-23.5.0.tgz#d316b8e34a38a610a1efc4f0403d8ef8a55e4492" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.1.11" + import-local "^1.0.0" + is-ci "^1.0.10" + istanbul-api "^1.3.1" + istanbul-lib-coverage "^1.2.0" + istanbul-lib-instrument "^1.10.1" + istanbul-lib-source-maps "^1.2.4" + jest-changed-files "^23.4.2" + jest-config "^23.5.0" + jest-environment-jsdom "^23.4.0" + jest-get-type "^22.1.0" + jest-haste-map "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + jest-resolve-dependencies "^23.5.0" + jest-runner "^23.5.0" + jest-runtime "^23.5.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.0" + jest-watcher "^23.4.0" + jest-worker "^23.2.0" + micromatch "^2.3.11" + node-notifier "^5.2.1" + prompts "^0.1.9" + realpath-native "^1.0.0" + rimraf "^2.5.4" + slash "^1.0.0" + string-length "^2.0.0" + strip-ansi "^4.0.0" + which "^1.2.12" + yargs "^11.0.0" + +jest-config@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-config/-/jest-config-23.5.0.tgz#3770fba03f7507ee15f3b8867c742e48f31a9773" + dependencies: + babel-core "^6.0.0" + babel-jest "^23.4.2" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^23.4.0" + jest-environment-node "^23.4.0" + jest-get-type "^22.1.0" + jest-jasmine2 "^23.5.0" + jest-regex-util "^23.3.0" + jest-resolve "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.0" + micromatch "^2.3.11" + pretty-format "^23.5.0" + +jest-diff@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-diff/-/jest-diff-23.5.0.tgz#250651a433dd0050290a07642946cc9baaf06fba" + dependencies: + chalk "^2.0.1" + diff "^3.2.0" + jest-get-type "^22.1.0" + pretty-format "^23.5.0" + +jest-docblock@^23.2.0: + version "23.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" + dependencies: + detect-newline "^2.1.0" + +jest-each@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-each/-/jest-each-23.5.0.tgz#77f7e2afe6132a80954b920006e78239862b10ba" + dependencies: + chalk "^2.0.1" + pretty-format "^23.5.0" + +jest-environment-jsdom@^23.4.0: + version "23.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023" + dependencies: + jest-mock "^23.2.0" + jest-util "^23.4.0" + jsdom "^11.5.1" + +jest-environment-node@^23.4.0: + version "23.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10" + dependencies: + jest-mock "^23.2.0" + jest-util "^23.4.0" + +jest-get-type@^22.1.0: + version "22.4.3" + resolved "https://nexus.loafle.net/repository/npm-all/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" + +jest-haste-map@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-haste-map/-/jest-haste-map-23.5.0.tgz#d4ca618188bd38caa6cb20349ce6610e194a8065" + dependencies: + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + invariant "^2.2.4" + jest-docblock "^23.2.0" + jest-serializer "^23.0.1" + jest-worker "^23.2.0" + micromatch "^2.3.11" + sane "^2.0.0" + +jest-jasmine2@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-jasmine2/-/jest-jasmine2-23.5.0.tgz#05fe7f1788e650eeb5a03929e6461ea2e9f3db53" + dependencies: + babel-traverse "^6.0.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^23.5.0" + is-generator-fn "^1.0.0" + jest-diff "^23.5.0" + jest-each "^23.5.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + pretty-format "^23.5.0" + +jest-leak-detector@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-leak-detector/-/jest-leak-detector-23.5.0.tgz#14ac2a785bd625160a2ea968fd5d98b7dcea3e64" + dependencies: + pretty-format "^23.5.0" + +jest-matcher-utils@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-matcher-utils/-/jest-matcher-utils-23.5.0.tgz#0e2ea67744cab78c9ab15011c4d888bdd3e49e2a" + dependencies: + chalk "^2.0.1" + jest-get-type "^22.1.0" + pretty-format "^23.5.0" + +jest-message-util@^23.4.0: + version "23.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f" + dependencies: + "@babel/code-frame" "^7.0.0-beta.35" + chalk "^2.0.1" + micromatch "^2.3.11" + slash "^1.0.0" + stack-utils "^1.0.1" + +jest-mock@^23.2.0: + version "23.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" + +jest-regex-util@^23.3.0: + version "23.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5" + +jest-resolve-dependencies@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-resolve-dependencies/-/jest-resolve-dependencies-23.5.0.tgz#10c4d135beb9d2256de1fedc7094916c3ad74af7" + dependencies: + jest-regex-util "^23.3.0" + jest-snapshot "^23.5.0" + +jest-resolve@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-resolve/-/jest-resolve-23.5.0.tgz#3b8e7f67e84598f0caf63d1530bd8534a189d0e6" + dependencies: + browser-resolve "^1.11.3" + chalk "^2.0.1" + realpath-native "^1.0.0" + +jest-runner@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-runner/-/jest-runner-23.5.0.tgz#570f7a044da91648b5bb9b6baacdd511076c71d7" + dependencies: + exit "^0.1.2" + graceful-fs "^4.1.11" + jest-config "^23.5.0" + jest-docblock "^23.2.0" + jest-haste-map "^23.5.0" + jest-jasmine2 "^23.5.0" + jest-leak-detector "^23.5.0" + jest-message-util "^23.4.0" + jest-runtime "^23.5.0" + jest-util "^23.4.0" + jest-worker "^23.2.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-runtime/-/jest-runtime-23.5.0.tgz#eb503525a196dc32f2f9974e3482d26bdf7b63ce" + dependencies: + babel-core "^6.0.0" + babel-plugin-istanbul "^4.1.6" + chalk "^2.0.1" + convert-source-map "^1.4.0" + exit "^0.1.2" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.11" + jest-config "^23.5.0" + jest-haste-map "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + jest-resolve "^23.5.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.0" + micromatch "^2.3.11" + realpath-native "^1.0.0" + slash "^1.0.0" + strip-bom "3.0.0" + write-file-atomic "^2.1.0" + yargs "^11.0.0" + +jest-serializer@^23.0.1: + version "23.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" + +jest-snapshot@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-snapshot/-/jest-snapshot-23.5.0.tgz#cc368ebd8513e1175e2a7277f37a801b7358ae79" + dependencies: + babel-types "^6.0.0" + chalk "^2.0.1" + jest-diff "^23.5.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-resolve "^23.5.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^23.5.0" + semver "^5.5.0" + +jest-util@^23.4.0: + version "23.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561" + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.11" + is-ci "^1.0.10" + jest-message-util "^23.4.0" + mkdirp "^0.5.1" + slash "^1.0.0" + source-map "^0.6.0" + +jest-validate@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-validate/-/jest-validate-23.5.0.tgz#f5df8f761cf43155e1b2e21d6e9de8a2852d0231" + dependencies: + chalk "^2.0.1" + jest-get-type "^22.1.0" + leven "^2.1.0" + pretty-format "^23.5.0" + +jest-watch-typeahead@^0.2.0: + version "0.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-watch-typeahead/-/jest-watch-typeahead-0.2.0.tgz#dd0cef120360ac75b93c0afbcdcf21a54b3e43c9" + dependencies: + chalk "^2.4.1" + jest-watcher "^23.1.0" + slash "^1.0.0" + string-length "^2.0.0" + strip-ansi "^4.0.0" + +jest-watcher@^23.1.0, jest-watcher@^23.4.0: + version "23.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + string-length "^2.0.0" + +jest-worker@^23.2.0: + version "23.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" + dependencies: + merge-stream "^1.0.1" + +jest@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jest/-/jest-23.5.0.tgz#80de353d156ea5ea4a7332f7962ac79135fbc62e" + dependencies: + import-local "^1.0.0" + jest-cli "^23.5.0" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + +js-yaml@^3.7.0, js-yaml@^3.9.0: + version "3.12.0" + resolved "https://nexus.loafle.net/repository/npm-all/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://nexus.loafle.net/repository/npm-all/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@^2.5.1: + version "2.5.1" + resolved "https://nexus.loafle.net/repository/npm-all/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://nexus.loafle.net/repository/npm-all/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://nexus.loafle.net/repository/npm-all/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +json5@^2.0.1: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/json5/-/json5-2.0.1.tgz#3d6d0d1066039eb50984e66a7840e4f4b7a2c660" + dependencies: + minimist "^1.2.0" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://nexus.loafle.net/repository/npm-all/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +klaw@^1.0.0: + version "1.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +kleur@^2.0.1: + version "2.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + +leven@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + +levn@~0.3.0: + version "0.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lint-staged@^7.2.2: + version "7.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/lint-staged/-/lint-staged-7.2.2.tgz#0983d55d497f19f36d11ff2c8242b2f56cc2dd05" + dependencies: + chalk "^2.3.1" + commander "^2.14.1" + cosmiconfig "^5.0.2" + debug "^3.1.0" + dedent "^0.7.0" + execa "^0.9.0" + find-parent-dir "^0.3.0" + is-glob "^4.0.0" + is-windows "^1.0.2" + jest-validate "^23.5.0" + listr "^0.14.1" + lodash "^4.17.5" + log-symbols "^2.2.0" + micromatch "^3.1.8" + npm-which "^3.0.1" + p-map "^1.1.1" + path-is-inside "^1.0.2" + pify "^3.0.0" + please-upgrade-node "^3.0.2" + staged-git-files "1.1.1" + string-argv "^0.0.2" + stringify-object "^3.2.2" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + +listr-update-renderer@^0.4.0: + version "0.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.4.0: + version "0.4.1" + resolved "https://nexus.loafle.net/repository/npm-all/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" + dependencies: + chalk "^1.1.3" + cli-cursor "^1.0.2" + date-fns "^1.27.2" + figures "^1.7.0" + +listr@^0.14.1: + version "0.14.2" + resolved "https://nexus.loafle.net/repository/npm-all/listr/-/listr-0.14.2.tgz#cbe44b021100a15376addfc2d79349ee430bfe14" + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.4.0" + listr-verbose-renderer "^0.4.0" + p-map "^1.1.1" + rxjs "^6.1.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-utils@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash._reinterpolate@~3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash.map@^4.5.1: + version "4.6.0" + resolved "https://nexus.loafle.net/repository/npm-all/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://nexus.loafle.net/repository/npm-all/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + +lodash.template@^4.0.2: + version "4.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + dependencies: + lodash._reinterpolate "~3.0.0" + +lodash@4.17.5: + version "4.17.5" + resolved "https://nexus.loafle.net/repository/npm-all/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" + +lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0: + version "4.17.10" + resolved "https://nexus.loafle.net/repository/npm-all/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + dependencies: + chalk "^1.0.0" + +log-symbols@^2.1.0, log-symbols@^2.2.0: + version "2.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + dependencies: + chalk "^2.0.1" + +log-update@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" + dependencies: + ansi-escapes "^1.0.0" + cli-cursor "^1.0.2" + +loglevelnext@^1.0.1: + version "1.0.5" + resolved "https://nexus.loafle.net/repository/npm-all/loglevelnext/-/loglevelnext-1.0.5.tgz#36fc4f5996d6640f539ff203ba819641680d75a2" + dependencies: + es6-symbol "^3.1.1" + object.assign "^4.1.0" + +longest@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://nexus.loafle.net/repository/npm-all/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lru-cache@^4.0.1: + version "4.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +magic-string@^0.22.4: + version "0.22.5" + resolved "https://nexus.loafle.net/repository/npm-all/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + dependencies: + vlq "^0.2.2" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://nexus.loafle.net/repository/npm-all/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-obj@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +marked@^0.4.0: + version "0.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/marked/-/marked-0.4.0.tgz#9ad2c2a7a1791f10a852e0112f77b571dce10c66" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + +mem@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.4.0: + version "0.4.1" + resolved "https://nexus.loafle.net/repository/npm-all/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.3.0, meow@^3.5.0: + version "3.7.0" + resolved "https://nexus.loafle.net/repository/npm-all/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +meow@^4.0.0: + version "4.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" + dependencies: + camelcase-keys "^4.0.0" + decamelize-keys "^1.0.0" + loud-rejection "^1.0.0" + minimist "^1.1.3" + minimist-options "^3.0.1" + normalize-package-data "^2.3.4" + read-pkg-up "^3.0.0" + redent "^2.0.0" + trim-newlines "^2.0.0" + +meow@^5.0.0: + version "5.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" + dependencies: + camelcase-keys "^4.0.0" + decamelize-keys "^1.0.0" + loud-rejection "^1.0.0" + minimist-options "^3.0.1" + normalize-package-data "^2.3.4" + read-pkg-up "^3.0.0" + redent "^2.0.0" + trim-newlines "^2.0.0" + yargs-parser "^10.0.0" + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + +merge@^1.2.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + +micromatch@^2.3.11, micromatch@^2.3.7: + version "2.3.11" + resolved "https://nexus.loafle.net/repository/npm-all/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: + version "3.1.10" + resolved "https://nexus.loafle.net/repository/npm-all/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mime-db@~1.36.0: + version "1.36.0" + resolved "https://nexus.loafle.net/repository/npm-all/mime-db/-/mime-db-1.36.0.tgz#5020478db3c7fe93aad7bbcc4dcf869c43363397" + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.20" + resolved "https://nexus.loafle.net/repository/npm-all/mime-types/-/mime-types-2.1.20.tgz#930cb719d571e903738520f8470911548ca2cc19" + dependencies: + mime-db "~1.36.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: + version "3.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist-options@^3.0.1: + version "3.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://nexus.loafle.net/repository/npm-all/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "https://nexus.loafle.net/repository/npm-all/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minipass@^2.2.1, minipass@^2.3.3: + version "2.3.4" + resolved "https://nexus.loafle.net/repository/npm-all/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957" + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://nexus.loafle.net/repository/npm-all/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +modify-values@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + +ms@2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +mute-stream@0.0.6: + version "0.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://nexus.loafle.net/repository/npm-all/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + +nan@^2.9.2: + version "2.11.0" + resolved "https://nexus.loafle.net/repository/npm-all/nan/-/nan-2.11.0.tgz#574e360e4d954ab16966ec102c0c049fd961a099" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://nexus.loafle.net/repository/npm-all/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +needle@^2.2.1: + version "2.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/needle/-/needle-2.2.2.tgz#1120ca4c41f2fcc6976fd28a8968afe239929418" + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +next-tick@1: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + +node-fetch@1.6.3: + version "1.6.3" + resolved "https://nexus.loafle.net/repository/npm-all/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + +node-notifier@^5.2.1: + version "5.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" + dependencies: + growly "^1.3.0" + semver "^5.4.1" + shellwords "^0.1.1" + which "^1.3.0" + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://nexus.loafle.net/repository/npm-all/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: + version "2.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://nexus.loafle.net/repository/npm-all/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + +npm-packlist@^1.1.6: + version "1.1.11" + resolved "https://nexus.loafle.net/repository/npm-all/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-path@^2.0.2: + version "2.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" + dependencies: + which "^1.2.10" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +npm-which@^3.0.1: + version "3.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" + dependencies: + commander "^2.9.0" + npm-path "^2.0.2" + which "^1.2.10" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +null-check@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +nwsapi@^2.0.7: + version "2.0.9" + resolved "https://nexus.loafle.net/repository/npm-all/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://nexus.loafle.net/repository/npm-all/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@^1.0.11, object-keys@^1.0.12: + version "1.0.12" + resolved "https://nexus.loafle.net/repository/npm-all/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +once@^1.3.0, once@^1.4.0: + version "1.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" + +opencollective@1.0.3: + version "1.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" + dependencies: + babel-polyfill "6.23.0" + chalk "1.1.3" + inquirer "3.0.6" + minimist "1.2.0" + node-fetch "1.6.3" + opn "4.0.2" + +opn@4.0.2: + version "4.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://nexus.loafle.net/repository/npm-all/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1: + version "0.8.2" + resolved "https://nexus.loafle.net/repository/npm-all/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-shim@^0.1.2: + version "0.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.5" + resolved "https://nexus.loafle.net/repository/npm-all/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + dependencies: + p-try "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + +pad-right@^0.2.2: + version "0.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774" + dependencies: + repeat-string "^1.5.2" + +parse-github-repo-url@^1.3.0: + version "1.4.1" + resolved "https://nexus.loafle.net/repository/npm-all/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + +parse5@4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + +path-exists@2.1.0, path-exists@^2.0.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^2.0.0: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-parse@^1.0.5: + version "1.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + dependencies: + pify "^3.0.0" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + +please-upgrade-node@^3.0.2: + version "3.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" + dependencies: + semver-compare "^1.0.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-bytes@^5.1.0: + version "5.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/pretty-bytes/-/pretty-bytes-5.1.0.tgz#6237ecfbdc6525beaef4de722cc60a58ae0e6c6d" + +pretty-format@^23.5.0: + version "23.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/pretty-format/-/pretty-format-23.5.0.tgz#0f9601ad9da70fe690a269cd3efca732c210687c" + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + +private@^0.1.6, private@^0.1.8: + version "0.1.8" + resolved "https://nexus.loafle.net/repository/npm-all/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +progress@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + +prompts@^0.1.9: + version "0.1.14" + resolved "https://nexus.loafle.net/repository/npm-all/prompts/-/prompts-0.1.14.tgz#a8e15c612c5c9ec8f8111847df3337c9cbd443b2" + dependencies: + kleur "^2.0.1" + sisteransi "^0.1.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +psl@^1.1.24: + version "1.1.29" + resolved "https://nexus.loafle.net/repository/npm-all/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://nexus.loafle.net/repository/npm-all/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + +q@^1.4.1, q@^1.5.1: + version "1.5.1" + resolved "https://nexus.loafle.net/repository/npm-all/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + +qs@^6.5.2, qs@~6.5.2: + version "6.5.2" + resolved "https://nexus.loafle.net/repository/npm-all/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + +quick-lru@^1.0.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" + +randomatic@^3.0.0: + version "3.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +rc@^1.2.7: + version "1.2.8" + resolved "https://nexus.loafle.net/repository/npm-all/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg@^1.0.0, read-pkg@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2: + version "2.3.6" + resolved "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +realpath-native@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/realpath-native/-/realpath-native-1.0.1.tgz#07f40a0cce8f8261e2e8b7ebebf5c95965d7b633" + dependencies: + util.promisify "^1.0.0" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://nexus.loafle.net/repository/npm-all/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +redent@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" + dependencies: + indent-string "^3.0.0" + strip-indent "^2.0.0" + +reflect-metadata@^0.1.12: + version "0.1.12" + resolved "https://nexus.loafle.net/repository/npm-all/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2" + +regenerate@^1.2.1: + version "1.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + +regenerator-runtime@^0.10.0: + version "0.10.5" + resolved "https://nexus.loafle.net/repository/npm-all/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://nexus.loafle.net/repository/npm-all/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://nexus.loafle.net/repository/npm-all/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://nexus.loafle.net/repository/npm-all/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://nexus.loafle.net/repository/npm-all/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://nexus.loafle.net/repository/npm-all/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://nexus.loafle.net/repository/npm-all/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + +request@^2.87.0: + version "2.88.0" + resolved "https://nexus.loafle.net/repository/npm-all/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + dependencies: + resolve-from "^3.0.0" + +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@1.1.7: + version "1.1.7" + resolved "https://nexus.loafle.net/repository/npm-all/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.6, resolve@^1.3.2, resolve@^1.5.0: + version "1.8.1" + resolved "https://nexus.loafle.net/repository/npm-all/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + dependencies: + path-parse "^1.0.5" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://nexus.loafle.net/repository/npm-all/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +right-pad@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" + +rimraf@^2.5.4, rimraf@^2.6.1: + version "2.6.2" + resolved "https://nexus.loafle.net/repository/npm-all/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +rollup-plugin-commonjs@^9.1.6: + version "9.1.6" + resolved "https://nexus.loafle.net/repository/npm-all/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.1.6.tgz#ad553813c922b71467152794b98f2fd0f195b8a5" + dependencies: + estree-walker "^0.5.1" + magic-string "^0.22.4" + resolve "^1.5.0" + rollup-pluginutils "^2.0.1" + +rollup-plugin-json@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/rollup-plugin-json/-/rollup-plugin-json-3.0.0.tgz#aeed2ff36e6c4fd0c60c4a8fc3d0884479e9dfce" + dependencies: + rollup-pluginutils "^2.2.0" + +rollup-plugin-node-resolve@^3.3.0: + version "3.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz#908585eda12e393caac7498715a01e08606abc89" + dependencies: + builtin-modules "^2.0.0" + is-module "^1.0.0" + resolve "^1.1.6" + +rollup-plugin-replace@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/rollup-plugin-replace/-/rollup-plugin-replace-2.0.0.tgz#19074089c8ed57184b8cc64e967a03d095119277" + dependencies: + magic-string "^0.22.4" + minimatch "^3.0.2" + rollup-pluginutils "^2.0.1" + +rollup-plugin-sourcemaps@^0.4.2: + version "0.4.2" + resolved "https://nexus.loafle.net/repository/npm-all/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.4.2.tgz#62125aa94087aadf7b83ef4dfaf629b473135e87" + dependencies: + rollup-pluginutils "^2.0.1" + source-map-resolve "^0.5.0" + +rollup-plugin-terser@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/rollup-plugin-terser/-/rollup-plugin-terser-1.0.1.tgz#ba5f497cbc9aa38ba19d3ee2167c04ea3ed279af" + dependencies: + "@babel/code-frame" "^7.0.0-beta.47" + terser "^3.7.5" + +rollup-plugin-uglify@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/rollup-plugin-uglify/-/rollup-plugin-uglify-4.0.0.tgz#6eb471738f1ce9ba7d9d4bc43b71cba02417c8fb" + dependencies: + "@babel/code-frame" "^7.0.0-beta.47" + uglify-js "^3.3.25" + +rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.2.0: + version "2.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/rollup-pluginutils/-/rollup-pluginutils-2.3.1.tgz#760d185ccc237dedc12d7ae48c6bcd127b4892d0" + dependencies: + estree-walker "^0.5.2" + micromatch "^2.3.11" + +rollup@^0.65.0: + version "0.65.1" + resolved "https://nexus.loafle.net/repository/npm-all/rollup/-/rollup-0.65.1.tgz#583ea5dc4c6e4d2d1ed9adc60bfaf2178afe9ea9" + dependencies: + "@types/estree" "0.0.39" + "@types/node" "*" + +rsvp@^3.3.3: + version "3.6.2" + resolved "https://nexus.loafle.net/repository/npm-all/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" + +run-async@^2.2.0: + version "2.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + dependencies: + is-promise "^2.1.0" + +rx@^4.1.0: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + +rxjs@^6.1.0: + version "6.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/rxjs/-/rxjs-6.3.2.tgz#6a688b16c4e6e980e62ea805ec30648e1c60907f" + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +sane@^2.0.0: + version "2.5.2" + resolved "https://nexus.loafle.net/repository/npm-all/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" + dependencies: + anymatch "^2.0.0" + capture-exit "^1.2.0" + exec-sh "^0.2.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.18.0" + optionalDependencies: + fsevents "^1.2.3" + +sax@^1.2.4: + version "1.2.4" + resolved "https://nexus.loafle.net/repository/npm-all/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + +semver-regex@1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" + +"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: + version "5.5.1" + resolved "https://nexus.loafle.net/repository/npm-all/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-value@^0.4.3: + version "0.4.3" + resolved "https://nexus.loafle.net/repository/npm-all/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shelljs@0.7.6: + version "0.7.6" + resolved "https://nexus.loafle.net/repository/npm-all/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shelljs@^0.8.1, shelljs@^0.8.2: + version "0.8.2" + resolved "https://nexus.loafle.net/repository/npm-all/shelljs/-/shelljs-0.8.2.tgz#345b7df7763f4c2340d584abb532c5f752ca9e35" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + +shx@^0.3.2: + version "0.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/shx/-/shx-0.3.2.tgz#40501ce14eb5e0cbcac7ddbd4b325563aad8c123" + dependencies: + es6-object-assign "^1.0.3" + minimist "^1.2.0" + shelljs "^0.8.1" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +sisteransi@^0.1.1: + version "0.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" + +slash@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://nexus.loafle.net/repository/npm-all/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sort-object-keys@^1.1.2: + version "1.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/sort-object-keys/-/sort-object-keys-1.1.2.tgz#d3a6c48dc2ac97e6bc94367696e03f6d09d37952" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://nexus.loafle.net/repository/npm-all/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://nexus.loafle.net/repository/npm-all/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map-support@^0.5.3, source-map-support@^0.5.6, source-map-support@~0.5.6: + version "0.5.9" + resolved "https://nexus.loafle.net/repository/npm-all/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: + version "0.5.7" + resolved "https://nexus.loafle.net/repository/npm-all/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://nexus.loafle.net/repository/npm-all/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +spawn-sync@^1.0.15: + version "1.0.15" + resolved "https://nexus.loafle.net/repository/npm-all/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" + dependencies: + concat-stream "^1.4.7" + os-shim "^0.1.2" + +spdx-correct@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + +split2@^2.0.0: + version "2.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" + dependencies: + through2 "^2.0.2" + +split@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.14.2" + resolved "https://nexus.loafle.net/repository/npm-all/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + safer-buffer "^2.0.2" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stack-utils@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" + +staged-git-files@1.1.1: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/staged-git-files/-/staged-git-files-1.1.1.tgz#37c2218ef0d6d26178b1310719309a16a59f8f7b" + +standard-version@^4.4.0: + version "4.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/standard-version/-/standard-version-4.4.0.tgz#99de7a0709e6cafddf9c5984dd342c8cfe66e79f" + dependencies: + chalk "^1.1.3" + conventional-changelog "^1.1.0" + conventional-recommended-bump "^1.0.0" + dotgitignore "^1.0.3" + figures "^1.5.0" + fs-access "^1.0.0" + semver "^5.1.0" + yargs "^8.0.1" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + +string-argv@^0.0.2: + version "0.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" + +string-length@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.2.2: + version "3.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd" + dependencies: + get-own-enumerable-property-symbols "^2.0.1" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom@3.0.0, strip-bom@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + +strip-json-comments-cli@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/strip-json-comments-cli/-/strip-json-comments-cli-1.0.1.tgz#45d973c24bfb6788bc3e6ae9e6dfcbc0bfaebe21" + dependencies: + get-stdin "^5.0.1" + meow "^3.5.0" + strip-json-comments "^2.0.0" + +strip-json-comments@2.0.1, strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.2: + version "3.2.3" + resolved "https://nexus.loafle.net/repository/npm-all/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + dependencies: + has-flag "^3.0.0" + +symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + +symbol-tree@^3.2.2: + version "3.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + +tapable@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" + +tar@^4: + version "4.4.6" + resolved "https://nexus.loafle.net/repository/npm-all/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.3.3" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +terser@^3.7.5: + version "3.8.2" + resolved "https://nexus.loafle.net/repository/npm-all/terser/-/terser-3.8.2.tgz#48b880f949f8d038aca4dfd00a37c53d96ecf9fb" + dependencies: + commander "~2.17.1" + source-map "~0.6.1" + source-map-support "~0.5.6" + +test-exclude@^4.2.1: + version "4.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/test-exclude/-/test-exclude-4.2.2.tgz#8b67aa8408f84afc225b06669e25c510f8582820" + dependencies: + arrify "^1.0.1" + minimatch "^3.0.4" + read-pkg-up "^3.0.0" + require-main-filename "^1.0.1" + +text-extensions@^1.0.0: + version "1.7.0" + resolved "https://nexus.loafle.net/repository/npm-all/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39" + +throat@^4.0.0: + version "4.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + +through2@^2.0.0, through2@^2.0.2: + version "2.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through@2, "through@>=2.2.7 <3", through@^2.3.6: + version "2.3.8" + resolved "https://nexus.loafle.net/repository/npm-all/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tmp@^0.0.29: + version "0.0.29" + resolved "https://nexus.loafle.net/repository/npm-all/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" + dependencies: + os-tmpdir "~1.0.1" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://nexus.loafle.net/repository/npm-all/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@>=2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://nexus.loafle.net/repository/npm-all/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-newlines@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" + +trim-off-newlines@^1.0.0: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +ts-jest@^23.1.4: + version "23.1.4" + resolved "https://nexus.loafle.net/repository/npm-all/ts-jest/-/ts-jest-23.1.4.tgz#66ac1d8d3fbf8f9a98432b11aa377aa850664b2b" + dependencies: + closest-file-data "^0.1.4" + fs-extra "6.0.1" + json5 "^0.5.0" + lodash "^4.17.10" + +tslib@1.9.0: + version "1.9.0" + resolved "https://nexus.loafle.net/repository/npm-all/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" + +tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.9.3" + resolved "https://nexus.loafle.net/repository/npm-all/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + +tslint-config-standard@^7.1.0: + version "7.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/tslint-config-standard/-/tslint-config-standard-7.1.0.tgz#6bcc435a179478e365f6cc62312a561221985760" + dependencies: + tslint-eslint-rules "^5.3.1" + +tslint-eslint-rules@^5.3.1: + version "5.4.0" + resolved "https://nexus.loafle.net/repository/npm-all/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz#e488cc9181bf193fe5cd7bfca213a7695f1737b5" + dependencies: + doctrine "0.7.2" + tslib "1.9.0" + tsutils "^3.0.0" + +tslint@^5.11.0: + version "5.11.0" + resolved "https://nexus.loafle.net/repository/npm-all/tslint/-/tslint-5.11.0.tgz#98f30c02eae3cde7006201e4c33cb08b48581eed" + dependencies: + babel-code-frame "^6.22.0" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^3.2.0" + glob "^7.1.1" + js-yaml "^3.7.0" + minimatch "^3.0.4" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.8.0" + tsutils "^2.27.2" + +tsutils@^2.27.2: + version "2.29.0" + resolved "https://nexus.loafle.net/repository/npm-all/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" + dependencies: + tslib "^1.8.1" + +tsutils@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/tsutils/-/tsutils-3.0.0.tgz#0c5070a17a0503e056da038c48b5a1870a50a9ad" + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://nexus.loafle.net/repository/npm-all/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://nexus.loafle.net/repository/npm-all/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://nexus.loafle.net/repository/npm-all/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +typedoc-default-themes@^0.5.0: + version "0.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz#6dc2433e78ed8bea8e887a3acde2f31785bd6227" + +typedoc@^0.12.0: + version "0.12.0" + resolved "https://nexus.loafle.net/repository/npm-all/typedoc/-/typedoc-0.12.0.tgz#c5d606f52af29d841658e18d9faa1a72acf0e270" + dependencies: + "@types/fs-extra" "^5.0.3" + "@types/handlebars" "^4.0.38" + "@types/highlight.js" "^9.12.3" + "@types/lodash" "^4.14.110" + "@types/marked" "^0.4.0" + "@types/minimatch" "3.0.3" + "@types/shelljs" "^0.8.0" + fs-extra "^7.0.0" + handlebars "^4.0.6" + highlight.js "^9.0.0" + lodash "^4.17.10" + marked "^0.4.0" + minimatch "^3.0.0" + progress "^2.0.0" + shelljs "^0.8.2" + typedoc-default-themes "^0.5.0" + typescript "3.0.x" + +typescript@3.0.x: + version "3.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/typescript/-/typescript-3.0.3.tgz#4853b3e275ecdaa27f78fda46dc273a7eb7fc1c8" + +typescript@^2.9.2: + version "2.9.2" + resolved "https://nexus.loafle.net/repository/npm-all/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" + +uglify-js@^3.1.4, uglify-js@^3.3.25: + version "3.4.9" + resolved "https://nexus.loafle.net/repository/npm-all/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" + dependencies: + commander "~2.17.1" + source-map "~0.6.1" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +use@^3.1.0: + version "3.1.1" + resolved "https://nexus.loafle.net/repository/npm-all/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +uuid@^3.1.0, uuid@^3.3.2: + version "3.3.2" + resolved "https://nexus.loafle.net/repository/npm-all/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + +validate-commit-msg@^2.14.0: + version "2.14.0" + resolved "https://nexus.loafle.net/repository/npm-all/validate-commit-msg/-/validate-commit-msg-2.14.0.tgz#e5383691012cbb270dcc0bc2a4effebe14890eac" + dependencies: + conventional-commit-types "^2.0.0" + find-parent-dir "^0.3.0" + findup "0.1.5" + semver-regex "1.0.0" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://nexus.loafle.net/repository/npm-all/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vlq@^0.2.2: + version "0.2.3" + resolved "https://nexus.loafle.net/repository/npm-all/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + dependencies: + browser-process-hrtime "^0.1.2" + +walker@~1.0.5: + version "1.0.7" + resolved "https://nexus.loafle.net/repository/npm-all/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + dependencies: + makeerror "1.0.x" + +watch@~0.18.0: + version "0.18.0" + resolved "https://nexus.loafle.net/repository/npm-all/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" + dependencies: + exec-sh "^0.2.0" + minimist "^1.2.0" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + +webpack-combine-loaders@2.0.4: + version "2.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/webpack-combine-loaders/-/webpack-combine-loaders-2.0.4.tgz#27814d52b8329ed6565be39009aac76361e7e22c" + dependencies: + qs "^6.5.2" + +webpack-config-utils@^2.3.0: + version "2.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/webpack-config-utils/-/webpack-config-utils-2.3.1.tgz#a51826ddd4de26c10dfdb81cbff8aac0debb0a36" + dependencies: + webpack-combine-loaders "2.0.4" + +webpack-log@^1.2.0: + version "1.2.0" + resolved "https://nexus.loafle.net/repository/npm-all/webpack-log/-/webpack-log-1.2.0.tgz#a4b34cda6b22b518dbb0ab32e567962d5c72a43d" + dependencies: + chalk "^2.1.0" + log-symbols "^2.1.0" + loglevelnext "^1.0.1" + uuid "^3.1.0" + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: + version "1.0.4" + resolved "https://nexus.loafle.net/repository/npm-all/whatwg-encoding/-/whatwg-encoding-1.0.4.tgz#63fb016b7435b795d9025632c086a5209dbd2621" + dependencies: + iconv-lite "0.4.23" + +whatwg-mimetype@^2.1.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4" + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://nexus.loafle.net/repository/npm-all/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@^1.2.10, which@^1.2.12, which@^1.2.9, which@^1.3.0: + version "1.3.1" + resolved "https://nexus.loafle.net/repository/npm-all/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://nexus.loafle.net/repository/npm-all/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@^1.0.3: + version "1.2.3" + resolved "https://nexus.loafle.net/repository/npm-all/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://nexus.loafle.net/repository/npm-all/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^2.1.0: + version "2.3.0" + resolved "https://nexus.loafle.net/repository/npm-all/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +ws@^5.2.0: + version "5.2.2" + resolved "https://nexus.loafle.net/repository/npm-all/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + dependencies: + async-limiter "~1.0.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + +xtend@~4.0.1: + version "4.0.1" + resolved "https://nexus.loafle.net/repository/npm-all/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://nexus.loafle.net/repository/npm-all/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://nexus.loafle.net/repository/npm-all/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + +yargs-parser@^10.0.0: + version "10.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + dependencies: + camelcase "^4.1.0" + +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://nexus.loafle.net/repository/npm-all/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + +yargs-parser@^9.0.2: + version "9.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + dependencies: + camelcase "^4.1.0" + +yargs@^11.0.0: + version "11.1.0" + resolved "https://nexus.loafle.net/repository/npm-all/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^9.0.2" + +yargs@^8.0.1: + version "8.0.2" + resolved "https://nexus.loafle.net/repository/npm-all/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0"