From 7e3c01b1b1af01666b67aa51c64181921e1c15bd Mon Sep 17 00:00:00 2001 From: Jared Stoffan Date: Tue, 18 Dec 2018 12:37:40 -0800 Subject: [PATCH] Chore: Add webpack-dev-server and basic fixture for local dev (#316) --- .babelrc | 9 ++- .npmrc | 1 + README.md | 56 +-------------- build/webpack.config.js | 6 +- docs/dev-setup.md | 8 ++- package.json | 4 +- test/index.html | 88 +++++++++++++++++++++++ test/styles.css | 30 ++++++++ yarn.lock | 156 ++++++++++++++++++++++++++++++++++------ 9 files changed, 279 insertions(+), 79 deletions(-) create mode 100644 .npmrc create mode 100644 test/index.html create mode 100644 test/styles.css diff --git a/.babelrc b/.babelrc index a0934e245..f25ec0471 100644 --- a/.babelrc +++ b/.babelrc @@ -26,7 +26,14 @@ "flow" ], "plugins": [ - "flow-react-proptypes", [ + "flow-react-proptypes", + [ + "transform-es2015-arrow-functions", + { + "spec": true + } + ], + [ "react-intl", { "enforceDescriptions": true, diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..214c29d13 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +registry=https://registry.npmjs.org/ diff --git a/README.md b/README.md index 9936df7e0..a15e6acdb 100644 --- a/README.md +++ b/README.md @@ -70,60 +70,10 @@ Supported document file extensions: `pdf, doc, docx, ppt, pptx, xls, xlsm, xlsx` Supported image file extensions: `ai, bmp, dcm, eps, gif, png, ps, psd, svs, tga, tif, tiff` -## Development Setup - -1. Install Node v8.9.4 or higher. -2. Install yarn package manager `https://yarnpkg.com/en/docs/install`. Alternatively, you can replace any `yarn` command with `npm`. -3. Fork the upstream repo `https://github.com/box/box-annotations`. -4. Clone your fork locally `git clone git@github.com:[YOUR GITHUB USERNAME]/box-annotations.git`. -5. Navigate to the cloned folder `cd box-annotations` -6. Add the upstream repo to your remotes `git remote add upstream git@github.com:box/box-annotations.git`. -7. Verify your remotes are properly set up `git remote -v`. You should pull updates from the Box repo `upstream` and push changes to your fork `origin`. -8. Install dependencies `yarn install` -9. Test your first build! `yarn run build` -10. To test only local annotation changes, see [instantiating a custom instance of Box Annotations](https://github.com/box/box-annotations/#passing-an-instance-of-box-annotations-into-box-content-preview). -11. To link and test your local code changes along with your local Preview changes, run `yarn link` in this repository and `yarn link box-annotations` wherever [Box Content Preview](github.com/box/box-content-preview/) is cloned locally. -12. To automatically rsync files after a Webpack build, add a build/rsync.json file with a `location` field. This file should look like: -``` -{ - "location": "YOUR_DESIRED_RSYNC_LOCATION_HERE" -} -``` - -For more information on contributing see [Contributing](docs/contributing.md). - -## While Developing - -Install the following plugins in your preferred editor - -* Editor Config (standardizes basic editor configuration) -* ESLint (Javascript linting) -* Prettier & Prettier - ESLint (Automatic Javascript formatting following ESLint config) -* Stylelint (CSS linting) - -### Yarn commands - -* `yarn run build` to generate resource bundles and JS webpack bundles. -* `yarn run watch` to only generate JS webpack bundles on file changes. -* `yarn run test` launches jest. -* `yarn run test -- --src=PATH/TO/SRC/FILENAME` launches test only for `src/PATH/TO/SRC/__tests__/FILENAME-test.js` instead of all tests. For example, `yarn run test -- --src=doc/DocAnnotator` launches tests for `src/doc/__tests__/DocAnnotator-test.js`. This also works for directories, e.g. `yarn run test -- --src=doc/`. -* `yarn run debug` launches jest for debugging. Open the URL mentioned in the console. -* `yarn run debug -- --src=path/to/src/FILENAME` launches debugging for `src/path/to/src/__tests__/FILENAME-test.js` instead of all tests. Open the URL mentioned in the console. - -For more script commands see `package.json`. Test coverage reports are available under reports/coverage. - -### Config files +## Development -* .babelrc - https://babeljs.io/docs/usage/babelrc/ -* .editorconfig - http://editorconfig.org/ -* .eslintignore - http://eslint.org/docs/user-guide/configuring#ignoring-files-and-directories -* .eslintrc - http://eslint.org/docs/user-guide/configuring -* .gitignore - https://git-scm.com/docs/gitignore -* .stylelintrc - https://stylelint.io/user-guide/configuration/ -* .travis.yml - https://docs.travis-ci.com/user/customizing-the-build -* browserslist - https://github.com/ai/browserslist -* commitlint.config.js - https://github.com/marionebl/commitlint -* postcss.config.js - https://github.com/postcss/postcss-loader +* [Dev Setup](docs/dev-setup.md) +* [Contributing](docs/contributing.md) ## Support diff --git a/build/webpack.config.js b/build/webpack.config.js index 1d495d60e..dfa562784 100644 --- a/build/webpack.config.js +++ b/build/webpack.config.js @@ -43,6 +43,10 @@ const config = Object.assign(commonConfig(), { 'box-react-ui-locale-data': path.resolve(`node_modules/box-react-ui/i18n/${language}`), moment: path.resolve('src/MomentShim') // Hack to leverage Intl instead } + }, + devServer: { + contentBase: './test', + inline: true } }); @@ -53,7 +57,7 @@ if (isDev) { } // Add inline source map - config.devtool = 'inline-source-map'; + config.devtool = 'source-map'; config.plugins.push(new TranslationsPlugin()); config.plugins.push( new CircularDependencyPlugin({ diff --git a/docs/dev-setup.md b/docs/dev-setup.md index 42fb5d52a..28d6781b8 100644 --- a/docs/dev-setup.md +++ b/docs/dev-setup.md @@ -11,6 +11,12 @@ 9. Test your first build! `yarn run build` 10. To test only local annotation changes, see [instantiating a custom instance of Box Annotations](https://github.com/box/box-annotations/#passing-an-instance-of-box-annotations-into-box-content-preview). 11. To link and test your local code changes along with your local Preview changes, run `yarn link` in this repository and `yarn link box-annotations` wherever [Box Content Preview](github.com/box/box-content-preview/) is cloned locally. +12. To automatically rsync files after a Webpack build, add a build/rsync.json file with a `location` field. This file should look like: +``` +{ + "location": "YOUR_DESIRED_RSYNC_LOCATION_HERE" +} +``` ## While Developing @@ -24,7 +30,7 @@ Install the following plugins in your preferred editor ### Yarn commands * `yarn run build` to generate resource bundles and JS webpack bundles. -* `yarn run watch` to only generate JS webpack bundles on file changes. +* `yarn run start` to only generate JS webpack bundles on file changes. * `yarn run test` launches jest. * `yarn run test -- --src=PATH/TO/SRC/FILENAME` launches test only for `src/PATH/TO/SRC/__tests__/FILENAME-test.js` instead of all tests. For example, `yarn run test -- --src=doc/DocAnnotator` launches tests for `src/doc/__tests__/DocAnnotator-test.js`. This also works for directories, e.g. `yarn run test -- --src=doc/`. * `yarn run debug` launches jest for debugging. Open the URL mentioned in the console. diff --git a/package.json b/package.json index 07e946354..111a3122c 100644 --- a/package.json +++ b/package.json @@ -132,6 +132,7 @@ "webpack": "^4.12.0", "webpack-bundle-analyzer": "^2.13.1", "webpack-cli": "^3.0.7", + "webpack-dev-server": "^3.1.10", "whatwg-fetch": "^2.0.3" }, "scripts": { @@ -139,7 +140,6 @@ "build-locales": "node ./build/props-to-es2015.js", "build-prod": "BABEL_ENV=production NODE_ENV=production webpack --config build/webpack.config.js --mode production", "build-variables": "node ./build/build-style-vars.js ./src/styles/_variables.scss ./src/styles/variables.js ./src/styles/variables.json", - "watch": "yarn install && LANGUAGE=en-US BABEL_ENV=dev NODE_ENV=dev ./node_modules/.bin/webpack --watch --progress --colors --config build/webpack.config.js --mode development", "test": "yarn install && NODE_ENV=test yarn run jest", "debug": "yarn install && NODE_ENV=test yarn run jest --watch", "setup-travis": "cd functional-tests && yarn install && node app.js", @@ -160,6 +160,8 @@ "major": "./build/release.sh -m && ./build/publish.sh", "patch": "./build/release.sh -p && ./build/publish.sh", "upgrade-brui": "./build/upgrade_brui.sh", + "start": "yarn install && LANGUAGE=en-US BABEL_ENV=dev NODE_ENV=dev ./node_modules/.bin/webpack --watch --progress --colors --config build/webpack.config.js --mode development", + "start:dev": "yarn run pre-build && LANGUAGE=en-US BABEL_ENV=dev NODE_ENV=dev ./node_modules/.bin/webpack-dev-server --config build/webpack.config.js --mode development", "styleguide": "yarn run pre-build && LANGUAGE=en-US REACT=true BABEL_ENV=dev NODE_ENV=dev node --max_old_space_size=8192 node_modules/react-styleguidist/bin/styleguidist.js server --config build/styleguide.config.js --mode development", "styleguide-static": "LANGUAGE=en-US REACT=true BABEL_ENV=production NODE_ENV=production node --max_old_space_size=8192 node_modules/react-styleguidist/bin/styleguidist.js build --config build/styleguide.config.js --mode production" }, diff --git a/test/index.html b/test/index.html new file mode 100644 index 000000000..b335e886d --- /dev/null +++ b/test/index.html @@ -0,0 +1,88 @@ + + + + + + + + + + + + +
+
+
Token:
+ + +
+ +
+
File ID:
+ + +
+
+ +
+ + + diff --git a/test/styles.css b/test/styles.css new file mode 100644 index 000000000..b4e36651d --- /dev/null +++ b/test/styles.css @@ -0,0 +1,30 @@ +* { + font-family: sans-serif; + margin: 0; + padding: 0; + box-sizing: border-box; +} +.setters-container { + height: 25vh; + display: flex; + font-size: 75%; + justify-content: space-around; + padding: 20px; +} + +.setters-container button,input { + padding: 5px; +} + +.container { + text-align: center; +} + +.container > input { + text-align: center; +} + +#preview-container { + width: 100vw; + height: 75vh; +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 58fd0328a..88b53e57c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -734,6 +734,11 @@ amdefine@>=0.0.4: resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= +ansi-colors@^3.0.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -3872,7 +3877,7 @@ debug@3.1.0, debug@=3.1.0: dependencies: ms "2.0.0" -debug@^3.1.0: +debug@^3.1.0, debug@^3.2.5: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -3950,6 +3955,14 @@ deepmerge@~2.0.1: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.0.1.tgz#25c1c24f110fb914f80001b925264dd77f3f4312" integrity sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ== +default-gateway@^2.6.0: + version "2.7.2" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" + integrity sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ== + dependencies: + execa "^0.10.0" + ip-regex "^2.1.0" + default-require-extensions@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" @@ -4824,6 +4837,13 @@ eventsource@0.1.6: dependencies: original ">=0.0.5" +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + dependencies: + original "^1.0.0" + evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -5100,7 +5120,7 @@ faye-websocket@^0.10.0: dependencies: websocket-driver ">=0.5.1" -faye-websocket@~0.11.0: +faye-websocket@~0.11.0, faye-websocket@~0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= @@ -6186,6 +6206,16 @@ http-proxy-middleware@~0.17.4: lodash "^4.17.2" micromatch "^2.3.11" +http-proxy-middleware@~0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" + integrity sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q== + dependencies: + http-proxy "^1.16.2" + is-glob "^4.0.0" + lodash "^4.17.5" + micromatch "^3.1.9" + http-proxy@^1.16.2: version "1.17.0" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" @@ -6461,6 +6491,14 @@ internal-ip@1.2.0: dependencies: meow "^3.3.0" +internal-ip@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27" + integrity sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q== + dependencies: + default-gateway "^2.6.0" + ipaddr.js "^1.5.2" + interpret@^1.0.0, interpret@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" @@ -6515,6 +6553,11 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -6525,6 +6568,11 @@ ipaddr.js@1.8.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= +ipaddr.js@^1.5.2: + version "1.8.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz#fa4b79fa47fd3def5e3b159825161c0a519c9427" + integrity sha1-+kt5+kf9Pe9eOxWYJRYcClGclCc= + is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" @@ -8391,7 +8439,7 @@ micromatch@^2.1.5, micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -9198,7 +9246,7 @@ ora@^2.1.0: strip-ansi "^4.0.0" wcwidth "^1.0.1" -original@>=0.0.5: +original@>=0.0.5, original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== @@ -11726,6 +11774,18 @@ sockjs-client@1.1.5: json3 "^3.3.2" url-parse "^1.1.8" +sockjs-client@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" + integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + sockjs@0.3.19: version "0.3.19" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" @@ -13235,6 +13295,16 @@ webpack-dev-middleware@1.12.2: range-parser "^1.0.3" time-stamp "^2.0.0" +webpack-dev-middleware@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz#1132fecc9026fd90f0ecedac5cbff75d1fb45890" + integrity sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA== + dependencies: + memory-fs "~0.4.1" + mime "^2.3.1" + range-parser "^1.0.3" + webpack-log "^2.0.0" + webpack-dev-server@^2.11.2: version "2.11.3" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.11.3.tgz#3fd48a402164a6569d94d3d17f131432631b4873" @@ -13268,6 +13338,48 @@ webpack-dev-server@^2.11.2: webpack-dev-middleware "1.12.2" yargs "6.6.0" +webpack-dev-server@^3.1.10: + version "3.1.10" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.10.tgz#507411bee727ee8d2fdffdc621b66a64ab3dea2b" + integrity sha512-RqOAVjfqZJtQcB0LmrzJ5y4Jp78lv9CK0MZ1YJDTaTmedMZ9PU9FLMQNrMCfVu8hHzaVLVOJKBlGEHMN10z+ww== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.0.0" + compression "^1.5.2" + connect-history-api-fallback "^1.3.0" + debug "^3.1.0" + del "^3.0.0" + express "^4.16.2" + html-entities "^1.2.0" + http-proxy-middleware "~0.18.0" + import-local "^2.0.0" + internal-ip "^3.0.1" + ip "^1.1.5" + killable "^1.0.0" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + schema-utils "^1.0.0" + selfsigned "^1.9.1" + serve-index "^1.7.2" + sockjs "0.3.19" + sockjs-client "1.3.0" + spdy "^3.4.1" + strip-ansi "^3.0.0" + supports-color "^5.1.0" + webpack-dev-middleware "3.4.0" + webpack-log "^2.0.0" + yargs "12.0.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + webpack-merge@^4.1.3: version "4.1.4" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.4.tgz#0fde38eabf2d5fd85251c24a5a8c48f8a3f4eb7b" @@ -13612,6 +13724,24 @@ yargs@10.0.3: y18n "^3.2.1" yargs-parser "^8.0.0" +yargs@12.0.2, yargs@^12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" + integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== + dependencies: + cliui "^4.0.0" + decamelize "^2.0.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.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 || ^4.0.0" + yargs-parser "^10.1.0" + yargs@6.6.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" @@ -13649,24 +13779,6 @@ yargs@^11.0.0: y18n "^3.2.1" yargs-parser "^9.0.2" -yargs@^12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" - integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== - dependencies: - cliui "^4.0.0" - decamelize "^2.0.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.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 || ^4.0.0" - yargs-parser "^10.1.0" - yargs@^4.2.0: version "4.8.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"