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

Add several discouraged JavaScript features #2670

Merged
merged 13 commits into from
Mar 1, 2025
Merged
15 changes: 15 additions & 0 deletions features/accessor-methods.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Accessor methods
description: The `__defineGetter__()` and `__defineSetter__()` methods of objects bind a function to a property, which is called on setting or reading the property.
spec: https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.prototype-legacy-accessor-methods
discouraged:
according_to:
- https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-additional-ecmascript-features-for-web-browsers
# No `alternatives` becuase it would be `alternatives:
# [object-object, functions]`. In the future it'd be nice to have an
# internal reference to the object defineProperty method and the function
# get/set syntax.
compat_features:
- javascript.builtins.Object.defineGetter
- javascript.builtins.Object.defineSetter
- javascript.builtins.Object.lookupGetter
- javascript.builtins.Object.lookupSetter
18 changes: 18 additions & 0 deletions features/accessor-methods.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated from: accessor-methods.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "1"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "3"
safari_ios: "1"
compat_features:
- javascript.builtins.Object.defineGetter
- javascript.builtins.Object.defineSetter
- javascript.builtins.Object.lookupGetter
- javascript.builtins.Object.lookupSetter
13 changes: 13 additions & 0 deletions features/date-get-year-set-year.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: getYear() and setYear()
description: The `getYear()` and `setYear()` methods of `Date` objects get and set the year offset to 1900, changing a date's year in way that is subject to the year 2000 problem.
spec: https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-date.prototype.getyear
group: javascript
discouraged:
according_to:
- https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-additional-ecmascript-features-for-web-browsers
# No `alternatives` becuase it would be `alternatives: [date]`. In the future
# it'd be nice to have an internal reference to getFullYear() and
# setFullYear() instead.
compat_features:
- javascript.builtins.Date.getYear
- javascript.builtins.Date.setYear
16 changes: 16 additions & 0 deletions features/date-get-year-set-year.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Generated from: date-get-year-set-year.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "1"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "1"
safari_ios: "1"
compat_features:
- javascript.builtins.Date.getYear
- javascript.builtins.Date.setYear
11 changes: 11 additions & 0 deletions features/date-to-gmt-string.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: toGMTString()
description: The `toGMTSTring()` method of `Date` objects is an alias to the `toUTCString()` method.
spec: https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-date.prototype.togmtstring
discouraged:
according_to:
- https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-additional-ecmascript-features-for-web-browsers
# No `alternatives` becuase it would be `alternatives: [date]`. In the future
# it'd be nice to have an internal reference to the `toUTCString()` method
# instead.
compat_features:
- javascript.builtins.Date.toGMTString
15 changes: 15 additions & 0 deletions features/date-to-gmt-string.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Generated from: date-to-gmt-string.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "1"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "1"
safari_ios: "1"
compat_features:
- javascript.builtins.Date.toGMTString
13 changes: 13 additions & 0 deletions features/escape-unescape.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: escape() and unescape()
description: The `escape()` and `unescape()` built-in Javascript methods encode and unencode strings using percent encoding, where certain characters are replaced by hexidecimal escape sequences.
spec: https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-escape-string
group: javascript
discouraged:
according_to:
- https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-additional-ecmascript-features-for-web-browsers
# No `alternatives` becuase it would be `alternatives: [javascript]`. In the
# future it'd be nice to have an internal reference to encodeURI(),
# decodeURI(), encodeURIComponent(), and decodeURIComponent() instead.
compat_features:
- javascript.builtins.escape
- javascript.builtins.unescape
16 changes: 16 additions & 0 deletions features/escape-unescape.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Generated from: escape-unescape.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "1"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "1"
safari_ios: "1"
compat_features:
- javascript.builtins.escape
- javascript.builtins.unescape
24 changes: 24 additions & 0 deletions features/html-wrapper-methods.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: HTML wrapper methods
description: JavaScript built-in methods such as, `String.bold()` and `String.italics()`, wrap strings in (often historic) HTML.
spec: https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-additional-properties-of-the-string.prototype-object
group: javascript
discouraged:
according_to:
- https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-additional-ecmascript-features-for-web-browsers
alternatives:
- dom
compat_features:
- javascript.builtins.String.anchor
- javascript.builtins.String.big
- javascript.builtins.String.blink
- javascript.builtins.String.bold
- javascript.builtins.String.fixed
- javascript.builtins.String.fontcolor
- javascript.builtins.String.fontsize
- javascript.builtins.String.italics
- javascript.builtins.String.link
- javascript.builtins.String.small
- javascript.builtins.String.strike
- javascript.builtins.String.sub
- javascript.builtins.String.substr
- javascript.builtins.String.sup
28 changes: 28 additions & 0 deletions features/html-wrapper-methods.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Generated from: html-wrapper-methods.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "1"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "1"
safari_ios: "1"
compat_features:
- javascript.builtins.String.anchor
- javascript.builtins.String.big
- javascript.builtins.String.blink
- javascript.builtins.String.bold
- javascript.builtins.String.fixed
- javascript.builtins.String.fontcolor
- javascript.builtins.String.fontsize
- javascript.builtins.String.italics
- javascript.builtins.String.link
- javascript.builtins.String.small
- javascript.builtins.String.strike
- javascript.builtins.String.sub
- javascript.builtins.String.substr
- javascript.builtins.String.sup
11 changes: 11 additions & 0 deletions features/proto.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: __proto__
description: The `__proto__` property of objects partially exposes the prototype of an object.
spec: https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.prototype.__proto__
discouraged:
according_to:
- https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-additional-ecmascript-features-for-web-browsers
# No `alternatives` becuase it would be `alternatives: [object]`. In the
# future it'd be nice to have an internal reference to `getPrototypeOf()` and
# `setPrototypeOf()` instead.
compat_features:
- javascript.builtins.Object.proto
15 changes: 15 additions & 0 deletions features/proto.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Generated from: proto.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "1"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "3"
safari_ios: "1"
compat_features:
- javascript.builtins.Object.proto
11 changes: 11 additions & 0 deletions features/regexp-compile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: RegExp compile()
description: The `compile()` method of `RegExp` objects recompiles an existing regular expression object using a new pattern and flags.
spec: https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-regexp.prototype.compile
discouraged:
according_to:
- https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-additional-ecmascript-features-for-web-browsers
# No `alternatives` becuase it would be `alternatives: [regexp]`. In the
# future it'd be nice to have an internal reference to the RegExp()
# constructor instead.
compat_features:
- javascript.builtins.RegExp.compile
15 changes: 15 additions & 0 deletions features/regexp-compile.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Generated from: regexp-compile.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: false
support:
chrome: "1"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "3.1"
safari_ios: "2"
compat_features:
- javascript.builtins.RegExp.compile
Loading