Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Importing error in React Native starting from nanoevents 3.0 version #44

Closed
farwayer opened this issue Mar 20, 2020 · 18 comments · Fixed by statisticsnorway/ssb-component-library#256, Imageus-OSS/server#33 or concourse/concourse#6684

Comments

@farwayer
Copy link

farwayer commented Mar 20, 2020

Because .cjs source extension is not very commonly used and React Native do not know it and interprets as part of filename.

error: bundling failed: Error: While trying to resolve module `nanoevents` from file `.../src/api/ws/client.js`, the package `.../node_modules/nanoevents/package.json` was successfully found. However, this package itself specifies a `main` module field that could not be resolved (`.../node_modules/nanoevents/index.cjs`. Indeed, none of these files exist:

  * .../node_modules/nanoevents/index.cjs(.native|.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)
  * .../node_modules/nanoevents/index.cjs/index(.native|.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)

Workarounds:

  1. import {createNanoEvents} from 'nanoevents/index'
  2. add .cjs extension to metro.config.js:
const {getDefaultValues} = require('metro-config/src/defaults')
const {resolver: {sourceExts}} = getDefaultValues()

module.exports = {
  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: false,
        inlineRequires: false,
      },
    }),
  },
  resolver: {
    sourceExts: [...sourceExts, 'cjs'],
  },
}

But it will be nice nanoevents package do not cause the error and works without need an additional configuration.

  1. Use index.cjs.js file name instead
  2. Or add react-native field to package.json with index.js value
@TrySound
Copy link
Contributor

This extension is part of node resolution algorithm and a requirement for conditional exports (native node es modules support). The best solution is to open the issue in metro bundler to support it out of the box.

Alternatively you can specify to prefer "module" entry point over "main". Though idk if it's possible in metro.

@farwayer
Copy link
Author

As I can see type, main, module and exports fields are already defined in package.json so nodejs already knows all necessary info for importing package in any mode even without using .cjs extension.

nanoevents is first package I ran into this problem with React Native. Does all other packagers know about .cjs? If it is standard extension than of course it is better to add support of this to metro bundler. But if it is Nodejs only then maybe it is better to use more default .js to prevent such situations IMO.

@TrySound
Copy link
Contributor

If type is "commonjs" then all es modules should have mjs extension. If type is "module" then all commonjs modules should have cjs extension. This is how dual mode works in node. Module types have to be distinct somehow. It's the first package because only a few migrated yet. Node removed experimental flag only a few weeks ago.

@TrySound
Copy link
Contributor

I mean it's technical requirement not just fancy feature.

@ai
Copy link
Owner

ai commented Mar 20, 2020

Use index.cjs.js file name instead

We need .cjs name, because otherwise, Node.js will load it as ES module.

nanoevents is first package I ran into this problem with React Native. Does all other packagers know about .cjs?

Most of the npm packages do not provide ESM for Node.js. Most of the packages provide ESM for webpack only, which does not follow the spec.

If it is standard extension than of course it is better to add support of this to metro bundler.

Yeap, it is part of Node.js standard.

Because .cjs source extension is not very commonly used and React Native do not know it and interprets as part of filename.

Yes, we should start by creating an issue in the metro builder. Can you do it since I am less familiar with the React Native ecosystem?

I do not like “it is your tool” problem answer in the issue. You have a real problem and we need a solution.

Right now I see this solution:

  1. Put ESM file to index.mjs instead of index.js
  2. Put CJS files to index.js instead of index.cjs
  3. Remove type: 'module' from package.json
  4. Use Conditional Exports to load index.mjs on require('nanoevents/index.js').

Unfortunately, we need to support all kind of ESM environments:

  1. Node.js
  2. Webpack, Parcel, Rollup
  3. Loading ESM files to the browsers without bundler by jsDelivr

Unfortunately the index.js → index.mjs fix will force all CDN users to manually add index.mjs to the URLs. I will think about the better solution today and, if I will not find the best solution, I will think about who we should suffer in the situation.

@ai
Copy link
Owner

ai commented Mar 20, 2020

Another idea is to create separated index.native.js for each file and use them instead of index.cjs by package.react-native directive.

@ai
Copy link
Owner

ai commented Mar 21, 2020

I opened an issue in Metro builder

facebook/metro#535

@ai
Copy link
Owner

ai commented Mar 21, 2020

@farwayer can you try Nano Events 5.1.1 with this config?

@farwayer
Copy link
Author

Wow, thank you a lot Andrew for fast answer and fixes. I do not like “it is your tool” problem answer too and try to make everything work out of the box for users. JS ecosystem is already very difficult for developers to add even more complexity.

Some suggestions:

  1. Metro supports ESM modules so you can use it instead CJS.
  2. You do not need extra js file, nor custom metro config at all. All you need is to add react-native field with path to ESM index file. It is enough.

One more small issue I trap into is warning while starting metro server:

warn Package nanoevents has been ignored because it contains invalid configuration. Reason: Package subpath './package.json' is not defined by "exports" in project/node_modules/nanoevents/package.json

Look like metro trying to import nanoevents/package.json file internally and can't find it in exports. But everything works without problems.

@TrySound
Copy link
Contributor

TrySound commented Mar 21, 2020

@ai fix "csj" in metro issue

@ai
Copy link
Owner

ai commented Mar 21, 2020

If I send ESM files to Metro I got

Error: Export statement may only appear at top level in file node_modules/lib/a/index.js at 9:2

lib/a/index.js is:

function a () {
  console.log('cjs a')
}

let toShare = 'shaked-export'

export { a, toShare }

Here is the test

@farwayer

  1. Can you try new Nano Events 5.1.2 fix for package.json warnings?
  2. Can you help me with export error described above? Maybe it is just bug in my test environment

@farwayer
Copy link
Author

@ai
Copy link
Owner

ai commented Mar 22, 2020

@farwayer I found that you PR didn’t fix the problem

New metro doesn’t load pkg['react-native] anymore. With your fix React Native still goes to pkg.main and looks for index.cjs. Your fix works because RN resolves that index.cjs to index.cjs.js.

But at least it does not require to change resolverMainFields.

Here is dual-publish test fix, that shows, that React Native just transpiles import/export` calls by Babel to CommonJS and has no ESM support. ai/dual-publish@0ff0d7d

@ai
Copy link
Owner

ai commented Mar 22, 2020

I released new Nano Events 5.1.3 which works in React Native without any config (thanks for the help).

Unfortunately, without .cjs support fix from Metro we must have 3 files: index.js (for webpack, Node.js ESM, and browsers), index.cjs (for Node.js CJS), and index.cjs.js (for React Native). I think it is OK for temporary solution.

If you will leave a comment in my Metro issue with maintainer mention—it could help move from temporary solution faster.

@ai ai closed this as completed Mar 22, 2020
@farwayer
Copy link
Author

New metro doesn’t load pkg['react-native'] anymore. With your fix React Native still goes to pkg.main and looks for index.cjs.

@ai the problem was not with pkg['react-native'] field but with test configuration. Field in package works in React Native! But it is configured by react-native cli https://github.com/react-native-community/cli/blob/master/packages/cli/src/tools/loadMetroConfig.ts#L53. My bad don't know about it. So please add

resolver: {
  resolverMainFields: ['react-native', 'browser', 'main']
}

to test (as default configuration for React Native). You can back pkg['react-native'] and React Native will use ESM build.

@ai
Copy link
Owner

ai commented Mar 23, 2020

@farwayer thanks for fact that React Native overwrite resolverMainFields.

I simplify React Native support with native ESM and without extra files ai/dual-publish@9d8b073

New Dual Publish and Nano Events versions were published.

ctavan added a commit to uuidjs/uuid that referenced this issue May 12, 2020
It appears that react-native and some bundlers rely on being able to
introspect the package.json file of a npm module. After adding the
`exports` field to package.json, only the paths defined in that field
are accessible to Node.js. In order to support introspection of the
package.json file itself it has to be listed as an export as well.

See also:
ai/nanoevents#44 (comment)

Fixes #444
ctavan added a commit to uuidjs/uuid that referenced this issue May 12, 2020
It appears that react-native and some bundlers rely on being able to
introspect the package.json file of a npm module. After adding the
`exports` field to package.json, only the paths defined in that field
are accessible to Node.js. In order to support introspection of the
package.json file itself it has to be listed as an export as well.

See also:
ai/nanoevents#44 (comment)

Fixes #444
ctavan added a commit to uuidjs/uuid that referenced this issue May 12, 2020
It appears that react-native and some bundlers rely on being able to
introspect the package.json file of a npm module. After adding the
`exports` field to package.json, only the paths defined in that field
are accessible to Node.js. In order to support introspection of the
package.json file itself it has to be listed as an export as well.

See also:
ai/nanoevents#44 (comment)

Fixes #444
@ctavan
Copy link

ctavan commented May 13, 2020

@ai @farwayer @TrySound I would be curious to learn from you if you think package.json should be included in all pkg.exports fields or whether this is a "bug" in react-native: react-native-community/cli#1168

@farwayer
Copy link
Author

farwayer commented May 13, 2020

ctavan added a commit to uuidjs/uuid that referenced this issue May 20, 2020
It appears that react-native and some bundlers rely on being able to
introspect the package.json file of a npm module. After adding the
`exports` field to package.json, only the paths defined in that field
are accessible to Node.js. In order to support introspection of the
package.json file itself it has to be listed as an export as well.

See also:
ai/nanoevents#44 (comment)

Fixes #444
ctavan added a commit to uuidjs/uuid that referenced this issue May 20, 2020
It appears that react-native and some bundlers rely on being able to
introspect the package.json file of a npm module. After adding the
`exports` field to package.json, only the paths defined in that field
are accessible to Node.js. In order to support introspection of the
package.json file itself it has to be listed as an export as well (see:
ai/nanoevents#44 (comment)).

It is currently being discussed to change Node.js' behavior again, see:
nodejs/node#33460
Until then, adding package.json to the exports field should result in
minimum breakage.

Fixes #444
naa0yama added a commit to naa0yama/JoinLogoScpTrialSetLinux that referenced this issue Jun 23, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [csv](https://csv.js.org)
([source](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv))
| [`5.5.3` ->
`6.3.9`](https://renovatebot.com/diffs/npm/csv/5.5.3/6.3.9) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/csv/6.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/csv/6.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/csv/5.5.3/6.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/csv/5.5.3/6.3.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [fs-extra](https://github.com/jprichardson/node-fs-extra) | [`9.1.0`
-> `11.2.0`](https://renovatebot.com/diffs/npm/fs-extra/9.1.0/11.2.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/fs-extra/11.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fs-extra/11.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fs-extra/9.1.0/11.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fs-extra/9.1.0/11.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [uuid](https://github.com/uuidjs/uuid) | [`3.4.0` ->
`10.0.0`](https://renovatebot.com/diffs/npm/uuid/3.4.0/10.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/uuid/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/uuid/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/uuid/3.4.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/uuid/3.4.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [yargs](https://yargs.js.org/)
([source](https://github.com/yargs/yargs)) | [`15.4.1` ->
`17.7.2`](https://renovatebot.com/diffs/npm/yargs/15.4.1/17.7.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/yargs/17.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/yargs/17.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/yargs/15.4.1/17.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/yargs/15.4.1/17.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>adaltas/node-csv (csv)</summary>

###
[`v6.3.9`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#639-2024-05-13)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.8...csv@6.3.9)

**Note:** Version bump only for package csv

###
[`v6.3.8`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#638-2024-02-28)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.7...csv@6.3.8)

**Note:** Version bump only for package csv

###
[`v6.3.7`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#637-2024-02-27)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.6...csv@6.3.7)

**Note:** Version bump only for package csv

###
[`v6.3.6`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#636-2023-12-08)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.5...csv@6.3.6)

**Note:** Version bump only for package csv

###
[`v6.3.5`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#635-2023-10-09)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.4...csv@6.3.5)

**Note:** Version bump only for package csv

###
[`v6.3.4`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#634-2023-10-05)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.3...csv@6.3.4)

**Note:** Version bump only for package csv

###
[`v6.3.3`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#633-2023-08-25)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.2...csv@6.3.3)

##### Bug Fixes

- **csv-demo-ts-cjs-node16:** upgrade module definition after latest
typescript
([87fe919](https://github.com/adaltas/node-csv/commit/87fe91996fb2a8895c252177fca4f0cb59a518f9))

###
[`v6.3.2`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#632-2023-08-24)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.1...csv@6.3.2)

##### Bug Fixes

- commonjs types, run tsc and lint to validate changes
([#&#8203;397](https://github.com/adaltas/node-csv/issues/397))
([e6870fe](https://github.com/adaltas/node-csv/commit/e6870fe272c119e273196522c9771d12ff8b2a35))

###
[`v6.3.1`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#631-2023-05-26)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.3.0...csv@6.3.1)

**Note:** Version bump only for package csv

###
[`v6.3.0`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#630-2023-05-09)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.12...csv@6.3.0)

##### Features

- add unicode chars to formula escape
([#&#8203;387](https://github.com/adaltas/node-csv/issues/387))
([1fc177c](https://github.com/adaltas/node-csv/commit/1fc177c605e8a88e403539806890695a6ba72dec))

###
[`v6.2.12`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#6212-2023-05-04)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.11...csv@6.2.12)

**Note:** Version bump only for package csv

###
[`v6.2.11`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#6211-2023-04-30)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.10...csv@6.2.11)

##### Bug Fixes

- **csv:** fixed CJS types under modern `modernResolution` options
([#&#8203;388](https://github.com/adaltas/node-csv/issues/388))
([54d03e4](https://github.com/adaltas/node-csv/commit/54d03e4779033ef7d574dffa98a7c3ce93da345d))
- **csv:** remove ts files in cjs dist
([d0d1089](https://github.com/adaltas/node-csv/commit/d0d1089c3ef9053c9adb9a9747ce11d5ea5cfe49))

###
[`v6.2.10`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#6210-2023-04-16)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.8...csv@6.2.10)

##### Bug Fixes

- uncaught errors with large stream chunks (fix
[#&#8203;386](https://github.com/adaltas/node-csv/issues/386))
([1d500ed](https://github.com/adaltas/node-csv/commit/1d500edf38ba06fc80409974e08c37c6a40f27a1))

###
[`v6.2.8`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#628-2023-03-03)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.7...csv@6.2.8)

**Note:** Version bump only for package csv

###
[`v6.2.7`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#627-2023-02-08)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.6...csv@6.2.7)

**Note:** Version bump only for package csv

###
[`v6.2.6`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#626-2023-01-31)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.5...csv@6.2.6)

**Note:** Version bump only for package csv

###
[`v6.2.5`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#625-2022-11-30)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.4...csv@6.2.5)

**Note:** Version bump only for package csv

###
[`v6.2.4`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#624-2022-11-28)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.3...csv@6.2.4)

**Note:** Version bump only for package csv

###
[`v6.2.3`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#623-2022-11-22)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.2...csv@6.2.3)

**Note:** Version bump only for package csv

###
[`v6.2.2`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#622-2022-11-08)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.1...csv@6.2.2)

**Note:** Version bump only for package csv

#####
[6.2.1](https://github.com/adaltas/node-csv/compare/csv@6.2.0...csv@6.2.1)
(2022-10-12)

**Note:** Version bump only for package csv

###
[`v6.2.1`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#6212-2023-05-04)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.2.0...csv@6.2.1)

**Note:** Version bump only for package csv

###
[`v6.2.0`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#620-2022-07-10)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.1.5...csv@6.2.0)

##### Features

- ts module Node16 and type declaration to exports field
([#&#8203;341](https://github.com/adaltas/node-csv/issues/341))
([4b0283d](https://github.com/adaltas/node-csv/commit/4b0283d17b7fa46daa1f87380759ba72c71ec79b))

#####
[6.1.5](https://github.com/adaltas/node-csv/compare/csv@6.1.4...csv@6.1.5)
(2022-07-01)

**Note:** Version bump only for package csv

#####
[6.1.4](https://github.com/adaltas/node-csv/compare/csv@6.1.3...csv@6.1.4)
(2022-06-29)

**Note:** Version bump only for package csv

#####
[6.1.3](https://github.com/adaltas/node-csv/compare/csv@6.1.2...csv@6.1.3)
(2022-06-16)

##### Bug Fixes

- **csv-stringify:** quote_match with empty string pattern quotes empty
strings
([#&#8203;345](https://github.com/adaltas/node-csv/issues/345))
([1c22d2e](https://github.com/adaltas/node-csv/commit/1c22d2e07f66dd747150b5a7499b5ebd5bc0f25c)),
closes [#&#8203;344](https://github.com/adaltas/node-csv/issues/344)

#####
[6.1.2](https://github.com/adaltas/node-csv/compare/csv@6.1.1...csv@6.1.2)
(2022-06-14)

**Note:** Version bump only for package csv

#####
[6.1.1](https://github.com/adaltas/node-csv/compare/csv@6.1.0...csv@6.1.1)
(2022-06-14)

##### Bug Fixes

- **csv-stringify:** bom and header in sync mode with no records (fix
[#&#8203;343](https://github.com/adaltas/node-csv/issues/343))
([bff158f](https://github.com/adaltas/node-csv/commit/bff158fbc9001b2cf7177ecd0f16dc97edac55f2))

###
[`v6.1.5`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#615-2022-07-01)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.1.4...csv@6.1.5)

**Note:** Version bump only for package csv

###
[`v6.1.4`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#614-2022-06-29)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.1.3...csv@6.1.4)

**Note:** Version bump only for package csv

###
[`v6.1.3`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#613-2022-06-16)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.1.2...csv@6.1.3)

###
[`v6.1.2`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#612-2022-06-14)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.1.1...csv@6.1.2)

**Note:** Version bump only for package csv

###
[`v6.1.1`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#611-2022-06-14)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.1.0...csv@6.1.1)

###
[`v6.1.0`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#610-2022-05-24)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.0.5...csv@6.1.0)

##### Features

- wg stream api
([8a5eb7d](https://github.com/adaltas/node-csv/commit/8a5eb7dfd31b22217db4fbbc832d707221850785))

###
[`v6.0.5`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#605-2021-12-29)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.0.4...csv@6.0.5)

##### Bug Fixes

- correct exports in package.json with webpack
([154eafb](https://github.com/adaltas/node-csv/commit/154eafbac866eb4499a0d392f8dcd057695c2586))
- **csv-demo-webpack-ts:** simplify export paths
([8d63a14](https://github.com/adaltas/node-csv/commit/8d63a14313bb6b26f13fafb740cc686f1dfaa65f))
- esm exports in package.json files
([c48fe47](https://github.com/adaltas/node-csv/commit/c48fe478ced7560aa078fbc36ec33d6007111e2b)),
closes [#&#8203;308](https://github.com/adaltas/node-csv/issues/308)

###
[`v6.0.4`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#604-2021-11-19)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.0.3...csv@6.0.4)

##### Bug Fixes

- **csv-stringify:** node 12 compatibility in flush
([9145b75](https://github.com/adaltas/node-csv/commit/9145b75012ec71a0b4152036af2275bf28c460e0))

###
[`v6.0.3`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#603-2021-11-19)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.0.2...csv@6.0.3)

##### Bug Fixes

- expose browser esm modules
([eb87355](https://github.com/adaltas/node-csv/commit/eb873557c65912f065d2581d30a17a96b0bfd2d6))

###
[`v6.0.2`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#602-2021-11-18)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.0.1...csv@6.0.2)

##### Bug Fixes

- dont insert polyfills in cjs
[#&#8203;303](https://github.com/adaltas/node-csv/issues/303)
([9baf334](https://github.com/adaltas/node-csv/commit/9baf334044dab90b4a0d096a7e456d0fd5807d5b))

###
[`v6.0.1`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#601-2021-11-15)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@6.0.0...csv@6.0.1)

##### Bug Fixes

- remove samples from publicatgion
([12c221d](https://github.com/adaltas/node-csv/commit/12c221dc37add26f094e3bb7f94b50ee06ff5be6))

###
[`v6.0.0`](https://github.com/adaltas/node-csv/blob/HEAD/packages/csv/CHANGELOG.md#600-2021-11-15)

[Compare
Source](https://github.com/adaltas/node-csv/compare/csv@5.5.3...csv@6.0.0)

##### Bug Fixes

- **csv-generate:** finish called twice in node 16
([3decdf1](https://github.com/adaltas/node-csv/commit/3decdf169ce3b8e0c5cadd257816c346c8e4d3fa))
- **csv:** export csv_sync
([1353284](https://github.com/adaltas/node-csv/commit/1353284aa02bb9f4f727d2653e398a869eebe20d))
- export original lib esm modules
([be25349](https://github.com/adaltas/node-csv/commit/be2534928ba21156e9cde1e15d2e8593d62ffe71))
- fallback to setTimeout is setImmediate is undefined
([3d6a2d0](https://github.com/adaltas/node-csv/commit/3d6a2d0a655af342f28456b46db7ccfe7ee9d664))
- refer to esm files in dist
([b780fbd](https://github.com/adaltas/node-csv/commit/b780fbd26f5e54494e511eb2e004d3cdedee3593))

##### Features

- backport support for node 14
([dbfeb78](https://github.com/adaltas/node-csv/commit/dbfeb78f61ed36f02936d63a53345708ca213e45))
- backward support for node 8
([496231d](https://github.com/adaltas/node-csv/commit/496231dfd838f0a6a72269a5a2390a4c637cef95))
- esm migration
([b5c0d4b](https://github.com/adaltas/node-csv/commit/b5c0d4b191c8b57397808c0922a3f08248506a9f))
- export ts types in sync
([890bf8d](https://github.com/adaltas/node-csv/commit/890bf8d950c18a05cab5e35a461d0847d9425156))
- replace ts types with typesVersions
([acb41d5](https://github.com/adaltas/node-csv/commit/acb41d5031669f2d582e40da1c80f5fd4738fee4))

####
[5.5.2](https://github.com/adaltas/node-csv/compare/csv@5.5.1...csv@5.5.2)
(2021-08-27)

**Note:** Version bump only for package csv

#### 5.5.1 (2021-08-27)

**Note:** Version bump only for package csv

#### Version 5.5.0

feat: browersify

#### Version 5.4.0

-   csv-generate: 3.3.0
-   csv-parse: 4.15.3
-   stream-transform: 2.0.4
-   csv-stringify: 5.6.2

#### Version 5.3.2

-   package: update project description
-   csv-parse: 4.8.8
-   csv-stringify: 5.3.6

#### Version 5.3.1

-   csv-generate: 3.2.4
-   csv-parse: 4.8.2
-   csv-stringify: 5.3.4

#### Version 5.3.0

-   csv-parse: version 4.8.0

#### Version 5.2.0

-   csv-parse: version 4.7.0
-   package: contributing
-   package: code of conduct

#### Version 5.1.3

-   travis: add node.js 12
-   csv-parse: version 4.4.6

#### Version 5.1.2

-   csv-generate: version 3.2.3
-   csv-parse: version 4.4.5
-   csv-stringify: version 5.3.3
-   stream-transform: version 2.0.1
-   ts: new definition files
-   project: fix license in package.json

#### Version 5.1.1

-   es5: fix modules to wrap es5 dependencies

#### Version 5.1.0

-   csv-generate: version 3.2.0
-   csv-stringify: version 5.1.2
-   csv-parse: version 4.3.0
-   stream-transform: version 1.0.8
-   babel: re-integration

#### Version 5.0.1

-   all: modules written in native JavaScript
-   package: switch to MIT license

#### Version 5.0.0

-   csv-generate: version 3.1.0
-   csv-stringify: version 5.0.0
-   csv-parse: version 4.0.1
-   travis: test with Node.js 8, 10 and 11

#### Version 4.0.0

-   es5: support older version of Node.js using Babel
-   readme: update project website url
-   sync: expose the sync api
-   samples: new pipe_funny script
-   samples: rewrite pipe with comments

#### Version 3.1.0

-   csv-parse  ^2.2.0  →  ^2.4.0
-   package: ignore lock files

#### Version 3.0.2

-   package: generate js file before release

#### Version 3.0.1

-   package: attempt to re-submit NPM package, no ./lib/index.js present

#### Version 3.0.0

-   csv-generate: "^2.0.2"
-   csv-parse: "^2.2.0"
-   stream-transform: "^1.0.2"
-   csv-stringify: "^3.0.0"

</details>

<details>
<summary>jprichardson/node-fs-extra (fs-extra)</summary>

###
[`v11.2.0`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1120--2023-11-27)

[Compare
Source](https://github.com/jprichardson/node-fs-extra/compare/11.1.1...11.2.0)

- Copy directory contents in parallel for better performance
([#&#8203;1026](https://github.com/jprichardson/node-fs-extra/pull/1026))
- Refactor internal code to use `async`/`await`
([#&#8203;1020](https://github.com/jprichardson/node-fs-extra/issues/1020))

###
[`v11.1.1`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1111--2023-03-20)

[Compare
Source](https://github.com/jprichardson/node-fs-extra/compare/11.1.0...11.1.1)

- Preserve timestamps when moving files across devices
([#&#8203;992](https://github.com/jprichardson/node-fs-extra/issues/992),
[#&#8203;994](https://github.com/jprichardson/node-fs-extra/pull/994))

###
[`v11.1.0`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1110--2022-11-29)

[Compare
Source](https://github.com/jprichardson/node-fs-extra/compare/11.0.0...11.1.0)

- Re-add `main` field to `package.json` for better TypeScript
compatibility
([#&#8203;979](https://github.com/jprichardson/node-fs-extra/issues/979),
[#&#8203;981](https://github.com/jprichardson/node-fs-extra/pull/981))

###
[`v11.0.0`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1100--2022-11-28)

[Compare
Source](https://github.com/jprichardson/node-fs-extra/compare/10.1.0...11.0.0)

##### Breaking Changes

- Don't allow requiring `fs-extra/lib/SOMETHING` (switched to `exports`)
([#&#8203;974](https://github.com/jprichardson/node-fs-extra/pull/974))
- Require Node v14.14+
([#&#8203;968](https://github.com/jprichardson/node-fs-extra/issues/968),
[#&#8203;969](https://github.com/jprichardson/node-fs-extra/pull/969))

##### New Features

- Add `fs-extra/esm` for ESM named export support; see
[docs](https://github.com/jprichardson/node-fs-extra#esm) for details
([#&#8203;746](https://github.com/jprichardson/node-fs-extra/issues/746),
[#&#8203;974](https://github.com/jprichardson/node-fs-extra/pull/974))
- Add promise support for `fs.readv()`
([#&#8203;970](https://github.com/jprichardson/node-fs-extra/pull/970))

##### Bugfixes

- Don't `stat` filtered items in `copy*`
([#&#8203;965](https://github.com/jprichardson/node-fs-extra/issues/965),
[#&#8203;971](https://github.com/jprichardson/node-fs-extra/pull/971))
- Remove buggy stats check in `copy`
([#&#8203;918](https://github.com/jprichardson/node-fs-extra/issues/918),
[#&#8203;976](https://github.com/jprichardson/node-fs-extra/pull/976))

###
[`v10.1.0`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1010--2022-04-16)

[Compare
Source](https://github.com/jprichardson/node-fs-extra/compare/10.0.1...10.1.0)

- Warn if `fs.realpath.native` does not exist, instead of erroring
([#&#8203;953](https://github.com/jprichardson/node-fs-extra/pull/953))
- Allow explicitly passing `undefined` options to `move()`
([#&#8203;947](https://github.com/jprichardson/node-fs-extra/issues/947),
[#&#8203;955](https://github.com/jprichardson/node-fs-extra/pull/955))
- Use `process.emitWarning` instead of `console.warn`
([#&#8203;954](https://github.com/jprichardson/node-fs-extra/pull/954))

###
[`v10.0.1`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1001--2022-02-22)

[Compare
Source](https://github.com/jprichardson/node-fs-extra/compare/10.0.0...10.0.1)

- Add `sideEffects: false` to `package.json`
([#&#8203;941](https://github.com/jprichardson/node-fs-extra/pull/941))

###
[`v10.0.0`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1000--2021-05-03)

[Compare
Source](https://github.com/jprichardson/node-fs-extra/compare/9.1.0...10.0.0)

##### Breaking changes

- Require Node.js v12+
([#&#8203;886](https://github.com/jprichardson/node-fs-extra/issues/886),
[#&#8203;893](https://github.com/jprichardson/node-fs-extra/pull/893),
[#&#8203;890](https://github.com/jprichardson/node-fs-extra/pull/890),
[#&#8203;894](https://github.com/jprichardson/node-fs-extra/pull/894),
[#&#8203;895](https://github.com/jprichardson/node-fs-extra/pull/895))
- Allow copying broken symlinks
([#&#8203;779](https://github.com/jprichardson/node-fs-extra/pull/779),
[#&#8203;765](https://github.com/jprichardson/node-fs-extra/issues/765),
[#&#8203;638](https://github.com/jprichardson/node-fs-extra/issues/638),
[#&#8203;761](https://github.com/jprichardson/node-fs-extra/issues/761))

**The following changes, although technically semver-major, will not
affect the vast majority of users:**

- Ensure correct type when destination exists for
`ensureLink*()`/`ensureSymlink*()`
([#&#8203;826](https://github.com/jprichardson/node-fs-extra/pull/826),
[#&#8203;786](https://github.com/jprichardson/node-fs-extra/issues/786),
[#&#8203;870](https://github.com/jprichardson/node-fs-extra/issues/870))
- Error when attempting to `copy*()` unknown file type
([#&#8203;880](https://github.com/jprichardson/node-fs-extra/pull/880))
- Remove undocumented options for `remove*()`
([#&#8203;882](https://github.com/jprichardson/node-fs-extra/pull/882))

##### Improvements

- Allow changing case of filenames with `move*()`, even on technically
case-insensitive filesystems
([#&#8203;759](https://github.com/jprichardson/node-fs-extra/issues/759),
[#&#8203;801](https://github.com/jprichardson/node-fs-extra/pull/801))
- Use native `fs.rm*()` for `remove*()` in environments that support it
([#&#8203;882](https://github.com/jprichardson/node-fs-extra/pull/882),
[#&#8203;806](https://github.com/jprichardson/node-fs-extra/issues/806))
- Improve `emptyDir()` performance
([#&#8203;885](https://github.com/jprichardson/node-fs-extra/pull/885))

##### Bugfixes

- Ensure `copy*()`'s `filter` function is not called more than necessary
([#&#8203;883](https://github.com/jprichardson/node-fs-extra/pull/883),
[#&#8203;809](https://github.com/jprichardson/node-fs-extra/issues/809))
- Fix `move*()` raising `EPERM` error when moving a file to the root of
a drive on Windows
([#&#8203;897](https://github.com/jprichardson/node-fs-extra/pull/897),
[#&#8203;819](https://github.com/jprichardson/node-fs-extra/issues/819))

##### Miscellaneous changes

- Do not use `at-least-node` as a dependency
([#&#8203;896](https://github.com/jprichardson/node-fs-extra/pull/896))
- Improve documentation
([#&#8203;888](https://github.com/jprichardson/node-fs-extra/pull/888),
[#&#8203;830](https://github.com/jprichardson/node-fs-extra/issues/830),
[#&#8203;884](https://github.com/jprichardson/node-fs-extra/pull/884),
[#&#8203;843](https://github.com/jprichardson/node-fs-extra/issues/843))

</details>

<details>
<summary>uuidjs/uuid (uuid)</summary>

###
[`v10.0.0`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#1000-2024-06-07)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v9.0.1...v10.0.0)

##### ⚠ BREAKING CHANGES

- update node support (drop node@12, node@14, add node@20)
([#&#8203;750](https://github.com/uuidjs/uuid/issues/750))

##### Features

- support support rfc9562 MAX uuid (new in RFC9562)
([#&#8203;714](https://github.com/uuidjs/uuid/issues/714))
([0385cd3](https://github.com/uuidjs/uuid/commit/0385cd3f18ae9920678b2849932fa7a9d9aee7d0))
- support rfc9562 v6 uuids
([#&#8203;754](https://github.com/uuidjs/uuid/issues/754))
([c4ed13e](https://github.com/uuidjs/uuid/commit/c4ed13e7159d87c9e42a349bdd9dc955f1af46b6))
- support rfc9562 v7 uuids
([#&#8203;681](https://github.com/uuidjs/uuid/issues/681))
([db76a12](https://github.com/uuidjs/uuid/commit/db76a1284760c441438f50a57924b322dae08891))
- update node support matrix (only support node 16-20)
([#&#8203;750](https://github.com/uuidjs/uuid/issues/750))
([883b163](https://github.com/uuidjs/uuid/commit/883b163b9ab9d6655bfbd8a35e61a3c71674dfe1))
- support rfc9562 v8 uuids
([#&#8203;759](https://github.com/uuidjs/uuid/issues/759))
([35a5342](https://github.com/uuidjs/uuid/commit/35a53428202657e402e6b4aa68f56c08194541bf))

##### Bug Fixes

- revert "perf: remove superfluous call to toLowerCase
([#&#8203;677](https://github.com/uuidjs/uuid/issues/677))"
([#&#8203;738](https://github.com/uuidjs/uuid/issues/738))
([e267b90](https://github.com/uuidjs/uuid/commit/e267b9073df1d0ce119ee53c0487fe76acb2be37))

###
[`v9.0.1`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#901-2023-09-12)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v9.0.0...v9.0.1)

##### build

-   Fix CI to work with Node.js 20.x

###
[`v9.0.0`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#900-2022-09-05)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v8.3.2...v9.0.0)

##### ⚠ BREAKING CHANGES

- Drop Node.js 10.x support. This library always aims at supporting one
EOLed LTS release which by this time now is 12.x which has reached EOL
30 Apr 2022.

-   Remove the minified UMD build from the package.

Minified code is hard to audit and since this is a widely used library
it seems more appropriate nowadays to optimize for auditability than to
ship a legacy module format that, at best, serves educational purposes
nowadays.

For production browser use cases, users should be using a bundler. For
educational purposes, today's online sandboxes like replit.com offer
convenient ways to load npm modules, so the use case for UMD through
repos like UNPKG or jsDelivr has largely vanished.

- Drop IE 11 and Safari 10 support. Drop support for browsers that don't
correctly implement const/let and default arguments, and no longer
transpile the browser build to ES2015.

This also removes the fallback on msCrypto instead of the crypto API.

Browser tests are run in the first supported version of each supported
browser and in the latest (as of this commit) version available on
Browserstack.

##### Features

- optimize uuid.v1 by 1.3x uuid.v4 by 4.3x (430%)
([#&#8203;597](https://github.com/uuidjs/uuid/issues/597))
([3a033f6](https://github.com/uuidjs/uuid/commit/3a033f6bab6bb3780ece6d645b902548043280bc))
- remove UMD build
([#&#8203;645](https://github.com/uuidjs/uuid/issues/645))
([e948a0f](https://github.com/uuidjs/uuid/commit/e948a0f22bf22f4619b27bd913885e478e20fe6f)),
closes [#&#8203;620](https://github.com/uuidjs/uuid/issues/620)
- use native crypto.randomUUID when available
([#&#8203;600](https://github.com/uuidjs/uuid/issues/600))
([c9e076c](https://github.com/uuidjs/uuid/commit/c9e076c852edad7e9a06baaa1d148cf4eda6c6c4))

##### Bug Fixes

- add Jest/jsdom compatibility
([#&#8203;642](https://github.com/uuidjs/uuid/issues/642))
([16f9c46](https://github.com/uuidjs/uuid/commit/16f9c469edf46f0786164cdf4dc980743984a6fd))
- change default export to named function
([#&#8203;545](https://github.com/uuidjs/uuid/issues/545))
([c57bc5a](https://github.com/uuidjs/uuid/commit/c57bc5a9a0653273aa639cda9177ce52efabe42a))
- handle error when parameter is not set in v3 and v5
([#&#8203;622](https://github.com/uuidjs/uuid/issues/622))
([fcd7388](https://github.com/uuidjs/uuid/commit/fcd73881692d9fabb63872576ba28e30ff852091))
- run npm audit fix
([#&#8203;644](https://github.com/uuidjs/uuid/issues/644))
([04686f5](https://github.com/uuidjs/uuid/commit/04686f54c5fed2cfffc1b619f4970c4bb8532353))
- upgrading from uuid3 broken link
([#&#8203;568](https://github.com/uuidjs/uuid/issues/568))
([1c849da](https://github.com/uuidjs/uuid/commit/1c849da6e164259e72e18636726345b13a7eddd6))

##### build

- drop Node.js 8.x from babel transpile target
([#&#8203;603](https://github.com/uuidjs/uuid/issues/603))
([aa11485](https://github.com/uuidjs/uuid/commit/aa114858260402107ec8a1e1a825dea0a259bcb5))

- drop support for legacy browsers (IE11, Safari 10)
([#&#8203;604](https://github.com/uuidjs/uuid/issues/604))
([0f433e5](https://github.com/uuidjs/uuid/commit/0f433e5ec444edacd53016de67db021102f36148))

- drop node 10.x to upgrade dev dependencies
([#&#8203;653](https://github.com/uuidjs/uuid/issues/653))
([28a5712](https://github.com/uuidjs/uuid/commit/28a571283f8abda6b9d85e689f95b7d3ee9e282e)),
closes [#&#8203;643](https://github.com/uuidjs/uuid/issues/643)

##### [8.3.2](https://github.com/uuidjs/uuid/compare/v8.3.1...v8.3.2)
(2020-12-08)

##### Bug Fixes

- lazy load getRandomValues
([#&#8203;537](https://github.com/uuidjs/uuid/issues/537))
([16c8f6d](https://github.com/uuidjs/uuid/commit/16c8f6df2f6b09b4d6235602d6a591188320a82e)),
closes [#&#8203;536](https://github.com/uuidjs/uuid/issues/536)

##### [8.3.1](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1)
(2020-10-04)

##### Bug Fixes

- support expo>=39.0.0
([#&#8203;515](https://github.com/uuidjs/uuid/issues/515))
([c65a0f3](https://github.com/uuidjs/uuid/commit/c65a0f3fa73b901959d638d1e3591dfacdbed867)),
closes [#&#8203;375](https://github.com/uuidjs/uuid/issues/375)

###
[`v8.3.2`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#832-2020-12-08)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v8.3.1...v8.3.2)

###
[`v8.3.1`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#831-2020-10-04)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v8.3.0...v8.3.1)

###
[`v8.3.0`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#830-2020-07-27)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v8.2.0...v8.3.0)

##### Features

- add parse/stringify/validate/version/NIL APIs
([#&#8203;479](https://github.com/uuidjs/uuid/issues/479))
([0e6c10b](https://github.com/uuidjs/uuid/commit/0e6c10ba1bf9517796ff23c052fc0468eedfd5f4)),
closes [#&#8203;475](https://github.com/uuidjs/uuid/issues/475)
[#&#8203;478](https://github.com/uuidjs/uuid/issues/478)
[#&#8203;480](https://github.com/uuidjs/uuid/issues/480)
[#&#8203;481](https://github.com/uuidjs/uuid/issues/481)
[#&#8203;180](https://github.com/uuidjs/uuid/issues/180)

###
[`v8.2.0`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#820-2020-06-23)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v8.1.0...v8.2.0)

##### Features

- improve performance of v1 string representation
([#&#8203;453](https://github.com/uuidjs/uuid/issues/453))
([0ee0b67](https://github.com/uuidjs/uuid/commit/0ee0b67c37846529c66089880414d29f3ae132d5))
- remove deprecated v4 string parameter
([#&#8203;454](https://github.com/uuidjs/uuid/issues/454))
([88ce3ca](https://github.com/uuidjs/uuid/commit/88ce3ca0ba046f60856de62c7ce03f7ba98ba46c)),
closes [#&#8203;437](https://github.com/uuidjs/uuid/issues/437)
- support jspm
([#&#8203;473](https://github.com/uuidjs/uuid/issues/473))
([e9f2587](https://github.com/uuidjs/uuid/commit/e9f2587a92575cac31bc1d4ae944e17c09756659))

##### Bug Fixes

- prepare package exports for webpack 5
([#&#8203;468](https://github.com/uuidjs/uuid/issues/468))
([8d6e6a5](https://github.com/uuidjs/uuid/commit/8d6e6a5f8965ca9575eb4d92e99a43435f4a58a8))

###
[`v8.1.0`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#810-2020-05-20)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v8.0.0...v8.1.0)

##### Features

- improve v4 performance by reusing random number array
([#&#8203;435](https://github.com/uuidjs/uuid/issues/435))
([bf4af0d](https://github.com/uuidjs/uuid/commit/bf4af0d711b4d2ed03d1f74fd12ad0baa87dc79d))
- optimize V8 performance of bytesToUuid
([#&#8203;434](https://github.com/uuidjs/uuid/issues/434))
([e156415](https://github.com/uuidjs/uuid/commit/e156415448ec1af2351fa0b6660cfb22581971f2))

##### Bug Fixes

- export package.json required by react-native and bundlers
([#&#8203;449](https://github.com/uuidjs/uuid/issues/449))
([be1c8fe](https://github.com/uuidjs/uuid/commit/be1c8fe9a3206c358e0059b52fafd7213aa48a52)),
closes
[ai/nanoevents#44](https://github.com/ai/nanoevents/issues/44#issuecomment-602010343)
[#&#8203;444](https://github.com/uuidjs/uuid/issues/444)

###
[`v8.0.0`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#800-2020-04-29)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v7.0.3...v8.0.0)

##### ⚠ BREAKING CHANGES

- For native ECMAScript Module (ESM) usage in Node.js only named exports
are exposed, there is no more default export.

    ```diff
    -import uuid from 'uuid';
-console.log(uuid.v4()); // -> 'cd6c3b08-0adc-4f4b-a6ef-36087a1c9869'
    +import { v4 as uuidv4 } from 'uuid';
    +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
    ```

- Deep requiring specific algorithms of this library like
`require('uuid/v4')`, which has been deprecated in `uuid@7`, is no
longer supported.

    Instead use the named exports that this module exports.

    For ECMAScript Modules (ESM):

    ```diff
    -import uuidv4 from 'uuid/v4';
    +import { v4 as uuidv4 } from 'uuid';
    uuidv4();
    ```

    For CommonJS:

    ```diff
    -const uuidv4 = require('uuid/v4');
    +const { v4: uuidv4 } = require('uuid');
    uuidv4();
    ```

##### Features

- native Node.js ES Modules (wrapper approach)
([#&#8203;423](https://github.com/uuidjs/uuid/issues/423))
([2d9f590](https://github.com/uuidjs/uuid/commit/2d9f590ad9701d692625c07ed62f0a0f91227991)),
closes [#&#8203;245](https://github.com/uuidjs/uuid/issues/245)
[#&#8203;419](https://github.com/uuidjs/uuid/issues/419)
[#&#8203;342](https://github.com/uuidjs/uuid/issues/342)
- remove deep requires
([#&#8203;426](https://github.com/uuidjs/uuid/issues/426))
([daf72b8](https://github.com/uuidjs/uuid/commit/daf72b84ceb20272a81bb5fbddb05dd95922cbba))

##### Bug Fixes

- add CommonJS syntax example to README quickstart section
([#&#8203;417](https://github.com/uuidjs/uuid/issues/417))
([e0ec840](https://github.com/uuidjs/uuid/commit/e0ec8402c7ad44b7ef0453036c612f5db513fda0))

##### [7.0.3](https://github.com/uuidjs/uuid/compare/v7.0.2...v7.0.3)
(2020-03-31)

##### Bug Fixes

- make deep require deprecation warning work in browsers
([#&#8203;409](https://github.com/uuidjs/uuid/issues/409))
([4b71107](https://github.com/uuidjs/uuid/commit/4b71107d8c0d2ef56861ede6403fc9dc35a1e6bf)),
closes [#&#8203;408](https://github.com/uuidjs/uuid/issues/408)

##### [7.0.2](https://github.com/uuidjs/uuid/compare/v7.0.1...v7.0.2)
(2020-03-04)

##### Bug Fixes

- make access to msCrypto consistent
([#&#8203;393](https://github.com/uuidjs/uuid/issues/393))
([8bf2a20](https://github.com/uuidjs/uuid/commit/8bf2a20f3565df743da7215eebdbada9d2df118c))
- simplify link in deprecation warning
([#&#8203;391](https://github.com/uuidjs/uuid/issues/391))
([bb2c8e4](https://github.com/uuidjs/uuid/commit/bb2c8e4e9f4c5f9c1eaaf3ea59710c633cd90cb7))
- update links to match content in readme
([#&#8203;386](https://github.com/uuidjs/uuid/issues/386))
([44f2f86](https://github.com/uuidjs/uuid/commit/44f2f86e9d2bbf14ee5f0f00f72a3db1292666d4))

##### [7.0.1](https://github.com/uuidjs/uuid/compare/v7.0.0...v7.0.1)
(2020-02-25)

##### Bug Fixes

- clean up esm builds for node and browser
([#&#8203;383](https://github.com/uuidjs/uuid/issues/383))
([59e6a49](https://github.com/uuidjs/uuid/commit/59e6a49e7ce7b3e8fb0f3ee52b9daae72af467dc))
- provide browser versions independent from module system
([#&#8203;380](https://github.com/uuidjs/uuid/issues/380))
([4344a22](https://github.com/uuidjs/uuid/commit/4344a22e7aed33be8627eeaaf05360f256a21753)),
closes [#&#8203;378](https://github.com/uuidjs/uuid/issues/378)

###
[`v7.0.3`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#703-2020-03-31)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v7.0.2...v7.0.3)

###
[`v7.0.2`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#702-2020-03-04)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v7.0.1...v7.0.2)

###
[`v7.0.1`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#701-2020-02-25)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v7.0.0...v7.0.1)

###
[`v7.0.0`](https://github.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#700-2020-02-24)

[Compare
Source](https://github.com/uuidjs/uuid/compare/v3.4.0...v7.0.0)

##### ⚠ BREAKING CHANGES

- The default export, which used to be the v4() method but which was
already discouraged in v3.x of this library, has been removed.
- Explicitly note that deep imports of the different uuid version
functions are deprecated and no longer encouraged and that ECMAScript
module named imports should be used instead. Emit a deprecation warning
for people who deep-require the different algorithm variants.
- Remove builtin support for insecure random number generators in the
browser. Users who want that will have to supply their own random number
generator function.
-   Remove support for generating v3 and v5 UUIDs in Node.js<4.x
- Convert code base to ECMAScript Modules (ESM) and release CommonJS
build for node and ESM build for browser bundlers.

##### Features

- add UMD build to npm package
([#&#8203;357](https://github.com/uuidjs/uuid/issues/357))
([4e75adf](https://github.com/uuidjs/uuid/commit/4e75adf435196f28e3fbbe0185d654b5ded7ca2c)),
closes [#&#8203;345](https://github.com/uuidjs/uuid/issues/345)
- add various es module and CommonJS examples
([b238510](https://github.com/uuidjs/uuid/commit/b238510bf352463521f74bab175a3af9b7a42555))
- ensure that docs are up-to-date in CI
([ee5e77d](https://github.com/uuidjs/uuid/commit/ee5e77db547474f5a8f23d6c857a6d399209986b))
- hybrid CommonJS & ECMAScript modules build
([a3f078f](https://github.com/uuidjs/uuid/commit/a3f078faa0baff69ab41aed08e041f8f9c8993d0))
- remove insecure fallback random number generator
([3a5842b](https://github.com/uuidjs/uuid/commit/3a5842b141a6e5de0ae338f391661e6b84b167c9)),
closes [#&#8203;173](https://github.com/uuidjs/uuid/issues/173)
- remove support for pre Node.js v4 Buffer API
([#&#8203;356](https://github.com/uuidjs/uuid/issues/356))
([b59b5c5](https://github.com/uuidjs/uuid/commit/b59b5c5ecad271c5453f1a156f011671f6d35627))
- rename repository to github:uuidjs/uuid
([#&#8203;351](https://github.com/uuidjs/uuid/issues/351))
([c37a518](https://github.com/uuidjs/uuid/commit/c37a518e367ac4b6d0aa62dba1bc6ce9e85020f7)),
closes [#&#8203;338](https://github.com/uuidjs/uuid/issues/338)

##### Bug Fixes

- add deep-require proxies for local testing and adjust tests
([#&#8203;365](https://github.com/uuidjs/uuid/issues/365))
([7fedc79](https://github.com/uuidjs/uuid/commit/7fedc79ac8fda4bfd1c566c7f05ef4ac13b2db48))
- add note about removal of default export
([#&#8203;372](https://github.com/uuidjs/uuid/issues/372))
([12749b7](https://github.com/uuidjs/uuid/commit/12749b700eb49db8a9759fd306d8be05dbfbd58c)),
closes [#&#8203;370](https://github.com/uuidjs/uuid/issues/370)
- deprecated deep requiring of the different algorithm versions
([#&#8203;361](https://github.com/uuidjs/uuid/issues/361))
([c0bdf15](https://github.com/uuidjs/uuid/commit/c0bdf15e417639b1aeb0b247b2fb11f7a0a26b23))

</details>

<details>
<summary>yargs/yargs (yargs)</summary>

###
[`v17.7.2`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1772-2023-04-27)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.7.1...v17.7.2)

##### Bug Fixes

- do not crash completion when having negated options
([#&#8203;2322](https://github.com/yargs/yargs/issues/2322))
([7f42848](https://github.com/yargs/yargs/commit/7f428485e75e9b1b0db1320216d1c31469770563))

###
[`v17.7.1`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1771-2023-02-21)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.7.0...v17.7.1)

##### Bug Fixes

- address display bug with default sub-commands
([#&#8203;2303](https://github.com/yargs/yargs/issues/2303))
([9aa2490](https://github.com/yargs/yargs/commit/9aa24908ae4e857161d5084613a402f9dc4895a7))

###
[`v17.7.0`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1770-2023-02-13)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.6.2...v17.7.0)

##### Features

- add method to hide option extras
([#&#8203;2156](https://github.com/yargs/yargs/issues/2156))
([2c144c4](https://github.com/yargs/yargs/commit/2c144c4ea534646df26d6177f73ce917105c6c09))
- convert line break to whitespace for the description of the option
([#&#8203;2271](https://github.com/yargs/yargs/issues/2271))
([4cb41dc](https://github.com/yargs/yargs/commit/4cb41dc80aaa730a2abd15bd3118ecd9f4ebe876))

##### Bug Fixes

- copy the description of the option to its alias in completion
([#&#8203;2269](https://github.com/yargs/yargs/issues/2269))
([f37ee6f](https://github.com/yargs/yargs/commit/f37ee6f7da386a1244bf0a0c21b9572f2bb3131b))

###
[`v17.6.2`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1762-2022-11-03)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.6.1...v17.6.2)

##### Bug Fixes

- **deps:** update dependency yargs-parser to v21.1.1
([#&#8203;2231](https://github.com/yargs/yargs/issues/2231))
([75b4d52](https://github.com/yargs/yargs/commit/75b4d5222f8f0152790b9ca0718fa5314c9a1c6b))
- **lang:** typo in Finnish unknown argument singular form
([#&#8203;2222](https://github.com/yargs/yargs/issues/2222))
([a6dfd0a](https://github.com/yargs/yargs/commit/a6dfd0a8f7f2c58a2e8b7dde0142cc1a12c4e027))

###
[`v17.6.1`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1761-2022-11-02)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.6.0...v17.6.1)

##### Bug Fixes

- **lang:** fix "Not enough non-option arguments" message for the Czech
language ([#&#8203;2242](https://github.com/yargs/yargs/issues/2242))
([3987b13](https://github.com/yargs/yargs/commit/3987b13e31f669d79836cc6ed84105e9be0f9482))

###
[`v17.6.0`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1760-2022-10-01)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.5.1...v17.6.0)

##### Features

- **lang:** Czech locale
([#&#8203;2220](https://github.com/yargs/yargs/issues/2220))
([5895cf1](https://github.com/yargs/yargs/commit/5895cf1ba1dcd5158d284d0c589f5f0caff8b739))
- **usage:** add YARGS_DISABLE_WRAP env variable to disable wrap
([#&#8203;2210](https://github.com/yargs/yargs/issues/2210))
([b680ace](https://github.com/yargs/yargs/commit/b680ace2994dcf14d1a1a928aefd3fe8006b2198))

##### Bug Fixes

- **deno:** use 'globalThis' instead of 'window'
([#&#8203;2186](https://github.com/yargs/yargs/issues/2186))
([#&#8203;2215](https://github.com/yargs/yargs/issues/2215))
([561fc7a](https://github.com/yargs/yargs/commit/561fc7a787228b226e0ba76ab674456cbd30cd37))
- **deps:** cliui with forced strip-ansi update
([#&#8203;2241](https://github.com/yargs/yargs/issues/2241))
([38e8df1](https://github.com/yargs/yargs/commit/38e8df10f0f020ae794329610354521f8458fc41))
- dont clobber description for multiple option calls
([#&#8203;2171](https://github.com/yargs/yargs/issues/2171))
([f91d9b3](https://github.com/yargs/yargs/commit/f91d9b334ad9cfce79a89c08ff210c622b7c528f))
- **typescript:** address warning with objectKeys
([394f5f8](https://github.com/yargs/yargs/commit/394f5f86d15a9bb319276518d36cb560d7cb6322))

#####
[17.5.1](https://github.com/yargs/yargs/compare/v17.5.0...v17.5.1)
(2022-05-16)

##### Bug Fixes

- add missing entries to published files
([#&#8203;2185](https://github.com/yargs/yargs/issues/2185))
([5685382](https://github.com/yargs/yargs/commit/5685382d18dc05f2ec66098d90ab16f31b622753))
- address bug when strict and async middleware used together
([#&#8203;2164](https://github.com/yargs/yargs/issues/2164))
([cbc2eb7](https://github.com/yargs/yargs/commit/cbc2eb726efc1d688ad484e8cbe4d233b212a046))
- **completion:** correct zsh installation instructions
([22e9af2](https://github.com/yargs/yargs/commit/22e9af28bb7a7101aeeac80b5bfd0c18f7e6226f))
- handle multiple node_modules folders determining mainFilename for ESM
([#&#8203;2123](https://github.com/yargs/yargs/issues/2123))
([e0823dd](https://github.com/yargs/yargs/commit/e0823dd7e6ced7eaf1d7d1e67f77374f4ef5cbce))
- **lang:** add missing terms to Russian translation
([#&#8203;2181](https://github.com/yargs/yargs/issues/2181))
([1c331f2](https://github.com/yargs/yargs/commit/1c331f22c71496e3d50cf103a1b21f4a05d97aac))
- prevent infinite loop with empty locale
([#&#8203;2179](https://github.com/yargs/yargs/issues/2179))
([b672e70](https://github.com/yargs/yargs/commit/b672e709e4fc45f50d77f54e42025a5fa7c66a42))
- veriadic arguments override array provided in config (the same as
multiple dash arguments).
([4dac5b8](https://github.com/yargs/yargs/commit/4dac5b8c2f03488c31d40f075075d2ac43134412))

###
[`v17.5.1`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1751-2022-05-16)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.5.0...v17.5.1)

###
[`v17.5.0`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1750-2022-05-11)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.4.1...v17.5.0)

##### Features

- add browser.d.ts and check for existence of Error.captureStackTrace()
([#&#8203;2144](https://github.com/yargs/yargs/issues/2144))
([6192990](https://github.com/yargs/yargs/commit/6192990509cf793c4b10b88884d626893dee89df))

##### Bug Fixes

- **completion:** support for default flags
([db35423](https://github.com/yargs/yargs/commit/db354232705623bbcd8fad362f6a4d6d59650be5))
- import yargs/yargs in esm projects
([#&#8203;2151](https://github.com/yargs/yargs/issues/2151))
([95aed1c](https://github.com/yargs/yargs/commit/95aed1c175ec82e585003883bda1b6b75d5493ce))

#####
[17.4.1](https://github.com/yargs/yargs/compare/v17.4.0...v17.4.1)
(2022-04-09)

##### Bug Fixes

- coerce pollutes argv
([#&#8203;2161](https://github.com/yargs/yargs/issues/2161))
([2d1136d](https://github.com/yargs/yargs/commit/2d1136d303ea805685a973ded62f52efd49b78b9))
- **completion:** don't show positional args choices with option choices
([#&#8203;2148](https://github.com/yargs/yargs/issues/2148))
([b58b5bc](https://github.com/yargs/yargs/commit/b58b5bc2cda7fc15acf559ae4a6a0eda0be06044))
- hide hidden options from completion
([#&#8203;2143](https://github.com/yargs/yargs/issues/2143))
([e086dfa](https://github.com/yargs/yargs/commit/e086dfad7ff11956b1e8779c00cf2351a4cc3b03)),
closes [#&#8203;2142](https://github.com/yargs/yargs/issues/2142)
- show message when showHelpOnFail is chained globally
([#&#8203;2154](https://github.com/yargs/yargs/issues/2154))
([ad9fcac](https://github.com/yargs/yargs/commit/ad9fcacb001a7eb842924408f3a06865a7c7a3b6))

###
[`v17.4.1`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1741-2022-04-09)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.4.0...v17.4.1)

###
[`v17.4.0`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1740-2022-03-19)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.3.1...v17.4.0)

##### Features

- **completion:** choices will now work for all possible aliases of an
option and not just the default long option
([30edd50](https://github.com/yargs/yargs/commit/30edd5067111b2b59387dcc47f4e7af93b9054f3))
- **completion:** positional arguments completion
([#&#8203;2090](https://github.com/yargs/yargs/issues/2090))
([00e4ebb](https://github.com/yargs/yargs/commit/00e4ebbe3acd438e73fdb101e75b4f879eb6d345))

##### Bug Fixes

- **completion:** changed the check for option arguments to match
options that begin with '-', instead of '--', to include short options
([30edd50](https://github.com/yargs/yargs/commit/30edd5067111b2b59387dcc47f4e7af93b9054f3))
- **completion:** fix for completions that contain non-leading hyphens
([30edd50](https://github.com/yargs/yargs/commit/30edd5067111b2b59387dcc47f4e7af93b9054f3))
- failed command usage string is missing arg descriptions and optional
args ([#&#8203;2105](https://github.com/yargs/yargs/issues/2105))
([d6e342d](https://github.com/yargs/yargs/commit/d6e342d8ef2c488f438c32770ba2209cf8223342))
- wrap unknown args in quotes
([#&#8203;2092](https://github.com/yargs/yargs/issues/2092))
([6a29778](https://github.com/yargs/yargs/commit/6a2977867bd58dbd8bb550f7b0b4c4c298835597))

#####
[17.3.1](https://github.com/yargs/yargs/compare/v17.3.0...v17.3.1)
(2021-12-23)

##### Bug Fixes

- **translations:** correct Korean translation
([#&#8203;2095](https://github.com/yargs/yargs/issues/2095))
([c7c2b9e](https://github.com/yargs/yargs/commit/c7c2b9eb340754ddac7bdd1687c7951332c5ebba))

###
[`v17.3.1`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1731-2021-12-23)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.3.0...v17.3.1)

###
[`v17.3.0`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1730-2021-11-30)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.2.1...v17.3.0)

##### Features

- fallback to default bash completion
([74c0ba5](https://github.com/yargs/yargs/commit/74c0ba5cfcc59afa5538de821fad70e1a76a354e))

##### Bug Fixes

- avoid legacy accessors
([#&#8203;2013](https://github.com/yargs/yargs/issues/2013))
([adb0d11](https://github.com/yargs/yargs/commit/adb0d11e02c613af3d9427b3028cc192703a3869))
- **deps:** update dependency yargs-parser to v21
([#&#8203;2063](https://github.com/yargs/yargs/issues/2063))
([76c1951](https://github.com/yargs/yargs/commit/76c19518d74ca94c0edcd450e5c0ef9efeee369d))
- don't fail if "fileURLToPath(import.meta.url)" throws
([3a44796](https://github.com/yargs/yargs/commit/3a44796c84e3cb60769841d5883448a396227ade))
- re-add options to check callback
([#&#8203;2079](https://github.com/yargs/yargs/issues/2079))
([e75319d](https://github.com/yargs/yargs/commit/e75319d99142a048b0abe9856499730fd4bc004c))

#####
[17.2.1](https://www.github.com/yargs/yargs/compare/v17.2.0...v17.2.1)
(2021-09-25)

##### Bug Fixes

- **docs:** stop advertising .argv property
([#&#8203;2036](https://www.github.com/yargs/yargs/issues/2036))
([4f5ecc1](https://www.github.com/yargs/yargs/commit/4f5ecc1427ed6c83f23ea90ee6da75ce0c332f7a)),
closes [#&#8203;2035](https://www.github.com/yargs/yargs/issues/2035)

###
[`v17.2.1`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1721-2021-09-25)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.2.0...v17.2.1)

###
[`v17.2.0`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1720-2021-09-23)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.1.1...v17.2.0)

##### Features

- autocomplete choices for options
([#&#8203;2018](https://www.github.com/yargs/yargs/issues/2018))
([01b2c6a](https://www.github.com/yargs/yargs/commit/01b2c6a99167d826d3d1e6f6b94f18382a17d47e))
- **locales:** Added Uzbek translation
([#&#8203;2024](https://www.github.com/yargs/yargs/issues/2024))
([ee047b9](https://www.github.com/yargs/yargs/commit/ee047b9cd6260ce90d845e7e687228e617c8a30d))

##### Bug Fixes

- boolean option should work with strict
([#&#8203;1996](https://www.github.com/yargs/yargs/issues/1996))
([e9379e2](https://www.github.com/yargs/yargs/commit/e9379e27d49820f4db842f22cda6410bbe2bff10))
- cast error types as TypeScript 4.4 infers them as unknown instead of
any ([#&#8203;2016](https://www.github.com/yargs/yargs/issues/2016))
([01b2c6a](https://www.github.com/yargs/yargs/commit/01b2c6a99167d826d3d1e6f6b94f18382a17d47e))
- conflicts and strip-dashed
([#&#8203;1998](https://www.github.com/yargs/yargs/issues/1998))
([59a86fb](https://www.github.com/yargs/yargs/commit/59a86fb83cfeb8533c6dd446c73cf4166cc455f2))
- emit warning on version name collision
([#&#8203;1986](https://www.github.com/yargs/yargs/issues/1986))
([d0e8292](https://www.github.com/yargs/yargs/commit/d0e829239580bd44873bbde65de2ed7671aa2ab0))
- help command spacing when scriptName is empty
([#&#8203;1994](https://www.github.com/yargs/yargs/issues/1994))
([d33e997](https://www.github.com/yargs/yargs/commit/d33e9972291406490cd8fdad0b3589be234e0f12))

#####
[17.1.1](https://www.github.com/yargs/yargs/compare/v17.1.0...v17.1.1)
(2021-08-13)

##### Bug Fixes

- positional array defaults should not be combined with provided values
([#&#8203;2006](https://www.github.com/yargs/yargs/issues/2006))
([832222d](https://www.github.com/yargs/yargs/commit/832222d7777da49e5c9da6c5801c2dd90d7fa6a2))

###
[`v17.1.1`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1711-2021-08-13)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.1.0...v17.1.1)

###
[`v17.1.0`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1710-2021-08-04)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.0.1...v17.1.0)

##### Features

- update Levenshtein to Damerau-Levenshtein
([#&#8203;1973](https://www.github.com/yargs/yargs/issues/1973))
([d2c121b](https://www.github.com/yargs/yargs/commit/d2c121b00f2e1eb2ea8cc3a23a5039b3a4425bea))

##### Bug Fixes

- coerce middleware should be applied once
([#&#8203;1978](https://www.github.com/yargs/yargs/issues/1978))
([14bd6be](https://www.github.com/yargs/yargs/commit/14bd6bebc3027ae929106b20dd198b9dccdeec31))
- implies should not fail when implied key's value is 0, false or empty
string
([#&#8203;1985](https://www.github.com/yargs/yargs/issues/1985))
([8010472](https://www.github.com/yargs/yargs/commit/80104727d5f2ec4c5b491c1bdec4c94b2db95d9c))
- positionals should not overwrite options
([#&#8203;1992](https://www.github.com/yargs/yargs/issues/1992))
([9d84309](https://www.github.com/yargs/yargs/commit/9d84309e53ce1d30b1c61035ed5c78827a89df86))
- strict should fail unknown arguments
([#&#8203;1977](https://www.github.com/yargs/yargs/issues/1977))
([c804f0d](https://www.github.com/yargs/yargs/commit/c804f0db78e56b44341cc7a91878c27b1b68b9f2))
- wrap(null) no longer causes strange indentation behavior
([#&#8203;1988](https://www.github.com/yargs/yargs/issues/1988))
([e1871aa](https://www.github.com/yargs/yargs/commit/e1871aa792de219b221179417d410931af70d405))

#####
[17.0.1](https://www.github.com/yargs/yargs/compare/v17.0.0...v17.0.1)
(2021-05-03)

##### Bug Fixes

- **build:** Node 12 is now minimum version
([#&#8203;1936](https://www.github.com/yargs/yargs/issues/1936))
([0924566](https://www.github.com/yargs/yargs/commit/09245666e57facb140e0b45a9e45ca704883e5dd))

###
[`v17.0.1`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1701-2021-05-03)

[Compare
Source](https://github.com/yargs/yargs/compare/v17.0.0...v17.0.1)

###
[`v17.0.0`](https://github.com/yargs/yargs/blob/HEAD/CHANGELOG.md#1700-2021-05-02)

[Compare
Source](https://github.com/yargs/yargs/compare/v16.2.0...v17.0.0)

##### ⚠ BREAKING CHANGES

- **node:** drop Node 10
([#&#8203;1919](https://github.com/yargs/yargs/issues/1919))
-   implicitly private methods are now actually private
-   deprecated reset() method is now private (call yargs() instead).
- **yargs-factory:** refactor yargs-factory to use class
([#&#8203;1895](https://github.com/yargs/yargs/issues/1895))
-   .positional() now allowed at root level of yargs.
-   **coerce:** coerce is now applied before validation.
- **async:** yargs now returns a promise if async or check are
asynchronous.
- **middleware:** global middleware now applied when no command is
configured.
- [#&#8203;1823](https://github.com/yargs/yargs/issues/1823) contains
the following breaking API changes:
    -   now returns a promise if handler is async.
- onFinishCommand removed, in favor of being able to await promise.
- getCompletion now invokes callback with err and \`completions, returns
promise of completions.

##### Features

- add commands alias (similar to options function)
([#&#8203;1850](https://www.github.com/yargs/yargs/issues/1850))
([00b74ad](https://www.github.com/yargs/yargs/commit/00b74adcb30ab89b4450ef7105ef1ad32d820ebf))
- add parseSync/parseAsync method
([#&#8203;1898](https://www.github.com/yargs/yargs/issues/1898))
([6130ad8](https://www.github.com/yargs/yargs/commit/6130ad89b85dc49e34190e596e14a2fd3e668781))
- add support for `showVersion`, similar to `showHelp`
([#&#8203;1831](https://www.github.com/yargs/yargs/issues/1831))
([1a1e2d5](https://www.github.com/yargs/yargs/commit/1a1e2d554dca3566bc174584394419be0120d207))
-   adds support

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/naa0yama/JoinLogoScpTrialSetLinux).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkYXRhc291cmNlOm5wbSIsImRlcFR5cGU6ZGVwZW5kZW5jaWVzIiwibWFuYWdlcjpucG0iLCJyZW5vdmF0ZSIsInVwZGF0ZS1tYWpvciIsInZlcnNpb25pbmc6bnBtIl19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment