es-check 9.6.4 → 9.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/lib/browserslist.js +23 -13
- package/lib/cache.js +2 -1
- package/lib/check-runner/index.js +13 -31
- package/lib/check-runner/utils.js +80 -121
- package/lib/cli/constants.js +4 -7
- package/lib/cli/handler.js +66 -76
- package/lib/cli/parser.js +16 -12
- package/lib/cli/utils.js +21 -25
- package/lib/constants/es-features/15.js +17 -1
- package/lib/constants/es-features/16.js +34 -0
- package/lib/constants/es-features/17.js +90 -11
- package/lib/constants/es-features/9.js +2 -1
- package/lib/constants/es-features/globals.js +71 -0
- package/lib/constants/es-features/index.js +19 -19
- package/lib/constants/es-features/polyfills.js +15 -43
- package/lib/constants/featureParserMapping.js +2 -7
- package/lib/constants/index.js +59 -1
- package/lib/constants/polyfillableFeatures.js +12 -0
- package/lib/constants/versions.js +1 -1
- package/lib/detectFeatures.js +54 -50
- package/lib/helpers/ast.js +66 -154
- package/lib/helpers/astDetector.js +1647 -68
- package/lib/helpers/files.js +9 -5
- package/lib/helpers/index.js +7 -18
- package/lib/helpers/logger.js +3 -7
- package/lib/helpers/parsers.js +25 -20
- package/lib/helpers/sourcemap.js +40 -39
- package/package.json +116 -198
package/package.json
CHANGED
|
@@ -1,33 +1,80 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "es-check",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.7.2",
|
|
4
4
|
"description": "Checks the ECMAScript version of .js glob against a specified version of ECMAScript with a shell command",
|
|
5
|
-
"
|
|
5
|
+
"keywords": [
|
|
6
|
+
"check for es6",
|
|
7
|
+
"check for modules",
|
|
8
|
+
"ecmascript",
|
|
9
|
+
"ecmascript check",
|
|
10
|
+
"ecmascript matching",
|
|
11
|
+
"ecmascript version",
|
|
12
|
+
"es",
|
|
13
|
+
"es check",
|
|
14
|
+
"es matching",
|
|
15
|
+
"es version",
|
|
16
|
+
"js",
|
|
17
|
+
"js version",
|
|
18
|
+
"js version check",
|
|
19
|
+
"js version matching",
|
|
20
|
+
"test ecmascript version",
|
|
21
|
+
"test js version"
|
|
22
|
+
],
|
|
23
|
+
"homepage": "https://github.com/yowainwright/es-check#readme",
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/yowainwright/es-check/issues"
|
|
26
|
+
},
|
|
6
27
|
"license": "MIT",
|
|
28
|
+
"author": "Jeff Wainwright <yowainwright@gmail.com> (https://jeffry.in), Brian Gonzalez <me@briangonzalez.org>",
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "git+https://github.com/yowainwright/es-check.git"
|
|
32
|
+
},
|
|
33
|
+
"bin": {
|
|
34
|
+
"es-check": "lib/cli/index.js"
|
|
35
|
+
},
|
|
36
|
+
"workspaces": [
|
|
37
|
+
"site"
|
|
38
|
+
],
|
|
39
|
+
"files": [
|
|
40
|
+
"lib"
|
|
41
|
+
],
|
|
42
|
+
"main": "lib/index.js",
|
|
7
43
|
"exports": {
|
|
8
44
|
".": {
|
|
9
45
|
"import": "./lib/esm-wrapper.mjs",
|
|
10
46
|
"require": "./lib/index.js"
|
|
11
47
|
}
|
|
12
48
|
},
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"bin": {
|
|
17
|
-
"es-check": "lib/cli/index.js"
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public",
|
|
51
|
+
"registry": "https://registry.npmjs.org/"
|
|
18
52
|
},
|
|
19
53
|
"scripts": {
|
|
20
54
|
"dev": "pnpm site:dev",
|
|
21
|
-
"lint": "oxlint lib",
|
|
22
|
-
"lint:ci": "oxlint lib --
|
|
23
|
-
"format": "
|
|
24
|
-
"format:check": "
|
|
55
|
+
"lint": "oxlint -c .oxlintrc.json lib --deny-warnings",
|
|
56
|
+
"lint:ci": "oxlint -c .oxlintrc.json lib --deny-warnings",
|
|
57
|
+
"format": "oxfmt",
|
|
58
|
+
"format:check": "oxfmt --check",
|
|
25
59
|
"pastoralist": "pastoralist",
|
|
26
60
|
"pre-commit": "pnpm lint && pnpm format && pnpm test",
|
|
27
61
|
"prepare": "node scripts/install/hooks.mjs",
|
|
28
62
|
"prepublishOnly": "pnpm test",
|
|
29
63
|
"release": "release-it --no-git.requireUpstream",
|
|
30
|
-
"
|
|
64
|
+
"release:patch": "release-it --increment=patch --no-git.requireUpstream",
|
|
65
|
+
"release:patch:dry": "release-it --increment=patch --dry-run --no-git.requireUpstream",
|
|
66
|
+
"release:minor": "release-it --increment=minor --no-git.requireUpstream",
|
|
67
|
+
"release:minor:dry": "release-it --increment=minor --dry-run --no-git.requireUpstream",
|
|
68
|
+
"release:major": "release-it --increment=major --no-git.requireUpstream",
|
|
69
|
+
"release:major:dry": "release-it --increment=major --dry-run --no-git.requireUpstream",
|
|
70
|
+
"release:beta": "release-it --preRelease=beta --no-git.requireUpstream",
|
|
71
|
+
"release:beta:dry": "release-it --preRelease=beta --dry-run --no-git.requireUpstream",
|
|
72
|
+
"release:alpha": "release-it --preRelease=alpha --no-git.requireUpstream",
|
|
73
|
+
"release:alpha:dry": "release-it --preRelease=alpha --dry-run --no-git.requireUpstream",
|
|
74
|
+
"release:tag": "node scripts/release-tag.mjs",
|
|
75
|
+
"release:tag:dry": "node scripts/release-tag.mjs --dry-run",
|
|
76
|
+
"release:dry": "release-it --dry-run --no-git.requireUpstream",
|
|
77
|
+
"report:coverage": "mkdir -p coverage && node tests/scripts/test-runner.js unit --coverage --reporter=lcov --reporter-destination=coverage/lcov.info",
|
|
31
78
|
"scripts:generate": "pnpm run scripts:generate:requirements && pnpm run scripts:generate:polyfills",
|
|
32
79
|
"scripts:generate:requirements": "node scripts/generate/requirements/parser.mjs",
|
|
33
80
|
"scripts:generate:polyfills": "node scripts/generate/polyfills/core.mjs",
|
|
@@ -39,7 +86,7 @@
|
|
|
39
86
|
"test:e2e:cli": "node tests/e2e/test-cli.js",
|
|
40
87
|
"test:e2e:esm": "node tests/e2e/test-esm-import.mjs",
|
|
41
88
|
"test:e2e:package-files": "node tests/e2e/test-package-files.mjs",
|
|
42
|
-
"test:e2e:sourcemap": "node --test tests/e2e/test-sourcemap.js
|
|
89
|
+
"test:e2e:sourcemap": "node --test --test-timeout=10000 tests/e2e/test-sourcemap.js",
|
|
43
90
|
"update": "codependence --update && pastoralist && pnpm run scripts:generate",
|
|
44
91
|
"benchmark": "./tests/benchmarks/run-benchmarks.sh",
|
|
45
92
|
"site:dev": "pnpm --filter es-check-docs run dev",
|
|
@@ -47,67 +94,75 @@
|
|
|
47
94
|
"site:preview": "pnpm --filter es-check-docs run preview",
|
|
48
95
|
"site:install": "pnpm --filter es-check-docs install"
|
|
49
96
|
},
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
"author": "Jeff Wainwright <yowainwright@gmail.com> (https://jeffry.in), Brian Gonzalez <me@briangonzalez.org>",
|
|
55
|
-
"bugs": {
|
|
56
|
-
"url": "https://github.com/yowainwright/es-check/issues"
|
|
97
|
+
"dependencies": {
|
|
98
|
+
"acorn": "8.18.0",
|
|
99
|
+
"browserslist": "4.28.9",
|
|
100
|
+
"fast-glob": "^3.3.3"
|
|
57
101
|
},
|
|
58
|
-
"homepage": "https://github.com/yowainwright/es-check#readme",
|
|
59
|
-
"website": "https://jeffry.in/es-check",
|
|
60
102
|
"devDependencies": {
|
|
61
|
-
"@mdn/browser-compat-data": "^
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"oxlint": "^1.
|
|
66
|
-
"pastoralist": "1.
|
|
67
|
-
"
|
|
68
|
-
"release-it": "19.2.4"
|
|
103
|
+
"@mdn/browser-compat-data": "^8.1.0",
|
|
104
|
+
"codependence": "1.0.15",
|
|
105
|
+
"core-js-compat": "^3.50.0",
|
|
106
|
+
"oxfmt": "^0.67.0",
|
|
107
|
+
"oxlint": "^1.82.0",
|
|
108
|
+
"pastoralist": "1.13.2",
|
|
109
|
+
"release-it": "21.0.2"
|
|
69
110
|
},
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
111
|
+
"peerDependencies": {},
|
|
112
|
+
"optionalDependencies": {},
|
|
113
|
+
"devEngines": {
|
|
114
|
+
"packageManager": [
|
|
115
|
+
{
|
|
116
|
+
"name": "pnpm",
|
|
117
|
+
"version": "12.3.4",
|
|
118
|
+
"onFail": "download"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "npm",
|
|
122
|
+
"onFail": "ignore"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
73
125
|
},
|
|
74
126
|
"engines": {
|
|
75
|
-
"node": ">=18.0.0"
|
|
76
|
-
|
|
127
|
+
"node": ">=18.0.0"
|
|
128
|
+
},
|
|
129
|
+
"packageManager": "pnpm@12.3.4",
|
|
130
|
+
"codependence": {
|
|
131
|
+
"mode": "precise",
|
|
132
|
+
"files": [
|
|
133
|
+
"package.json",
|
|
134
|
+
"site/package.json"
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
"pastoralist": {
|
|
138
|
+
"depPaths": [
|
|
139
|
+
"package.json",
|
|
140
|
+
"site/package.json"
|
|
141
|
+
],
|
|
142
|
+
"security": {
|
|
143
|
+
"enabled": true,
|
|
144
|
+
"provider": "github",
|
|
145
|
+
"autoFix": true,
|
|
146
|
+
"interactive": false,
|
|
147
|
+
"severityThreshold": "low",
|
|
148
|
+
"hasWorkspaceSecurityChecks": true
|
|
149
|
+
}
|
|
77
150
|
},
|
|
78
|
-
"keywords": [
|
|
79
|
-
"check for es6",
|
|
80
|
-
"check for modules",
|
|
81
|
-
"es",
|
|
82
|
-
"es check",
|
|
83
|
-
"es matching",
|
|
84
|
-
"es version",
|
|
85
|
-
"ecmascript",
|
|
86
|
-
"ecmascript check",
|
|
87
|
-
"ecmascript matching",
|
|
88
|
-
"ecmascript version",
|
|
89
|
-
"js",
|
|
90
|
-
"js version",
|
|
91
|
-
"js version check",
|
|
92
|
-
"js version matching",
|
|
93
|
-
"test js version",
|
|
94
|
-
"test ecmascript version"
|
|
95
|
-
],
|
|
96
151
|
"release-it": {
|
|
97
152
|
"git": {
|
|
98
|
-
"commitMessage": "chore:
|
|
153
|
+
"commitMessage": "chore(release): ${version}",
|
|
154
|
+
"commitArgs": [
|
|
155
|
+
"--no-verify"
|
|
156
|
+
],
|
|
157
|
+
"tagName": "v${version}",
|
|
99
158
|
"requireBranch": "main",
|
|
100
159
|
"requireCleanWorkingDir": true
|
|
101
160
|
},
|
|
102
161
|
"github": {
|
|
103
|
-
"release":
|
|
104
|
-
"web": true
|
|
162
|
+
"release": false
|
|
105
163
|
},
|
|
106
164
|
"npm": {
|
|
107
|
-
"
|
|
108
|
-
"registry": "https://registry.npmjs.org/",
|
|
109
|
-
"access": "public"
|
|
110
|
-
}
|
|
165
|
+
"publish": false
|
|
111
166
|
},
|
|
112
167
|
"hooks": {
|
|
113
168
|
"before:init": [
|
|
@@ -117,142 +172,5 @@
|
|
|
117
172
|
"after:release": "echo Successfully released ${name} v${version} to ${repo.repository}."
|
|
118
173
|
}
|
|
119
174
|
},
|
|
120
|
-
"
|
|
121
|
-
"pastoralist": {
|
|
122
|
-
"appendix": {
|
|
123
|
-
"vite@6.4.1": {
|
|
124
|
-
"dependents": {
|
|
125
|
-
"es-check": "vite (transitive dependency)",
|
|
126
|
-
"es-check-docs": "vite@^7.3.0"
|
|
127
|
-
},
|
|
128
|
-
"ledger": {
|
|
129
|
-
"addedDate": "2026-01-12T05:15:47.989Z"
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"tmp@0.2.4": {
|
|
133
|
-
"dependents": {
|
|
134
|
-
"es-check": "tmp (transitive dependency)"
|
|
135
|
-
},
|
|
136
|
-
"ledger": {
|
|
137
|
-
"addedDate": "2026-01-12T05:15:47.989Z"
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
"js-yaml@4.1.1": {
|
|
141
|
-
"dependents": {
|
|
142
|
-
"es-check": "js-yaml (transitive dependency)"
|
|
143
|
-
},
|
|
144
|
-
"ledger": {
|
|
145
|
-
"addedDate": "2026-01-12T05:15:47.989Z"
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
"mdast-util-to-hast@13.2.1": {
|
|
149
|
-
"dependents": {
|
|
150
|
-
"es-check": "mdast-util-to-hast (transitive dependency)"
|
|
151
|
-
},
|
|
152
|
-
"ledger": {
|
|
153
|
-
"addedDate": "2026-01-12T05:15:47.989Z"
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
"undici@6.23.0": {
|
|
157
|
-
"dependents": {
|
|
158
|
-
"es-check": "undici (transitive dependency)"
|
|
159
|
-
},
|
|
160
|
-
"ledger": {
|
|
161
|
-
"addedDate": "2026-01-17T00:15:11.438Z",
|
|
162
|
-
"reason": "Security fix: Undici has an unbounded decompression chain in HTTP responses on Node.js Fetch API via Content-Encoding leads to resource exhaustion (low)",
|
|
163
|
-
"securityChecked": true,
|
|
164
|
-
"securityCheckDate": "2026-01-17T00:15:11.438Z",
|
|
165
|
-
"securityProvider": "github",
|
|
166
|
-
"cve": "CVE-2026-22036",
|
|
167
|
-
"severity": "low",
|
|
168
|
-
"url": "https://github.com/yowainwright/es-check/security/dependabot/57"
|
|
169
|
-
}
|
|
170
|
-
},
|
|
171
|
-
"devalue@5.6.3": {
|
|
172
|
-
"dependents": {
|
|
173
|
-
"es-check": "devalue (transitive dependency)"
|
|
174
|
-
},
|
|
175
|
-
"ledger": {
|
|
176
|
-
"addedDate": "2026-02-21T00:23:12.264Z",
|
|
177
|
-
"reason": "Security fix: devalue `uneval`ed code can create objects with polluted prototypes when `eval`ed (low)",
|
|
178
|
-
"securityChecked": true,
|
|
179
|
-
"securityCheckDate": "2026-02-21T00:23:12.264Z",
|
|
180
|
-
"securityProvider": "github",
|
|
181
|
-
"severity": "low",
|
|
182
|
-
"url": "https://github.com/yowainwright/es-check/security/dependabot/66"
|
|
183
|
-
}
|
|
184
|
-
},
|
|
185
|
-
"lodash@4.17.23": {
|
|
186
|
-
"dependents": {
|
|
187
|
-
"es-check": "lodash (transitive dependency)"
|
|
188
|
-
},
|
|
189
|
-
"ledger": {
|
|
190
|
-
"addedDate": "2026-02-21T00:23:12.264Z",
|
|
191
|
-
"reason": "Security fix: Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions (medium)",
|
|
192
|
-
"securityChecked": true,
|
|
193
|
-
"securityCheckDate": "2026-02-21T00:23:12.264Z",
|
|
194
|
-
"securityProvider": "github",
|
|
195
|
-
"cve": "CVE-2025-13465",
|
|
196
|
-
"severity": "medium",
|
|
197
|
-
"url": "https://github.com/yowainwright/es-check/security/dependabot/63"
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
"diff@5.2.2": {
|
|
201
|
-
"dependents": {
|
|
202
|
-
"es-check": "diff (transitive dependency)"
|
|
203
|
-
},
|
|
204
|
-
"ledger": {
|
|
205
|
-
"addedDate": "2026-02-21T00:23:12.264Z",
|
|
206
|
-
"reason": "Security fix: jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch (low)",
|
|
207
|
-
"securityChecked": true,
|
|
208
|
-
"securityCheckDate": "2026-02-21T00:23:12.264Z",
|
|
209
|
-
"securityProvider": "github",
|
|
210
|
-
"cve": "CVE-2026-24001",
|
|
211
|
-
"severity": "low",
|
|
212
|
-
"url": "https://github.com/yowainwright/es-check/security/dependabot/61"
|
|
213
|
-
}
|
|
214
|
-
},
|
|
215
|
-
"ajv@8.18.0": {
|
|
216
|
-
"dependents": {
|
|
217
|
-
"es-check": "ajv (transitive dependency)"
|
|
218
|
-
},
|
|
219
|
-
"ledger": {
|
|
220
|
-
"addedDate": "2026-02-21T09:31:35.017Z",
|
|
221
|
-
"reason": "Security fix: ajv has ReDoS when using `$data` option (medium)",
|
|
222
|
-
"securityChecked": true,
|
|
223
|
-
"securityCheckDate": "2026-02-21T09:31:35.017Z",
|
|
224
|
-
"securityProvider": "github",
|
|
225
|
-
"cve": "CVE-2025-69873",
|
|
226
|
-
"severity": "medium",
|
|
227
|
-
"url": "https://github.com/yowainwright/es-check/security/dependabot/67"
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
"depPaths": [
|
|
232
|
-
"package.json",
|
|
233
|
-
"site/package.json"
|
|
234
|
-
],
|
|
235
|
-
"security": {
|
|
236
|
-
"enabled": true,
|
|
237
|
-
"provider": "github",
|
|
238
|
-
"autoFix": true,
|
|
239
|
-
"interactive": false,
|
|
240
|
-
"severityThreshold": "low",
|
|
241
|
-
"hasWorkspaceSecurityChecks": true
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
"overrides": {
|
|
245
|
-
"vite": "6.4.1",
|
|
246
|
-
"tmp": "0.2.4",
|
|
247
|
-
"js-yaml": "4.1.1",
|
|
248
|
-
"mdast-util-to-hast": "13.2.1",
|
|
249
|
-
"undici": "6.23.0",
|
|
250
|
-
"devalue": "5.6.3",
|
|
251
|
-
"lodash": "4.17.23",
|
|
252
|
-
"diff": "5.2.2",
|
|
253
|
-
"ajv": "8.18.0"
|
|
254
|
-
},
|
|
255
|
-
"workspaces": [
|
|
256
|
-
"site"
|
|
257
|
-
]
|
|
175
|
+
"website": "https://jeffry.in/es-check"
|
|
258
176
|
}
|