diff --git a/.changeset/large-knives-add.md b/.changeset/large-knives-add.md deleted file mode 100644 index 045190cf..00000000 --- a/.changeset/large-knives-add.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"eslint-plugin-es-x": minor ---- - -Add `no-arraybuffer-base64` config diff --git a/.changeset/late-donuts-kiss.md b/.changeset/late-donuts-kiss.md deleted file mode 100644 index 095f60b5..00000000 --- a/.changeset/late-donuts-kiss.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"eslint-plugin-es-x": minor ---- - -Add `es-x/no-uint8array-frombase64` rule diff --git a/.changeset/late-donuts-kiss2.md b/.changeset/late-donuts-kiss2.md deleted file mode 100644 index 9e7359c0..00000000 --- a/.changeset/late-donuts-kiss2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"eslint-plugin-es-x": minor ---- - -Add `es-x/no-uint8array-fromhex` rule diff --git a/.changeset/late-donuts-kiss3.md b/.changeset/late-donuts-kiss3.md deleted file mode 100644 index 51ff9bd7..00000000 --- a/.changeset/late-donuts-kiss3.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"eslint-plugin-es-x": minor ---- - -Add `es-x/no-uint8array-prototype-setfrombase64` rule diff --git a/.changeset/late-donuts-kiss4.md b/.changeset/late-donuts-kiss4.md deleted file mode 100644 index d51825f0..00000000 --- a/.changeset/late-donuts-kiss4.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"eslint-plugin-es-x": minor ---- - -Add `es-x/no-uint8array-prototype-setfromhex` rule diff --git a/.changeset/late-donuts-kiss5.md b/.changeset/late-donuts-kiss5.md deleted file mode 100644 index e1452c2b..00000000 --- a/.changeset/late-donuts-kiss5.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"eslint-plugin-es-x": minor ---- - -Add `es-x/no-uint8array-prototype-tobase64` rule diff --git a/.changeset/late-donuts-kiss6.md b/.changeset/late-donuts-kiss6.md deleted file mode 100644 index 8276324b..00000000 --- a/.changeset/late-donuts-kiss6.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"eslint-plugin-es-x": minor ---- - -Add `es-x/no-uint8array-prototype-tohex` rule diff --git a/.changeset/no-math-sumprecise.md b/.changeset/no-math-sumprecise.md deleted file mode 100644 index 99c7d75c..00000000 --- a/.changeset/no-math-sumprecise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"eslint-plugin-es-x": minor ---- - -Add `es-x/no-math-sumprecise` rule diff --git a/CHANGELOG.md b/CHANGELOG.md index 2acd0c73..f0b0a9a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # eslint-plugin-es-x +## 9.1.0 + +### Minor Changes + +- Add `no-arraybuffer-base64` config ([#249](https://github.com/eslint-community/eslint-plugin-es-x/pull/249)) + +- Add `es-x/no-uint8array-frombase64` rule ([#249](https://github.com/eslint-community/eslint-plugin-es-x/pull/249)) + +- Add `es-x/no-uint8array-fromhex` rule ([#249](https://github.com/eslint-community/eslint-plugin-es-x/pull/249)) + +- Add `es-x/no-uint8array-prototype-setfrombase64` rule ([#249](https://github.com/eslint-community/eslint-plugin-es-x/pull/249)) + +- Add `es-x/no-uint8array-prototype-setfromhex` rule ([#249](https://github.com/eslint-community/eslint-plugin-es-x/pull/249)) + +- Add `es-x/no-uint8array-prototype-tobase64` rule ([#249](https://github.com/eslint-community/eslint-plugin-es-x/pull/249)) + +- Add `es-x/no-uint8array-prototype-tohex` rule ([#249](https://github.com/eslint-community/eslint-plugin-es-x/pull/249)) + +- Add `es-x/no-math-sumprecise` rule ([#266](https://github.com/eslint-community/eslint-plugin-es-x/pull/266)) + ## 9.0.0 ### Major Changes diff --git a/docs/rules/index.md b/docs/rules/index.md index 70e12d5a..e41eb3c4 100644 --- a/docs/rules/index.md +++ b/docs/rules/index.md @@ -14,6 +14,7 @@ There is a config that enables the rules in this category: [`no-new-in-esnext`] | [es-x/no-asyncdisposablestack](./no-asyncdisposablestack.md) | disallow the `AsyncDisposableStack` class. | | | [es-x/no-disposablestack](./no-disposablestack.md) | disallow the `DisposableStack` class. | | | [es-x/no-error-iserror](./no-error-iserror.md) | disallow the `Error.isError` method. | | +| [es-x/no-math-sumprecise](./no-math-sumprecise.md) | disallow the `Math.sumPrecise` method. | | | [es-x/no-suppressederror](./no-suppressederror.md) | disallow the `SuppressedError` class. | | | [es-x/no-symbol-asyncdispose](./no-symbol-asyncdispose.md) | disallow the `Symbol.asyncDispose` property. | | | [es-x/no-symbol-dispose](./no-symbol-dispose.md) | disallow the `Symbol.dispose` property. | | diff --git a/docs/rules/no-math-sumprecise.md b/docs/rules/no-math-sumprecise.md index 493a0360..32771501 100644 --- a/docs/rules/no-math-sumprecise.md +++ b/docs/rules/no-math-sumprecise.md @@ -1,5 +1,13 @@ +--- +title: "es-x/no-math-sumprecise" +description: "disallow the `Math.sumPrecise` method" +since: "v9.1.0" +--- + # es-x/no-math-sumprecise -> +> disallow the `Math.sumPrecise` method + +- ✅ The following configurations enable this rule: [no-new-in-esnext] This rule reports ES2026 [`Math.sumPrecise` property](https://github.com/tc39/proposal-math-sum) as errors. @@ -37,3 +45,14 @@ This rule has an option. Configure the allowTestedProperty mode for only this rule. This is prior to the `settings['es-x'].allowTestedProperty` setting. + +## 🚀 Version + +This rule was introduced in v9.1.0. + +## 📚 References + +- [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-math-sumprecise.js) +- [Test source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/tests/lib/rules/no-math-sumprecise.js) + +[no-new-in-esnext]: ../configs/index.md#no-new-in-esnext diff --git a/docs/rules/no-uint8array-frombase64.md b/docs/rules/no-uint8array-frombase64.md index 62a8930f..1a0ef409 100644 --- a/docs/rules/no-uint8array-frombase64.md +++ b/docs/rules/no-uint8array-frombase64.md @@ -1,12 +1,12 @@ --- title: "es-x/no-uint8array-frombase64" description: "disallow the `Uint8Array.fromBase64` method" +since: "v9.1.0" --- # es-x/no-uint8array-frombase64 > disallow the `Uint8Array.fromBase64` method -- ❗ ***This rule has not been released yet.*** - ✅ The following configurations enable this rule: [no-arraybuffer-base64] and [no-new-in-esnext] This rule reports ES2026 [`Uint8Array.fromBase64` method](https://github.com/tc39/proposal-arraybuffer-base64) as errors. @@ -46,6 +46,10 @@ This rule has an option. Configure the allowTestedProperty mode for only this rule. This is prior to the `settings['es-x'].allowTestedProperty` setting. +## 🚀 Version + +This rule was introduced in v9.1.0. + ## 📚 References - [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-uint8array-frombase64.js) diff --git a/docs/rules/no-uint8array-fromhex.md b/docs/rules/no-uint8array-fromhex.md index 92a96e99..1b75713d 100644 --- a/docs/rules/no-uint8array-fromhex.md +++ b/docs/rules/no-uint8array-fromhex.md @@ -1,12 +1,12 @@ --- title: "es-x/no-uint8array-fromhex" description: "disallow the `Uint8Array.fromHex` method" +since: "v9.1.0" --- # es-x/no-uint8array-fromhex > disallow the `Uint8Array.fromHex` method -- ❗ ***This rule has not been released yet.*** - ✅ The following configurations enable this rule: [no-arraybuffer-base64] and [no-new-in-esnext] This rule reports ES2026 [`Uint8Array.fromHex` method](https://github.com/tc39/proposal-arraybuffer-hex) as errors. @@ -46,6 +46,10 @@ This rule has an option. Configure the allowTestedProperty mode for only this rule. This is prior to the `settings['es-x'].allowTestedProperty` setting. +## 🚀 Version + +This rule was introduced in v9.1.0. + ## 📚 References - [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-uint8array-fromhex.js) diff --git a/docs/rules/no-uint8array-prototype-setfrombase64.md b/docs/rules/no-uint8array-prototype-setfrombase64.md index 209347b0..e4c0fdad 100644 --- a/docs/rules/no-uint8array-prototype-setfrombase64.md +++ b/docs/rules/no-uint8array-prototype-setfrombase64.md @@ -1,12 +1,12 @@ --- title: "es-x/no-uint8array-prototype-setfrombase64" description: "disallow the `Uint8Array.prototype.setFromBase64` method" +since: "v9.1.0" --- # es-x/no-uint8array-prototype-setfrombase64 > disallow the `Uint8Array.prototype.setFromBase64` method -- ❗ ***This rule has not been released yet.*** - ✅ The following configurations enable this rule: [no-arraybuffer-base64] and [no-new-in-esnext] This rule reports ES2026 [`Uint8Array.prototype.setFromBase64` method](https://github.com/tc39/proposal-arraybuffer-base64) as errors. @@ -55,6 +55,10 @@ This is prior to the `settings['es-x'].aggressive` setting. Configure the allowTestedProperty mode for only this rule. This is prior to the `settings['es-x'].allowTestedProperty` setting. +## 🚀 Version + +This rule was introduced in v9.1.0. + ## 📚 References - [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-uint8array-prototype-setfrombase64.js) diff --git a/docs/rules/no-uint8array-prototype-setfromhex.md b/docs/rules/no-uint8array-prototype-setfromhex.md index 55a30856..a93fdc51 100644 --- a/docs/rules/no-uint8array-prototype-setfromhex.md +++ b/docs/rules/no-uint8array-prototype-setfromhex.md @@ -1,12 +1,12 @@ --- title: "es-x/no-uint8array-prototype-setfromhex" description: "disallow the `Uint8Array.prototype.setFromHex` method" +since: "v9.1.0" --- # es-x/no-uint8array-prototype-setfromhex > disallow the `Uint8Array.prototype.setFromHex` method -- ❗ ***This rule has not been released yet.*** - ✅ The following configurations enable this rule: [no-arraybuffer-base64] and [no-new-in-esnext] This rule reports ES2026 [`Uint8Array.prototype.setFromHex` method](https://github.com/tc39/proposal-arraybuffer-base64) as errors. @@ -55,6 +55,10 @@ This is prior to the `settings['es-x'].aggressive` setting. Configure the allowTestedProperty mode for only this rule. This is prior to the `settings['es-x'].allowTestedProperty` setting. +## 🚀 Version + +This rule was introduced in v9.1.0. + ## 📚 References - [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-uint8array-prototype-setfromhex.js) diff --git a/docs/rules/no-uint8array-prototype-tobase64.md b/docs/rules/no-uint8array-prototype-tobase64.md index f40e6d7d..03b7c14b 100644 --- a/docs/rules/no-uint8array-prototype-tobase64.md +++ b/docs/rules/no-uint8array-prototype-tobase64.md @@ -1,12 +1,12 @@ --- title: "es-x/no-uint8array-prototype-tobase64" description: "disallow the `Uint8Array.prototype.toBase64` method" +since: "v9.1.0" --- # es-x/no-uint8array-prototype-tobase64 > disallow the `Uint8Array.prototype.toBase64` method -- ❗ ***This rule has not been released yet.*** - ✅ The following configurations enable this rule: [no-arraybuffer-base64] and [no-new-in-esnext] This rule reports ES2026 [`Uint8Array.prototype.toBase64` method](https://github.com/tc39/proposal-arraybuffer-base64) as errors. @@ -55,6 +55,10 @@ This is prior to the `settings['es-x'].aggressive` setting. Configure the allowTestedProperty mode for only this rule. This is prior to the `settings['es-x'].allowTestedProperty` setting. +## 🚀 Version + +This rule was introduced in v9.1.0. + ## 📚 References - [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-uint8array-prototype-tobase64.js) diff --git a/docs/rules/no-uint8array-prototype-tohex.md b/docs/rules/no-uint8array-prototype-tohex.md index b6d6434b..f3a5c4ad 100644 --- a/docs/rules/no-uint8array-prototype-tohex.md +++ b/docs/rules/no-uint8array-prototype-tohex.md @@ -1,12 +1,12 @@ --- title: "es-x/no-uint8array-prototype-tohex" description: "disallow the `Uint8Array.prototype.toHex` method" +since: "v9.1.0" --- # es-x/no-uint8array-prototype-tohex > disallow the `Uint8Array.prototype.toHex` method -- ❗ ***This rule has not been released yet.*** - ✅ The following configurations enable this rule: [no-arraybuffer-base64] and [no-new-in-esnext] This rule reports ES2026 [`Uint8Array.prototype.toHex` method](https://github.com/tc39/proposal-arraybuffer-base64) as errors. @@ -55,6 +55,10 @@ This is prior to the `settings['es-x'].aggressive` setting. Configure the allowTestedProperty mode for only this rule. This is prior to the `settings['es-x'].allowTestedProperty` setting. +## 🚀 Version + +This rule was introduced in v9.1.0. + ## 📚 References - [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-uint8array-prototype-tohex.js) diff --git a/lib/configs/flat/no-new-in-esnext.js b/lib/configs/flat/no-new-in-esnext.js index 0ce5729f..83add688 100644 --- a/lib/configs/flat/no-new-in-esnext.js +++ b/lib/configs/flat/no-new-in-esnext.js @@ -15,6 +15,7 @@ module.exports = { "es-x/no-asyncdisposablestack": "error", "es-x/no-disposablestack": "error", "es-x/no-error-iserror": "error", + "es-x/no-math-sumprecise": "error", "es-x/no-suppressederror": "error", "es-x/no-symbol-asyncdispose": "error", "es-x/no-symbol-dispose": "error", diff --git a/lib/configs/no-new-in-esnext.js b/lib/configs/no-new-in-esnext.js index c7ebaac5..95318be3 100644 --- a/lib/configs/no-new-in-esnext.js +++ b/lib/configs/no-new-in-esnext.js @@ -11,6 +11,7 @@ module.exports = { "es-x/no-asyncdisposablestack": "error", "es-x/no-disposablestack": "error", "es-x/no-error-iserror": "error", + "es-x/no-math-sumprecise": "error", "es-x/no-suppressederror": "error", "es-x/no-symbol-asyncdispose": "error", "es-x/no-symbol-dispose": "error", diff --git a/lib/index.js b/lib/index.js index 0d2149e8..6b97d1b6 100644 --- a/lib/index.js +++ b/lib/index.js @@ -285,6 +285,7 @@ module.exports = { "no-math-log10": require("./rules/no-math-log10"), "no-math-sign": require("./rules/no-math-sign"), "no-math-sinh": require("./rules/no-math-sinh"), + "no-math-sumprecise": require("./rules/no-math-sumprecise"), "no-math-tanh": require("./rules/no-math-tanh"), "no-math-trunc": require("./rules/no-math-trunc"), "no-modules": require("./rules/no-modules"), diff --git a/package.json b/package.json index 47e4698f..d597fec6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-es-x", - "version": "9.0.0", + "version": "9.1.0", "description": "ESLint plugin about ECMAScript syntactic features.", "engines": { "node": "^20.19.0 || >=22.12.0"