Skip to content

Commit 6ed7f48

Browse files
authored
Add no-nonstandard-*-properties rules (#214)
1 parent 8f64739 commit 6ed7f48

File tree

192 files changed

+12530
-48
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

192 files changed

+12530
-48
lines changed

docs/rules/index.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,73 @@ Rules in this category are not included in any preset.
377377
| [es-x/no-string-prototype-substr](./no-string-prototype-substr.md) | disallow the `String.prototype.substr` method. | |
378378
| [es-x/no-string-prototype-trimleft-trimright](./no-string-prototype-trimleft-trimright.md) | disallow the `String.prototype.{trimLeft,trimRight}` methods. | 🔧 |
379379

380+
## Non-standards
381+
382+
Rules in this category disallow features that are not defined in ECMAScript.\
383+
Rules in this category are not included in any preset.
384+
385+
| Rule ID | Description | |
386+
|:--------|:------------|:--:|
387+
| [es-x/no-nonstandard-array-properties](./no-nonstandard-array-properties.md) | disallow non-standard properties on `Array` class. | |
388+
| [es-x/no-nonstandard-array-prototype-properties](./no-nonstandard-array-prototype-properties.md) | disallow non-standard properties on Array instance. | |
389+
| [es-x/no-nonstandard-arraybuffer-properties](./no-nonstandard-arraybuffer-properties.md) | disallow non-standard properties on `ArrayBuffer` class. | |
390+
| [es-x/no-nonstandard-arraybuffer-prototype-properties](./no-nonstandard-arraybuffer-prototype-properties.md) | disallow non-standard properties on ArrayBuffer instance. | |
391+
| [es-x/no-nonstandard-atomics-properties](./no-nonstandard-atomics-properties.md) | disallow non-standard properties on `Atomics` class. | |
392+
| [es-x/no-nonstandard-bigint-properties](./no-nonstandard-bigint-properties.md) | disallow non-standard properties on `BigInt` class. | |
393+
| [es-x/no-nonstandard-bigint-prototype-properties](./no-nonstandard-bigint-prototype-properties.md) | disallow non-standard properties on BigInt instance. | |
394+
| [es-x/no-nonstandard-boolean-properties](./no-nonstandard-boolean-properties.md) | disallow non-standard properties on `Boolean` class. | |
395+
| [es-x/no-nonstandard-boolean-prototype-properties](./no-nonstandard-boolean-prototype-properties.md) | disallow non-standard properties on Boolean instance. | |
396+
| [es-x/no-nonstandard-dataview-prototype-properties](./no-nonstandard-dataview-prototype-properties.md) | disallow non-standard properties on DataView instance. | |
397+
| [es-x/no-nonstandard-date-properties](./no-nonstandard-date-properties.md) | disallow non-standard properties on `Date` class. | |
398+
| [es-x/no-nonstandard-date-prototype-properties](./no-nonstandard-date-prototype-properties.md) | disallow non-standard properties on Date instance. | |
399+
| [es-x/no-nonstandard-finalizationregistry-prototype-properties](./no-nonstandard-finalizationregistry-prototype-properties.md) | disallow non-standard properties on FinalizationRegistry instance. | |
400+
| [es-x/no-nonstandard-function-properties](./no-nonstandard-function-properties.md) | disallow non-standard properties on `Function` class. | |
401+
| [es-x/no-nonstandard-intl-collator-properties](./no-nonstandard-intl-collator-properties.md) | disallow non-standard properties on `Intl.Collator` class. | |
402+
| [es-x/no-nonstandard-intl-collator-prototype-properties](./no-nonstandard-intl-collator-prototype-properties.md) | disallow non-standard properties on Intl.Collator instance. | |
403+
| [es-x/no-nonstandard-intl-datetimeformat-properties](./no-nonstandard-intl-datetimeformat-properties.md) | disallow non-standard properties on `Intl.DateTimeFormat` class. | |
404+
| [es-x/no-nonstandard-intl-datetimeformat-prototype-properties](./no-nonstandard-intl-datetimeformat-prototype-properties.md) | disallow non-standard properties on Intl.DateTimeFormat instance. | |
405+
| [es-x/no-nonstandard-intl-displaynames-properties](./no-nonstandard-intl-displaynames-properties.md) | disallow non-standard properties on `Intl.DisplayNames` class. | |
406+
| [es-x/no-nonstandard-intl-displaynames-prototype-properties](./no-nonstandard-intl-displaynames-prototype-properties.md) | disallow non-standard properties on Intl.DisplayNames instance. | |
407+
| [es-x/no-nonstandard-intl-listformat-properties](./no-nonstandard-intl-listformat-properties.md) | disallow non-standard properties on `Intl.ListFormat` class. | |
408+
| [es-x/no-nonstandard-intl-listformat-prototype-properties](./no-nonstandard-intl-listformat-prototype-properties.md) | disallow non-standard properties on Intl.ListFormat instance. | |
409+
| [es-x/no-nonstandard-intl-locale-properties](./no-nonstandard-intl-locale-properties.md) | disallow non-standard properties on `Intl.Locale` class. | |
410+
| [es-x/no-nonstandard-intl-locale-prototype-properties](./no-nonstandard-intl-locale-prototype-properties.md) | disallow non-standard properties on Intl.Locale instance. | |
411+
| [es-x/no-nonstandard-intl-numberformat-properties](./no-nonstandard-intl-numberformat-properties.md) | disallow non-standard properties on `Intl.NumberFormat` class. | |
412+
| [es-x/no-nonstandard-intl-numberformat-prototype-properties](./no-nonstandard-intl-numberformat-prototype-properties.md) | disallow non-standard properties on Intl.NumberFormat instance. | |
413+
| [es-x/no-nonstandard-intl-pluralrules-properties](./no-nonstandard-intl-pluralrules-properties.md) | disallow non-standard properties on `Intl.PluralRules` class. | |
414+
| [es-x/no-nonstandard-intl-pluralrules-prototype-properties](./no-nonstandard-intl-pluralrules-prototype-properties.md) | disallow non-standard properties on Intl.PluralRules instance. | |
415+
| [es-x/no-nonstandard-intl-properties](./no-nonstandard-intl-properties.md) | disallow non-standard properties on `Intl` class. | |
416+
| [es-x/no-nonstandard-intl-relativetimeformat-properties](./no-nonstandard-intl-relativetimeformat-properties.md) | disallow non-standard properties on `Intl.RelativeTimeFormat` class. | |
417+
| [es-x/no-nonstandard-intl-relativetimeformat-prototype-properties](./no-nonstandard-intl-relativetimeformat-prototype-properties.md) | disallow non-standard properties on Intl.RelativeTimeFormat instance. | |
418+
| [es-x/no-nonstandard-intl-segmenter-properties](./no-nonstandard-intl-segmenter-properties.md) | disallow non-standard properties on `Intl.Segmenter` class. | |
419+
| [es-x/no-nonstandard-intl-segmenter-prototype-properties](./no-nonstandard-intl-segmenter-prototype-properties.md) | disallow non-standard properties on Intl.Segmenter instance. | |
420+
| [es-x/no-nonstandard-iterator-properties](./no-nonstandard-iterator-properties.md) | disallow non-standard properties on `Iterator` class. | |
421+
| [es-x/no-nonstandard-iterator-prototype-properties](./no-nonstandard-iterator-prototype-properties.md) | disallow non-standard properties on Iterator instance. | |
422+
| [es-x/no-nonstandard-json-properties](./no-nonstandard-json-properties.md) | disallow non-standard properties on `JSON` class. | |
423+
| [es-x/no-nonstandard-map-properties](./no-nonstandard-map-properties.md) | disallow non-standard properties on `Map` class. | |
424+
| [es-x/no-nonstandard-map-prototype-properties](./no-nonstandard-map-prototype-properties.md) | disallow non-standard properties on Map instance. | |
425+
| [es-x/no-nonstandard-math-properties](./no-nonstandard-math-properties.md) | disallow non-standard properties on `Math` class. | |
426+
| [es-x/no-nonstandard-number-properties](./no-nonstandard-number-properties.md) | disallow non-standard properties on `Number` class. | |
427+
| [es-x/no-nonstandard-number-prototype-properties](./no-nonstandard-number-prototype-properties.md) | disallow non-standard properties on Number instance. | |
428+
| [es-x/no-nonstandard-object-properties](./no-nonstandard-object-properties.md) | disallow non-standard properties on `Object` class. | |
429+
| [es-x/no-nonstandard-promise-properties](./no-nonstandard-promise-properties.md) | disallow non-standard properties on `Promise` class. | |
430+
| [es-x/no-nonstandard-promise-prototype-properties](./no-nonstandard-promise-prototype-properties.md) | disallow non-standard properties on Promise instance. | |
431+
| [es-x/no-nonstandard-proxy-properties](./no-nonstandard-proxy-properties.md) | disallow non-standard properties on `Proxy` class. | |
432+
| [es-x/no-nonstandard-reflect-properties](./no-nonstandard-reflect-properties.md) | disallow non-standard properties on `Reflect` class. | |
433+
| [es-x/no-nonstandard-regexp-properties](./no-nonstandard-regexp-properties.md) | disallow non-standard properties on `RegExp` class. | |
434+
| [es-x/no-nonstandard-regexp-prototype-properties](./no-nonstandard-regexp-prototype-properties.md) | disallow non-standard properties on RegExp instance. | |
435+
| [es-x/no-nonstandard-set-prototype-properties](./no-nonstandard-set-prototype-properties.md) | disallow non-standard properties on Set instance. | |
436+
| [es-x/no-nonstandard-sharedarraybuffer-prototype-properties](./no-nonstandard-sharedarraybuffer-prototype-properties.md) | disallow non-standard properties on SharedArrayBuffer instance. | |
437+
| [es-x/no-nonstandard-string-properties](./no-nonstandard-string-properties.md) | disallow non-standard properties on `String` class. | |
438+
| [es-x/no-nonstandard-string-prototype-properties](./no-nonstandard-string-prototype-properties.md) | disallow non-standard properties on String instance. | |
439+
| [es-x/no-nonstandard-symbol-properties](./no-nonstandard-symbol-properties.md) | disallow non-standard properties on `Symbol` class. | |
440+
| [es-x/no-nonstandard-symbol-prototype-properties](./no-nonstandard-symbol-prototype-properties.md) | disallow non-standard properties on Symbol instance. | |
441+
| [es-x/no-nonstandard-typed-array-properties](./no-nonstandard-typed-array-properties.md) | disallow non-standard properties on typed array class. | |
442+
| [es-x/no-nonstandard-typed-array-prototype-properties](./no-nonstandard-typed-array-prototype-properties.md) | disallow non-standard properties on typed array instance. | |
443+
| [es-x/no-nonstandard-weakmap-prototype-properties](./no-nonstandard-weakmap-prototype-properties.md) | disallow non-standard properties on WeakMap instance. | |
444+
| [es-x/no-nonstandard-weakref-prototype-properties](./no-nonstandard-weakref-prototype-properties.md) | disallow non-standard properties on WeakRef instance. | |
445+
| [es-x/no-nonstandard-weakset-prototype-properties](./no-nonstandard-weakset-prototype-properties.md) | disallow non-standard properties on WeakSet instance. | |
446+
380447
## Deprecated
381448

382449
😇 We don't fix bugs which are in deprecated rules since we don't have enough resources.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: "es-x/no-nonstandard-array-properties"
3+
description: "disallow non-standard properties on `Array` class"
4+
---
5+
6+
# es-x/no-nonstandard-array-properties
7+
> disallow non-standard properties on `Array` class
8+
9+
- ❗ <badge text="This rule has not been released yet." vertical="middle" type="error"> ***This rule has not been released yet.*** </badge>
10+
11+
This rule reports non-standard properties on `Array` class as errors.
12+
13+
## 💡 Examples
14+
15+
⛔ Examples of **incorrect** code for this rule:
16+
17+
<eslint-playground type="bad">
18+
19+
```js
20+
/*eslint es-x/no-nonstandard-array-properties: error */
21+
Array.unknown();
22+
```
23+
24+
</eslint-playground>
25+
26+
## 🔧 Options
27+
28+
This rule has an option.
29+
30+
```jsonc
31+
{
32+
"rules": {
33+
"es-x/no-nonstandard-array-properties": [
34+
"error",
35+
{
36+
"allow": []
37+
}
38+
]
39+
}
40+
}
41+
```
42+
43+
### allow: string[]
44+
45+
An array of non-standard property names to allow.
46+
47+
## 📚 References
48+
49+
- [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-nonstandard-array-properties.js)
50+
- [Test source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/tests/lib/rules/no-nonstandard-array-properties.js)
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: "es-x/no-nonstandard-array-prototype-properties"
3+
description: "disallow non-standard properties on Array instance"
4+
---
5+
6+
# es-x/no-nonstandard-array-prototype-properties
7+
> disallow non-standard properties on Array instance
8+
9+
- ❗ <badge text="This rule has not been released yet." vertical="middle" type="error"> ***This rule has not been released yet.*** </badge>
10+
11+
This rule reports non-standard properties on Array instance as errors.
12+
13+
## 💡 Examples
14+
15+
⛔ Examples of **incorrect** code for this rule:
16+
17+
<eslint-playground type="bad">
18+
19+
```js
20+
/*eslint es-x/no-nonstandard-array-prototype-properties: error */
21+
const foo = [];
22+
foo.unknown();
23+
```
24+
25+
</eslint-playground>
26+
27+
## 🔧 Options
28+
29+
This rule has an option.
30+
31+
```jsonc
32+
{
33+
"rules": {
34+
"es-x/no-nonstandard-array-prototype-properties": [
35+
"error",
36+
{
37+
"allow": []
38+
}
39+
]
40+
}
41+
}
42+
```
43+
44+
### allow: string[]
45+
46+
An array of non-standard property names to allow.
47+
48+
## 📚 References
49+
50+
- [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-nonstandard-array-prototype-properties.js)
51+
- [Test source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/tests/lib/rules/no-nonstandard-array-prototype-properties.js)
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: "es-x/no-nonstandard-arraybuffer-properties"
3+
description: "disallow non-standard properties on `ArrayBuffer` class"
4+
---
5+
6+
# es-x/no-nonstandard-arraybuffer-properties
7+
> disallow non-standard properties on `ArrayBuffer` class
8+
9+
- ❗ <badge text="This rule has not been released yet." vertical="middle" type="error"> ***This rule has not been released yet.*** </badge>
10+
11+
This rule reports non-standard properties on `ArrayBuffer` class as errors.
12+
13+
## 💡 Examples
14+
15+
⛔ Examples of **incorrect** code for this rule:
16+
17+
<eslint-playground type="bad">
18+
19+
```js
20+
/*eslint es-x/no-nonstandard-arraybuffer-properties: error */
21+
ArrayBuffer.unknown();
22+
```
23+
24+
</eslint-playground>
25+
26+
## 🔧 Options
27+
28+
This rule has an option.
29+
30+
```jsonc
31+
{
32+
"rules": {
33+
"es-x/no-nonstandard-arraybuffer-properties": [
34+
"error",
35+
{
36+
"allow": []
37+
}
38+
]
39+
}
40+
}
41+
```
42+
43+
### allow: string[]
44+
45+
An array of non-standard property names to allow.
46+
47+
## 📚 References
48+
49+
- [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-nonstandard-arraybuffer-properties.js)
50+
- [Test source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/tests/lib/rules/no-nonstandard-arraybuffer-properties.js)
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: "es-x/no-nonstandard-arraybuffer-prototype-properties"
3+
description: "disallow non-standard properties on ArrayBuffer instance"
4+
---
5+
6+
# es-x/no-nonstandard-arraybuffer-prototype-properties
7+
> disallow non-standard properties on ArrayBuffer instance
8+
9+
- ❗ <badge text="This rule has not been released yet." vertical="middle" type="error"> ***This rule has not been released yet.*** </badge>
10+
11+
This rule reports non-standard properties on ArrayBuffer instance as errors.
12+
13+
## 💡 Examples
14+
15+
⛔ Examples of **incorrect** code for this rule:
16+
17+
<eslint-playground type="bad">
18+
19+
```js
20+
/*eslint es-x/no-nonstandard-arraybuffer-prototype-properties: error */
21+
const foo = new ArrayBuffer();
22+
foo.unknown();
23+
```
24+
25+
</eslint-playground>
26+
27+
## 🔧 Options
28+
29+
This rule has an option.
30+
31+
```jsonc
32+
{
33+
"rules": {
34+
"es-x/no-nonstandard-arraybuffer-prototype-properties": [
35+
"error",
36+
{
37+
"allow": []
38+
}
39+
]
40+
}
41+
}
42+
```
43+
44+
### allow: string[]
45+
46+
An array of non-standard property names to allow.
47+
48+
## 📚 References
49+
50+
- [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-nonstandard-arraybuffer-prototype-properties.js)
51+
- [Test source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/tests/lib/rules/no-nonstandard-arraybuffer-prototype-properties.js)
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: "es-x/no-nonstandard-atomics-properties"
3+
description: "disallow non-standard properties on `Atomics` class"
4+
---
5+
6+
# es-x/no-nonstandard-atomics-properties
7+
> disallow non-standard properties on `Atomics` class
8+
9+
- ❗ <badge text="This rule has not been released yet." vertical="middle" type="error"> ***This rule has not been released yet.*** </badge>
10+
11+
This rule reports non-standard properties on `Atomics` class as errors.
12+
13+
## 💡 Examples
14+
15+
⛔ Examples of **incorrect** code for this rule:
16+
17+
<eslint-playground type="bad">
18+
19+
```js
20+
/*eslint es-x/no-nonstandard-atomics-properties: error */
21+
Atomics.unknown();
22+
```
23+
24+
</eslint-playground>
25+
26+
## 🔧 Options
27+
28+
This rule has an option.
29+
30+
```jsonc
31+
{
32+
"rules": {
33+
"es-x/no-nonstandard-atomics-properties": [
34+
"error",
35+
{
36+
"allow": []
37+
}
38+
]
39+
}
40+
}
41+
```
42+
43+
### allow: string[]
44+
45+
An array of non-standard property names to allow.
46+
47+
## 📚 References
48+
49+
- [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-nonstandard-atomics-properties.js)
50+
- [Test source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/tests/lib/rules/no-nonstandard-atomics-properties.js)
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: "es-x/no-nonstandard-bigint-properties"
3+
description: "disallow non-standard properties on `BigInt` class"
4+
---
5+
6+
# es-x/no-nonstandard-bigint-properties
7+
> disallow non-standard properties on `BigInt` class
8+
9+
- ❗ <badge text="This rule has not been released yet." vertical="middle" type="error"> ***This rule has not been released yet.*** </badge>
10+
11+
This rule reports non-standard properties on `BigInt` class as errors.
12+
13+
## 💡 Examples
14+
15+
⛔ Examples of **incorrect** code for this rule:
16+
17+
<eslint-playground type="bad">
18+
19+
```js
20+
/*eslint es-x/no-nonstandard-bigint-properties: error */
21+
BigInt.unknown();
22+
```
23+
24+
</eslint-playground>
25+
26+
## 🔧 Options
27+
28+
This rule has an option.
29+
30+
```jsonc
31+
{
32+
"rules": {
33+
"es-x/no-nonstandard-bigint-properties": [
34+
"error",
35+
{
36+
"allow": []
37+
}
38+
]
39+
}
40+
}
41+
```
42+
43+
### allow: string[]
44+
45+
An array of non-standard property names to allow.
46+
47+
## 📚 References
48+
49+
- [Rule source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/lib/rules/no-nonstandard-bigint-properties.js)
50+
- [Test source](https://github.com/eslint-community/eslint-plugin-es-x/blob/master/tests/lib/rules/no-nonstandard-bigint-properties.js)

0 commit comments

Comments
 (0)