From 83c226ad9ff7ae534d8a107860c2c845f11212a5 Mon Sep 17 00:00:00 2001 From: Brody McKee Date: Sun, 22 Sep 2019 15:12:07 +0300 Subject: [PATCH 1/3] Add template support --- docusaurus/docs/adding-typescript.md | 7 +- docusaurus/docs/getting-started.md | 26 +- packages/cra-template-typescript/README.md | 20 + packages/cra-template-typescript/package.json | 28 + .../cra-template-typescript/template.json | 9 + .../template}/README.md | 0 .../template}/gitignore | 0 .../template}/public/favicon.ico | Bin .../template}/public/index.html | 0 .../template}/public/logo192.png | Bin .../template}/public/logo512.png | Bin .../template}/public/manifest.json | 0 .../template}/public/robots.txt | 0 .../template}/src/App.css | 0 .../template}/src/App.test.tsx | 0 .../template}/src/App.tsx | 0 .../template}/src/index.css | 0 .../template}/src/index.tsx | 0 .../template/src}/logo.svg | 0 .../template}/src/serviceWorker.ts | 0 packages/cra-template/README.md | 10 + packages/cra-template/package.json | 27 + packages/cra-template/template.json | 3 + .../template/README.md | 0 .../template/gitignore | 0 .../template/public/favicon.ico | Bin .../template/public/index.html | 0 .../template/public/logo192.png | Bin .../template/public/logo512.png | Bin .../template/public/manifest.json | 0 .../template/public/robots.txt | 0 .../template/src/App.css | 0 .../template/src/App.js | 0 .../template/src/App.test.js | 0 packages/cra-template/template/src/index.css | 13 + .../template/src/index.js | 0 .../template}/src/logo.svg | 0 .../template/src/serviceWorker.js | 0 packages/create-react-app/createReactApp.js | 213 ++++++-- packages/create-react-app/yarn.lock.cached | 496 +++++++++++------- packages/react-scripts/config/paths.js | 23 +- .../react-scripts/fixtures/kitchensink/.env | 7 - .../fixtures/kitchensink/package.json | 5 + .../src/features/webpack/assets/svg.css | 3 - ...mplate.dependencies.json => template.json} | 0 .../fixtures/kitchensink/template/.env | 7 + .../{ => template}/.env.development | 0 .../kitchensink/{ => template}/.env.local | 0 .../{ => template}/.env.production | 0 .../kitchensink/{ => template}/.flowconfig | 0 .../kitchensink/{ => template}/README.md | 0 .../kitchensink/{ => template}/gitignore | 0 .../{ => template}/integration/config.test.js | 0 .../{ => template}/integration/env.test.js | 0 .../{ => template}/integration/initDOM.js | 0 .../{ => template}/integration/syntax.test.js | 0 .../integration/webpack.test.js | 0 .../{ => template}/jest.integration.config.js | 0 .../{ => template}/jest.transform.js | 0 .../kitchensink/{ => template}/jsconfig.json | 0 .../{ => template}/public/favicon.ico | Bin .../{ => template}/public/index.html | 0 .../kitchensink/{ => template}/src/App.js | 0 .../{ => template}/src/absoluteLoad.js | 0 .../src/features/config/BaseUrl.js | 0 .../src/features/config/BaseUrl.test.js | 0 .../src/features/env/ExpandEnvVariables.js | 0 .../features/env/ExpandEnvVariables.test.js | 0 .../src/features/env/FileEnvVariables.js | 0 .../src/features/env/FileEnvVariables.test.js | 0 .../src/features/env/PublicUrl.js | 0 .../src/features/env/PublicUrl.test.js | 0 .../src/features/env/ShellEnvVariables.js | 0 .../features/env/ShellEnvVariables.test.js | 0 .../src/features/syntax/ArrayDestructuring.js | 0 .../syntax/ArrayDestructuring.test.js | 0 .../src/features/syntax/ArraySpread.js | 0 .../src/features/syntax/ArraySpread.test.js | 0 .../src/features/syntax/AsyncAwait.js | 0 .../src/features/syntax/AsyncAwait.test.js | 0 .../src/features/syntax/ClassProperties.js | 0 .../features/syntax/ClassProperties.test.js | 0 .../src/features/syntax/ComputedProperties.js | 0 .../syntax/ComputedProperties.test.js | 0 .../features/syntax/CustomInterpolation.js | 0 .../syntax/CustomInterpolation.test.js | 0 .../src/features/syntax/DefaultParameters.js | 0 .../features/syntax/DefaultParameters.test.js | 0 .../features/syntax/DestructuringAndAwait.js | 0 .../syntax/DestructuringAndAwait.test.js | 0 .../src/features/syntax/Generators.js | 0 .../src/features/syntax/Generators.test.js | 0 .../features/syntax/ObjectDestructuring.js | 0 .../syntax/ObjectDestructuring.test.js | 0 .../src/features/syntax/ObjectSpread.js | 0 .../src/features/syntax/ObjectSpread.test.js | 0 .../src/features/syntax/Promises.js | 0 .../src/features/syntax/Promises.test.js | 0 .../src/features/syntax/RestAndDefault.js | 0 .../features/syntax/RestAndDefault.test.js | 0 .../src/features/syntax/RestParameters.js | 0 .../features/syntax/RestParameters.test.js | 0 .../features/syntax/TemplateInterpolation.js | 0 .../syntax/TemplateInterpolation.test.js | 0 .../src/features/webpack/CssInclusion.js | 0 .../src/features/webpack/CssInclusion.test.js | 0 .../features/webpack/CssModulesInclusion.js | 0 .../webpack/CssModulesInclusion.test.js | 0 .../src/features/webpack/DynamicImport.js | 0 .../features/webpack/DynamicImport.test.js | 0 .../src/features/webpack/ImageInclusion.js | 0 .../features/webpack/ImageInclusion.test.js | 0 .../src/features/webpack/JsonInclusion.js | 0 .../features/webpack/JsonInclusion.test.js | 0 .../src/features/webpack/LinkedModules.js | 0 .../features/webpack/LinkedModules.test.js | 0 .../src/features/webpack/NoExtInclusion.js | 0 .../features/webpack/NoExtInclusion.test.js | 0 .../src/features/webpack/SassInclusion.js | 0 .../features/webpack/SassInclusion.test.js | 0 .../features/webpack/SassModulesInclusion.js | 0 .../webpack/SassModulesInclusion.test.js | 0 .../src/features/webpack/ScssInclusion.js | 0 .../features/webpack/ScssInclusion.test.js | 0 .../features/webpack/ScssModulesInclusion.js | 0 .../webpack/ScssModulesInclusion.test.js | 0 .../src/features/webpack/SvgComponent.js | 0 .../src/features/webpack/SvgComponent.test.js | 0 .../src/features/webpack/SvgInCss.js | 0 .../src/features/webpack/SvgInCss.test.js | 0 .../src/features/webpack/SvgInclusion.js | 0 .../src/features/webpack/SvgInclusion.test.js | 0 .../features/webpack/UnknownExtInclusion.js | 0 .../webpack/UnknownExtInclusion.test.js | 0 .../webpack/assets/aFileWithExt.unknown | 0 .../features/webpack/assets/aFileWithoutExt | 0 .../src/features/webpack/assets/abstract.json | 0 .../features/webpack/assets/index.module.css | 0 .../features/webpack/assets/index.module.sass | 0 .../features/webpack/assets/index.module.scss | 0 .../src/features/webpack/assets}/logo.svg | 0 .../webpack/assets/sass-styles.module.sass | 0 .../features/webpack/assets/sass-styles.sass | 0 .../webpack/assets/scss-styles.module.scss | 0 .../features/webpack/assets/scss-styles.scss | 0 .../src/features/webpack/assets/style.css | 0 .../features/webpack/assets/style.module.css | 0 .../src/features/webpack/assets/svg.css | 3 + .../features/webpack/assets/tiniest-cat.jpg | Bin .../kitchensink/{ => template}/src/index.js | 0 .../{ => template}/src/subfolder/lol.js | 0 packages/react-scripts/scripts/build.js | 2 +- packages/react-scripts/scripts/init.js | 89 +++- packages/react-scripts/template/src/index.css | 13 - tasks/e2e-kitchensink-eject.sh | 6 +- tasks/e2e-kitchensink.sh | 6 +- tasks/e2e-simple.sh | 2 +- 157 files changed, 701 insertions(+), 317 deletions(-) create mode 100644 packages/cra-template-typescript/README.md create mode 100644 packages/cra-template-typescript/package.json create mode 100644 packages/cra-template-typescript/template.json rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/README.md (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/gitignore (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/public/favicon.ico (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/public/index.html (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/public/logo192.png (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/public/logo512.png (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/public/manifest.json (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/public/robots.txt (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/src/App.css (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/src/App.test.tsx (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/src/App.tsx (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/src/index.css (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/src/index.tsx (100%) rename packages/{react-scripts/fixtures/kitchensink/src/features/webpack/assets => cra-template-typescript/template/src}/logo.svg (100%) rename packages/{react-scripts/template-typescript => cra-template-typescript/template}/src/serviceWorker.ts (100%) create mode 100644 packages/cra-template/README.md create mode 100644 packages/cra-template/package.json create mode 100644 packages/cra-template/template.json rename packages/{react-scripts => cra-template}/template/README.md (100%) rename packages/{react-scripts => cra-template}/template/gitignore (100%) rename packages/{react-scripts => cra-template}/template/public/favicon.ico (100%) rename packages/{react-scripts => cra-template}/template/public/index.html (100%) rename packages/{react-scripts => cra-template}/template/public/logo192.png (100%) rename packages/{react-scripts => cra-template}/template/public/logo512.png (100%) rename packages/{react-scripts => cra-template}/template/public/manifest.json (100%) rename packages/{react-scripts => cra-template}/template/public/robots.txt (100%) rename packages/{react-scripts => cra-template}/template/src/App.css (100%) rename packages/{react-scripts => cra-template}/template/src/App.js (100%) rename packages/{react-scripts => cra-template}/template/src/App.test.js (100%) create mode 100644 packages/cra-template/template/src/index.css rename packages/{react-scripts => cra-template}/template/src/index.js (100%) rename packages/{react-scripts/template-typescript => cra-template/template}/src/logo.svg (100%) rename packages/{react-scripts => cra-template}/template/src/serviceWorker.js (100%) delete mode 100644 packages/react-scripts/fixtures/kitchensink/.env create mode 100644 packages/react-scripts/fixtures/kitchensink/package.json delete mode 100644 packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/svg.css rename packages/react-scripts/fixtures/kitchensink/{.template.dependencies.json => template.json} (100%) create mode 100644 packages/react-scripts/fixtures/kitchensink/template/.env rename packages/react-scripts/fixtures/kitchensink/{ => template}/.env.development (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/.env.local (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/.env.production (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/.flowconfig (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/README.md (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/gitignore (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/integration/config.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/integration/env.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/integration/initDOM.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/integration/syntax.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/integration/webpack.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/jest.integration.config.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/jest.transform.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/jsconfig.json (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/public/favicon.ico (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/public/index.html (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/App.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/absoluteLoad.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/config/BaseUrl.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/config/BaseUrl.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/env/ExpandEnvVariables.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/env/ExpandEnvVariables.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/env/FileEnvVariables.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/env/FileEnvVariables.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/env/PublicUrl.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/env/PublicUrl.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/env/ShellEnvVariables.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/env/ShellEnvVariables.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ArrayDestructuring.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ArrayDestructuring.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ArraySpread.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ArraySpread.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/AsyncAwait.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/AsyncAwait.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ClassProperties.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ClassProperties.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ComputedProperties.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ComputedProperties.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/CustomInterpolation.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/CustomInterpolation.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/DefaultParameters.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/DefaultParameters.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/DestructuringAndAwait.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/DestructuringAndAwait.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/Generators.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/Generators.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ObjectDestructuring.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ObjectDestructuring.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ObjectSpread.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/ObjectSpread.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/Promises.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/Promises.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/RestAndDefault.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/RestAndDefault.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/RestParameters.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/RestParameters.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/TemplateInterpolation.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/syntax/TemplateInterpolation.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/CssInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/CssInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/CssModulesInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/CssModulesInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/DynamicImport.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/DynamicImport.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/ImageInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/ImageInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/JsonInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/JsonInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/LinkedModules.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/LinkedModules.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/NoExtInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/NoExtInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SassInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SassInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SassModulesInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SassModulesInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/ScssInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/ScssInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/ScssModulesInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/ScssModulesInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SvgComponent.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SvgComponent.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SvgInCss.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SvgInCss.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SvgInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/SvgInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/UnknownExtInclusion.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/UnknownExtInclusion.test.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/aFileWithExt.unknown (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/aFileWithoutExt (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/abstract.json (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/index.module.css (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/index.module.sass (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/index.module.scss (100%) rename packages/react-scripts/{template/src => fixtures/kitchensink/template/src/features/webpack/assets}/logo.svg (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/sass-styles.module.sass (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/sass-styles.sass (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/scss-styles.module.scss (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/scss-styles.scss (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/style.css (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/style.module.css (100%) create mode 100644 packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/svg.css rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/features/webpack/assets/tiniest-cat.jpg (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/index.js (100%) rename packages/react-scripts/fixtures/kitchensink/{ => template}/src/subfolder/lol.js (100%) delete mode 100644 packages/react-scripts/template/src/index.css diff --git a/docusaurus/docs/adding-typescript.md b/docusaurus/docs/adding-typescript.md index d118af4cac6..40c9c2242a8 100644 --- a/docusaurus/docs/adding-typescript.md +++ b/docusaurus/docs/adding-typescript.md @@ -12,14 +12,16 @@ title: Adding TypeScript To start a new Create React App project with [TypeScript](https://www.typescriptlang.org/), you can run: ```sh -npx create-react-app my-app --typescript +npx create-react-app my-app --template typescript # or -yarn create react-app my-app --typescript +yarn create react-app my-app --template typescript ``` > If you've previously installed `create-react-app` globally via `npm install -g create-react-app`, we recommend you uninstall the package using `npm uninstall -g create-react-app` to ensure that `npx` always uses the latest version. +> +> Global installs of `create-react-app` are no longer supported. To add [TypeScript](https://www.typescriptlang.org/) to a Create React App project, first install it: @@ -49,5 +51,4 @@ If your project is not created with TypeScript enabled, npx may be using a cache If you are currently using [create-react-app-typescript](https://github.com/wmonk/create-react-app-typescript/), see [this blog post](https://vincenttunru.com/migrate-create-react-app-typescript-to-create-react-app/) for instructions on how to migrate to Create React App. - Constant enums and namespaces are not supported, you can learn about the constraints of [using Babel with TypeScript here](https://babeljs.io/docs/en/babel-plugin-transform-typescript#caveats). diff --git a/docusaurus/docs/getting-started.md b/docusaurus/docs/getting-started.md index c374a39f564..1008e0ce170 100644 --- a/docusaurus/docs/getting-started.md +++ b/docusaurus/docs/getting-started.md @@ -62,13 +62,33 @@ yarn create react-app my-app _`yarn create` is available in Yarn 0.25+_ -### Creating a TypeScript app +### Selecting a template -Follow our [Adding TypeScript](adding-typescript.md) documentation to create a TypeScript app. +You can now optionally start a new app from a template by appending `--template [template-name]` to the creation command. + +If you don't select a template, we'll create your project with our base template. + +Templates are always named in the format `cra-template-[template-name]`, however you only need to provide the `[template-name]` to the creation command. + +```sh +npx create-react-app my-app --template [template-name] +``` + +> You can find a a list of available templates by searching for ["cra-template-\*"](https://www.npmjs.com/search?q=cra-template-*) on npm. + +#### Creating a TypeScript app + +You can start a new TypeScript app using templates. To use our provided TypeScript template, append `--template typescript` to the creation command. + +```sh +npx create-react-app my-app --template typescript +``` + +If you already have a project and would like to add TypeScript, see our [Adding TypeScript](adding-typescript.md) documentation. ### Selecting a package manager -When you create a new app, the CLI will use [Yarn](https://yarnpkg.com/) to install dependencies (when available). If you have Yarn installed, but would prefer to use npm, you can append --use-npm to the creation command. For example: +When you create a new app, the CLI will use [Yarn](https://yarnpkg.com/) to install dependencies (when available). If you have Yarn installed, but would prefer to use npm, you can append `--use-npm` to the creation command. For example: ```sh npx create-react-app my-app --use-npm diff --git a/packages/cra-template-typescript/README.md b/packages/cra-template-typescript/README.md new file mode 100644 index 00000000000..bfca53c17b7 --- /dev/null +++ b/packages/cra-template-typescript/README.md @@ -0,0 +1,20 @@ +# cra-template-typescript + +This is the official TypeScript template for [Create React App](https://github.com/facebook/create-react-app). + +To use this template, simply add `--template typescript` when creating a new app. + +For example: + +```sh +npx create-react-app my-app --template typescript + +# or + +yarn create react-app my-app --template typescript +``` + +For more information, please refer to: + +- [Getting Started](https://create-react-app.dev/docs/getting-started) – How to create a new app. +- [User Guide](https://create-react-app.dev) – How to develop apps bootstrapped with Create React App. diff --git a/packages/cra-template-typescript/package.json b/packages/cra-template-typescript/package.json new file mode 100644 index 00000000000..33f4612a2b7 --- /dev/null +++ b/packages/cra-template-typescript/package.json @@ -0,0 +1,28 @@ +{ + "name": "cra-template-typescript", + "version": "1.0.0", + "keywords": [ + "react", + "create-react-app", + "template", + "typescript" + ], + "description": "The base TypeScript template for Create React App.", + "main": "template.json", + "repository": { + "type": "git", + "url": "https://github.com/facebook/create-react-app.git", + "directory": "packages/cra-template-typescript" + }, + "license": "MIT", + "engines": { + "node": ">=8.10" + }, + "bugs": { + "url": "https://github.com/facebook/create-react-app/issues" + }, + "files": [ + "template", + "template.json" + ] +} diff --git a/packages/cra-template-typescript/template.json b/packages/cra-template-typescript/template.json new file mode 100644 index 00000000000..86eabeff971 --- /dev/null +++ b/packages/cra-template-typescript/template.json @@ -0,0 +1,9 @@ +{ + "dependencies": { + "@types/node": "^12.0.0", + "@types/react": "^16.9.0", + "@types/react-dom": "^16.9.0", + "@types/jest": "^24.0.0", + "typescript": "^3.6.0" + } +} diff --git a/packages/react-scripts/template-typescript/README.md b/packages/cra-template-typescript/template/README.md similarity index 100% rename from packages/react-scripts/template-typescript/README.md rename to packages/cra-template-typescript/template/README.md diff --git a/packages/react-scripts/template-typescript/gitignore b/packages/cra-template-typescript/template/gitignore similarity index 100% rename from packages/react-scripts/template-typescript/gitignore rename to packages/cra-template-typescript/template/gitignore diff --git a/packages/react-scripts/template-typescript/public/favicon.ico b/packages/cra-template-typescript/template/public/favicon.ico similarity index 100% rename from packages/react-scripts/template-typescript/public/favicon.ico rename to packages/cra-template-typescript/template/public/favicon.ico diff --git a/packages/react-scripts/template-typescript/public/index.html b/packages/cra-template-typescript/template/public/index.html similarity index 100% rename from packages/react-scripts/template-typescript/public/index.html rename to packages/cra-template-typescript/template/public/index.html diff --git a/packages/react-scripts/template-typescript/public/logo192.png b/packages/cra-template-typescript/template/public/logo192.png similarity index 100% rename from packages/react-scripts/template-typescript/public/logo192.png rename to packages/cra-template-typescript/template/public/logo192.png diff --git a/packages/react-scripts/template-typescript/public/logo512.png b/packages/cra-template-typescript/template/public/logo512.png similarity index 100% rename from packages/react-scripts/template-typescript/public/logo512.png rename to packages/cra-template-typescript/template/public/logo512.png diff --git a/packages/react-scripts/template-typescript/public/manifest.json b/packages/cra-template-typescript/template/public/manifest.json similarity index 100% rename from packages/react-scripts/template-typescript/public/manifest.json rename to packages/cra-template-typescript/template/public/manifest.json diff --git a/packages/react-scripts/template-typescript/public/robots.txt b/packages/cra-template-typescript/template/public/robots.txt similarity index 100% rename from packages/react-scripts/template-typescript/public/robots.txt rename to packages/cra-template-typescript/template/public/robots.txt diff --git a/packages/react-scripts/template-typescript/src/App.css b/packages/cra-template-typescript/template/src/App.css similarity index 100% rename from packages/react-scripts/template-typescript/src/App.css rename to packages/cra-template-typescript/template/src/App.css diff --git a/packages/react-scripts/template-typescript/src/App.test.tsx b/packages/cra-template-typescript/template/src/App.test.tsx similarity index 100% rename from packages/react-scripts/template-typescript/src/App.test.tsx rename to packages/cra-template-typescript/template/src/App.test.tsx diff --git a/packages/react-scripts/template-typescript/src/App.tsx b/packages/cra-template-typescript/template/src/App.tsx similarity index 100% rename from packages/react-scripts/template-typescript/src/App.tsx rename to packages/cra-template-typescript/template/src/App.tsx diff --git a/packages/react-scripts/template-typescript/src/index.css b/packages/cra-template-typescript/template/src/index.css similarity index 100% rename from packages/react-scripts/template-typescript/src/index.css rename to packages/cra-template-typescript/template/src/index.css diff --git a/packages/react-scripts/template-typescript/src/index.tsx b/packages/cra-template-typescript/template/src/index.tsx similarity index 100% rename from packages/react-scripts/template-typescript/src/index.tsx rename to packages/cra-template-typescript/template/src/index.tsx diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/logo.svg b/packages/cra-template-typescript/template/src/logo.svg similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/logo.svg rename to packages/cra-template-typescript/template/src/logo.svg diff --git a/packages/react-scripts/template-typescript/src/serviceWorker.ts b/packages/cra-template-typescript/template/src/serviceWorker.ts similarity index 100% rename from packages/react-scripts/template-typescript/src/serviceWorker.ts rename to packages/cra-template-typescript/template/src/serviceWorker.ts diff --git a/packages/cra-template/README.md b/packages/cra-template/README.md new file mode 100644 index 00000000000..9e8434b7872 --- /dev/null +++ b/packages/cra-template/README.md @@ -0,0 +1,10 @@ +# cra-template + +This is the official base template for [Create React App](https://github.com/facebook/create-react-app). + +If you don't specify a template (for example, `--template typescript`), this template will be used by default. + +For more information, please refer to: + +- [Getting Started](https://create-react-app.dev/docs/getting-started) – How to create a new app. +- [User Guide](https://create-react-app.dev) – How to develop apps bootstrapped with Create React App. diff --git a/packages/cra-template/package.json b/packages/cra-template/package.json new file mode 100644 index 00000000000..eb27813a4f6 --- /dev/null +++ b/packages/cra-template/package.json @@ -0,0 +1,27 @@ +{ + "name": "cra-template", + "version": "1.0.0", + "keywords": [ + "react", + "create-react-app", + "template" + ], + "description": "The base template for Create React App.", + "main": "template.json", + "repository": { + "type": "git", + "url": "https://github.com/facebook/create-react-app.git", + "directory": "packages/cra-template" + }, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "bugs": { + "url": "https://github.com/facebook/create-react-app/issues" + }, + "files": [ + "template", + "template.json" + ] +} diff --git a/packages/cra-template/template.json b/packages/cra-template/template.json new file mode 100644 index 00000000000..92a4250788e --- /dev/null +++ b/packages/cra-template/template.json @@ -0,0 +1,3 @@ +{ + "dependencies": {} +} diff --git a/packages/react-scripts/template/README.md b/packages/cra-template/template/README.md similarity index 100% rename from packages/react-scripts/template/README.md rename to packages/cra-template/template/README.md diff --git a/packages/react-scripts/template/gitignore b/packages/cra-template/template/gitignore similarity index 100% rename from packages/react-scripts/template/gitignore rename to packages/cra-template/template/gitignore diff --git a/packages/react-scripts/template/public/favicon.ico b/packages/cra-template/template/public/favicon.ico similarity index 100% rename from packages/react-scripts/template/public/favicon.ico rename to packages/cra-template/template/public/favicon.ico diff --git a/packages/react-scripts/template/public/index.html b/packages/cra-template/template/public/index.html similarity index 100% rename from packages/react-scripts/template/public/index.html rename to packages/cra-template/template/public/index.html diff --git a/packages/react-scripts/template/public/logo192.png b/packages/cra-template/template/public/logo192.png similarity index 100% rename from packages/react-scripts/template/public/logo192.png rename to packages/cra-template/template/public/logo192.png diff --git a/packages/react-scripts/template/public/logo512.png b/packages/cra-template/template/public/logo512.png similarity index 100% rename from packages/react-scripts/template/public/logo512.png rename to packages/cra-template/template/public/logo512.png diff --git a/packages/react-scripts/template/public/manifest.json b/packages/cra-template/template/public/manifest.json similarity index 100% rename from packages/react-scripts/template/public/manifest.json rename to packages/cra-template/template/public/manifest.json diff --git a/packages/react-scripts/template/public/robots.txt b/packages/cra-template/template/public/robots.txt similarity index 100% rename from packages/react-scripts/template/public/robots.txt rename to packages/cra-template/template/public/robots.txt diff --git a/packages/react-scripts/template/src/App.css b/packages/cra-template/template/src/App.css similarity index 100% rename from packages/react-scripts/template/src/App.css rename to packages/cra-template/template/src/App.css diff --git a/packages/react-scripts/template/src/App.js b/packages/cra-template/template/src/App.js similarity index 100% rename from packages/react-scripts/template/src/App.js rename to packages/cra-template/template/src/App.js diff --git a/packages/react-scripts/template/src/App.test.js b/packages/cra-template/template/src/App.test.js similarity index 100% rename from packages/react-scripts/template/src/App.test.js rename to packages/cra-template/template/src/App.test.js diff --git a/packages/cra-template/template/src/index.css b/packages/cra-template/template/src/index.css new file mode 100644 index 00000000000..ec2585e8c0b --- /dev/null +++ b/packages/cra-template/template/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/packages/react-scripts/template/src/index.js b/packages/cra-template/template/src/index.js similarity index 100% rename from packages/react-scripts/template/src/index.js rename to packages/cra-template/template/src/index.js diff --git a/packages/react-scripts/template-typescript/src/logo.svg b/packages/cra-template/template/src/logo.svg similarity index 100% rename from packages/react-scripts/template-typescript/src/logo.svg rename to packages/cra-template/template/src/logo.svg diff --git a/packages/react-scripts/template/src/serviceWorker.js b/packages/cra-template/template/src/serviceWorker.js similarity index 100% rename from packages/react-scripts/template/src/serviceWorker.js rename to packages/cra-template/template/src/serviceWorker.js diff --git a/packages/create-react-app/createReactApp.js b/packages/create-react-app/createReactApp.js index d9980c81375..f5823c0c754 100755 --- a/packages/create-react-app/createReactApp.js +++ b/packages/create-react-app/createReactApp.js @@ -76,9 +76,17 @@ const program = new commander.Command(packageJson.name) '--scripts-version ', 'use a non-standard version of react-scripts' ) + .option( + '--template ', + 'specify a template for the created project' + ) .option('--use-npm') .option('--use-pnp') - .option('--typescript') + // TODO: Remove this in next major release. + .option( + '--typescript', + '(this option will be removed in favour of templates in the next major release of create-react-app)' + ) .allowUnknownOption() .on('--help', () => { console.log(` Only ${chalk.green('')} is required.`); @@ -112,6 +120,28 @@ const program = new commander.Command(packageJson.name) ` It is not needed unless you specifically want to use a fork.` ); console.log(); + console.log(` A custom ${chalk.cyan('--template')} can be one of:`); + console.log( + ` - a custom fork published on npm: ${chalk.green( + 'cra-template-typescript' + )}` + ); + console.log( + ` - a local path relative to the current working directory: ${chalk.green( + 'file:../my-custom-template' + )}` + ); + console.log( + ` - a .tgz archive: ${chalk.green( + 'https://mysite.com/my-custom-template-0.8.2.tgz' + )}` + ); + console.log( + ` - a .tar.gz archive: ${chalk.green( + 'https://mysite.com/my-custom-template-0.8.2.tar.gz' + )}` + ); + console.log(); console.log( ` If you have any problems, do not hesitate to file an issue:` ); @@ -166,35 +196,27 @@ function printValidationResults(results) { } } -const hiddenProgram = new commander.Command() - .option( - '--internal-testing-template ', - '(internal usage only, DO NOT RELY ON THIS) ' + - 'use a non-standard application template' - ) - .parse(process.argv); - createApp( projectName, program.verbose, program.scriptsVersion, + program.template, program.useNpm, program.usePnp, - program.typescript, - hiddenProgram.internalTestingTemplate + program.typescript ); function createApp( name, verbose, version, + template, useNpm, usePnp, - useTypescript, - template + useTypeScript ) { const unsupportedNodeVersion = !semver.satisfies(process.version, '>=8.10.0'); - if (unsupportedNodeVersion && useTypescript) { + if (unsupportedNodeVersion && useTypeScript) { console.log( chalk.red( `You are using Node ${process.version} with the TypeScript template. Node 8.10 or higher is required to use TypeScript.\n` @@ -272,6 +294,23 @@ function createApp( } } + if (useTypeScript) { + console.log( + chalk.yellow( + 'The --typescript option has been deprecated and will be removed in a future release.' + ) + ); + console.log( + chalk.yellow( + `In future, please use ${chalk.cyan('--template typescript')}.` + ) + ); + console.log(); + if (!template) { + template = 'typescript'; + } + } + if (useYarn) { let yarnUsesDefaultRegistry = true; try { @@ -298,8 +337,7 @@ function createApp( originalDirectory, template, useYarn, - usePnp, - useTypescript + usePnp ); } @@ -382,38 +420,70 @@ function run( originalDirectory, template, useYarn, - usePnp, - useTypescript + usePnp ) { - getInstallPackage(version, originalDirectory).then(packageToInstall => { + Promise.all([ + getInstallPackage(version, originalDirectory), + getTemplateInstallPackage(template, originalDirectory), + ]).then(([packageToInstall, templateToInstall]) => { const allDependencies = ['react', 'react-dom', packageToInstall]; - if (useTypescript) { - allDependencies.push( - // TODO: get user's node version instead of installing latest - '@types/node', - '@types/react', - '@types/react-dom', - // TODO: get version of Jest being used instead of installing latest - '@types/jest', - 'typescript' - ); - } console.log('Installing packages. This might take a couple of minutes.'); - getPackageName(packageToInstall) - .then(packageName => + + Promise.all([ + getPackageInfo(packageToInstall), + getPackageInfo(templateToInstall), + ]) + .then(([packageInfo, templateInfo]) => checkIfOnline(useYarn).then(isOnline => ({ - isOnline: isOnline, - packageName: packageName, + isOnline, + packageInfo, + templateInfo, })) ) - .then(info => { - const isOnline = info.isOnline; - const packageName = info.packageName; + .then(({ isOnline, packageInfo, templateInfo }) => { + let packageVersion = semver.coerce(packageInfo.version); + const templatesVersionMinimum = '3.2.0'; + + // Assume compatibility if we can't test the version. + if (!semver.valid(packageVersion)) { + packageVersion = templatesVersionMinimum; + } + + // Only support templates when used alongside new react-scripts versions. + const supportsTemplates = semver.gte( + packageVersion, + templatesVersionMinimum + ); + if (supportsTemplates) { + allDependencies.push(templateToInstall); + } else if (template) { + console.log(''); + console.log( + `The ${chalk.cyan(packageInfo.name)} version you're using ${ + packageInfo.name === 'react-scripts' ? 'is not' : 'may not be' + } compatible with the ${chalk.cyan('--template')} option.` + ); + console.log(''); + } + + // TODO: Remove with next major release. + if (!supportsTemplates && (template || '').includes('typescript')) { + allDependencies.push( + '@types/node', + '@types/react', + '@types/react-dom', + '@types/jest', + 'typescript' + ); + } + console.log( `Installing ${chalk.cyan('react')}, ${chalk.cyan( 'react-dom' - )}, and ${chalk.cyan(packageName)}...` + )}, and ${chalk.cyan(packageInfo.name)}${ + supportsTemplates ? ` with ${chalk.cyan(templateInfo.name)}` : '' + }...` ); console.log(); @@ -424,9 +494,15 @@ function run( allDependencies, verbose, isOnline - ).then(() => packageName); + ).then(() => ({ + packageInfo, + supportsTemplates, + templateInfo, + })); }) - .then(async packageName => { + .then(async ({ packageInfo, supportsTemplates, templateInfo }) => { + const packageName = packageInfo.name; + const templateName = supportsTemplates ? templateInfo.name : undefined; checkNodeVersion(packageName); setCaretRangeForRuntimeDeps(packageName); @@ -439,7 +515,7 @@ function run( cwd: process.cwd(), args: nodeArgs, }, - [root, appName, verbose, originalDirectory, template], + [root, appName, verbose, originalDirectory, templateName], ` var init = require('${packageName}/scripts/init.js'); init.apply(null, JSON.parse(process.argv[1])); @@ -524,7 +600,9 @@ function getInstallPackage(version, originalDirectory) { { name: 'react-scripts-ts', message: chalk.yellow( - 'The react-scripts-ts package is deprecated. TypeScript is now supported natively in Create React App. You can use the --typescript option instead when generating your app to include TypeScript support. Would you like to continue using react-scripts-ts?' + `The react-scripts-ts package is deprecated. TypeScript is now supported natively in Create React App. You can use the ${chalk.green( + '--template typescript' + )} option instead when generating your app to include TypeScript support. Would you like to continue using react-scripts-ts?` ), }, ]; @@ -551,6 +629,29 @@ function getInstallPackage(version, originalDirectory) { return Promise.resolve(packageToInstall); } +function getTemplateInstallPackage(template, originalDirectory) { + let templateToInstall = 'cra-template'; + if (template) { + if (template.match(/^file:/)) { + templateToInstall = `file:${path.resolve( + originalDirectory, + template.match(/^file:(.*)?$/)[1] + )}`; + } else if ( + template.includes('://') || + template.match(/^.+\.(tgz|tar\.gz)$/) + ) { + // for tar.gz or alternative paths + templateToInstall = template; + } else if (!template.startsWith(templateToInstall)) { + // Add prefix `cra-template` to non-prefixed templates. + templateToInstall += `-${template}`; + } + } + + return Promise.resolve(templateToInstall); +} + function getTemporaryDirectory() { return new Promise((resolve, reject) => { // Unsafe cleanup lets us recursively delete the directory if it contains @@ -590,7 +691,7 @@ function extractStream(stream, dest) { } // Extract package name from tarball url or path. -function getPackageName(installPackage) { +function getPackageInfo(installPackage) { if (installPackage.match(/^.+\.(tgz|tar\.gz)$/)) { return getTemporaryDirectory() .then(obj => { @@ -603,9 +704,12 @@ function getPackageName(installPackage) { return extractStream(stream, obj.tmpdir).then(() => obj); }) .then(obj => { - const packageName = require(path.join(obj.tmpdir, 'package.json')).name; + const { name, version } = require(path.join( + obj.tmpdir, + 'package.json' + )); obj.cleanup(); - return packageName; + return { name, version }; }) .catch(err => { // The package name could be with or without semver version, e.g. react-scripts-0.2.0-alpha.1.tgz @@ -621,27 +725,30 @@ function getPackageName(installPackage) { assumedProjectName )}"` ); - return Promise.resolve(assumedProjectName); + return Promise.resolve({ name: assumedProjectName }); }); } else if (installPackage.indexOf('git+') === 0) { // Pull package name out of git urls e.g: // git+https://github.com/mycompany/react-scripts.git // git+ssh://github.com/mycompany/react-scripts.git#v1.2.3 - return Promise.resolve(installPackage.match(/([^/]+)\.git(#.*)?$/)[1]); + return Promise.resolve({ + name: installPackage.match(/([^/]+)\.git(#.*)?$/)[1], + }); } else if (installPackage.match(/.+@/)) { // Do not match @scope/ when stripping off @version or @tag - return Promise.resolve( - installPackage.charAt(0) + installPackage.substr(1).split('@')[0] - ); + return Promise.resolve({ + name: installPackage.charAt(0) + installPackage.substr(1).split('@')[0], + version: installPackage.split('@')[1], + }); } else if (installPackage.match(/^file:/)) { const installPackagePath = installPackage.match(/^file:(.*)?$/)[1]; - const installPackageJson = require(path.join( + const { name, version } = require(path.join( installPackagePath, 'package.json' )); - return Promise.resolve(installPackageJson.name); + return Promise.resolve({ name, version }); } - return Promise.resolve(installPackage); + return Promise.resolve({ name: installPackage }); } function checkNpmVersion() { diff --git a/packages/create-react-app/yarn.lock.cached b/packages/create-react-app/yarn.lock.cached index fb0d5bc0b9d..3bebc06a4a8 100644 --- a/packages/create-react-app/yarn.lock.cached +++ b/packages/create-react-app/yarn.lock.cached @@ -30,17 +30,17 @@ source-map "^0.5.0" "@babel/core@^7.1.0", "@babel/core@^7.4.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.2.tgz#069a776e8d5e9eefff76236bc8845566bd31dd91" - integrity sha512-l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ== + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz#6ebd9fe00925f6c3e177bb726a188b5f578088ff" + integrity sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.2" + "@babel/generator" "^7.6.4" "@babel/helpers" "^7.6.2" - "@babel/parser" "^7.6.2" + "@babel/parser" "^7.6.4" "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.2" - "@babel/types" "^7.6.0" + "@babel/traverse" "^7.6.3" + "@babel/types" "^7.6.3" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" @@ -49,12 +49,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.6.0", "@babel/generator@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.2.tgz#dac8a3c2df118334c2a29ff3446da1636a8f8c03" - integrity sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ== +"@babel/generator@^7.4.0", "@babel/generator@^7.6.0", "@babel/generator@^7.6.3", "@babel/generator@^7.6.4": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz#a4f8437287bf9671b07f483b76e3bb731bc97671" + integrity sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w== dependencies: - "@babel/types" "^7.6.0" + "@babel/types" "^7.6.3" jsesc "^2.5.1" lodash "^4.17.13" source-map "^0.5.0" @@ -252,10 +252,10 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz#205e9c95e16ba3b8b96090677a67c9d6075b70a1" - integrity sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.6.3", "@babel/parser@^7.6.4": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz#cb9b36a7482110282d5cb6dd424ec9262b473d81" + integrity sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A== "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" @@ -418,10 +418,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.6.0", "@babel/plugin-transform-block-scoping@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz#96c33ab97a9ae500cc6f5b19e04a7e6553360a79" - integrity sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ== +"@babel/plugin-transform-block-scoping@^7.6.0", "@babel/plugin-transform-block-scoping@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz#6e854e51fbbaa84351b15d4ddafe342f3a5d542a" + integrity sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" @@ -551,10 +551,10 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz#c1ca0bb84b94f385ca302c3932e870b0fb0e522b" - integrity sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g== +"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz#aaa6e409dd4fb2e50b6e2a91f7e3a3149dbce0cf" + integrity sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw== dependencies: regexpu-core "^4.6.0" @@ -590,9 +590,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.0.tgz#13b8434fb817d30feebd811256eb402c9a245c9e" - integrity sha512-np/nPuII8DHOZWB3u8u+NSeKlEz0eBrOlnVksIQog4C9NGVzXO+NLxMcXn4Eu4GMFzOw2W6Tyo6L3+Wv8z9Y5w== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.3.tgz#9fc9ea060b983c7c035acbe481cbe1fb1245bfff" + integrity sha512-1/YogSSU7Tby9rq2VCmhuRg+6pxsHy2rI7w/oo8RKoBt6uBUFG+mk6x13kK+FY1/ggN92HAfg7ADd1v1+NCOKg== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -691,9 +691,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz#48d78405f1aa856ebeea7288a48a19ed8da377a6" - integrity sha512-yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz#dddb50cf3b8b2ef70b22e5326e9a91f05a1db13b" + integrity sha512-aiWINBrPMSC3xTXRNM/dfmyYuPNKY/aexYqBgh0HBI5Y+WO5oRAqW/oROYeYHrF4Zw12r9rK4fMk/ZlAmqx/FQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.6.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -765,9 +765,9 @@ semver "^5.5.0" "@babel/preset-env@^7.4.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.2.tgz#abbb3ed785c7fe4220d4c82a53621d71fc0c75d3" - integrity sha512-Ru7+mfzy9M1/YTEtlDS8CD45jd22ngb9tXnn64DvQK3ooyqSw9K4K9DUWmYknTTVk4TqygL9dqCrZgm1HMea/Q== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.3.tgz#9e1bf05a2e2d687036d24c40e4639dc46cef2271" + integrity sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -785,7 +785,7 @@ "@babel/plugin-transform-arrow-functions" "^7.2.0" "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.6.2" + "@babel/plugin-transform-block-scoping" "^7.6.3" "@babel/plugin-transform-classes" "^7.5.5" "@babel/plugin-transform-computed-properties" "^7.2.0" "@babel/plugin-transform-destructuring" "^7.6.0" @@ -800,7 +800,7 @@ "@babel/plugin-transform-modules-commonjs" "^7.6.0" "@babel/plugin-transform-modules-systemjs" "^7.5.0" "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.2" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.3" "@babel/plugin-transform-new-target" "^7.4.4" "@babel/plugin-transform-object-super" "^7.5.5" "@babel/plugin-transform-parameters" "^7.4.4" @@ -813,14 +813,14 @@ "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" "@babel/plugin-transform-unicode-regex" "^7.6.2" - "@babel/types" "^7.6.0" + "@babel/types" "^7.6.3" browserslist "^4.6.0" core-js-compat "^3.1.1" invariant "^2.2.2" js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0": +"@babel/preset-react@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== @@ -831,6 +831,17 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" +"@babel/preset-react@^7.0.0": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.6.3.tgz#d5242c828322520205ae4eda5d4f4f618964e2f6" + integrity sha512-07yQhmkZmRAfwREYIQgW0HEwMY9GBJVuPY4Q12UC72AbfaawuupVWa8zQs2tlL+yun45Nv/1KreII/0PLfEsgA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/preset-typescript@7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz#25768cb8830280baf47c45ab1a519a9977498c98" @@ -847,9 +858,9 @@ regenerator-runtime "^0.13.2" "@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.2.tgz#c3d6e41b304ef10dcf13777a33e7694ec4a9a6dd" - integrity sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f" + integrity sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA== dependencies: regenerator-runtime "^0.13.2" @@ -862,25 +873,25 @@ "@babel/parser" "^7.6.0" "@babel/types" "^7.6.0" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.0", "@babel/traverse@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.2.tgz#b0e2bfd401d339ce0e6c05690206d1e11502ce2c" - integrity sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.0", "@babel/traverse@^7.6.2", "@babel/traverse@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz#66d7dba146b086703c0fb10dd588b7364cec47f9" + integrity sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.2" + "@babel/generator" "^7.6.3" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.6.2" - "@babel/types" "^7.6.0" + "@babel/parser" "^7.6.3" + "@babel/types" "^7.6.3" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" - integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g== +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0", "@babel/types@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" + integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== dependencies: esutils "^2.0.2" lodash "^4.17.13" @@ -914,10 +925,10 @@ resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== -"@hapi/hoek@8.x.x": - version "8.2.5" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.5.tgz#b307d3f1aced22e05bd6a2403c302eaebb577da3" - integrity sha512-rmGFzok1zR3xZKd5m3ihWdqafXFxvPHoQ/78+AG5URKbEbJiwBBfRgzbu+07W5f3+07JRshw6QqGbVmCp8ntig== +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.3.2.tgz#91e7188edebc5d876f0b91a860f555ff06f0782b" + integrity sha512-NP5SG4bzix+EtSMtcudp8TvI0lB46mXNo8uFpTDw6tqxGx4z5yx+giIunEFA0Z7oUO4DuWrOJV9xqR2tJVEdyA== "@hapi/joi@^15.0.0": version "15.1.1" @@ -930,11 +941,11 @@ "@hapi/topo" "3.x.x" "@hapi/topo@3.x.x": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.4.tgz#42e2fe36f593d90ad258a08b582be128c141c45d" - integrity sha512-aVWQTOI9wBD6zawmOr6f+tdEIxQC8JXfQVLTjgGe8YEStAWGn/GNNVTobKJhbWKveQj2RyYF3oYbO9SC8/eOCA== + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== dependencies: - "@hapi/hoek" "8.x.x" + "@hapi/hoek" "^8.3.0" "@jest/console@^24.7.1", "@jest/console@^24.9.0": version "24.9.0" @@ -1286,40 +1297,41 @@ "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^2.2.0": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.3.2.tgz#7e112ca0bb29044d915baf10163a8199a20f7c69" - integrity sha512-tcnpksq1bXzcIRbYLeXkgp6l+ggEMXXUcl1wsSvL807fRtmvVQKygElwEUf4hBA76dNag3VAK1q2m3vd7qJaZA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.4.0.tgz#aaf6b542ff75b78f4191a8bf1c519184817caa24" + integrity sha512-se/YCk7PUoyMwSm/u3Ii9E+BgDUc736uw/lXCDpXEqRgPGsoBTtS8Mntue/vZX8EGyzGplYuePBuVyhZDM9EpQ== dependencies: - "@typescript-eslint/experimental-utils" "2.3.2" + "@typescript-eslint/experimental-utils" "2.4.0" eslint-utils "^1.4.2" functional-red-black-tree "^1.0.1" regexpp "^2.0.1" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.2.tgz#e50f31264507e6fec7b33840bb6af260c24f4ea8" - integrity sha512-t+JGdTT6dRbmvKDlhlVkEueoZa0fhJNfG6z2cpnRPLwm3VwYr2BjR//acJGC1Yza0I9ZNcDfRY7ubQEvvfG6Jg== +"@typescript-eslint/experimental-utils@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.4.0.tgz#dd8f3f466be25c3610a06fed22cfb6e6aa17f6d9" + integrity sha512-2cvhNaJoWavgTtnC7e1jUSPZQ7e4U2X9Yoy5sQmkS7lTESuyuZrlRcaoNuFfYEd6hgrmMU7+QoSp8Ad+kT1nfA== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.3.2" + "@typescript-eslint/typescript-estree" "2.4.0" eslint-scope "^5.0.0" "@typescript-eslint/parser@^2.2.0": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.3.2.tgz#e9b742e191cd1209930da469cde379591ad0af5b" - integrity sha512-nq1UQeNGdKdqdgF6Ww+Ov2OidWgiL96+JYdXXZ2rkP/OWyc6KMNSbs6MpRCpI8q+PmDa7hBnHNQIo7w/drYccA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.4.0.tgz#fe43ed5fec14af03d3594fce2c3b7ec4c8df0243" + integrity sha512-IouAKi/grJ4MFrwdXIJ1GHAwbPWYgkT3b/x8Q49F378c9nwgxVkO76e0rZeUVpwHMaUuoKG2sUeK0XGkwdlwkw== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.3.2" - "@typescript-eslint/typescript-estree" "2.3.2" + "@typescript-eslint/experimental-utils" "2.4.0" + "@typescript-eslint/typescript-estree" "2.4.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.2.tgz#107414aa04e689fe6f7251eb63fb500217f2b7f4" - integrity sha512-eZNEAai16nwyhIVIEaWQlaUgAU3S9CkQ58qvK0+3IuSdLJD3W1PNuehQFMIhW/mTP1oFR9GNoTcLg7gtXz6lzA== +"@typescript-eslint/typescript-estree@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.4.0.tgz#722c95493e1b7682893edaaaec0e69f36917feef" + integrity sha512-/DzDAtMqF5d9IlXrrvu/Id/uoKjnSxf/3FbtKK679a/T7lbDM8qQuirtGvFy6Uh+x0hALuCMwnMfUf0P24/+Iw== dependencies: + chokidar "^3.0.2" glob "^7.1.4" is-glob "^4.0.1" lodash.unescape "4.0.1" @@ -1508,9 +1520,9 @@ acorn-globals@^4.1.0, acorn-globals@^4.3.0: acorn-walk "^6.0.1" acorn-jsx@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" - integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== + version "5.1.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" + integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== acorn-walk@^6.0.1: version "6.2.0" @@ -1630,6 +1642,14 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -1789,10 +1809,12 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" asynckit@^0.4.0: version "0.4.0" @@ -1805,17 +1827,17 @@ atob@^2.1.1: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" - integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== + version "9.6.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.5.tgz#98f4afe7e93cccf323287515d426019619775e5e" + integrity sha512-rGd50YV8LgwFQ2WQp4XzOTG69u1qQsXn0amww7tjqV5jJuNazgFKYEVItEBngyyvVITKOg20zr2V+9VsrXJQ2g== dependencies: - browserslist "^4.6.3" - caniuse-lite "^1.0.30000980" + browserslist "^4.7.0" + caniuse-lite "^1.0.30000999" chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.17" - postcss-value-parser "^4.0.0" + postcss "^7.0.18" + postcss-value-parser "^4.0.2" aws-sign2@~0.7.0: version "0.7.0" @@ -2029,10 +2051,15 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + bluebird@^3.5.5: - version "3.7.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.0.tgz#56a6a886e03f6ae577cffedeb524f8f2450293cf" - integrity sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg== + version "3.7.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" + integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" @@ -2096,6 +2123,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -2172,7 +2206,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.7.0, browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: +browserslist@4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA== @@ -2181,6 +2215,15 @@ browserslist@4.7.0, browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6. electron-to-chromium "^1.3.247" node-releases "^1.1.29" +browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.4, browserslist@^4.7.0: + version "4.7.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.1.tgz#bd400d1aea56538580e8c4d5f1c54ac11b5ab468" + integrity sha512-QtULFqKIAtiyNx7NhZ/p4rB8m3xDozVo/pi5VgTlADLF2tNigz/QH+v0m5qhn7XfHT7u+607NcCNOnC0HZAlMg== + dependencies: + caniuse-lite "^1.0.30000999" + electron-to-chromium "^1.3.284" + node-releases "^1.1.36" + bser@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" @@ -2325,10 +2368,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989: - version "1.0.30000998" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000998.tgz#7227a8046841e7d01e156ae7227a504d065f6744" - integrity sha512-8Tj5sPZR9kMHeDD9SZXIVr5m9ofufLLCG2Y4QwQrH18GIwG+kCc+zYdlR036ZRkuKjVVetyxeAgGA1xF7XdmzQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30000999: + version "1.0.30000999" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" + integrity sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg== capture-exit@^2.0.0: version "2.0.0" @@ -2391,6 +2434,21 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.2.2.tgz#a433973350021e09f2b853a2287781022c0dc935" + integrity sha512-bw3pm7kZ2Wa6+jQWYP/c7bAZy3i4GwiIiMO2EeRjrE48l8vBqC/WvFhSF0xyM8fQiPEGvwMY/5bqDG7sSEOuhg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.2.0" + optionalDependencies: + fsevents "~2.1.1" + chownr@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" @@ -2555,10 +2613,15 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^2.11.0, commander@^2.20.0, commander@~2.20.0: - version "2.20.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.1.tgz#3863ce3ca92d0831dcf2a102f5fb4b5926afd0f9" - integrity sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg== +commander@2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== + +commander@^2.11.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@~2.19.0: version "2.19.0" @@ -2706,11 +2769,11 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js-compat@^3.1.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" - integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== + version "3.3.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.3.2.tgz#1096c989c1b929ede06b5b6b4768dc4439078c03" + integrity sha512-gfiK4QnNXhnnHVOIZst2XHdFfdMTPxtR0EGs0TdILMlGIft+087oH6/Sw2xTTIjpWXC9vEwsJA8VG3XTGcmO5g== dependencies: - browserslist "^4.6.6" + browserslist "^4.7.0" semver "^6.3.0" core-js@3.2.1: @@ -2719,9 +2782,9 @@ core-js@3.2.1: integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== core-js@^2.4.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== + version "2.6.10" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" + integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -3058,7 +3121,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6. dependencies: ms "2.0.0" -debug@^3.0.0, debug@^3.2.5, debug@^3.2.6: +debug@^3.0.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -3380,10 +3443,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.247: - version "1.3.273" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.273.tgz#94872d6823219f2812f2e35a2ce2a7d03c1eaa3f" - integrity sha512-0kUppiHQvHEENHh+nTtvTt4eXMwcPyWmMaj73GPrSEm3ldKhmmHuOH6IjrmuW6YmyS/fpXcLvMQLNVpqRhpNWw== +electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.284: + version "1.3.285" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.285.tgz#909576db2ee4dfec74a87aa30c92f66ebfc78748" + integrity sha512-DYR9KW723sUbGK++DCmCmM95AbNXT4Q0tlCFMcYijFjayhuDqlGYR68OemlP8MJj0gjkwdeItIUfd0oLCgw+4A== elliptic@^6.0.0: version "6.5.1" @@ -3421,12 +3484,12 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: once "^1.4.0" enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + version "4.1.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" + integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== dependencies: graceful-fs "^4.1.2" - memory-fs "^0.4.0" + memory-fs "^0.5.0" tapable "^1.0.0" entities@^1.1.1: @@ -3453,10 +3516,10 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz#8884928ec7e40a79e3c9bc812d37d10c8b24cc57" - integrity sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ== +es-abstract@^1.12.0, es-abstract@^1.15.0, es-abstract@^1.5.1, es-abstract@^1.7.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" + integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg== dependencies: es-to-primitive "^1.2.0" function-bind "^1.1.1" @@ -3990,6 +4053,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -4204,6 +4274,11 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" +fsevents@~2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.1.tgz#74c64e21df71721845d0c44fe54b7f56b82995a9" + integrity sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -4239,9 +4314,9 @@ get-caller-file@^2.0.1: integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-own-enumerable-property-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" - integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz#6f7764f88ea11e0b514bd9bd860a132259992ca4" + integrity sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA== get-stream@^4.0.0: version "4.1.0" @@ -4270,7 +4345,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0: +glob-parent@^5.0.0, glob-parent@~5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== @@ -4363,9 +4438,9 @@ handle-thing@^2.0.0: integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== handlebars@^4.1.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.2.tgz#8810a9821a9d6d52cb2f57d326d6ce7c3dfe741d" - integrity sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg== + version "4.4.3" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.3.tgz#180bae52c1d0e9ec0c15d7e82a4362d662762f6e" + integrity sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -4487,9 +4562,9 @@ hmac-drbg@^1.0.0: minimalistic-crypto-utils "^1.0.1" hosted-git-info@^2.1.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== + version "2.8.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" + integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== hpack.js@^2.1.6: version "2.1.6" @@ -4677,9 +4752,9 @@ iferr@^0.1.5: integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.2.tgz#99d83a246c196ea5c93ef9315ad7b0819c35069b" - integrity sha512-EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== dependencies: minimatch "^3.0.4" @@ -4898,6 +4973,13 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-buffer@^1.0.2, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -5010,7 +5092,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -5024,6 +5106,11 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -6034,7 +6121,7 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -memory-fs@^0.4.0, memory-fs@^0.4.1: +memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -6042,6 +6129,14 @@ memory-fs@^0.4.0, memory-fs@^0.4.1: errno "^0.1.3" readable-stream "^2.0.1" +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + merge-deep@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" @@ -6229,7 +6324,7 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -6415,12 +6510,12 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.29: - version "1.1.33" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.33.tgz#349f10291234624574f44cf32b7de259bf028303" - integrity sha512-I0V30bWQEoHb+10W8oedVoUrdjW5wIkYm0w7vvcrPO95pZY738m1k77GF5sO0vKg5eXYg9oGtrMAETbgZGm11A== +node-releases@^1.1.29, node-releases@^1.1.36: + version "1.1.36" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.36.tgz#44b7cb8254138e87bdbfa47761d0f825e20900b4" + integrity sha512-ggXhX6QGyJSjj3r+6ml2LqqC28XOWmKtpb+a15/Zpr9V3yoNazxJNlcQDS9bYaid5FReEWHEgToH1mwoUceWwg== dependencies: - semver "^5.3.0" + semver "^6.3.0" nopt@^4.0.1: version "4.0.1" @@ -6447,7 +6542,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -6478,9 +6573,9 @@ npm-bundled@^1.0.1: integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== + version "1.4.6" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz#53ba3ed11f8523079f1457376dd379ee4ea42ff4" + integrity sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg== dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" @@ -6596,14 +6691,14 @@ object.entries@^1.1.0: has "^1.0.3" object.fromentries@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704" + integrity sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA== dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" + define-properties "^1.1.3" + es-abstract "^1.15.0" function-bind "^1.1.1" - has "^1.0.1" + has "^1.0.3" object.getownpropertydescriptors@^2.0.3: version "2.0.3" @@ -6964,6 +7059,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -7039,13 +7139,13 @@ pnp-webpack-plugin@1.5.0: ts-pnp "^1.1.2" portfinder@^1.0.9: - version "1.0.24" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.24.tgz#11efbc6865f12f37624b6531ead1d809ed965cfa" - integrity sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg== + version "1.0.25" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" + integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.1" posix-character-classes@^0.1.0: version "0.1.1" @@ -7680,7 +7780,7 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0: +postcss-value-parser@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== @@ -7703,7 +7803,7 @@ postcss@7.0.14: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: version "7.0.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz#4b9cda95ae6c069c67a4d933029eddd4838ac233" integrity sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g== @@ -7949,10 +8049,10 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-app-polyfill@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.3.tgz#bd7030ebf66569f3aece03e39ab85ca700d8d0f6" - integrity sha512-ICvAU2vtO0k+kU0oCS7L7btUcAReTddvEiRiJDmAKc+d98Fy9Z1g6cjkdcKyfLWwopzBsUMcDwxoiNtrtLMs0Q== +react-app-polyfill@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.4.tgz#4dd2636846b585c2d842b1e44e1bc29044345874" + integrity sha512-5Vte6ki7jpNsNCUKaboyofAhmURmCn2Y6Hu7ydJ6Iu4dct1CIGoh/1FT7gUZKAbowVX2lxVPlijvp1nKxfAl4w== dependencies: core-js "3.2.1" object-assign "4.1.1" @@ -7961,10 +8061,10 @@ react-app-polyfill@^1.0.3: regenerator-runtime "0.13.3" whatwg-fetch "3.0.0" -react-dev-utils@^9.0.4: - version "9.0.4" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.4.tgz#5c71a8e8afdec0232c44d4e049d21baa437a92af" - integrity sha512-VwR+mBUXPLdYk/rOz6s6qpasIFGd7GW0KXd/3bih+/qGcMQvPG19XxtjDMtiAg0zWiFwp1ugCzAjLThbzFjVqw== +react-dev-utils@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" + integrity sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg== dependencies: "@babel/code-frame" "7.5.5" address "1.1.2" @@ -7985,22 +8085,22 @@ react-dev-utils@^9.0.4: loader-utils "1.2.3" open "^6.3.0" pkg-up "2.0.0" - react-error-overlay "^6.0.2" + react-error-overlay "^6.0.3" recursive-readdir "2.2.2" shell-quote "1.7.2" sockjs-client "1.4.0" strip-ansi "5.2.0" text-table "0.2.0" -react-error-overlay@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.2.tgz#642bd6157c6a4b6e9ca4a816f7ed30b868c47f81" - integrity sha512-DHRuRk3K4Lg9obI6J4Y+nKvtwjasYRU9CFL3ud42x9YJG1HbQjSNublapC/WBJOA726gNUbqbj0U2df9+uzspQ== +react-error-overlay@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz#c378c4b0a21e88b2e159a3e62b2f531fd63bf60d" + integrity sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw== react-is@^16.8.1, react-is@^16.8.4: - version "16.10.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.10.1.tgz#0612786bf19df406502d935494f0450b40b8294f" - integrity sha512-BXUMf9sIOPXXZWqr7+c5SeOKJykyVr2u0UDzEf4LNGc6taGkQe1A9DFD07umCIXz45RLr9oAAwZbAJ0Pkknfaw== + version "16.10.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz#984120fd4d16800e9a738208ab1fba422d23b5ab" + integrity sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA== read-pkg-up@^2.0.0: version "2.0.0" @@ -8067,6 +8167,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" + integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== + dependencies: + picomatch "^2.0.4" + realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" @@ -8456,9 +8563,9 @@ schema-utils@^1.0.0: ajv-keywords "^3.1.0" schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.2.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.4.1.tgz#e89ade5d056dc8bcaca377574bb4a9c4e1b8be56" - integrity sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w== + version "2.5.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f" + integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ== dependencies: ajv "^6.10.2" ajv-keywords "^3.4.1" @@ -9145,9 +9252,9 @@ terser-webpack-plugin@1.4.1, terser-webpack-plugin@^1.4.1: worker-farm "^1.7.0" terser@^4.1.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.4.tgz#ad91bade95619e3434685d69efa621a5af5f877d" - integrity sha512-Kcrn3RiW8NtHBP0ssOAzwa2MsIRQ8lJWiBG/K7JgqPlomA3mtb2DEmp4/hrUA+Jujx+WZ02zqd7GYD+QRBB/2Q== + version "4.3.9" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz#e4be37f80553d02645668727777687dad26bbca8" + integrity sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -9187,9 +9294,9 @@ through@^2.3.6: integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timers-browserify@^2.0.4: version "2.0.11" @@ -9240,6 +9347,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -9351,11 +9465,11 @@ uglify-js@3.4.x: source-map "~0.6.1" uglify-js@^3.1.4: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== + version "3.6.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.2.tgz#fd8048c86d990ddd29fe99d3300e0cb329103f4d" + integrity sha512-+gh/xFte41GPrgSMJ/oJVq15zYmqr74pY9VoM69UzMzq9NFk4YDylclb1/bhEzZSaUQjbW5RvniHeq1cdtRYjw== dependencies: - commander "~2.20.0" + commander "2.20.0" source-map "~0.6.1" unicode-canonical-property-names-ecmascript@^1.0.4: diff --git a/packages/react-scripts/config/paths.js b/packages/react-scripts/config/paths.js index e5a3e0b5374..acaca7f4d48 100644 --- a/packages/react-scripts/config/paths.js +++ b/packages/react-scripts/config/paths.js @@ -132,27 +132,28 @@ if ( !reactScriptsLinked && __dirname.indexOf(path.join('packages', 'react-scripts', 'config')) !== -1 ) { + const templatePath = '../cra-template/template'; module.exports = { - dotenv: resolveOwn('template/.env'), + dotenv: resolveOwn(`${templatePath}/.env`), appPath: resolveApp('.'), appBuild: resolveOwn('../../build'), - appPublic: resolveOwn('template/public'), - appHtml: resolveOwn('template/public/index.html'), - appIndexJs: resolveModule(resolveOwn, 'template/src/index'), + appPublic: resolveOwn(`${templatePath}/public`), + appHtml: resolveOwn(`${templatePath}/public/index.html`), + appIndexJs: resolveModule(resolveOwn, `${templatePath}/src/index`), appPackageJson: resolveOwn('package.json'), - appSrc: resolveOwn('template/src'), - appTsConfig: resolveOwn('template/tsconfig.json'), - appJsConfig: resolveOwn('template/jsconfig.json'), - yarnLockFile: resolveOwn('template/yarn.lock'), - testsSetup: resolveModule(resolveOwn, 'template/src/setupTests'), - proxySetup: resolveOwn('template/src/setupProxy.js'), + appSrc: resolveOwn(`${templatePath}/src`), + appTsConfig: resolveOwn(`${templatePath}/tsconfig.json`), + appJsConfig: resolveOwn(`${templatePath}/jsconfig.json`), + yarnLockFile: resolveOwn(`${templatePath}/yarn.lock`), + testsSetup: resolveModule(resolveOwn, `${templatePath}/src/setupTests`), + proxySetup: resolveOwn(`${templatePath}/src/setupProxy.js`), appNodeModules: resolveOwn('node_modules'), publicUrl: getPublicUrl(resolveOwn('package.json')), servedPath: getServedPath(resolveOwn('package.json')), // These properties only exist before ejecting: ownPath: resolveOwn('.'), ownNodeModules: resolveOwn('node_modules'), - appTypeDeclarations: resolveOwn('template/src/react-app-env.d.ts'), + appTypeDeclarations: resolveOwn(`${templatePath}/src/react-app-env.d.ts`), ownTypeDeclarations: resolveOwn('lib/react-app.d.ts'), }; } diff --git a/packages/react-scripts/fixtures/kitchensink/.env b/packages/react-scripts/fixtures/kitchensink/.env deleted file mode 100644 index 9f7acc60233..00000000000 --- a/packages/react-scripts/fixtures/kitchensink/.env +++ /dev/null @@ -1,7 +0,0 @@ -REACT_APP_X = x-from-original-env -REACT_APP_ORIGINAL_1 = from-original-env-1 -REACT_APP_ORIGINAL_2 = from-original-env-2 -REACT_APP_BASIC = basic -REACT_APP_BASIC_EXPAND = ${REACT_APP_BASIC} -REACT_APP_BASIC_EXPAND_SIMPLE = $REACT_APP_BASIC -REACT_APP_EXPAND_EXISTING = $REACT_APP_SHELL_ENV_MESSAGE diff --git a/packages/react-scripts/fixtures/kitchensink/package.json b/packages/react-scripts/fixtures/kitchensink/package.json new file mode 100644 index 00000000000..4ae49c74e7b --- /dev/null +++ b/packages/react-scripts/fixtures/kitchensink/package.json @@ -0,0 +1,5 @@ +{ + "name": "kitchensink", + "main": "template.json", + "version": "1.0.0" +} diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/svg.css b/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/svg.css deleted file mode 100644 index ad0ff93655a..00000000000 --- a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/svg.css +++ /dev/null @@ -1,3 +0,0 @@ -#feature-svg-in-css { - background-image: url("./logo.svg"); -} diff --git a/packages/react-scripts/fixtures/kitchensink/.template.dependencies.json b/packages/react-scripts/fixtures/kitchensink/template.json similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/.template.dependencies.json rename to packages/react-scripts/fixtures/kitchensink/template.json diff --git a/packages/react-scripts/fixtures/kitchensink/template/.env b/packages/react-scripts/fixtures/kitchensink/template/.env new file mode 100644 index 00000000000..a4eabebc301 --- /dev/null +++ b/packages/react-scripts/fixtures/kitchensink/template/.env @@ -0,0 +1,7 @@ +REACT_APP_X = x-from-original-env +REACT_APP_ORIGINAL_1 = from-original-env-1 +REACT_APP_ORIGINAL_2 = from-original-env-2 +REACT_APP_BASIC = basic +REACT_APP_BASIC_EXPAND = ${REACT_APP_BASIC} +REACT_APP_BASIC_EXPAND_SIMPLE = $REACT_APP_BASIC +REACT_APP_EXPAND_EXISTING = $REACT_APP_SHELL_ENV_MESSAGE diff --git a/packages/react-scripts/fixtures/kitchensink/.env.development b/packages/react-scripts/fixtures/kitchensink/template/.env.development similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/.env.development rename to packages/react-scripts/fixtures/kitchensink/template/.env.development diff --git a/packages/react-scripts/fixtures/kitchensink/.env.local b/packages/react-scripts/fixtures/kitchensink/template/.env.local similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/.env.local rename to packages/react-scripts/fixtures/kitchensink/template/.env.local diff --git a/packages/react-scripts/fixtures/kitchensink/.env.production b/packages/react-scripts/fixtures/kitchensink/template/.env.production similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/.env.production rename to packages/react-scripts/fixtures/kitchensink/template/.env.production diff --git a/packages/react-scripts/fixtures/kitchensink/.flowconfig b/packages/react-scripts/fixtures/kitchensink/template/.flowconfig similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/.flowconfig rename to packages/react-scripts/fixtures/kitchensink/template/.flowconfig diff --git a/packages/react-scripts/fixtures/kitchensink/README.md b/packages/react-scripts/fixtures/kitchensink/template/README.md similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/README.md rename to packages/react-scripts/fixtures/kitchensink/template/README.md diff --git a/packages/react-scripts/fixtures/kitchensink/gitignore b/packages/react-scripts/fixtures/kitchensink/template/gitignore similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/gitignore rename to packages/react-scripts/fixtures/kitchensink/template/gitignore diff --git a/packages/react-scripts/fixtures/kitchensink/integration/config.test.js b/packages/react-scripts/fixtures/kitchensink/template/integration/config.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/integration/config.test.js rename to packages/react-scripts/fixtures/kitchensink/template/integration/config.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/integration/env.test.js b/packages/react-scripts/fixtures/kitchensink/template/integration/env.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/integration/env.test.js rename to packages/react-scripts/fixtures/kitchensink/template/integration/env.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/integration/initDOM.js b/packages/react-scripts/fixtures/kitchensink/template/integration/initDOM.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/integration/initDOM.js rename to packages/react-scripts/fixtures/kitchensink/template/integration/initDOM.js diff --git a/packages/react-scripts/fixtures/kitchensink/integration/syntax.test.js b/packages/react-scripts/fixtures/kitchensink/template/integration/syntax.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/integration/syntax.test.js rename to packages/react-scripts/fixtures/kitchensink/template/integration/syntax.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/integration/webpack.test.js b/packages/react-scripts/fixtures/kitchensink/template/integration/webpack.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/integration/webpack.test.js rename to packages/react-scripts/fixtures/kitchensink/template/integration/webpack.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/jest.integration.config.js b/packages/react-scripts/fixtures/kitchensink/template/jest.integration.config.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/jest.integration.config.js rename to packages/react-scripts/fixtures/kitchensink/template/jest.integration.config.js diff --git a/packages/react-scripts/fixtures/kitchensink/jest.transform.js b/packages/react-scripts/fixtures/kitchensink/template/jest.transform.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/jest.transform.js rename to packages/react-scripts/fixtures/kitchensink/template/jest.transform.js diff --git a/packages/react-scripts/fixtures/kitchensink/jsconfig.json b/packages/react-scripts/fixtures/kitchensink/template/jsconfig.json similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/jsconfig.json rename to packages/react-scripts/fixtures/kitchensink/template/jsconfig.json diff --git a/packages/react-scripts/fixtures/kitchensink/public/favicon.ico b/packages/react-scripts/fixtures/kitchensink/template/public/favicon.ico similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/public/favicon.ico rename to packages/react-scripts/fixtures/kitchensink/template/public/favicon.ico diff --git a/packages/react-scripts/fixtures/kitchensink/public/index.html b/packages/react-scripts/fixtures/kitchensink/template/public/index.html similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/public/index.html rename to packages/react-scripts/fixtures/kitchensink/template/public/index.html diff --git a/packages/react-scripts/fixtures/kitchensink/src/App.js b/packages/react-scripts/fixtures/kitchensink/template/src/App.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/App.js rename to packages/react-scripts/fixtures/kitchensink/template/src/App.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/absoluteLoad.js b/packages/react-scripts/fixtures/kitchensink/template/src/absoluteLoad.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/absoluteLoad.js rename to packages/react-scripts/fixtures/kitchensink/template/src/absoluteLoad.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/config/BaseUrl.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/config/BaseUrl.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/config/BaseUrl.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/config/BaseUrl.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/config/BaseUrl.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/config/BaseUrl.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/config/BaseUrl.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/config/BaseUrl.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/env/ExpandEnvVariables.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/env/ExpandEnvVariables.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/env/ExpandEnvVariables.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/env/ExpandEnvVariables.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/env/ExpandEnvVariables.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/env/ExpandEnvVariables.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/env/ExpandEnvVariables.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/env/ExpandEnvVariables.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/env/FileEnvVariables.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/env/FileEnvVariables.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/env/FileEnvVariables.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/env/FileEnvVariables.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/env/FileEnvVariables.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/env/FileEnvVariables.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/env/FileEnvVariables.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/env/FileEnvVariables.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/env/PublicUrl.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/env/PublicUrl.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/env/PublicUrl.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/env/PublicUrl.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/env/PublicUrl.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/env/PublicUrl.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/env/PublicUrl.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/env/PublicUrl.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/env/ShellEnvVariables.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/env/ShellEnvVariables.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/env/ShellEnvVariables.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/env/ShellEnvVariables.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/env/ShellEnvVariables.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/env/ShellEnvVariables.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/env/ShellEnvVariables.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/env/ShellEnvVariables.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ArrayDestructuring.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArrayDestructuring.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ArrayDestructuring.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArrayDestructuring.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ArrayDestructuring.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArrayDestructuring.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ArrayDestructuring.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArrayDestructuring.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ArraySpread.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArraySpread.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ArraySpread.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArraySpread.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ArraySpread.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArraySpread.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ArraySpread.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ArraySpread.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/AsyncAwait.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/AsyncAwait.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/AsyncAwait.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/AsyncAwait.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/AsyncAwait.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/AsyncAwait.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/AsyncAwait.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/AsyncAwait.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ClassProperties.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ClassProperties.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ClassProperties.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ClassProperties.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ClassProperties.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ClassProperties.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ClassProperties.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ClassProperties.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ComputedProperties.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ComputedProperties.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ComputedProperties.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ComputedProperties.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ComputedProperties.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ComputedProperties.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ComputedProperties.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ComputedProperties.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/CustomInterpolation.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/CustomInterpolation.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/CustomInterpolation.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/CustomInterpolation.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/CustomInterpolation.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/CustomInterpolation.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/CustomInterpolation.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/CustomInterpolation.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/DefaultParameters.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DefaultParameters.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/DefaultParameters.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DefaultParameters.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/DefaultParameters.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DefaultParameters.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/DefaultParameters.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DefaultParameters.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/DestructuringAndAwait.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DestructuringAndAwait.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/DestructuringAndAwait.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DestructuringAndAwait.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/DestructuringAndAwait.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DestructuringAndAwait.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/DestructuringAndAwait.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/DestructuringAndAwait.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/Generators.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Generators.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/Generators.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Generators.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/Generators.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Generators.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/Generators.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Generators.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ObjectDestructuring.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectDestructuring.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ObjectDestructuring.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectDestructuring.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ObjectDestructuring.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectDestructuring.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ObjectDestructuring.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectDestructuring.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ObjectSpread.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectSpread.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ObjectSpread.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectSpread.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/ObjectSpread.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectSpread.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/ObjectSpread.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/ObjectSpread.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/Promises.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Promises.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/Promises.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Promises.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/Promises.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Promises.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/Promises.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/Promises.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/RestAndDefault.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestAndDefault.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/RestAndDefault.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestAndDefault.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/RestAndDefault.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestAndDefault.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/RestAndDefault.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestAndDefault.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/RestParameters.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestParameters.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/RestParameters.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestParameters.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/RestParameters.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestParameters.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/RestParameters.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/RestParameters.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/TemplateInterpolation.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/TemplateInterpolation.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/TemplateInterpolation.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/TemplateInterpolation.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/syntax/TemplateInterpolation.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/TemplateInterpolation.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/syntax/TemplateInterpolation.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/syntax/TemplateInterpolation.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/CssInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/CssInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/CssInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/CssInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/CssModulesInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssModulesInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/CssModulesInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssModulesInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/CssModulesInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssModulesInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/CssModulesInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/CssModulesInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/DynamicImport.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/DynamicImport.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/DynamicImport.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/DynamicImport.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/DynamicImport.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/DynamicImport.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/DynamicImport.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/DynamicImport.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/ImageInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ImageInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/ImageInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ImageInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/ImageInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ImageInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/ImageInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ImageInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/JsonInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/JsonInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/JsonInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/JsonInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/JsonInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/JsonInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/JsonInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/JsonInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/LinkedModules.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/LinkedModules.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/LinkedModules.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/LinkedModules.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/LinkedModules.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/LinkedModules.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/LinkedModules.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/LinkedModules.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/NoExtInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/NoExtInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/NoExtInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/NoExtInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/NoExtInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/NoExtInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/NoExtInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/NoExtInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SassInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SassInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SassInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SassInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SassModulesInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassModulesInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SassModulesInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassModulesInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SassModulesInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassModulesInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SassModulesInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SassModulesInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/ScssInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/ScssInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/ScssInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/ScssInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/ScssModulesInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssModulesInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/ScssModulesInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssModulesInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/ScssModulesInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssModulesInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/ScssModulesInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/ScssModulesInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgComponent.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgComponent.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgComponent.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgComponent.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgComponent.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgComponent.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgComponent.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgComponent.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgInCss.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInCss.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgInCss.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInCss.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgInCss.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInCss.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgInCss.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInCss.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/SvgInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/SvgInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/UnknownExtInclusion.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/UnknownExtInclusion.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/UnknownExtInclusion.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/UnknownExtInclusion.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/UnknownExtInclusion.test.js b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/UnknownExtInclusion.test.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/UnknownExtInclusion.test.js rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/UnknownExtInclusion.test.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/aFileWithExt.unknown b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/aFileWithExt.unknown similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/aFileWithExt.unknown rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/aFileWithExt.unknown diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/aFileWithoutExt b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/aFileWithoutExt similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/aFileWithoutExt rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/aFileWithoutExt diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/abstract.json b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/abstract.json similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/abstract.json rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/abstract.json diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/index.module.css b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/index.module.css similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/index.module.css rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/index.module.css diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/index.module.sass b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/index.module.sass similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/index.module.sass rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/index.module.sass diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/index.module.scss b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/index.module.scss similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/index.module.scss rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/index.module.scss diff --git a/packages/react-scripts/template/src/logo.svg b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/logo.svg similarity index 100% rename from packages/react-scripts/template/src/logo.svg rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/logo.svg diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/sass-styles.module.sass b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/sass-styles.module.sass similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/sass-styles.module.sass rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/sass-styles.module.sass diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/sass-styles.sass b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/sass-styles.sass similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/sass-styles.sass rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/sass-styles.sass diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/scss-styles.module.scss b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/scss-styles.module.scss similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/scss-styles.module.scss rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/scss-styles.module.scss diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/scss-styles.scss b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/scss-styles.scss similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/scss-styles.scss rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/scss-styles.scss diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/style.css b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/style.css similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/style.css rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/style.css diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/style.module.css b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/style.module.css similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/style.module.css rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/style.module.css diff --git a/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/svg.css b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/svg.css new file mode 100644 index 00000000000..383743f4bfe --- /dev/null +++ b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/svg.css @@ -0,0 +1,3 @@ +#feature-svg-in-css { + background-image: url('./logo.svg'); +} diff --git a/packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/tiniest-cat.jpg b/packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/tiniest-cat.jpg similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/features/webpack/assets/tiniest-cat.jpg rename to packages/react-scripts/fixtures/kitchensink/template/src/features/webpack/assets/tiniest-cat.jpg diff --git a/packages/react-scripts/fixtures/kitchensink/src/index.js b/packages/react-scripts/fixtures/kitchensink/template/src/index.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/index.js rename to packages/react-scripts/fixtures/kitchensink/template/src/index.js diff --git a/packages/react-scripts/fixtures/kitchensink/src/subfolder/lol.js b/packages/react-scripts/fixtures/kitchensink/template/src/subfolder/lol.js similarity index 100% rename from packages/react-scripts/fixtures/kitchensink/src/subfolder/lol.js rename to packages/react-scripts/fixtures/kitchensink/template/src/subfolder/lol.js diff --git a/packages/react-scripts/scripts/build.js b/packages/react-scripts/scripts/build.js index c989451dcf1..7a2bb8d0a11 100644 --- a/packages/react-scripts/scripts/build.js +++ b/packages/react-scripts/scripts/build.js @@ -172,7 +172,7 @@ function build(previousFileSizes) { let errMessage = err.message; // Add additional information for postcss errors - if (err.hasOwnProperty('postcssNode')) { + if (Object.prototype.hasOwnProperty.call(err, 'postcssNode')) { errMessage += '\nCompileError: Begins at CSS selector ' + err['postcssNode'].selector; diff --git a/packages/react-scripts/scripts/init.js b/packages/react-scripts/scripts/init.js index b0460036635..fb3490617c4 100644 --- a/packages/react-scripts/scripts/init.js +++ b/packages/react-scripts/scripts/init.js @@ -80,19 +80,34 @@ module.exports = function( appName, verbose, originalDirectory, - template + templateName ) { - const ownPath = path.dirname( - require.resolve(path.join(__dirname, '..', 'package.json')) - ); const appPackage = require(path.join(appPath, 'package.json')); const useYarn = fs.existsSync(path.join(appPath, 'yarn.lock')); + if (!templateName) { + console.log(''); + console.error( + `A template was not provided. This is likely because you're using an outdated version of ${chalk.cyan( + 'create-react-app' + )}.` + ); + console.error( + `Please note that global installs of ${chalk.cyan( + 'create-react-app' + )} are no longer supported.` + ); + return; + } + + const templatePath = path.join( + require.resolve(templateName, { paths: [appPath] }), + '..' + ); + // Copy over some of the devDependencies appPackage.dependencies = appPackage.dependencies || {}; - const useTypeScript = appPackage.dependencies['typescript'] != null; - // Setup the script rules appPackage.scripts = { start: 'react-scripts start', @@ -123,14 +138,12 @@ module.exports = function( } // Copy the files for the user - const templatePath = template - ? path.resolve(originalDirectory, template) - : path.join(ownPath, useTypeScript ? 'template-typescript' : 'template'); - if (fs.existsSync(templatePath)) { - fs.copySync(templatePath, appPath); + const templateDir = path.join(templatePath, 'template'); + if (fs.existsSync(templateDir)) { + fs.copySync(templateDir, appPath); } else { console.error( - `Could not locate supplied template: ${chalk.green(templatePath)}` + `Could not locate supplied template: ${chalk.green(templateDir)}` ); return; } @@ -141,11 +154,7 @@ module.exports = function( const readme = fs.readFileSync(path.join(appPath, 'README.md'), 'utf8'); fs.writeFileSync( path.join(appPath, 'README.md'), - readme - .replace(/npm start/g, 'yarn start') - .replace(/npm test/g, 'yarn test') - .replace(/npm run build/g, 'yarn build') - .replace(/npm run eject/g, 'yarn eject'), + readme.replace(/(npm run |npm )/g, 'yarn '), 'utf8' ); } catch (err) { @@ -173,38 +182,47 @@ module.exports = function( } let command; + let remove; let args; if (useYarn) { command = 'yarnpkg'; + remove = 'remove'; args = ['add']; } else { command = 'npm'; + remove = 'uninstall'; args = ['install', '--save', verbose && '--verbose'].filter(e => e); } - args.push('react', 'react-dom'); // Install additional template dependencies, if present - const templateDependenciesPath = path.join( - appPath, - '.template.dependencies.json' - ); - if (fs.existsSync(templateDependenciesPath)) { - const templateDependencies = require(templateDependenciesPath).dependencies; + let templateJsonPath; + if (templateName) { + templateJsonPath = path.join(templatePath, 'template.json'); + } else { + templateJsonPath = path.join(appPath, '.template.dependencies.json'); + } + + if (fs.existsSync(templateJsonPath)) { + const templateDependencies = require(templateJsonPath).dependencies; args = args.concat( Object.keys(templateDependencies).map(key => { return `${key}@${templateDependencies[key]}`; }) ); - fs.unlinkSync(templateDependenciesPath); + fs.unlinkSync(templateJsonPath); } // Install react and react-dom for backward compatibility with old CRA cli // which doesn't install react and react-dom along with react-scripts - // or template is presetend (via --internal-testing-template) - if (!isReactInstalled(appPackage) || template) { - console.log(`Installing react and react-dom using ${command}...`); + if (!isReactInstalled(appPackage)) { + args = args.concat(['react', 'react-dom']); + } + + // Install template dependencies, and react and react-dom if missing. + if ((!isReactInstalled(appPackage) || templateName) && args.length > 1) { console.log(); + console.log(`Installing template dependencies using ${command}...`); const proc = spawn.sync(command, args, { stdio: 'inherit' }); if (proc.status !== 0) { @@ -213,10 +231,23 @@ module.exports = function( } } - if (useTypeScript) { + if (args.find(arg => arg.includes('typescript'))) { + console.log(); verifyTypeScriptSetup(); } + // Remove template + console.log(`Removing template package using ${command}...`); + console.log(); + + const proc = spawn.sync(command, [remove, templateName], { + stdio: 'inherit', + }); + if (proc.status !== 0) { + console.error(`\`${command} ${args.join(' ')}\` failed`); + return; + } + if (tryGitInit(appPath)) { console.log(); console.log('Initialized a git repository.'); diff --git a/packages/react-scripts/template/src/index.css b/packages/react-scripts/template/src/index.css deleted file mode 100644 index 4a1df4db71c..00000000000 --- a/packages/react-scripts/template/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", - monospace; -} diff --git a/tasks/e2e-kitchensink-eject.sh b/tasks/e2e-kitchensink-eject.sh index 877fdf60f12..8e775147785 100755 --- a/tasks/e2e-kitchensink-eject.sh +++ b/tasks/e2e-kitchensink-eject.sh @@ -64,6 +64,10 @@ set -x # Go to root cd .. root_path=$PWD +# Set a Windows path for GitBash on Windows +if [ $AGENT_OS == 'Windows_NT' ]; then + root_path=$(cmd //c cd) +fi if hash npm 2>/dev/null then @@ -89,7 +93,7 @@ publishToLocalRegistry # Install the app in a temporary location cd $temp_app_path -npx create-react-app test-kitchensink --internal-testing-template="$root_path"/packages/react-scripts/fixtures/kitchensink +npx create-react-app test-kitchensink --template=file:"$root_path"/packages/react-scripts/fixtures/kitchensink # Install the test module cd "$temp_module_path" diff --git a/tasks/e2e-kitchensink.sh b/tasks/e2e-kitchensink.sh index 30f0b4a0186..8e8af262365 100755 --- a/tasks/e2e-kitchensink.sh +++ b/tasks/e2e-kitchensink.sh @@ -64,6 +64,10 @@ set -x # Go to root cd .. root_path=$PWD +# Set a Windows path for GitBash on Windows +if [ $AGENT_OS == 'Windows_NT' ]; then + root_path=$(cmd //c cd) +fi if hash npm 2>/dev/null then @@ -89,7 +93,7 @@ publishToLocalRegistry # Install the app in a temporary location cd $temp_app_path -npx create-react-app test-kitchensink --internal-testing-template="$root_path"/packages/react-scripts/fixtures/kitchensink +npx create-react-app test-kitchensink --template=file:"$root_path"/packages/react-scripts/fixtures/kitchensink # Install the test module cd "$temp_module_path" diff --git a/tasks/e2e-simple.sh b/tasks/e2e-simple.sh index de126e14633..f037fa10587 100755 --- a/tasks/e2e-simple.sh +++ b/tasks/e2e-simple.sh @@ -93,8 +93,8 @@ startLocalRegistry "$root_path"/tasks/verdaccio.yaml ./node_modules/.bin/eslint --max-warnings 0 packages/create-react-app/ ./node_modules/.bin/eslint --max-warnings 0 packages/eslint-config-react-app/ ./node_modules/.bin/eslint --max-warnings 0 packages/react-dev-utils/ -./node_modules/.bin/eslint --max-warnings 0 packages/react-scripts/ ./node_modules/.bin/eslint --max-warnings 0 packages/react-error-overlay/src/ +./node_modules/.bin/eslint --max-warnings 0 packages/react-scripts/ cd packages/react-error-overlay/ yarn test From 0db8cd0fbc729aae4a1a178cd514e0344a72e20a Mon Sep 17 00:00:00 2001 From: Ian Sutherland Date: Thu, 24 Oct 2019 13:58:38 -0700 Subject: [PATCH 2/3] Update templates version check --- azure-pipelines.yml | 157 ++++++++++---------- packages/create-react-app/createReactApp.js | 6 +- 2 files changed, 83 insertions(+), 80 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 69e685a3b2c..6c39dc98f90 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,78 +1,79 @@ -# -# Azure Pipelines configuration for building and testing create-react-app on Linux, Windows, and macOS. -# - -trigger: - - master - -variables: - CI: true - # Overrides the Yarn and NPM cache directories so they are on the same drive as the source. This helps improve build performance on Windows hosted agents. - YARN_CACHE_FOLDER: $(Build.SourcesDirectory)/../yarn-cache - NPM_CONFIG_CACHE: $(Build.SourcesDirectory)/../npm-cache - # Sets TEMP to be on the same drive as the cloned source on Windows. This avoids test scripts that "cd" into a directory under TEMP from failing because this directory is on a different drive from the current directory. - VSTS_OVERWRITE_TEMP: True - # Override Verdaccio package to use. This is temporary and is needed to avoid socket timeouts on hosted Windows agent (on Azure). This also changes Verdaccio to return a 503 (service unavailable) instead of a 404 (not found) when the connection to the uplink timesout. - VERDACCIO_PACKAGE: https://github.com/willsmythe/verdaccio/releases/download/create-react-app/verdaccio-4.0.0-alpha.8.tgz - -# ****************************************************************************** -# Simple test suite -# ****************************************************************************** -jobs: - - template: azure-pipelines-test-job.yml - parameters: - name: Simple - testScript: tasks/e2e-simple.sh - - # ****************************************************************************** - # Installs test suite - # ****************************************************************************** - - template: azure-pipelines-test-job.yml - parameters: - name: Installs - testScript: tasks/e2e-installs.sh - - # ****************************************************************************** - # Kitchensink test suite - # ****************************************************************************** - - template: azure-pipelines-test-job.yml - parameters: - name: Kitchensink - testScript: tasks/e2e-kitchensink.sh - - # ****************************************************************************** - # Kitchensink Eject test suite - # ****************************************************************************** - - template: azure-pipelines-test-job.yml - parameters: - name: KitchensinkEject - testScript: tasks/e2e-kitchensink-eject.sh - - # ****************************************************************************** - # Behavior test suite - # ****************************************************************************** - - template: azure-pipelines-test-job.yml - parameters: - name: Behavior - testScript: tasks/e2e-behavior.sh - configurations: - LinuxNode8: { vmImage: 'ubuntu-16.04', nodeVersion: 8.x } - LinuxNode10: { vmImage: 'ubuntu-16.04', nodeVersion: 10.x } - # WindowsNode8: { vmImage: 'vs2017-win2016', nodeVersion: 8.x } - # WindowsNode10: { vmImage: 'vs2017-win2016', nodeVersion: 10.x } - MacNode8: { vmImage: 'macOS-10.13', nodeVersion: 8.x } - MacNode10: { vmImage: 'macOS-10.13', nodeVersion: 10.x } - - # ****************************************************************************** - # Old Node test suite - # ****************************************************************************** - - job: OldNode - pool: - vmImage: ubuntu-16.04 - steps: - - task: NodeTool@0 - inputs: - versionSpec: 6.x - displayName: 'Install Node.js 6.x' - - bash: tasks/e2e-old-node.sh - displayName: 'Run tests' +# +# Azure Pipelines configuration for building and testing create-react-app on Linux, Windows, and macOS. +# + +trigger: + - master + +variables: + CI: true + # Overrides the Yarn and NPM cache directories so they are on the same drive as the source. This helps improve build performance on Windows hosted agents. + YARN_CACHE_FOLDER: $(Build.SourcesDirectory)/../yarn-cache + NPM_CONFIG_CACHE: $(Build.SourcesDirectory)/../npm-cache + # Sets TEMP to be on the same drive as the cloned source on Windows. This avoids test scripts that "cd" into a directory under TEMP from failing because this directory is on a different drive from the current directory. + VSTS_OVERWRITE_TEMP: True + # Override Verdaccio package to use. This is temporary and is needed to avoid socket timeouts on hosted Windows agent (on Azure). This also changes Verdaccio to return a 503 (service unavailable) instead of a 404 (not found) when the connection to the uplink timesout. + VERDACCIO_PACKAGE: https://github.com/willsmythe/verdaccio/releases/download/create-react-app/verdaccio-4.0.0-alpha.8.tgz + CRA_INTERNAL_TEST: true + +# ****************************************************************************** +# Simple test suite +# ****************************************************************************** +jobs: + - template: azure-pipelines-test-job.yml + parameters: + name: Simple + testScript: tasks/e2e-simple.sh + + # ****************************************************************************** + # Installs test suite + # ****************************************************************************** + - template: azure-pipelines-test-job.yml + parameters: + name: Installs + testScript: tasks/e2e-installs.sh + + # ****************************************************************************** + # Kitchensink test suite + # ****************************************************************************** + - template: azure-pipelines-test-job.yml + parameters: + name: Kitchensink + testScript: tasks/e2e-kitchensink.sh + + # ****************************************************************************** + # Kitchensink Eject test suite + # ****************************************************************************** + - template: azure-pipelines-test-job.yml + parameters: + name: KitchensinkEject + testScript: tasks/e2e-kitchensink-eject.sh + + # ****************************************************************************** + # Behavior test suite + # ****************************************************************************** + - template: azure-pipelines-test-job.yml + parameters: + name: Behavior + testScript: tasks/e2e-behavior.sh + configurations: + LinuxNode8: { vmImage: 'ubuntu-16.04', nodeVersion: 8.x } + LinuxNode10: { vmImage: 'ubuntu-16.04', nodeVersion: 10.x } + # WindowsNode8: { vmImage: 'vs2017-win2016', nodeVersion: 8.x } + # WindowsNode10: { vmImage: 'vs2017-win2016', nodeVersion: 10.x } + MacNode8: { vmImage: 'macOS-10.13', nodeVersion: 8.x } + MacNode10: { vmImage: 'macOS-10.13', nodeVersion: 10.x } + + # ****************************************************************************** + # Old Node test suite + # ****************************************************************************** + - job: OldNode + pool: + vmImage: ubuntu-16.04 + steps: + - task: NodeTool@0 + inputs: + versionSpec: 6.x + displayName: 'Install Node.js 6.x' + - bash: tasks/e2e-old-node.sh + displayName: 'Run tests' diff --git a/packages/create-react-app/createReactApp.js b/packages/create-react-app/createReactApp.js index f5823c0c754..5f65161f001 100755 --- a/packages/create-react-app/createReactApp.js +++ b/packages/create-react-app/createReactApp.js @@ -443,7 +443,9 @@ function run( ) .then(({ isOnline, packageInfo, templateInfo }) => { let packageVersion = semver.coerce(packageInfo.version); - const templatesVersionMinimum = '3.2.0'; + const templatesVersionMinimum = process.env.CRA_INTERNAL_TEST + ? '3.2.0' + : '3.3.0'; // Assume compatibility if we can't test the version. if (!semver.valid(packageVersion)) { @@ -452,7 +454,7 @@ function run( // Only support templates when used alongside new react-scripts versions. const supportsTemplates = semver.gte( - packageVersion, + semver.coerce(packageVersion), templatesVersionMinimum ); if (supportsTemplates) { From e4f478b567df7454906c518952f81d3b03bf6be8 Mon Sep 17 00:00:00 2001 From: Ian Sutherland Date: Thu, 24 Oct 2019 14:27:04 -0700 Subject: [PATCH 3/3] Update TypeScript template README --- packages/cra-template-typescript/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cra-template-typescript/README.md b/packages/cra-template-typescript/README.md index bfca53c17b7..e7197568d18 100644 --- a/packages/cra-template-typescript/README.md +++ b/packages/cra-template-typescript/README.md @@ -2,7 +2,7 @@ This is the official TypeScript template for [Create React App](https://github.com/facebook/create-react-app). -To use this template, simply add `--template typescript` when creating a new app. +To use this template, add `--template typescript` when creating a new app. For example: