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

[pull] main from npm:main #1

Open
wants to merge 84 commits into
base: main
Choose a base branch
from
Open

[pull] main from npm:main #1

wants to merge 84 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 25, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

dependabot bot and others added 2 commits January 25, 2023 14:17
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.11.0 to 4.11.3.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.11.0...v4.11.3)

---
updated-dependencies:
- dependency-name: @npmcli/template-oss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
@pull pull bot added the ⤵️ pull label Jan 25, 2023
dependabot bot and others added 27 commits February 8, 2023 10:26
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.11.3 to 4.11.4.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.11.3...v4.11.4)

---
updated-dependencies:
- dependency-name: @npmcli/template-oss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.11.4 to 4.12.0.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.11.4...v4.12.0)

---
updated-dependencies:
- dependency-name: @npmcli/template-oss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: npm CLI robot <[email protected]>
Co-authored-by: Gar <[email protected]>
Which will help library consumers better integrate semver into their apps.

Possible usecases of consuming this constant:

- Automatically show a dropdown of available release types that conform to the semver spec
- Validate user inputs where a release type is expected
documents `RELEASE_TYPES` and `SEMVER_SPEC_VERSION`
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: npm CLI robot <[email protected]>
Co-authored-by: nlf <[email protected]>
Add linting rules to prevent regression in using node internals.
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: npm CLI robot <[email protected]>
Co-authored-by: Gar <[email protected]>
dependabot bot and others added 30 commits December 4, 2023 14:22
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.19.0 to 4.21.0.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.19.0...v4.21.0)

---
updated-dependencies:
- dependency-name: @npmcli/template-oss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.21.1 to 4.21.3.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.21.1...v4.21.3)

---
updated-dependencies:
- dependency-name: "@npmcli/template-oss"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
# What / Why

Introduces the new coerce option `includePrerelease`, if set, allowing
to preserve pre-release and build parts of a version.

## References

Fixes #592
Fixes #357

---------

Co-authored-by: madtisa <[email protected]>
Co-authored-by: Gar <[email protected]>
🤖 I have created a release *beep* *boop*
---


## [7.6.0](v7.5.4...v7.6.0)
(2024-01-31)

### Features

*
[`a7ab13a`](a7ab13a)
[#671](#671) preserve pre-release
and build parts of a version on coerce (#671) (@madtisa, madtisa,
@wraithgar)

### Chores

*
[`816c7b2`](816c7b2)
[#667](#667) postinstall for
dependabot template-oss PR (@lukekarrys)
*
[`0bd24d9`](0bd24d9)
[#667](#667) bump
@npmcli/template-oss from 4.21.1 to 4.21.3 (@dependabot[bot])
*
[`e521932`](e521932)
[#652](#652) postinstall for
dependabot template-oss PR (@lukekarrys)
*
[`8873991`](8873991)
[#652](#652) chore: chore:
postinstall for dependabot template-oss PR (@lukekarrys)
*
[`f317dc8`](f317dc8)
[#652](#652) bump
@npmcli/template-oss from 4.19.0 to 4.21.0 (@dependabot[bot])
*
[`7303db1`](7303db1)
[#658](#658) add clean() test for
build metadata (#658) (@jethrodaniel)
*
[`6240d75`](6240d75)
[#656](#656) add missing quotes
in README.md (#656) (@zyxkad)
*
[`14d263f`](14d263f)
[#625](#625) postinstall for
dependabot template-oss PR (@lukekarrys)
*
[`7c34e1a`](7c34e1a)
[#625](#625) bump
@npmcli/template-oss from 4.18.1 to 4.19.0 (@dependabot[bot])
*
[`123e0b0`](123e0b0)
[#622](#622) postinstall for
dependabot template-oss PR (@lukekarrys)
*
[`737d5e1`](737d5e1)
[#622](#622) bump
@npmcli/template-oss from 4.18.0 to 4.18.1 (@dependabot[bot])
*
[`cce6180`](cce6180)
[#598](#598) postinstall for
dependabot template-oss PR (@lukekarrys)
*
[`b914a3d`](b914a3d)
[#598](#598) bump
@npmcli/template-oss from 4.17.0 to 4.18.0 (@dependabot[bot])

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Correcting the debug message in `compareBuild`
I had these benchmarks from the last time I did some perf research in
this repo, so I thought maybe it was a good idea to have them in the
repo itself, so other people can use them and you guys can verify if the
perf is still good or you had any regression.
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.21.3 to 4.21.4.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.21.3...v4.21.4)

---
updated-dependencies:
- dependency-name: @npmcli/template-oss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
This change removes the dependency on the `lru-cache` package. It is
replaced by a comparable, but much simpler class in this package.
#704 removed usage of `lru-cache`, but the dependency wasn't removed
from `package.json`
🤖 I have created a release *beep* *boop*
---


## [7.6.1](v7.6.0...v7.6.1)
(2024-05-04)

### Bug Fixes

*
[`c570a34`](c570a34)
[#704](#704) linting:
no-unused-vars (@wraithgar)
*
[`ad8ff11`](ad8ff11)
[#704](#704) use internal cache
implementation (@mbtools)
*
[`ac9b357`](ac9b357)
[#682](#682) typo in compareBuild
debug message (#682) (@mbtools)

### Dependencies

*
[`988a8de`](988a8de)
[#709](#709) uninstall
`lru-cache` (#709)
*
[`3fabe4d`](3fabe4d)
[#704](#704) remove lru-cache

### Chores

*
[`dd09b60`](dd09b60)
[#705](#705) bump
@npmcli/template-oss to 4.22.0 (@lukekarrys)
*
[`ec49cdc`](ec49cdc)
[#701](#701) chore: chore:
postinstall for dependabot template-oss PR (@lukekarrys)
*
[`b236c3d`](b236c3d)
[#696](#696) add benchmarks
(#696) (@H4ad)
*
[`692451b`](692451b)
[#688](#688) various improvements
to README (#688) (@mbtools)
*
[`5feeb7f`](5feeb7f)
[#705](#705) postinstall for
dependabot template-oss PR (@lukekarrys)
*
[`074156f`](074156f)
[#701](#701) bump
@npmcli/template-oss from 4.21.3 to 4.21.4 (@dependabot[bot])

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
The default implementation already returns boolean if the value has been
deleted.


https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/delete#return_value

It's also faster since we don't double check the hashmap for a value.

---------

Co-authored-by: Luke Karrys <[email protected]>
🤖 I have created a release *beep* *boop*
---


## [7.6.2](v7.6.1...v7.6.2)
(2024-05-09)

### Bug Fixes

*
[`6466ba9`](6466ba9)
[#713](#713) lru: use
map.delete() directly (#713) (@negezor, @lukekarrys)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
<!-- What / Why -->
<!-- Describe the request in detail. What it does and why it's being
changed. -->

This pull request optimizes the Range class in the following ways:

1. Produce fewer intermediate objects when reducing a range's space
characters to single spaces. This seems to improve bench-subset scores
by up to 5%, and bench-satisfies scores to a lesser degree.
2. Optimize Range formatting with explicit for loops instead, avoiding
an intermediate array creation. This seems to improve bench-satisfies
and bench-subset scores by up to 20%.
3. Calculate Range's `.range` string (used by `.format()` and
`.toString()`) lazily. This seems to improve bench-satisfies and
bench-subset scores by up to 9%.

The external interface for the class stays the same, except for the new
internal `.formatted` property used to cache its lazily calculated
string. `Range#range` property is now also read-only.

There is a new test lazy formatting to ensure full test coverage.

The benchmarks bench-satisfies and bench-subset benefit from these
changes, sometimes by up to 40%. Other benchmark results seem to stay
the same. Here are the affected benchmarks before:

```
$ node benchmarks/bench-satisfies.js
satisfies(1.0.6, 1.0.3||^2.0.0) x 695,094 ops/sec ±0.68% (97 runs sampled)
satisfies(1.0.6, 2.2.2||~3.0.0) x 764,115 ops/sec ±0.40% (99 runs sampled)
satisfies(1.0.6, 2.3.0||<4.0.0) x 805,593 ops/sec ±0.62% (97 runs sampled)
satisfies(1.0.6, 1.0.3||^2.0.0, {"includePrelease":true}) x 695,045 ops/sec ±0.73% (95 runs sampled)
satisfies(1.0.6, 2.2.2||~3.0.0, {"includePrelease":true}) x 750,433 ops/sec ±0.66% (99 runs sampled)
satisfies(1.0.6, 2.3.0||<4.0.0, {"includePrelease":true}) x 787,903 ops/sec ±0.39% (99 runs sampled)
satisfies(1.0.6, 1.0.3||^2.0.0, {"includePrelease":true,"loose":true}) x 652,166 ops/sec ±0.34% (99 runs sampled)
satisfies(1.0.6, 2.2.2||~3.0.0, {"includePrelease":true,"loose":true}) x 696,377 ops/sec ±0.36% (96 runs sampled)
satisfies(1.0.6, 2.3.0||<4.0.0, {"includePrelease":true,"loose":true}) x 721,729 ops/sec ±0.35% (98 runs sampled)
satisfies(1.0.6, 1.0.3||^2.0.0, {"includePrelease":true,"loose":true,"rtl":true}) x 585,692 ops/sec ±0.75% (95 runs sampled)
satisfies(1.0.6, 2.2.2||~3.0.0, {"includePrelease":true,"loose":true,"rtl":true}) x 631,653 ops/sec ±0.33% (96 runs sampled)
satisfies(1.0.6, 2.3.0||<4.0.0, {"includePrelease":true,"loose":true,"rtl":true}) x 650,110 ops/sec ±0.64% (95 runs sampled)

$ node benchmarks/bench-subset.js
subset(1.2.3, *) x 633,342 ops/sec ±0.61% (95 runs sampled)
subset(^1.2.3, *) x 743,036 ops/sec ±0.47% (97 runs sampled)
subset(^1.2.3-pre.0, *) x 680,087 ops/sec ±0.76% (98 runs sampled)
subset(^1.2.3-pre.0, *) x 680,948 ops/sec ±0.46% (96 runs sampled)
subset(1 || 2 || 3, *) x 330,669 ops/sec ±0.53% (98 runs sampled)
```

And after:

```
$ node benchmarks/bench-satisfies.js
satisfies(1.0.6, 1.0.3||^2.0.0) x 896,936 ops/sec ±0.53% (94 runs sampled)
satisfies(1.0.6, 2.2.2||~3.0.0) x 998,214 ops/sec ±0.40% (95 runs sampled)
satisfies(1.0.6, 2.3.0||<4.0.0) x 1,000,593 ops/sec ±0.43% (97 runs sampled)
satisfies(1.0.6, 1.0.3||^2.0.0, {"includePrelease":true}) x 890,369 ops/sec ±0.41% (100 runs sampled)
satisfies(1.0.6, 2.2.2||~3.0.0, {"includePrelease":true}) x 977,239 ops/sec ±0.48% (97 runs sampled)
satisfies(1.0.6, 2.3.0||<4.0.0, {"includePrelease":true}) x 983,682 ops/sec ±0.95% (96 runs sampled)
satisfies(1.0.6, 1.0.3||^2.0.0, {"includePrelease":true,"loose":true}) x 805,330 ops/sec ±0.84% (98 runs sampled)
satisfies(1.0.6, 2.2.2||~3.0.0, {"includePrelease":true,"loose":true}) x 894,117 ops/sec ±0.43% (99 runs sampled)
satisfies(1.0.6, 2.3.0||<4.0.0, {"includePrelease":true,"loose":true}) x 911,742 ops/sec ±0.42% (96 runs sampled)
satisfies(1.0.6, 1.0.3||^2.0.0, {"includePrelease":true,"loose":true,"rtl":true}) x 741,254 ops/sec ±0.35% (97 runs sampled)
satisfies(1.0.6, 2.2.2||~3.0.0, {"includePrelease":true,"loose":true,"rtl":true}) x 807,380 ops/sec ±0.42% (99 runs sampled)
satisfies(1.0.6, 2.3.0||<4.0.0, {"includePrelease":true,"loose":true,"rtl":true}) x 820,390 ops/sec ±0.37% (99 runs sampled)

$ node benchmarks/bench-subset.js
subset(1.2.3, *) x 905,030 ops/sec ±0.63% (96 runs sampled)
subset(^1.2.3, *) x 1,026,457 ops/sec ±0.63% (95 runs sampled)
subset(^1.2.3-pre.0, *) x 923,789 ops/sec ±0.41% (97 runs sampled)
subset(^1.2.3-pre.0, *) x 923,136 ops/sec ±0.44% (96 runs sampled)
subset(1 || 2 || 3, *) x 432,037 ops/sec ±0.67% (96 runs sampled)
```
🤖 I have created a release *beep* *boop*
---


## [7.6.3](v7.6.2...v7.6.3)
(2024-07-16)

### Bug Fixes

*
[`73a3d79`](73a3d79)
[#726](#726) optimize Range
parsing and formatting (#726) (@jviide)

### Documentation

*
[`2975ece`](2975ece)
[#719](#719) fix extra backtick
typo (#719) (@stdavis)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.22.0 to 4.23.1.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.22.0...v4.23.1)

---
updated-dependencies:
- dependency-name: @npmcli/template-oss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.22.0 to 4.23.1.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.22.0...v4.23.1)

---
updated-dependencies:
- dependency-name: @npmcli/template-oss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [@npmcli/template-oss](https://github.com/npm/template-oss) from 4.23.1 to 4.23.3.
- [Release notes](https://github.com/npm/template-oss/releases)
- [Changelog](https://github.com/npm/template-oss/blob/main/CHANGELOG.md)
- [Commits](npm/template-oss@v4.23.1...v4.23.3)

---
updated-dependencies:
- dependency-name: @npmcli/template-oss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [@npmcli/eslint-config](https://github.com/npm/eslint-config) from 4.0.5 to 5.0.0.
- [Release notes](https://github.com/npm/eslint-config/releases)
- [Changelog](https://github.com/npm/eslint-config/blob/main/CHANGELOG.md)
- [Commits](npm/eslint-config@v4.0.5...v5.0.0)

---
updated-dependencies:
- dependency-name: "@npmcli/eslint-config"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Adds an explanation why the "=" and "v" prefixes should not be used
anymore.

---------

Co-authored-by: Jordan Harband <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.