Npm install g npm ошибка

How to fix npm update error? I run as root

# npm install npm@latest -g

usr/lib
└── (empty)

npm ERR! Linux 4.10.14-200.fc25.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "npm@latest" "-g"
npm ERR! node v6.10.2
npm ERR! npm  v3.10.10
npm ERR! path /usr/lib/node_modules/npm/node_modules/node-gyp
npm ERR! code EEXIST
npm ERR! errno -17
npm ERR! syscall mkdir

npm ERR! EEXIST: file already exists, mkdir '/usr/lib/node_modules/npm/node_modules/node-gyp'
npm ERR! File exists: /usr/lib/node_modules/npm/node_modules/node-gyp
npm ERR! Move it away, and try again.

npm ERR! Please include the following file with any support request:
npm ERR!     /root/npm-debug.log
npm ERR! code 1

And end up without npm.

The log file is at https://www.dropbox.com/s/2maxolbxjlnnp7c/npm-debug_error.log.txt?dl=0

my node version is 6.10.2, using fedora core 25 64bits. The npm version was 3.10.10

I also create an issue on https://github.com/npm/registry/issues/168

Now, npm is not installed:

npm

-bash: /usr/bin/npm: No such file or directory

I’m following the https://github.com/brock/node-reinstall tomorrow, trying a full node uninstall and reinstall if no other advise found.

I run this npm update since it’s the sugested first step for installing polymer-cli in polymer 2.0

https://www.polymer-project.org/2.0/docs/tools/polymer-cli

* 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: …

Пытаюсь выполнить команду:

npm i -g npm-chech-updates

Но что то идет не так :(
Вот что выдает:

C:OpenServerdomainsmysite.ru>npm i -g npm-chech-updates
npm ERR! Windows_NT 10.0.14393
npm ERR! argv «C:\Program Files\nodejs\node.exe» «C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js» «i» «-g» «npm-chech-updates»
npm ERR! node v7.5.0
npm ERR! npm v4.1.2

npm ERR! Cannot read property ‘path’ of null
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!

npm ERR! Please include the following file with any support request:
npm ERR! C:OpenServerdomainsmysite.runpm-debug.log

C:OpenServerdomainsmysite.ru>

Вот содержимое npm-debug.log:

0 info it worked if it ends with ok
1 verbose cli [ ‘C:\Program Files\nodejs\node.exe’,
1 verbose cli ‘C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js’,
1 verbose cli ‘i’,
1 verbose cli ‘-g’,
1 verbose cli ‘npm-chech-updates’ ]
2 info using npm@4.1.2
3 info using node@v7.5.0
4 silly loadCurrentTree Starting
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 silly fetchPackageMetaData npm-chech-updates
8 silly fetchNamedPackageData npm-chech-updates
9 silly mapToRegistry name npm-chech-updates
10 silly mapToRegistry using default registry
11 silly mapToRegistry registry https://registry.npmjs.org/
12 silly mapToRegistry data Result {
12 silly mapToRegistry raw: ‘npm-chech-updates’,
12 silly mapToRegistry scope: null,
12 silly mapToRegistry escapedName: ‘npm-chech-updates’,
12 silly mapToRegistry name: ‘npm-chech-updates’,
12 silly mapToRegistry rawSpec: »,
12 silly mapToRegistry spec: ‘latest’,
12 silly mapToRegistry type: ‘tag’ }
13 silly mapToRegistry uri https://registry.npmjs.org/npm-chech-updates
14 verbose request uri https://registry.npmjs.org/npm-chech-updates
15 verbose request no auth needed
16 info attempt registry request try #1 at 23:24:56
17 verbose request id 2ddd607e4e1dcb0e
18 http request GET https://registry.npmjs.org/npm-chech-updates
19 http 404 https://registry.npmjs.org/npm-chech-updates
20 verbose headers { ‘content-type’: ‘application/json’,
20 verbose headers ‘cache-control’: ‘max-age=0’,
20 verbose headers ‘content-length’: ‘2’,
20 verbose headers ‘accept-ranges’: ‘bytes’,
20 verbose headers date: ‘Mon, 13 Feb 2017 18:25:01 GMT’,
20 verbose headers via: ‘1.1 varnish’,
20 verbose headers age: ‘0’,
20 verbose headers connection: ‘keep-alive’,
20 verbose headers ‘x-served-by’: ‘cache-bma7020-BMA’,
20 verbose headers ‘x-cache’: ‘MISS’,
20 verbose headers ‘x-cache-hits’: ‘0’,
20 verbose headers ‘x-timer’: ‘S1487010300.628431,VS0,VE834’,
20 verbose headers vary: ‘Accept-Encoding’ }
21 silly get cb [ 404,
21 silly get { ‘content-type’: ‘application/json’,
21 silly get ‘cache-control’: ‘max-age=0’,
21 silly get ‘content-length’: ‘2’,
21 silly get ‘accept-ranges’: ‘bytes’,
21 silly get date: ‘Mon, 13 Feb 2017 18:25:01 GMT’,
21 silly get via: ‘1.1 varnish’,
21 silly get age: ‘0’,
21 silly get connection: ‘keep-alive’,
21 silly get ‘x-served-by’: ‘cache-bma7020-BMA’,
21 silly get ‘x-cache’: ‘MISS’,
21 silly get ‘x-cache-hits’: ‘0’,
21 silly get ‘x-timer’: ‘S1487010300.628431,VS0,VE834’,
21 silly get vary: ‘Accept-Encoding’ } ]
22 silly fetchPackageMetaData Error: Registry returned 404 for GET on https://registry.npmjs.org/npm-chech-updates
22 silly fetchPackageMetaData at makeError (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-registry-clientlibrequest.js:304:12)
22 silly fetchPackageMetaData at CachingRegistryClient. (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-registry-clientlibrequest.js:282:14)
22 silly fetchPackageMetaData at Request._callback (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-registry-clientlibrequest.js:212:14)
22 silly fetchPackageMetaData at Request.self.callback (C:Program Filesnodejsnode_modulesnpmnode_modulesrequestrequest.js:186:22)
22 silly fetchPackageMetaData at emitTwo (events.js:106:13)
22 silly fetchPackageMetaData at Request.emit (events.js:192:7)
22 silly fetchPackageMetaData at Request. (C:Program Filesnodejsnode_modulesnpmnode_modulesrequestrequest.js:1081:10)
22 silly fetchPackageMetaData at emitOne (events.js:96:13)
22 silly fetchPackageMetaData at Request.emit (events.js:189:7)
22 silly fetchPackageMetaData at IncomingMessage. (C:Program Filesnodejsnode_modulesnpmnode_modulesrequestrequest.js:1001:12)
22 silly fetchPackageMetaData error for npm-chech-updates { Error: Registry returned 404 for GET on https://registry.npmjs.org/npm-chech-updates
22 silly fetchPackageMetaData at makeError (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-registry-clientlibrequest.js:304:12)
22 silly fetchPackageMetaData at CachingRegistryClient. (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-registry-clientlibrequest.js:282:14)
22 silly fetchPackageMetaData at Request._callback (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-registry-clientlibrequest.js:212:14)
22 silly fetchPackageMetaData at Request.self.callback (C:Program Filesnodejsnode_modulesnpmnode_modulesrequestrequest.js:186:22)
22 silly fetchPackageMetaData at emitTwo (events.js:106:13)
22 silly fetchPackageMetaData at Request.emit (events.js:192:7)
22 silly fetchPackageMetaData at Request. (C:Program Filesnodejsnode_modulesnpmnode_modulesrequestrequest.js:1081:10)
22 silly fetchPackageMetaData at emitOne (events.js:96:13)
22 silly fetchPackageMetaData at Request.emit (events.js:189:7)
22 silly fetchPackageMetaData at IncomingMessage. (C:Program Filesnodejsnode_modulesnpmnode_modulesrequestrequest.js:1001:12) pkgid: ‘npm-chech-updates’, statusCode: 404, code: ‘E404’ }
23 silly rollbackFailedOptional Starting
24 verbose stack TypeError: Cannot read property ‘path’ of null
24 verbose stack at Installer.rollbackFailedOptional (C:Program Filesnodejsnode_modulesnpmlibinstall.js:511:29)
24 verbose stack at Array. (C:Program Filesnodejsnode_modulesnpmnode_modulesslidelibbind-actor.js:15:8)
24 verbose stack at LOOP (C:Program Filesnodejsnode_modulesnpmnode_modulesslidelibchain.js:15:14)
24 verbose stack at C:Program Filesnodejsnode_modulesnpmnode_modulesslidelibchain.js:18:7
24 verbose stack at C:Program Filesnodejsnode_modulesnpmlibinstall.js:337:5
24 verbose stack at Array. (C:Program Filesnodejsnode_modulesnpmnode_modulesslidelibbind-actor.js:15:8)
24 verbose stack at LOOP (C:Program Filesnodejsnode_modulesnpmnode_modulesslidelibchain.js:15:14)
24 verbose stack at chain (C:Program Filesnodejsnode_modulesnpmnode_modulesslidelibchain.js:20:5)
24 verbose stack at C:Program Filesnodejsnode_modulesnpmlibinstall.js:294:5
24 verbose stack at C:Program Filesnodejsnode_modulesnpmnode_modulesslidelibchain.js:16:22
25 verbose cwd C:OpenServerdomainsmysite.ru
26 error Windows_NT 10.0.14393
27 error argv «C:\Program Files\nodejs\node.exe» «C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js» «i» «-g» «npm-chech-updates»
28 error node v7.5.0
29 error npm v4.1.2
30 error Cannot read property ‘path’ of null
31 error If you need help, you may report this error at:
31 error
32 verbose exit [ 1, true ]

В чем ошибка, как её исправить?
Спасибо!

No compatible version found

You have an outdated npm. Please update to the latest stable npm.

Permission Error

npm ERR! code EPERM
npm ERR! code EACCES
  • Fix the permissions of your cache with sudo chown -R $(whoami) "$HOME/.npm".
  • Try again with sudo. e.g. sudo npm install express -g. (You’ll probably need to fix cache permissions afterwards, as above).
  • Reinstall node so it doesn’t require sudo.

Travis projects using 0.8 can’t upgrade to npm 2

In your .travis.yml replace this:

before_install:
- npm install -g [email protected]

with this:

before_install:
- '[ "${TRAVIS_NODE_VERSION}" != "0.8" ] || npm install -g [email protected]'
- npm install -g [email protected]

This suggestion is based on this Travis issue and comes courtesy @simondean.

Error: ENOENT, stat 'C:Users<user>AppDataRoamingnpm' on Windows 7

This is a consequence of joyent/node#8141, and is an issue with the Node installer for Windows. The workaround is to ensure that C:Users<user>AppDataRoamingnpm exists and is writable with your normal user account.

No space

npm ERR! Error: ENOSPC, write

You are trying to install on a drive that either has no space, or has no permission to write.

  • Free some disk space or
  • Set the tmp folder somewhere with more space: npm config set tmp /path/to/big/drive/tmp or
  • Build Node yourself and install it somewhere writable with lots of space.

No git

npm ERR! not found: git
ENOGIT

You need to install git.

running a Vagrant box on Windows fails due to path length issues

@drmyersii went through what sounds like a lot of painful trial and error to come up with a working solution involving Windows long paths and some custom Vagrant configuration:

This is the commit that I implemented it in, but I’ll go ahead and post the main snippet of code here:

config.vm.provider "virtualbox" do |v|
    v.customize ["sharedfolder", "add", :id, "--name", "www", "--hostpath", (("//?/" + File.dirname(__FILE__) + "/www").gsub("/","\"))]
end
 
config.vm.provision :shell, inline: "mkdir /home/vagrant/www"
config.vm.provision :shell, inline: "mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` > www /home/vagrant/www", run: "always"

In the code above, I am appending \? to the current directory absolute path. This will actually force the Windows API to allow an increase in the MAX_PATH variable (normally capped at 260). Read more about max path. This is happening during the sharedfolder creation which is intentionally handled by VBoxManage and not Vagrant’s «synced_folder» method. The last bit is pretty self-explanatory; we create the new shared folder and then make sure it’s mounted each time the machine is accessed or touched since Vagrant likes to reload its mounts/shared folders on each load.

npm only uses git: and ssh+git: URLs for GitHub repos, breaking proxies

@LaurentGoderre fixed this with some Git trickery:

I fixed this issue for several of my colleagues by running the following two commands:

git config --global url."https://github.com/".insteadOf [email protected]:
git config --global url."https://".insteadOf git://

One thing we noticed is that the .gitconfig used is not always the one expected so if you are on a machine that modified the home path to a shared drive, you need to ensure that your .gitconfig is the same on both your shared drive and in c:users[your user]

SSL Error

npm ERR! Error: 7684:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:opensslssls23_clnt.c:787:

You are trying to talk SSL to an unencrypted endpoint. More often than not, this is due to a proxy configuration error (see also this helpful, if dated, guide). In this case, you do not want to disable strict-ssl – you may need to set up a CA / CA file for use with your proxy, but it’s much better to take the time to figure that out than disabling SSL protection.

npm ERR! Error: SSL Error: CERT_UNTRUSTED
npm ERR! Error: SSL Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE

This problem will happen if you’re running Node 0.6. Please upgrade to node 0.8 or above. See this post for details.

You could also try these workarounds: npm config set ca "" or npm config set strict-ssl false

npm ERR! Error: SSL Error: SELF_SIGNED_CERT_IN_CHAIN

npm no longer supports its self-signed certificates

Either:

  • upgrade your version of npm npm install npm -g --ca=""
  • tell your current version of npm to use known registrars npm config set ca=""

If this does not fix the problem, then you may have an SSL-intercepting proxy. (For example, https://github.com/npm/npm/issues/7439#issuecomment-76024878)

SSL-intercepting proxy

Unsolved. See https://github.com/npm/npm/issues/9282

Not found / Server error

npm http 404 https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz
npm ERR! fetch failed https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz
npm ERR! Error: 404 Not Found
npm http 500 https://registry.npmjs.org/phonegap
  • It’s most likely a temporary npm registry glitch. Check npm server status and try again later.
  • If the error persists, perhaps the published package is corrupt. Contact the package owner and have them publish a new version of the package.

Invalid JSON

Error: Invalid JSON
npm ERR! SyntaxError: Unexpected token <
npm ERR! registry error parsing json
  • Possible temporary npm registry glitch, or corrupted local server cache. Run npm cache clean and/or try again later.
  • This can be caused by corporate proxies that give HTML responses to package.json requests. Check npm’s proxy configuration.
  • Check that it’s not a problem with a package you’re trying to install (e.g. invalid package.json).

Many ENOENT / ENOTEMPTY errors in output

npm is written to use resources efficiently on install, and part of this is that it tries to do as many things concurrently as is practical. Sometimes this results in race conditions and other synchronization issues. As of npm 2.0.0, a very large number of these issues were addressed. If you see ENOENT lstat, ENOENT chmod, ENOTEMPTY unlink, or something similar in your log output, try updating npm to the latest version. If the problem persists, look at npm/npm#6043 and see if somebody has already discussed your issue.

cb() never called! when using shrinkwrapped dependencies

Take a look at issue #5920. We’re working on fixing this one, but it’s a fairly subtle race condition and it’s taking us a little time. You might try moving your npm-shrinkwrap.json file out of the way until we have this fixed. This has been fixed in versions of npm newer than [email protected], so update to [email protected].

npm login errors

Sometimes npm login fails for no obvious reason. The first thing to do is to log in at https://www.npmjs.com/login and check that your e-mail address on npmjs.com matches the email address you are giving to npm login.

If that’s not the problem, or if you are seeing the message "may not mix password_sha and pbkdf2", then

  1. Log in at https://npmjs.com/
  2. Change password at https://npmjs.com/password – you can even «change» it to the same password
  3. Clear login-related fields from ~/.npmrc – e.g., by running sed -ie '/registry.npmjs.org/d' ~/.npmrc
  4. npm login

and it generally seems to work.

See https://github.com/npm/npm/issues/6641#issuecomment-72984009 for the history of this issue.

npm hangs on Windows at addRemoteTarball

Check if you have two temp directories set in your .npmrc:

> npm config ls -l

Look for lines defining the tmp config variable. If you find more than one, remove all but one of them.

See https://github.com/npm/npm/issues/7590 for more about this unusual problem.

Other

  • Some strange issues can be resolved by simply running npm cache clean and trying again.
  • If you are having trouble with npm install, use the -verbose option to have more details.


Photo from Unsplash

The npm install command is used for installing JavaScript packages on your local computer.

When developing web projects, you may see issues that cause the npm install command to fail.

You need to see the error message generated in the terminal for clues to resolve the error.

Some of the most common issues for npm install not working are as follows:

  • npm command not found
  • No package.json file describing the dependencies
  • Integrity check failed error
  • For Windows: Python not found

Let’s see how you can resolve these errors next.

The npm command not found error

To run the npm install command, you need to have npm installed on your computer

$ npm install
sh: command not found: npm

The error above happens when npm can’t be found under the PATH environment variable.

First, you need to make sure that npm is installed on your computer.

npm is bundled with Node.js server, which you can download from the nodejs.org website.

Once you downloaded and installed Node.js, open the terminal and run the npm -v command.

You should see the version of npm installed on your computer as follows:

Once you see the npm version, you should be able to run the npm install command again.

For more details, visit the fixing npm command not found error article I’ve written previously.

ENOENT: No package.json file

The npm install command looks for a package.json file in order to find the packages it needs to install.

You need to make sure you have a package.json file right in the current directory where you run the command.

You can run the ls -1 command as follows:

$ ls -1
index.js
package-lock.json
package.json

Once you see there’s a package.json file in the output as shown above, then you can run the npm install command.

For this reason, you should always run the npm install command from the root directory of your project.

By the way, npm install will install packages already listed under the dependencies object of your package.json file.

Suppose you have a package.json file as shown below:

{
  "name": "n-app",
  "version": "1.0.0",
  "description": "A Node application",
  "dependencies": {
    "jest": "^28.1.1",
    "typescript": "^4.5.5",
    "webpack": "^2.7.0"
  }
}

Then npm install will install jest, typescript, and webpack to the generated node_modules/ folder.

If you need to install a new package, then you need to specify the name like these examples:

# 👇 install react package
npm install react

# 👇 install react, react-dom, and axios packages
npm install react react-dom axios

You can install one or many packages with the npm install command.

Integrity check failed error

When you have a package-lock.json file in your project, then npm will check the integrity of the package you downloaded with the one specified in the lock file.

When the checksum of the package is different, then npm will stop the installation and throw the integrity check failed error.

The following is an example of the error:

npm ERR! code EINTEGRITY
npm ERR! Verification failed while extracting @my-package@^1.2.0:
npm ERR! Verification failed while extracting @my-package@^1.2.0:
npm ERR! Integrity check failed:

npm ERR! Wanted: sha512-lQ...HA== 
npm ERR! Found:  sha512-Mj...vg==

When this happens, you can fix the issue by verifying the cache:

When the command is finished, run npm install again.

If you still see the error, then delete your lock file and clean the npm cache.

Run the following commands from your project’s root directory:

# 👇 remove the lock file
rm package-lock.json

# 👇 remove the node_modules folder
rm -rf node_modules

# 👇 Clear the npm cache
npm cache clean --force

# 👇 run npm install again
npm install

That should fix the issue with the integrity check.

For Windows only: Python not found

When running npm install on Windows, you may see an error that says Can’t find Python executable as shown below:

> node-gyp rebuild

/n-app>node "..node_modulesnode-gypbinnode-gyp.js" rebuild
npm http 304 https://registry.npmjs.org/bcrypt
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python",
you can set the PYTHON env variable.

The node-gyp module is a Node.js tool for compiling native modules written in C and C++. It requires Python to run properly.

Instead of installing Python by yourself, you can install the Windows Build Tools which has Python included.

This is because Windows also requires Visual Studio build tools to make node-gyp run successfully.

If you install only Python, then you may find that you need the build tools later.

Please note that the latest version of Node.js for Windows installer already includes the build tools by default.

But if you can’t update your Node.js version yet, then installing the build tools manually should help you fix this error.

Conclusion

The npm install command may fail to work because of many reasons.

When the command doesn’t work, you need to check the output first and see what specific error you have.

Try a Google search to fix the issue. When you don’t see a solution, try posting a new question at Stack Overflow mentioning the things you have tried to fix the issue.

Good luck resolving the issue! 👍

I am trying to install yo and a few other packages in nodejs, however I keep getting errors. I am new to node so I am a little lost.
I am running Mac OS X 10.10.3. The command I am using is

sudo npm install --global yo

Doing this gives me the following errors.

> spawn-sync@1.0.13 postinstall /usr/local/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync
> node postinstall

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
node.js:720
    var cwd = process.cwd();
                      ^
Error: EACCES, permission denied
    at Error (native)
    at Function.startup.resolveArgv0 (node.js:720:23)
    at startup (node.js:63:13)
    at node.js:814:3
npm ERR! Darwin 14.3.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "--global" "yo"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE

npm ERR! spawn-sync@1.0.13 postinstall: `node postinstall`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the spawn-sync@1.0.13 postinstall script 'node postinstall'.
npm ERR! This is most likely a problem with the spawn-sync package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node postinstall
npm ERR! You can get their info via:
npm ERR!     npm owner ls spawn-sync
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/XXXXXXX/npm-debug.log

asked Jul 21, 2015 at 16:37

ryndshn's user avatar

1

In general, you should not be using sudo to install node modules.
Instead, use sudo to fix your folder permissions to allow you to do global npm installs.

Take ownership of the .npm directory with

sudo chown -R $(whoami) ~/.npm

And write permission for the node_modules directory with

sudo chown -R $USER /usr/local/lib/node_modules

Then try to run your npm install command again without sudo.

answered Jul 21, 2015 at 18:06

snozza's user avatar

snozzasnozza

2,12313 silver badges17 bronze badges

7

From your Reddit post, I know that
sudo npm cache clean fixed the issue for you.
Figured someone should answer here so anyone else looking to solve this can find it.

answered Jul 22, 2015 at 4:01

Aweary's user avatar

AwearyAweary

2,30217 silver badges26 bronze badges

0

Running the following commands should solve the problem.

sudo npm cache clean
sudo npm install -g yo 

answered Nov 28, 2016 at 7:14

Samuel Kwame Antwi's user avatar

JavaScript and npm are two powerful tools that work together to help you build websites and applications. JavaScript is a programming language that runs in your web browser, and npm is a package manager that helps you install and manage software packages.

One of the many errors that confuses JavaScript beginners is the “npm: command not found” error, which happens when you try to run npm commands such as npm install.

$ npm install -g n
zsh: command not found: npm

In this article, we will show you a few solutions to fix “npm: command not found” in major platforms such as Windows, macOS and Linux. The fix may vary between different operating system and configurations, but the principles remain the same.

Also see: “Can’t set headers after they are sent to the client” error in Express.js – possible solutions

There are several things that can trigger the ‘npm command not found’ error:

  • npm is not installed: If you’ve downloaded Node.js installer from the official website, npm should be installed already with Node.js. But in order to have a proper setup, follow the advice from npm documentation : We strongly recommend using a Node version manager like nvm to install Node.js and npm. We do not recommend using a Node installer, since the Node installation process installs npm in a directory with local permissions and can cause permissions errors when you run npm packages globally.
  • npm is not present in PATH system variable: Most operating systems look for executables and binaries in a specific set of places. The list of all those places is stored in an environment variable, often named PATH.
  • Node.js is outdated while npm is up-to-date: One software package that depends on another expects its companion to be in a specific version.
  • The current user does not have permission to call npm binary

How to fix “npm command not found” error on Windows

Verify Node.js and npm installation

Before going any further and trying any other solutions, make sure you have Node.js and npm already installed. In order to do so, first, open an elevated PowerShell windows by right-clicking on the Windows icon on the taskbar. and select Windows PowerShell (Admin).

windows powershell admin

Then, sequenrially run “node -v” and “npm -v” to print out Node.js and npm version number. If both commands returned, then Node.js and npm are already installed on your system. Otherwise, you have to download the installer from https://nodejs.org/en/download/ and run it with administrator rights.

Check PATH system variable for Node.js path

If you have Node.js and npm installed, yet the “npm: command not found” persists, the path where npm binary is placed in may not be added to PATH.

Press Start key on your keyboard or click Start button and search for Edit the system environment variables.

edit the system environment variables

Then, sequenrially run “node -v” and “npm -v” to print out Node.js and npm version number. If both commands returned, then Node.js and npm are already installed on your system. Otherwise, you have to download the installer from https://nodejs.org/en/download/ and run it with administrator rights.

Check PATH system variable for Node.js path

If you have Node.js and npm installed, yet the “npm: command not found” persists, the path where npm binary is placed in may not be added to PATH.

Press Start key on your keyboard or click Start button and search for Edit the system environment variables.

edit the system environment variables

In the System Properties window , switch to Advanced tab and select Environment Variables…

system properties

In the Environment Variables window, under System variables, look for Path or PATH system variable, then select Edit….

environment variables

In the list, look for C:Program Filesnodejs. If it’s not presented in the list, to add the path aforementioned to the PATH system variable

Update Node.js

Make sure you’re using the latest version of Node.js to avoid any serious issues. Upgrading is easy – just follow these simple steps.

  1. Right-click on the Windows icon on the taskbar. Select Windows PowerShell (Admin).
  2. Run the following commands to update Node.js and npm:
    • Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
    • npm install -g npm-windows-upgrade
    • npm-windows-upgrade
  3. After any packages install and update, check your version of Node.js to ensure it’s updated by entering “node -v“.

Fix “npm command not found” error in Linux

There are many Linux distributions available, but for the sake of simplicity, this article will focus on solutions for Ubuntu. Ubuntu is one of the most popular Linux distributions and has been around since 2004. It is the perfect choice for those looking for a user-friendly option. You can adapt the instructions below to other Linux distribution as well, including Linux Mint, Fedora, RHEL, etc.

Reinstall npm

If you’ve have already installed nodejs and npm, yet still getting “npm: command not found”, you can try reinstalling it once again by running these commands against a terminal window.

sudo apt-get purge npm node
sudo apt-get install npm node -yCode language: JavaScript (javascript)

Reload or restart VSCode

If you’ve installed npm globally on your system, and you’re getting the error message from VSCode terminal, it might be the terminal that didn’t update the VSCode application. Just close all VSCode windows and reopen the application again to reload all of its module – that should be enough to resolve the issue.

Add npm to PATH system variable

Just like Windows, Linux uses the PATH environment variable to find binaries for each command that run against the terminal. Follow these instructions to add npm to PATH :

  • Open a terminal window pressing CTRL+ALT+T keyboard combination
  • Run which npm to locate the path where npm is placed. You’ll get something like /usr/bin/npm
  • Now run export PATH="/usr/bin:$PATH" to add npm binary location to PATH system variable.
  • You may have to restart the computer for the changes to take effect.

Install Nodejs and npm using nvm

To install or update nvm, you should run its install script. To do that, you may either download and run the script manually, or use the following cURL or Wget command. Please note that the command is ran

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# OR
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashCode language: PHP (php)

Running either of the above commands downloads the nvm installation script and runs it. The script essentially clones the nvm repository to ~/.nvm, and attempts to add the source lines from the snippet below to the correct profile file (~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc).

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvmCode language: PHP (php)

At this point, you may need to log out of your account or reboot the computer for the changes to take effect. Once nvm is installed, you can install the current LTS (Long Term Support) version of Node.js and npm with the following command :

nvm install --lts

The output may look something like this.

Installing latest LTS version.
Downloading and installing node v10.16.3...
Downloading https://nodejs.org/dist/v10.16.3/node-v10.16.3-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v10.16.3 (npm v6.9.0)
Creating default alias: default -> lts/* (-> v10.16.3)Code language: PHP (php)

Give the current user permission to npm path

In rare cases, npm: command not found can be the result of users not having the permission to read and execute the binary. You can easily verify this by prefixing any command with sudo to run it with root privileges. For example, sudo npm --v.

This is often the case with Linux and macOS users. In order to fix any permission

sudo chown -R $(whoami):admin /usr/local/lib/node_modules/Code language: JavaScript (javascript)

The command recursively give the current user the permissions to /usr/local/lib/node_modules/, which is where your node packages are placed. After running the above command,  try the npm command you were attempting again.

Fix “npm command not found” error in macOS

Homebrew is a free and open-source software package management system for Apple’s macOS and Linux operating systems, allowing users to easily install software.

While not being pre-installed on every macOS device, it’s a third-party package manager that administrators never knew they needed until they tried it out

The lightweight package manager is based on Ruby and uses GitHub to fetch installs, update apps, and add repositories where developers can add applications to be managed through command-line interfaces.

Currently, this is by far the easiest way you can get Node.js and npm installed on your macOS-based computer.

In order to install Homebrew, carefully copy and paste the one-line installation command and paste it into Terminal.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Code language: JavaScript (javascript)

If you’re wondering why the command includes /bin/bash instead of ruby like usual, the answer is Homebrew installer has been rewritten in Bash recently to ensure better compatibility.

The Homebrew installer does automatically add brew to PATH, but sometimes, the process may have been interrupted. In that case, you may want to check out our guide on how to fix “brew: command not found” error.

Conclusion

The “npm command not found” error can be a real pain when you’re working to develop an application and need access to an important directory like npm. Without npm, you don’t have access to the libraries for Node.js, which can significantly increase the time it takes to code common features.

If you likes to code in JavaScript, you may be interested in our post on JSON’s end of file expected, which is a very common error that confuses beginners.

Понравилась статья? Поделить с друзьями:
  • Np 38551 2 ошибка ps4
  • Np 37614 1 ошибка ps4
  • Np 34924 2 ps4 ошибка
  • Not a square matrix ошибка в маткаде
  • Not a group by expression oracle ошибка