Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create-react-app enforces @typescript-eslint/no-namespace, a style rule #7651

Closed
szhu opened this issue Sep 6, 2019 · 16 comments · Fixed by #7803
Closed

create-react-app enforces @typescript-eslint/no-namespace, a style rule #7651

szhu opened this issue Sep 6, 2019 · 16 comments · Fixed by #7803

Comments

@szhu
Copy link
Contributor

szhu commented Sep 6, 2019

Describe the bug

  1. create-react-app --typescript
  2. Add a namespace in a file
  3. I get the error: ES2015 module syntax is preferred over custom TypeScript modules and namespaces.eslint(@typescript-eslint/no-namespace). There seems to be no way to turn off this rule, according to Support ESLint configure or disabling ESLint (discussion) #3886.

Why this is a bug:

From #2157 (comment):

Our rules are specifically picked to not enforce style, and to only find logical mistakes.

Whether or not a namespace is used is most definitely not a choice of style and not a logical mistake. Please remove this rule or give me an option to remove this rule.

@heyimalex
Copy link
Contributor

Could you comment out that line directly in node_modules and see if compilation works as you'd expect? This landed in #6513 right when we added native ts support, so I'm thinking maybe there's an actual reason it's there. But maybe not.

@szhu
Copy link
Contributor Author

szhu commented Sep 6, 2019

Ah:

SyntaxError: .../xxx.tsx: Namespaces are not supported.

Which part of the build process are namespaces not supported by?

@heyimalex
Copy link
Contributor

We use babel to compile typescript (vs directly with tsc), so probably there. I just checked here and at a glance it looks like support is being added, at least for type-only namespaces (we're usually pinned to a slightly out of date babel, so maybe why you don't see the same error message).

If you want to do the legwork to land the requisite changes I'd be happy to mentor/review! I can write out some steps, just let me know if you're interested.

@szhu
Copy link
Contributor Author

szhu commented Sep 6, 2019

Ah, it's Babel.

Also, I tried this with the newest version of CRA. I get the same lint error, but after disabling it according to the above instructions, I now get:

SyntaxError: /Users/Sean/test-app/src/App.tsx: Namespace not marked type-only declare. Non-declarative namespaces are only supported experimentally in Babel. To enable and review caveats see: https://babeljs.io/docs/en/babel-plugin-transform-typescript

@heyimalex
Copy link
Contributor

heyimalex commented Sep 6, 2019

Oh lol, then no changes needed? Does a type-only namespace work for your usecase or nah? If not then there's not much we can do until this lands (as non-experimental) in babel. If it is but the lint rule is still firing then we can fix that.

@szhu
Copy link
Contributor Author

szhu commented Sep 6, 2019

So, it looks like disabling the lint error can at least get declare namespace to work. I'd be happy to make that change.

Please let me know what I can do! Here are the changes that I think I need to make:

  • In eslint-config-react-app, remove the @typescript-eslint/no-namespace rule.
  • Update react-scripts to use that updated version of eslint-config-react-app
  • (Possibly?) Update in react-scripts, run babel with the allowNamespaces option. (This enables partial support for non-declare-only namespaces, see https://babeljs.io/docs/en/babel-plugin-transform-typescript) Let me know if this is a change we can/should make.
  • Update create-react-app to use that updated version of react-scripts.

Let me know if this seems correct and if you have any pointers!

@szhu
Copy link
Contributor Author

szhu commented Sep 7, 2019

Btw, there's one warning I have left. At this point I should probably explain my use case:

namespace Counter {
  interface Props {
    value: number
    setValue: (value: number) => void
  }
}

const Counter: React.FC<Counter.Props> = (props) => {
  return <div>{value}</div>
}

export default Counter

Basically, I don't want to export/use props separately from the component.


For this example, the proposed fixes will make it work! But I'm still left with this warning:

Compiled with warnings.
  'Counter' is already defined  no-redeclare

Let me know what you think. Should no-redeclare also be removed? Is the props organization convention a bad one? Is there a way to achieve the same effect without namespaces? Also let me know if you think this is worthy of a separate issue.

@heyimalex
Copy link
Contributor

Hm, it's friday night for me so I'll have to take a look this weekend. I'm pretty sure we don't want to get rid of no-redeclare, and I'm actually kinda surprised that it's even firing for what is essentially a type definition since I'm pretty sure I've done similar things in the past. Maybe it just sees namespaces differently.

RE: Your use case: That's a pretty neat pattern! I'm not an expert on the best practices, but I've read a lot of type definitions on DefinitelyTyped and generally I've seen a separate CounterProps export. You can also do React.ComponentProps<typeof Counter> I think. But I understand the ergonomic appeal of having type/constructor-associated access to props, and I'd like to get this sorted either way.

@heyimalex
Copy link
Contributor

Oh have you tried adding declare in front of your namespace definition? I can actually see why it would complain about re-declaring since it doesn't know that it's types-only, so it has to be an actual callable thing.

@szhu
Copy link
Contributor Author

szhu commented Sep 8, 2019

Hey no worries, take your time! Thanks for your input on this.

CounterProps

Not a bad idea. I feel like that's the de-facto standard, and my company uses this in our codebase so I have a lot of experience with this and know it scales fairly well, but it just seems like just a little extra work to maintain (i.e., to rename a component, you have to rename-refactor two things instead of one).

React.ComponentProps<typeof Counter>

Ah yes, I keep forgetting and then remembering this one, since it's longer to type out. I might actually just go with this one in my project, because I don't actually need to access the type for component props very often.


Okay so back to solving this lint issue. To answer your questions above, I checked and:

  • no-redeclare gets triggered even for declare namespace.
  • no-namespace gets triggered even for declare namespace.
  • No Babel flag changes are needed for declare namespace to compile.

@cordasfilip
Copy link

cordasfilip commented Sep 11, 2019

I think this is probably related but now when I do create react-app my-app --typescript and add a console.log(location.href) I get a "Unexpected use of 'location' no-restricted-globals" is there I way to turn tis off because I need to update an project from a few months ago and none of this was an issue in Jun? Also I don't get any issues in VS code because the this lint rule is not picked up at all. If I was able at least to see how many issues I have I might be able to fix them.

@szhu
Copy link
Contributor Author

szhu commented Sep 11, 2019

Hey @cordasfilip! I think that this could be an unrelated issue, and I'd recommend creating a new GitHub issue to discuss that. If you think that people reading that issue should read this issue too, you can link to this issue there.

Since I'm already here, here are some thoughts that come to mind:

  • I think VSCode doesn't run eslint on ts files by default, so that's why VSCode isn't showing the errors. Here are some keywords that can help you fix that.

  • If you replace location with window.location, does it work?

  • If debugging is required, it might be helpful if you could list of specific reproduction steps. When you make a new Github issue, the template will prompt you to do so.

@szhu
Copy link
Contributor Author

szhu commented Oct 7, 2019

@heyimalex bump on this issue, if you have time! Would be great to get to the bottom of this, but it's not urgent.

@heyimalex
Copy link
Contributor

@szhu Sorry, I just got back to this!

I just tried to repro on a new project and it looks like babel now compiles fine with declare namespace! Further, using non-declare namespaces give a more obvious error from babel.

You should be able to use // tslint:disable-next-line:no-namespace before the declaration to get around the lint right now, but I think it should be safe to disable in our eslint config. Want to open a PR that removes that line and we can continue discussion there?

@szhu
Copy link
Contributor Author

szhu commented Oct 9, 2019

Thanks for checking! To confirm, the change would be to just delete this line, right?

https://github.com/facebook/create-react-app/blob/b3f8ef2/packages/eslint-config-react-app/index.js#L84

@heyimalex
Copy link
Contributor

I'm pretty sure.

heyimalex pushed a commit that referenced this issue Dec 6, 2019
Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes #7651.
@lock lock bot locked and limited conversation to collaborators Dec 11, 2019
nvioli pushed a commit to WPMedia/create-react-app that referenced this issue Jan 3, 2020
* Add question issue template (facebook#7423)

* Add question issue template

* Fix bug report template formatting

* Fix bug report template formatting

* Add labels to pull request template

* Update deploy instructions in contributing guide (facebook#7429)

* Update deploy instructions in contributing guide

* Update docs publishing instructions

* Remove labels from pull request template

* Add explicit check for --watchAll=false (facebook#7433)

Resolves facebook#7180.

* Add ESLint 6 support (facebook#7415)

* Update testing-library package names in README (facebook#7340)

* Update ESlint Install Docs (facebook#7451)

* Improve bootstrap docs when using custom SCSS (facebook#7462)

* Added dependencies to bootstrap article when using custom SCSS.

* Make changes to package designation and added npm install directions.

* Suggest `jsx: "react"` in tsconfig (facebook#7472)

* Set jsonpFunction to prevent conflicts (facebook#5951)

* Resolve relative paths for preprocessor styles (facebook#5829)

preprocessor will output sourceMap by default
then check if sourceMaps are needed on resolve-url-loader

Fixes facebook#4653

* Specify roots in Jest config (facebook#7480)

* Optimise templates for Lighthouse (facebook#7482)

* Use readConfigFile instead of require for tsconfig (facebook#7248)

* Fix HMR in Firefox when proxy option present (facebook#7444)

Resolves facebook#6720

* Adjusted deployment documentation for ZEIT Now (facebook#7488)

* Adjusted deployment documentation for ZEIT Now

* Fixed missing word

* Update docusaurus/docs/deployment.md

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Bump dependencies (facebook#7473)

* Support configuring coveragePathIgnorePatterns (facebook#7080)

* Fix RegExp from navigateFallbackBlacklist (workbox) (facebook#7176)

Exclude URLs that contains a "?" character.

* Fix launch.json debugging config (facebook#6484)

* Add vscodium to the editor list (facebook#7028)

* Bump version of sass-loader (facebook#7496)

* Add readonly modifier for css module (facebook#7497)

* Remove unused dependencies in babel-preset-react-app (facebook#5818)

* Remove unused dependencies in babel-preset-react-app

* Re-add @babel/plugin-transform-react-display-name

* Remove some dependencies again

* Prepare 3.1.0 release

* Publish

 - babel-plugin-named-asset-import@0.3.3
 - babel-preset-react-app@9.0.1
 - confusing-browser-globals@1.0.8
 - create-react-app@3.1.0
 - eslint-config-react-app@5.0.0
 - react-app-polyfill@1.0.2
 - react-dev-utils@9.0.2
 - react-error-overlay@6.0.0
 - react-scripts@3.1.0

* Add links to Spectrum in README and docs (facebook#7500)

* Update bug report issue template

* Don't block static files in robots.txt (facebook#7508)

* Ignore "jsx-a11y/aria-role" for React components (facebook#7393)

* Update docusaurus config (facebook#7499)

* Update Netlify config (facebook#7527)

* Fix ESLint 6 support (facebook#7513)

* Remove extends restriction to fix ESLint 6 support

* Attempt to resolve CI errors

* Prepare 3.1.1 release

* Publish

 - create-react-app@3.1.1
 - eslint-config-react-app@5.0.1
 - react-dev-utils@9.0.3
 - react-error-overlay@6.0.1
 - react-scripts@3.1.1

* Show logo on mobile docs (facebook#7521)

* Show logo for mobile views in create-react-app.dev

* Update docusaurus/website/static/css/custom.css


Co-authored-by: Sabesh Kumar Rajendran <sabrajendran@paypal.com>

* Add a migration step to remove static directory from robots.txt (facebook#7536)

* add a migration step to remove static from robots.txt

* Update CHANGELOG.md

Co-Authored-By: Ian Sutherland <ian@iansutherland.ca>

* docs: update Flow documentation (facebook#7550)

* docs: update Flow documentation

* Update adding-flow.md

* Update adding-flow.md

* Correct proxy usage docs (facebook#7368)

* Remove trailing spaces from manifest.json (facebook#7585)

* Link changelogs between major versions (facebook#7613)

* Remove cleanup-after-each example (facebook#7620)

cleanup is called now by default after each test if the testing framework supports the afterEach global

* Adopt Contributor Covenant (facebook#7650)

* Adopt Contributor Covenant

* Add link to Contributor Covenant to docs site

* Fix build (facebook#7662)

* Disable babel-loader's cacheCompression (facebook#7633)

* Update troubleshooting.md (facebook#7459)

* Explicitly check that EXTEND_ESLINT is true (facebook#7538)

* Update running-tests.md (facebook#7659)

* Bump version of @typescript-eslint/* (facebook#7540)

* Upgrade dotenv-expand to fix issues (facebook#7531)

* Minor performance improvements (facebook#7587)

- use ESLint cache
- remove useless `watch` option in fork-ts-checker

* Remove --single-quote from prettier examples (facebook#7663)

* Use const instead of var in env.js (facebook#7526)

* Change runtime chunk name separator from tilde to dash (facebook#7679)

* Bump dependencies (facebook#7681)

* Update deployment.md with another AWS example (facebook#7616)

Add blog post that takes a React developer step-by-step through many features of AWS. Blog post is suitable for a beginner to follow and have a production ready workflow.

* Add new logo (facebook#7704)

* Prepare 3.1.2 release

* Publish

 - babel-plugin-named-asset-import@0.3.4
 - babel-preset-react-app@9.0.2
 - confusing-browser-globals@1.0.9
 - create-react-app@3.1.2
 - eslint-config-react-app@5.0.2
 - react-app-polyfill@1.0.3
 - react-dev-utils@9.0.4
 - react-error-overlay@6.0.2
 - react-scripts@3.1.2

* Update runtime chunk name separator in docs (facebook#7705)

* Remove 'shortcut' link type before 'icon' (facebook#7707)

* Guard polyfills against window possibly being undefined (facebook#7205)

* Enable .eslintignore with extend flag (facebook#7562)

* Add "entrypoints" key to asset manifest (facebook#7721)

* Update adding flow documentation (facebook#7731)

* set output.globalObject to 'this' (facebook#7742)

Closes facebook#7741

* Update logic and log errors for EXTEND_ESLINT (facebook#7530)

* update list of supported jest config overrides (facebook#7601)

* Upgrade Webpack version (facebook#7740)

* Close br tags in template README files (facebook#7668)

* Fix variable name casing in fileTransform (facebook#7752)

* Documentation typo fix (facebook#7757)

* Fix linting error when using rest props (facebook#7754)

* Add TSC_COMPILE_ON_ERROR setting (facebook#6931)

* Remove switch case (facebook#7729)

* docs: note that v2 to v3 migration may require deletion of node_modules (facebook#7302)

* Stop hiding the column number of ESLint errors (facebook#6980)

* Support setting baseUrl to root directory (facebook#7755)

* Use installing package manager in README (facebook#7687)

* Support production profiling with React Developer Tools (facebook#7737)

* Added the alias for profiling and output change to keep the classNames and functionNames for human readbility

* defined isEnvProductionProfile with other isEnv checks

* moved the keep_classnames and keep_fnames to terserOptions scope

* resolve merge conflict for yarn.lock.cache

* revert yarn.lock.cache to master yarn.lock.cache
- git checkout origin/master -- packages/create-react-app/yarn.lock.cached

* Comment and Boolean Check
- I clarified the comment and specified the use case
- Changed the environment check to check for the specific true rather than
the assumed primitive value as before.

* Replaced env with flag
- Per suggestion --profile flag used instead of env variable PROFILE_APP

* documentation in available scripts section with suggested information

* resolved a local git issue. Fixed documentation error.

* moved documentation to suggested file
- Added a brief summary of profiling in available scripts section.
The summary references the production-build document. Which is the
file I moved the new documentation into under a new Header for production support.

* Update production-build.md


Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

* Prepare 3.2.0 release

* Publish

 - create-react-app@3.2.0
 - react-app-polyfill@1.0.4
 - react-dev-utils@9.1.0
 - react-error-overlay@6.0.3
 - react-scripts@3.2.0

* Temporarily disable Windows in CI (facebook#7773)

* Add babel runtime version to transform-runtime plugin to reduce… (facebook#7726)

* Add Babel sourcemap to resolve VSCode debugging issues (facebook#7022)

* Fix process type in TypeScript template (facebook#7796)

* Account for browserslist environment variables (facebook#7764)

* Clarify dynamic import stage in docs (facebook#7813)

* Update adding-typescript.md (facebook#7815)

* Document how to use the .env file to enforce HTTPS (facebook#7821)

* Fix absolute paths issue in Jest (facebook#7822)

* Document correct default behavior for HOST var (facebook#7823)

* Fix grammar error in troubleshooting.md (facebook#7824)

* Upgrade to docusaurus 2 (facebook#7785)

* chore: upgrade to docusaurus 2

* address review

* Update doc publishing instructions

* Revert logo in templates (facebook#7830)

* feat: add additional Jest keys to whitelist (facebook#7832)

* Link to React documentation for code splitting (facebook#7686)

The official documentation offers a simpler way of achieving route based code splitting.

* Add a note about .eslingignore files being respected (facebook#7809)

* added check for typescript template and unsupported node version (facebook#7839)

* added check for typescript template and unsupported node version

* addressed code review feedback regarding syntax and spelling mistakes

* Update getting-started.md (facebook#7841)

Update the initial project structure generated by create-react-app.

* Link to ASP.NET Core docs (facebook#7840)

* Update readme gif links (facebook#7849)

* Update adding-bootstrap.md (facebook#7853)

typo fix

* Move unused eslint webpack import into @remove-on-eject block (facebook#7856)

* 📖 DOC: Improvement (facebook#7819)

* Upgrade terser & enable parallel minification in wsl (facebook#7857)

* Add a GitHub Action that runs the build script (facebook#7861)

* Edit InterpolateHtmlPlugin hook (facebook#6448) (facebook#6449)

* Fix notations of loopback addresses (facebook#7474)

* Add Service-Worker header to checkValidServiceWorker (facebook#6753)

* Add header to checkValidServiceWorker (ts)

* Add header to checkValidServiceWorker

* Add additional information for postcss errors (facebook#6282) (facebook#6352)

* Add additional information for postcss errors

* Add additional information for postcss errors (simplify)

* Remove chunkname from postCSS compile error

* Remove line number from postCSS compile error

* Fix eslint complaints in build.js (facebook#7870)

* Add Alex to lint documentation (facebook#7852)

* Add Alex to lint documentation

* Attempt to trigger GitHub Action

* Configure Alex and update docs

* More docs updates

* Bump docusaurus 🦖 (facebook#7874)

* Dark scheme overlay (facebook#7052)

* Bump react (facebook#7875)

* Bump styling related loaders (facebook#7876)

* Remove alex precommit check (facebook#7878)

* Add template support (facebook#7716)

* Add template support

* Update templates version check

* Update TypeScript template README

* Prepare 3.3.0 beta

* If template name already starts with cra-template leave it alone (facebook#7880)

* Update prerelease publishing instructions

* Upgrade packages and tweak config to adapt to new config format (facebook#7814)

Rebased again now with smaller changes in this one which will make it easier to revert in case of eventual regressions.

* refactor: remove double coerce (facebook#7882)

* Add yarn.lock to .gitignore (facebook#7789)

* chore: Fix broken link for CRA deployment (facebook#7897)

* chore: Fix broken link for e2e README (facebook#7896)

* Add @testing-library to the default templates (facebook#7881)

* Add numeric separator support (facebook#7817)

* Update open (facebook#7910)

* Mark TypeScript as an optional peer dependency (facebook#7860)

* Add restoreMocks to supported jest config keys (facebook#7921)

* fix seperators typo (facebook#7932)

Its the little things that makes the big difference!  😁

Thanks

* No spinning React logo if `prefers-reduced-motion` (facebook#7931)

* Made PRs welcome badge point to contributors guide (facebook#7792)

* Make JavaScript and TypeScript templates consistent (facebook#7944)

* Fix CI (facebook#7951)

* Add optional chaining and nullish coalescing operators support (facebook#7438)

* Add tests for optional chaining and null coalescing (facebook#7952)

* Upgrade jest-watch-typeahead (facebook#7956)

* Fix light background in docusaurus night mode (facebook#7936)

* Fix light background in docusaurus night mode

Closes facebook#7930

* Rename lightBackground to gettingStartedSection

* Add placeholders where old template READMEs used to be (facebook#7972)

* Temporarily disable GitHub Actions (facebook#7978)

* Prepare 3.3.0 beta

* Bump dependencies (facebook#7986)

* Support scoped templates (facebook#7991)

* Add contributors section to readme (facebook#7995)

* added e2e test for checking typescript template with unsupported node (facebook#7844)

* Unpin dependencies in react-app-polyfill (facebook#7999)

* Add scripts support to templates (facebook#7989)

* Override no-unused-expressions with the typescript-eslint version (facebook#8003)

Fixes issues with optional chaining

* Prefix apple-touch-icon links with PUBLIC_URL. (facebook#8005)

* Bump webpack-dev-server (facebook#7988)

* Bump dependencies (facebook#8024)

* Re-enable GitHub Actions (facebook#8029)

* Update CHANGELOG

* Update CODEOWNERS

* Remove no-unexpected-multiline rule (facebook#8039)

* Add TypeScript peer dependency to react-scripts (facebook#8038)

* Update template docs (facebook#8050)

* Update template docs

* Update custom-templates.md

* Update custom-templates.md


Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

* Prepare 3.3.0 release

* Update CHANGELOG

* Publish

 - babel-plugin-named-asset-import@0.3.5
 - babel-preset-react-app@9.1.0
 - cra-template-typescript@1.0.0
 - cra-template@1.0.0
 - create-react-app@3.3.0
 - eslint-config-react-app@5.1.0
 - react-app-polyfill@1.0.5
 - react-dev-utils@10.0.0
 - react-error-overlay@6.0.4
 - react-scripts@3.3.0

* webpackHotDev now uses wss when https is used (facebook#8079)

* Add custom-templates to docs sidebar (facebook#8077)

* Fix typo in CHANGELOG.md (facebook#8080)

* Remove error for @typescript-eslint/no-namespace (facebook#7803)

Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes facebook#7651.

* Fix CI build (facebook#8122)

* Fix CSS font-face minification (facebook#8106)

* Add slashes to WebSocket protocol URL (facebook#8116)

* Fix typo in comment: `?.` is right, not `.?` (facebook#8124)

This is just a comment fix.

Actual optional chaining operator syntax is `?.`, not `.?`.

* chore: update docusaurus & tweak site (facebook#8111)

* [Security] Update terser webpack plugin (facebook#8102)

* security: update terser webpack plugin

* feat(react-scripts): allow PUBLIC_URL in develoment mode

* Add current version and bin location to --info output (facebook#8168)

Make the --info subcommand outuput the current version information and the location of the file being run. Our issue template tells users to provide the output of --info, so having the current version is incredibly helpful, especially since it doesn't necessarily match the globally installed version that envinfo outputs. Knowing the location helps us determine whether the running bin is globally installed or in the local node_modules.

* Bump pkgUp (facebook#8163)

* Bump chalk (facebook#8164)

* Add link to Netlify in README

* Bump internal dependencies (facebook#8176)

* Bump dependencies in react-dev-utils

* Bump dependencies in react-app-polyfill

* Bump dependencies in create-react-app

* Bump dependencies in react-error-overlay

* Bump dependencies in react-scripts

* Bump react

* Add package-runner note to readme (facebook#8132)

* Add package-runner note to readme

* Add link to `yarn create`

* Update PWA docs links to point to template package (facebook#8147)

* Minor refactors in create-react-app (facebook#8178)

- Remove templates version minimum stopgap.
- Replace indexOf with more idiomatic alternatives.
- Inline errorLogFilePatterns.
- Alphabetize validFiles.
- Simplify log file removal code.
- Move unconditional console.log() call outside of isSafe.
- Differentiate conflicting directories from files.
- Document yarn version special case.
- Inline printValidationResults.
- Standardize checkAppName output on failure.
- Add link for checkThatNpmCanReadCwd.

Functionally the code should be exactly the same.

* fix: proactively append to .gitignore during init (facebook#8028)

* Bump babel-plugin-tester and fix breaking changes (facebook#8171)

* feat(react-scripts): allow PUBLIC_URL in develoment mode

Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>

* A few small corrections

* webpackdevserver quiet setting -> false

Co-authored-by: Ian Sutherland <ian@iansutherland.ca>
Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>
Co-authored-by: Balázs Orbán <info@balazsorban.com>
Co-authored-by: Chuck  <chuck@eclecticsaddlebag.com>
Co-authored-by: Darius Tall <kingdaro@gmail.com>
Co-authored-by: Sibiraj <20282546+sibiraj-s@users.noreply.github.com>
Co-authored-by: Andrew Luca <thendrluca@gmail.com>
Co-authored-by: Igor Muchychka <mucsi96@gmail.com>
Co-authored-by: dominic scanlan <dscanlan@users.noreply.github.com>
Co-authored-by: Jack Cross <jackjocross@gmail.com>
Co-authored-by: Dmitry Lepskiy <lepsky.dmitry@gmail.com>
Co-authored-by: Leo Lamprecht <mindrun@icloud.com>
Co-authored-by: Joe Haddad <timer150@gmail.com>
Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
Co-authored-by: Andrea Puddu <me@nuragic.io>
Co-authored-by: Ryan Marsh <ryan@stochastic.dev>
Co-authored-by: Leonardo Dino <leonardodino@users.noreply.github.com>
Co-authored-by: ZHAO Jinxiang <xiaoxiangmoe@gmail.com>
Co-authored-by: Tomáš Szabo <tomas.szabo@deftomat.com>
Co-authored-by: Sabesh Rajendran <sabeshkumar@hotmail.com>
Co-authored-by: Jon Stevens <latchkey@gmail.com>
Co-authored-by: Federico Zivolo <5382443+FezVrasta@users.noreply.github.com>
Co-authored-by: szabi <szabolcs.szilagyi@planorama.com>
Co-authored-by: Emil Pålsson <emil@emilpalsson.se>
Co-authored-by: iHmD <6934421+iHmD@users.noreply.github.com>
Co-authored-by: Jerome Leclanche <jerome@leclan.ch>
Co-authored-by: Clément Prévost <prevostclement@gmail.com>
Co-authored-by: Brock Wills <brockwills@gmail.com>
Co-authored-by: Weyert de Boer <weyert@gmail.com>
Co-authored-by: pierreneter <pierreneter@gmail.com>
Co-authored-by: Dominic Tobias <dominic.tobias@gmail.com>
Co-authored-by: brlewis <brlewis@ourdoings.com>
Co-authored-by: Jannis Hell <Primajin@users.noreply.github.com>
Co-authored-by: Doug Ross <doug@onvelocity.com>
Co-authored-by: Andrew <andrew.bestbier@gmail.com>
Co-authored-by: Samuel Meuli <me@samuelmeuli.com>
Co-authored-by: Lewis Llobera <billobera@gmail.com>
Co-authored-by: Jake Moxey <jakemoxey@gmail.com>
Co-authored-by: Iguchi Tomokatsu <tomo14916253@gmail.com>
Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
Co-authored-by: neilbryson <neilbryson@users.noreply.github.com>
Co-authored-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: Rakan Nimer <rakannimer@gmail.com>
Co-authored-by: Tomer Cohen <tomer@users.noreply.github.com>
Co-authored-by: Alexandr Tovmach <alexandrtovmach@gmail.com>
Co-authored-by: Kyle Bebak <kylebebak@gmail.com>
Co-authored-by: André Lins <andrelucas01@hotmail.com>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
Co-authored-by: Justin Grant <justingrant@users.noreply.github.com>
Co-authored-by: Robert van Steen <hello@rovansteen.nl>
Co-authored-by: Ashrith Reddy <ashrithreddi81@gmail.com>
Co-authored-by: Jacob M-G Evans <27247160+JacobMGEvans@users.noreply.github.com>
Co-authored-by: Damian Senn <damian.senn@gmail.com>
Co-authored-by: Róbert FUSZENECKER <fuszenecker@users.noreply.github.com>
Co-authored-by: May <aprilandjan@users.noreply.github.com>
Co-authored-by: Orta <orta.therox+github@gmail.com>
Co-authored-by: Tomáš Hübelbauer <tomas@hubelbauer.net>
Co-authored-by: Jesse Jackson <jsejcksn@users.noreply.github.com>
Co-authored-by: Jake Boone <jakeboone02@gmail.com>
Co-authored-by: Endi <endiliey@gmail.com>
Co-authored-by: Hugo David-Boyet <hugo.david.boyet@gmail.com>
Co-authored-by: Sean Lafferty <sixers2329@gmail.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: reactjser <54932880+reactjser@users.noreply.github.com>
Co-authored-by: Daniel Lo Nigro <daniel@dan.cx>
Co-authored-by: Chun <11034578+cchanxzy@users.noreply.github.com>
Co-authored-by: Xuhao <xuhao@rubyfans.com>
Co-authored-by: Sean Baines <mrseanbaines@gmail.com>
Co-authored-by: Abdul Wahab ⚡️ <waahab35@gmail.com>
Co-authored-by: Guillaume Hertault <guillaumus@gmail.com>
Co-authored-by: Wataru Ashihara <wataash@users.noreply.github.com>
Co-authored-by: darthmaim <github@darthmaim.de>
Co-authored-by: Joshua Robinson <1865690+buildbreakdo@users.noreply.github.com>
Co-authored-by: Andreas Cederström <andriijas@users.noreply.github.com>
Co-authored-by: Fabiano Brito <fabianopbrito@gmail.com>
Co-authored-by: Kanitkorn Sujautra <lukyth@users.noreply.github.com>
Co-authored-by: Havit Rovik <surat@havit.web.id>
Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
Co-authored-by: Dylan Staley <88163+dstaley@users.noreply.github.com>
Co-authored-by: Donavon West <github@donavon.com>
Co-authored-by: James George <jamesgeorge998001@gmail.com>
Co-authored-by: RJ <22164266+suprj@users.noreply.github.com>
Co-authored-by: Renato Augusto Gama dos Santos <renato_0603@hotmail.com>
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Klas Björkqvist <klas.bjorkqvist@gmail.com>
Co-authored-by: Max Davidson <davidsonmax@gmail.com>
Co-authored-by: Ben Blank <ben.blank+github@gmail.com>
Co-authored-by: Mike Caulley <mikecaulley@users.noreply.github.com>
Co-authored-by: Trontor <Trontor@users.noreply.github.com>
Co-authored-by: Sean Zhu <interestinglythere@gmail.com>
Co-authored-by: Simon Donaldson <simondonaldson@gmail.com>
Co-authored-by: Wojciech Zieliński <github@rpix.pl>
Co-authored-by: Vadzim <v@vadzim.info>
Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Jerome De Leon <32805276+JeromeDeLeon@users.noreply.github.com>
Co-authored-by: Peet Goddard <github@peet.me.uk>
Co-authored-by: Brian Muenzenmeyer <brian.muenzenmeyer@gmail.com>
joeycozza pushed a commit to fs-webdev/create-react-app that referenced this issue Jan 28, 2020
Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes facebook#7651.
adammockor added a commit to lightingbeetle/lighter that referenced this issue Feb 19, 2020
* Publish

 - babel-plugin-named-asset-import@0.3.4
 - babel-preset-react-app@9.0.2
 - confusing-browser-globals@1.0.9
 - create-react-app@3.1.2
 - eslint-config-react-app@5.0.2
 - react-app-polyfill@1.0.3
 - react-dev-utils@9.0.4
 - react-error-overlay@6.0.2
 - react-scripts@3.1.2

* Update runtime chunk name separator in docs (facebook#7705)

* Remove 'shortcut' link type before 'icon' (facebook#7707)

* Guard polyfills against window possibly being undefined (facebook#7205)

* Enable .eslintignore with extend flag (facebook#7562)

* Add "entrypoints" key to asset manifest (facebook#7721)

* Update adding flow documentation (facebook#7731)

* set output.globalObject to 'this' (facebook#7742)

Closes facebook#7741

* Update logic and log errors for EXTEND_ESLINT (facebook#7530)

* update list of supported jest config overrides (facebook#7601)

* Upgrade Webpack version (facebook#7740)

* Close br tags in template README files (facebook#7668)

* Fix variable name casing in fileTransform (facebook#7752)

* Documentation typo fix (facebook#7757)

* Fix linting error when using rest props (facebook#7754)

* Add TSC_COMPILE_ON_ERROR setting (facebook#6931)

* Remove switch case (facebook#7729)

* docs: note that v2 to v3 migration may require deletion of node_modules (facebook#7302)

* Stop hiding the column number of ESLint errors (facebook#6980)

* Support setting baseUrl to root directory (facebook#7755)

* Use installing package manager in README (facebook#7687)

* Support production profiling with React Developer Tools (facebook#7737)

* Added the alias for profiling and output change to keep the classNames and functionNames for human readbility

* defined isEnvProductionProfile with other isEnv checks

* moved the keep_classnames and keep_fnames to terserOptions scope

* resolve merge conflict for yarn.lock.cache

* revert yarn.lock.cache to master yarn.lock.cache
- git checkout origin/master -- packages/create-react-app/yarn.lock.cached

* Comment and Boolean Check
- I clarified the comment and specified the use case
- Changed the environment check to check for the specific true rather than
the assumed primitive value as before.

* Replaced env with flag
- Per suggestion --profile flag used instead of env variable PROFILE_APP

* documentation in available scripts section with suggested information

* resolved a local git issue. Fixed documentation error.

* moved documentation to suggested file
- Added a brief summary of profiling in available scripts section.
The summary references the production-build document. Which is the
file I moved the new documentation into under a new Header for production support.

* Update production-build.md


Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

* Prepare 3.2.0 release

* Publish

 - create-react-app@3.2.0
 - react-app-polyfill@1.0.4
 - react-dev-utils@9.1.0
 - react-error-overlay@6.0.3
 - react-scripts@3.2.0

* Temporarily disable Windows in CI (facebook#7773)

* Add babel runtime version to transform-runtime plugin to reduce… (facebook#7726)

* Add Babel sourcemap to resolve VSCode debugging issues (facebook#7022)

* Fix process type in TypeScript template (facebook#7796)

* Account for browserslist environment variables (facebook#7764)

* Clarify dynamic import stage in docs (facebook#7813)

* Update adding-typescript.md (facebook#7815)

* Document how to use the .env file to enforce HTTPS (facebook#7821)

* Fix absolute paths issue in Jest (facebook#7822)

* Document correct default behavior for HOST var (facebook#7823)

* Fix grammar error in troubleshooting.md (facebook#7824)

* Upgrade to docusaurus 2 (facebook#7785)

* chore: upgrade to docusaurus 2

* address review

* Update doc publishing instructions

* Revert logo in templates (facebook#7830)

* feat: add additional Jest keys to whitelist (facebook#7832)

* Link to React documentation for code splitting (facebook#7686)

The official documentation offers a simpler way of achieving route based code splitting.

* Add a note about .eslingignore files being respected (facebook#7809)

* added check for typescript template and unsupported node version (facebook#7839)

* added check for typescript template and unsupported node version

* addressed code review feedback regarding syntax and spelling mistakes

* Update getting-started.md (facebook#7841)

Update the initial project structure generated by create-react-app.

* Link to ASP.NET Core docs (facebook#7840)

* Update readme gif links (facebook#7849)

* Update adding-bootstrap.md (facebook#7853)

typo fix

* Move unused eslint webpack import into @remove-on-eject block (facebook#7856)

* 📖 DOC: Improvement (facebook#7819)

* Upgrade terser & enable parallel minification in wsl (facebook#7857)

* Add a GitHub Action that runs the build script (facebook#7861)

* Edit InterpolateHtmlPlugin hook (facebook#6448) (facebook#6449)

* Fix notations of loopback addresses (facebook#7474)

* Add Service-Worker header to checkValidServiceWorker (facebook#6753)

* Add header to checkValidServiceWorker (ts)

* Add header to checkValidServiceWorker

* Add additional information for postcss errors (facebook#6282) (facebook#6352)

* Add additional information for postcss errors

* Add additional information for postcss errors (simplify)

* Remove chunkname from postCSS compile error

* Remove line number from postCSS compile error

* Fix eslint complaints in build.js (facebook#7870)

* Add Alex to lint documentation (facebook#7852)

* Add Alex to lint documentation

* Attempt to trigger GitHub Action

* Configure Alex and update docs

* More docs updates

* Bump docusaurus 🦖 (facebook#7874)

* Dark scheme overlay (facebook#7052)

* Bump react (facebook#7875)

* Bump styling related loaders (facebook#7876)

* Remove alex precommit check (facebook#7878)

* Add template support (facebook#7716)

* Add template support

* Update templates version check

* Update TypeScript template README

* Prepare 3.3.0 beta

* If template name already starts with cra-template leave it alone (facebook#7880)

* Update prerelease publishing instructions

* Upgrade packages and tweak config to adapt to new config format (facebook#7814)

Rebased again now with smaller changes in this one which will make it easier to revert in case of eventual regressions.

* refactor: remove double coerce (facebook#7882)

* Add yarn.lock to .gitignore (facebook#7789)

* chore: Fix broken link for CRA deployment (facebook#7897)

* chore: Fix broken link for e2e README (facebook#7896)

* Add @testing-library to the default templates (facebook#7881)

* Add numeric separator support (facebook#7817)

* Update open (facebook#7910)

* Mark TypeScript as an optional peer dependency (facebook#7860)

* Add restoreMocks to supported jest config keys (facebook#7921)

* fix seperators typo (facebook#7932)

Its the little things that makes the big difference!  😁

Thanks

* No spinning React logo if `prefers-reduced-motion` (facebook#7931)

* Made PRs welcome badge point to contributors guide (facebook#7792)

* Make JavaScript and TypeScript templates consistent (facebook#7944)

* Fix CI (facebook#7951)

* Add optional chaining and nullish coalescing operators support (facebook#7438)

* Add tests for optional chaining and null coalescing (facebook#7952)

* Upgrade jest-watch-typeahead (facebook#7956)

* Fix light background in docusaurus night mode (facebook#7936)

* Fix light background in docusaurus night mode

Closes facebook#7930

* Rename lightBackground to gettingStartedSection

* Add placeholders where old template READMEs used to be (facebook#7972)

* Temporarily disable GitHub Actions (facebook#7978)

* Prepare 3.3.0 beta

* Bump dependencies (facebook#7986)

* Support scoped templates (facebook#7991)

* Add contributors section to readme (facebook#7995)

* added e2e test for checking typescript template with unsupported node (facebook#7844)

* Unpin dependencies in react-app-polyfill (facebook#7999)

* Add scripts support to templates (facebook#7989)

* Override no-unused-expressions with the typescript-eslint version (facebook#8003)

Fixes issues with optional chaining

* Prefix apple-touch-icon links with PUBLIC_URL. (facebook#8005)

* Bump webpack-dev-server (facebook#7988)

* Bump dependencies (facebook#8024)

* Re-enable GitHub Actions (facebook#8029)

* Update CHANGELOG

* Update CODEOWNERS

* Remove no-unexpected-multiline rule (facebook#8039)

* Add TypeScript peer dependency to react-scripts (facebook#8038)

* Update template docs (facebook#8050)

* Update template docs

* Update custom-templates.md

* Update custom-templates.md


Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

* Prepare 3.3.0 release

* Update CHANGELOG

* Publish

 - babel-plugin-named-asset-import@0.3.5
 - babel-preset-react-app@9.1.0
 - cra-template-typescript@1.0.0
 - cra-template@1.0.0
 - create-react-app@3.3.0
 - eslint-config-react-app@5.1.0
 - react-app-polyfill@1.0.5
 - react-dev-utils@10.0.0
 - react-error-overlay@6.0.4
 - react-scripts@3.3.0

* webpackHotDev now uses wss when https is used (facebook#8079)

* Add custom-templates to docs sidebar (facebook#8077)

* Fix typo in CHANGELOG.md (facebook#8080)

* Remove error for @typescript-eslint/no-namespace (facebook#7803)

Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes facebook#7651.

* Fix CI build (facebook#8122)

* Fix CSS font-face minification (facebook#8106)

* Add slashes to WebSocket protocol URL (facebook#8116)

* Fix typo in comment: `?.` is right, not `.?` (facebook#8124)

This is just a comment fix.

Actual optional chaining operator syntax is `?.`, not `.?`.

* chore: update docusaurus & tweak site (facebook#8111)

* [Security] Update terser webpack plugin (facebook#8102)

* security: update terser webpack plugin

* Add current version and bin location to --info output (facebook#8168)

Make the --info subcommand outuput the current version information and the location of the file being run. Our issue template tells users to provide the output of --info, so having the current version is incredibly helpful, especially since it doesn't necessarily match the globally installed version that envinfo outputs. Knowing the location helps us determine whether the running bin is globally installed or in the local node_modules.

* Bump pkgUp (facebook#8163)

* Bump chalk (facebook#8164)

* Add link to Netlify in README

* Bump internal dependencies (facebook#8176)

* Bump dependencies in react-dev-utils

* Bump dependencies in react-app-polyfill

* Bump dependencies in create-react-app

* Bump dependencies in react-error-overlay

* Bump dependencies in react-scripts

* Bump react

* Add package-runner note to readme (facebook#8132)

* Add package-runner note to readme

* Add link to `yarn create`

* Update PWA docs links to point to template package (facebook#8147)

* Minor refactors in create-react-app (facebook#8178)

- Remove templates version minimum stopgap.
- Replace indexOf with more idiomatic alternatives.
- Inline errorLogFilePatterns.
- Alphabetize validFiles.
- Simplify log file removal code.
- Move unconditional console.log() call outside of isSafe.
- Differentiate conflicting directories from files.
- Document yarn version special case.
- Inline printValidationResults.
- Standardize checkAppName output on failure.
- Add link for checkThatNpmCanReadCwd.

Functionally the code should be exactly the same.

* fix: proactively append to .gitignore during init (facebook#8028)

* Bump babel-plugin-tester and fix breaking changes (facebook#8171)

* Little typo (facebook#8212)

* Replace favicon in templates (facebook#8194)

The old favicon was the same as the official react documentation, which is a minor annoyance during development when trying to find the tab you want. The new favicon is just the old with inverted colors.

Closes facebook#7957

* Support shorthand scoped templates (facebook#8298)

* Allow additional package keys and add blacklist (facebook#8082) (facebook#8219)

* Minor grammatical edit (facebook#8293)

* Update Dependencies (facebook#8324)

* Remove React.FC from Typescript template (facebook#8177)

This removes `React.FC` from the base template for a Typescript project.

Long explanation for a small change: 

`React.FC` is unnecessary: it provides next to no benefits and has a few downsides.  (See below.)  I see a lot of beginners to TS+React using it, however, and I think that it's usage in this template is a contributing factor to that, as the prominence of this template makes it a de facto source of "best practice".  

### Downsides to React.FC/React.FunctionComponent

##### Provides an implicit definition of `children`

Defining a component with `React.FC` causes it to implicitly take `children` (of type `ReactNode`).  It means that all components accept children, even if they're not supposed to, allowing code like:

```ts
const App: React.FC = () => { /*... */ };
const Example = () => {
	<App><div>Unwanted children</div></App>
}
```

This isn't a run-time error, but it is a mistake and one that would be caught by Typescript if not for `React.FC`. 

##### Doesn't support generics.
I can define a generic component like:
```ts
type GenericComponentProps<T> = {
   prop: T
   callback: (t: T) => void
}
const GenericComponent = <T>(props: GenericComponentProps<T>) => {/*...*/}
```

But it's not possible when using `React.FC` - there's no way to preserve the unresolved generic `T` in the type returned by `React.FC`.

```ts
const GenericComponent: React.FC</* ??? */> = <T>(props: GenericComponentProps<T>) => {/*...*/}
```

##### Makes "component as namespace pattern" more awkward.
It's a somewhat popular pattern to use a component as a namespace for related components (usually children):

```jsx
<Select>
	<Select.Item />
</Select>
```

This is possible, but awkward, with `React.FC`:

```tsx
const  Select: React.FC<SelectProps> & { Item: React.FC<ItemProps> } = (props) => {/* ... */ }
Select.Item = (props) => { /*...*/ }
```

but "just works" without `React.FC`:

```tsx
const Select = (props: SelectProps) => {/* ... */}
Select.Item = (props) => { /*...*/ }
```

##### Doesn't work correctly with defaultProps

This is a fairly moot point as in both cases it's probably better to use ES6 default arguments, but...

```tsx
type  ComponentProps = { name: string; }

const  Component = ({ name }: ComponentProps) => (<div>
	{name.toUpperCase()} /* Safe since name is required */
</div>);
Component.defaultProps = { name: "John" };

const  Example = () => (<Component />) /* Safe to omit since name has a default value */
```
This compiles correctly.  Any approach with `React.FC` will be slightly wrong: either `React.FC<{name: string}>` will make the prop required by consumers, when it should be optional, or `React.FC<{name?: string}>` will cause `name.toUpperCase()` to be a type error.  There's no way to replicate the "internally required, externally optional" behavior which is desired.

##### It's as long, or longer than the alternative: (especially longer if you use `FunctionalComponent`):
Not a huge point, but it isn't even shorter to use `React.FC` 
```ts
const C1: React.FC<CProps> = (props) => { }
const C2 = (props: CProps) => {};
```

### Benefits of React.FC

##### Provides an explicit return type

The only benefit I really see to `React.FC` (unless you think that implicit `children` is a good thing) is that it specifies the return type, which catches mistakes like:

```ts
const Component = () => {
   return undefined; // components aren't allowed to return undefined, just `null`
}
```

In practice, I think this is fine, as it'll be caught as soon as you try to use it:

```ts
const Example = () => <Component />; // Error here, due to Component returning the wrong thing
```

But even with explicit type annotations, `React.FC` still isn't saving very much boilerplate:

```ts
const Component1 = (props: ComponentProps): ReactNode => { /*...*/ }
const Component2: FC<ComponentProps> = (props) => { /*...*/ }
```

* Downgrade open from 7.0.0 to 6.4.0 (facebook#8364)

* Remove outdated babel plugins (facebook#8353)

Updates dependencies and removes babel plugins that are now covered by `@babel/preset-env`.

Co-authored-by: hdineen <hdineen@hubspot.com>

* Add titleProp to SVGR ReactComponent type definition (facebook#8099)

* Sync dependencies babel config (facebook#8120)

* Update custom template docs with instructions for testing custom template locally (facebook#8092)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Update setting-up-your-editor.md (facebook#8247)

`Auto Fix is enabled by default. Use the single string form.` warning is shown in `.vscode/settings.json` due to changes in vscode-eslint. 
As autoFix is set to default, object format in `eslint.validate` is deprecated.

* Remove outdated docs regarding vscode eslint extension and type… (facebook#8307)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Fix sass importLoaders (facebook#8281)

* Add "Disallow:" to robots.txt (facebook#8255)

* Add helpful message to the footer (facebook#6548)

* Update docs according to lint-staged v10 (facebook#8394)

* docs: Add troubleshooting documentation on ENOSPC (facebook#8380)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Prepare 3.3.1 release

* Publish

 - babel-plugin-named-asset-import@0.3.6
 - babel-preset-react-app@9.1.1
 - cra-template-typescript@1.0.1
 - cra-template@1.0.1
 - create-react-app@3.3.1
 - eslint-config-react-app@5.2.0
 - react-app-polyfill@1.0.6
 - react-dev-utils@10.1.0
 - react-error-overlay@6.0.5
 - react-scripts@3.3.1

* Make the PWA link point to the right place (facebook#8379)

* Update commit message to use imperative mood (facebook#8377)

Why:

* As per best practice:
  https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/SubmittingPatches#n135

  See also:
  https://chris.beams.io/posts/git-commit/#imperative

* Wider Chromium support for openBrowser (facebook#8367)

* Expands scope of openBrowser tab control

Adjust openChrome.applescript to allow manipulation of
other Chromium-based browsers (defaulting to Chrome).
Requires list of compatible browsers to try in openBrowser.js

* Fix typo

* Remove Safari

* fix(test): force install npm in e2e-behaviour (facebook#8402)

This will fix e2e-behaviour on macos

Related: npm/cli#611 (comment)

* setupTestFrameworkScriptFile is deprecated (facebook#8390)

* setupTestFrameworkScriptFile is deprecated

__Note:_ `_setupTestFrameworkScriptFile_` _is deprecated in favor of_ `_setupFilesAfterEnv_`_.__

ref: https://jestjs.io/docs/en/configuration#setupfilesafterenv-array

* Update docusaurus/docs/running-tests.md

Co-Authored-By: Simen Bekkhus <sbekkhus91@gmail.com>

Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>

* Fix robots.txt for TS (facebook#8403)

* Update public folder usage docs to clarify globals (facebook#8299)

Added the relevant topic linked directly, instead of saying it's just in the next section.
Adjusted the text so it sounds more like a recommendation rather than a requirement.
The topic linked is basically explainer to how you'd reference it using the global window object and ways to avoid linter errors. Thus I used 'reference' to give users a hint of what it the linked page would be for.

* Run git init before template dependencies are installed (facebook#8282)

* Support JetBrains Rider IDE as an editor (facebook#7948)

Rider is JetBrains .NET IDE, which supports the React plugin identically to other JetBrains IDEs such as Idea and WebStorm.

* Enable custom sockjs pathname for hot reloading server. (facebook#7750)

* Enable custom sockjs pathname for hot reloading server.

* Update docusaurus/docs/advanced-configuration.md

Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

* let WDS_SOCKET_PATH be undefined

* adding env variables for sockHost and sockPort options

Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

* Add option to provide custom ssl certificates during development (facebook#5845)

* Add option to provide custom SSL certificates when using HTTPS

* Update documentation with custom HTTPS certs

* Improve certificate validation and move to its own file

* Update https in development docs

Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

* Add custom cert example to docs

* Rename https file and update error message

* Include original error message when custom ssl cert is invalid

* Add chalk to react-scripts dependencies

* Bump docs version to say that the new config will be available in 3.2.0

* Remove chalk dependency

* Update custom ssl version to 3.4.0 in docs

* Remove version from custom ssl certificate docs

Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

* Handle service worker error in Firefox (facebook#8272)

* Handle service worker error in Firefox

See https://bugzilla.mozilla.org/show_bug.cgi?id=1429714 for more details.

* Update serviceWorker.js

* feat(react-scripts): allow PUBLIC_URL in develoment mode (facebook#7259)

Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>

Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>

* Change arrow functions to function declarations (facebook#8412)

- The JavaScript template uses a function declaration to define the component, the TypeScript template and a page of the documentation used arrow functions. Changed it to use function declarations for consistency and readability.

* Fix navbar line break in header (facebook#8437)

* Fixes unchecked access to 'deploy' script on build (facebook#8292)

* Downgrade chalk for ie 11 support (facebook#8439)

* Downgrade chalk for ie 11 support

* Update lockfile

* fix(react-scripts): do not redirect served path if request may proxy (facebook#8442)

Moved redirect middleware and noopSW middleware in WDS after hook
So proxy, and before proxy will take precedence before redirect

Closes facebook#8417

* fix(typescriptFormatter): use chalk@2 constructor (facebook#8450)

Related facebook#8164
Related facebook#8439

* update open to v7.0.2 (facebook#8459)

* Correct webpack name casing (facebook#8475)

webpack should always be written in lower-case, according to webpack's branding guidelines https://webpack.js.org/branding

* Downgrade style-loader to v0.23.1 due to CSS modules hot reload… (facebook#8378)

* Prepare 3.4.0 release

* Publish

 - cra-template-typescript@1.0.2
 - cra-template@1.0.2
 - create-react-app@3.4.0
 - react-dev-utils@10.2.0
 - react-error-overlay@6.0.6
 - react-scripts@3.4.0

* fix missing packages in react-scripts

Co-authored-by: Ian Sutherland <ian@iansutherland.ca>
Co-authored-by: Samuel Meuli <me@samuelmeuli.com>
Co-authored-by: Lewis Llobera <billobera@gmail.com>
Co-authored-by: Jake Moxey <jakemoxey@gmail.com>
Co-authored-by: Iguchi Tomokatsu <tomo14916253@gmail.com>
Co-authored-by: Federico Zivolo <5382443+FezVrasta@users.noreply.github.com>
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
Co-authored-by: neilbryson <neilbryson@users.noreply.github.com>
Co-authored-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: Rakan Nimer <rakannimer@gmail.com>
Co-authored-by: Tomer Cohen <tomer@users.noreply.github.com>
Co-authored-by: Alexandr Tovmach <alexandrtovmach@gmail.com>
Co-authored-by: Kyle Bebak <kylebebak@gmail.com>
Co-authored-by: André Lins <andrelucas01@hotmail.com>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
Co-authored-by: Justin Grant <justingrant@users.noreply.github.com>
Co-authored-by: Robert van Steen <hello@rovansteen.nl>
Co-authored-by: Ashrith Reddy <ashrithreddi81@gmail.com>
Co-authored-by: Jacob M-G Evans <27247160+JacobMGEvans@users.noreply.github.com>
Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>
Co-authored-by: Damian Senn <damian.senn@gmail.com>
Co-authored-by: Róbert FUSZENECKER <fuszenecker@users.noreply.github.com>
Co-authored-by: May <aprilandjan@users.noreply.github.com>
Co-authored-by: Orta <orta.therox+github@gmail.com>
Co-authored-by: Tomáš Hübelbauer <tomas@hubelbauer.net>
Co-authored-by: Jesse Jackson <jsejcksn@users.noreply.github.com>
Co-authored-by: Jake Boone <jakeboone02@gmail.com>
Co-authored-by: Endi <endiliey@gmail.com>
Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>
Co-authored-by: Hugo David-Boyet <hugo.david.boyet@gmail.com>
Co-authored-by: Sean Lafferty <sixers2329@gmail.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: reactjser <54932880+reactjser@users.noreply.github.com>
Co-authored-by: Daniel Lo Nigro <daniel@dan.cx>
Co-authored-by: Chun <11034578+cchanxzy@users.noreply.github.com>
Co-authored-by: Xuhao <xuhao@rubyfans.com>
Co-authored-by: Sean Baines <mrseanbaines@gmail.com>
Co-authored-by: Abdul Wahab ⚡️ <waahab35@gmail.com>
Co-authored-by: Guillaume Hertault <guillaumus@gmail.com>
Co-authored-by: Wataru Ashihara <wataash@users.noreply.github.com>
Co-authored-by: darthmaim <github@darthmaim.de>
Co-authored-by: Joshua Robinson <1865690+buildbreakdo@users.noreply.github.com>
Co-authored-by: Andreas Cederström <andriijas@users.noreply.github.com>
Co-authored-by: Fabiano Brito <fabianopbrito@gmail.com>
Co-authored-by: Kanitkorn Sujautra <lukyth@users.noreply.github.com>
Co-authored-by: Havit Rovik <surat@havit.web.id>
Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
Co-authored-by: Dylan Staley <88163+dstaley@users.noreply.github.com>
Co-authored-by: Donavon West <github@donavon.com>
Co-authored-by: James George <jamesgeorge998001@gmail.com>
Co-authored-by: RJ <22164266+suprj@users.noreply.github.com>
Co-authored-by: Renato Augusto Gama dos Santos <renato_0603@hotmail.com>
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Klas Björkqvist <klas.bjorkqvist@gmail.com>
Co-authored-by: Max Davidson <davidsonmax@gmail.com>
Co-authored-by: Ben Blank <ben.blank+github@gmail.com>
Co-authored-by: Mike Caulley <mikecaulley@users.noreply.github.com>
Co-authored-by: Trontor <Trontor@users.noreply.github.com>
Co-authored-by: Sean Zhu <interestinglythere@gmail.com>
Co-authored-by: Simon Donaldson <simondonaldson@gmail.com>
Co-authored-by: Wojciech Zieliński <github@rpix.pl>
Co-authored-by: Vadzim <v@vadzim.info>
Co-authored-by: Jerome De Leon <32805276+JeromeDeLeon@users.noreply.github.com>
Co-authored-by: Peet Goddard <github@peet.me.uk>
Co-authored-by: Brian Muenzenmeyer <brian.muenzenmeyer@gmail.com>
Co-authored-by: Sony AK <sony@sony-ak.com>
Co-authored-by: Kai Hao <kevin830726@gmail.com>
Co-authored-by: Tom Valorsa <tomvalorsa@gmail.com>
Co-authored-by: Evan Grim <evan@mirgnave.com>
Co-authored-by: Retsam <Retsam@users.noreply.github.com>
Co-authored-by: Vincent Semrau <vincent.semrau@gmx.de>
Co-authored-by: Henry Q. Dineen <henryqdineen@users.noreply.github.com>
Co-authored-by: Rasmus Nørskov <rasmus@norskov.org>
Co-authored-by: Kevin Old <kevin@kevinold.com>
Co-authored-by: Boyuan Xu <52206564+dev-xu@users.noreply.github.com>
Co-authored-by: Alex James Vukovity <57100733+alex-vukovity-cko@users.noreply.github.com>
Co-authored-by: Marius Craciunoiu <m@m23.io>
Co-authored-by: Tomoya Fujita <32614176+tomoyaf@users.noreply.github.com>
Co-authored-by: Joshua Pollak <pyrogenic@users.noreply.github.com>
Co-authored-by: Hu Chen <huchenme@users.noreply.github.com>
Co-authored-by: Cassidy Williams <cassidoo@users.noreply.github.com>
Co-authored-by: Christopher Button <38411730+devgeist@users.noreply.github.com>
Co-authored-by: Matthew Curtis <matthew@matthewbryancurtis.com>
Co-authored-by: Andrew Luca <thendrluca@gmail.com>
Co-authored-by: 吕立青 <jimmy.jinglv@gmail.com>
Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>
Co-authored-by: Martin Litvaj <kamahl19@gmail.com>
Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
Co-authored-by: Łukasz Fiszer <lukaszfiszer@users.noreply.github.com>
Co-authored-by: David Powell <djpowell@djpowell.net>
Co-authored-by: Grady Kuhnline <github@heygrady.net>
Co-authored-by: Alex Brazier <aejbrazier.apps@gmail.com>
Co-authored-by: Rohit Singhal <rohitsinghal.rs@gmail.com>
Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>
Co-authored-by: Eugene Sviridov <46542370+esvyridov@users.noreply.github.com>
Co-authored-by: Renato Böhler <renato.bohler@gmail.com>
Co-authored-by: Eugene Chybisov <imchybisov@gmail.com>
jurajk added a commit to lightingbeetle/lighter that referenced this issue Mar 22, 2020
commit 6d7c56e
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Thu Mar 19 21:31:31 2020 +0100

    Release/3.5.2 (#215)

    * update version

    * update changelog

commit ec31f78
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Thu Mar 19 21:22:17 2020 +0100

    Fix/typescript support (#214)

    * fix extensions in paths (and cleanup)

    * fix paths to allow ts and tsx extensions

    * get rid of webpack multicompiler

    mulicompiler was not compatible with TS error handling in CRA

commit d0bef65
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Wed Mar 11 18:04:26 2020 +0100

    Release/3.5.1 (#213)

    * update changelog

    * update version

commit 73e2144
Author: Milan Lajtoš <milan.lajtos@me.com>
Date:   Wed Mar 11 17:29:35 2020 +0100

    Add postcss-inline-svg (#212)

    Lighter 2.x had `postcss-inline-svg`, but in 3.0 it was missing. It broke DDS.

    It provides `svg-load` function that inlines SVG into data-uri.

commit 7870f5c
Merge: 0e9a282 cb4f9ac
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 11:20:13 2020 +0100

    Merge pull request #211 from lightingbeetle/release/3.5.3

    Release/3.5.3

commit cb4f9ac
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 11:17:00 2020 +0100

    bump version

commit 6abe577
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 11:16:45 2020 +0100

    write changelog

commit 0e9a282
Merge: bd632ae bc5e23d
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 10:47:28 2020 +0100

    Merge pull request #210 from lightingbeetle/fix/mdx-language

    prevent error when no mdx language is defined

commit bd632ae
Merge: 1f19f89 d177dde
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 10:47:17 2020 +0100

    Merge pull request #209 from lightingbeetle/fix/preview-html

    Fix/preview html

commit bc5e23d
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 10:39:20 2020 +0100

    use optional chaining to assign language

commit d177dde
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 16:54:03 2020 +0100

    add test

commit 2050bf8
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 16:53:39 2020 +0100

    prevent html code example from crashing when children is array

commit 0c9bb29
Merge: 1f19f89 15758b3
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 16:45:57 2020 +0100

    Merge branch 'fix/mdx-language' into fix/preview-html

commit 15758b3
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:55:53 2020 +0100

    prevent error when no mdx language is defined

commit 1f19f89
Merge: d373778 bfb53ec
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:46:37 2020 +0100

    Merge pull request #208 from lightingbeetle/release/3.5.2

    Release/3.5.2

commit bfb53ec
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:42:53 2020 +0100

    bump versions

commit d712b74
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:42:37 2020 +0100

    write changelog

commit d373778
Merge: 690e686 5b62bf8
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:14:55 2020 +0100

    Merge pull request #207 from lightingbeetle/release/3.5.1

    Release/3.5.1

commit 5b62bf8
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:11:28 2020 +0100

    fix typo

commit 7ebb8a2
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:08:54 2020 +0100

    write changelog

commit 1b62102
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:08:46 2020 +0100

    bump versions

commit 690e686
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 09:50:52 2020 +0100

    Fix/syntax highlighting (#206)

    * fix theme

    * pass language from MDX to CodeBlock

    * update mdx-js

    * update styleguide react-scripts

    * add package-lock

    * fix overflowing container

    * update theme colors

    * prevent theme from falling to first html element in preview

commit d0704de
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Wed Feb 19 18:42:33 2020 +0100

    Release/3.5.0 (#205)

    * update changelog

    * update versions

commit 102411c
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Wed Feb 19 18:30:28 2020 +0100

    Feat/cra update (#204)

    * Publish

     - babel-plugin-named-asset-import@0.3.4
     - babel-preset-react-app@9.0.2
     - confusing-browser-globals@1.0.9
     - create-react-app@3.1.2
     - eslint-config-react-app@5.0.2
     - react-app-polyfill@1.0.3
     - react-dev-utils@9.0.4
     - react-error-overlay@6.0.2
     - react-scripts@3.1.2

    * Update runtime chunk name separator in docs (facebook#7705)

    * Remove 'shortcut' link type before 'icon' (facebook#7707)

    * Guard polyfills against window possibly being undefined (facebook#7205)

    * Enable .eslintignore with extend flag (facebook#7562)

    * Add "entrypoints" key to asset manifest (facebook#7721)

    * Update adding flow documentation (facebook#7731)

    * set output.globalObject to 'this' (facebook#7742)

    Closes facebook#7741

    * Update logic and log errors for EXTEND_ESLINT (facebook#7530)

    * update list of supported jest config overrides (facebook#7601)

    * Upgrade Webpack version (facebook#7740)

    * Close br tags in template README files (facebook#7668)

    * Fix variable name casing in fileTransform (facebook#7752)

    * Documentation typo fix (facebook#7757)

    * Fix linting error when using rest props (facebook#7754)

    * Add TSC_COMPILE_ON_ERROR setting (facebook#6931)

    * Remove switch case (facebook#7729)

    * docs: note that v2 to v3 migration may require deletion of node_modules (facebook#7302)

    * Stop hiding the column number of ESLint errors (facebook#6980)

    * Support setting baseUrl to root directory (facebook#7755)

    * Use installing package manager in README (facebook#7687)

    * Support production profiling with React Developer Tools (facebook#7737)

    * Added the alias for profiling and output change to keep the classNames and functionNames for human readbility

    * defined isEnvProductionProfile with other isEnv checks

    * moved the keep_classnames and keep_fnames to terserOptions scope

    * resolve merge conflict for yarn.lock.cache

    * revert yarn.lock.cache to master yarn.lock.cache
    - git checkout origin/master -- packages/create-react-app/yarn.lock.cached

    * Comment and Boolean Check
    - I clarified the comment and specified the use case
    - Changed the environment check to check for the specific true rather than
    the assumed primitive value as before.

    * Replaced env with flag
    - Per suggestion --profile flag used instead of env variable PROFILE_APP

    * documentation in available scripts section with suggested information

    * resolved a local git issue. Fixed documentation error.

    * moved documentation to suggested file
    - Added a brief summary of profiling in available scripts section.
    The summary references the production-build document. Which is the
    file I moved the new documentation into under a new Header for production support.

    * Update production-build.md

    Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

    * Prepare 3.2.0 release

    * Publish

     - create-react-app@3.2.0
     - react-app-polyfill@1.0.4
     - react-dev-utils@9.1.0
     - react-error-overlay@6.0.3
     - react-scripts@3.2.0

    * Temporarily disable Windows in CI (facebook#7773)

    * Add babel runtime version to transform-runtime plugin to reduce… (facebook#7726)

    * Add Babel sourcemap to resolve VSCode debugging issues (facebook#7022)

    * Fix process type in TypeScript template (facebook#7796)

    * Account for browserslist environment variables (facebook#7764)

    * Clarify dynamic import stage in docs (facebook#7813)

    * Update adding-typescript.md (facebook#7815)

    * Document how to use the .env file to enforce HTTPS (facebook#7821)

    * Fix absolute paths issue in Jest (facebook#7822)

    * Document correct default behavior for HOST var (facebook#7823)

    * Fix grammar error in troubleshooting.md (facebook#7824)

    * Upgrade to docusaurus 2 (facebook#7785)

    * chore: upgrade to docusaurus 2

    * address review

    * Update doc publishing instructions

    * Revert logo in templates (facebook#7830)

    * feat: add additional Jest keys to whitelist (facebook#7832)

    * Link to React documentation for code splitting (facebook#7686)

    The official documentation offers a simpler way of achieving route based code splitting.

    * Add a note about .eslingignore files being respected (facebook#7809)

    * added check for typescript template and unsupported node version (facebook#7839)

    * added check for typescript template and unsupported node version

    * addressed code review feedback regarding syntax and spelling mistakes

    * Update getting-started.md (facebook#7841)

    Update the initial project structure generated by create-react-app.

    * Link to ASP.NET Core docs (facebook#7840)

    * Update readme gif links (facebook#7849)

    * Update adding-bootstrap.md (facebook#7853)

    typo fix

    * Move unused eslint webpack import into @remove-on-eject block (facebook#7856)

    * 📖 DOC: Improvement (facebook#7819)

    * Upgrade terser & enable parallel minification in wsl (facebook#7857)

    * Add a GitHub Action that runs the build script (facebook#7861)

    * Edit InterpolateHtmlPlugin hook (facebook#6448) (facebook#6449)

    * Fix notations of loopback addresses (facebook#7474)

    * Add Service-Worker header to checkValidServiceWorker (facebook#6753)

    * Add header to checkValidServiceWorker (ts)

    * Add header to checkValidServiceWorker

    * Add additional information for postcss errors (facebook#6282) (facebook#6352)

    * Add additional information for postcss errors

    * Add additional information for postcss errors (simplify)

    * Remove chunkname from postCSS compile error

    * Remove line number from postCSS compile error

    * Fix eslint complaints in build.js (facebook#7870)

    * Add Alex to lint documentation (facebook#7852)

    * Add Alex to lint documentation

    * Attempt to trigger GitHub Action

    * Configure Alex and update docs

    * More docs updates

    * Bump docusaurus 🦖 (facebook#7874)

    * Dark scheme overlay (facebook#7052)

    * Bump react (facebook#7875)

    * Bump styling related loaders (facebook#7876)

    * Remove alex precommit check (facebook#7878)

    * Add template support (facebook#7716)

    * Add template support

    * Update templates version check

    * Update TypeScript template README

    * Prepare 3.3.0 beta

    * If template name already starts with cra-template leave it alone (facebook#7880)

    * Update prerelease publishing instructions

    * Upgrade packages and tweak config to adapt to new config format (facebook#7814)

    Rebased again now with smaller changes in this one which will make it easier to revert in case of eventual regressions.

    * refactor: remove double coerce (facebook#7882)

    * Add yarn.lock to .gitignore (facebook#7789)

    * chore: Fix broken link for CRA deployment (facebook#7897)

    * chore: Fix broken link for e2e README (facebook#7896)

    * Add @testing-library to the default templates (facebook#7881)

    * Add numeric separator support (facebook#7817)

    * Update open (facebook#7910)

    * Mark TypeScript as an optional peer dependency (facebook#7860)

    * Add restoreMocks to supported jest config keys (facebook#7921)

    * fix seperators typo (facebook#7932)

    Its the little things that makes the big difference!  😁

    Thanks

    * No spinning React logo if `prefers-reduced-motion` (facebook#7931)

    * Made PRs welcome badge point to contributors guide (facebook#7792)

    * Make JavaScript and TypeScript templates consistent (facebook#7944)

    * Fix CI (facebook#7951)

    * Add optional chaining and nullish coalescing operators support (facebook#7438)

    * Add tests for optional chaining and null coalescing (facebook#7952)

    * Upgrade jest-watch-typeahead (facebook#7956)

    * Fix light background in docusaurus night mode (facebook#7936)

    * Fix light background in docusaurus night mode

    Closes facebook#7930

    * Rename lightBackground to gettingStartedSection

    * Add placeholders where old template READMEs used to be (facebook#7972)

    * Temporarily disable GitHub Actions (facebook#7978)

    * Prepare 3.3.0 beta

    * Bump dependencies (facebook#7986)

    * Support scoped templates (facebook#7991)

    * Add contributors section to readme (facebook#7995)

    * added e2e test for checking typescript template with unsupported node (facebook#7844)

    * Unpin dependencies in react-app-polyfill (facebook#7999)

    * Add scripts support to templates (facebook#7989)

    * Override no-unused-expressions with the typescript-eslint version (facebook#8003)

    Fixes issues with optional chaining

    * Prefix apple-touch-icon links with PUBLIC_URL. (facebook#8005)

    * Bump webpack-dev-server (facebook#7988)

    * Bump dependencies (facebook#8024)

    * Re-enable GitHub Actions (facebook#8029)

    * Update CHANGELOG

    * Update CODEOWNERS

    * Remove no-unexpected-multiline rule (facebook#8039)

    * Add TypeScript peer dependency to react-scripts (facebook#8038)

    * Update template docs (facebook#8050)

    * Update template docs

    * Update custom-templates.md

    * Update custom-templates.md

    Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

    * Prepare 3.3.0 release

    * Update CHANGELOG

    * Publish

     - babel-plugin-named-asset-import@0.3.5
     - babel-preset-react-app@9.1.0
     - cra-template-typescript@1.0.0
     - cra-template@1.0.0
     - create-react-app@3.3.0
     - eslint-config-react-app@5.1.0
     - react-app-polyfill@1.0.5
     - react-dev-utils@10.0.0
     - react-error-overlay@6.0.4
     - react-scripts@3.3.0

    * webpackHotDev now uses wss when https is used (facebook#8079)

    * Add custom-templates to docs sidebar (facebook#8077)

    * Fix typo in CHANGELOG.md (facebook#8080)

    * Remove error for @typescript-eslint/no-namespace (facebook#7803)

    Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes facebook#7651.

    * Fix CI build (facebook#8122)

    * Fix CSS font-face minification (facebook#8106)

    * Add slashes to WebSocket protocol URL (facebook#8116)

    * Fix typo in comment: `?.` is right, not `.?` (facebook#8124)

    This is just a comment fix.

    Actual optional chaining operator syntax is `?.`, not `.?`.

    * chore: update docusaurus & tweak site (facebook#8111)

    * [Security] Update terser webpack plugin (facebook#8102)

    * security: update terser webpack plugin

    * Add current version and bin location to --info output (facebook#8168)

    Make the --info subcommand outuput the current version information and the location of the file being run. Our issue template tells users to provide the output of --info, so having the current version is incredibly helpful, especially since it doesn't necessarily match the globally installed version that envinfo outputs. Knowing the location helps us determine whether the running bin is globally installed or in the local node_modules.

    * Bump pkgUp (facebook#8163)

    * Bump chalk (facebook#8164)

    * Add link to Netlify in README

    * Bump internal dependencies (facebook#8176)

    * Bump dependencies in react-dev-utils

    * Bump dependencies in react-app-polyfill

    * Bump dependencies in create-react-app

    * Bump dependencies in react-error-overlay

    * Bump dependencies in react-scripts

    * Bump react

    * Add package-runner note to readme (facebook#8132)

    * Add package-runner note to readme

    * Add link to `yarn create`

    * Update PWA docs links to point to template package (facebook#8147)

    * Minor refactors in create-react-app (facebook#8178)

    - Remove templates version minimum stopgap.
    - Replace indexOf with more idiomatic alternatives.
    - Inline errorLogFilePatterns.
    - Alphabetize validFiles.
    - Simplify log file removal code.
    - Move unconditional console.log() call outside of isSafe.
    - Differentiate conflicting directories from files.
    - Document yarn version special case.
    - Inline printValidationResults.
    - Standardize checkAppName output on failure.
    - Add link for checkThatNpmCanReadCwd.

    Functionally the code should be exactly the same.

    * fix: proactively append to .gitignore during init (facebook#8028)

    * Bump babel-plugin-tester and fix breaking changes (facebook#8171)

    * Little typo (facebook#8212)

    * Replace favicon in templates (facebook#8194)

    The old favicon was the same as the official react documentation, which is a minor annoyance during development when trying to find the tab you want. The new favicon is just the old with inverted colors.

    Closes facebook#7957

    * Support shorthand scoped templates (facebook#8298)

    * Allow additional package keys and add blacklist (facebook#8082) (facebook#8219)

    * Minor grammatical edit (facebook#8293)

    * Update Dependencies (facebook#8324)

    * Remove React.FC from Typescript template (facebook#8177)

    This removes `React.FC` from the base template for a Typescript project.

    Long explanation for a small change:

    `React.FC` is unnecessary: it provides next to no benefits and has a few downsides.  (See below.)  I see a lot of beginners to TS+React using it, however, and I think that it's usage in this template is a contributing factor to that, as the prominence of this template makes it a de facto source of "best practice".

    ### Downsides to React.FC/React.FunctionComponent

    ##### Provides an implicit definition of `children`

    Defining a component with `React.FC` causes it to implicitly take `children` (of type `ReactNode`).  It means that all components accept children, even if they're not supposed to, allowing code like:

    ```ts
    const App: React.FC = () => { /*... */ };
    const Example = () => {
    	<App><div>Unwanted children</div></App>
    }
    ```

    This isn't a run-time error, but it is a mistake and one that would be caught by Typescript if not for `React.FC`.

    ##### Doesn't support generics.
    I can define a generic component like:
    ```ts
    type GenericComponentProps<T> = {
       prop: T
       callback: (t: T) => void
    }
    const GenericComponent = <T>(props: GenericComponentProps<T>) => {/*...*/}
    ```

    But it's not possible when using `React.FC` - there's no way to preserve the unresolved generic `T` in the type returned by `React.FC`.

    ```ts
    const GenericComponent: React.FC</* ??? */> = <T>(props: GenericComponentProps<T>) => {/*...*/}
    ```

    ##### Makes "component as namespace pattern" more awkward.
    It's a somewhat popular pattern to use a component as a namespace for related components (usually children):

    ```jsx
    <Select>
    	<Select.Item />
    </Select>
    ```

    This is possible, but awkward, with `React.FC`:

    ```tsx
    const  Select: React.FC<SelectProps> & { Item: React.FC<ItemProps> } = (props) => {/* ... */ }
    Select.Item = (props) => { /*...*/ }
    ```

    but "just works" without `React.FC`:

    ```tsx
    const Select = (props: SelectProps) => {/* ... */}
    Select.Item = (props) => { /*...*/ }
    ```

    ##### Doesn't work correctly with defaultProps

    This is a fairly moot point as in both cases it's probably better to use ES6 default arguments, but...

    ```tsx
    type  ComponentProps = { name: string; }

    const  Component = ({ name }: ComponentProps) => (<div>
    	{name.toUpperCase()} /* Safe since name is required */
    </div>);
    Component.defaultProps = { name: "John" };

    const  Example = () => (<Component />) /* Safe to omit since name has a default value */
    ```
    This compiles correctly.  Any approach with `React.FC` will be slightly wrong: either `React.FC<{name: string}>` will make the prop required by consumers, when it should be optional, or `React.FC<{name?: string}>` will cause `name.toUpperCase()` to be a type error.  There's no way to replicate the "internally required, externally optional" behavior which is desired.

    ##### It's as long, or longer than the alternative: (especially longer if you use `FunctionalComponent`):
    Not a huge point, but it isn't even shorter to use `React.FC`
    ```ts
    const C1: React.FC<CProps> = (props) => { }
    const C2 = (props: CProps) => {};
    ```

    ### Benefits of React.FC

    ##### Provides an explicit return type

    The only benefit I really see to `React.FC` (unless you think that implicit `children` is a good thing) is that it specifies the return type, which catches mistakes like:

    ```ts
    const Component = () => {
       return undefined; // components aren't allowed to return undefined, just `null`
    }
    ```

    In practice, I think this is fine, as it'll be caught as soon as you try to use it:

    ```ts
    const Example = () => <Component />; // Error here, due to Component returning the wrong thing
    ```

    But even with explicit type annotations, `React.FC` still isn't saving very much boilerplate:

    ```ts
    const Component1 = (props: ComponentProps): ReactNode => { /*...*/ }
    const Component2: FC<ComponentProps> = (props) => { /*...*/ }
    ```

    * Downgrade open from 7.0.0 to 6.4.0 (facebook#8364)

    * Remove outdated babel plugins (facebook#8353)

    Updates dependencies and removes babel plugins that are now covered by `@babel/preset-env`.

    Co-authored-by: hdineen <hdineen@hubspot.com>

    * Add titleProp to SVGR ReactComponent type definition (facebook#8099)

    * Sync dependencies babel config (facebook#8120)

    * Update custom template docs with instructions for testing custom template locally (facebook#8092)

    Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

    * Update setting-up-your-editor.md (facebook#8247)

    `Auto Fix is enabled by default. Use the single string form.` warning is shown in `.vscode/settings.json` due to changes in vscode-eslint.
    As autoFix is set to default, object format in `eslint.validate` is deprecated.

    * Remove outdated docs regarding vscode eslint extension and type… (facebook#8307)

    Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

    * Fix sass importLoaders (facebook#8281)

    * Add "Disallow:" to robots.txt (facebook#8255)

    * Add helpful message to the footer (facebook#6548)

    * Update docs according to lint-staged v10 (facebook#8394)

    * docs: Add troubleshooting documentation on ENOSPC (facebook#8380)

    Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

    * Prepare 3.3.1 release

    * Publish

     - babel-plugin-named-asset-import@0.3.6
     - babel-preset-react-app@9.1.1
     - cra-template-typescript@1.0.1
     - cra-template@1.0.1
     - create-react-app@3.3.1
     - eslint-config-react-app@5.2.0
     - react-app-polyfill@1.0.6
     - react-dev-utils@10.1.0
     - react-error-overlay@6.0.5
     - react-scripts@3.3.1

    * Make the PWA link point to the right place (facebook#8379)

    * Update commit message to use imperative mood (facebook#8377)

    Why:

    * As per best practice:
      https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/SubmittingPatches#n135

      See also:
      https://chris.beams.io/posts/git-commit/#imperative

    * Wider Chromium support for openBrowser (facebook#8367)

    * Expands scope of openBrowser tab control

    Adjust openChrome.applescript to allow manipulation of
    other Chromium-based browsers (defaulting to Chrome).
    Requires list of compatible browsers to try in openBrowser.js

    * Fix typo

    * Remove Safari

    * fix(test): force install npm in e2e-behaviour (facebook#8402)

    This will fix e2e-behaviour on macos

    Related: npm/cli#611 (comment)

    * setupTestFrameworkScriptFile is deprecated (facebook#8390)

    * setupTestFrameworkScriptFile is deprecated

    __Note:_ `_setupTestFrameworkScriptFile_` _is deprecated in favor of_ `_setupFilesAfterEnv_`_.__

    ref: https://jestjs.io/docs/en/configuration#setupfilesafterenv-array

    * Update docusaurus/docs/running-tests.md

    Co-Authored-By: Simen Bekkhus <sbekkhus91@gmail.com>

    Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>

    * Fix robots.txt for TS (facebook#8403)

    * Update public folder usage docs to clarify globals (facebook#8299)

    Added the relevant topic linked directly, instead of saying it's just in the next section.
    Adjusted the text so it sounds more like a recommendation rather than a requirement.
    The topic linked is basically explainer to how you'd reference it using the global window object and ways to avoid linter errors. Thus I used 'reference' to give users a hint of what it the linked page would be for.

    * Run git init before template dependencies are installed (facebook#8282)

    * Support JetBrains Rider IDE as an editor (facebook#7948)

    Rider is JetBrains .NET IDE, which supports the React plugin identically to other JetBrains IDEs such as Idea and WebStorm.

    * Enable custom sockjs pathname for hot reloading server. (facebook#7750)

    * Enable custom sockjs pathname for hot reloading server.

    * Update docusaurus/docs/advanced-configuration.md

    Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

    * let WDS_SOCKET_PATH be undefined

    * adding env variables for sockHost and sockPort options

    Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

    * Add option to provide custom ssl certificates during development (facebook#5845)

    * Add option to provide custom SSL certificates when using HTTPS

    * Update documentation with custom HTTPS certs

    * Improve certificate validation and move to its own file

    * Update https in development docs

    Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

    * Add custom cert example to docs

    * Rename https file and update error message

    * Include original error message when custom ssl cert is invalid

    * Add chalk to react-scripts dependencies

    * Bump docs version to say that the new config will be available in 3.2.0

    * Remove chalk dependency

    * Update custom ssl version to 3.4.0 in docs

    * Remove version from custom ssl certificate docs

    Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

    * Handle service worker error in Firefox (facebook#8272)

    * Handle service worker error in Firefox

    See https://bugzilla.mozilla.org/show_bug.cgi?id=1429714 for more details.

    * Update serviceWorker.js

    * feat(react-scripts): allow PUBLIC_URL in develoment mode (facebook#7259)

    Co-authored-by: Eric Clemmons <eric@smarterspam.com>
    Co-authored-by: Alex Guerra <alex@heyimalex.com>
    Co-authored-by: Kelly <kelly.milligan@gmail.com>

    Co-authored-by: Eric Clemmons <eric@smarterspam.com>
    Co-authored-by: Alex Guerra <alex@heyimalex.com>
    Co-authored-by: Kelly <kelly.milligan@gmail.com>

    * Change arrow functions to function declarations (facebook#8412)

    - The JavaScript template uses a function declaration to define the component, the TypeScript template and a page of the documentation used arrow functions. Changed it to use function declarations for consistency and readability.

    * Fix navbar line break in header (facebook#8437)

    * Fixes unchecked access to 'deploy' script on build (facebook#8292)

    * Downgrade chalk for ie 11 support (facebook#8439)

    * Downgrade chalk for ie 11 support

    * Update lockfile

    * fix(react-scripts): do not redirect served path if request may proxy (facebook#8442)

    Moved redirect middleware and noopSW middleware in WDS after hook
    So proxy, and before proxy will take precedence before redirect

    Closes facebook#8417

    * fix(typescriptFormatter): use chalk@2 constructor (facebook#8450)

    Related facebook#8164
    Related facebook#8439

    * update open to v7.0.2 (facebook#8459)

    * Correct webpack name casing (facebook#8475)

    webpack should always be written in lower-case, according to webpack's branding guidelines https://webpack.js.org/branding

    * Downgrade style-loader to v0.23.1 due to CSS modules hot reload… (facebook#8378)

    * Prepare 3.4.0 release

    * Publish

     - cra-template-typescript@1.0.2
     - cra-template@1.0.2
     - create-react-app@3.4.0
     - react-dev-utils@10.2.0
     - react-error-overlay@6.0.6
     - react-scripts@3.4.0

    * fix missing packages in react-scripts

    Co-authored-by: Ian Sutherland <ian@iansutherland.ca>
    Co-authored-by: Samuel Meuli <me@samuelmeuli.com>
    Co-authored-by: Lewis Llobera <billobera@gmail.com>
    Co-authored-by: Jake Moxey <jakemoxey@gmail.com>
    Co-authored-by: Iguchi Tomokatsu <tomo14916253@gmail.com>
    Co-authored-by: Federico Zivolo <5382443+FezVrasta@users.noreply.github.com>
    Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
    Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
    Co-authored-by: neilbryson <neilbryson@users.noreply.github.com>
    Co-authored-by: Reece Dunham <me@rdil.rocks>
    Co-authored-by: Rakan Nimer <rakannimer@gmail.com>
    Co-authored-by: Tomer Cohen <tomer@users.noreply.github.com>
    Co-authored-by: Alexandr Tovmach <alexandrtovmach@gmail.com>
    Co-authored-by: Kyle Bebak <kylebebak@gmail.com>
    Co-authored-by: André Lins <andrelucas01@hotmail.com>
    Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
    Co-authored-by: Justin Grant <justingrant@users.noreply.github.com>
    Co-authored-by: Robert van Steen <hello@rovansteen.nl>
    Co-authored-by: Ashrith Reddy <ashrithreddi81@gmail.com>
    Co-authored-by: Jacob M-G Evans <27247160+JacobMGEvans@users.noreply.github.com>
    Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>
    Co-authored-by: Damian Senn <damian.senn@gmail.com>
    Co-authored-by: Róbert FUSZENECKER <fuszenecker@users.noreply.github.com>
    Co-authored-by: May <aprilandjan@users.noreply.github.com>
    Co-authored-by: Orta <orta.therox+github@gmail.com>
    Co-authored-by: Tomáš Hübelbauer <tomas@hubelbauer.net>
    Co-authored-by: Jesse Jackson <jsejcksn@users.noreply.github.com>
    Co-authored-by: Jake Boone <jakeboone02@gmail.com>
    Co-authored-by: Endi <endiliey@gmail.com>
    Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>
    Co-authored-by: Hugo David-Boyet <hugo.david.boyet@gmail.com>
    Co-authored-by: Sean Lafferty <sixers2329@gmail.com>
    Co-authored-by: Ali Waseem <waseema393@gmail.com>
    Co-authored-by: reactjser <54932880+reactjser@users.noreply.github.com>
    Co-authored-by: Daniel Lo Nigro <daniel@dan.cx>
    Co-authored-by: Chun <11034578+cchanxzy@users.noreply.github.com>
    Co-authored-by: Xuhao <xuhao@rubyfans.com>
    Co-authored-by: Sean Baines <mrseanbaines@gmail.com>
    Co-authored-by: Abdul Wahab ⚡️ <waahab35@gmail.com>
    Co-authored-by: Guillaume Hertault <guillaumus@gmail.com>
    Co-authored-by: Wataru Ashihara <wataash@users.noreply.github.com>
    Co-authored-by: darthmaim <github@darthmaim.de>
    Co-authored-by: Joshua Robinson <1865690+buildbreakdo@users.noreply.github.com>
    Co-authored-by: Andreas Cederström <andriijas@users.noreply.github.com>
    Co-authored-by: Fabiano Brito <fabianopbrito@gmail.com>
    Co-authored-by: Kanitkorn Sujautra <lukyth@users.noreply.github.com>
    Co-authored-by: Havit Rovik <surat@havit.web.id>
    Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
    Co-authored-by: Dylan Staley <88163+dstaley@users.noreply.github.com>
    Co-authored-by: Donavon West <github@donavon.com>
    Co-authored-by: James George <jamesgeorge998001@gmail.com>
    Co-authored-by: RJ <22164266+suprj@users.noreply.github.com>
    Co-authored-by: Renato Augusto Gama dos Santos <renato_0603@hotmail.com>
    Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
    Co-authored-by: Alex Guerra <alex@heyimalex.com>
    Co-authored-by: Klas Björkqvist <klas.bjorkqvist@gmail.com>
    Co-authored-by: Max Davidson <davidsonmax@gmail.com>
    Co-authored-by: Ben Blank <ben.blank+github@gmail.com>
    Co-authored-by: Mike Caulley <mikecaulley@users.noreply.github.com>
    Co-authored-by: Trontor <Trontor@users.noreply.github.com>
    Co-authored-by: Sean Zhu <interestinglythere@gmail.com>
    Co-authored-by: Simon Donaldson <simondonaldson@gmail.com>
    Co-authored-by: Wojciech Zieliński <github@rpix.pl>
    Co-authored-by: Vadzim <v@vadzim.info>
    Co-authored-by: Jerome De Leon <32805276+JeromeDeLeon@users.noreply.github.com>
    Co-authored-by: Peet Goddard <github@peet.me.uk>
    Co-authored-by: Brian Muenzenmeyer <brian.muenzenmeyer@gmail.com>
    Co-authored-by: Sony AK <sony@sony-ak.com>
    Co-authored-by: Kai Hao <kevin830726@gmail.com>
    Co-authored-by: Tom Valorsa <tomvalorsa@gmail.com>
    Co-authored-by: Evan Grim <evan@mirgnave.com>
    Co-authored-by: Retsam <Retsam@users.noreply.github.com>
    Co-authored-by: Vincent Semrau <vincent.semrau@gmx.de>
    Co-authored-by: Henry Q. Dineen <henryqdineen@users.noreply.github.com>
    Co-authored-by: Rasmus Nørskov <rasmus@norskov.org>
    Co-authored-by: Kevin Old <kevin@kevinold.com>
    Co-authored-by: Boyuan Xu <52206564+dev-xu@users.noreply.github.com>
    Co-authored-by: Alex James Vukovity <57100733+alex-vukovity-cko@users.noreply.github.com>
    Co-authored-by: Marius Craciunoiu <m@m23.io>
    Co-authored-by: Tomoya Fujita <32614176+tomoyaf@users.noreply.github.com>
    Co-authored-by: Joshua Pollak <pyrogenic@users.noreply.github.com>
    Co-authored-by: Hu Chen <huchenme@users.noreply.github.com>
    Co-authored-by: Cassidy Williams <cassidoo@users.noreply.github.com>
    Co-authored-by: Christopher Button <38411730+devgeist@users.noreply.github.com>
    Co-authored-by: Matthew Curtis <matthew@matthewbryancurtis.com>
    Co-authored-by: Andrew Luca <thendrluca@gmail.com>
    Co-authored-by: 吕立青 <jimmy.jinglv@gmail.com>
    Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>
    Co-authored-by: Martin Litvaj <kamahl19@gmail.com>
    Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
    Co-authored-by: Łukasz Fiszer <lukaszfiszer@users.noreply.github.com>
    Co-authored-by: David Powell <djpowell@djpowell.net>
    Co-authored-by: Grady Kuhnline <github@heygrady.net>
    Co-authored-by: Alex Brazier <aejbrazier.apps@gmail.com>
    Co-authored-by: Rohit Singhal <rohitsinghal.rs@gmail.com>
    Co-authored-by: Eric Clemmons <eric@smarterspam.com>
    Co-authored-by: Kelly <kelly.milligan@gmail.com>
    Co-authored-by: Eugene Sviridov <46542370+esvyridov@users.noreply.github.com>
    Co-authored-by: Renato Böhler <renato.bohler@gmail.com>
    Co-authored-by: Eugene Chybisov <imchybisov@gmail.com>
adammockor added a commit to lightingbeetle/lighter that referenced this issue Mar 22, 2020
* Publish

 - babel-plugin-named-asset-import@0.3.4
 - babel-preset-react-app@9.0.2
 - confusing-browser-globals@1.0.9
 - create-react-app@3.1.2
 - eslint-config-react-app@5.0.2
 - react-app-polyfill@1.0.3
 - react-dev-utils@9.0.4
 - react-error-overlay@6.0.2
 - react-scripts@3.1.2

* Update runtime chunk name separator in docs (#7705)

* Remove 'shortcut' link type before 'icon' (#7707)

* Guard polyfills against window possibly being undefined (#7205)

* Enable .eslintignore with extend flag (#7562)

* Add "entrypoints" key to asset manifest (#7721)

* Update adding flow documentation (#7731)

* set output.globalObject to 'this' (#7742)

Closes #7741

* Update logic and log errors for EXTEND_ESLINT (#7530)

* update list of supported jest config overrides (#7601)

* Upgrade Webpack version (#7740)

* Close br tags in template README files (#7668)

* Fix variable name casing in fileTransform (#7752)

* Documentation typo fix (#7757)

* Fix linting error when using rest props (#7754)

* Add TSC_COMPILE_ON_ERROR setting (#6931)

* Remove switch case (#7729)

* docs: note that v2 to v3 migration may require deletion of node_modules (#7302)

* Stop hiding the column number of ESLint errors (#6980)

* Support setting baseUrl to root directory (#7755)

* Use installing package manager in README (#7687)

* Support production profiling with React Developer Tools (#7737)

* Added the alias for profiling and output change to keep the classNames and functionNames for human readbility

* defined isEnvProductionProfile with other isEnv checks

* moved the keep_classnames and keep_fnames to terserOptions scope

* resolve merge conflict for yarn.lock.cache

* revert yarn.lock.cache to master yarn.lock.cache
- git checkout origin/master -- packages/create-react-app/yarn.lock.cached

* Comment and Boolean Check
- I clarified the comment and specified the use case
- Changed the environment check to check for the specific true rather than
the assumed primitive value as before.

* Replaced env with flag
- Per suggestion --profile flag used instead of env variable PROFILE_APP

* documentation in available scripts section with suggested information

* resolved a local git issue. Fixed documentation error.

* moved documentation to suggested file
- Added a brief summary of profiling in available scripts section.
The summary references the production-build document. Which is the
file I moved the new documentation into under a new Header for production support.

* Update production-build.md


Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

* Prepare 3.2.0 release

* Publish

 - create-react-app@3.2.0
 - react-app-polyfill@1.0.4
 - react-dev-utils@9.1.0
 - react-error-overlay@6.0.3
 - react-scripts@3.2.0

* Temporarily disable Windows in CI (#7773)

* Add babel runtime version to transform-runtime plugin to reduce… (#7726)

* Add Babel sourcemap to resolve VSCode debugging issues (#7022)

* Fix process type in TypeScript template (#7796)

* Account for browserslist environment variables (#7764)

* Clarify dynamic import stage in docs (#7813)

* Update adding-typescript.md (#7815)

* Document how to use the .env file to enforce HTTPS (#7821)

* Fix absolute paths issue in Jest (#7822)

* Document correct default behavior for HOST var (#7823)

* Fix grammar error in troubleshooting.md (#7824)

* Upgrade to docusaurus 2 (#7785)

* chore: upgrade to docusaurus 2

* address review

* Update doc publishing instructions

* Revert logo in templates (#7830)

* feat: add additional Jest keys to whitelist (#7832)

* Link to React documentation for code splitting (#7686)

The official documentation offers a simpler way of achieving route based code splitting.

* Add a note about .eslingignore files being respected (#7809)

* added check for typescript template and unsupported node version (#7839)

* added check for typescript template and unsupported node version

* addressed code review feedback regarding syntax and spelling mistakes

* Update getting-started.md (#7841)

Update the initial project structure generated by create-react-app.

* Link to ASP.NET Core docs (#7840)

* Update readme gif links (#7849)

* Update adding-bootstrap.md (#7853)

typo fix

* Move unused eslint webpack import into @remove-on-eject block (#7856)

* 📖 DOC: Improvement (#7819)

* Upgrade terser & enable parallel minification in wsl (#7857)

* Add a GitHub Action that runs the build script (#7861)

* Edit InterpolateHtmlPlugin hook (#6448) (#6449)

* Fix notations of loopback addresses (#7474)

* Add Service-Worker header to checkValidServiceWorker (#6753)

* Add header to checkValidServiceWorker (ts)

* Add header to checkValidServiceWorker

* Add additional information for postcss errors (#6282) (#6352)

* Add additional information for postcss errors

* Add additional information for postcss errors (simplify)

* Remove chunkname from postCSS compile error

* Remove line number from postCSS compile error

* Fix eslint complaints in build.js (#7870)

* Add Alex to lint documentation (#7852)

* Add Alex to lint documentation

* Attempt to trigger GitHub Action

* Configure Alex and update docs

* More docs updates

* Bump docusaurus 🦖 (#7874)

* Dark scheme overlay (#7052)

* Bump react (#7875)

* Bump styling related loaders (#7876)

* Remove alex precommit check (#7878)

* Add template support (#7716)

* Add template support

* Update templates version check

* Update TypeScript template README

* Prepare 3.3.0 beta

* If template name already starts with cra-template leave it alone (#7880)

* Update prerelease publishing instructions

* Upgrade packages and tweak config to adapt to new config format (#7814)

Rebased again now with smaller changes in this one which will make it easier to revert in case of eventual regressions.

* refactor: remove double coerce (#7882)

* Add yarn.lock to .gitignore (#7789)

* chore: Fix broken link for CRA deployment (#7897)

* chore: Fix broken link for e2e README (#7896)

* Add @testing-library to the default templates (#7881)

* Add numeric separator support (#7817)

* Update open (#7910)

* Mark TypeScript as an optional peer dependency (#7860)

* Add restoreMocks to supported jest config keys (#7921)

* fix seperators typo (#7932)

Its the little things that makes the big difference!  😁

Thanks

* No spinning React logo if `prefers-reduced-motion` (#7931)

* Made PRs welcome badge point to contributors guide (#7792)

* Make JavaScript and TypeScript templates consistent (#7944)

* Fix CI (#7951)

* Add optional chaining and nullish coalescing operators support (#7438)

* Add tests for optional chaining and null coalescing (#7952)

* Upgrade jest-watch-typeahead (#7956)

* Fix light background in docusaurus night mode (#7936)

* Fix light background in docusaurus night mode

Closes #7930

* Rename lightBackground to gettingStartedSection

* Add placeholders where old template READMEs used to be (#7972)

* Temporarily disable GitHub Actions (#7978)

* Prepare 3.3.0 beta

* Bump dependencies (#7986)

* Support scoped templates (#7991)

* Add contributors section to readme (#7995)

* added e2e test for checking typescript template with unsupported node (#7844)

* Unpin dependencies in react-app-polyfill (#7999)

* Add scripts support to templates (#7989)

* Override no-unused-expressions with the typescript-eslint version (#8003)

Fixes issues with optional chaining

* Prefix apple-touch-icon links with PUBLIC_URL. (#8005)

* Bump webpack-dev-server (#7988)

* Bump dependencies (#8024)

* Re-enable GitHub Actions (#8029)

* Update CHANGELOG

* Update CODEOWNERS

* Remove no-unexpected-multiline rule (#8039)

* Add TypeScript peer dependency to react-scripts (#8038)

* Update template docs (#8050)

* Update template docs

* Update custom-templates.md

* Update custom-templates.md


Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

* Prepare 3.3.0 release

* Update CHANGELOG

* Publish

 - babel-plugin-named-asset-import@0.3.5
 - babel-preset-react-app@9.1.0
 - cra-template-typescript@1.0.0
 - cra-template@1.0.0
 - create-react-app@3.3.0
 - eslint-config-react-app@5.1.0
 - react-app-polyfill@1.0.5
 - react-dev-utils@10.0.0
 - react-error-overlay@6.0.4
 - react-scripts@3.3.0

* webpackHotDev now uses wss when https is used (#8079)

* Add custom-templates to docs sidebar (#8077)

* Fix typo in CHANGELOG.md (#8080)

* Remove error for @typescript-eslint/no-namespace (#7803)

Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes #7651.

* Fix CI build (#8122)

* Fix CSS font-face minification (#8106)

* Add slashes to WebSocket protocol URL (#8116)

* Fix typo in comment: `?.` is right, not `.?` (#8124)

This is just a comment fix.

Actual optional chaining operator syntax is `?.`, not `.?`.

* chore: update docusaurus & tweak site (#8111)

* [Security] Update terser webpack plugin (#8102)

* security: update terser webpack plugin

* Add current version and bin location to --info output (#8168)

Make the --info subcommand outuput the current version information and the location of the file being run. Our issue template tells users to provide the output of --info, so having the current version is incredibly helpful, especially since it doesn't necessarily match the globally installed version that envinfo outputs. Knowing the location helps us determine whether the running bin is globally installed or in the local node_modules.

* Bump pkgUp (#8163)

* Bump chalk (#8164)

* Add link to Netlify in README

* Bump internal dependencies (#8176)

* Bump dependencies in react-dev-utils

* Bump dependencies in react-app-polyfill

* Bump dependencies in create-react-app

* Bump dependencies in react-error-overlay

* Bump dependencies in react-scripts

* Bump react

* Add package-runner note to readme (#8132)

* Add package-runner note to readme

* Add link to `yarn create`

* Update PWA docs links to point to template package (#8147)

* Minor refactors in create-react-app (#8178)

- Remove templates version minimum stopgap.
- Replace indexOf with more idiomatic alternatives.
- Inline errorLogFilePatterns.
- Alphabetize validFiles.
- Simplify log file removal code.
- Move unconditional console.log() call outside of isSafe.
- Differentiate conflicting directories from files.
- Document yarn version special case.
- Inline printValidationResults.
- Standardize checkAppName output on failure.
- Add link for checkThatNpmCanReadCwd.

Functionally the code should be exactly the same.

* fix: proactively append to .gitignore during init (#8028)

* Bump babel-plugin-tester and fix breaking changes (#8171)

* Little typo (#8212)

* Replace favicon in templates (#8194)

The old favicon was the same as the official react documentation, which is a minor annoyance during development when trying to find the tab you want. The new favicon is just the old with inverted colors.

Closes #7957

* Support shorthand scoped templates (#8298)

* Allow additional package keys and add blacklist (#8082) (#8219)

* Minor grammatical edit (#8293)

* Update Dependencies (#8324)

* Remove React.FC from Typescript template (#8177)

This removes `React.FC` from the base template for a Typescript project.

Long explanation for a small change: 

`React.FC` is unnecessary: it provides next to no benefits and has a few downsides.  (See below.)  I see a lot of beginners to TS+React using it, however, and I think that it's usage in this template is a contributing factor to that, as the prominence of this template makes it a de facto source of "best practice".  

### Downsides to React.FC/React.FunctionComponent

##### Provides an implicit definition of `children`

Defining a component with `React.FC` causes it to implicitly take `children` (of type `ReactNode`).  It means that all components accept children, even if they're not supposed to, allowing code like:

```ts
const App: React.FC = () => { /*... */ };
const Example = () => {
	<App><div>Unwanted children</div></App>
}
```

This isn't a run-time error, but it is a mistake and one that would be caught by Typescript if not for `React.FC`. 

##### Doesn't support generics.
I can define a generic component like:
```ts
type GenericComponentProps<T> = {
   prop: T
   callback: (t: T) => void
}
const GenericComponent = <T>(props: GenericComponentProps<T>) => {/*...*/}
```

But it's not possible when using `React.FC` - there's no way to preserve the unresolved generic `T` in the type returned by `React.FC`.

```ts
const GenericComponent: React.FC</* ??? */> = <T>(props: GenericComponentProps<T>) => {/*...*/}
```

##### Makes "component as namespace pattern" more awkward.
It's a somewhat popular pattern to use a component as a namespace for related components (usually children):

```jsx
<Select>
	<Select.Item />
</Select>
```

This is possible, but awkward, with `React.FC`:

```tsx
const  Select: React.FC<SelectProps> & { Item: React.FC<ItemProps> } = (props) => {/* ... */ }
Select.Item = (props) => { /*...*/ }
```

but "just works" without `React.FC`:

```tsx
const Select = (props: SelectProps) => {/* ... */}
Select.Item = (props) => { /*...*/ }
```

##### Doesn't work correctly with defaultProps

This is a fairly moot point as in both cases it's probably better to use ES6 default arguments, but...

```tsx
type  ComponentProps = { name: string; }

const  Component = ({ name }: ComponentProps) => (<div>
	{name.toUpperCase()} /* Safe since name is required */
</div>);
Component.defaultProps = { name: "John" };

const  Example = () => (<Component />) /* Safe to omit since name has a default value */
```
This compiles correctly.  Any approach with `React.FC` will be slightly wrong: either `React.FC<{name: string}>` will make the prop required by consumers, when it should be optional, or `React.FC<{name?: string}>` will cause `name.toUpperCase()` to be a type error.  There's no way to replicate the "internally required, externally optional" behavior which is desired.

##### It's as long, or longer than the alternative: (especially longer if you use `FunctionalComponent`):
Not a huge point, but it isn't even shorter to use `React.FC` 
```ts
const C1: React.FC<CProps> = (props) => { }
const C2 = (props: CProps) => {};
```

### Benefits of React.FC

##### Provides an explicit return type

The only benefit I really see to `React.FC` (unless you think that implicit `children` is a good thing) is that it specifies the return type, which catches mistakes like:

```ts
const Component = () => {
   return undefined; // components aren't allowed to return undefined, just `null`
}
```

In practice, I think this is fine, as it'll be caught as soon as you try to use it:

```ts
const Example = () => <Component />; // Error here, due to Component returning the wrong thing
```

But even with explicit type annotations, `React.FC` still isn't saving very much boilerplate:

```ts
const Component1 = (props: ComponentProps): ReactNode => { /*...*/ }
const Component2: FC<ComponentProps> = (props) => { /*...*/ }
```

* Downgrade open from 7.0.0 to 6.4.0 (#8364)

* Remove outdated babel plugins (#8353)

Updates dependencies and removes babel plugins that are now covered by `@babel/preset-env`.

Co-authored-by: hdineen <hdineen@hubspot.com>

* Add titleProp to SVGR ReactComponent type definition (#8099)

* Sync dependencies babel config (#8120)

* Update custom template docs with instructions for testing custom template locally (#8092)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Update setting-up-your-editor.md (#8247)

`Auto Fix is enabled by default. Use the single string form.` warning is shown in `.vscode/settings.json` due to changes in vscode-eslint. 
As autoFix is set to default, object format in `eslint.validate` is deprecated.

* Remove outdated docs regarding vscode eslint extension and type… (#8307)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Fix sass importLoaders (#8281)

* Add "Disallow:" to robots.txt (#8255)

* Add helpful message to the footer (#6548)

* Update docs according to lint-staged v10 (#8394)

* docs: Add troubleshooting documentation on ENOSPC (#8380)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Prepare 3.3.1 release

* Publish

 - babel-plugin-named-asset-import@0.3.6
 - babel-preset-react-app@9.1.1
 - cra-template-typescript@1.0.1
 - cra-template@1.0.1
 - create-react-app@3.3.1
 - eslint-config-react-app@5.2.0
 - react-app-polyfill@1.0.6
 - react-dev-utils@10.1.0
 - react-error-overlay@6.0.5
 - react-scripts@3.3.1

* Make the PWA link point to the right place (#8379)

* Update commit message to use imperative mood (#8377)

Why:

* As per best practice:
  https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/SubmittingPatches#n135

  See also:
  https://chris.beams.io/posts/git-commit/#imperative

* Wider Chromium support for openBrowser (#8367)

* Expands scope of openBrowser tab control

Adjust openChrome.applescript to allow manipulation of
other Chromium-based browsers (defaulting to Chrome).
Requires list of compatible browsers to try in openBrowser.js

* Fix typo

* Remove Safari

* fix(test): force install npm in e2e-behaviour (#8402)

This will fix e2e-behaviour on macos

Related: https://github.com/npm/cli/issues/611#issuecomment-575287540

* setupTestFrameworkScriptFile is deprecated (#8390)

* setupTestFrameworkScriptFile is deprecated

__Note:_ `_setupTestFrameworkScriptFile_` _is deprecated in favor of_ `_setupFilesAfterEnv_`_.__

ref: https://jestjs.io/docs/en/configuration#setupfilesafterenv-array

* Update docusaurus/docs/running-tests.md

Co-Authored-By: Simen Bekkhus <sbekkhus91@gmail.com>

Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>

* Fix robots.txt for TS (#8403)

* Update public folder usage docs to clarify globals (#8299)

Added the relevant topic linked directly, instead of saying it's just in the next section.
Adjusted the text so it sounds more like a recommendation rather than a requirement.
The topic linked is basically explainer to how you'd reference it using the global window object and ways to avoid linter errors. Thus I used 'reference' to give users a hint of what it the linked page would be for.

* Run git init before template dependencies are installed (#8282)

* Support JetBrains Rider IDE as an editor (#7948)

Rider is JetBrains .NET IDE, which supports the React plugin identically to other JetBrains IDEs such as Idea and WebStorm.

* Enable custom sockjs pathname for hot reloading server. (#7750)

* Enable custom sockjs pathname for hot reloading server.

* Update docusaurus/docs/advanced-configuration.md

Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

* let WDS_SOCKET_PATH be undefined

* adding env variables for sockHost and sockPort options

Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

* Add option to provide custom ssl certificates during development (#5845)

* Add option to provide custom SSL certificates when using HTTPS

* Update documentation with custom HTTPS certs

* Improve certificate validation and move to its own file

* Update https in development docs

Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

* Add custom cert example to docs

* Rename https file and update error message

* Include original error message when custom ssl cert is invalid

* Add chalk to react-scripts dependencies

* Bump docs version to say that the new config will be available in 3.2.0

* Remove chalk dependency

* Update custom ssl version to 3.4.0 in docs

* Remove version from custom ssl certificate docs

Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

* Handle service worker error in Firefox (#8272)

* Handle service worker error in Firefox

See https://bugzilla.mozilla.org/show_bug.cgi?id=1429714 for more details.

* Update serviceWorker.js

* feat(react-scripts): allow PUBLIC_URL in develoment mode (#7259)

Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>

Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>

* Change arrow functions to function declarations (#8412)

- The JavaScript template uses a function declaration to define the component, the TypeScript template and a page of the documentation used arrow functions. Changed it to use function declarations for consistency and readability.

* Fix navbar line break in header (#8437)

* Fixes unchecked access to 'deploy' script on build (#8292)

* Downgrade chalk for ie 11 support (#8439)

* Downgrade chalk for ie 11 support

* Update lockfile

* fix(react-scripts): do not redirect served path if request may proxy (#8442)

Moved redirect middleware and noopSW middleware in WDS after hook
So proxy, and before proxy will take precedence before redirect

Closes #8417

* fix(typescriptFormatter): use chalk@2 constructor (#8450)

Related #8164
Related #8439

* update open to v7.0.2 (#8459)

* Correct webpack name casing (#8475)

webpack should always be written in lower-case, according to webpack's branding guidelines https://webpack.js.org/branding

* Downgrade style-loader to v0.23.1 due to CSS modules hot reload… (#8378)

* Prepare 3.4.0 release

* Publish

 - cra-template-typescript@1.0.2
 - cra-template@1.0.2
 - create-react-app@3.4.0
 - react-dev-utils@10.2.0
 - react-error-overlay@6.0.6
 - react-scripts@3.4.0

* fix missing packages in react-scripts

* Bump pnp-webpack-plugin (#8509)

* Closes webpack dev server and exits process on "end" stdin (#7203)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Widen eslint-config-react-app peer dependency versions (#7790)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Fix optional chaining and nullish coalescing support (#8526)

* Update template example in docs (#8561)

* Whitelist main in template.json (#8539)

* Use native ESLint behaviour when extending (#8276)

* Fix proxying API request docs (#8515)

The http-proxy-middleware package has made a major version upgraded and
introduced a breaking change. This fixes the "Configuring the Proxy
Manually" documentation to match the latest version.

* Bump dependencies (#8620)

* Add React.StrictMode to default templates (#8558)

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

* Update to Babel 7.9 (#8681)

* Prepare 3.4.1 release

* Publish

 - babel-preset-react-app@9.1.2
 - cra-template-typescript@1.0.3
 - cra-template@1.0.3
 - create-react-app@3.4.1
 - eslint-config-react-app@5.2.1
 - react-dev-utils@10.2.1
 - react-error-overlay@6.0.7
 - react-scripts@3.4.1

* Squashed commit of the following:

commit 6d7c56e41a0909fb6213e1f4ccb67ff1020ed531
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Thu Mar 19 21:31:31 2020 +0100

    Release/3.5.2 (#215)

    * update version

    * update changelog

commit ec31f7866519f597bed91520537df8097ec7fd40
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Thu Mar 19 21:22:17 2020 +0100

    Fix/typescript support (#214)

    * fix extensions in paths (and cleanup)

    * fix paths to allow ts and tsx extensions

    * get rid of webpack multicompiler

    mulicompiler was not compatible with TS error handling in CRA

commit d0bef656c85e97158735267dc9c711f5ed3bac15
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Wed Mar 11 18:04:26 2020 +0100

    Release/3.5.1 (#213)

    * update changelog

    * update version

commit 73e2144285ccb543066d1ed46e154c270c94eebc
Author: Milan Lajtoš <milan.lajtos@me.com>
Date:   Wed Mar 11 17:29:35 2020 +0100

    Add postcss-inline-svg (#212)

    Lighter 2.x had `postcss-inline-svg`, but in 3.0 it was missing. It broke DDS.

    It provides `svg-load` function that inlines SVG into data-uri.

commit 7870f5cb45ad54e2042a494881f0b7dc055db971
Merge: 0e9a282a cb4f9ac6
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 11:20:13 2020 +0100

    Merge pull request #211 from lightingbeetle/release/3.5.3

    Release/3.5.3

commit cb4f9ac6404a88d01c9a59ae3c0b5986d2819810
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 11:17:00 2020 +0100

    bump version

commit 6abe577fec679cfd52b2cb27f0213748c9b551dd
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 11:16:45 2020 +0100

    write changelog

commit 0e9a282a3000139e5be5a62e7d6f72e0f344279a
Merge: bd632aea bc5e23d5
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 10:47:28 2020 +0100

    Merge pull request #210 from lightingbeetle/fix/mdx-language

    prevent error when no mdx language is defined

commit bd632aea2c208ee8793ba073aa59b9c959ff5a57
Merge: 1f19f898 d177dde0
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 10:47:17 2020 +0100

    Merge pull request #209 from lightingbeetle/fix/preview-html

    Fix/preview html

commit bc5e23d5626f098279f567a71e3b018f6a0ea351
Author: jurajk <kiss@lbstudio.sk>
Date:   Wed Mar 4 10:39:20 2020 +0100

    use optional chaining to assign language

commit d177dde0966525d469d1272bc09c467614f8d0c2
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 16:54:03 2020 +0100

    add test

commit 2050bf85593c468e4c11a4a37e9ddc9753627d95
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 16:53:39 2020 +0100

    prevent html code example from crashing when children is array

commit 0c9bb29bcc681a643e4181a53d21b3d734ffd7fe
Merge: 1f19f898 15758b3e
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 16:45:57 2020 +0100

    Merge branch 'fix/mdx-language' into fix/preview-html

commit 15758b3e7f88de9952446837872621470c68dfeb
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:55:53 2020 +0100

    prevent error when no mdx language is defined

commit 1f19f89834990368bdb85fb0d2dbb5f9589e0cc8
Merge: d373778a bfb53ec6
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:46:37 2020 +0100

    Merge pull request #208 from lightingbeetle/release/3.5.2

    Release/3.5.2

commit bfb53ec6caf7dd9c5e10b7d832344f06a321bb10
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:42:53 2020 +0100

    bump versions

commit d712b74eff6e63c76be27755a43c11e478f0efce
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:42:37 2020 +0100

    write changelog

commit d373778a75aef4ddfece3f908536e971a7016f1b
Merge: 690e6863 5b62bf8d
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:14:55 2020 +0100

    Merge pull request #207 from lightingbeetle/release/3.5.1

    Release/3.5.1

commit 5b62bf8d4a92c69b55cdf0479bc3e1b8a64f426a
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:11:28 2020 +0100

    fix typo

commit 7ebb8a24199d90122d61bd9f482d52b0365b26b1
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:08:54 2020 +0100

    write changelog

commit 1b621024d13f6ad8622e604eae4d35a229f1977e
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 10:08:46 2020 +0100

    bump versions

commit 690e6863b69b2650858b395de5cd3f1644acb7ce
Author: jurajk <kiss@lbstudio.sk>
Date:   Tue Mar 3 09:50:52 2020 +0100

    Fix/syntax highlighting (#206)

    * fix theme

    * pass language from MDX to CodeBlock

    * update mdx-js

    * update styleguide react-scripts

    * add package-lock

    * fix overflowing container

    * update theme colors

    * prevent theme from falling to first html element in preview

commit d0704de66fd9af0c955545d79acca73e369a3102
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Wed Feb 19 18:42:33 2020 +0100

    Release/3.5.0 (#205)

    * update changelog

    * update versions

commit 102411c2866d6c400dbc60a776779e33c6235da4
Author: Adam Močkoř <adam.mockor@gmail.com>
Date:   Wed Feb 19 18:30:28 2020 +0100

    Feat/cra update (#204)

    * Publish

     - babel-plugin-named-asset-import@0.3.4
     - babel-preset-react-app@9.0.2
     - confusing-browser-globals@1.0.9
     - create-react-app@3.1.2
     - eslint-config-react-app@5.0.2
     - react-app-polyfill@1.0.3
     - react-dev-utils@9.0.4
     - react-error-overlay@6.0.2
     - react-scripts@3.1.2

    * Update runtime chunk name separator in docs (#7705)

    * Remove 'shortcut' link type before 'icon' (#7707)

    * Guard polyfills against window possibly being undefined (#7205)

    * Enable .eslintignore with extend flag (#7562)

    * Add "entrypoints" key to asset manifest (#7721)

    * Update adding flow documentation (#7731)

    * set output.globalObject to 'this' (#7742)

    Closes #7741

    * Update logic and log errors for EXTEND_ESLINT (#7530)

    * update list of supported jest config overrides (#7601)

    * Upgrade Webpack version (#7740)

    * Close br tags in template README files (#7668)

    * Fix variable name casing in fileTransform (#7752)

    * Documentation typo fix (#7757)

    * Fix linting error when using rest props (#7754)

    * Add TSC_COMPILE_ON_ERROR setting (#6931)

    * Remove switch case (#7729)

    * docs: note that v2 to v3 migration may require deletion of node_modules (#7302)

    * Stop hiding the column number of ESLint errors (#6980)

    * Support setting baseUrl to root directory (#7755)

    * Use installing package manager in README (#7687)

    * Support production profiling with React Developer Tools (#7737)

    * Added the alias for profiling and output change to keep the classNames and functionNames for human readbility

    * defined isEnvProductionProfile with other isEnv checks

    * moved the keep_classnames and keep_fnames to terserOptions scope

    * resolve merge conflict for yarn.lock.cache

    * revert yarn.lock.cache to master yarn.lock.cache
    - git checkout origin/master -- packages/create-react-app/yarn.lock.cached

    * Comment and Boolean Check
    - I clarified the comment and specified the use case
    - Changed the environment check to check for the specific true rather than
    the assumed primitive value as before.

    * Replaced env with flag
    - Per suggestion --profile flag used instead of env variable PROFILE_APP

    * documentation in available scripts section with suggested information

    * resolved a local git issue. Fixed documentation error.

    * moved documentation to suggested file
    - Added a brief summary of profiling in available scripts section.
    The summary references the production-build document. Which is the
    file I moved the new documentation into under a new Header for production support.

    * Update production-build.md

    Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

    * Prepare 3.2.0 release

    * Publish

     - create-react-app@3.2.0
     - react-app-polyfill@1.0.4
     - react-dev-utils@9.1.0
     - react-error-overlay@6.0.3
     - react-scripts@3.2.0

    * Temporarily disable Windows in CI (#7773)

    * Add babel runtime version to transform-runtime plugin to reduce… (#7726)

    * Add Babel sourcemap to resolve VSCode debugging issues (#7022)

    * Fix process type in TypeScript template (#7796)

    * Account for browserslist environment variables (#7764)

    * Clarify dynamic import stage in docs (#7813)

    * Update adding-typescript.md (#7815)

    * Document how to use the .env file to enforce HTTPS (#7821)

    * Fix absolute paths issue in Jest (#7822)

    * Document correct default behavior for HOST var (#7823)

    * Fix grammar error in troubleshooting.md (#7824)

    * Upgrade to docusaurus 2 (#7785)

    * chore: upgrade to docusaurus 2

    * address review

    * Update doc publishing instructions

    * Revert logo in templates (#7830)

    * feat: add additional Jest keys to whitelist (#7832)

    * Link to React documentation for code splitting (#7686)

    The official documentation offers a simpler way of achieving route based code splitting.

    * Add a note about .eslingignore files being respected (#7809)

    * added check for typescript template and unsupported node version (#7839)

    * added check for typescript template and unsupported node version

    * addressed code review feedback regarding syntax and spelling mistakes

    * Update getting-started.md (#7841)

    Update the initial project structure generated by create-react-app.

    * Link to ASP.NET Core docs (#7840)

    * Update readme gif links (#7849)

    * Update adding-bootstrap.md (#7853)

    typo fix

    * Move unused eslint webpack import into @remove-on-eject block (#7856)

    * 📖 DOC: Improvement (#7819)

    * Upgrade terser & enable parallel minification in wsl (#7857)

    * Add a GitHub Action that runs the build script (#7861)

    * Edit InterpolateHtmlPlugin hook (#6448) (#6449)

    * Fix notations of loopback addresses (#7474)

    * Add Service-Worker header to checkValidServiceWorker (#6753)

    * Add header to checkValidServiceWorker (ts)

    * Add header to checkValidServiceWorker

    * Add additional information for postcss errors (#6282) (#6352)

    * Add additional information for postcss errors

    * Add additional information for postcss errors (simplify)

    * Remove chunkname from postCSS compile error

    * Remove line number from postCSS compile error

    * Fix eslint complaints in build.js (#7870)

    * Add Alex to lint documentation (#7852)

    * Add Alex to lint documentation

    * Attempt to trigger GitHub Action

    * Configure Alex and update docs

    * More docs updates

    * Bump docusaurus 🦖 (#7874)

    * Dark scheme overlay (#7052)

    * Bump react (#7875)

    * Bump styling related loaders (#7876)

    * Remove alex precommit check (#7878)

    * Add template support (#7716)

    * Add template support

    * Update templates version check

    * Update TypeScript template README

    * Prepare 3.3.0 beta

    * If template name already starts with cra-template leave it alone (#7880)

    * Update prerelease publishing instructions

    * Upgrade packages and tweak config to adapt to new config format (#7814)

    Rebased again now with smaller changes in this one which will make it easier to revert in case of eventual regressions.

    * refactor: remove double coerce (#7882)

    * Add yarn.lock to .gitignore (#7789)

    * chore: Fix broken link for CRA deployment (#7897)

    * chore: Fix broken link for e2e README (#7896)

    * Add @testing-library to the default templates (#7881)

    * Add numeric separator support (#7817)

    * Update open (#7910)

    * Mark TypeScript as an optional peer dependency (#7860)

    * Add restoreMocks to supported jest config keys (#7921)

    * fix seperators typo (#7932)

    Its the little things that makes the big difference!  😁

    Thanks

    * No spinning React logo if `prefers-reduced-motion` (#7931)

    * Made PRs welcome badge point to contributors guide (#7792)

    * Make JavaScript and TypeScript templates consistent (#7944)

    * Fix CI (#7951)

    * Add optional chaining and nullish coalescing operators support (#7438)

    * Add tests for optional chaining and null coalescing (#7952)

    * Upgrade jest-watch-typeahead (#7956)

    * Fix light background in docusaurus night mode (#7936)

    * Fix light background in docusaurus night mode

    Closes #7930

    * Rename lightBackground to gettingStartedSection

    * Add placeholders where old template READMEs used to be (#7972)

    * Temporarily disable GitHub Actions (#7978)

    * Prepare 3.3.0 beta

    * Bump dependencies (#7986)

    * Support scoped templates (#7991)

    * Add contributors section to readme (#7995)

    * added e2e test for checking typescript template with unsupported node (#7844)

    * Unpin dependencies in react-app-polyfill (#7999)

    * Add scripts support to templates (#7989)

    * Override no-unused-expressions with the typescript-eslint version (#8003)

    Fixes issues with optional chaining

    * Prefix apple-touch-icon links with PUBLIC_URL. (#8005)

    * Bump webpack-dev-server (#7988)

    * Bump dependencies (#8024)

    * Re-enable GitHub Actions (#8029)

    * Update CHANGELOG

    * Update CODEOWNERS

    * Remove no-unexpected-multiline rule (#8039)

    * Add TypeScript peer dependency to react-scripts (#8038)

    * Update template docs (#8050)

    * Update template docs

    * Update custom-templates.md

    * Update custom-templates.md

    Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

    * Prepare 3.3.0 release

    * Update CHANGELOG

    * Publish

     - babel-plugin-named-asset-import@0.3.5
     - babel-preset-react-app@9.1.0
     - cra-template-typescript@1.0.0
     - cra-template@1.0.0
     - create-react-app@3.3.0
     - eslint-config-react-app@5.1.0
     - react-app-polyfill@1.0.5
     - react-dev-utils@10.0.0
     - react-error-overlay@6.0.4
     - react-scripts@3.3.0

    * webpackHotDev now uses wss when https is used (#8079)

    * Add custom-templates to docs sidebar (#8077)

    * Fix typo in CHANGELOG.md (#8080)

    * Remove error for @typescript-eslint/no-namespace (#7803)

    Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes #7651.

    * Fix CI build (#8122)

    * Fix CSS font-face minification (#8106)

    * Add slashes to WebSocket protocol URL (#8116)

    * Fix typo in comment: `?.` is right, not `.?` (#8124)

    This is just a comment fix.

    Actual optional chaining operator syntax is `?.`, not `.?`.

    * chore: update docusaurus & tweak site (#8111)

    * [Security] Update terser webpack plugin (#8102)

    * security: update terser webpack plugin

    * Add current version and bin location to --info output (#8168)

    Make the --info subcommand outuput the current version information and the location of the file being run. Our issue template tells users to provide the output of --info, so having the current version is incredibly helpful, especially since it doesn't necessarily match the globally installed version that envinfo outputs. Knowing the location helps us determine whether the running bin is globally installed or in the local node_modules.

    * Bump pkgUp (#8163)

    * Bump chalk (#8164)

    * Add link to Netlify in README

    * Bump internal dependencies (#8176)

    * Bump dependencies in react-dev-utils

    * Bump dependencies in react-app-polyfill

    * Bump dependencies in create-react-app

    * Bump dependencies in react-error-overlay

    * Bump dependencies in react-scripts

    * Bump react

    * Add package-runner note to readme (#8132)

    * Add package-runner note to readme

    * Add link to `yarn create`

    * Update PWA docs links to point to template package (#8147)

    * Minor refactors in create-react-app (#8178)

    - Remove templates version minimum stopgap.
    - Replace indexOf with more idiomatic alternatives.
    - Inline errorLogFilePatterns.
    - Alphabetize validFiles.
    - Simplify log file removal code.
    - Move unconditional console.log() call outside of isSafe.
    - Differentiate conflicting directories from files.
    - Document yarn version special case.
    - Inline printValidationResults.
    - Standardize checkAppName output on failure.
    - Add link for checkThatNpmCanReadCwd.

    Functionally the code should be exactly the same.

    * fix: proactively append to .gitignore during init (#8028)

    * Bump babel-plugin-tester and fix breaking changes (#8171)

    * Little typo (#8212)

    * Replace favicon in templates (#8194)

    The old favicon was the same as the official react documentation, which is a minor annoyance during development when trying to find the tab you want. The new favicon is just the old with inverted colors.

    Closes #7957

    * Support shorthand scoped templates (#8298)

    * Allow additional package keys and add blacklist (#8082) (#8219)

    * Minor grammatical edit (#8293)

    * Update Dependencies (#8324)

    * Remove React.FC from Typescript template (#8177)

    This removes `React.FC` from the base template for a Typescript project.

    Long explanation for a small change:

    `React.FC` is unnecessary: it provides next to no benefits and has a few downsides.  (See below.)  I see a lot of beginners to TS+React using it, however, and I think that it's usage in this template is a contributing factor to that, as the prominence of this template makes it a de facto source of "best practice".

    ### Downsides to React.FC/React.FunctionComponent

    ##### Provides an implicit definition of `children`

    Defining a component with `React.FC` causes it to implicitly take `children` (of type `ReactNode`).  It means that all components accept children, even if they're not supposed to, allowing code like:

    ```ts
    const App: React.FC = () => { /*... */ };
    const Example = () => {
    	<App><div>Unwanted children</div></App>
    }
    ```

    This isn't a run-time error, but it is a mistake and one that would be caught by Typescript if not for `React.FC`.

    ##### Doesn't support generics.
    I can define a generic component like:
    ```ts
    type GenericComponentProps<T> = {
       prop: T
       callback: (t: T) => void
    }
    const GenericComponent = <T>(props: GenericComponentProps<T>) => {/*...*/}
    ```

    But it's not possible when using `React.FC` - there's no way to preserve the unresolved generic `T` in the type returned by `React.FC`.

    ```ts
    const GenericComponent: React.FC</* ??? */> = <T>(props: GenericComponentProps<T>) => {/*...*/}
    ```

    ##### Makes "component as namespace pattern" more awkward.
    It's a somewhat popular pattern to use a component as a namespace for related components (usually children):

    ```jsx
    <Select>
    	<Select.Item />
    </Select>
    ```

    This is possible, but awkward, with `React.FC`:

    ```tsx
    const  Select: React.FC<SelectProps> & { Item: React.FC<ItemProps> } = (props) => {/* ... */ }
    Select.Item = (props) => { /*...*/ }
    ```

    but "just works" without `React.FC`:

    ```tsx
    const Select = (props: SelectProps) => {/* ... */}
    Select.Item = (props) => { /*...*/ }
    ```

    ##### Doesn't work correctly with defaultProps

    This is a fairly moot point as in both cases it's probably better to use ES6 default arguments, but...

    ```tsx
    type  ComponentProps = { name: string; }

    const  Component = ({ name }: ComponentProps) => (<div>
    	{name.toUpperCase()} /* Safe since name is required */
    </div>);
    Component.defaultProps = { name: "John" };

    const  Example = () => (<Component />) /* Safe to omit since name has a default value */
    ```
    This compiles correctly.  Any approach with `React.FC` will be slightly wrong: either `React.FC<{name: string}>` will make the prop required by consumers, when it should be optional, or `React.FC<{name?: string}>` will cause `name.toUpperCase()` to be a type error.  There's no way to replicate the "internally required, externally optional" behavior which is desired.

    ##### It's as long, or longer than the alternative: (especially longer if you use `FunctionalComponent`):
    Not a huge point, but it isn't even shorter to use `React.FC`
    ```ts
    const C1: React.FC<CProps> = (props) => { }
    const C2 = (props: CProps) => {};
    ```

    ### Benefits of React.FC

    ##### Provides an explicit return type

    The only benefit I really see to `React.FC` (unless you think that implicit `children` is a good thing) is that it specifies the return type, which catches mistakes like:

    ```ts
    const Component = () => {
       return undefined; // components aren't allowed to return undefined, just `null`
    }
    ```

    In practice, I think this is fine, as it'll be caught as soon as you try to use it:

    ```ts
    const Example = () => <Component />; // Error here, due to Component returning the wrong thing
    ```

    But even with explicit type annotations, `React.FC` still isn't saving very much boilerplate:

    ```ts
    const Component1 = (props: ComponentProps): ReactNode => { /*...*/ }
    const Component2: FC<ComponentProps> = (props) => { /*...*/ }
    ```

    * Downgrade open from 7.0.0 to 6.4.0 (#8364)

    * Remove outdated babel plugins (#8353)

    Updates dependencies and removes babel plugins that are now covered by `@babel/preset-env`.

    Co-authored-by: hdineen <hdineen@hubspot.com>

    * Add titleProp to SVGR ReactComponent type definition (#8099)

    * Sync dependencies babel config (#8120)

    * Update custom template docs with instructions for testing custom template locally (#8092)

    Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

    * Update setting-up-your-editor.md (#8247)

    `Auto Fix is enabled by default. Use the single string form.` warning is shown in `.vscode/settings.json` due to changes in vscode-eslint.
    As autoFix is set to default, object format in `eslint.validate` is deprecated.

    * Remove outdated docs regarding vscode eslint extension and type… (#8307)

    Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

    * Fix sass importLoaders (#8281)

    * Add "Disallow:" to robots.txt (#8255)

    * Add helpful message to the footer (#6548)

    * Update docs according to lint-staged v10 (#8394)

    * docs: Add troubleshooting documentation on ENOSPC (#8380)

    Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

    * Prepare 3.3.1 release

    * Publish

     - babel-plugin-named-asset-import@0.3.6
     - babel-preset-react-app@9.1.1
     - cra-template-typescript@1.0.1
     - cra-template@1.0.1
     - create-react-app@3.3.1
     - eslint-config-react-app@5.2.0
     - react-app-polyfill@1.0.6
     - react-dev-utils@10.1.0
     - react-error-overlay@6.0.5
     - react-scripts@3.3.1

    * Make the PWA link point to the right place (#8379)

    * Update commit message to use imperative mood (#8377)

    Why:

    * As per best practice:
      https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/SubmittingPatches#n135

      See also:
      https://chris.beams.io/posts/git-commit/#imperative

    * Wider Chromium support for openBrowser (#8367)

    * Expands scope of openBrowser tab control

    Adjust openChrome.applescript to allow manipulation of
    other Chromium-based browsers (defaulting to Chrome).
    Requires list of compatible browsers to try in openBrowser.js

    * Fix typo

    * Remove Safari

    * fix(test): force install npm in e2e-behaviour (#8402)

    This will fix e2e-behaviour on macos

    Related: https://github.com/npm/cli/issues/611#issuecomment-575287540

    * setupTestFrameworkScriptFile is deprecated (#8390)

    * setupTestFrameworkScriptFile is deprecated

    __Note:_ `_setupTestFrameworkScriptFile_` _is deprecated in favor of_ `_setupFilesAfterEnv_`_.__

    ref: https://jestjs.io/docs/en/configuration#setupfilesafterenv-array

    * Update docusaurus/docs/running-tests.md

    Co-Authored-By: Simen Bekkhus <sbekkhus91@gmail.com>

    Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>

    * Fix robots.txt for TS (#8403)

    * Update public folder usage docs to clarify globals (#8299)

    Added the relevant topic linked directly, instead of saying it's just in the next section.
    Adjusted the text so it sounds more like a recommendation rather than a requirement.
    The topic linked is basically explainer to how you'd reference it using the global window object and ways to avoid linter errors. Thus I used 'reference' to give users a hint of what it the linked page would be for.

    * Run git init before template dependencies are installed (#8282)

    * Support JetBrains Rider IDE as an editor (#7948)

    Rider is JetBrains .NET IDE, which supports the React plugin identically to other JetBrains IDEs such as Idea and WebStorm.

    * Enable custom sockjs pathname for hot reloading server. (#7750)

    * Enable custom sockjs pathname for hot reloading server.

    * Update docusaurus/docs/advanced-configuration.md

    Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

    * let WDS_SOCKET_PATH be undefined

    * adding env variables for sockHost and sockPort options

    Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

    * Add option to provide custom ssl certificates during development (#5845)

    * Add option to provide custom SSL certificates when using HTTPS

    * Update documentation with custom HTTPS certs

    * Improve certificate validation and move to its own file

    * Update https in development docs

    Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

    * Add custom cert example to docs

    * Rename https file and update error message

    * Include original error message when custom ssl cert is invalid

    * Add chalk to react-scripts dependencies

    * Bump docs version to say that the new config will be available in 3.2.0

    * Remove chalk dependency

    * Update custom ssl version to 3.4.0 in docs

    * Remove version from custom ssl certificate docs

    Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

    * Handle service worker error in Firefox (#8272)

    * Handle service worker error in Firefox

    See https://bugzilla.mozilla.org/show_bug.cgi?id=1429714 for more details.

    * Update serviceWorker.js

    * feat(react-scripts): allow PUBLIC_URL in develoment mode (#7259)

    Co-authored-by: Eric Clemmons <eric@smarterspam.com>
    Co-authored-by: Alex Guerra <alex@heyimalex.com>
    Co-authored-by: Kelly <kelly.milligan@gmail.com>

    Co-authored-by: Eric Clemmons <eric@smarterspam.com>
    Co-authored-by: Alex Guerra <alex@heyimalex.com>
    Co-authored-by: Kelly <kelly.milligan@gmail.com>

    * Change arrow functions to function declarations (#8412)

    - The JavaScript template uses a function declaration to define the component, the TypeScript template and a page of the documentation used arrow functions. Changed it to use function declarations for consistency and readability.

    * Fix navbar line break in header (#8437)

    * Fixes unchecked access to 'deploy' script on build (#8292)

    * Downgrade chalk for ie 11 support (#8439)

    * Downgrade chalk for ie 11 support

    * Update lockfile

    * fix(react-scripts): do not redirect served path if request may proxy (#8442)

    Moved redirect middleware and noopSW middleware in WDS after hook
    So proxy, and before proxy will take precedence before redirect

    Closes #8417

    * fix(typescriptFormatter): use chalk@2 constructor (#8450)

    Related #8164
    Related #8439

    * update open to v7.0.2 (#8459)

    * Correct webpack name casing (#8475)

    webpack should always be written in lower-case, according to webpack's branding guidelines https://webpack.js.org/branding

    * Downgrade style-loader to v0.23.1 due to CSS modules hot reload… (#8378)

    * Prepare 3.4.0 release

    * Publish

     - cra-template-typescript@1.0.2
     - cra-template@1.0.2
     - create-react-app@3.4.0
     - react-dev-utils@10.2.0
     - react-error-overlay@6.0.6
     - react-scripts@3.4.0

    * fix missing packages in react-scripts

    Co-authored-by: Ian Sutherland <ian@iansutherland.ca>
    Co-authored-by: Samuel Meuli <me@samuelmeuli.com>
    Co-authored-by: Lewis Llobera <billobera@gmail.com>
    Co-authored-by: Jake Moxey <jakemoxey@gmail.com>
    Co-authored-by: Iguchi Tomokatsu <tomo14916253@gmail.com>
    Co-authored-by: Federico Zivolo <5382443+FezVrasta@users.noreply.github.com>
    Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
    Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
    Co-authored-by: neilbryson <neilbryson@users.noreply.github.com>
    Co-authored-by: Reece Dunham <me@rdil.rocks>
    Co-authored-by: Rakan Nimer <rakannimer@gmail.com>
    Co-authored-by: Tomer Cohen <tomer@users.noreply.github.com>
    Co-authored-by: Alexandr Tovmach <alexandrtovmach@gmail.com>
    Co-authored-by: Kyle Bebak <kylebebak@gmail.com>
    Co-authored-by: André Lins <andrelucas01@hotmail.com>
    Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
    Co-authored-by: Justin Grant <justingrant@users.noreply.github.com>
    Co-authored-by: Robert van Steen <hello@rovansteen.nl>
    Co-authored-by: Ashrith Reddy <ashrithreddi81@gmail.com>
    Co-authored-by: Jacob M-G Evans <27247160+JacobMGEvans@users.noreply.github.com>
    Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>
    Co-authored-by: Damian Senn <damian.senn@gmail.com>
    Co-authored-by: Róbert FUSZENECKER <fuszenecker@users.noreply.github.com>
    Co-authored-by: May <aprilandjan@users.noreply.github.com>
    Co-authored-by: Orta <orta.therox+github@gmail.com>
    Co-authored-by: Tomáš Hübelbauer <tomas@hubelbauer.net>
    Co-authored-by: Jesse Jackson <jsejcksn@users.noreply.github.com>
    Co-authored-by: Jake Boone <jakeboone02@gmail.com>
    Co-authored-by: Endi <endiliey@gmail.com>
    Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>
    Co-authored-by: Hugo David-Boyet <hugo.david.boyet@gmail.com>
    Co-authored-by: Sean Lafferty <sixers2329@gmail.com>
    Co-authored-by: Ali Waseem <waseema393@gmail.com>
    Co-authored-by: reactjser <54932880+reactjser@users.noreply.github.com>
    Co-authored-by: Daniel Lo Nigro <daniel@dan.cx>
    Co-authored-by: Chun <11034578+cchanxzy@users.noreply.github.com>
    Co-authored-by: Xuhao <xuhao@rubyfans.com>
    Co-authored-by: Sean Baines <mrseanbaines@gmail.com>
    Co-authored-by: Abdul Wahab ⚡️ <waahab35@gmail.com>
    Co-authored-by: Guillaume Hertault <guillaumus@gmail.com>
    Co-authored-by: Wataru Ashihara <wataash@users.noreply.github.com>
    Co-authored-by: darthmaim <github@darthmaim.de>
    Co-authored-by: Joshua Robinson <1865690+buildbreakdo@users.noreply.github.com>
    Co-authored-by: Andreas Cederström <andriijas@users.noreply.github.com>
    Co-authored-by: Fabiano Brito <fabianopbrito@gmail.com>
    Co-authored-by: Kanitkorn Sujautra <lukyth@users.noreply.github.com>
    Co-authored-by: Havit Rovik <surat@havit.web.id>
    Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
    Co-authored-by: Dylan Staley <88163+dstaley@users.noreply.github.com>
    Co-authored-by: Donavon West <github@donavon.com>
    Co-authored-by: James George <jamesgeorge998001@gmail.com>
    Co-authored-by: RJ <22164266+suprj@users.noreply.github.com>
    Co-authored-by: Renato Augusto Gama dos Santos <renato_0603@hotmail.com>
    Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
    Co-authored-by: Alex Guerra <alex@heyimalex.com>
    Co-authored-by: Klas Björkqvist <klas.bjorkqvist@gmail.com>
    Co-authored-by: Max Davidson <davidsonmax@gmail.com>
    Co-authored-by: Ben Blank <ben.blank+github@gmail.com>
    Co-authored-by: Mike Caulley <mikecaulley@users.noreply.github.com>
    Co-authored-by: Trontor <Trontor@users.noreply.github.com>
    Co-authored-by: Sean Zhu <interestinglythere@gmail.com>
    Co-authored-by: Simon Donaldson <simondonaldson@gmail.com>
    Co-authored-by: Wojciech Zieliński <github@rpix.pl>
    Co-authored-by: Vadzim <v@vadzim.info>
    Co-authored-by: Jerome De Leon <32805276+JeromeDeLeon@users.noreply.github.com>
    Co-authored-by: Peet Goddard <github@peet.me.uk>
    Co-authored-by: Brian Muenzenmeyer <brian.muenzenmeyer@gmail.com>
    Co-authored-by: Sony AK <sony@sony-ak.com>
    Co-authored-by: Kai Hao <kevin830726@gmail.com>
    Co-authored-by: Tom Valorsa <tomvalorsa@gmail.com>
    Co-authored-by: Evan Grim <evan@mirgnave.com>
    Co-authored-by: Retsam <Retsam@users.noreply.github.com>
    Co-authored-by: Vincent Semrau <vincent.semrau@gmx.de>
    Co-authored-by: Henry Q. Dineen <henryqdineen@users.noreply.github.com>
    Co-authored-by: Rasmus Nørskov <rasmus@norskov.org>
    Co-authored-by: Kevin Old <kevin@kevinold.com>
    Co-authored-by: Boyuan Xu <52206564+dev-xu@users.noreply.github.com>
    Co-authored-by: Alex James Vukovity <57100733+alex-vukovity-cko@users.noreply.github.com>
    Co-authored-by: Marius Craciunoiu <m@m23.io>
    Co-authored-by: Tomoya Fujita <32614176+tomoyaf@users.noreply.github.com>
    Co-authored-by: Joshua Pollak <pyrogenic@users.noreply.github.com>
    Co-authored-by: Hu Chen <huchenme@users.noreply.github.com>
    Co-authored-by: Cassidy Williams <cassidoo@users.noreply.github.com>
    Co-authored-by: Christopher Button <38411730+devgeist@users.noreply.github.com>
    Co-authored-by: Matthew Curtis <matthew@matthewbryancurtis.com>
    Co-authored-by: Andrew Luca <thendrluca@gmail.com>
    Co-authored-by: 吕立青 <jimmy.jinglv@gmail.com>
    Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>
    Co-authored-by: Martin Litvaj <kamahl19@gmail.com>
    Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
    Co-authored-by: Łukasz Fiszer <lukaszfiszer@users.noreply.github.com>
    Co-authored-by: David Powell <djpowell@djpowell.net>
    Co-authored-by: Grady Kuhnline <github@heygrady.net>
    Co-authored-by: Alex Brazier <aejbrazier.apps@gmail.com>
    Co-authored-by: Rohit Singhal <rohitsinghal.rs@gmail.com>
    Co-authored-by: Eric Clemmons <eric@smarterspam.com>
    Co-authored-by: Kelly <kelly.milligan@gmail.com>
    Co-authored-by: Eugene Sviridov <46542370+esvyridov@users.noreply.github.com>
    Co-authored-by: Renato Böhler <renato.bohler@gmail.com>
    Co-authored-by: Eugene Chybisov <imchybisov@gmail.com>

* update archaic @babel/preset-env

are we even using this? no reference found in code...

* add changeset

* update changeset

* update styleguide package.json

Co-authored-by: Adam Mockor <adam.mockor@gmail.com>
Co-authored-by: Ian Sutherland <ian@iansutherland.ca>
Co-authored-by: Samuel Meuli <me@samuelmeuli.com>
Co-authored-by: Lewis Llobera <billobera@gmail.com>
Co-authored-by: Jake Moxey <jakemoxey@gmail.com>
Co-authored-by: Iguchi Tomokatsu <tomo14916253@gmail.com>
Co-authored-by: Samuel Meuli <meuli@adobe.com>
Co-authored-by: Federico Zivolo <federico.zivolo@gmail.com>
Co-authored-by: Kent C. Dodds <kent+github@doddsfamily.us>
Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
Co-authored-by: neilbryson <neilbryson@users.noreply.github.com>
Co-authored-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: Rakan Nimer <rakannimer@gmail.com>
Co-authored-by: Tomer Cohen <tomer@users.noreply.github.com>
Co-authored-by: Alexandr Tovmach <alexandrtovmach@gmail.com>
Co-authored-by: Kyle Bebak <kylebebak@gmail.com>
Co-authored-by: André Lins <andrelucas01@hotmail.com>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
Co-authored-by: Justin Grant <justingrant@users.noreply.github.com>
Co-authored-by: Robert van Steen <hello@rovansteen.nl>
Co-authored-by: Ashrith Reddy <ashrithreddi81@gmail.com>
Co-authored-by: Jacob M-G Evans <27247160+JacobMGEvans@users.noreply.github.com>
Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>
Co-authored-by: Damian Senn <damian.senn@gmail.com>
Co-authored-by: Robert FUSZENECKER <fuszenecker@users.noreply.github.com>
Co-authored-by: Jonathan Felchlin <jonathan@energysavvy.com>
Co-authored-by: May <aprilandjan@users.noreply.github.com>
Co-authored-by: Orta <orta.therox@gmail.com>
Co-authored-by: Tomáš Hübelbauer <tomas@hubelbauer.net>
Co-authored-by: Jesse Jackson <jsejcksn@users.noreply.github.com>
Co-authored-by: Jake Boone <jakeboone02@gmail.com>
Co-authored-by: Endi <endiliey@gmail.com>
Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>
Co-authored-by: Hugo David-Boyet <hugo.david.boyet@gmail.com>
Co-authored-by: Sean Lafferty <sixers2329@gmail.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: reactjser <54932880+reactjser@users.noreply.github.com>
Co-authored-by: Daniel Lo Nigro <d@d.sb>
Co-authored-by: Chun <11034578+cchanxzy@users.noreply.github.com>
Co-authored-by: Xuhao <xuhao@rubyfans.com>
Co-authored-by: Sean Baines <mrseanbaines@gmail.com>
Co-authored-by: Abdul Wahab ⚡️ <waahab35@gmail.com>
Co-authored-by: Guillaume Hertault <guillaumus@gmail.com>
Co-authored-by: Wataru Ashihara <wataash@users.noreply.github.com>
Co-authored-by: darthmaim <github@darthmaim.de>
Co-authored-by: Joshua Robinson <jbrobin2@gmail.com>
Co-authored-by: Andreas Cederström <andriijas@users.noreply.github.com>
Co-authored-by: Fabiano Brito <fabianopbrito@gmail.com>
Co-authored-by: Kanitkorn Sujautra <lukyth@users.noreply.github.com>
Co-authored-by: Havit Rovik <surat@havit.web.id>
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
Co-authored-by: Dylan Staley <88163+dstaley@users.noreply.github.com>
Co-authored-by: Donavon West <github@donavon.com>
Co-authored-by: James George <jamesgeorge998001@gmail.com>
Co-authored-by: RJ Morgan <22164266+suprj@users.noreply.github.com>
Co-authored-by: Renato Augusto Gama dos Santos <renato_0603@hotmail.com>
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Klas Björkqvist <klas.bjorkqvist@gmail.com>
Co-authored-by: Ali Waseem <github@aliwaseem.com>
Co-authored-by: Max Davidson <davidsonmax@gmail.com>
Co-authored-by: Ben Blank <ben.blank+github@gmail.com>
Co-authored-by: Mike Caulley <mikecaulley@users.noreply.github.com>
Co-authored-by: Trontor <Trontor@users.noreply.github.com>
Co-authored-by: Sean Zhu <interestinglythere@gmail.com>
Co-authored-by: Simon Donaldson <simondonaldson@gmail.com>
Co-authored-by: Wojciech Zieliński <github@rpix.pl>
Co-authored-by: Vadzim <v@vadzim.info>
Co-authored-by: Jerome De Leon <32805276+JeromeDeLeon@users.noreply.github.com>
Co-authored-by: Peet Goddard <github@peet.me.uk>
Co-authored-by: Brian Muenzenmeyer <Brian.Muenzenmeyer@target.com>
Co-authored-by: Sony AK <sony@sony-ak.com>
Co-authored-by: Kai Hao <kevin830726@gmail.com>
Co-authored-by: Tom Valorsa <tomvalorsa@gmail.com>
Co-authored-by: Evan Grim <evan@mirgnave.com>
Co-authored-by: Retsam <Retsam@users.noreply.github.com>
Co-authored-by: Vincent Semrau <vincent.semrau@gmx.de>
Co-authored-by: hdineen <hdineen@hubspot.com>
Co-authored-by: Rasmus Nørskov <rasmus@norskov.org>
Co-authored-by: Kevin Old <kevin@kevinold.com>
Co-authored-by: Boyuan Xu <52206564+dev-xu@users.noreply.github.com>
Co-authored-by: Alex James Vukovity <57100733+alex-vukovity-cko@users.noreply.github.com>
Co-authored-by: Marius Craciunoiu <m@m23.io>
Co-authored-by: Tomoya Fujita <32614176+tomoyaf@users.noreply.github.com>
Co-authored-by: Joshua Pollak <pyrogenic@users.noreply.github.com>
Co-authored-by: Hu Chen <huchenme@users.noreply.github.com>
Co-authored-by: Cassidy Williams <cassidoo@users.noreply.github.com>
Co-authored-by: Christopher Button <38411730+devgeist@users.noreply.github.com>
Co-authored-by: Matthew Curtis <matthew@matthewbryancurtis.com>
Co-authored-by: Andrew Luca <thendrluca@gmail.com>
Co-authored-by: 吕立青 <jimmy.jinglv@gmail.com>
Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>
Co-authored-by: Martin Litvaj <kamahl19@gmail.com>
Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
Co-authored-by: Łukasz Fiszer <lukaszfiszer@users.noreply.github.com>
Co-authored-by: David Powell <djpowell@djpowell.net>
Co-authored-by: Grady Kuhnline <github@heygrady.net>
Co-authored-by: Alex Brazier <aejbrazier.apps@gmail.com>
Co-authored-by: Rohit Singhal <rohitsinghal.rs@gmail.com>
Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>
Co-authored-by: Eugene Sviridov <46542370+esvyridov@users.noreply.github.com>
Co-authored-by: Renato Böhler <renato.bohler@gmail.com>
Co-authored-by: Vincent Semrau <vincent.semrau@calimoto.com>
Co-authored-by: Eugene Chybisov <imchybisov@gmail.com>
Co-authored-by: Maël Nison <nison.mael@gmail.com>
Co-authored-by: Kelsey Leftwich <kelsey@headway.io>
Co-authored-by: …
andyecrow pushed a commit to travelperk/create-react-app that referenced this issue Mar 31, 2020
Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes facebook#7651.
ArbaazDossani added a commit to ArbaazDossani/create-react-app that referenced this issue Apr 10, 2020
* Fix CI issue on windows (facebook#7385)

* Attempt at fixing CI issue on windows

* Try to debug why verdaccio isn't in the ps output

* Just remove the kill call alltogether

* Update url-loader to 2.0.1

This closes facebook#7359 by making IMAGE_INLINE_SIZE_LIMIT=0 actually disable image inlining.

We use url-loader's `limit` option to set the line at which images will be inlined, and we basically expose this option to our end users via the IMAGE_INLINE_SIZE_LIMIT environment variable. Most people using it want to disable inlining images all together (the major motivator for adding it at all was I think for strict CSP), and our documentation said setting the value to zero would do that. However, it did the opposite: url-loader treated zero as "no limit".

The update to 2.x fixes this; zero means nothing gets inlined. The other changes from the version bump shouldn't affect us:
- minimum node version is 8.9.x, we already require 8.10.x
- the limit was "greater than", is now "greater than or equal to"

* Docs: remove note about TypeScript files requiring at least one export (facebook#7260)

* Add question issue template (facebook#7423)

* Add question issue template

* Fix bug report template formatting

* Fix bug report template formatting

* Add labels to pull request template

* Update deploy instructions in contributing guide (facebook#7429)

* Update deploy instructions in contributing guide

* Update docs publishing instructions

* Remove labels from pull request template

* Add explicit check for --watchAll=false (facebook#7433)

Resolves facebook#7180.

* Add ESLint 6 support (facebook#7415)

* Update testing-library package names in README (facebook#7340)

* Update ESlint Install Docs (facebook#7451)

* Improve bootstrap docs when using custom SCSS (facebook#7462)

* Added dependencies to bootstrap article when using custom SCSS.

* Make changes to package designation and added npm install directions.

* Suggest `jsx: "react"` in tsconfig (facebook#7472)

* Set jsonpFunction to prevent conflicts (facebook#5951)

* Resolve relative paths for preprocessor styles (facebook#5829)

preprocessor will output sourceMap by default
then check if sourceMaps are needed on resolve-url-loader

Fixes facebook#4653

* Specify roots in Jest config (facebook#7480)

* Optimise templates for Lighthouse (facebook#7482)

* Use readConfigFile instead of require for tsconfig (facebook#7248)

* Fix HMR in Firefox when proxy option present (facebook#7444)

Resolves facebook#6720

* Adjusted deployment documentation for ZEIT Now (facebook#7488)

* Adjusted deployment documentation for ZEIT Now

* Fixed missing word

* Update docusaurus/docs/deployment.md

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Bump dependencies (facebook#7473)

* Support configuring coveragePathIgnorePatterns (facebook#7080)

* Fix RegExp from navigateFallbackBlacklist (workbox) (facebook#7176)

Exclude URLs that contains a "?" character.

* Fix launch.json debugging config (facebook#6484)

* Add vscodium to the editor list (facebook#7028)

* Bump version of sass-loader (facebook#7496)

* Add readonly modifier for css module (facebook#7497)

* Remove unused dependencies in babel-preset-react-app (facebook#5818)

* Remove unused dependencies in babel-preset-react-app

* Re-add @babel/plugin-transform-react-display-name

* Remove some dependencies again

* Prepare 3.1.0 release

* Publish

 - babel-plugin-named-asset-import@0.3.3
 - babel-preset-react-app@9.0.1
 - confusing-browser-globals@1.0.8
 - create-react-app@3.1.0
 - eslint-config-react-app@5.0.0
 - react-app-polyfill@1.0.2
 - react-dev-utils@9.0.2
 - react-error-overlay@6.0.0
 - react-scripts@3.1.0

* Add links to Spectrum in README and docs (facebook#7500)

* Update bug report issue template

* Don't block static files in robots.txt (facebook#7508)

* Ignore "jsx-a11y/aria-role" for React components (facebook#7393)

* Update docusaurus config (facebook#7499)

* Update Netlify config (facebook#7527)

* Fix ESLint 6 support (facebook#7513)

* Remove extends restriction to fix ESLint 6 support

* Attempt to resolve CI errors

* Prepare 3.1.1 release

* Publish

 - create-react-app@3.1.1
 - eslint-config-react-app@5.0.1
 - react-dev-utils@9.0.3
 - react-error-overlay@6.0.1
 - react-scripts@3.1.1

* Show logo on mobile docs (facebook#7521)

* Show logo for mobile views in create-react-app.dev

* Update docusaurus/website/static/css/custom.css


Co-authored-by: Sabesh Kumar Rajendran <sabrajendran@paypal.com>

* Add a migration step to remove static directory from robots.txt (facebook#7536)

* add a migration step to remove static from robots.txt

* Update CHANGELOG.md

Co-Authored-By: Ian Sutherland <ian@iansutherland.ca>

* docs: update Flow documentation (facebook#7550)

* docs: update Flow documentation

* Update adding-flow.md

* Update adding-flow.md

* Correct proxy usage docs (facebook#7368)

* Remove trailing spaces from manifest.json (facebook#7585)

* Link changelogs between major versions (facebook#7613)

* Remove cleanup-after-each example (facebook#7620)

cleanup is called now by default after each test if the testing framework supports the afterEach global

* Adopt Contributor Covenant (facebook#7650)

* Adopt Contributor Covenant

* Add link to Contributor Covenant to docs site

* Fix build (facebook#7662)

* Disable babel-loader's cacheCompression (facebook#7633)

* Update troubleshooting.md (facebook#7459)

* Explicitly check that EXTEND_ESLINT is true (facebook#7538)

* Update running-tests.md (facebook#7659)

* Bump version of @typescript-eslint/* (facebook#7540)

* Upgrade dotenv-expand to fix issues (facebook#7531)

* Minor performance improvements (facebook#7587)

- use ESLint cache
- remove useless `watch` option in fork-ts-checker

* Remove --single-quote from prettier examples (facebook#7663)

* Use const instead of var in env.js (facebook#7526)

* Change runtime chunk name separator from tilde to dash (facebook#7679)

* Bump dependencies (facebook#7681)

* Update deployment.md with another AWS example (facebook#7616)

Add blog post that takes a React developer step-by-step through many features of AWS. Blog post is suitable for a beginner to follow and have a production ready workflow.

* Add new logo (facebook#7704)

* Prepare 3.1.2 release

* Publish

 - babel-plugin-named-asset-import@0.3.4
 - babel-preset-react-app@9.0.2
 - confusing-browser-globals@1.0.9
 - create-react-app@3.1.2
 - eslint-config-react-app@5.0.2
 - react-app-polyfill@1.0.3
 - react-dev-utils@9.0.4
 - react-error-overlay@6.0.2
 - react-scripts@3.1.2

* Update runtime chunk name separator in docs (facebook#7705)

* Remove 'shortcut' link type before 'icon' (facebook#7707)

* Guard polyfills against window possibly being undefined (facebook#7205)

* Enable .eslintignore with extend flag (facebook#7562)

* Add "entrypoints" key to asset manifest (facebook#7721)

* Update adding flow documentation (facebook#7731)

* set output.globalObject to 'this' (facebook#7742)

Closes facebook#7741

* Update logic and log errors for EXTEND_ESLINT (facebook#7530)

* update list of supported jest config overrides (facebook#7601)

* Upgrade Webpack version (facebook#7740)

* Close br tags in template README files (facebook#7668)

* Fix variable name casing in fileTransform (facebook#7752)

* Documentation typo fix (facebook#7757)

* Fix linting error when using rest props (facebook#7754)

* Add TSC_COMPILE_ON_ERROR setting (facebook#6931)

* Remove switch case (facebook#7729)

* docs: note that v2 to v3 migration may require deletion of node_modules (facebook#7302)

* Stop hiding the column number of ESLint errors (facebook#6980)

* Support setting baseUrl to root directory (facebook#7755)

* Use installing package manager in README (facebook#7687)

* Support production profiling with React Developer Tools (facebook#7737)

* Added the alias for profiling and output change to keep the classNames and functionNames for human readbility

* defined isEnvProductionProfile with other isEnv checks

* moved the keep_classnames and keep_fnames to terserOptions scope

* resolve merge conflict for yarn.lock.cache

* revert yarn.lock.cache to master yarn.lock.cache
- git checkout origin/master -- packages/create-react-app/yarn.lock.cached

* Comment and Boolean Check
- I clarified the comment and specified the use case
- Changed the environment check to check for the specific true rather than
the assumed primitive value as before.

* Replaced env with flag
- Per suggestion --profile flag used instead of env variable PROFILE_APP

* documentation in available scripts section with suggested information

* resolved a local git issue. Fixed documentation error.

* moved documentation to suggested file
- Added a brief summary of profiling in available scripts section.
The summary references the production-build document. Which is the
file I moved the new documentation into under a new Header for production support.

* Update production-build.md


Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

* Prepare 3.2.0 release

* Publish

 - create-react-app@3.2.0
 - react-app-polyfill@1.0.4
 - react-dev-utils@9.1.0
 - react-error-overlay@6.0.3
 - react-scripts@3.2.0

* Temporarily disable Windows in CI (facebook#7773)

* Add babel runtime version to transform-runtime plugin to reduce… (facebook#7726)

* Add Babel sourcemap to resolve VSCode debugging issues (facebook#7022)

* Fix process type in TypeScript template (facebook#7796)

* Account for browserslist environment variables (facebook#7764)

* Clarify dynamic import stage in docs (facebook#7813)

* Update adding-typescript.md (facebook#7815)

* Document how to use the .env file to enforce HTTPS (facebook#7821)

* Fix absolute paths issue in Jest (facebook#7822)

* Document correct default behavior for HOST var (facebook#7823)

* Fix grammar error in troubleshooting.md (facebook#7824)

* Upgrade to docusaurus 2 (facebook#7785)

* chore: upgrade to docusaurus 2

* address review

* Update doc publishing instructions

* Revert logo in templates (facebook#7830)

* feat: add additional Jest keys to whitelist (facebook#7832)

* Link to React documentation for code splitting (facebook#7686)

The official documentation offers a simpler way of achieving route based code splitting.

* Add a note about .eslingignore files being respected (facebook#7809)

* added check for typescript template and unsupported node version (facebook#7839)

* added check for typescript template and unsupported node version

* addressed code review feedback regarding syntax and spelling mistakes

* Update getting-started.md (facebook#7841)

Update the initial project structure generated by create-react-app.

* Link to ASP.NET Core docs (facebook#7840)

* Update readme gif links (facebook#7849)

* Update adding-bootstrap.md (facebook#7853)

typo fix

* Move unused eslint webpack import into @remove-on-eject block (facebook#7856)

* 📖 DOC: Improvement (facebook#7819)

* Upgrade terser & enable parallel minification in wsl (facebook#7857)

* Add a GitHub Action that runs the build script (facebook#7861)

* Edit InterpolateHtmlPlugin hook (facebook#6448) (facebook#6449)

* Fix notations of loopback addresses (facebook#7474)

* Add Service-Worker header to checkValidServiceWorker (facebook#6753)

* Add header to checkValidServiceWorker (ts)

* Add header to checkValidServiceWorker

* Add additional information for postcss errors (facebook#6282) (facebook#6352)

* Add additional information for postcss errors

* Add additional information for postcss errors (simplify)

* Remove chunkname from postCSS compile error

* Remove line number from postCSS compile error

* Fix eslint complaints in build.js (facebook#7870)

* Add Alex to lint documentation (facebook#7852)

* Add Alex to lint documentation

* Attempt to trigger GitHub Action

* Configure Alex and update docs

* More docs updates

* Bump docusaurus 🦖 (facebook#7874)

* Dark scheme overlay (facebook#7052)

* Bump react (facebook#7875)

* Bump styling related loaders (facebook#7876)

* Remove alex precommit check (facebook#7878)

* Add template support (facebook#7716)

* Add template support

* Update templates version check

* Update TypeScript template README

* Prepare 3.3.0 beta

* If template name already starts with cra-template leave it alone (facebook#7880)

* Update prerelease publishing instructions

* Upgrade packages and tweak config to adapt to new config format (facebook#7814)

Rebased again now with smaller changes in this one which will make it easier to revert in case of eventual regressions.

* refactor: remove double coerce (facebook#7882)

* Add yarn.lock to .gitignore (facebook#7789)

* chore: Fix broken link for CRA deployment (facebook#7897)

* chore: Fix broken link for e2e README (facebook#7896)

* Add @testing-library to the default templates (facebook#7881)

* Add numeric separator support (facebook#7817)

* Update open (facebook#7910)

* Mark TypeScript as an optional peer dependency (facebook#7860)

* Add restoreMocks to supported jest config keys (facebook#7921)

* fix seperators typo (facebook#7932)

Its the little things that makes the big difference!  😁

Thanks

* No spinning React logo if `prefers-reduced-motion` (facebook#7931)

* Made PRs welcome badge point to contributors guide (facebook#7792)

* Make JavaScript and TypeScript templates consistent (facebook#7944)

* Fix CI (facebook#7951)

* Add optional chaining and nullish coalescing operators support (facebook#7438)

* Add tests for optional chaining and null coalescing (facebook#7952)

* Upgrade jest-watch-typeahead (facebook#7956)

* Fix light background in docusaurus night mode (facebook#7936)

* Fix light background in docusaurus night mode

Closes facebook#7930

* Rename lightBackground to gettingStartedSection

* Add placeholders where old template READMEs used to be (facebook#7972)

* Temporarily disable GitHub Actions (facebook#7978)

* Prepare 3.3.0 beta

* Bump dependencies (facebook#7986)

* Support scoped templates (facebook#7991)

* Add contributors section to readme (facebook#7995)

* added e2e test for checking typescript template with unsupported node (facebook#7844)

* Unpin dependencies in react-app-polyfill (facebook#7999)

* Add scripts support to templates (facebook#7989)

* Override no-unused-expressions with the typescript-eslint version (facebook#8003)

Fixes issues with optional chaining

* Prefix apple-touch-icon links with PUBLIC_URL. (facebook#8005)

* Bump webpack-dev-server (facebook#7988)

* Bump dependencies (facebook#8024)

* Re-enable GitHub Actions (facebook#8029)

* Update CHANGELOG

* Update CODEOWNERS

* Remove no-unexpected-multiline rule (facebook#8039)

* Add TypeScript peer dependency to react-scripts (facebook#8038)

* Update template docs (facebook#8050)

* Update template docs

* Update custom-templates.md

* Update custom-templates.md


Co-authored-by: Ian Sutherland <ian@iansutherland.ca>

* Prepare 3.3.0 release

* Update CHANGELOG

* Publish

 - babel-plugin-named-asset-import@0.3.5
 - babel-preset-react-app@9.1.0
 - cra-template-typescript@1.0.0
 - cra-template@1.0.0
 - create-react-app@3.3.0
 - eslint-config-react-app@5.1.0
 - react-app-polyfill@1.0.5
 - react-dev-utils@10.0.0
 - react-error-overlay@6.0.4
 - react-scripts@3.3.0

* webpackHotDev now uses wss when https is used (facebook#8079)

* Add custom-templates to docs sidebar (facebook#8077)

* Fix typo in CHANGELOG.md (facebook#8080)

* Remove error for @typescript-eslint/no-namespace (facebook#7803)

Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes facebook#7651.

* Fix CI build (facebook#8122)

* Fix CSS font-face minification (facebook#8106)

* Add slashes to WebSocket protocol URL (facebook#8116)

* Fix typo in comment: `?.` is right, not `.?` (facebook#8124)

This is just a comment fix.

Actual optional chaining operator syntax is `?.`, not `.?`.

* chore: update docusaurus & tweak site (facebook#8111)

* [Security] Update terser webpack plugin (facebook#8102)

* security: update terser webpack plugin

* Add current version and bin location to --info output (facebook#8168)

Make the --info subcommand outuput the current version information and the location of the file being run. Our issue template tells users to provide the output of --info, so having the current version is incredibly helpful, especially since it doesn't necessarily match the globally installed version that envinfo outputs. Knowing the location helps us determine whether the running bin is globally installed or in the local node_modules.

* Bump pkgUp (facebook#8163)

* Bump chalk (facebook#8164)

* Add link to Netlify in README

* Bump internal dependencies (facebook#8176)

* Bump dependencies in react-dev-utils

* Bump dependencies in react-app-polyfill

* Bump dependencies in create-react-app

* Bump dependencies in react-error-overlay

* Bump dependencies in react-scripts

* Bump react

* Add package-runner note to readme (facebook#8132)

* Add package-runner note to readme

* Add link to `yarn create`

* Update PWA docs links to point to template package (facebook#8147)

* Minor refactors in create-react-app (facebook#8178)

- Remove templates version minimum stopgap.
- Replace indexOf with more idiomatic alternatives.
- Inline errorLogFilePatterns.
- Alphabetize validFiles.
- Simplify log file removal code.
- Move unconditional console.log() call outside of isSafe.
- Differentiate conflicting directories from files.
- Document yarn version special case.
- Inline printValidationResults.
- Standardize checkAppName output on failure.
- Add link for checkThatNpmCanReadCwd.

Functionally the code should be exactly the same.

* fix: proactively append to .gitignore during init (facebook#8028)

* Bump babel-plugin-tester and fix breaking changes (facebook#8171)

* Little typo (facebook#8212)

* Replace favicon in templates (facebook#8194)

The old favicon was the same as the official react documentation, which is a minor annoyance during development when trying to find the tab you want. The new favicon is just the old with inverted colors.

Closes facebook#7957

* Support shorthand scoped templates (facebook#8298)

* Allow additional package keys and add blacklist (facebook#8082) (facebook#8219)

* Minor grammatical edit (facebook#8293)

* Update Dependencies (facebook#8324)

* Remove React.FC from Typescript template (facebook#8177)

This removes `React.FC` from the base template for a Typescript project.

Long explanation for a small change: 

`React.FC` is unnecessary: it provides next to no benefits and has a few downsides.  (See below.)  I see a lot of beginners to TS+React using it, however, and I think that it's usage in this template is a contributing factor to that, as the prominence of this template makes it a de facto source of "best practice".  

### Downsides to React.FC/React.FunctionComponent

##### Provides an implicit definition of `children`

Defining a component with `React.FC` causes it to implicitly take `children` (of type `ReactNode`).  It means that all components accept children, even if they're not supposed to, allowing code like:

```ts
const App: React.FC = () => { /*... */ };
const Example = () => {
	<App><div>Unwanted children</div></App>
}
```

This isn't a run-time error, but it is a mistake and one that would be caught by Typescript if not for `React.FC`. 

##### Doesn't support generics.
I can define a generic component like:
```ts
type GenericComponentProps<T> = {
   prop: T
   callback: (t: T) => void
}
const GenericComponent = <T>(props: GenericComponentProps<T>) => {/*...*/}
```

But it's not possible when using `React.FC` - there's no way to preserve the unresolved generic `T` in the type returned by `React.FC`.

```ts
const GenericComponent: React.FC</* ??? */> = <T>(props: GenericComponentProps<T>) => {/*...*/}
```

##### Makes "component as namespace pattern" more awkward.
It's a somewhat popular pattern to use a component as a namespace for related components (usually children):

```jsx
<Select>
	<Select.Item />
</Select>
```

This is possible, but awkward, with `React.FC`:

```tsx
const  Select: React.FC<SelectProps> & { Item: React.FC<ItemProps> } = (props) => {/* ... */ }
Select.Item = (props) => { /*...*/ }
```

but "just works" without `React.FC`:

```tsx
const Select = (props: SelectProps) => {/* ... */}
Select.Item = (props) => { /*...*/ }
```

##### Doesn't work correctly with defaultProps

This is a fairly moot point as in both cases it's probably better to use ES6 default arguments, but...

```tsx
type  ComponentProps = { name: string; }

const  Component = ({ name }: ComponentProps) => (<div>
	{name.toUpperCase()} /* Safe since name is required */
</div>);
Component.defaultProps = { name: "John" };

const  Example = () => (<Component />) /* Safe to omit since name has a default value */
```
This compiles correctly.  Any approach with `React.FC` will be slightly wrong: either `React.FC<{name: string}>` will make the prop required by consumers, when it should be optional, or `React.FC<{name?: string}>` will cause `name.toUpperCase()` to be a type error.  There's no way to replicate the "internally required, externally optional" behavior which is desired.

##### It's as long, or longer than the alternative: (especially longer if you use `FunctionalComponent`):
Not a huge point, but it isn't even shorter to use `React.FC` 
```ts
const C1: React.FC<CProps> = (props) => { }
const C2 = (props: CProps) => {};
```

### Benefits of React.FC

##### Provides an explicit return type

The only benefit I really see to `React.FC` (unless you think that implicit `children` is a good thing) is that it specifies the return type, which catches mistakes like:

```ts
const Component = () => {
   return undefined; // components aren't allowed to return undefined, just `null`
}
```

In practice, I think this is fine, as it'll be caught as soon as you try to use it:

```ts
const Example = () => <Component />; // Error here, due to Component returning the wrong thing
```

But even with explicit type annotations, `React.FC` still isn't saving very much boilerplate:

```ts
const Component1 = (props: ComponentProps): ReactNode => { /*...*/ }
const Component2: FC<ComponentProps> = (props) => { /*...*/ }
```

* Downgrade open from 7.0.0 to 6.4.0 (facebook#8364)

* Remove outdated babel plugins (facebook#8353)

Updates dependencies and removes babel plugins that are now covered by `@babel/preset-env`.

Co-authored-by: hdineen <hdineen@hubspot.com>

* Add titleProp to SVGR ReactComponent type definition (facebook#8099)

* Sync dependencies babel config (facebook#8120)

* Update custom template docs with instructions for testing custom template locally (facebook#8092)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Update setting-up-your-editor.md (facebook#8247)

`Auto Fix is enabled by default. Use the single string form.` warning is shown in `.vscode/settings.json` due to changes in vscode-eslint. 
As autoFix is set to default, object format in `eslint.validate` is deprecated.

* Remove outdated docs regarding vscode eslint extension and type… (facebook#8307)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Fix sass importLoaders (facebook#8281)

* Add "Disallow:" to robots.txt (facebook#8255)

* Add helpful message to the footer (facebook#6548)

* Update docs according to lint-staged v10 (facebook#8394)

* docs: Add troubleshooting documentation on ENOSPC (facebook#8380)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Prepare 3.3.1 release

* Publish

 - babel-plugin-named-asset-import@0.3.6
 - babel-preset-react-app@9.1.1
 - cra-template-typescript@1.0.1
 - cra-template@1.0.1
 - create-react-app@3.3.1
 - eslint-config-react-app@5.2.0
 - react-app-polyfill@1.0.6
 - react-dev-utils@10.1.0
 - react-error-overlay@6.0.5
 - react-scripts@3.3.1

* Make the PWA link point to the right place (facebook#8379)

* Update commit message to use imperative mood (facebook#8377)

Why:

* As per best practice:
  https://git.kernel.org/pub/scm/git/git.git/tree/Documentation/SubmittingPatches#n135

  See also:
  https://chris.beams.io/posts/git-commit/#imperative

* Wider Chromium support for openBrowser (facebook#8367)

* Expands scope of openBrowser tab control

Adjust openChrome.applescript to allow manipulation of
other Chromium-based browsers (defaulting to Chrome).
Requires list of compatible browsers to try in openBrowser.js

* Fix typo

* Remove Safari

* fix(test): force install npm in e2e-behaviour (facebook#8402)

This will fix e2e-behaviour on macos

Related: npm/cli#611 (comment)

* setupTestFrameworkScriptFile is deprecated (facebook#8390)

* setupTestFrameworkScriptFile is deprecated

__Note:_ `_setupTestFrameworkScriptFile_` _is deprecated in favor of_ `_setupFilesAfterEnv_`_.__

ref: https://jestjs.io/docs/en/configuration#setupfilesafterenv-array

* Update docusaurus/docs/running-tests.md

Co-Authored-By: Simen Bekkhus <sbekkhus91@gmail.com>

Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>

* Fix robots.txt for TS (facebook#8403)

* Update public folder usage docs to clarify globals (facebook#8299)

Added the relevant topic linked directly, instead of saying it's just in the next section.
Adjusted the text so it sounds more like a recommendation rather than a requirement.
The topic linked is basically explainer to how you'd reference it using the global window object and ways to avoid linter errors. Thus I used 'reference' to give users a hint of what it the linked page would be for.

* Run git init before template dependencies are installed (facebook#8282)

* Support JetBrains Rider IDE as an editor (facebook#7948)

Rider is JetBrains .NET IDE, which supports the React plugin identically to other JetBrains IDEs such as Idea and WebStorm.

* Enable custom sockjs pathname for hot reloading server. (facebook#7750)

* Enable custom sockjs pathname for hot reloading server.

* Update docusaurus/docs/advanced-configuration.md

Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

* let WDS_SOCKET_PATH be undefined

* adding env variables for sockHost and sockPort options

Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

* Add option to provide custom ssl certificates during development (facebook#5845)

* Add option to provide custom SSL certificates when using HTTPS

* Update documentation with custom HTTPS certs

* Improve certificate validation and move to its own file

* Update https in development docs

Co-Authored-By: Brody McKee <mrmckeb@users.noreply.github.com>

* Add custom cert example to docs

* Rename https file and update error message

* Include original error message when custom ssl cert is invalid

* Add chalk to react-scripts dependencies

* Bump docs version to say that the new config will be available in 3.2.0

* Remove chalk dependency

* Update custom ssl version to 3.4.0 in docs

* Remove version from custom ssl certificate docs

Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>

* Handle service worker error in Firefox (facebook#8272)

* Handle service worker error in Firefox

See https://bugzilla.mozilla.org/show_bug.cgi?id=1429714 for more details.

* Update serviceWorker.js

* feat(react-scripts): allow PUBLIC_URL in develoment mode (facebook#7259)

Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>

Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>

* Change arrow functions to function declarations (facebook#8412)

- The JavaScript template uses a function declaration to define the component, the TypeScript template and a page of the documentation used arrow functions. Changed it to use function declarations for consistency and readability.

* Fix navbar line break in header (facebook#8437)

* Fixes unchecked access to 'deploy' script on build (facebook#8292)

* Downgrade chalk for ie 11 support (facebook#8439)

* Downgrade chalk for ie 11 support

* Update lockfile

* fix(react-scripts): do not redirect served path if request may proxy (facebook#8442)

Moved redirect middleware and noopSW middleware in WDS after hook
So proxy, and before proxy will take precedence before redirect

Closes facebook#8417

* fix(typescriptFormatter): use chalk@2 constructor (facebook#8450)

Related facebook#8164
Related facebook#8439

* update open to v7.0.2 (facebook#8459)

* Correct webpack name casing (facebook#8475)

webpack should always be written in lower-case, according to webpack's branding guidelines https://webpack.js.org/branding

* Downgrade style-loader to v0.23.1 due to CSS modules hot reload… (facebook#8378)

* Prepare 3.4.0 release

* Publish

 - cra-template-typescript@1.0.2
 - cra-template@1.0.2
 - create-react-app@3.4.0
 - react-dev-utils@10.2.0
 - react-error-overlay@6.0.6
 - react-scripts@3.4.0

* Bump pnp-webpack-plugin (facebook#8509)

* Closes webpack dev server and exits process on "end" stdin (facebook#7203)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Widen eslint-config-react-app peer dependency versions (facebook#7790)

Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>

* Fix optional chaining and nullish coalescing support (facebook#8526)

* Update template example in docs (facebook#8561)

* Whitelist main in template.json (facebook#8539)

* Use native ESLint behaviour when extending (facebook#8276)

* Fix proxying API request docs (facebook#8515)

The http-proxy-middleware package has made a major version upgraded and
introduced a breaking change. This fixes the "Configuring the Proxy
Manually" documentation to match the latest version.

* Bump dependencies (facebook#8620)

* Add React.StrictMode to default templates (facebook#8558)

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

* Update to Babel 7.9 (facebook#8681)

* Prepare 3.4.1 release

* Publish

 - babel-preset-react-app@9.1.2
 - cra-template-typescript@1.0.3
 - cra-template@1.0.3
 - create-react-app@3.4.1
 - eslint-config-react-app@5.2.1
 - react-dev-utils@10.2.1
 - react-error-overlay@6.0.7
 - react-scripts@3.4.1

* Update template tests (facebook#8705)

* Bump TypeScript template to 3.8 (facebook#8713)

* Remove Unnecessary files

Co-authored-by: Alex Guerra <alex@heyimalex.com>
Co-authored-by: Rudolph Gottesheim <r.gottesheim@midnight-design.at>
Co-authored-by: Ian Sutherland <ian@iansutherland.ca>
Co-authored-by: Brody McKee <mrmckeb@users.noreply.github.com>
Co-authored-by: Balázs Orbán <info@balazsorban.com>
Co-authored-by: Chuck <chuck@eclecticsaddlebag.com>
Co-authored-by: Darius Tall <kingdaro@gmail.com>
Co-authored-by: Sibiraj <20282546+sibiraj-s@users.noreply.github.com>
Co-authored-by: Andrew Luca <aluca@winify.com>
Co-authored-by: Igor Muchychka <mucsi96@gmail.com>
Co-authored-by: dominic scanlan <dscanlan@users.noreply.github.com>
Co-authored-by: Jack Cross <jackjocross@gmail.com>
Co-authored-by: Dmitry Lepskiy <lepsky.dmitry@gmail.com>
Co-authored-by: Leo Lamprecht <mindrun@icloud.com>
Co-authored-by: Joe Haddad <timer150@gmail.com>
Co-authored-by: Ian Schmitz <ianschmitz@gmail.com>
Co-authored-by: Kent C. Dodds <kent+github@doddsfamily.us>
Co-authored-by: Andrea Puddu <me@nuragic.io>
Co-authored-by: Ryan Marsh <ryan.marsh@mac.com>
Co-authored-by: Leonardo Dino <leonardodino@users.noreply.github.com>
Co-authored-by: ZHAO Jinxiang <xiaoxiangmoe@gmail.com>
Co-authored-by: Tomáš Szabo <tomas.szabo@deftomat.com>
Co-authored-by: Sabesh Rajendran <sabeshkumar@hotmail.com>
Co-authored-by: Sabesh Kumar Rajendran <sabrajendran@paypal.com>
Co-authored-by: Jon Stevens <latchkey@gmail.com>
Co-authored-by: Federico Zivolo <federico.zivolo@gmail.com>
Co-authored-by: szabi <szabolcs.szilagyi@planorama.com>
Co-authored-by: Emil Pålsson <emil@emilpalsson.se>
Co-authored-by: iHmD <6934421+iHmD@users.noreply.github.com>
Co-authored-by: Jerome Leclanche <jerome@leclan.ch>
Co-authored-by: Clément Prévost <prevostclement@gmail.com>
Co-authored-by: Brock Wills <brockwills@gmail.com>
Co-authored-by: Weyert de Boer <weyert@gmail.com>
Co-authored-by: pierreneter <pierreneter@gmail.com>
Co-authored-by: Dominic Tobias <dominic.tobias@gmail.com>
Co-authored-by: brlewis <brlewis@ourdoings.com>
Co-authored-by: Jannis Hell <Primajin@users.noreply.github.com>
Co-authored-by: Doug Ross <doug@onvelocity.com>
Co-authored-by: Andrew <andrew.bestbier@gmail.com>
Co-authored-by: Samuel Meuli <me@samuelmeuli.com>
Co-authored-by: Lewis Llobera <billobera@gmail.com>
Co-authored-by: Jake Moxey <jakemoxey@gmail.com>
Co-authored-by: Iguchi Tomokatsu <tomo14916253@gmail.com>
Co-authored-by: Samuel Meuli <meuli@adobe.com>
Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
Co-authored-by: neilbryson <neilbryson@users.noreply.github.com>
Co-authored-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: Rakan Nimer <rakannimer@gmail.com>
Co-authored-by: Tomer Cohen <tomer@users.noreply.github.com>
Co-authored-by: Alexandr Tovmach <alexandrtovmach@gmail.com>
Co-authored-by: Kyle Bebak <kylebebak@gmail.com>
Co-authored-by: André Lins <andrelucas01@hotmail.com>
Co-authored-by: Kim Persson <kimpers@users.noreply.github.com>
Co-authored-by: Justin Grant <justingrant@users.noreply.github.com>
Co-authored-by: Robert van Steen <hello@rovansteen.nl>
Co-authored-by: Ashrith Reddy <ashrithreddi81@gmail.com>
Co-authored-by: Jacob M-G Evans <27247160+JacobMGEvans@users.noreply.github.com>
Co-authored-by: Damian Senn <damian.senn@gmail.com>
Co-authored-by: Robert FUSZENECKER <fuszenecker@users.noreply.github.com>
Co-authored-by: Jonathan Felchlin <jonathan@energysavvy.com>
Co-authored-by: May <aprilandjan@users.noreply.github.com>
Co-authored-by: Orta <orta.therox@gmail.com>
Co-authored-by: Tomáš Hübelbauer <tomas@hubelbauer.net>
Co-authored-by: Jesse Jackson <jsejcksn@users.noreply.github.com>
Co-authored-by: Jake Boone <jakeboone02@gmail.com>
Co-authored-by: Endi <endiliey@gmail.com>
Co-authored-by: Hugo David-Boyet <hugo.david.boyet@gmail.com>
Co-authored-by: Sean Lafferty <sixers2329@gmail.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: reactjser <54932880+reactjser@users.noreply.github.com>
Co-authored-by: Daniel Lo Nigro <d@d.sb>
Co-authored-by: Chun <11034578+cchanxzy@users.noreply.github.com>
Co-authored-by: Xuhao <xuhao@rubyfans.com>
Co-authored-by: Sean Baines <mrseanbaines@gmail.com>
Co-authored-by: Abdul Wahab ⚡️ <waahab35@gmail.com>
Co-authored-by: Guillaume Hertault <guillaumus@gmail.com>
Co-authored-by: Wataru Ashihara <wataash@users.noreply.github.com>
Co-authored-by: darthmaim <github@darthmaim.de>
Co-authored-by: Joshua Robinson <jbrobin2@gmail.com>
Co-authored-by: Andreas Cederström <andriijas@users.noreply.github.com>
Co-authored-by: Fabiano Brito <fabianopbrito@gmail.com>
Co-authored-by: Kanitkorn Sujautra <lukyth@users.noreply.github.com>
Co-authored-by: Havit Rovik <surat@havit.web.id>
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
Co-authored-by: Dylan Staley <88163+dstaley@users.noreply.github.com>
Co-authored-by: Donavon West <github@donavon.com>
Co-authored-by: James George <jamesgeorge998001@gmail.com>
Co-authored-by: RJ Morgan <22164266+suprj@users.noreply.github.com>
Co-authored-by: Renato Augusto Gama dos Santos <renato_0603@hotmail.com>
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
Co-authored-by: Klas Björkqvist <klas.bjorkqvist@gmail.com>
Co-authored-by: Ali Waseem <github@aliwaseem.com>
Co-authored-by: Max Davidson <davidsonmax@gmail.com>
Co-authored-by: Ben Blank <ben.blank+github@gmail.com>
Co-authored-by: Mike Caulley <mikecaulley@users.noreply.github.com>
Co-authored-by: Trontor <Trontor@users.noreply.github.com>
Co-authored-by: Sean Zhu <interestinglythere@gmail.com>
Co-authored-by: Simon Donaldson <simondonaldson@gmail.com>
Co-authored-by: Wojciech Zieliński <github@rpix.pl>
Co-authored-by: Vadzim <v@vadzim.info>
Co-authored-by: Jerome De Leon <32805276+JeromeDeLeon@users.noreply.github.com>
Co-authored-by: Peet Goddard <github@peet.me.uk>
Co-authored-by: Brian Muenzenmeyer <Brian.Muenzenmeyer@target.com>
Co-authored-by: Sony AK <sony@sony-ak.com>
Co-authored-by: Kai Hao <kevin830726@gmail.com>
Co-authored-by: Tom Valorsa <tomvalorsa@gmail.com>
Co-authored-by: Evan Grim <evan@mirgnave.com>
Co-authored-by: Retsam <Retsam@users.noreply.github.com>
Co-authored-by: Vincent Semrau <vincent.semrau@gmx.de>
Co-authored-by: hdineen <hdineen@hubspot.com>
Co-authored-by: Rasmus Nørskov <rasmus@norskov.org>
Co-authored-by: Kevin Old <kevin@kevinold.com>
Co-authored-by: Boyuan Xu <52206564+dev-xu@users.noreply.github.com>
Co-authored-by: Alex James Vukovity <57100733+alex-vukovity-cko@users.noreply.github.com>
Co-authored-by: Marius Craciunoiu <m@m23.io>
Co-authored-by: Tomoya Fujita <32614176+tomoyaf@users.noreply.github.com>
Co-authored-by: Joshua Pollak <pyrogenic@users.noreply.github.com>
Co-authored-by: Hu Chen <huchenme@users.noreply.github.com>
Co-authored-by: Cassidy Williams <cassidoo@users.noreply.github.com>
Co-authored-by: Christopher Button <38411730+devgeist@users.noreply.github.com>
Co-authored-by: Matthew Curtis <matthew@matthewbryancurtis.com>
Co-authored-by: Andrew Luca <thendrluca@gmail.com>
Co-authored-by: 吕立青 <jimmy.jinglv@gmail.com>
Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>
Co-authored-by: Martin Litvaj <kamahl19@gmail.com>
Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
Co-authored-by: Łukasz Fiszer <lukaszfiszer@users.noreply.github.com>
Co-authored-by: David Powell <djpowell@djpowell.net>
Co-authored-by: Grady Kuhnline <github@heygrady.net>
Co-authored-by: Alex Brazier <aejbrazier.apps@gmail.com>
Co-authored-by: Rohit Singhal <rohitsinghal.rs@gmail.com>
Co-authored-by: Eric Clemmons <eric@smarterspam.com>
Co-authored-by: Kelly <kelly.milligan@gmail.com>
Co-authored-by: Eugene Sviridov <46542370+esvyridov@users.noreply.github.com>
Co-authored-by: Renato Böhler <renato.bohler@gmail.com>
Co-authored-by: Vincent Semrau <vincent.semrau@calimoto.com>
Co-authored-by: Eugene Chybisov <imchybisov@gmail.com>
Co-authored-by: Maël Nison <nison.mael@gmail.com>
Co-authored-by: Kelsey Leftwich <kelsey@headway.io>
Co-authored-by: Vincent <Vinnl@users.noreply.github.com>
Co-authored-by: Evan Boyle <EvanBoyle@users.noreply.github.com>
Co-authored-by: Herman J. Radtke III <herman@hermanradtke.com>
Co-authored-by: KatCon <38962736+connkat@users.noreply.github.com>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Michaël De Boey <info@michaeldeboey.be>
Co-authored-by: Braedon Gough <38016720+braedongough@users.noreply.github.com>
wombleton pushed a commit to AurorNZ/create-react-app that referenced this issue Jun 1, 2021
Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes facebook#7651.
LishuGupta652 pushed a commit to LishuGupta652/create-react-app-1 that referenced this issue Oct 8, 2024
Declare namespaces are supported by babel now, and babel will throw with a nice error message for non-declare namespaces, so this rule is unnecessary. Closes facebook#7651.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants