From caa3fd445da3f2023f9206d7ed088cd6490058db Mon Sep 17 00:00:00 2001 From: Omar Reiss Date: Mon, 9 Jul 2018 09:39:31 +0200 Subject: [PATCH] Packages: Move packages repository into Gutenberg (#7556) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * camelCase for readme variable names * update hook and `vendor/plugin/function` wording, removing `Name` * complte namespace shortening to `vendor/plugin/function` * Publish - @wordpress/a11y@0.1.0-beta.2 - @wordpress/dom-ready@0.1.0-beta.2 - @wordpress/hooks@0.1.0-beta.0 - @wordpress/url@0.1.0-beta.2 * add publishConfig->access:public for hooks * Publish - @wordpress/hooks@0.1.0-beta.1 * correctly enable dashes in regexes in validateNamespace * Export a hooks function enabling adding hooks via composition * test hooks can be instantiated * Run test on objects instead of globally * correct data return for Hooks * Rework the Hooks object, use a local HOOKS instead of global * use object based hooks throughout testing * remove unused global HOOKS * remove some logging * remove extra parts from namespace in tests * remov vendor/plugin prefix requirement for namespaces * update docs * Add a test for “Can add filters with dashes in namespaces” * a11y: Apply .screen-reader-text styles to container * a11y: Update tests per updated style Questionable value of the test assertions, which are specific to the implementation and not the expected intent of the test case * update readme, add some tests * switch naming to `createHooks` and correct tests * remove extraneous single quotes * remove the HOOKS global abstraction * update test beforeEach cleanup to match new object structure * use export defaults * Clean up readme for new approach * url - add built files * hooks - add built files * dom-ready - add built files * a11y - add built files * remove build filders from gitignore * Publish - @wordpress/a11y@0.1.0-beta.3 - @wordpress/dom-ready@0.1.0-beta.3 - @wordpress/hooks@0.1.0-beta.2 - @wordpress/url@0.1.0-beta.3 * re-ignore build files; didn’t resolve publishing issue * Simplify dom-ready package.json, add a license field * Publish - @wordpress/a11y@0.1.0-beta.4 - @wordpress/dom-ready@0.1.0-beta.4 - @wordpress/hooks@0.1.0-beta.3 * Update readmes to include `@next` in npm install line Since our packages are still in pre-release, the @next tag is required to install the latest published version. We can remove this instruction once the packages are past pre-release. * Publish - @wordpress/a11y@0.1.0-beta.5 - @wordpress/dom-ready@0.1.0-beta.5 - @wordpress/hooks@0.1.0-beta.4 - @wordpress/url@0.1.0-beta.4 * remove the built files which were added by mistake * Publish - @wordpress/a11y@0.1.0-beta.6 - @wordpress/dom-ready@0.1.0-beta.6 - @wordpress/hooks@0.1.0-beta.5 - @wordpress/url@0.1.0-beta.5 * Hooks: Update hooks public API to make it possible to apply to wp.hooks directly (#45) * Development: Improve onboarding experience for new contributors (#46) * Update screen-reader-text CSS. * Hooks: Allow slashes in the namespace (#47) * Hooks: Allow slashes in the namespace * Hooks: Add test ensuring backlash is not allowed inside namespace * Publish - @wordpress/a11y@1.0.0 - @wordpress/hooks@1.0.0 * a11y & hooks: remove ‘@next’ from install instructions * tag a11y and hooks at 1.0.1 * Trigger actions when adding or removing hooks * add tests for expected hookAdded and hookRemoved events * these are hooks not hoods (typo) * Tests: Refactor tests to use Jest mocks * Standardize format of package.json files (#54) * Add tests for addFilter/removeFilter * whitespace * Docs update for hooks added/removed events * Hooks: Final touches for the add/remove actions * Publish - @wordpress/a11y@1.0.2 - @wordpress/dom-ready@0.1.0-beta.7 - @wordpress/hooks@1.1.0 - @wordpress/url@0.1.0-beta.6 * Update Lerna and Jest to the latest version (#56) * Implement autop package * Port PHP wpautop faithfully to JS * docs: Update Lerna docs to use `npx` * Update license in `package.json` to adhere to SPDX v3.0 specification * Update license in `package.json` to adhere to SPDX v3.0 specification * Enforce using the latest LTS version (8.x) of Node and up * Move node version check to prebuild run script * Remove superfluous `a` and use full Node.js name * Jest-console: Add new package with console object matchers for Jest * Jest-console: Add package documentation * Jest-console: Integrate test matchers with packages repository * Jest-console: Fix typos in README file * Jest-console: Whitelist folders published to npm * Update install instruction in README files that use beta releases (#63) * Publish - @wordpress/a11y@1.0.3 - @wordpress/autop@1.0.1 - @wordpress/dom-ready@1.0.0 - @wordpress/hooks@1.1.1 - @wordpress/jest-console@1.0.0 - @wordpress/url@1.0.0 * chore: Update `.editorconfig` to match WordPress' upstream * chore: Use tabs for indentaion in `lerna.json` * chore: Use tabs for indentaion in _root_ `package.json` and `package-lock.json` files * chore: Use tabs for indentaion in _url_ package `package.json` and `package-lock.json` files * chore: Use tabs for indentaion in _jest-console_ package `package.json` and `package-lock.json` files * chore: Use tabs for indentaion in _hooks_ package `package.json` and add missing `package-lock.json` file * chore: Use tabs for indentaion in _dom-ready_ package `package.json` and `package-lock.json` files * chore: Use tabs for indentaion in _autop_ package `package.json` and `package-lock.json` files * chore: Use tabs for indentaion in _a11y_ package `package.json` and `package-lock.json` files * chore: Update _autop_ `package.json` fields * Babel-preset-default: Add new package containing the default Babel configuration (#66) * Publish (#67) - @wordpress/a11y@1.0.4 - @wordpress/autop@1.0.2 - @wordpress/babel-preset-default@1.0.1-0 - @wordpress/dom-ready@1.0.1 - @wordpress/hooks@1.1.2 - @wordpress/jest-console@1.0.1 - @wordpress/url@1.0.1 * Scripts: New scripts package containing test command (#62) * Scripts: initial commit with scripts package containing test command * Publish - @wordpress/scripts@1.0.1-0 * Scripts: Minor changes before publishing to npm * Publish - @wordpress/a11y@1.0.5 - @wordpress/autop@1.0.3 - @wordpress/babel-preset-default@1.0.0 - @wordpress/dom-ready@1.0.2 - @wordpress/hooks@1.1.3 - @wordpress/jest-console@1.0.2 - @wordpress/scripts@1.0.0 - @wordpress/url@1.0.2 * feat: Add `@wordpress/browserslist-config` package * docs: fix spelling in CHANGELOG.md and consistent formatting * chore: remove `browserslist` from `peerDependencies` * tests(browserslist-config): refactor test per coding standards * Packages: Make sure dependencies are properly exposed for external usage (#71) * Publish - @wordpress/babel-preset-default@1.0.1 - @wordpress/browserslist-config@2.0.0 - @wordpress/jest-console@1.0.3 - @wordpress/scripts@1.0.1 * Babel-preset-default: Makre sure transform runtime plugin is not loaded in test env (#73) * Publish - @wordpress/babel-preset-default@1.0.2 * 📦 NEW: Update Lerna to 2.8.0 * chore: use tabs for indentation in `lerna.json` * build: use `browserslist-config-wordpress` Browserslist shared config (#68) * build: use `browserslist-config-wordpress` Browserslist shared config * chore(babel-preset-default): switch to `@wordpress/browserslist-config` * chore: fix merge conflict * chore: regenerate `package-lock.json` * Browserslit config: Add devDependency in the root repository * Babel preset default: Add missing spaces around square brackets * Jest preset: Add default jest preset for WordPress development (#74) * Jest preset: Add default jest preset for WordPress developmnent * Jest preset: Use path to jest preset relative to root directory * Publish - @wordpress/babel-preset-default@1.0.3 - @wordpress/jest-preset-default@1.0.0 - @wordpress/scripts@1.0.2 * Tests: Fix wrongly configured dependencies for Jest preset (#75) * Publish - @wordpress/jest-preset-default@1.0.1 * Dependencies: Update Jest preset dependencies version (#76) * Build: Symlink all child packages instead of using versions published to npm (#77) * docs: add link to browserslist usage examples docs (#80) * docs: update browserslist readme example usage * docs (browserslist): Link to external configuration examples * Update README.md * chore(browserslist): update Browserslist to v3.0.0 * chore(browserslist): update Browserslist to v3.1.0 * Publish - @wordpress/babel-preset-default@1.1.0 - @wordpress/browserslist-config@2.1.0 - @wordpress/jest-console@1.0.4 - @wordpress/jest-preset-default@1.0.2 * chore: update Lerna to 2.9.0 * Build: Use node script to symlink local npm dependencies (#79) * Build: Use node script to symlink local npm dependencies * Chore: Update symlink-or-copy to v1.2.0 * Chore: Added npm-run-all to simplify npm scripts * docs: ❤️ Code is Poetry * docs: use canonical _Code is Poetry_ image and center image using HTML Props @rmccue. * Scripts: Provide the default configuration for the `test` command (#83) * Scripts: Provide the default configuration for the `test` command It is used in the case when the project does not have a config for Jest or Babel * Scripts: Add tests for utils to ensure they work properly * Add back end-of-file new line * fix(scripts): rename script from `test-unit` to `test-unit-js` (#86) * Chore: Update Jest dependencies (#87) * Publish - @wordpress/a11y@1.0.6 - @wordpress/autop@1.0.4 - @wordpress/babel-preset-default@1.1.1 - @wordpress/browserslist-config@2.1.1 - @wordpress/dom-ready@1.0.3 - @wordpress/hooks@1.1.4 - @wordpress/jest-console@1.0.5 - @wordpress/jest-preset-default@1.0.3 - @wordpress/scripts@1.1.0 - @wordpress/url@1.0.3 * chore: remove `package-lock.json` files, lockfiles for apps, but not for packages * chore: add `package-lock.json` to `gitignore` * chore: add `package-lock=false` in new `.npmrc` files for each package * chore: add `"npmClientArgs": ["--no-package-lock"]` to Lerna `bootstrap` command See https://github.com/lerna/lerna/issues/1235#issuecomment-365752506 * Remove Lerna `npmClientArgs` option * Hooks: Avoid validating namespace in runHooks Unnecessary because a hook cannot be registered with an invalid hook name, so it would not pass the subsequent condition to check that a hookset with corresponding name exists. * Hooks: Use null prototype object with truthy access https://jsperf.com/object-create-null-vs-hasownproperty * Hooks: Simplify return first arg logic Even if we don't intend to return value, no harm in assigning to args[ 0 ] * Hooks: Assign hooks current initial value in creation * Hooks: Avoid initializing hook history if not run * Hooks: Add baseline benchmark * Publish - @wordpress/a11y@1.0.7 - @wordpress/autop@1.0.5 - @wordpress/babel-preset-default@1.1.2 - @wordpress/browserslist-config@2.1.2 - @wordpress/dom-ready@1.0.4 - @wordpress/hooks@1.1.5 - @wordpress/jest-console@1.0.6 - @wordpress/jest-preset-default@1.0.4 - @wordpress/scripts@1.1.1 - @wordpress/url@1.0.4 * Wrap filename in backticks * Package: Add `@wordpress/custom-templated-path-webpack-plugin` package * chore: add` jest-preset` keyword to `jest-preset-default` * Hooks: Fix undefined arguments on consecutive action callbacks * Hooks: Correct CHANGELOG version to 1.1.6 * Publish - @wordpress/hooks@1.1.6 - @wordpress/jest-preset-default@1.0.5 - @wordpress/scripts@1.1.2 * Custom Templated Path Plugin: Remove debugging statement from tests 😬 * docs: updated handbook URL * docs: update the Browserslist example repo URL (#98) * WordPress i18n package: Initial commit (#96) * docs(i18n): Standardize `README.md` format * Publish - @wordpress/babel-plugin-makepot@1.0.0 - @wordpress/babel-preset-default@1.1.3 - @wordpress/browserslist-config@2.1.3 - @wordpress/custom-templated-path-webpack-plugin@1.0.1 - @wordpress/i18n@1.0.0 - @wordpress/scripts@1.1.3 * return a boolean from `hasHook` not the hook count * simplify logic * update tests to expect booleans from hasFilter/Action * Clean up docs and return * Add `publish:check` script to run `lerna updated` * babel-preset-default: Remove babel-plugin-lodash (#109) * Publish - @wordpress/babel-preset-default@1.2.0 - @wordpress/hooks@1.1.7 - @wordpress/scripts@1.1.4 * i18n: Support accumulatively registering additional locale data for domain (#105) * allow for setting additional locale data for a domain accumulatively * woops wrong object reference * add test for accumulation of localeData * repackage additional tests * use more performant “in” check instead of lodash `_.has` * use hasOwnProperty instead of in * fix formatting for code style * fix formatting * use Object.assign instead of lodash.merge * add new plural strings to tests * simplify merging * indent, indent * i18n: Fix indentation * i18n: Memoize dcnpgettext (#101) * i18n: Memoize dcnpgettext * i18n: Export dcnpgettext inline * Publish - @wordpress/i18n@1.1.0 * Add WordCounter package (#10) * Adding WordCounter package * Simplifying test syntax * export the count as default * Creating a simpler API * Refactor into a single function export * Modification based on review notes * Complete refactor based on suggestions from @omarreiss * Remove conditional check * Moving each function into a new file. Exporting an object so we can use a single settings property and make the calls a little more sane * Only importing the lodash method we need * Using flow to chain the matchWords/matchCharacters inner function calls * Adding readme * Addressing some feedback on the PR * Move to a simplier API * Updates the README to match API changes * Updates per review by @youknowriad * Adds missing dockblock param * Spacing issues * Adds correct docblocks and fixes some whitespace issues * Adding some whitespace as per review comment * Add prependHTTP() to @wordpress/url (#112) * Publish - @wordpress/url@1.1.0 - @wordpress/wordcount@1.0.0 * Add a publishConfig setting to wordcount's package.json, and fix the indenting. (#114) * Improve the publishing process documentation and error checking (#115) * Add package: @wordpress/is-shallow-equal (#110) * Add package: @wordpress/is-shallow-equal * Ignore benchmark for codecov No need to affect the codecoverage stats with a benchmarking script * Define benchmark dependencies as devDependencies Otherwise considered a proper required dependency from perspective of consuming project * Add test for arrays being completely equal (#117) * Add test for arrays being completely equal It's a nearly useless test, but it does get is-shallow-equal to 100% test coverage See https://codecov.io/gh/WordPress/packages/src/master/packages/is-shallow-equal/index.js#L48 for the one piece of code not currently tested. * fix spacing * add test for object copies * is-shallow-equal: Fall back to strict equality for non-object-like (#116) * Ensure inverse argument order has same test result * is-shallow-equal: Fall back to strict equality for non-object-like * is-shallow-equal: De-snark README.md * is-shallow-equal: Add changelog entry for 1.0.1 * wordcount: Add changelog entry for 1.0.1 * Publish - @wordpress/is-shallow-equal@1.0.1 - @wordpress/wordcount@1.0.1 * Improve hooks docs (#121) * Add a missing `p` in the docs remove -> removep (#120) * Fix/wordcount whitespace only error (#123) * Addresses error thrown when the results of matchWord or matchCharacters returns null. Includes test for the case * Changes as per @tofumatt * Going full ternary * is-shallow-equal: Use implicit index.js for main entry (#124) * Add autop@1.0.5 CHANGELOG entry * Add hooks@1.1.7 CHANGELOG entry * Add is-shallow-equal@1.0.2 CHANGELOG entry * Add wordcount@1.0.2 CHANGELOG entry * Correct autop, hooks latest CHANGELOG versions * Publish - @wordpress/autop@1.0.6 - @wordpress/hooks@1.1.8 - @wordpress/is-shallow-equal@1.0.2 - @wordpress/wordcount@1.0.2 * Add `@wordpress/npm-package-json-lint-config` package (#119) * Add `@wordpress/npm-package-json-lint-config` package * Standardize packages `package.json` format per `@wordpress/npm-package-json-lint` * Add unused `npm-package-json-lint` rules for reference * Update `npm-package-json-lint` to `3.0.0-alpha3` * Add `valid-values-publishConfig` rule with `{"access": "public"}` option for _packages_ repo * use tabs for indentation * Update npm-package-json-lint to v3 * Update npmPackageJsonLintConfig config formatting * Use latest `3.0.1` npm-package-json-lint release and remove `.npmpackagejsonlintrc.json` * Use `lint:pkg-json` as the npmPkgJsonLint script task name * fix `pretest` test script command * Npm package.json lint config: address my own comments * Add is-plain-object as devDependency * Add wordcount@1.0.3 CHANGELOG entry * Add scripts@1.1.5 CHANGELOG entry * Add npm-package-json-lint-config@1.0.0 CHANGELOG entry * Add jest-preset-default@1.0.5 CHANGELOG entry * Add jest-console@1.0.6 CHANGELOG entry * Add i18n@1.1.1 CHANGELOG entry * Add custom-templated-path-webpack-plugin@1.0.2 CHANGELOG entry * Add browserslist-config@2.1.3 CHANGELOG entry * Add babel-preset-default@1.2.1 CHANGELOG entry * Add babel-plugin-makepot@1.0.1 CHANGELOG entry * Add browserslist-config@2.1.4 CHANGELOG entry * Add jest-preset-default@1.0.6 CHANGELOG entry * Add jest-console@1.0.7 CHANGELOG entry * Add a custom Lerna publish commit message (#125) * chore(release): publish - @wordpress/babel-plugin-makepot@1.0.1 - @wordpress/babel-preset-default@1.2.1 - @wordpress/browserslist-config@2.1.4 - @wordpress/custom-templated-path-webpack-plugin@1.0.2 - @wordpress/i18n@1.1.1 - @wordpress/jest-console@1.0.7 - @wordpress/jest-preset-default@1.0.6 - @wordpress/npm-package-json-lint-config@1.0.0 - @wordpress/scripts@1.1.5 - @wordpress/wordcount@1.0.3 * Babel preset: Enable support for async generator functions (#126) * Babel preset: Enabled support for async generator functions * Babel preset: Add unit tests for async generator functions * Babel preset: Update changelog * chore(release): publish - @wordpress/babel-preset-default@1.3.0 - @wordpress/scripts@1.1.6 * chore: update `codecov` to v3, resolves all `npm audit` issues. (#127) * Scripts: Add support for lint-pkg-json script (#128) * Scripts: Add support for lint-pkg-json script * Scripts: Update documentation for `lint-pkg-json` command * Scripts: Update changelog * chore(release): publish - @wordpress/scripts@1.2.0 * Count when a hook that doesn't have any handlers is run. (#134) Fixes #133. * chore(release): publish - @wordpress/hooks@1.2.0 * Jest Console: Add new matchers for console.log and console.info (#137) * Jest Console: Add new matchers for console.log and console.info * Jest-console: Update CHANGELOG with braking changes details * Move packages from temporary directory to packages/ * Remove all the obsolete files from the old packages * Synchronize package.json with the one from packages. * Synchronize lerna.json with the one from packages * Remove old packages build script * Add `is-shallow-equal/benchmark` to codecov ignore * Remove npm-run-all * Packages: Synchronize dependencie to avoid having copies of the same libraries * Tests: Update test config to work with local packages * ESLint initial fixes via --fix * Build: Make Webpack build work again :) * Build: Fix the issue with babel makepot plugin * Packages: Fix all linter errors * Build: Use Lerna 3 for managing packages It folows the setup of Lerna itself which demonstrates "the golden path of local file: specifiers at scale". See: https://github.com/lerna/lerna/pull/1307. * Packages: Fix configuration with newly introduced packages * Testing: Try to fix jest-console tests * Testing: Try to fix jest-console tests * jest-preset-default: Alphabetize dependencies * Testing: Use toThrowError matcher for jest-console --- bin/packages/get-babel-config.js | 12 +- codecov.yml | 4 + lerna.json | 7 +- package-lock.json | 2495 ++++++++++++----- package.json | 74 +- packages/a11y/.npmrc | 1 + packages/a11y/README.md | 53 + packages/a11y/package.json | 28 + packages/a11y/src/addContainer.js | 36 + packages/a11y/src/clear.js | 11 + packages/a11y/src/filterMessage.js | 29 + packages/a11y/src/index.js | 47 + packages/a11y/src/test/addContainer.test.js | 45 + packages/a11y/src/test/clear.test.js | 19 + packages/a11y/src/test/filterMessage.test.js | 25 + packages/a11y/src/test/index.test.js | 106 + packages/autop/.npmrc | 1 + packages/autop/CHANGELOG.md | 3 + packages/autop/README.md | 32 + packages/autop/package.json | 24 + packages/autop/src/index.js | 412 +++ packages/autop/src/test/index.test.js | 497 ++++ .../package.json | 2 +- packages/babel-plugin-makepot/.npmrc | 1 + packages/babel-plugin-makepot/CHANGELOG.md | 3 + packages/babel-plugin-makepot/README.md | 18 + packages/babel-plugin-makepot/package.json | 34 + packages/babel-plugin-makepot/src/index.js | 345 +++ packages/babel-plugin-makepot/test/index.js | 125 + packages/babel-preset-default/.npmrc | 1 + packages/babel-preset-default/CHANGELOG.md | 7 + packages/babel-preset-default/README.md | 37 + packages/babel-preset-default/index.js | 22 + packages/babel-preset-default/package.json | 35 + packages/babel-preset-default/test/index.js | 15 + packages/browserslist-config/.npmrc | 1 + packages/browserslist-config/CHANGELOG.md | 37 + packages/browserslist-config/README.md | 25 + packages/browserslist-config/index.js | 13 + packages/browserslist-config/package.json | 30 + .../browserslist-config/test/index.test.js | 19 + packages/core-data/package.json | 6 +- .../CHANGELOG.md | 3 + .../README.md | 53 + .../package.json | 34 + .../src/index.js | 52 + .../test/fixtures/entry/index.js | 1 + .../test/fixtures/webpack.config.js | 37 + .../test/index.js | 36 + packages/data/package.json | 10 +- packages/dom-ready/.npmrc | 1 + packages/dom-ready/README.md | 27 + packages/dom-ready/package.json | 24 + packages/dom-ready/src/index.js | 16 + packages/dom-ready/src/test/index.test.js | 30 + packages/dom/package.json | 2 +- packages/element/package.json | 8 +- packages/hooks/.npmrc | 1 + packages/hooks/CHANGELOG.md | 7 + packages/hooks/README.md | 52 + packages/hooks/benchmark/index.js | 19 + packages/hooks/package.json | 27 + packages/hooks/src/createAddHook.js | 80 + packages/hooks/src/createCurrentHook.js | 27 + packages/hooks/src/createDidHook.js | 30 + packages/hooks/src/createDoingHook.js | 32 + packages/hooks/src/createHasHook.js | 23 + packages/hooks/src/createHooks.js | 42 + packages/hooks/src/createRemoveHook.js | 76 + packages/hooks/src/createRunHook.js | 72 + packages/hooks/src/index.js | 44 + packages/hooks/src/test/index.test.js | 699 +++++ packages/hooks/src/validateHookName.js | 32 + packages/hooks/src/validateNamespace.js | 25 + packages/i18n/.npmrc | 1 + packages/i18n/CHANGELOG.md | 3 + packages/i18n/README.md | 78 + packages/i18n/benchmark/index.js | 12 + packages/i18n/package.json | 36 + packages/i18n/src/index.js | 167 ++ packages/i18n/src/test/index.js | 121 + packages/i18n/tools/pot-to-php.js | 122 + packages/is-shallow-equal/.npmrc | 1 + packages/is-shallow-equal/CHANGELOG.md | 11 + packages/is-shallow-equal/README.md | 113 + packages/is-shallow-equal/benchmark/index.js | 53 + packages/is-shallow-equal/package.json | 34 + packages/is-shallow-equal/src/arrays.js | 27 + packages/is-shallow-equal/src/index.js | 33 + packages/is-shallow-equal/src/objects.js | 40 + packages/is-shallow-equal/src/test/index.js | 165 ++ packages/jest-console/.npmrc | 1 + packages/jest-console/CHANGELOG.md | 11 + packages/jest-console/README.md | 118 + packages/jest-console/package.json | 37 + packages/jest-console/src/index.js | 33 + packages/jest-console/src/matchers.js | 76 + .../jest-console/src/supported-matchers.js | 8 + packages/jest-console/src/test/index.test.js | 78 + packages/jest-preset-default/.npmrc | 1 + packages/jest-preset-default/CHANGELOG.md | 8 + packages/jest-preset-default/README.md | 49 + packages/jest-preset-default/index.js | 1 + packages/jest-preset-default/jest-preset.json | 29 + packages/jest-preset-default/package.json | 42 + .../scripts/pegjs-transform.js | 16 + .../scripts/setup-globals.js | 56 + .../scripts/setup-test-framework.js | 22 + .../jest-preset-default/scripts/style-mock.js | 1 + packages/keycodes/package.json | 2 +- .../package.json | 2 +- packages/npm-package-json-lint-config/.npmrc | 1 + .../npm-package-json-lint-config/CHANGELOG.md | 3 + .../npm-package-json-lint-config/README.md | 65 + .../npm-package-json-lint-config/index.js | 111 + .../npm-package-json-lint-config/package.json | 33 + .../test/index.test.js | 19 + packages/plugins/package.json | 6 +- packages/scripts/.npmrc | 1 + packages/scripts/CHANGELOG.md | 7 + packages/scripts/README.md | 74 + packages/scripts/bin/wp-scripts.js | 10 + packages/scripts/config/babel-transform.js | 8 + packages/scripts/config/jest.config.js | 27 + .../scripts/config/npmpackagejsonlint.json | 3 + packages/scripts/package.json | 46 + packages/scripts/scripts/lint-pkg-json.js | 36 + packages/scripts/scripts/test-unit-jest.js | 39 + packages/scripts/scripts/test-unit-js.js | 1 + packages/scripts/utils/index.js | 92 + packages/scripts/utils/package.js | 23 + packages/scripts/utils/process.js | 7 + packages/scripts/utils/test/index.js | 134 + packages/shortcode/package.json | 2 +- packages/url/.npmrc | 1 + packages/url/README.md | 25 + packages/url/package.json | 24 + packages/url/src/index.js | 38 + packages/url/src/test/index.test.js | 83 + packages/wordcount/.npmrc | 1 + packages/wordcount/CHANGELOG.md | 15 + packages/wordcount/README.md | 26 + packages/wordcount/package.json | 27 + packages/wordcount/src/defaultSettings.js | 74 + packages/wordcount/src/index.js | 104 + packages/wordcount/src/stripConnectors.js | 14 + packages/wordcount/src/stripHTMLComments.js | 14 + packages/wordcount/src/stripHTMLEntities.js | 14 + packages/wordcount/src/stripRemovables.js | 14 + packages/wordcount/src/stripShortcodes.js | 14 + packages/wordcount/src/stripSpaces.js | 13 + packages/wordcount/src/stripTags.js | 13 + packages/wordcount/src/test/index.test.js | 107 + .../src/transposeAstralsToCountableChar.js | 14 + .../transposeHTMLEntitiesToCountableChars.js | 14 + test/integration/blocks-raw-handling.spec.js | 8 + test/unit/jest.config.json | 4 +- webpack.config.js | 30 +- 158 files changed, 8550 insertions(+), 856 deletions(-) create mode 100644 packages/a11y/.npmrc create mode 100644 packages/a11y/README.md create mode 100644 packages/a11y/package.json create mode 100644 packages/a11y/src/addContainer.js create mode 100644 packages/a11y/src/clear.js create mode 100644 packages/a11y/src/filterMessage.js create mode 100644 packages/a11y/src/index.js create mode 100644 packages/a11y/src/test/addContainer.test.js create mode 100644 packages/a11y/src/test/clear.test.js create mode 100644 packages/a11y/src/test/filterMessage.test.js create mode 100644 packages/a11y/src/test/index.test.js create mode 100644 packages/autop/.npmrc create mode 100644 packages/autop/CHANGELOG.md create mode 100644 packages/autop/README.md create mode 100644 packages/autop/package.json create mode 100644 packages/autop/src/index.js create mode 100644 packages/autop/src/test/index.test.js create mode 100644 packages/babel-plugin-makepot/.npmrc create mode 100644 packages/babel-plugin-makepot/CHANGELOG.md create mode 100644 packages/babel-plugin-makepot/README.md create mode 100644 packages/babel-plugin-makepot/package.json create mode 100644 packages/babel-plugin-makepot/src/index.js create mode 100644 packages/babel-plugin-makepot/test/index.js create mode 100644 packages/babel-preset-default/.npmrc create mode 100644 packages/babel-preset-default/CHANGELOG.md create mode 100644 packages/babel-preset-default/README.md create mode 100644 packages/babel-preset-default/index.js create mode 100644 packages/babel-preset-default/package.json create mode 100644 packages/babel-preset-default/test/index.js create mode 100644 packages/browserslist-config/.npmrc create mode 100644 packages/browserslist-config/CHANGELOG.md create mode 100644 packages/browserslist-config/README.md create mode 100644 packages/browserslist-config/index.js create mode 100644 packages/browserslist-config/package.json create mode 100644 packages/browserslist-config/test/index.test.js create mode 100644 packages/custom-templated-path-webpack-plugin/CHANGELOG.md create mode 100644 packages/custom-templated-path-webpack-plugin/README.md create mode 100644 packages/custom-templated-path-webpack-plugin/package.json create mode 100644 packages/custom-templated-path-webpack-plugin/src/index.js create mode 100644 packages/custom-templated-path-webpack-plugin/test/fixtures/entry/index.js create mode 100644 packages/custom-templated-path-webpack-plugin/test/fixtures/webpack.config.js create mode 100644 packages/custom-templated-path-webpack-plugin/test/index.js create mode 100644 packages/dom-ready/.npmrc create mode 100644 packages/dom-ready/README.md create mode 100644 packages/dom-ready/package.json create mode 100644 packages/dom-ready/src/index.js create mode 100644 packages/dom-ready/src/test/index.test.js create mode 100644 packages/hooks/.npmrc create mode 100644 packages/hooks/CHANGELOG.md create mode 100644 packages/hooks/README.md create mode 100644 packages/hooks/benchmark/index.js create mode 100644 packages/hooks/package.json create mode 100644 packages/hooks/src/createAddHook.js create mode 100644 packages/hooks/src/createCurrentHook.js create mode 100644 packages/hooks/src/createDidHook.js create mode 100644 packages/hooks/src/createDoingHook.js create mode 100644 packages/hooks/src/createHasHook.js create mode 100644 packages/hooks/src/createHooks.js create mode 100644 packages/hooks/src/createRemoveHook.js create mode 100644 packages/hooks/src/createRunHook.js create mode 100644 packages/hooks/src/index.js create mode 100644 packages/hooks/src/test/index.test.js create mode 100644 packages/hooks/src/validateHookName.js create mode 100644 packages/hooks/src/validateNamespace.js create mode 100644 packages/i18n/.npmrc create mode 100644 packages/i18n/CHANGELOG.md create mode 100644 packages/i18n/README.md create mode 100644 packages/i18n/benchmark/index.js create mode 100644 packages/i18n/package.json create mode 100644 packages/i18n/src/index.js create mode 100644 packages/i18n/src/test/index.js create mode 100755 packages/i18n/tools/pot-to-php.js create mode 100644 packages/is-shallow-equal/.npmrc create mode 100644 packages/is-shallow-equal/CHANGELOG.md create mode 100644 packages/is-shallow-equal/README.md create mode 100644 packages/is-shallow-equal/benchmark/index.js create mode 100644 packages/is-shallow-equal/package.json create mode 100644 packages/is-shallow-equal/src/arrays.js create mode 100644 packages/is-shallow-equal/src/index.js create mode 100644 packages/is-shallow-equal/src/objects.js create mode 100644 packages/is-shallow-equal/src/test/index.js create mode 100644 packages/jest-console/.npmrc create mode 100644 packages/jest-console/CHANGELOG.md create mode 100644 packages/jest-console/README.md create mode 100644 packages/jest-console/package.json create mode 100644 packages/jest-console/src/index.js create mode 100644 packages/jest-console/src/matchers.js create mode 100644 packages/jest-console/src/supported-matchers.js create mode 100644 packages/jest-console/src/test/index.test.js create mode 100644 packages/jest-preset-default/.npmrc create mode 100644 packages/jest-preset-default/CHANGELOG.md create mode 100644 packages/jest-preset-default/README.md create mode 100644 packages/jest-preset-default/index.js create mode 100644 packages/jest-preset-default/jest-preset.json create mode 100644 packages/jest-preset-default/package.json create mode 100644 packages/jest-preset-default/scripts/pegjs-transform.js create mode 100644 packages/jest-preset-default/scripts/setup-globals.js create mode 100644 packages/jest-preset-default/scripts/setup-test-framework.js create mode 100644 packages/jest-preset-default/scripts/style-mock.js create mode 100644 packages/npm-package-json-lint-config/.npmrc create mode 100644 packages/npm-package-json-lint-config/CHANGELOG.md create mode 100644 packages/npm-package-json-lint-config/README.md create mode 100644 packages/npm-package-json-lint-config/index.js create mode 100644 packages/npm-package-json-lint-config/package.json create mode 100644 packages/npm-package-json-lint-config/test/index.test.js create mode 100644 packages/scripts/.npmrc create mode 100644 packages/scripts/CHANGELOG.md create mode 100644 packages/scripts/README.md create mode 100755 packages/scripts/bin/wp-scripts.js create mode 100644 packages/scripts/config/babel-transform.js create mode 100644 packages/scripts/config/jest.config.js create mode 100644 packages/scripts/config/npmpackagejsonlint.json create mode 100644 packages/scripts/package.json create mode 100644 packages/scripts/scripts/lint-pkg-json.js create mode 100644 packages/scripts/scripts/test-unit-jest.js create mode 100644 packages/scripts/scripts/test-unit-js.js create mode 100644 packages/scripts/utils/index.js create mode 100644 packages/scripts/utils/package.js create mode 100644 packages/scripts/utils/process.js create mode 100644 packages/scripts/utils/test/index.js create mode 100644 packages/url/.npmrc create mode 100644 packages/url/README.md create mode 100644 packages/url/package.json create mode 100644 packages/url/src/index.js create mode 100644 packages/url/src/test/index.test.js create mode 100644 packages/wordcount/.npmrc create mode 100644 packages/wordcount/CHANGELOG.md create mode 100644 packages/wordcount/README.md create mode 100644 packages/wordcount/package.json create mode 100644 packages/wordcount/src/defaultSettings.js create mode 100644 packages/wordcount/src/index.js create mode 100644 packages/wordcount/src/stripConnectors.js create mode 100644 packages/wordcount/src/stripHTMLComments.js create mode 100644 packages/wordcount/src/stripHTMLEntities.js create mode 100644 packages/wordcount/src/stripRemovables.js create mode 100644 packages/wordcount/src/stripShortcodes.js create mode 100644 packages/wordcount/src/stripSpaces.js create mode 100644 packages/wordcount/src/stripTags.js create mode 100644 packages/wordcount/src/test/index.test.js create mode 100644 packages/wordcount/src/transposeAstralsToCountableChar.js create mode 100644 packages/wordcount/src/transposeHTMLEntitiesToCountableChars.js diff --git a/bin/packages/get-babel-config.js b/bin/packages/get-babel-config.js index ae213d5773c1b9..62ec7d1ca7c621 100644 --- a/bin/packages/get-babel-config.js +++ b/bin/packages/get-babel-config.js @@ -2,7 +2,6 @@ * External dependencies */ const { isArray, map } = require( 'lodash' ); -const babelPluginTransformReactJSX = require( 'babel-plugin-transform-react-jsx' ); const babelPresetEnv = require( 'babel-preset-env' ); /** @@ -10,17 +9,10 @@ const babelPresetEnv = require( 'babel-preset-env' ); */ const babelDefaultConfig = require( '@wordpress/babel-preset-default' ); -const plugins = map( babelDefaultConfig.plugins, ( plugin ) => { - if ( isArray( plugin ) && plugin[ 0 ] === babelPluginTransformReactJSX ) { - // TODO: It should become the default value when all modules are moved to packages. - return [ babelPluginTransformReactJSX, { pragma: 'createElement' } ]; - } - - return plugin; -} ); +const plugins = babelDefaultConfig.plugins; if ( ! process.env.SKIP_JSX_PRAGMA_TRANSFORM ) { - plugins.push( [ require( '../../packages/babel-plugin-import-jsx-pragma' ).default, { + plugins.push( [ require( '@wordpress/babel-plugin-import-jsx-pragma' ).default, { scopeVariable: 'createElement', source: '@wordpress/element', isDefault: false, diff --git a/codecov.yml b/codecov.yml index ad136e69553e1a..359363a0030b09 100644 --- a/codecov.yml +++ b/codecov.yml @@ -7,3 +7,7 @@ coverage: patch: off comment: false + +ignore: + - "packages/is-shallow-equal/benchmark/*" + diff --git a/lerna.json b/lerna.json index e339091b21bf65..431f4dec535daf 100644 --- a/lerna.json +++ b/lerna.json @@ -1,10 +1,13 @@ { - "lerna": "2.11.0", - "commands": { + "command": { "publish": { "message": "chore(release): publish" } }, + "ignoreChanges": [ + "**/benchmark/*.js", + "**/test/**" + ], "packages": [ "packages/*" ], diff --git a/package-lock.json b/package-lock.json index a7d8cd5162edc4..03d2c48bb6d941 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,12 +5,12 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz", - "integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=", + "version": "7.0.0-beta.52", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.52.tgz", + "integrity": "sha1-GSSDv6DR5GfBAVccIQKcy3SvKAE=", "dev": true, "requires": { - "@babel/highlight": "7.0.0-beta.49" + "@babel/highlight": "7.0.0-beta.52" } }, "@babel/helper-function-name": { @@ -35,9 +35,9 @@ } }, "@babel/highlight": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz", - "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", + "version": "7.0.0-beta.52", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.52.tgz", + "integrity": "sha1-7ySTFDLwYVXnvDnNuKaze0oos9A=", "dev": true, "requires": { "chalk": "^2.0.0", @@ -145,6 +145,724 @@ } } }, + "@lerna/add": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.0.0-beta.21.tgz", + "integrity": "sha512-IPRCgioIuPacBS938p1DaB0glqUp32FXDBpwxePUyg/LydpDuxalqW6lDuGO5YhDDCfMcN8CT/nx+An2IB5mUw==", + "dev": true, + "requires": { + "@lerna/bootstrap": "^3.0.0-beta.21", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/filter-options": "^3.0.0-beta.18", + "@lerna/validation-error": "^3.0.0-beta.10", + "dedent": "^0.7.0", + "npm-package-arg": "^6.0.0", + "p-map": "^1.2.0", + "package-json": "^4.0.1", + "semver": "^5.5.0" + } + }, + "@lerna/batch-packages": { + "version": "3.0.0-beta.18", + "resolved": "https://registry.npmjs.org/@lerna/batch-packages/-/batch-packages-3.0.0-beta.18.tgz", + "integrity": "sha512-ZFbKNQkp0vy2M1JGNMj6wX08E3Vv5mlA+QtScwOR2DGV2nG2HK5F7HcVICOi1BW9bjvHKjfU+e8aebTCWizllA==", + "dev": true, + "requires": { + "@lerna/package-graph": "^3.0.0-beta.18", + "@lerna/validation-error": "^3.0.0-beta.10", + "npmlog": "^4.1.2" + } + }, + "@lerna/bootstrap": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.0.0-beta.21.tgz", + "integrity": "sha512-UmLCrE9poTZ6F3itY/0tiJaTMTO88lQMjYOnNtmmj9nnmdXcfu6qAmmY062YpbYWbgHZd5gJ2/5rinl4EM19fA==", + "dev": true, + "requires": { + "@lerna/batch-packages": "^3.0.0-beta.18", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/filter-options": "^3.0.0-beta.18", + "@lerna/npm-conf": "^3.0.0-beta.19", + "@lerna/npm-install": "^3.0.0-beta.21", + "@lerna/rimraf-dir": "^3.0.0-beta.21", + "@lerna/run-lifecycle": "^3.0.0-beta.0", + "@lerna/run-parallel-batches": "^3.0.0-beta.0", + "@lerna/symlink-binary": "^3.0.0-beta.17", + "@lerna/symlink-dependencies": "^3.0.0-beta.17", + "@lerna/validation-error": "^3.0.0-beta.10", + "dedent": "^0.7.0", + "get-port": "^3.2.0", + "multimatch": "^2.1.0", + "npm-package-arg": "^6.0.0", + "npmlog": "^4.1.2", + "p-finally": "^1.0.0", + "p-map": "^1.2.0", + "p-map-series": "^1.0.0", + "p-waterfall": "^1.0.0", + "read-package-tree": "^5.1.6", + "semver": "^5.5.0" + } + }, + "@lerna/changed": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-3.0.0-beta.21.tgz", + "integrity": "sha512-qb7EkSNKMZjKayE4aiGZsSH9Ys/TOEWm4I9C/lv4vWjOhqYzpG0g56pH2s+m38Lk9iqj/Q9Dk1mn/8W+siVrDg==", + "dev": true, + "requires": { + "@lerna/collect-updates": "^3.0.0-beta.21", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/output": "^3.0.0-beta.0", + "@lerna/publish": "^3.0.0-beta.21", + "chalk": "^2.3.1" + } + }, + "@lerna/child-process": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-3.0.0-beta.21.tgz", + "integrity": "sha512-9FO1UFujjOUAepwdW+Fe4fKm6zPlGI58LiwOg5X69VIBvVxxXU++RpKQGL+Xdj5/Q6p7+oMnpivWIlPyODqsUQ==", + "dev": true, + "requires": { + "chalk": "^2.3.1", + "execa": "^0.10.0", + "strong-log-transformer": "^1.0.6" + } + }, + "@lerna/clean": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-3.0.0-beta.21.tgz", + "integrity": "sha512-OY/PigGfqRAFl430QLfhqL4ktdqgvzqU2MBIGljRi07H09Ux5UO7uhfGy3RaY4Wb+U+Xo91j/zkV3BdPQS1Uaw==", + "dev": true, + "requires": { + "@lerna/command": "^3.0.0-beta.21", + "@lerna/filter-options": "^3.0.0-beta.18", + "@lerna/prompt": "^3.0.0-beta.0", + "@lerna/rimraf-dir": "^3.0.0-beta.21", + "p-map": "^1.2.0", + "p-map-series": "^1.0.0", + "p-waterfall": "^1.0.0" + } + }, + "@lerna/cli": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-3.0.0-beta.21.tgz", + "integrity": "sha512-kEki2UDee0JWUQhfCv4qZknAST7C7OdIXb3T+IyOqpEP/MSbpYdGfwlxrkF7ZTVZHn4X0uP2op0fbQ1LRt757A==", + "dev": true, + "requires": { + "@lerna/add": "^3.0.0-beta.21", + "@lerna/bootstrap": "^3.0.0-beta.21", + "@lerna/changed": "^3.0.0-beta.21", + "@lerna/clean": "^3.0.0-beta.21", + "@lerna/create": "^3.0.0-beta.21", + "@lerna/diff": "^3.0.0-beta.21", + "@lerna/exec": "^3.0.0-beta.21", + "@lerna/global-options": "^3.0.0-beta.13", + "@lerna/import": "^3.0.0-beta.21", + "@lerna/init": "^3.0.0-beta.21", + "@lerna/link": "^3.0.0-beta.21", + "@lerna/list": "^3.0.0-beta.21", + "@lerna/publish": "^3.0.0-beta.21", + "@lerna/run": "^3.0.0-beta.21", + "dedent": "^0.7.0", + "is-ci": "^1.0.10", + "npmlog": "^4.1.2", + "yargs": "^11.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "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-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "@lerna/collect-packages": { + "version": "3.0.0-beta.17", + "resolved": "https://registry.npmjs.org/@lerna/collect-packages/-/collect-packages-3.0.0-beta.17.tgz", + "integrity": "sha512-ADGLVCKlIfGLkNk5iME6H3Wi2HjI5WwlB1MfGEDapv456uifWDZk+hmFbOK3402W+6MQvkCTrw3xeRZyX8mGTQ==", + "dev": true, + "requires": { + "@lerna/package": "^3.0.0-beta.17", + "@lerna/validation-error": "^3.0.0-beta.10", + "globby": "^8.0.1", + "load-json-file": "^4.0.0", + "p-map": "^1.2.0" + } + }, + "@lerna/collect-updates": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-3.0.0-beta.21.tgz", + "integrity": "sha512-4vYlELyws068eY35gDGZ7REHbRlYZo7eJKplVWuUEbWK21x0f8HIh4u6TLcG9WITXZ6HXWWdSP8pP7AKqa3I6w==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "semver": "^5.5.0", + "slash": "^1.0.0" + } + }, + "@lerna/command": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/command/-/command-3.0.0-beta.21.tgz", + "integrity": "sha512-ijshJe404Kskyey3VQpjZVoEQX8Bx3MbEQTE+PQb7bEzV5zvJJTuHApjcf20bESiKj8DjDoO/bmq0TX8rhSumA==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/collect-packages": "^3.0.0-beta.17", + "@lerna/collect-updates": "^3.0.0-beta.21", + "@lerna/filter-packages": "^3.0.0-beta.10", + "@lerna/package-graph": "^3.0.0-beta.18", + "@lerna/project": "^3.0.0-beta.20", + "@lerna/validation-error": "^3.0.0-beta.10", + "@lerna/write-log-file": "^3.0.0-beta.0", + "dedent": "^0.7.0", + "execa": "^0.10.0", + "lodash": "^4.17.5", + "npmlog": "^4.1.2" + } + }, + "@lerna/conventional-commits": { + "version": "3.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-3.0.0-beta.15.tgz", + "integrity": "sha512-r74KL1lclM7GJec6DvH7hIVDNYfqYPvK+7ZSRApbNfTEEzH+/IIyPqZnZflczrhWTQCoMWphbQK8zf9QazPcHQ==", + "dev": true, + "requires": { + "@lerna/validation-error": "^3.0.0-beta.10", + "conventional-changelog-angular": "^1.6.6", + "conventional-changelog-core": "^2.0.5", + "conventional-recommended-bump": "^2.0.6", + "dedent": "^0.7.0", + "fs-extra": "^5.0.0", + "get-stream": "^3.0.0", + "npm-package-arg": "^6.0.0", + "npmlog": "^4.1.2", + "semver": "^5.5.0" + } + }, + "@lerna/create": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-3.0.0-beta.21.tgz", + "integrity": "sha512-MxjaivJMSIm8VLLCspT6ob9BRus6+DMEizkF0kOiYTVHUh5PI2sCtsw7fa8sIGZQJeU0ELGrvMF4i4VXXFikSQ==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/npm-conf": "^3.0.0-beta.19", + "@lerna/validation-error": "^3.0.0-beta.10", + "camelcase": "^4.1.0", + "dedent": "^0.7.0", + "fs-extra": "^5.0.0", + "globby": "^8.0.1", + "init-package-json": "^1.10.3", + "npm-package-arg": "^6.0.0", + "pify": "^3.0.0", + "semver": "^5.5.0", + "slash": "^1.0.0", + "validate-npm-package-license": "^3.0.3", + "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + }, + "@lerna/create-symlink": { + "version": "3.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-3.0.0-beta.0.tgz", + "integrity": "sha512-i9gm0h3RVM8Mhe+kliWmZmLPcaxOyn8ccOtIqHIUanOB4MrlRsg9xQJtlpsEsG3szCKZ+EqcpM9sknEyoHyt4Q==", + "dev": true, + "requires": { + "cmd-shim": "^2.0.2", + "fs-extra": "^5.0.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/diff": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-3.0.0-beta.21.tgz", + "integrity": "sha512-/i/RrA6kPMGCsnYnsDixZtlzbM8Q21Ov31+UxP9Z4gAFMVbxyi3DmiQH+de9H8fuVVeqpSGg0XAnVN7nML+mIg==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/validation-error": "^3.0.0-beta.10", + "npmlog": "^4.1.2" + } + }, + "@lerna/exec": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-3.0.0-beta.21.tgz", + "integrity": "sha512-JsGpl98dk2CrQ3iMw2tFk9dbmf2iFDeOmFIHUWxDwXSC+MLiFCl+XZeJ4AY3/OmF2sQev/HtysfnaqULxkYxUQ==", + "dev": true, + "requires": { + "@lerna/batch-packages": "^3.0.0-beta.18", + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/filter-options": "^3.0.0-beta.18", + "@lerna/run-parallel-batches": "^3.0.0-beta.0", + "@lerna/validation-error": "^3.0.0-beta.10" + } + }, + "@lerna/filter-options": { + "version": "3.0.0-beta.18", + "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.0.0-beta.18.tgz", + "integrity": "sha512-2TiOR9+7hTv95CEYEIVxSpBFiU4UM6bi7VYwEgErfc8Q72Do9hx9Q1y1wAf2exdAUW5KYx1U+l2Ho/ovq8XEwQ==", + "dev": true, + "requires": { + "dedent": "^0.7.0" + } + }, + "@lerna/filter-packages": { + "version": "3.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-3.0.0-beta.10.tgz", + "integrity": "sha512-w8Q+tj5h4N4zPauTIdtgBiTD4pPJrV8kbnerxA2A3gWLbjKjDzn8XD7NJJ7HtNMc1x8M7mgyOdXeBZFu474Jgw==", + "dev": true, + "requires": { + "@lerna/validation-error": "^3.0.0-beta.10", + "multimatch": "^2.1.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/get-npm-exec-opts": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-3.0.0-beta.21.tgz", + "integrity": "sha512-+pIB/6wF0Xfz9+an/EDKC+vsba3UI+6GSkS6HyOfLhjCw6kDDGDC0oPmfJtr0DXavrunvKzYTOEm2cD/okEvkw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/global-options": { + "version": "3.0.0-beta.13", + "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.0.0-beta.13.tgz", + "integrity": "sha512-xQv3fdjMSXImeq424rauW5hfOYDTBZAq4kQn2Wbm0q4or+uznECwkfDUHwOY1RwYu40OkjJ1Wtt7DL+WTHSngQ==", + "dev": true + }, + "@lerna/import": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/import/-/import-3.0.0-beta.21.tgz", + "integrity": "sha512-D9+SqWMOdRvB3/vUlauX7BLy84cQ17tG9wzLIiK79JmxTXwnm7zK51oHQ8B51AE4GT96Ht421YAoOCFEpKAdbA==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/prompt": "^3.0.0-beta.0", + "@lerna/validation-error": "^3.0.0-beta.10", + "dedent": "^0.7.0", + "fs-extra": "^5.0.0", + "p-map-series": "^1.0.0" + } + }, + "@lerna/init": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/init/-/init-3.0.0-beta.21.tgz", + "integrity": "sha512-uI4FSNwsBZ3ulBWtJt09z90qfBDTPugyyEoFH5ZpoZ06rdXVoM3i1vbdzPnVGX5qsvIIjNfSu0/zUAw2kM3OJg==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/command": "^3.0.0-beta.21", + "fs-extra": "^5.0.0", + "p-map": "^1.2.0", + "write-json-file": "^2.3.0" + } + }, + "@lerna/link": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/link/-/link-3.0.0-beta.21.tgz", + "integrity": "sha512-thQb6Bq2BI1bFoTw2ADfGRG1DhBRCPteJmQxJZpPrzA6iB9dIFSQb3mXl/piUlF79Cv6Wliwi+3irtM9F5MgPw==", + "dev": true, + "requires": { + "@lerna/command": "^3.0.0-beta.21", + "@lerna/package-graph": "^3.0.0-beta.18", + "@lerna/symlink-dependencies": "^3.0.0-beta.17", + "p-map": "^1.2.0", + "slash": "^1.0.0" + } + }, + "@lerna/list": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/list/-/list-3.0.0-beta.21.tgz", + "integrity": "sha512-m++8Tb8vGj/1qtxomT7ic83DTR+8zY248X9XqOyLxlNnPyB/307lmA3Q5VHaTMLQ41d08BKdh0Sv9O++TYWUtA==", + "dev": true, + "requires": { + "@lerna/command": "^3.0.0-beta.21", + "@lerna/filter-options": "^3.0.0-beta.18", + "@lerna/output": "^3.0.0-beta.0", + "chalk": "^2.3.1", + "columnify": "^1.5.4" + } + }, + "@lerna/npm-conf": { + "version": "3.0.0-beta.19", + "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-3.0.0-beta.19.tgz", + "integrity": "sha512-6E5dx52ZuN9aV4Pe3rED6fccGGuZPznJpCjfSU8QXYvLfbCOkUOEik8+TzvzpD2N301ThtUpQqD+wtaGI8WtNw==", + "dev": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "@lerna/npm-dist-tag": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-3.0.0-beta.21.tgz", + "integrity": "sha512-G4RNx07THCsPQuHTXZZntiLCv2WeYdZkFZk/vcR3sHDaYR6JUaIPDIfwK7XGWRtU9uziRkeTnyi7QbJITyd+Xw==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/get-npm-exec-opts": "^3.0.0-beta.21", + "npmlog": "^4.1.2" + } + }, + "@lerna/npm-install": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-3.0.0-beta.21.tgz", + "integrity": "sha512-qYB7ZUWXura0PSBDkXfuyBSJMVPbOiFWuxB0O8fpSFW4o+/HaL137Ayjdr5Nxr6r4r0hlY4liKNYpXxyFAKE4g==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/get-npm-exec-opts": "^3.0.0-beta.21", + "fs-extra": "^5.0.0", + "npm-package-arg": "^6.0.0", + "npmlog": "^4.1.2", + "signal-exit": "^3.0.2", + "write-pkg": "^3.1.0" + } + }, + "@lerna/npm-publish": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-3.0.0-beta.21.tgz", + "integrity": "sha512-bgXejqsOZMquDGBmedAjHczun16X/E76BB9uwys02jTSKBqtYggaBii1kGaUVNL5dZ2mPyumj/8+Aps24DwdjA==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/get-npm-exec-opts": "^3.0.0-beta.21", + "npmlog": "^4.1.2" + } + }, + "@lerna/npm-run-script": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-3.0.0-beta.21.tgz", + "integrity": "sha512-2vmDsVVMEu1tGiF/gGXDW2Axm3ADzsJUn5O0PbrANZvoGEnMHY3dN4m8gDLOBb1B04h3jU8gbXQXUqrmZWvxUA==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/get-npm-exec-opts": "^3.0.0-beta.21", + "npmlog": "^4.1.2" + } + }, + "@lerna/output": { + "version": "3.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@lerna/output/-/output-3.0.0-beta.0.tgz", + "integrity": "sha512-jfndeh1Bf3bQHLkq7zTEV3dcgV+jIxekBqlhVs7KTZrGc/pXz4v+sqGd2HLByDxMTixELzslzntJIyKJ7RO4GA==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/package": { + "version": "3.0.0-beta.17", + "resolved": "https://registry.npmjs.org/@lerna/package/-/package-3.0.0-beta.17.tgz", + "integrity": "sha512-eLEbzMcNdCCMZmkG3IsIpAe04bq4unWkF6GaVplvv0UmP7ZmNPkopAJ3Mre5kpz7g6ICF96yjXJ8I3VCPJWELQ==", + "dev": true, + "requires": { + "npm-package-arg": "^6.0.0", + "write-pkg": "^3.1.0" + } + }, + "@lerna/package-graph": { + "version": "3.0.0-beta.18", + "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.0.0-beta.18.tgz", + "integrity": "sha512-7hmli0geLBhKPZylt4osZYXTlx+V7TwlKWjsndobx8DmCfu7l1IM8OLJ1WBBh/pjXIAdo277twX5uUVYunv2/g==", + "dev": true, + "requires": { + "npm-package-arg": "^6.0.0", + "semver": "^5.5.0" + } + }, + "@lerna/project": { + "version": "3.0.0-beta.20", + "resolved": "https://registry.npmjs.org/@lerna/project/-/project-3.0.0-beta.20.tgz", + "integrity": "sha512-bS0gD1ReT9l4ZwZXLM4bZBCb1tlJAzVZXJj4RVDgJ1pGt2h4UVMpWJCZqCuYhhiyu6J0v7ntwK3TQH+C3rlqcw==", + "dev": true, + "requires": { + "@lerna/package": "^3.0.0-beta.17", + "@lerna/validation-error": "^3.0.0-beta.10", + "cosmiconfig": "^5.0.2", + "dedent": "^0.7.0", + "dot-prop": "^4.2.0", + "glob-parent": "^3.1.0", + "load-json-file": "^4.0.0", + "npmlog": "^4.1.2", + "resolve-from": "^4.0.0", + "write-json-file": "^2.3.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.5.tgz", + "integrity": "sha512-94j37OtvxS5w7qr7Ta6dt67tWdnOxigBVN4VnSxNXFez9o18PGQ0D33SchKP17r9LAcWVTYV72G6vDayAUBFIg==", + "dev": true, + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "@lerna/prompt": { + "version": "3.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-3.0.0-beta.0.tgz", + "integrity": "sha512-hEBT3TiMzJgkxUx7vrvTfCn8ZwYEFy/e/FlFvoDV/MheX4OQ3+cb73mW7ya7J1akJ6jRXUvwmEcZnKXkKQgo/w==", + "dev": true, + "requires": { + "inquirer": "^5.1.0", + "npmlog": "^4.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "@lerna/publish": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-3.0.0-beta.21.tgz", + "integrity": "sha512-xsKcWFF8mlRCfmEvPE4G0R84JCmFpmmah/gVsviCLLmhkdoTwDugnp++Ij2ONx5wW+kSYhw7MflcbuygOU8t6w==", + "dev": true, + "requires": { + "@lerna/batch-packages": "^3.0.0-beta.18", + "@lerna/child-process": "^3.0.0-beta.21", + "@lerna/collect-updates": "^3.0.0-beta.21", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/conventional-commits": "^3.0.0-beta.15", + "@lerna/npm-conf": "^3.0.0-beta.19", + "@lerna/npm-dist-tag": "^3.0.0-beta.21", + "@lerna/npm-publish": "^3.0.0-beta.21", + "@lerna/output": "^3.0.0-beta.0", + "@lerna/prompt": "^3.0.0-beta.0", + "@lerna/run-lifecycle": "^3.0.0-beta.0", + "@lerna/run-parallel-batches": "^3.0.0-beta.0", + "@lerna/validation-error": "^3.0.0-beta.10", + "chalk": "^2.3.1", + "dedent": "^0.7.0", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "p-finally": "^1.0.0", + "p-map": "^1.2.0", + "p-reduce": "^1.0.0", + "p-waterfall": "^1.0.0", + "semver": "^5.5.0", + "slash": "^1.0.0", + "temp-write": "^3.4.0", + "write-json-file": "^2.3.0" + } + }, + "@lerna/resolve-symlink": { + "version": "3.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-3.0.0-beta.0.tgz", + "integrity": "sha512-eF2iqrQWcgGFKCSGGPm23+6WD+8hChGGEa2uHebo3UHGGbzXVnyMKHYC9Z8WK7mzt8k+s1BiwC0YYtqHcOFDvg==", + "dev": true, + "requires": { + "fs-extra": "^5.0.0", + "npmlog": "^4.1.2", + "read-cmd-shim": "^1.0.1" + } + }, + "@lerna/rimraf-dir": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-3.0.0-beta.21.tgz", + "integrity": "sha512-fHluLhYnQuaCoSd/PxhVMy095vETH47iw0V0RhwbYBNdrdsMI6zQoDNr+uSzuVawGIkQku1HuNt/olmMLYf6fg==", + "dev": true, + "requires": { + "@lerna/child-process": "^3.0.0-beta.21", + "npmlog": "^4.1.2", + "path-exists": "^3.0.0", + "rimraf": "^2.6.2" + } + }, + "@lerna/run": { + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@lerna/run/-/run-3.0.0-beta.21.tgz", + "integrity": "sha512-RhyXznUi0xcHj3PbeW0M1Dm5wH5z+oEUVLDyJJE+eqYjQiDfctYo9U4IgFw6wom/mPTUbE3j4BxAyR1U/ynuSg==", + "dev": true, + "requires": { + "@lerna/batch-packages": "^3.0.0-beta.18", + "@lerna/command": "^3.0.0-beta.21", + "@lerna/filter-options": "^3.0.0-beta.18", + "@lerna/npm-run-script": "^3.0.0-beta.21", + "@lerna/output": "^3.0.0-beta.0", + "@lerna/run-parallel-batches": "^3.0.0-beta.0", + "@lerna/validation-error": "^3.0.0-beta.10", + "p-map": "^1.2.0" + } + }, + "@lerna/run-lifecycle": { + "version": "3.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-3.0.0-beta.0.tgz", + "integrity": "sha512-QAmgToyNTKpPeyPm3lE6FEaTf58x3Rm5hHgzCA+e8kYeJ3XkopDfOcLJlpW0YA1pST5EbNGUipvS8P8zI1Va3Q==", + "dev": true, + "requires": { + "npm-lifecycle": "^2.0.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/run-parallel-batches": { + "version": "3.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@lerna/run-parallel-batches/-/run-parallel-batches-3.0.0-beta.0.tgz", + "integrity": "sha512-G8reoAaDwpF9mYhVfnxCUYm63RVXaTdT8zWHxnIamtdMhH1vPq+goUzLgCTAZuDO8c51H1SHu8XK/4agGwoP+A==", + "dev": true, + "requires": { + "p-map": "^1.2.0", + "p-map-series": "^1.0.0" + } + }, + "@lerna/symlink-binary": { + "version": "3.0.0-beta.17", + "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-3.0.0-beta.17.tgz", + "integrity": "sha512-OlDHER9NboPnrcC5LLRNW1yFhCrOPtr551yccTqaa2TQ0GNcfirztcgKsrWRJeiaH0nxs1Rwi4ZQmOk/sYB+sw==", + "dev": true, + "requires": { + "@lerna/create-symlink": "^3.0.0-beta.0", + "@lerna/package": "^3.0.0-beta.17", + "fs-extra": "^5.0.0", + "p-map": "^1.2.0", + "read-pkg": "^3.0.0" + } + }, + "@lerna/symlink-dependencies": { + "version": "3.0.0-beta.17", + "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-3.0.0-beta.17.tgz", + "integrity": "sha512-gawfpPH85rFXJCWrPJLHhnsloQr+wx6sjZK6aS9CwmWJAnsp9RAF6xODwG4C2kuHr4OsQCpIInhR7fCiVzGMLQ==", + "dev": true, + "requires": { + "@lerna/create-symlink": "^3.0.0-beta.0", + "@lerna/resolve-symlink": "^3.0.0-beta.0", + "@lerna/symlink-binary": "^3.0.0-beta.17", + "fs-extra": "^5.0.0", + "p-finally": "^1.0.0", + "p-map": "^1.2.0", + "p-map-series": "^1.0.0" + } + }, + "@lerna/validation-error": { + "version": "3.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-3.0.0-beta.10.tgz", + "integrity": "sha512-Ff7DPJzlgO7DIRp5812SxdWOWPJsF8kbhuEe79gcqyNJYxD+03tGnXDQcXt4zr9d8Np8Kmcl65xGhQDIH1q8lQ==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/write-log-file": { + "version": "3.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-3.0.0-beta.0.tgz", + "integrity": "sha512-2KJ2Zw4t8uHg827ihAmDpbWfuN6/5Yow5qWrw86Ip1ihMQ+CGMLqx5FDotlHLmOM7Io+xD5wh8yWOD+iDjKDPw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2", + "write-file-atomic": "^2.3.0" + } + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -240,9 +958,9 @@ "dev": true }, "@types/node": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.1.2.tgz", - "integrity": "sha512-bjk1RIeZBCe/WukrFToIVegOf91Pebr8cXYBwLBIsfiGWVQ+ifwWsT59H3RxrWzWrzd1l/Amk1/ioY5Fq3/bpA==", + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", + "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==", "dev": true }, "@webassemblyjs/ast": { @@ -459,35 +1177,37 @@ } }, "@wordpress/a11y": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@wordpress/a11y/-/a11y-1.0.6.tgz", - "integrity": "sha512-IyL7KzYGzMEg+FFyTrQzD/CUfABYCXOvmnm29vBZBA3JMER1ep3/+NFDe6CpWVEEMCw94oj2gUOSQ4YKVgDjUQ==", + "version": "file:packages/a11y", + "requires": { + "@wordpress/dom-ready": "file:packages/dom-ready" + } + }, + "@wordpress/api-request": { + "version": "file:packages/api-request", "requires": { - "@wordpress/dom-ready": "^1.0.3" + "jquery": "3.3.1" } }, "@wordpress/autop": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@wordpress/autop/-/autop-1.0.4.tgz", - "integrity": "sha512-nqm/gP+ipeUMvEngh4Sp4k5umph8SPqfc5aCd9Ge03mz4JSWAIE4z36pPQwId0a1B3hGqri5Wo40O1hQ851ZnA==" + "version": "file:packages/autop" + }, + "@wordpress/babel-plugin-import-jsx-pragma": { + "version": "file:packages/babel-plugin-import-jsx-pragma", + "dev": true }, "@wordpress/babel-plugin-makepot": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-makepot/-/babel-plugin-makepot-1.0.1.tgz", - "integrity": "sha512-n0ifXqE4jbEWxz+tCj3IM2nPH9sgelQx2ApKTPJNrOOMJq29s6RRXcUYzN8g68rNakXAGuFLlIRmPzIGrA1wWA==", + "version": "file:packages/babel-plugin-makepot", "dev": true, "requires": { "gettext-parser": "^1.3.1", - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "@wordpress/babel-preset-default": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-1.3.0.tgz", - "integrity": "sha512-xAw0qp9MJjPPNw0OS8cT3SCcPLVul3rJVwz+/KuJAJXuO/R3omGDX864FVuFDKFHZF+1jydXRW0GPih4MZ+6Lw==", + "version": "file:packages/babel-preset-default", "dev": true, "requires": { - "@wordpress/browserslist-config": "^2.1.4", + "@wordpress/browserslist-config": "file:packages/browserslist-config", "babel-plugin-transform-async-generator-functions": "^6.24.1", "babel-plugin-transform-object-rest-spread": "^6.23.0", "babel-plugin-transform-react-jsx": "^6.24.1", @@ -495,88 +1215,148 @@ "babel-preset-env": "^1.6.1" } }, - "@wordpress/browserslist-config": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-2.1.4.tgz", - "integrity": "sha512-J8vd88IFsjYwYZSIVATDjWa0pH997zvQ6quor30UdwhqdZ4ZWxIh4AEADqZA3I4EwskWVmg9n9DF7jVUDZPxwg==", - "dev": true + "@wordpress/blob": { + "version": "file:packages/blob" + }, + "@wordpress/browserslist-config": { + "version": "file:packages/browserslist-config", + "dev": true + }, + "@wordpress/core-data": { + "version": "file:packages/core-data", + "requires": { + "@wordpress/api-request": "file:packages/api-request", + "@wordpress/data": "file:packages/data", + "lodash": "4.17.10", + "rememo": "3.0.0" + } + }, + "@wordpress/custom-templated-path-webpack-plugin": { + "version": "file:packages/custom-templated-path-webpack-plugin", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "@wordpress/data": { + "version": "file:packages/data", + "requires": { + "@wordpress/deprecated": "file:packages/deprecated", + "@wordpress/element": "file:packages/element", + "@wordpress/is-shallow-equal": "file:packages/is-shallow-equal", + "equivalent-key-map": "0.2.0", + "lodash": "4.17.10", + "redux": "3.7.2" + } + }, + "@wordpress/date": { + "version": "file:packages/date", + "requires": { + "moment": "2.22.1", + "moment-timezone": "0.5.16" + } + }, + "@wordpress/deprecated": { + "version": "file:packages/deprecated" }, - "@wordpress/custom-templated-path-webpack-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@wordpress/custom-templated-path-webpack-plugin/-/custom-templated-path-webpack-plugin-1.0.2.tgz", - "integrity": "sha512-bm8lZo6YUMkrjcqxjPm0H3hz2nIKwLLXzz8RaOppo8FomkcaPSqmRl2N6Urwf9h9pKGh25K+5jyefKvhOMMw1A==", - "dev": true, + "@wordpress/dom": { + "version": "file:packages/dom", "requires": { - "escape-string-regexp": "^1.0.5" + "element-closest": "2.0.2", + "lodash": "4.17.10", + "tinymce": "4.7.2" } }, "@wordpress/dom-ready": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@wordpress/dom-ready/-/dom-ready-1.0.4.tgz", - "integrity": "sha512-FxSH0A23Xs0t/ZcvfiQly7P1V3pKsHQGjja+oISKV2NosfIcWjc3JTDFZYLcKjmSREozKqMoqVIPY+h1CP2ehw==" + "version": "file:packages/dom-ready" + }, + "@wordpress/element": { + "version": "file:packages/element", + "requires": { + "@wordpress/deprecated": "file:packages/deprecated", + "@wordpress/is-shallow-equal": "file:packages/is-shallow-equal", + "lodash": "4.17.10", + "react": "16.4.1", + "react-dom": "16.4.1" + } }, "@wordpress/hooks": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-1.1.6.tgz", - "integrity": "sha512-+7s5j296RTXRabaubvNK35ED/+WUYJgM8oeiHWP6RvPGd/2rkei3cI0SNwjBdaRrlNQ22vtzvCfhdDCyb9W1xQ==" + "version": "file:packages/hooks" }, "@wordpress/i18n": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-1.1.0.tgz", - "integrity": "sha512-zzpyhSaVOv5iLIwkJ4nrPt7FO+50xHlGDSJljfGdS+ypvFAnEHpCkkJ84F3NhHaYIIZqMEn5lC4k1edIaIqAbA==", + "version": "file:packages/i18n", "requires": { "gettext-parser": "^1.3.1", "jed": "^1.1.1", - "lodash": "^4.17.5", - "memize": "^1.0.5" + "lodash": "4.17.10", + "memize": "1.0.5" } }, "@wordpress/is-shallow-equal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-1.0.2.tgz", - "integrity": "sha512-xDw008Z8oILY/a0zwysEH9oknO6FCfMRVQYFqud5BiUGugxB78kE47KcOVqLkC5cm9wbvbYgly5w7DMwFLv5uw==" + "version": "file:packages/is-shallow-equal" }, "@wordpress/jest-console": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-1.0.7.tgz", - "integrity": "sha512-cYV7jhhn9KW+kpGSYZxqu8YhOitEouHujt/XDYmfCK0gYr7SMWVYu4XSN9UHxz9GFQck/7mgVQlNC1Xvf/zWlw==", + "version": "file:packages/jest-console", "dev": true, "requires": { - "jest-matcher-utils": "^22.4.0", - "lodash": "^4.17.4" + "jest-matcher-utils": "^22.4.3", + "lodash": "4.17.10" } }, "@wordpress/jest-preset-default": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-1.0.6.tgz", - "integrity": "sha512-vM60YzKgGex7jhyRlkQSUoTkR4nVmicU0yTSs5mnYcScLhi94qHQqUp5qzWrntgqIBe1YaMzCrxmoTC+QqccgQ==", + "version": "file:packages/jest-preset-default", "dev": true, "requires": { - "@wordpress/jest-console": "^1.0.7", - "babel-jest": "^22.1.0", + "@wordpress/jest-console": "file:packages/jest-console", + "babel-jest": "^22.4.4", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.1", "jest-enzyme": "^4.0.2", - "pegjs": "^0.10.0" + "pegjs": "0.10.0" + } + }, + "@wordpress/keycodes": { + "version": "file:packages/keycodes", + "requires": { + "lodash": "4.17.10" + } + }, + "@wordpress/library-export-default-webpack-plugin": { + "version": "file:packages/library-export-default-webpack-plugin", + "dev": true, + "requires": { + "lodash": "4.17.10", + "webpack-sources": "1.1.0" } }, "@wordpress/npm-package-json-lint-config": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-1.0.0.tgz", - "integrity": "sha512-6urMrDWGh56VpPVdrsJjOh4Xb3oe/xOj9Ah5nC0UG8zZyrlBNbUbniSwp6dzhRVQ/tSYtQBjEafxq96O3OY47w==", + "version": "file:packages/npm-package-json-lint-config", "dev": true }, + "@wordpress/plugins": { + "version": "file:packages/plugins", + "requires": { + "@wordpress/element": "file:packages/element", + "@wordpress/hooks": "file:packages/hooks", + "lodash": "4.17.10" + } + }, + "@wordpress/postcss-themes": { + "version": "file:packages/postcss-themes", + "dev": true, + "requires": { + "postcss": "^6.0.16" + } + }, "@wordpress/scripts": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-1.2.0.tgz", - "integrity": "sha512-3o2y5n4XmygXDVHi2hqmQUL589t3q0+H/t+LEqHVVvKt4R9MH/z32uTS9PjFsuxKfwfoOHwVYq+vqI5cO6B1OQ==", + "version": "file:packages/scripts", "dev": true, "requires": { - "@wordpress/babel-preset-default": "^1.3.0", - "@wordpress/jest-preset-default": "^1.0.6", - "@wordpress/npm-package-json-lint-config": "^1.0.0", + "@wordpress/babel-preset-default": "file:packages/babel-preset-default", + "@wordpress/jest-preset-default": "file:packages/jest-preset-default", + "@wordpress/npm-package-json-lint-config": "file:packages/npm-package-json-lint-config", "cross-spawn": "^5.1.0", - "jest": "^22.4.0", + "jest": "^22.4.4", "npm-package-json-lint": "^3.0.1", "read-pkg-up": "^3.0.0", "resolve-bin": "^0.4.0" @@ -584,8 +1364,7 @@ "dependencies": { "read-pkg-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "bundled": true, "dev": true, "requires": { "find-up": "^2.0.0", @@ -594,23 +1373,26 @@ } } }, + "@wordpress/shortcode": { + "version": "file:packages/shortcode", + "requires": { + "lodash": "4.17.10" + } + }, "@wordpress/url": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-1.1.0.tgz", - "integrity": "sha512-KT+C4vCh6kYux5fAcyM9Nqj0pVKxYptJde3AcggvZ1rJ71+LNJI63EQFmUhJU0reaNduzQ+YFub9tcQrc7ckmA==" + "version": "file:packages/url" }, "@wordpress/wordcount": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@wordpress/wordcount/-/wordcount-1.0.2.tgz", - "integrity": "sha512-UZGVjKvyTWJuTCEhbgZj0Ilmv/Ufj+dsit0nxawPz5+1m54fbqy8/hpfCH9RiS9JmMWfE3TB6rB4U/Bd0NmFZg==", + "version": "file:packages/wordcount", "requires": { - "lodash": "^4.17.4" + "lodash": "4.17.10" } }, "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.3.tgz", + "integrity": "sha512-3Sp6WZZ/lXl+nTDoGpGWHEpTnnC6X5fnkolYZR6nwIfzbxxvA8utPWe1gCt7i0m9uVGsSz2IS8K8mJ7HmlduMg==", + "dev": true, "requires": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -668,11 +1450,6 @@ } } }, - "add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=" - }, "agent-base": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", @@ -704,6 +1481,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -719,12 +1497,14 @@ "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true }, "ansi-escapes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true }, "ansi-regex": { "version": "2.1.1", @@ -735,6 +1515,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -756,23 +1537,25 @@ } }, "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", + "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "^2.0.0" } }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, "are-we-there-yet": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -844,12 +1627,14 @@ "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true }, "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=" + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true }, "array-includes": { "version": "3.0.3", @@ -865,6 +1650,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, "requires": { "array-uniq": "^1.0.1" } @@ -872,7 +1658,8 @@ "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true }, "array-unique": { "version": "0.3.2", @@ -883,7 +1670,8 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true }, "asap": { "version": "2.0.6", @@ -949,7 +1737,8 @@ "async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true }, "async-each": { "version": "1.0.1", @@ -2240,9 +3029,9 @@ "dev": true }, "browser-resolve": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", - "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "requires": { "resolve": "1.1.7" @@ -2359,7 +3148,8 @@ "buffer-from": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", - "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==" + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true }, "buffer-xor": { "version": "1.0.3", @@ -2370,7 +3160,8 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true }, "builtin-status-codes": { "version": "3.0.0", @@ -2378,10 +3169,17 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, "byline": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", + "dev": true }, "bytes": { "version": "1.0.0", @@ -2501,12 +3299,14 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, "optional": true }, "camelcase-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, "requires": { "camelcase": "^4.1.0", "map-obj": "^2.0.0", @@ -2516,7 +3316,8 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true } } }, @@ -2568,7 +3369,8 @@ "capture-stack-trace": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", + "dev": true }, "caseless": { "version": "0.12.0", @@ -2580,6 +3382,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, "optional": true, "requires": { "align-text": "^0.1.3", @@ -2590,6 +3393,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -2599,7 +3403,8 @@ "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true }, "check-node-version": { "version": "3.1.1", @@ -2684,7 +3489,8 @@ "ci-info": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==" + "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", + "dev": true }, "cipher-base": { "version": "1.0.4", @@ -2776,6 +3582,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, "requires": { "restore-cursor": "^2.0.0" } @@ -2844,7 +3651,8 @@ "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true }, "clipboard": { "version": "1.7.1", @@ -2860,6 +3668,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, "optional": true, "requires": { "center-align": "^0.1.1", @@ -2871,6 +3680,7 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, "optional": true } } @@ -2878,7 +3688,8 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true }, "clone-buffer": { "version": "1.0.0", @@ -2945,6 +3756,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz", "integrity": "sha1-b8vamUg6j9FdfTChlspp1oii79s=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "mkdirp": "~0.5.0" @@ -3006,6 +3818,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, "requires": { "color-name": "^1.1.1" } @@ -3013,7 +3826,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "color-string": { "version": "0.3.0", @@ -3045,6 +3859,7 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", + "dev": true, "requires": { "strip-ansi": "^3.0.0", "wcwidth": "^1.0.0" @@ -3059,11 +3874,6 @@ "delayed-stream": "~1.0.0" } }, - "command-join": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/command-join/-/command-join-2.0.0.tgz", - "integrity": "sha1-Uui5hPSHLZUv8b3IuYOX0nxxRM8=" - }, "commander": { "version": "2.15.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", @@ -3087,15 +3897,27 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "dev": true, "requires": { "array-ify": "^1.0.0", "dot-prop": "^3.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + } } }, "compare-versions": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.2.1.tgz", - "integrity": "sha512-2y2nHcopMG/NAyk6vWXlLs86XeM9sik4jmx1tKIgzMi9/RQ2eo758RGpxQO3ErihHmg0RlQITPqgz73y6s7quA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.3.0.tgz", + "integrity": "sha512-MAAAIOdi2s4Gl6rZ76PNcUa9IOYB+5ICdT41o5uMRf09aEu/F9RK+qhe8RjXNPwcTjGV7KU7h2P/fljThFVqyQ==", "dev": true }, "component-emitter": { @@ -3118,6 +3940,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -3236,7 +4059,8 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true }, "constants-browserify": { "version": "1.0.0", @@ -3250,65 +4074,21 @@ "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", "dev": true }, - "conventional-changelog": { - "version": "1.1.24", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.24.tgz", - "integrity": "sha512-2WcSUst4Y3Z4hHvoMTWXMJr/DmgVdLiMOVY1Kak2LfFz+GIz2KDp5naqbFesYbfXPmaZ5p491dO0FWZIJoJw1Q==", - "requires": { - "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-changelog-angular": { "version": "1.6.6", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz", "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==", + "dev": true, "requires": { "compare-func": "^1.3.1", "q": "^1.5.1" } }, - "conventional-changelog-atom": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.2.8.tgz", - "integrity": "sha512-8pPZqhMbrnltNBizjoDCb/Sz85KyUXNDQxuAEYAU5V/eHn0okMBVjqc8aHWYpHrytyZWvMGbayOlDv7i8kEf6g==", - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-cli": { - "version": "1.3.22", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-1.3.22.tgz", - "integrity": "sha512-pnjdIJbxjkZ5VdAX/H1wndr1G10CY8MuZgnXuJhIHglOXfIrXygb7KZC836GW9uo1u8PjEIvIw/bKX0lOmOzZg==", - "requires": { - "add-stream": "^1.0.0", - "conventional-changelog": "^1.1.24", - "lodash": "^4.2.1", - "meow": "^4.0.0", - "tempfile": "^1.1.1" - } - }, - "conventional-changelog-codemirror": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.8.tgz", - "integrity": "sha512-3HFZKtBXTaUCHvz7ai6nk2+psRIkldDoNzCsom0egDtVmPsvvHZkzjynhdQyULfacRSsBTaiQ0ol6nBOL4dDiQ==", - "requires": { - "q": "^1.5.1" - } - }, "conventional-changelog-core": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-2.0.11.tgz", "integrity": "sha512-HvTE6RlqeEZ/NFPtQeFLsIDOLrGP3bXYr7lFLMhCVsbduF1MXIe8OODkwMFyo1i9ku9NWBwVnVn0jDmIFXjDRg==", + "dev": true, "requires": { "conventional-changelog-writer": "^3.0.9", "conventional-commits-parser": "^2.1.7", @@ -3329,6 +4109,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -3341,6 +4122,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, "requires": { "error-ex": "^1.2.0" } @@ -3349,6 +4131,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -3358,12 +4141,14 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -3374,70 +4159,24 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, "requires": { "is-utf8": "^0.2.0" } } } }, - "conventional-changelog-ember": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.3.12.tgz", - "integrity": "sha512-mmJzA7uzbrOqeF89dMMi6z17O07ORTXlTMArnLG9ZTX4oLaKNolUlxFUFlFm9JUoVWajVpaHQWjxH1EOQ+ARoQ==", - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-eslint": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.9.tgz", - "integrity": "sha512-h87nfVh2fdk9fJIvz26wCBsbDC/KxqCc5wSlNMZbXcARtbgNbNDIF7Y7ctokFdnxkzVdaHsbINkh548T9eBA7Q==", - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-express": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.3.6.tgz", - "integrity": "sha512-3iWVtBJZ9RnRnZveNDzOD8QRn6g6vUif0qVTWWyi5nUIAbuN1FfPVyKdAlJJfp5Im+dE8Kiy/d2SpaX/0X678Q==", - "requires": { - "q": "^1.5.1" - } - }, - "conventional-changelog-jquery": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz", - "integrity": "sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=", - "requires": { - "q": "^1.4.1" - } - }, - "conventional-changelog-jscs": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz", - "integrity": "sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=", - "requires": { - "q": "^1.4.1" - } - }, - "conventional-changelog-jshint": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.8.tgz", - "integrity": "sha512-hn9QU4ZI/5V50wKPJNPGT4gEWgiBFpV6adieILW4MaUFynuDYOvQ71EMSj3EznJyKi/KzuXpc9dGmX8njZMjig==", - "requires": { - "compare-func": "^1.3.1", - "q": "^1.5.1" - } - }, "conventional-changelog-preset-loader": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.8.tgz", - "integrity": "sha512-MkksM4G4YdrMlT2MbTsV2F6LXu/hZR0Tc/yenRrDIKRwBl/SP7ER4ZDlglqJsCzLJi4UonBc52Bkm5hzrOVCcw==" + "integrity": "sha512-MkksM4G4YdrMlT2MbTsV2F6LXu/hZR0Tc/yenRrDIKRwBl/SP7ER4ZDlglqJsCzLJi4UonBc52Bkm5hzrOVCcw==", + "dev": true }, "conventional-changelog-writer": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-3.0.9.tgz", "integrity": "sha512-n9KbsxlJxRQsUnK6wIBRnARacvNnN4C/nxnxCkH+B/R1JS2Fa+DiP1dU4I59mEDEjgnFaN2+9wr1P1s7GYB5/Q==", + "dev": true, "requires": { "compare-func": "^1.3.1", "conventional-commits-filter": "^1.1.6", @@ -3449,12 +4188,48 @@ "semver": "^5.5.0", "split": "^1.0.0", "through2": "^2.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "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" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } } }, "conventional-commits-filter": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz", "integrity": "sha512-KcDgtCRKJCQhyk6VLT7zR+ZOyCnerfemE/CsR3iQpzRRFbLEs0Y6rwk3mpDvtOh04X223z+1xyJ582Stfct/0Q==", + "dev": true, "requires": { "is-subset": "^0.1.1", "modify-values": "^1.0.0" @@ -3464,6 +4239,7 @@ "version": "2.1.7", "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz", "integrity": "sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ==", + "dev": true, "requires": { "JSONStream": "^1.0.4", "is-text-path": "^1.0.0", @@ -3472,92 +4248,91 @@ "split2": "^2.0.0", "through2": "^2.0.0", "trim-off-newlines": "^1.0.0" - } - }, - "conventional-recommended-bump": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-1.2.1.tgz", - "integrity": "sha512-oJjG6DkRgtnr/t/VrPdzmf4XZv8c4xKVJrVT4zrSHd92KEL+EYxSbYoKq8lQ7U5yLMw7130wrcQTLRjM/T+d4w==", - "requires": { - "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" }, "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "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" } }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, "requires": { - "repeating": "^2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, + } + } + }, + "conventional-recommended-bump": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-2.0.9.tgz", + "integrity": "sha512-YE6/o+648qkX3fTNvfBsvPW3tSnbZ6ec3gF0aBahCPgyoVHU2Mw0nUAZ1h1UN65GazpORngrgRC8QCltNYHPpQ==", + "dev": true, + "requires": { + "concat-stream": "^1.6.0", + "conventional-changelog-preset-loader": "^1.1.8", + "conventional-commits-filter": "^1.1.6", + "conventional-commits-parser": "^2.1.7", + "git-raw-commits": "^1.3.6", + "git-semver-tags": "^1.3.6", + "meow": "^4.0.0", + "q": "^1.5.1" + }, + "dependencies": { "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", "minimist": "^1.1.3", + "minimist-options": "^3.0.1", "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" + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" } }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, "requires": { - "get-stdin": "^4.0.1" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" } } }, @@ -3644,6 +4419,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, "requires": { "capture-stack-trace": "^1.0.0" } @@ -3943,9 +4719,9 @@ } }, "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", "dev": true }, "cssstyle": { @@ -3961,6 +4737,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, "requires": { "array-find-index": "^1.0.1" } @@ -3981,6 +4758,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4020,7 +4798,8 @@ "dateformat": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true }, "debug": { "version": "2.6.9", @@ -4031,6 +4810,12 @@ "ms": "2.0.0" } }, + "debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "dev": true + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -4040,6 +4825,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, "requires": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -4048,7 +4834,8 @@ "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true } } }, @@ -4070,7 +4857,8 @@ "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true }, "deep-equal-ident": { "version": "1.1.1", @@ -4084,7 +4872,8 @@ "deep-extend": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==" + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "dev": true }, "deep-freeze": { "version": "0.0.1", @@ -4099,29 +4888,19 @@ "dev": true }, "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", "dev": true, "requires": { - "strip-bom": "^2.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } + "strip-bom": "^3.0.0" } }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, "requires": { "clone": "^1.0.2" } @@ -4240,7 +5019,8 @@ "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true }, "des.js": { "version": "1.0.0", @@ -4261,7 +5041,8 @@ "detect-indent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", + "dev": true }, "detect-newline": { "version": "2.1.0", @@ -4269,6 +5050,16 @@ "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true }, + "dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -4380,9 +5171,10 @@ } }, "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, "requires": { "is-obj": "^1.0.0" } @@ -4390,12 +5182,14 @@ "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true }, "duplexify": { "version": "3.6.0", @@ -4567,12 +5361,11 @@ }, "dependencies": { "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "dev": true, "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.3.1", "object-assign": "^4.1.1" } @@ -4591,12 +5384,11 @@ }, "dependencies": { "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "dev": true, "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.3.1", "object-assign": "^4.1.1" } @@ -4650,6 +5442,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -4696,12 +5489,13 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.10.0.tgz", + "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { "esprima": "^3.1.3", @@ -4987,26 +5781,42 @@ } }, "exec-sh": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", - "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "dev": true, "requires": { - "merge": "^1.1.3" + "merge": "^1.2.0" } }, "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, "requires": { - "cross-spawn": "^5.0.1", + "cross-spawn": "^6.0.0", "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" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } } }, "exit": { @@ -5152,6 +5962,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, "requires": { "chardet": "^0.4.0", "iconv-lite": "^0.4.17", @@ -5387,6 +6198,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } @@ -5590,9 +6402,10 @@ } }, "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -5614,7 +6427,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "1.2.4", @@ -6184,6 +6998,7 @@ "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -6199,6 +7014,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6207,6 +7023,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6233,6 +7050,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "dev": true, "requires": { "hosted-git-info": "^2.1.4", "meow": "^3.3.0", @@ -6244,12 +7062,14 @@ "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true }, "camelcase-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, "requires": { "camelcase": "^2.0.0", "map-obj": "^1.0.0" @@ -6259,6 +7079,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, "requires": { "repeating": "^2.0.0" } @@ -6266,12 +7087,14 @@ "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true }, "meow": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, "requires": { "camelcase-keys": "^2.0.0", "decamelize": "^1.1.2", @@ -6288,12 +7111,14 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, "requires": { "indent-string": "^2.1.0", "strip-indent": "^1.0.1" @@ -6303,6 +7128,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, "requires": { "get-stdin": "^4.0.1" } @@ -6310,19 +7136,22 @@ "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true } } }, "get-port": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true }, "get-stream": { "version": "3.0.0", @@ -6345,9 +7174,9 @@ } }, "gettext-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.3.1.tgz", - "integrity": "sha512-W4t55eB/c7WrH0gbCHFiHuaEnJ1WiPJVnbFFiNEoh2QkOmuSLxs0PmJDGAmCQuTJCU740Fmb6D+2D/2xECWZGQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz", + "integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==", "requires": { "encoding": "^0.1.12", "safe-buffer": "^5.1.1" @@ -6406,18 +7235,55 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz", "integrity": "sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==", + "dev": true, "requires": { "dargs": "^4.0.1", "lodash.template": "^4.0.2", "meow": "^4.0.0", "split2": "^2.0.0", "through2": "^2.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "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" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } } }, "git-remote-origin-url": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, "requires": { "gitconfiglocal": "^1.0.0", "pify": "^2.3.0" @@ -6426,7 +7292,8 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true } } }, @@ -6434,15 +7301,52 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.3.6.tgz", "integrity": "sha512-2jHlJnln4D/ECk9FxGEBh3k44wgYdWjWDtMmJPaecjoRmxKo3Y1Lh8GMYuOPu04CHw86NTAODchYjC5pnpMQig==", + "dev": true, "requires": { "meow": "^4.0.0", "semver": "^5.5.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "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" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } } }, "gitconfiglocal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, "requires": { "ini": "^1.3.2" } @@ -6460,6 +7364,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6536,6 +7441,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -6578,22 +7484,18 @@ "dev": true }, "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "dev": true, "requires": { "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "globule": { @@ -6619,6 +7521,7 @@ "version": "6.7.1", "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, "requires": { "create-error-class": "^3.0.0", "duplexer3": "^0.1.4", @@ -6636,7 +7539,8 @@ "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true }, "grouped-queue": { "version": "0.3.3", @@ -6657,6 +7561,7 @@ "version": "4.0.11", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, "requires": { "async": "^1.4.0", "optimist": "^0.6.1", @@ -6707,7 +7612,8 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbol-support-x": { "version": "1.4.2", @@ -6733,7 +7639,8 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true }, "has-value": { "version": "1.0.0", @@ -6843,7 +7750,8 @@ "hosted-git-info": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==" + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true }, "hpq": { "version": "1.2.0", @@ -6972,7 +7880,8 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "in-publish": { "version": "2.0.0", @@ -6983,7 +7892,8 @@ "indent-string": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true }, "indexes-of": { "version": "1.0.1", @@ -7001,6 +7911,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -7016,10 +7927,27 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, + "init-package-json": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", + "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, "requires": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", @@ -7040,12 +7968,14 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "^3.0.0" } @@ -7106,7 +8036,8 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-binary-path": { "version": "1.0.1", @@ -7126,12 +8057,14 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-builtin-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, "requires": { "builtin-modules": "^1.0.0" } @@ -7146,6 +8079,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "dev": true, "requires": { "ci-info": "^1.0.0" } @@ -7214,12 +8148,14 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-finite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -7239,6 +8175,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -7261,7 +8198,8 @@ "is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true }, "is-object": { "version": "1.0.1", @@ -7330,7 +8268,8 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true }, "is-plain-object": { "version": "2.0.4", @@ -7356,12 +8295,14 @@ "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true }, "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true }, "is-regex": { "version": "1.0.4", @@ -7381,7 +8322,8 @@ "is-retry-allowed": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true }, "is-scoped": { "version": "1.0.0", @@ -7406,7 +8348,8 @@ "is-subset": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=" + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true }, "is-svg": { "version": "2.1.0", @@ -7427,6 +8370,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, "requires": { "text-extensions": "^1.0.0" } @@ -7440,7 +8384,8 @@ "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true }, "is-windows": { "version": "1.0.2", @@ -7524,9 +8469,9 @@ } }, "istanbul-lib-source-maps": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz", - "integrity": "sha512-UzuK0g1wyQijiaYQxj/CdNycFhAd2TLtO2obKQMTZrZ1jzEMRY3rvpASEKkaxbRR6brvdovfA03znPa/pXcejg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz", + "integrity": "sha512-8O2T/3VhrQHn0XcJbP1/GN7kXMiRAlPi+fj3uEHrjBD8Oz7Py0prSC25C09NuAZS6bgW1NNKAvCSHZXB0irSGA==", "dev": true, "requires": { "debug": "^3.1.0", @@ -7536,12 +8481,6 @@ "source-map": "^0.5.3" } }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -7557,12 +8496,12 @@ "dev": true }, "istanbul-lib-hook": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz", - "integrity": "sha512-p3En6/oGkFQV55Up8ZPC2oLxvgSxD8CzA0yBrhRZSh3pfv3OFj9aSGVC0yoerAi/O4u7jUVnOGVX1eVFM+0tmQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz", + "integrity": "sha512-eLAMkPG9FU0v5L02lIkcj/2/Zlz9OuluaXikdr5iStk8FDbSwAixTK9TkYxbF0eNnzAJTwM2fkV2A1tpsIp4Jg==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "^1.0.0" } }, "istanbul-lib-instrument": { @@ -7716,23 +8655,6 @@ "repeat-element": "^1.1.2" } }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -7837,35 +8759,6 @@ "requires": { "ansi-regex": "^3.0.0" } - }, - "yargs": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", - "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", - "dev": true, - "requires": { - "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": "^8.1.0" - } - }, - "yargs-parser": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } } } }, @@ -8264,12 +9157,6 @@ "yargs": "^10.0.3" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", @@ -8296,23 +9183,6 @@ "repeat-element": "^1.1.2" } }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -8366,44 +9236,6 @@ "parse-glob": "^3.0.4", "regex-cache": "^0.4.2" } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "yargs": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", - "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", - "dev": true, - "requires": { - "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": "^8.1.0" - } - }, - "yargs-parser": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } } } }, @@ -8740,7 +9572,8 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "json-schema": { "version": "0.2.3", @@ -8772,7 +9605,8 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json5": { "version": "0.5.1", @@ -8784,6 +9618,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -8797,7 +9632,8 @@ "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true }, "jsprim": { "version": "1.4.1", @@ -8830,6 +9666,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -8838,6 +9675,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, "optional": true }, "lcid": { @@ -8861,49 +9699,14 @@ "dev": true }, "lerna": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/lerna/-/lerna-2.11.0.tgz", - "integrity": "sha512-kgM6zwe2P2tR30MYvgiLLW+9buFCm6E7o8HnRlhTgm70WVBvXVhydqv+q/MF2HrVZkCawfVtCfetyQmtd4oHhQ==", + "version": "3.0.0-beta.21", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.0.0-beta.21.tgz", + "integrity": "sha512-dSMbr+Zho9zBR8UyHB+8NLu0dwjzkJ3l0nU8W8v+Aoe5bD1rSsXwUpVX7rwJNTXAqe474BmpAjrmV0gcFjEAXA==", + "dev": true, "requires": { - "async": "^1.5.0", - "chalk": "^2.1.0", - "cmd-shim": "^2.0.2", - "columnify": "^1.5.4", - "command-join": "^2.0.0", - "conventional-changelog-cli": "^1.3.13", - "conventional-recommended-bump": "^1.2.1", - "dedent": "^0.7.0", - "execa": "^0.8.0", - "find-up": "^2.1.0", - "fs-extra": "^4.0.1", - "get-port": "^3.2.0", - "glob": "^7.1.2", - "glob-parent": "^3.1.0", - "globby": "^6.1.0", - "graceful-fs": "^4.1.11", - "hosted-git-info": "^2.5.0", - "inquirer": "^3.2.2", - "is-ci": "^1.0.10", - "load-json-file": "^4.0.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "p-finally": "^1.0.0", - "package-json": "^4.0.1", - "path-exists": "^3.0.0", - "read-cmd-shim": "^1.0.1", - "read-pkg": "^3.0.0", - "rimraf": "^2.6.1", - "safe-buffer": "^5.1.1", - "semver": "^5.4.1", - "signal-exit": "^3.0.2", - "slash": "^1.0.0", - "strong-log-transformer": "^1.0.6", - "temp-write": "^3.3.0", - "write-file-atomic": "^2.3.0", - "write-json-file": "^2.2.0", - "write-pkg": "^3.1.0", - "yargs": "^8.0.2" + "@lerna/cli": "^3.0.0-beta.21", + "import-local": "^1.0.0", + "npmlog": "^4.1.2" } }, "leven": { @@ -9162,6 +9965,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -9196,9 +10000,9 @@ } }, "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, "lodash-es": { "version": "4.17.10", @@ -9231,7 +10035,8 @@ "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true }, "lodash.assign": { "version": "4.2.0", @@ -9324,6 +10129,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "dev": true, "requires": { "lodash._reinterpolate": "~3.0.0", "lodash.templatesettings": "^4.0.0" @@ -9333,6 +10139,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "dev": true, "requires": { "lodash._reinterpolate": "~3.0.0" } @@ -9404,7 +10211,8 @@ "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true }, "loose-envify": { "version": "1.3.1", @@ -9418,6 +10226,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, "requires": { "currently-unhandled": "^0.4.1", "signal-exit": "^3.0.0" @@ -9426,7 +10235,8 @@ "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true }, "lru-cache": { "version": "3.2.0", @@ -9440,6 +10250,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, "requires": { "pify": "^3.0.0" } @@ -9462,7 +10273,8 @@ "map-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true }, "map-values": { "version": "1.0.1", @@ -9609,34 +10421,46 @@ } }, "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "dev": true, "requires": { "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" + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" }, "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true }, "read-pkg-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, "requires": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } } } }, @@ -9760,6 +10584,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, "requires": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0" @@ -9833,7 +10658,8 @@ "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==" + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true }, "moment": { "version": "2.22.1", @@ -9888,7 +10714,8 @@ "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true }, "nan": { "version": "2.10.0", @@ -10230,6 +11057,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, "requires": { "hosted-git-info": "^2.1.4", "is-builtin-module": "^1.0.0", @@ -10271,13 +11099,49 @@ } } }, + "npm-lifecycle": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.0.3.tgz", + "integrity": "sha512-0U4Iim5ix2NHUT672G7FBpldJX0N2xKBjJqRTAzioEJjb6I6KpQXq+y1sB5EDSjKaAX8VCC9qPK31Jy+p3ix5A==", + "dev": true, + "requires": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.11", + "node-gyp": "^3.6.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "npm-package-arg": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", + "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.6.0", + "osenv": "^0.1.5", + "semver": "^5.5.0", + "validate-npm-package-name": "^3.0.0" + } + }, "npm-package-json-lint": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-3.0.1.tgz", - "integrity": "sha1-cMUePLOzaGeFlhJAHy9fTK1b2QQ=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-3.1.0.tgz", + "integrity": "sha1-/ZzSkB6QahmoSBsIUAFOGTyKWYg=", "dev": true, "requires": { - "ajv": "^6.4.0", + "ajv": "^6.5.0", "chalk": "^2.4.1", "glob": "^7.1.2", "is-path-inside": "^2.0.0", @@ -10288,27 +11152,21 @@ "plur": "^3.0.1", "semver": "^5.5.0", "strip-json-comments": "^2.0.1", - "validator": "^10.1.0" + "validator": "^10.2.0" }, "dependencies": { "ajv": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.0.tgz", - "integrity": "sha512-VDUX1oSajablmiyFyED9L1DFndg0P9h7p1F+NO8FkIzei6EPrR6Zu1n18rd5P8PqaSRd/FrWv3G1TVBqpM83gA==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0", + "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.1" } }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", @@ -10321,44 +11179,14 @@ "integrity": "sha512-OmUXvSq+P7aI/aRbl1dzwdlyLn8vW7Nr2/11S7y/dcLLgnQ89hgYJp7tfc+A5SRid3rNCLpruOp2CAV68/iOcA==", "dev": true, "requires": { - "path-is-inside": "^1.0.2" - } - }, - "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", - "dev": true, - "requires": { - "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" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "yargs-parser": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.0.0.tgz", - "integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" + "path-is-inside": "^1.0.2" } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true } } }, @@ -10374,6 +11202,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -10402,9 +11231,9 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nwsapi": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.1.tgz", - "integrity": "sha512-xOJJb7kAAGy6UOklbaIPA0iu/27VMHfAbMUgYJlXz4qRXytIkPGM2vwfbxa+tbaqcqHNsP6RN4eDZlePelWKpQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.4.tgz", + "integrity": "sha512-Zt6HRR6RcJkuj5/N9zeE7FN6YitRW//hK2wTOwX274IBphbY3Zf5+yn5mZ9v/SzAOTMjQNxZf9KkmPLWn0cV4g==", "dev": true }, "oauth-sign": { @@ -10542,6 +11371,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -10550,6 +11380,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, "requires": { "mimic-fn": "^1.0.0" } @@ -10558,6 +11389,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" @@ -10690,7 +11522,8 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, "osenv": { "version": "0.1.5", @@ -10756,6 +11589,15 @@ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, "p-reduce": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", @@ -10776,10 +11618,20 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, + "p-waterfall": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-1.0.0.tgz", + "integrity": "sha1-ftlLPOszMngjU69qrhGqn8I1uwA=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, "package-json": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, "requires": { "got": "^6.7.1", "registry-auth-token": "^3.0.1", @@ -10820,7 +11672,8 @@ "parse-github-repo-url": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=" + "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", + "dev": true }, "parse-glob": { "version": "3.0.4", @@ -10855,6 +11708,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -10890,7 +11744,8 @@ "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true }, "path-exists": { "version": "3.0.0", @@ -10900,7 +11755,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -10922,6 +11778,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, "requires": { "pify": "^3.0.0" } @@ -10989,17 +11846,20 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, "requires": { "pinkie": "^2.0.0" } @@ -13003,7 +13863,8 @@ "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true }, "preserve": { "version": "0.2.0", @@ -13078,6 +13939,15 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "promzard": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", + "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", + "dev": true, + "requires": { + "read": "1" + } + }, "prop-types": { "version": "15.5.10", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", @@ -13181,7 +14051,8 @@ "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true }, "qs": { "version": "6.5.2", @@ -13220,7 +14091,8 @@ "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true }, "raf": { "version": "3.4.0", @@ -13316,20 +14188,28 @@ "dev": true }, "rc": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "dependencies": { + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true } } }, @@ -13480,12 +14360,11 @@ }, "dependencies": { "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "dev": true, "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.3.1", "object-assign": "^4.1.1" } @@ -13524,6 +14403,15 @@ "lodash": "^4.0.1" } }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, "read-chunk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", @@ -13538,14 +14426,42 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz", "integrity": "sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=", + "dev": true, "requires": { "graceful-fs": "^4.1.2" } }, + "read-package-json": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", + "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "slash": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.2.1.tgz", + "integrity": "sha512-2CNoRoh95LxY47LvqrehIAfUVda2JbuFE/HaGYs42bNrGG+ojbw1h3zOcPcQ+1GQ3+rkzNndZn85u1XyZ3UsIA==", + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "once": "^1.3.0", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0" + } + }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, "requires": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -13556,6 +14472,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -13565,6 +14482,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, "requires": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" @@ -13574,6 +14492,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -13586,6 +14505,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, "requires": { "error-ex": "^1.2.0" } @@ -13594,6 +14514,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, "requires": { "pinkie-promise": "^2.0.0" } @@ -13602,6 +14523,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -13611,12 +14533,14 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -13627,6 +14551,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, "requires": { "is-utf8": "^0.2.0" } @@ -13647,6 +14572,18 @@ "util-deprecate": "~1.0.1" } }, + "readdir-scoped-modules": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz", + "integrity": "sha1-n6+jfShr5dksuuve4DDcm19AZ0c=", + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, "readdirp": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", @@ -13660,9 +14597,9 @@ } }, "realpath-native": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.0.tgz", - "integrity": "sha512-XJtlRJ9jf0E1H1SLeJyQ9PGzQD7S65h1pRXEcAeK48doKOnKxcgPeNohJvD5u/2sI9J1oke6E8bZHS/fmW1UiQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.1.tgz", + "integrity": "sha512-W14EcXuqUvKP8dkWkD7B95iMy77lpMnlFXbbk409bQtNCbeu0kvRE5reo+yIZ3JXxg6frbGsz2DLQ39lrCB40g==", "dev": true, "requires": { "util.promisify": "^1.0.0" @@ -13701,6 +14638,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, "requires": { "indent-string": "^3.0.0", "strip-indent": "^2.0.0" @@ -13825,6 +14763,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, "requires": { "rc": "^1.1.6", "safe-buffer": "^5.0.1" @@ -13834,6 +14773,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, "requires": { "rc": "^1.0.1" } @@ -13873,12 +14813,14 @@ "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, "requires": { "is-finite": "^1.0.0" } @@ -14038,6 +14980,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, "requires": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" @@ -14059,6 +15002,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, "optional": true, "requires": { "align-text": "^0.1.1" @@ -14068,6 +15012,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, "requires": { "glob": "^7.0.5" } @@ -14115,6 +15060,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, "requires": { "is-promise": "^2.1.0" } @@ -14143,12 +15089,14 @@ "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true }, "rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, "requires": { "rx-lite": "*" } @@ -14578,7 +15526,8 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true }, "slice-ansi": { "version": "1.0.0", @@ -14716,6 +15665,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, "requires": { "is-plain-obj": "^1.0.0" } @@ -14730,6 +15680,7 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, "requires": { "amdefine": ">=0.0.4" } @@ -14781,6 +15732,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -14789,12 +15741,14 @@ "spdx-exceptions": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==" + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true }, "spdx-expression-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -14803,12 +15757,14 @@ "spdx-license-ids": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==" + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true }, "split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, "requires": { "through": "2" } @@ -14826,6 +15782,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, "requires": { "through2": "^2.0.2" } @@ -15033,7 +15990,8 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-bom-stream": { "version": "2.0.0", @@ -15064,17 +16022,20 @@ "strip-indent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=" + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true }, "strong-log-transformer": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-1.0.6.tgz", "integrity": "sha1-9/uTdYpppXEUAYEnfuoMLrEwH6M=", + "dev": true, "requires": { "byline": "^5.0.0", "duplexer": "^0.1.1", @@ -15086,7 +16047,8 @@ "minimist": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", - "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=" + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", + "dev": true } } }, @@ -15104,6 +16066,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -15158,6 +16121,12 @@ "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", "dev": true }, + "symlink-or-copy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz", + "integrity": "sha512-W31+GLiBmU/ZR02Ii0mVZICuNEN9daZ63xZMPDsYgPgNjMtg+atqLEGI7PPI936jYSQZxoLb/63xos8Adrx4Eg==", + "dev": true + }, "table": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", @@ -15230,12 +16199,14 @@ "temp-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true }, "temp-write": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-3.4.0.tgz", "integrity": "sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "is-stream": "^1.1.0", @@ -15245,22 +16216,6 @@ "uuid": "^3.0.1" } }, - "tempfile": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", - "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", - "requires": { - "os-tmpdir": "^1.0.0", - "uuid": "^2.0.1" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - } - } - }, "test-exclude": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", @@ -15277,7 +16232,8 @@ "text-extensions": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.7.0.tgz", - "integrity": "sha512-AKXZeDq230UaSzaO5s3qQUZOaC7iKbzq0jOFL614R7d9R593HLqAOL0cYoqLdkNrjBSOdmoQI06yigq1TSBXAg==" + "integrity": "sha512-AKXZeDq230UaSzaO5s3qQUZOaC7iKbzq0jOFL614R7d9R593HLqAOL0cYoqLdkNrjBSOdmoQI06yigq1TSBXAg==", + "dev": true }, "text-table": { "version": "0.2.0", @@ -15300,12 +16256,14 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, "requires": { "readable-stream": "^2.1.5", "xtend": "~4.0.1" @@ -15314,7 +16272,8 @@ "timed-out": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true }, "timers-browserify": { "version": "2.0.10", @@ -15369,6 +16328,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -15457,12 +16417,14 @@ "trim-newlines": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=" + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true }, "trim-off-newlines": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=" + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true }, "trim-right": { "version": "1.0.1", @@ -15528,7 +16490,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "ua-parser-js": { "version": "0.7.18", @@ -15539,6 +16502,7 @@ "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, "optional": true, "requires": { "source-map": "~0.5.1", @@ -15550,12 +16514,14 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, "optional": true }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, "optional": true, "requires": { "camelcase": "^1.0.2", @@ -15570,6 +16536,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, "optional": true }, "uglifyjs-webpack-plugin": { @@ -15612,12 +16579,24 @@ } } }, + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true + }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, + "umask": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", + "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", + "dev": true + }, "underscore": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", @@ -15690,9 +16669,10 @@ } }, "universalify": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true }, "unset-value": { "version": "1.0.0", @@ -15743,7 +16723,8 @@ "unzip-response": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true }, "upath": { "version": "1.1.0", @@ -15788,6 +16769,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, "requires": { "prepend-http": "^1.0.1" } @@ -15868,15 +16850,25 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, "validator": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-10.2.0.tgz", - "integrity": "sha512-gz/uknWtNfZTj1BLUzYHDxOoiQ7A4wZ6xPuuE6RpxswR4cNyT4I5kN9jmU0AQr7IBEap9vfYChI2TpssTN6Itg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.4.0.tgz", + "integrity": "sha512-Q/wBy3LB1uOyssgNlXSRmaf22NxjvDNZM2MtIQ4jaEOAB61xsh1TQxsq1CgzUMBV1lDrVMogIh8GjG1DYW0zLg==", "dev": true }, "vendors": { @@ -15998,6 +16990,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, "requires": { "defaults": "^1.0.3" } @@ -16609,9 +17602,9 @@ "dev": true }, "whatwg-url": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.4.1.tgz", - "integrity": "sha512-FwygsxsXx27x6XXuExA/ox3Ktwcbf+OAvrKmLulotDAiO1Q6ixchPFaHYsis2zZBZSJTR0+dR+JVtf7MlbqZjw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", @@ -16642,6 +17635,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, "requires": { "string-width": "^1.0.2" }, @@ -16650,6 +17644,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -16658,6 +17653,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -16670,12 +17666,14 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true }, "worker-farm": { "version": "1.6.0", @@ -16718,7 +17716,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write": { "version": "0.2.1", @@ -16733,6 +17732,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, "requires": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", @@ -16743,6 +17743,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", + "dev": true, "requires": { "detect-indent": "^5.0.0", "graceful-fs": "^4.1.2", @@ -16753,9 +17754,10 @@ } }, "write-pkg": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.1.0.tgz", - "integrity": "sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.2.0.tgz", + "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", + "dev": true, "requires": { "sort-keys": "^2.0.0", "write-json-file": "^2.2.0" @@ -16780,7 +17782,8 @@ "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true }, "y18n": { "version": "3.2.1", @@ -16793,117 +17796,58 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", + "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", + "dev": true, "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", + "cliui": "^4.0.0", "decamelize": "^1.1.1", + "find-up": "^2.1.0", "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" + "yargs-parser": "^8.1.0" }, "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" } }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "ansi-regex": "^3.0.0" } } } }, "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "dev": true, "requires": { "camelcase": "^4.1.0" }, @@ -16911,7 +17855,8 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true } } }, diff --git a/package.json b/package.json index 4ed1b66bd7da59..7b4a4a1d4035c1 100644 --- a/package.json +++ b/package.json @@ -15,28 +15,37 @@ "npm": ">=6.0.0" }, "dependencies": { - "@wordpress/a11y": "1.0.6", - "@wordpress/autop": "1.0.4", - "@wordpress/dom-ready": "1.0.4", - "@wordpress/hooks": "1.1.6", - "@wordpress/i18n": "1.1.0", - "@wordpress/is-shallow-equal": "1.0.2", - "@wordpress/url": "1.1.0", - "@wordpress/wordcount": "1.0.2", + "@wordpress/a11y": "file:packages/a11y", + "@wordpress/api-request": "file:packages/api-request", + "@wordpress/autop": "file:packages/autop", + "@wordpress/blob": "file:packages/blob", + "@wordpress/core-data": "file:packages/core-data", + "@wordpress/data": "file:packages/data", + "@wordpress/date": "file:packages/date", + "@wordpress/deprecated": "file:packages/deprecated", + "@wordpress/dom": "file:packages/dom", + "@wordpress/dom-ready": "file:packages/dom-ready", + "@wordpress/element": "file:packages/element", + "@wordpress/hooks": "file:packages/hooks", + "@wordpress/i18n": "file:packages/i18n", + "@wordpress/is-shallow-equal": "file:packages/is-shallow-equal", + "@wordpress/keycodes": "file:packages/keycodes", + "@wordpress/plugins": "file:packages/plugins", + "@wordpress/shortcode": "file:packages/shortcode", + "@wordpress/url": "file:packages/url", + "@wordpress/wordcount": "file:packages/wordcount", "classnames": "2.2.5", "clipboard": "1.7.1", "dom-react": "2.2.1", "dom-scroll-into-view": "1.2.1", "element-closest": "2.0.2", "equivalent-key-map": "0.2.0", - "escape-string-regexp": "1.0.5", "eslint-plugin-wordpress": "git://github.com/WordPress-Coding-Standards/eslint-plugin-wordpress.git#1774343f6226052a46b081e01db3fca8793cc9f1", "hpq": "1.2.0", "http-build-query": "0.7.0", "jquery": "3.3.1", "js-beautify": "1.6.14", - "lerna": "2.11.0", - "lodash": "4.17.5", + "lodash": "4.17.10", "memize": "1.0.5", "moment": "2.22.1", "moment-timezone": "0.5.16", @@ -62,17 +71,22 @@ "uuid": "3.1.0" }, "devDependencies": { - "@wordpress/babel-plugin-makepot": "1.0.1", - "@wordpress/babel-preset-default": "1.3.0", - "@wordpress/browserslist-config": "2.1.4", - "@wordpress/custom-templated-path-webpack-plugin": "1.0.2", - "@wordpress/jest-preset-default": "1.0.6", - "@wordpress/scripts": "1.2.0", + "@wordpress/babel-plugin-makepot": "file:packages/babel-plugin-makepot", + "@wordpress/babel-plugin-import-jsx-pragma": "file:packages/babel-plugin-import-jsx-pragma", + "@wordpress/babel-preset-default": "file:packages/babel-preset-default", + "@wordpress/browserslist-config": "file:packages/browserslist-config", + "@wordpress/custom-templated-path-webpack-plugin": "file:packages/custom-templated-path-webpack-plugin", + "@wordpress/jest-console": "file:packages/jest-console", + "@wordpress/jest-preset-default": "file:packages/jest-preset-default", + "@wordpress/library-export-default-webpack-plugin": "file:packages/library-export-default-webpack-plugin", + "@wordpress/npm-package-json-lint-config": "file:packages/npm-package-json-lint-config", + "@wordpress/postcss-themes": "file:packages/postcss-themes", + "@wordpress/scripts": "file:packages/scripts", "autoprefixer": "8.2.0", "babel-core": "6.26.0", "babel-eslint": "8.0.3", "babel-loader": "7.1.4", - "babel-plugin-transform-async-generator-functions": "6.24.1", + "chalk": "2.4.1", "check-node-version": "3.1.1", "codecov": "3.0.2", "concurrently": "3.5.0", @@ -87,7 +101,11 @@ "eslint-plugin-react": "7.7.0", "espree": "3.5.4", "extract-text-webpack-plugin": "4.0.0-beta.0", + "glob": "7.1.2", + "lerna": "3.0.0-beta.21", + "mkdirp": "0.5.1", "node-sass": "git://github.com/sass/node-sass.git#v4.7.0", + "path-type": "3.0.0", "pegjs": "0.10.0", "pegjs-loader": "0.5.4", "phpegjs": "1.0.0-beta7", @@ -96,9 +114,11 @@ "puppeteer": "1.2.0", "raw-loader": "0.5.1", "react-test-renderer": "16.4.1", + "rimraf": "2.6.2", "sass-loader": "6.0.7", "sprintf-js": "1.1.1", "style-loader": "0.20.3", + "symlink-or-copy": "1.2.0", "webpack": "4.8.3", "webpack-cli": "2.1.3", "webpack-livereload-plugin": "2.1.1", @@ -106,22 +126,16 @@ }, "babel": { "presets": [ - "@wordpress/default" + "@wordpress/babel-preset-default" ], "plugins": [ [ - "./packages/babel-plugin-import-jsx-pragma", + "@wordpress/babel-plugin-import-jsx-pragma", { "scopeVariable": "createElement", "source": "@wordpress/element", "isDefault": false } - ], - [ - "babel-plugin-transform-react-jsx", - { - "pragma": "createElement" - } ] ], "env": { @@ -179,11 +193,11 @@ "lint-php": "docker-compose run --rm composer run-script lint", "lint-pkg-json": "wp-scripts lint-pkg-json ./packages", "package-plugin": "./bin/build-plugin-zip.sh", - "postinstall": "lerna bootstrap --hoist && npm run build:packages", + "postinstall": "npm run build:packages", "pot-to-php": "./bin/pot-to-php.js", - "publish:check": "lerna updated", - "publish:dev": "lerna publish --npm-tag next", - "publish:prod": "lerna publish", + "publish:check": "npm run build:packages && lerna updated", + "publish:dev": "npm run build:packages && lerna publish --npm-tag next", + "publish:prod": "npm run build:packages && lerna publish", "test": "npm run lint && npm run test-unit", "test-e2e": "wp-scripts test-unit-js --config test/e2e/jest.config.json --runInBand", "test-e2e:watch": "npm run test-e2e -- --watch", diff --git a/packages/a11y/.npmrc b/packages/a11y/.npmrc new file mode 100644 index 00000000000000..43c97e719a5a82 --- /dev/null +++ b/packages/a11y/.npmrc @@ -0,0 +1 @@ +package-lock=false diff --git a/packages/a11y/README.md b/packages/a11y/README.md new file mode 100644 index 00000000000000..d4d7b580a10a76 --- /dev/null +++ b/packages/a11y/README.md @@ -0,0 +1,53 @@ +# @wordpress/a11y + +Collection of JS modules for enhancing accessibility. + +## Installation + +Install the module + +```bash +npm install @wordpress/a11y --save +``` + +## speak + +Allows you to easily announce dynamic interface updates to screen readers using ARIA live regions. This module is inspired by the `speak` function in wp-a11y.js + +### Usage + +To make the `wp.a11y.speak` functionality more universally available, we've decided to create a dedicated JS module for it, called `speak`. Usage is very simple: + +```JS +import { speak } from '@wordpress/a11y'; + +// For polite messages that shouldn't interrupt what screen readers are currently announcing. +speak( 'The message you want to send to the ARIA live region' ); + +// For assertive messages that should interrupt what screen readers are currently announcing. +speak( 'The message you want to send to the ARIA live region', 'assertive' ); +``` + +### Background +For context I'll quote [this article on WordPress.org](https://make.wordpress.org/accessibility/2015/04/15/let-wordpress-speak-new-in-wordpress-4-2/) by [@joedolson](https://github.com/joedolson): + +> #### Why. +> In modern web development, updating discrete regions of a screen with JavaScript is common. The use of AJAX responses in modern JavaScript-based User Interfaces allows web developers to create beautiful interfaces similar to Desktop applications that don’t require pages to reload or refresh. + +> JavaScript can create great usability improvements for most users – but when content is updated dynamically, it has the potential to introduce accessibility issues. This is one of the steps you can take to handle that problem. + +> #### What. +> When a portion of a page is updated with JavaScript, the update is usually highlighted with animation and bright colors, and is easy to see. But if you don’t have the ability to see the screen, you don’t know this has happened, unless the updated region is marked as an ARIA-live region. + +> If this isn’t marked, there’s no notification for screen readers. But it’s also possible that all the region content will be announced after an update, if the ARIA live region is too large. You want to provide users with just a simple, concise message. + +> #### How. +> That’s what `wp.a11y.speak()` is meant for. It’s a simple tool that creates and appends an ARIA live notifications area to the element where developers can dispatch text messages. Assistive technologies will automatically announce any text change in this area. This ARIA live region has an ARIA role of “status” so it has an implicit aria-live value of polite and an implicit aria-atomic value of true. + +> This means assistive technologies will notify users of updates but generally do not interrupt the current task, and updates take low priority. If you’re creating an application with higher priority updates (such as a notification that their current session is about to expire, for example), then you’ll want to create your own method with an aria-live value of assertive. + +## Browser support + +See https://make.wordpress.org/design/handbook/design-guide/browser-support/ + +

Code is Poetry.

diff --git a/packages/a11y/package.json b/packages/a11y/package.json new file mode 100644 index 00000000000000..3ac392ea51b643 --- /dev/null +++ b/packages/a11y/package.json @@ -0,0 +1,28 @@ +{ + "name": "@wordpress/a11y", + "version": "1.0.7", + "description": "Collection of JS modules and tools for WordPress development", + "author": "The WordPress Contributors", + "license": "GPL-2.0-or-later", + "keywords": [ + "wordpress", + "a11y", + "aria-live" + ], + "homepage": "https://github.com/WordPress/gutenberg/tree/master/packages/a11y/README.md", + "repository": { + "type": "git", + "url": "https://github.com/WordPress/gutenberg.git" + }, + "bugs": { + "url": "https://github.com/WordPress/gutenberg/issues" + }, + "main": "build/index.js", + "module": "build-module/index.js", + "dependencies": { + "@wordpress/dom-ready": "file:../dom-ready" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/a11y/src/addContainer.js b/packages/a11y/src/addContainer.js new file mode 100644 index 00000000000000..38fa59001ec305 --- /dev/null +++ b/packages/a11y/src/addContainer.js @@ -0,0 +1,36 @@ +/** + * Build the live regions markup. + * + * @param {string} ariaLive Optional. Value for the 'aria-live' attribute, default 'polite'. + * + * @return {Object} $container The ARIA live region jQuery object. + */ +const addContainer = function( ariaLive ) { + ariaLive = ariaLive || 'polite'; + + const container = document.createElement( 'div' ); + container.id = 'a11y-speak-' + ariaLive; + container.className = 'a11y-speak-region'; + + container.setAttribute( 'style', ( + 'position: absolute;' + + 'margin: -1px;' + + 'padding: 0;' + + 'height: 1px;' + + 'width: 1px;' + + 'overflow: hidden;' + + 'clip: rect(1px, 1px, 1px, 1px);' + + '-webkit-clip-path: inset(50%);' + + 'clip-path: inset(50%);' + + 'border: 0;' + + 'word-wrap: normal !important;' + ) ); + container.setAttribute( 'aria-live', ariaLive ); + container.setAttribute( 'aria-relevant', 'additions text' ); + container.setAttribute( 'aria-atomic', 'true' ); + + document.querySelector( 'body' ).appendChild( container ); + return container; +}; + +export default addContainer; diff --git a/packages/a11y/src/clear.js b/packages/a11y/src/clear.js new file mode 100644 index 00000000000000..94bab6ff853084 --- /dev/null +++ b/packages/a11y/src/clear.js @@ -0,0 +1,11 @@ +/** + * Clear the a11y-speak-region elements. + */ +const clear = function() { + const regions = document.querySelectorAll( '.a11y-speak-region' ); + for ( let i = 0; i < regions.length; i++ ) { + regions[ i ].textContent = ''; + } +}; + +export default clear; diff --git a/packages/a11y/src/filterMessage.js b/packages/a11y/src/filterMessage.js new file mode 100644 index 00000000000000..27a48e85fec98b --- /dev/null +++ b/packages/a11y/src/filterMessage.js @@ -0,0 +1,29 @@ +let previousMessage = ''; + +/** + * Filter the message to be announced to the screenreader. + * + * @param {string} message The message to be announced. + * + * @return {string} The filtered message. + */ +const filterMessage = function( message ) { + /* + * Strip HTML tags (if any) from the message string. Ideally, messages should + * be simple strings, carefully crafted for specific use with A11ySpeak. + * When re-using already existing strings this will ensure simple HTML to be + * stripped out and replaced with a space. Browsers will collapse multiple + * spaces natively. + */ + message = message.replace( /<[^<>]+>/g, ' ' ); + + if ( previousMessage === message ) { + message += '\u00A0'; + } + + previousMessage = message; + + return message; +}; + +export default filterMessage; diff --git a/packages/a11y/src/index.js b/packages/a11y/src/index.js new file mode 100644 index 00000000000000..7129b2957e20cf --- /dev/null +++ b/packages/a11y/src/index.js @@ -0,0 +1,47 @@ +import addContainer from './addContainer'; +import clear from './clear'; +import domReady from '@wordpress/dom-ready'; +import filterMessage from './filterMessage'; + +/** + * Create the live regions. + */ +export const setup = function() { + let containerPolite = document.getElementById( 'a11y-speak-polite' ); + let containerAssertive = document.getElementById( 'a11y-speak-assertive' ); + + if ( containerPolite === null ) { + containerPolite = addContainer( 'polite' ); + } + if ( containerAssertive === null ) { + containerAssertive = addContainer( 'assertive' ); + } +}; + +/** + * Run setup on domReady. + */ +domReady( setup ); + +/** + * Update the ARIA live notification area text node. + * + * @param {string} message The message to be announced by Assistive Technologies. + * @param {string} ariaLive Optional. The politeness level for aria-live. Possible values: + * polite or assertive. Default polite. + */ +export const speak = function( message, ariaLive ) { + // Clear previous messages to allow repeated strings being read out. + clear(); + + message = filterMessage( message ); + + const containerPolite = document.getElementById( 'a11y-speak-polite' ); + const containerAssertive = document.getElementById( 'a11y-speak-assertive' ); + + if ( containerAssertive && 'assertive' === ariaLive ) { + containerAssertive.textContent = message; + } else if ( containerPolite ) { + containerPolite.textContent = message; + } +}; diff --git a/packages/a11y/src/test/addContainer.test.js b/packages/a11y/src/test/addContainer.test.js new file mode 100644 index 00000000000000..7b09cc630ba6d3 --- /dev/null +++ b/packages/a11y/src/test/addContainer.test.js @@ -0,0 +1,45 @@ +import addContainer from '../addContainer'; + +describe( 'addContainer', () => { + describe( 'with polite param', () => { + it( 'should create an aria-live element with aria-live attr set to polite', () => { + const container = addContainer( 'polite' ); + + expect( container ).not.toBe( null ); + expect( container.className ).toBe( 'a11y-speak-region' ); + expect( container.id ).toBe( 'a11y-speak-polite' ); + expect( container.getAttribute( 'style' ) ).not.toBeNull(); + expect( container.getAttribute( 'aria-live' ) ).toBe( 'polite' ); + expect( container.getAttribute( 'aria-relevant' ) ).toBe( 'additions text' ); + expect( container.getAttribute( 'aria-atomic' ) ).toBe( 'true' ); + } ); + } ); + + describe( 'with assertive param', () => { + it( 'should create an aria-live element with aria-live attr set to assertive', () => { + const container = addContainer( 'assertive' ); + + expect( container ).not.toBe( null ); + expect( container.className ).toBe( 'a11y-speak-region' ); + expect( container.id ).toBe( 'a11y-speak-assertive' ); + expect( container.getAttribute( 'style' ) ).not.toBeNull(); + expect( container.getAttribute( 'aria-live' ) ).toBe( 'assertive' ); + expect( container.getAttribute( 'aria-relevant' ) ).toBe( 'additions text' ); + expect( container.getAttribute( 'aria-atomic' ) ).toBe( 'true' ); + } ); + } ); + + describe( 'without param', () => { + it( 'should default to creating an aria-live element with aria-live attr set to polite', () => { + const container = addContainer( 'polite' ); + + expect( container ).not.toBe( null ); + expect( container.className ).toBe( 'a11y-speak-region' ); + expect( container.id ).toBe( 'a11y-speak-polite' ); + expect( container.getAttribute( 'style' ) ).not.toBeNull(); + expect( container.getAttribute( 'aria-live' ) ).toBe( 'polite' ); + expect( container.getAttribute( 'aria-relevant' ) ).toBe( 'additions text' ); + expect( container.getAttribute( 'aria-atomic' ) ).toBe( 'true' ); + } ); + } ); +} ); diff --git a/packages/a11y/src/test/clear.test.js b/packages/a11y/src/test/clear.test.js new file mode 100644 index 00000000000000..c139f0d664ab54 --- /dev/null +++ b/packages/a11y/src/test/clear.test.js @@ -0,0 +1,19 @@ +import clear from '../clear'; + +describe( 'clear', () => { + it( 'should clear all a11y-speak-region elements', () => { + const container1 = document.createElement( 'div' ); + container1.className = 'a11y-speak-region'; + container1.textContent = 'not empty'; + document.querySelector( 'body' ).appendChild( container1 ); + + const container2 = document.createElement( 'div' ); + container2.className = 'a11y-speak-region'; + container2.textContent = 'not empty'; + document.querySelector( 'body' ).appendChild( container2 ); + + clear(); + expect( container1.textContent ).toBe( '' ); + expect( container2.textContent ).toBe( '' ); + } ); +} ); diff --git a/packages/a11y/src/test/filterMessage.test.js b/packages/a11y/src/test/filterMessage.test.js new file mode 100644 index 00000000000000..3dcdf54e9b18d8 --- /dev/null +++ b/packages/a11y/src/test/filterMessage.test.js @@ -0,0 +1,25 @@ +import filterMessage from '../filterMessage'; + +describe( 'filterMessage', () => { + describe( 'when a clean message is passed in', () => { + it( 'should return the message unfiltered', () => { + const actual = filterMessage( 'clean message.' ); + expect( actual ).toBe( 'clean message.' ); + } ); + } ); + + describe( 'when a message is passed in twice in a row', () => { + it( 'should add a space to the message to make sure it is announced again', () => { + filterMessage( 'repeated message.' ); + const actual = filterMessage( 'repeated message.' ); + expect( actual ).toBe( 'repeated message.' + '\u00A0' ); + } ); + } ); + + describe( 'when a message contains html tags', () => { + it( 'should strip the html tags and replace them with spaces', () => { + const actual = filterMessage( '

html paragraph

' ); + expect( actual ).toBe( ' html paragraph ' ); + } ); + } ); +} ); diff --git a/packages/a11y/src/test/index.test.js b/packages/a11y/src/test/index.test.js new file mode 100644 index 00000000000000..3737e4e444754d --- /dev/null +++ b/packages/a11y/src/test/index.test.js @@ -0,0 +1,106 @@ +import { setup, speak } from '../'; + +jest.mock( '../clear', () => { + return jest.fn(); +} ); +jest.mock( '@wordpress/dom-ready', () => { + return jest.fn( ( callback ) => { + callback(); + } ); +} ); +jest.mock( '../filterMessage', () => { + return jest.fn( ( message ) => { + return message; + } ); +} ); + +import clear from '../clear'; +import domReady from '@wordpress/dom-ready'; +import filterMessage from '../filterMessage'; + +describe( 'speak', () => { + let containerPolite = document.getElementById( 'a11y-speak-polite' ); + let containerAssertive = document.getElementById( 'a11y-speak-assertive' ); + + beforeEach( () => { + containerPolite.textContent = ''; + containerAssertive.textContent = ''; + } ); + + describe( 'on import', () => { + it( 'should call domReady', () => { + expect( domReady ).toHaveBeenCalled(); + } ); + } ); + + describe( 'in default mode', () => { + it( 'should set the textcontent of the polite aria-live region', () => { + speak( 'default message' ); + expect( containerPolite.textContent ).toBe( 'default message' ); + expect( containerAssertive.textContent ).toBe( '' ); + expect( clear ).toHaveBeenCalled(); + expect( filterMessage ).toHaveBeenCalledWith( 'default message' ); + } ); + } ); + + describe( 'in assertive mode', () => { + it( 'should set the textcontent of the assertive aria-live region', () => { + speak( 'assertive message', 'assertive' ); + expect( containerPolite.textContent ).toBe( '' ); + expect( containerAssertive.textContent ).toBe( 'assertive message' ); + } ); + } ); + + describe( 'in explicit polite mode', () => { + it( 'should set the textcontent of the polite aria-live region', () => { + speak( 'polite message', 'polite' ); + expect( containerPolite.textContent ).toBe( 'polite message' ); + expect( containerAssertive.textContent ).toBe( '' ); + } ); + } ); + + describe( 'when somehow the assertive container is not present', () => { + beforeEach( () => { + document.getElementById( 'a11y-speak-assertive' ).remove(); + } ); + + afterEach( () => { + setup(); + containerAssertive = document.getElementById( 'a11y-speak-assertive' ); + } ); + + it( 'should set the textcontent of the polite aria-live region', () => { + speak( 'message', 'assertive' ); + expect( containerPolite.textContent ).toBe( 'message' ); + expect( document.getElementById( 'a11y-speak-assertive' ) ).toBe( null ); + } ); + } ); + + describe( 'when somehow the both containers are not present', () => { + beforeEach( () => { + containerAssertive.remove(); + containerPolite.remove(); + } ); + + afterEach( () => { + setup(); + containerPolite = document.getElementById( 'a11y-speak-polite' ); + containerAssertive = document.getElementById( 'a11y-speak-assertive' ); + } ); + + it( 'should set the textcontent of the polite aria-live region', () => { + expect( document.getElementById( 'a11y-speak-polite' ) ).toBe( null ); + expect( document.getElementById( 'a11y-speak-assertive' ) ).toBe( null ); + } ); + } ); + + describe( 'setup when the elements already exist', () => { + it( 'should not create the aria live regions again', () => { + const before = document.getElementsByClassName( 'a11y-speak-region' ).length; + setup(); + const after = document.getElementsByClassName( 'a11y-speak-region' ).length; + + expect( before ).toBe( after ); + } ); + } ); +} ); diff --git a/packages/autop/.npmrc b/packages/autop/.npmrc new file mode 100644 index 00000000000000..43c97e719a5a82 --- /dev/null +++ b/packages/autop/.npmrc @@ -0,0 +1 @@ +package-lock=false diff --git a/packages/autop/CHANGELOG.md b/packages/autop/CHANGELOG.md new file mode 100644 index 00000000000000..ce4f5f4521c1f1 --- /dev/null +++ b/packages/autop/CHANGELOG.md @@ -0,0 +1,3 @@ +## 1.0.6 (2018-05-08) + +- Documentation: Fix API method typo for `removep`. ([#120](https://github.com/WordPress/packages/pull/120)) diff --git a/packages/autop/README.md b/packages/autop/README.md new file mode 100644 index 00000000000000..102fd962ab0ed3 --- /dev/null +++ b/packages/autop/README.md @@ -0,0 +1,32 @@ +# @wordpress/autop + +JavaScript port of WordPress's automatic paragraph function `autop` and the `removep` reverse behavior. + +## Installation + +Install the module + +```bash +npm install @wordpress/autop --save +``` + +### Usage + +Import the desired function(s) from `@wordpress/autop`: + +```js +import { autop, removep } from '@wordpress/autop'; + +autop( 'my text' ); +// "

my text

" + +removep( '

my text

' ); +// "my text" +``` + +### API Usage + +* `autop( text: string ): string` +* `removep( text: string ): string` + +

Code is Poetry.

diff --git a/packages/autop/package.json b/packages/autop/package.json new file mode 100644 index 00000000000000..5c73a08ed836d0 --- /dev/null +++ b/packages/autop/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wordpress/autop", + "version": "1.0.6", + "description": "WordPress's automatic paragraph functions `autop` and `removep`", + "author": "The WordPress Contributors", + "license": "GPL-2.0-or-later", + "keywords": [ + "wordpress", + "autop" + ], + "homepage": "https://github.com/WordPress/gutenberg/tree/master/packages/autop/README.md", + "repository": { + "type": "git", + "url": "https://github.com/WordPress/gutenberg.git" + }, + "bugs": { + "url": "https://github.com/WordPress/gutenberg/issues" + }, + "main": "build/index.js", + "module": "build-module/index.js", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/autop/src/index.js b/packages/autop/src/index.js new file mode 100644 index 00000000000000..432a567a67a8a6 --- /dev/null +++ b/packages/autop/src/index.js @@ -0,0 +1,412 @@ +/** + * The regular expression for an HTML element. + * + * @type {String} + */ +const htmlSplitRegex = ( () => { + /* eslint-disable no-multi-spaces */ + const comments = + '!' + // Start of comment, after the <. + '(?:' + // Unroll the loop: Consume everything until --> is found. + '-(?!->)' + // Dash not followed by end of comment. + '[^\\-]*' + // Consume non-dashes. + ')*' + // Loop possessively. + '(?:-->)?'; // End of comment. If not found, match all input. + + const cdata = + '!\\[CDATA\\[' + // Start of comment, after the <. + '[^\\]]*' + // Consume non-]. + '(?:' + // Unroll the loop: Consume everything until ]]> is found. + '](?!]>)' + // One ] not followed by end of comment. + '[^\\]]*' + // Consume non-]. + ')*?' + // Loop possessively. + '(?:]]>)?'; // End of comment. If not found, match all input. + + const escaped = + '(?=' + // Is the element escaped? + '!--' + + '|' + + '!\\[CDATA\\[' + + ')' + + '((?=!-)' + // If yes, which type? + comments + + '|' + + cdata + + ')'; + + const regex = + '(' + // Capture the entire match. + '<' + // Find start of element. + '(' + // Conditional expression follows. + escaped + // Find end of escaped element. + '|' + // ... else ... + '[^>]*>?' + // Find end of normal element. + ')' + + ')'; + + return new RegExp( regex ); + /* eslint-enable no-multi-spaces */ +} )(); + +/** + * Separate HTML elements and comments from the text. + * + * @param {string} input The text which has to be formatted. + * @return {Array} The formatted text. + */ +function htmlSplit( input ) { + const parts = []; + let workingInput = input; + + let match; + while ( ( match = workingInput.match( htmlSplitRegex ) ) ) { + parts.push( workingInput.slice( 0, match.index ) ); + parts.push( match[ 0 ] ); + workingInput = workingInput.slice( match.index + match[ 0 ].length ); + } + + if ( workingInput.length ) { + parts.push( workingInput ); + } + + return parts; +} + +/** + * Replace characters or phrases within HTML elements only. + * + * @param {string} haystack The text which has to be formatted. + * @param {Object} replacePairs In the form {from: 'to', ...}. + * @return {string} The formatted text. + */ +function replaceInHtmlTags( haystack, replacePairs ) { + // Find all elements. + const textArr = htmlSplit( haystack ); + let changed = false; + + // Extract all needles. + const needles = Object.keys( replacePairs ); + + // Loop through delimiters (elements) only. + for ( let i = 1; i < textArr.length; i += 2 ) { + for ( let j = 0; j < needles.length; j++ ) { + const needle = needles[ j ]; + if ( -1 !== textArr[ i ].indexOf( needle ) ) { + textArr[ i ] = textArr[ i ].replace( new RegExp( needle, 'g' ), replacePairs[ needle ] ); + changed = true; + // After one strtr() break out of the foreach loop and look at next element. + break; + } + } + } + + if ( changed ) { + haystack = textArr.join( '' ); + } + + return haystack; +} + +/** + * Replaces double line-breaks with paragraph elements. + * + * A group of regex replaces used to identify text formatted with newlines and + * replace double line-breaks with HTML paragraph tags. The remaining line- + * breaks after conversion become <
> tags, unless br is set to 'false'. + * + * @param {string} text The text which has to be formatted. + * @param {boolean} br Optional. If set, will convert all remaining line- + * breaks after paragraphing. Default true. + * @return {string} Text which has been converted into paragraph tags. + */ +export function autop( text, br = true ) { + const preTags = []; + + if ( text.trim() === '' ) { + return ''; + } + + // Just to make things a little easier, pad the end. + text = text + '\n'; + + /* + * Pre tags shouldn't be touched by autop. + * Replace pre tags with placeholders and bring them back after autop. + */ + if ( text.indexOf( '' ); + const lastText = textParts.pop(); + text = ''; + + for ( let i = 0; i < textParts.length; i++ ) { + const textPart = textParts[ i ]; + const start = textPart.indexOf( ''; + preTags.push( [ name, textPart.substr( start ) + '' ] ); + + text += textPart.substr( 0, start ) + name; + } + + text += lastText; + } + // Change multiple
s into two line breaks, which will turn into paragraphs. + text = text.replace( /\s*/g, '\n\n' ); + + const allBlocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)'; + + // Add a double line break above block-level opening tags. + text = text.replace( new RegExp( '(<' + allBlocks + '[\s\/>])', 'g' ), '\n\n$1' ); + + // Add a double line break below block-level closing tags. + text = text.replace( new RegExp( '(<\/' + allBlocks + '>)', 'g' ), '$1\n\n' ); + + // Standardize newline characters to "\n". + text = text.replace( /\r\n|\r/g, '\n' ); + + // Find newlines in all elements and add placeholders. + text = replaceInHtmlTags( text, { '\n': ' ' } ); + + // Collapse line breaks before and after ' ); + } + + /* + * Collapse line breaks inside elements, before and elements + * so they don't get autop'd. + */ + if ( text.indexOf( '' ) !== -1 ) { + text = text.replace( /(]*>)\s*/g, '$1' ); + text = text.replace( /\s*<\/object>/g, '' ); + text = text.replace( /\s*(<\/?(?:param|embed)[^>]*>)\s*/g, '$1' ); + } + + /* + * Collapse line breaks inside