@scriptc/compiler 0.0.2 → 0.0.4

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.
Files changed (75) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +145 -9
  2. package/dist/backend/cc.d.ts +7 -0
  3. package/dist/backend/cc.js +1 -0
  4. package/dist/backend/cc.js.map +1 -1
  5. package/dist/backend/emission/emit-exprs.js +35 -0
  6. package/dist/backend/emission/emit-exprs.js.map +1 -1
  7. package/dist/backend/emission/emit-shapes.js +1 -0
  8. package/dist/backend/emission/emit-shapes.js.map +1 -1
  9. package/dist/backend/emission/emitter.js +15 -3
  10. package/dist/backend/emission/emitter.js.map +1 -1
  11. package/dist/backend/llvm/emitter.js +65 -11
  12. package/dist/backend/llvm/emitter.js.map +1 -1
  13. package/dist/backend/llvm/shapes.js +1 -0
  14. package/dist/backend/llvm/shapes.js.map +1 -1
  15. package/dist/coverage/surface-manifest.d.ts +22 -0
  16. package/dist/coverage/surface-manifest.js +295 -0
  17. package/dist/coverage/surface-manifest.js.map +1 -0
  18. package/dist/diagnostics/diagnostic.d.ts +16 -0
  19. package/dist/diagnostics/diagnostic.js +26 -2
  20. package/dist/diagnostics/diagnostic.js.map +1 -1
  21. package/dist/frontend/lowering/lib-boundary.js +76 -6
  22. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  23. package/dist/frontend/lowering/lower-builtins.d.ts +37 -4
  24. package/dist/frontend/lowering/lower-builtins.js +240 -6
  25. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  26. package/dist/frontend/lowering/lower-calls.js +122 -32
  27. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  28. package/dist/frontend/lowering/lower-classes.d.ts +34 -2
  29. package/dist/frontend/lowering/lower-classes.js +256 -33
  30. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  31. package/dist/frontend/lowering/lower-containers.js +25 -3
  32. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  33. package/dist/frontend/lowering/lower-exprs.d.ts +10 -0
  34. package/dist/frontend/lowering/lower-exprs.js +410 -9
  35. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  36. package/dist/frontend/lowering/lower-inspect.d.ts +16 -1
  37. package/dist/frontend/lowering/lower-inspect.js +132 -5
  38. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  39. package/dist/frontend/lowering/lower-island.js +24 -3
  40. package/dist/frontend/lowering/lower-island.js.map +1 -1
  41. package/dist/frontend/lowering/lower-modules.d.ts +6 -5
  42. package/dist/frontend/lowering/lower-modules.js +56 -18
  43. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  44. package/dist/frontend/lowering/lower-stmts.js +56 -0
  45. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  46. package/dist/frontend/lowering/lowerer.d.ts +57 -1
  47. package/dist/frontend/lowering/lowerer.js +291 -10
  48. package/dist/frontend/lowering/lowerer.js.map +1 -1
  49. package/dist/frontend/lowering/surfaces.d.ts +9 -2
  50. package/dist/frontend/lowering/surfaces.js +44 -7
  51. package/dist/frontend/lowering/surfaces.js.map +1 -1
  52. package/dist/frontend/npm.js +2 -2
  53. package/dist/frontend/npm.js.map +1 -1
  54. package/dist/frontend/program.js +59 -8
  55. package/dist/frontend/program.js.map +1 -1
  56. package/dist/frontend/resolve.js +120 -5
  57. package/dist/frontend/resolve.js.map +1 -1
  58. package/dist/frontend/shared.d.ts +8 -2
  59. package/dist/frontend/shared.js +22 -6
  60. package/dist/frontend/shared.js.map +1 -1
  61. package/dist/frontend/ts7/checker.js +1 -1
  62. package/dist/frontend/ts7/checker.js.map +1 -1
  63. package/dist/frontend/types.d.ts +25 -1
  64. package/dist/frontend/types.js +121 -7
  65. package/dist/frontend/types.js.map +1 -1
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +5 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/ir/nodes.d.ts +43 -1
  70. package/dist/ir/nodes.js +41 -0
  71. package/dist/ir/nodes.js.map +1 -1
  72. package/dist/ir/validate.js +38 -6
  73. package/dist/ir/validate.js.map +1 -1
  74. package/package.json +6 -4
  75. package/surface-manifest.json +2117 -0
@@ -0,0 +1,2117 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "compilerVersion": "0.0.4",
4
+ "coverage": [
5
+ "Entries are projected mechanically from the compiler's own decision tables: the diagnostics registry, the unsupported-syntax dispatch tables, the stdlib and node-builtin lowering tables, and the supported-builtin-module list. Nothing is hand-maintained; the manifest regenerates byte-identically from the source tree at this version.",
6
+ "Absence from this manifest means 'not projected', never 'unsupported'. Surfaces lowered through dedicated code paths rather than tables are not yet projected: console, JSON, process, Promise/async and the timer surface, the net/http/tls/https/dgram/dns/assert/test/stream/readline module member surfaces, template literals, the regex slice, and global functions (parseInt, parseFloat, isNaN, isFinite).",
7
+ "stdlib and node-builtin member entries name surface whose LOWERED call forms are constrained (arity, argument shapes); declared call forms outside the lowered set are refused per site, with code SC2020 for standard-library and node-builtin surface.",
8
+ "Entries with status 'unsupported' or 'dynamic-only' describe where the named code is raised: forms of the construct outside the supported subset are refused with that code — not that every form of the named feature is refused. Supported forms appear as their own static entries where a table projects them.",
9
+ "Entries with status 'dynamic-only' compile when the build embeds the dynamic engine (--dynamic); without the flag each use site is refused with the entry's code.",
10
+ "Process-level diagnostic codes are not surface entries: SC0001-SC0004 are preflight gates, SC1110 is a comptime evaluation failure, SC3001 is the alternate-backend tier refusal, SC9001/SC9002 are internal errors.",
11
+ "No scheduling metadata is published; entry ids are the stable diff keys across releases."
12
+ ],
13
+ "entries": [
14
+ {
15
+ "id": "diagnostic.sc1010",
16
+ "kind": "diagnostic-fence",
17
+ "name": "package imports",
18
+ "status": "unsupported",
19
+ "code": "SC1010",
20
+ "note": "relative imports (./file, ../dir/file), package.json-mediated project imports (#alias via the imports field, self-name references via exports), installed npm packages (their code runs under --dynamic), and the built-in fs, fs/promises, path, os, url, crypto, zlib, child_process, net, http, tls, https, http2, dgram, dns, util, util/types, string_decoder, readline, events, stream, buffer, assert, assert/strict, worker_threads, cluster, tty, async_hooks, timers, timers/promises, diagnostics_channel, perf_hooks, and node:test and node:module modules (bare or node:-prefixed) are supported"
21
+ },
22
+ {
23
+ "id": "diagnostic.sc1012",
24
+ "kind": "diagnostic-fence",
25
+ "name": "default exports/imports",
26
+ "status": "unsupported",
27
+ "code": "SC1012",
28
+ "note": "use named exports: export function f() {} / import { f } from \"./m\""
29
+ },
30
+ {
31
+ "id": "diagnostic.sc1013",
32
+ "kind": "diagnostic-fence",
33
+ "name": "namespace imports (* as ns)",
34
+ "status": "unsupported",
35
+ "code": "SC1013"
36
+ },
37
+ {
38
+ "id": "diagnostic.sc1014",
39
+ "kind": "diagnostic-fence",
40
+ "name": "re-exports and export lists",
41
+ "status": "unsupported",
42
+ "code": "SC1014",
43
+ "note": "export declarations directly: export function f() {}"
44
+ },
45
+ {
46
+ "id": "diagnostic.sc1015",
47
+ "kind": "diagnostic-fence",
48
+ "name": "dynamic import()",
49
+ "status": "unsupported",
50
+ "code": "SC1015"
51
+ },
52
+ {
53
+ "id": "diagnostic.sc1016",
54
+ "kind": "diagnostic-fence",
55
+ "name": "circular imports",
56
+ "status": "unsupported",
57
+ "code": "SC1016"
58
+ },
59
+ {
60
+ "id": "diagnostic.sc1020",
61
+ "kind": "diagnostic-fence",
62
+ "name": "class expressions",
63
+ "status": "unsupported",
64
+ "code": "SC1020"
65
+ },
66
+ {
67
+ "id": "diagnostic.sc1030",
68
+ "kind": "diagnostic-fence",
69
+ "name": "var declarations",
70
+ "status": "unsupported",
71
+ "code": "SC1030"
72
+ },
73
+ {
74
+ "id": "diagnostic.sc1031",
75
+ "kind": "diagnostic-fence",
76
+ "name": "destructuring",
77
+ "status": "unsupported",
78
+ "code": "SC1031"
79
+ },
80
+ {
81
+ "id": "diagnostic.sc1040",
82
+ "kind": "diagnostic-fence",
83
+ "name": "loose equality (== and !=)",
84
+ "status": "unsupported",
85
+ "code": "SC1040",
86
+ "note": "use === / !== ('x == null' / 'x != null' — the null-or-undefined test — is supported; other loose comparisons need dynamic coercion semantics)"
87
+ },
88
+ {
89
+ "id": "diagnostic.sc1042",
90
+ "kind": "diagnostic-fence",
91
+ "name": "logical operators on mixed operand types",
92
+ "status": "unsupported",
93
+ "code": "SC1042",
94
+ "note": "give both operands the same type (number, string, or boolean)"
95
+ },
96
+ {
97
+ "id": "diagnostic.sc1043",
98
+ "kind": "diagnostic-fence",
99
+ "name": "comparing non-number, non-string values",
100
+ "status": "unsupported",
101
+ "code": "SC1043"
102
+ },
103
+ {
104
+ "id": "diagnostic.sc1045",
105
+ "kind": "diagnostic-fence",
106
+ "name": "increment/decrement in expression position",
107
+ "status": "unsupported",
108
+ "code": "SC1045",
109
+ "note": "use ++/-- as a standalone statement, or write x = x + 1"
110
+ },
111
+ {
112
+ "id": "diagnostic.sc1050",
113
+ "kind": "diagnostic-fence",
114
+ "name": "labeled break/continue",
115
+ "status": "unsupported",
116
+ "code": "SC1050"
117
+ },
118
+ {
119
+ "id": "diagnostic.sc1052",
120
+ "kind": "diagnostic-fence",
121
+ "name": "for-in loops",
122
+ "status": "unsupported",
123
+ "code": "SC1052"
124
+ },
125
+ {
126
+ "id": "diagnostic.sc1062",
127
+ "kind": "diagnostic-fence",
128
+ "name": "destructuring catch clause bindings",
129
+ "status": "unsupported",
130
+ "code": "SC1062",
131
+ "note": "bind an identifier (catch (e)) and narrow it — 'e instanceof Error' exposes .name/.message, typeof tests expose primitives"
132
+ },
133
+ {
134
+ "id": "diagnostic.sc1063",
135
+ "kind": "diagnostic-fence",
136
+ "name": "this use of a catch binding",
137
+ "status": "unsupported",
138
+ "code": "SC1063",
139
+ "note": "a catch binding is typed by what was thrown — narrow before reading: 'if (e instanceof Error)' (then .name/.message), 'typeof e === \"string\"/\"number\"/\"boolean\"', or rethrow with 'throw e'; String(e) and `${e}` also compile ('Error: msg' for Error payloads — Node's String(), which has no stack), so 'e instanceof Error ? e.message : String(e)' works as-is"
140
+ },
141
+ {
142
+ "id": "diagnostic.sc1070",
143
+ "kind": "diagnostic-fence",
144
+ "name": "async/await",
145
+ "status": "unsupported",
146
+ "code": "SC1070"
147
+ },
148
+ {
149
+ "id": "diagnostic.sc1071",
150
+ "kind": "diagnostic-fence",
151
+ "name": "generators",
152
+ "status": "unsupported",
153
+ "code": "SC1071"
154
+ },
155
+ {
156
+ "id": "diagnostic.sc1080",
157
+ "kind": "diagnostic-fence",
158
+ "name": "'this' outside a class method",
159
+ "status": "unsupported",
160
+ "code": "SC1080"
161
+ },
162
+ {
163
+ "id": "diagnostic.sc1090",
164
+ "kind": "diagnostic-fence",
165
+ "name": "this syntax",
166
+ "status": "unsupported",
167
+ "code": "SC1090"
168
+ },
169
+ {
170
+ "id": "diagnostic.sc1100",
171
+ "kind": "diagnostic-fence",
172
+ "name": "operations on 'unknown' values",
173
+ "status": "unsupported",
174
+ "code": "SC1100",
175
+ "note": "validate with 'as <type>' first — the cast checks the dynamic value at runtime and throws on mismatch"
176
+ },
177
+ {
178
+ "id": "diagnostic.sc1101",
179
+ "kind": "diagnostic-fence",
180
+ "name": "converting typed values to 'unknown'",
181
+ "status": "unsupported",
182
+ "code": "SC1101",
183
+ "note": "numbers, strings, booleans, JSON-safe records/arrays/unions (a deep copy — the 'unknown' value never aliases the original), and functions over those (boxed, identity preserved) convert into 'unknown' slots; this value's type has no dynamic representation yet"
184
+ },
185
+ {
186
+ "id": "diagnostic.sc1120",
187
+ "kind": "diagnostic-fence",
188
+ "name": "this regex feature",
189
+ "status": "unsupported",
190
+ "code": "SC1120",
191
+ "note": "supported: literal regexes with the g/i/m/s/u/y flags — .test(), .source/.flags, and string replace/replaceAll/split with string replacement templates"
192
+ },
193
+ {
194
+ "id": "diagnostic.sc1121",
195
+ "kind": "diagnostic-fence",
196
+ "name": "'.test()' on a regex with the 'g' or 'y' flag",
197
+ "status": "unsupported",
198
+ "code": "SC1121",
199
+ "note": "g/y regexes carry mutable lastIndex state between calls, which is not modeled; drop the flag for a plain match test, or use replace/replaceAll/split (their iteration is internal)"
200
+ },
201
+ {
202
+ "id": "diagnostic.sc2001",
203
+ "kind": "diagnostic-fence",
204
+ "name": "values of types outside the compilable set",
205
+ "status": "unsupported",
206
+ "code": "SC2001"
207
+ },
208
+ {
209
+ "id": "diagnostic.sc2002",
210
+ "kind": "diagnostic-fence",
211
+ "name": "record width subtyping (shapes must match exactly)",
212
+ "status": "unsupported",
213
+ "code": "SC2002"
214
+ },
215
+ {
216
+ "id": "diagnostic.sc2003",
217
+ "kind": "diagnostic-fence",
218
+ "name": "union-to-union conversions outside the re-tagging rule",
219
+ "status": "unsupported",
220
+ "code": "SC2003"
221
+ },
222
+ {
223
+ "id": "diagnostic.sc2004",
224
+ "kind": "diagnostic-fence",
225
+ "name": "uses of a binding whose declaration did not compile (cascade marker)",
226
+ "status": "unsupported",
227
+ "code": "SC2004"
228
+ },
229
+ {
230
+ "id": "diagnostic.sc2010",
231
+ "kind": "diagnostic-fence",
232
+ "name": "constructs that exist only in the embedded dynamic engine",
233
+ "status": "dynamic-only",
234
+ "code": "SC2010"
235
+ },
236
+ {
237
+ "id": "diagnostic.sc2011",
238
+ "kind": "diagnostic-fence",
239
+ "name": "'any'-typed values and the operations on them",
240
+ "status": "dynamic-only",
241
+ "code": "SC2011"
242
+ },
243
+ {
244
+ "id": "diagnostic.sc2012",
245
+ "kind": "diagnostic-fence",
246
+ "name": "standard-library surface that runs in the embedded dynamic engine",
247
+ "status": "dynamic-only",
248
+ "code": "SC2012"
249
+ },
250
+ {
251
+ "id": "diagnostic.sc2013",
252
+ "kind": "diagnostic-fence",
253
+ "name": "npm package imports and values (the package's implementation runs in the embedded engine)",
254
+ "status": "dynamic-only",
255
+ "code": "SC2013"
256
+ },
257
+ {
258
+ "id": "diagnostic.sc2020",
259
+ "kind": "diagnostic-fence",
260
+ "name": "standard-library or @types/node surface with no lowering",
261
+ "status": "unsupported",
262
+ "code": "SC2020"
263
+ },
264
+ {
265
+ "id": "diagnostic.sc2030",
266
+ "kind": "diagnostic-fence",
267
+ "name": "npm package code that cannot be embedded for the dynamic engine",
268
+ "status": "unsupported",
269
+ "code": "SC2030"
270
+ },
271
+ {
272
+ "id": "node-builtin.assert",
273
+ "kind": "node-builtin",
274
+ "name": "assert",
275
+ "status": "static",
276
+ "note": "recognized module (bare and node:-prefixed specifiers)"
277
+ },
278
+ {
279
+ "id": "node-builtin.assert.AssertionError",
280
+ "kind": "node-builtin",
281
+ "name": "assert.AssertionError",
282
+ "status": "unsupported",
283
+ "code": "SC2020",
284
+ "note": "the class itself has no lowering — catch and test err.name === \"AssertionError\" or err.code === \"ERR_ASSERTION\""
285
+ },
286
+ {
287
+ "id": "node-builtin.assert.deepEqual",
288
+ "kind": "node-builtin",
289
+ "name": "assert.deepEqual",
290
+ "status": "unsupported",
291
+ "code": "SC2020",
292
+ "note": "loose == equality has no lowering — the strict forms compare with Object.is/structural equality like Node's assert/strict module, where equal IS strictEqual"
293
+ },
294
+ {
295
+ "id": "node-builtin.assert.doesNotReject",
296
+ "kind": "node-builtin",
297
+ "name": "assert.doesNotReject",
298
+ "status": "unsupported",
299
+ "code": "SC2020",
300
+ "note": "await the promise directly — an unexpected rejection already fails the test"
301
+ },
302
+ {
303
+ "id": "node-builtin.assert.doesNotThrow",
304
+ "kind": "node-builtin",
305
+ "name": "assert.doesNotThrow",
306
+ "status": "unsupported",
307
+ "code": "SC2020",
308
+ "note": "call the function directly — an unexpected throw already fails the test"
309
+ },
310
+ {
311
+ "id": "node-builtin.assert.equal",
312
+ "kind": "node-builtin",
313
+ "name": "assert.equal",
314
+ "status": "unsupported",
315
+ "code": "SC2020",
316
+ "note": "loose == equality has no lowering — the strict forms compare with Object.is/structural equality like Node's assert/strict module, where equal IS strictEqual"
317
+ },
318
+ {
319
+ "id": "node-builtin.assert.ifError",
320
+ "kind": "node-builtin",
321
+ "name": "assert.ifError",
322
+ "status": "unsupported",
323
+ "code": "SC2020",
324
+ "note": "test explicitly instead: assert.strictEqual(err, null) / assert.strictEqual(err, undefined)"
325
+ },
326
+ {
327
+ "id": "node-builtin.assert.notDeepEqual",
328
+ "kind": "node-builtin",
329
+ "name": "assert.notDeepEqual",
330
+ "status": "unsupported",
331
+ "code": "SC2020",
332
+ "note": "loose == equality has no lowering — the strict forms compare with Object.is/structural equality like Node's assert/strict module, where equal IS strictEqual"
333
+ },
334
+ {
335
+ "id": "node-builtin.assert.notEqual",
336
+ "kind": "node-builtin",
337
+ "name": "assert.notEqual",
338
+ "status": "unsupported",
339
+ "code": "SC2020",
340
+ "note": "loose == equality has no lowering — the strict forms compare with Object.is/structural equality like Node's assert/strict module, where equal IS strictEqual"
341
+ },
342
+ {
343
+ "id": "node-builtin.assert.rejects",
344
+ "kind": "node-builtin",
345
+ "name": "assert.rejects",
346
+ "status": "unsupported",
347
+ "code": "SC2020",
348
+ "note": "await the promise inside assert.throws's callback story instead: try { await p; assert.fail(\"expected rejection\") } catch { ... }"
349
+ },
350
+ {
351
+ "id": "node-builtin.assert.strict",
352
+ "kind": "node-builtin",
353
+ "name": "assert/strict",
354
+ "status": "static",
355
+ "note": "recognized module (bare and node:-prefixed specifiers)"
356
+ },
357
+ {
358
+ "id": "node-builtin.assert.strict.AssertionError",
359
+ "kind": "node-builtin",
360
+ "name": "assert/strict.AssertionError",
361
+ "status": "unsupported",
362
+ "code": "SC2020",
363
+ "note": "the class itself has no lowering — catch and test err.name === \"AssertionError\" or err.code === \"ERR_ASSERTION\""
364
+ },
365
+ {
366
+ "id": "node-builtin.assert.strict.doesNotReject",
367
+ "kind": "node-builtin",
368
+ "name": "assert/strict.doesNotReject",
369
+ "status": "unsupported",
370
+ "code": "SC2020",
371
+ "note": "await the promise directly — an unexpected rejection already fails the test"
372
+ },
373
+ {
374
+ "id": "node-builtin.assert.strict.doesNotThrow",
375
+ "kind": "node-builtin",
376
+ "name": "assert/strict.doesNotThrow",
377
+ "status": "unsupported",
378
+ "code": "SC2020",
379
+ "note": "call the function directly — an unexpected throw already fails the test"
380
+ },
381
+ {
382
+ "id": "node-builtin.assert.strict.ifError",
383
+ "kind": "node-builtin",
384
+ "name": "assert/strict.ifError",
385
+ "status": "unsupported",
386
+ "code": "SC2020",
387
+ "note": "test explicitly instead: assert.strictEqual(err, null) / assert.strictEqual(err, undefined)"
388
+ },
389
+ {
390
+ "id": "node-builtin.assert.strict.rejects",
391
+ "kind": "node-builtin",
392
+ "name": "assert/strict.rejects",
393
+ "status": "unsupported",
394
+ "code": "SC2020",
395
+ "note": "await the promise inside assert.throws's callback story instead: try { await p; assert.fail(\"expected rejection\") } catch { ... }"
396
+ },
397
+ {
398
+ "id": "node-builtin.async_hooks",
399
+ "kind": "node-builtin",
400
+ "name": "async_hooks",
401
+ "status": "static",
402
+ "note": "recognized module (bare and node:-prefixed specifiers)"
403
+ },
404
+ {
405
+ "id": "node-builtin.buffer",
406
+ "kind": "node-builtin",
407
+ "name": "buffer",
408
+ "status": "static",
409
+ "note": "recognized module (bare and node:-prefixed specifiers)"
410
+ },
411
+ {
412
+ "id": "node-builtin.child_process",
413
+ "kind": "node-builtin",
414
+ "name": "child_process",
415
+ "status": "static",
416
+ "note": "recognized module (bare and node:-prefixed specifiers)"
417
+ },
418
+ {
419
+ "id": "node-builtin.child_process.execFile",
420
+ "kind": "node-builtin",
421
+ "name": "child_process.execFile",
422
+ "status": "unsupported",
423
+ "code": "SC2020",
424
+ "note": "the callback form has no lowering — promisify it: const execFileAsync = promisify(execFile) (from node:util), or use execFileSync"
425
+ },
426
+ {
427
+ "id": "node-builtin.child_process.execFileSync",
428
+ "kind": "node-builtin",
429
+ "name": "child_process.execFileSync",
430
+ "status": "static"
431
+ },
432
+ {
433
+ "id": "node-builtin.child_process.execSync",
434
+ "kind": "node-builtin",
435
+ "name": "child_process.execSync",
436
+ "status": "static"
437
+ },
438
+ {
439
+ "id": "node-builtin.child_process.spawn",
440
+ "kind": "node-builtin",
441
+ "name": "child_process.spawn",
442
+ "status": "static"
443
+ },
444
+ {
445
+ "id": "node-builtin.child_process.spawnSync",
446
+ "kind": "node-builtin",
447
+ "name": "child_process.spawnSync",
448
+ "status": "static"
449
+ },
450
+ {
451
+ "id": "node-builtin.cluster",
452
+ "kind": "node-builtin",
453
+ "name": "cluster",
454
+ "status": "static",
455
+ "note": "recognized module (bare and node:-prefixed specifiers)"
456
+ },
457
+ {
458
+ "id": "node-builtin.cluster.isMaster",
459
+ "kind": "node-builtin",
460
+ "name": "cluster.isMaster",
461
+ "status": "static",
462
+ "note": "constant value read"
463
+ },
464
+ {
465
+ "id": "node-builtin.cluster.isPrimary",
466
+ "kind": "node-builtin",
467
+ "name": "cluster.isPrimary",
468
+ "status": "static",
469
+ "note": "constant value read"
470
+ },
471
+ {
472
+ "id": "node-builtin.cluster.isWorker",
473
+ "kind": "node-builtin",
474
+ "name": "cluster.isWorker",
475
+ "status": "static",
476
+ "note": "constant value read"
477
+ },
478
+ {
479
+ "id": "node-builtin.crypto",
480
+ "kind": "node-builtin",
481
+ "name": "crypto",
482
+ "status": "static",
483
+ "note": "recognized module (bare and node:-prefixed specifiers)"
484
+ },
485
+ {
486
+ "id": "node-builtin.crypto.createHash",
487
+ "kind": "node-builtin",
488
+ "name": "crypto.createHash",
489
+ "status": "unsupported",
490
+ "code": "SC2020",
491
+ "note": "the one lowered shape is the composed chain createHash(\"sha256\").update(data).digest(\"hex\") — the Hash handle itself has no lowering"
492
+ },
493
+ {
494
+ "id": "node-builtin.crypto.randomBytes",
495
+ "kind": "node-builtin",
496
+ "name": "crypto.randomBytes",
497
+ "status": "static"
498
+ },
499
+ {
500
+ "id": "node-builtin.crypto.randomUUID",
501
+ "kind": "node-builtin",
502
+ "name": "crypto.randomUUID",
503
+ "status": "static"
504
+ },
505
+ {
506
+ "id": "node-builtin.dgram",
507
+ "kind": "node-builtin",
508
+ "name": "dgram",
509
+ "status": "static",
510
+ "note": "recognized module (bare and node:-prefixed specifiers)"
511
+ },
512
+ {
513
+ "id": "node-builtin.diagnostics_channel",
514
+ "kind": "node-builtin",
515
+ "name": "diagnostics_channel",
516
+ "status": "static",
517
+ "note": "recognized module (bare and node:-prefixed specifiers)"
518
+ },
519
+ {
520
+ "id": "node-builtin.diagnostics_channel.channel",
521
+ "kind": "node-builtin",
522
+ "name": "diagnostics_channel.channel",
523
+ "status": "static"
524
+ },
525
+ {
526
+ "id": "node-builtin.diagnostics_channel.hasSubscribers",
527
+ "kind": "node-builtin",
528
+ "name": "diagnostics_channel.hasSubscribers",
529
+ "status": "static"
530
+ },
531
+ {
532
+ "id": "node-builtin.diagnostics_channel.subscribe",
533
+ "kind": "node-builtin",
534
+ "name": "diagnostics_channel.subscribe",
535
+ "status": "static"
536
+ },
537
+ {
538
+ "id": "node-builtin.diagnostics_channel.tracingChannel",
539
+ "kind": "node-builtin",
540
+ "name": "diagnostics_channel.tracingChannel",
541
+ "status": "static"
542
+ },
543
+ {
544
+ "id": "node-builtin.diagnostics_channel.unsubscribe",
545
+ "kind": "node-builtin",
546
+ "name": "diagnostics_channel.unsubscribe",
547
+ "status": "static"
548
+ },
549
+ {
550
+ "id": "node-builtin.dns",
551
+ "kind": "node-builtin",
552
+ "name": "dns",
553
+ "status": "static",
554
+ "note": "recognized module (bare and node:-prefixed specifiers)"
555
+ },
556
+ {
557
+ "id": "node-builtin.events",
558
+ "kind": "node-builtin",
559
+ "name": "events",
560
+ "status": "static",
561
+ "note": "recognized module (bare and node:-prefixed specifiers)"
562
+ },
563
+ {
564
+ "id": "node-builtin.fs",
565
+ "kind": "node-builtin",
566
+ "name": "fs",
567
+ "status": "static",
568
+ "note": "recognized module (bare and node:-prefixed specifiers)"
569
+ },
570
+ {
571
+ "id": "node-builtin.fs.accessSync",
572
+ "kind": "node-builtin",
573
+ "name": "fs.accessSync",
574
+ "status": "static"
575
+ },
576
+ {
577
+ "id": "node-builtin.fs.appendFileSync",
578
+ "kind": "node-builtin",
579
+ "name": "fs.appendFileSync",
580
+ "status": "static"
581
+ },
582
+ {
583
+ "id": "node-builtin.fs.chmodSync",
584
+ "kind": "node-builtin",
585
+ "name": "fs.chmodSync",
586
+ "status": "static"
587
+ },
588
+ {
589
+ "id": "node-builtin.fs.chownSync",
590
+ "kind": "node-builtin",
591
+ "name": "fs.chownSync",
592
+ "status": "static"
593
+ },
594
+ {
595
+ "id": "node-builtin.fs.closeSync",
596
+ "kind": "node-builtin",
597
+ "name": "fs.closeSync",
598
+ "status": "static"
599
+ },
600
+ {
601
+ "id": "node-builtin.fs.copyFileSync",
602
+ "kind": "node-builtin",
603
+ "name": "fs.copyFileSync",
604
+ "status": "static"
605
+ },
606
+ {
607
+ "id": "node-builtin.fs.existsSync",
608
+ "kind": "node-builtin",
609
+ "name": "fs.existsSync",
610
+ "status": "static"
611
+ },
612
+ {
613
+ "id": "node-builtin.fs.lstatSync",
614
+ "kind": "node-builtin",
615
+ "name": "fs.lstatSync",
616
+ "status": "static"
617
+ },
618
+ {
619
+ "id": "node-builtin.fs.mkdirSync",
620
+ "kind": "node-builtin",
621
+ "name": "fs.mkdirSync",
622
+ "status": "static"
623
+ },
624
+ {
625
+ "id": "node-builtin.fs.mkdtempSync",
626
+ "kind": "node-builtin",
627
+ "name": "fs.mkdtempSync",
628
+ "status": "static"
629
+ },
630
+ {
631
+ "id": "node-builtin.fs.openSync",
632
+ "kind": "node-builtin",
633
+ "name": "fs.openSync",
634
+ "status": "static"
635
+ },
636
+ {
637
+ "id": "node-builtin.fs.promises",
638
+ "kind": "node-builtin",
639
+ "name": "fs/promises",
640
+ "status": "static",
641
+ "note": "recognized module (bare and node:-prefixed specifiers)"
642
+ },
643
+ {
644
+ "id": "node-builtin.fs.promises.chmod",
645
+ "kind": "node-builtin",
646
+ "name": "fs/promises.chmod",
647
+ "status": "static"
648
+ },
649
+ {
650
+ "id": "node-builtin.fs.promises.mkdir",
651
+ "kind": "node-builtin",
652
+ "name": "fs/promises.mkdir",
653
+ "status": "static"
654
+ },
655
+ {
656
+ "id": "node-builtin.fs.promises.readFile",
657
+ "kind": "node-builtin",
658
+ "name": "fs/promises.readFile",
659
+ "status": "static"
660
+ },
661
+ {
662
+ "id": "node-builtin.fs.promises.readdir",
663
+ "kind": "node-builtin",
664
+ "name": "fs/promises.readdir",
665
+ "status": "static"
666
+ },
667
+ {
668
+ "id": "node-builtin.fs.promises.rm",
669
+ "kind": "node-builtin",
670
+ "name": "fs/promises.rm",
671
+ "status": "static"
672
+ },
673
+ {
674
+ "id": "node-builtin.fs.promises.stat",
675
+ "kind": "node-builtin",
676
+ "name": "fs/promises.stat",
677
+ "status": "static"
678
+ },
679
+ {
680
+ "id": "node-builtin.fs.promises.unlink",
681
+ "kind": "node-builtin",
682
+ "name": "fs/promises.unlink",
683
+ "status": "static"
684
+ },
685
+ {
686
+ "id": "node-builtin.fs.promises.writeFile",
687
+ "kind": "node-builtin",
688
+ "name": "fs/promises.writeFile",
689
+ "status": "static"
690
+ },
691
+ {
692
+ "id": "node-builtin.fs.readFileSync",
693
+ "kind": "node-builtin",
694
+ "name": "fs.readFileSync",
695
+ "status": "static"
696
+ },
697
+ {
698
+ "id": "node-builtin.fs.readSync",
699
+ "kind": "node-builtin",
700
+ "name": "fs.readSync",
701
+ "status": "static"
702
+ },
703
+ {
704
+ "id": "node-builtin.fs.readdirSync",
705
+ "kind": "node-builtin",
706
+ "name": "fs.readdirSync",
707
+ "status": "static"
708
+ },
709
+ {
710
+ "id": "node-builtin.fs.realpathSync",
711
+ "kind": "node-builtin",
712
+ "name": "fs.realpathSync",
713
+ "status": "static"
714
+ },
715
+ {
716
+ "id": "node-builtin.fs.rmSync",
717
+ "kind": "node-builtin",
718
+ "name": "fs.rmSync",
719
+ "status": "static"
720
+ },
721
+ {
722
+ "id": "node-builtin.fs.rmdirSync",
723
+ "kind": "node-builtin",
724
+ "name": "fs.rmdirSync",
725
+ "status": "static"
726
+ },
727
+ {
728
+ "id": "node-builtin.fs.statSync",
729
+ "kind": "node-builtin",
730
+ "name": "fs.statSync",
731
+ "status": "static"
732
+ },
733
+ {
734
+ "id": "node-builtin.fs.unlinkSync",
735
+ "kind": "node-builtin",
736
+ "name": "fs.unlinkSync",
737
+ "status": "static"
738
+ },
739
+ {
740
+ "id": "node-builtin.fs.watch",
741
+ "kind": "node-builtin",
742
+ "name": "fs.watch",
743
+ "status": "static"
744
+ },
745
+ {
746
+ "id": "node-builtin.fs.writeFileSync",
747
+ "kind": "node-builtin",
748
+ "name": "fs.writeFileSync",
749
+ "status": "static"
750
+ },
751
+ {
752
+ "id": "node-builtin.http",
753
+ "kind": "node-builtin",
754
+ "name": "http",
755
+ "status": "static",
756
+ "note": "recognized module (bare and node:-prefixed specifiers)"
757
+ },
758
+ {
759
+ "id": "node-builtin.http2",
760
+ "kind": "node-builtin",
761
+ "name": "http2",
762
+ "status": "static",
763
+ "note": "recognized module (bare and node:-prefixed specifiers)"
764
+ },
765
+ {
766
+ "id": "node-builtin.http2.connect",
767
+ "kind": "node-builtin",
768
+ "name": "http2.connect",
769
+ "status": "unsupported",
770
+ "code": "SC2020",
771
+ "note": "HTTP/2 client sessions have no lowering — the lowered http2 surface is the SERVER side: createSecureServer({ allowHTTP1: true, cert, key }), which serves HTTP/1.1 only (ALPN never offers h2 — h2-capable clients negotiate down); an HTTP/1.1 client is https.request"
772
+ },
773
+ {
774
+ "id": "node-builtin.http2.createServer",
775
+ "kind": "node-builtin",
776
+ "name": "http2.createServer",
777
+ "status": "unsupported",
778
+ "code": "SC2020",
779
+ "note": "cleartext (h2c) servers have no lowering — the lowered http2 surface is createSecureServer({ allowHTTP1: true, cert, key }), which serves HTTP/1.1 over TLS (plain HTTP/1.1 is http.createServer)"
780
+ },
781
+ {
782
+ "id": "node-builtin.https",
783
+ "kind": "node-builtin",
784
+ "name": "https",
785
+ "status": "static",
786
+ "note": "recognized module (bare and node:-prefixed specifiers)"
787
+ },
788
+ {
789
+ "id": "node-builtin.module",
790
+ "kind": "node-builtin",
791
+ "name": "node:module",
792
+ "status": "static",
793
+ "note": "recognized module (node:-prefixed specifier only, matching Node)"
794
+ },
795
+ {
796
+ "id": "node-builtin.module.createRequire",
797
+ "kind": "node-builtin",
798
+ "name": "module.createRequire",
799
+ "status": "unsupported",
800
+ "code": "SC2020",
801
+ "note": "createRequire loads CommonJS from disk at RUNTIME (the config/plugin-loading pattern) — a compiled program's modules are fixed at build time, so no lowering can exist; in JS sources the call defers to a runtime error naming this pattern"
802
+ },
803
+ {
804
+ "id": "node-builtin.net",
805
+ "kind": "node-builtin",
806
+ "name": "net",
807
+ "status": "static",
808
+ "note": "recognized module (bare and node:-prefixed specifiers)"
809
+ },
810
+ {
811
+ "id": "node-builtin.net.getDefaultAutoSelectFamilyAttemptTimeout",
812
+ "kind": "node-builtin",
813
+ "name": "net.getDefaultAutoSelectFamilyAttemptTimeout",
814
+ "status": "static"
815
+ },
816
+ {
817
+ "id": "node-builtin.net.setDefaultAutoSelectFamilyAttemptTimeout",
818
+ "kind": "node-builtin",
819
+ "name": "net.setDefaultAutoSelectFamilyAttemptTimeout",
820
+ "status": "static"
821
+ },
822
+ {
823
+ "id": "node-builtin.os",
824
+ "kind": "node-builtin",
825
+ "name": "os",
826
+ "status": "static",
827
+ "note": "recognized module (bare and node:-prefixed specifiers)"
828
+ },
829
+ {
830
+ "id": "node-builtin.os.EOL",
831
+ "kind": "node-builtin",
832
+ "name": "os.EOL",
833
+ "status": "static",
834
+ "note": "constant value read"
835
+ },
836
+ {
837
+ "id": "node-builtin.os.homedir",
838
+ "kind": "node-builtin",
839
+ "name": "os.homedir",
840
+ "status": "static"
841
+ },
842
+ {
843
+ "id": "node-builtin.os.networkInterfaces",
844
+ "kind": "node-builtin",
845
+ "name": "os.networkInterfaces",
846
+ "status": "static"
847
+ },
848
+ {
849
+ "id": "node-builtin.os.platform",
850
+ "kind": "node-builtin",
851
+ "name": "os.platform",
852
+ "status": "static"
853
+ },
854
+ {
855
+ "id": "node-builtin.os.release",
856
+ "kind": "node-builtin",
857
+ "name": "os.release",
858
+ "status": "static"
859
+ },
860
+ {
861
+ "id": "node-builtin.os.tmpdir",
862
+ "kind": "node-builtin",
863
+ "name": "os.tmpdir",
864
+ "status": "static"
865
+ },
866
+ {
867
+ "id": "node-builtin.os.totalmem",
868
+ "kind": "node-builtin",
869
+ "name": "os.totalmem",
870
+ "status": "static"
871
+ },
872
+ {
873
+ "id": "node-builtin.os.type",
874
+ "kind": "node-builtin",
875
+ "name": "os.type",
876
+ "status": "static"
877
+ },
878
+ {
879
+ "id": "node-builtin.os.userInfo",
880
+ "kind": "node-builtin",
881
+ "name": "os.userInfo",
882
+ "status": "static"
883
+ },
884
+ {
885
+ "id": "node-builtin.path",
886
+ "kind": "node-builtin",
887
+ "name": "path",
888
+ "status": "static",
889
+ "note": "recognized module (bare and node:-prefixed specifiers)"
890
+ },
891
+ {
892
+ "id": "node-builtin.path.basename",
893
+ "kind": "node-builtin",
894
+ "name": "path.basename",
895
+ "status": "static"
896
+ },
897
+ {
898
+ "id": "node-builtin.path.delimiter",
899
+ "kind": "node-builtin",
900
+ "name": "path.delimiter",
901
+ "status": "static",
902
+ "note": "constant value read"
903
+ },
904
+ {
905
+ "id": "node-builtin.path.dirname",
906
+ "kind": "node-builtin",
907
+ "name": "path.dirname",
908
+ "status": "static"
909
+ },
910
+ {
911
+ "id": "node-builtin.path.extname",
912
+ "kind": "node-builtin",
913
+ "name": "path.extname",
914
+ "status": "static"
915
+ },
916
+ {
917
+ "id": "node-builtin.path.isAbsolute",
918
+ "kind": "node-builtin",
919
+ "name": "path.isAbsolute",
920
+ "status": "static"
921
+ },
922
+ {
923
+ "id": "node-builtin.path.join",
924
+ "kind": "node-builtin",
925
+ "name": "path.join",
926
+ "status": "static"
927
+ },
928
+ {
929
+ "id": "node-builtin.path.normalize",
930
+ "kind": "node-builtin",
931
+ "name": "path.normalize",
932
+ "status": "static"
933
+ },
934
+ {
935
+ "id": "node-builtin.path.posix",
936
+ "kind": "node-builtin",
937
+ "name": "path/posix",
938
+ "status": "static",
939
+ "note": "recognized module (bare and node:-prefixed specifiers)"
940
+ },
941
+ {
942
+ "id": "node-builtin.path.posix.basename",
943
+ "kind": "node-builtin",
944
+ "name": "path/posix.basename",
945
+ "status": "static"
946
+ },
947
+ {
948
+ "id": "node-builtin.path.posix.delimiter",
949
+ "kind": "node-builtin",
950
+ "name": "path/posix.delimiter",
951
+ "status": "static",
952
+ "note": "constant value read"
953
+ },
954
+ {
955
+ "id": "node-builtin.path.posix.dirname",
956
+ "kind": "node-builtin",
957
+ "name": "path/posix.dirname",
958
+ "status": "static"
959
+ },
960
+ {
961
+ "id": "node-builtin.path.posix.extname",
962
+ "kind": "node-builtin",
963
+ "name": "path/posix.extname",
964
+ "status": "static"
965
+ },
966
+ {
967
+ "id": "node-builtin.path.posix.isAbsolute",
968
+ "kind": "node-builtin",
969
+ "name": "path/posix.isAbsolute",
970
+ "status": "static"
971
+ },
972
+ {
973
+ "id": "node-builtin.path.posix.join",
974
+ "kind": "node-builtin",
975
+ "name": "path/posix.join",
976
+ "status": "static"
977
+ },
978
+ {
979
+ "id": "node-builtin.path.posix.normalize",
980
+ "kind": "node-builtin",
981
+ "name": "path/posix.normalize",
982
+ "status": "static"
983
+ },
984
+ {
985
+ "id": "node-builtin.path.posix.relative",
986
+ "kind": "node-builtin",
987
+ "name": "path/posix.relative",
988
+ "status": "static"
989
+ },
990
+ {
991
+ "id": "node-builtin.path.posix.resolve",
992
+ "kind": "node-builtin",
993
+ "name": "path/posix.resolve",
994
+ "status": "static"
995
+ },
996
+ {
997
+ "id": "node-builtin.path.posix.sep",
998
+ "kind": "node-builtin",
999
+ "name": "path/posix.sep",
1000
+ "status": "static",
1001
+ "note": "constant value read"
1002
+ },
1003
+ {
1004
+ "id": "node-builtin.path.posix.toNamespacedPath",
1005
+ "kind": "node-builtin",
1006
+ "name": "path/posix.toNamespacedPath",
1007
+ "status": "static"
1008
+ },
1009
+ {
1010
+ "id": "node-builtin.path.relative",
1011
+ "kind": "node-builtin",
1012
+ "name": "path.relative",
1013
+ "status": "static"
1014
+ },
1015
+ {
1016
+ "id": "node-builtin.path.resolve",
1017
+ "kind": "node-builtin",
1018
+ "name": "path.resolve",
1019
+ "status": "static"
1020
+ },
1021
+ {
1022
+ "id": "node-builtin.path.sep",
1023
+ "kind": "node-builtin",
1024
+ "name": "path.sep",
1025
+ "status": "static",
1026
+ "note": "constant value read"
1027
+ },
1028
+ {
1029
+ "id": "node-builtin.path.toNamespacedPath",
1030
+ "kind": "node-builtin",
1031
+ "name": "path.toNamespacedPath",
1032
+ "status": "static"
1033
+ },
1034
+ {
1035
+ "id": "node-builtin.path.win32",
1036
+ "kind": "node-builtin",
1037
+ "name": "path/win32",
1038
+ "status": "static",
1039
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1040
+ },
1041
+ {
1042
+ "id": "node-builtin.path.win32.basename",
1043
+ "kind": "node-builtin",
1044
+ "name": "path/win32.basename",
1045
+ "status": "static"
1046
+ },
1047
+ {
1048
+ "id": "node-builtin.path.win32.delimiter",
1049
+ "kind": "node-builtin",
1050
+ "name": "path/win32.delimiter",
1051
+ "status": "static",
1052
+ "note": "constant value read"
1053
+ },
1054
+ {
1055
+ "id": "node-builtin.path.win32.dirname",
1056
+ "kind": "node-builtin",
1057
+ "name": "path/win32.dirname",
1058
+ "status": "static"
1059
+ },
1060
+ {
1061
+ "id": "node-builtin.path.win32.extname",
1062
+ "kind": "node-builtin",
1063
+ "name": "path/win32.extname",
1064
+ "status": "static"
1065
+ },
1066
+ {
1067
+ "id": "node-builtin.path.win32.isAbsolute",
1068
+ "kind": "node-builtin",
1069
+ "name": "path/win32.isAbsolute",
1070
+ "status": "static"
1071
+ },
1072
+ {
1073
+ "id": "node-builtin.path.win32.join",
1074
+ "kind": "node-builtin",
1075
+ "name": "path/win32.join",
1076
+ "status": "static"
1077
+ },
1078
+ {
1079
+ "id": "node-builtin.path.win32.normalize",
1080
+ "kind": "node-builtin",
1081
+ "name": "path/win32.normalize",
1082
+ "status": "static"
1083
+ },
1084
+ {
1085
+ "id": "node-builtin.path.win32.relative",
1086
+ "kind": "node-builtin",
1087
+ "name": "path/win32.relative",
1088
+ "status": "static"
1089
+ },
1090
+ {
1091
+ "id": "node-builtin.path.win32.resolve",
1092
+ "kind": "node-builtin",
1093
+ "name": "path/win32.resolve",
1094
+ "status": "static"
1095
+ },
1096
+ {
1097
+ "id": "node-builtin.path.win32.sep",
1098
+ "kind": "node-builtin",
1099
+ "name": "path/win32.sep",
1100
+ "status": "static",
1101
+ "note": "constant value read"
1102
+ },
1103
+ {
1104
+ "id": "node-builtin.path.win32.toNamespacedPath",
1105
+ "kind": "node-builtin",
1106
+ "name": "path/win32.toNamespacedPath",
1107
+ "status": "static"
1108
+ },
1109
+ {
1110
+ "id": "node-builtin.perf_hooks",
1111
+ "kind": "node-builtin",
1112
+ "name": "perf_hooks",
1113
+ "status": "static",
1114
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1115
+ },
1116
+ {
1117
+ "id": "node-builtin.querystring",
1118
+ "kind": "node-builtin",
1119
+ "name": "querystring",
1120
+ "status": "static",
1121
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1122
+ },
1123
+ {
1124
+ "id": "node-builtin.querystring.decode",
1125
+ "kind": "node-builtin",
1126
+ "name": "querystring.decode",
1127
+ "status": "static"
1128
+ },
1129
+ {
1130
+ "id": "node-builtin.querystring.encode",
1131
+ "kind": "node-builtin",
1132
+ "name": "querystring.encode",
1133
+ "status": "static"
1134
+ },
1135
+ {
1136
+ "id": "node-builtin.querystring.escape",
1137
+ "kind": "node-builtin",
1138
+ "name": "querystring.escape",
1139
+ "status": "static"
1140
+ },
1141
+ {
1142
+ "id": "node-builtin.querystring.parse",
1143
+ "kind": "node-builtin",
1144
+ "name": "querystring.parse",
1145
+ "status": "static"
1146
+ },
1147
+ {
1148
+ "id": "node-builtin.querystring.stringify",
1149
+ "kind": "node-builtin",
1150
+ "name": "querystring.stringify",
1151
+ "status": "static"
1152
+ },
1153
+ {
1154
+ "id": "node-builtin.querystring.unescape",
1155
+ "kind": "node-builtin",
1156
+ "name": "querystring.unescape",
1157
+ "status": "static"
1158
+ },
1159
+ {
1160
+ "id": "node-builtin.readline",
1161
+ "kind": "node-builtin",
1162
+ "name": "readline",
1163
+ "status": "static",
1164
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1165
+ },
1166
+ {
1167
+ "id": "node-builtin.readline.createInterface",
1168
+ "kind": "node-builtin",
1169
+ "name": "readline.createInterface",
1170
+ "status": "static"
1171
+ },
1172
+ {
1173
+ "id": "node-builtin.stream",
1174
+ "kind": "node-builtin",
1175
+ "name": "stream",
1176
+ "status": "static",
1177
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1178
+ },
1179
+ {
1180
+ "id": "node-builtin.string_decoder",
1181
+ "kind": "node-builtin",
1182
+ "name": "string_decoder",
1183
+ "status": "static",
1184
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1185
+ },
1186
+ {
1187
+ "id": "node-builtin.test",
1188
+ "kind": "node-builtin",
1189
+ "name": "node:test",
1190
+ "status": "static",
1191
+ "note": "recognized module (node:-prefixed specifier only, matching Node)"
1192
+ },
1193
+ {
1194
+ "id": "node-builtin.timers",
1195
+ "kind": "node-builtin",
1196
+ "name": "timers",
1197
+ "status": "static",
1198
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1199
+ },
1200
+ {
1201
+ "id": "node-builtin.timers.promises",
1202
+ "kind": "node-builtin",
1203
+ "name": "timers/promises",
1204
+ "status": "static",
1205
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1206
+ },
1207
+ {
1208
+ "id": "node-builtin.timers.promises.setImmediate",
1209
+ "kind": "node-builtin",
1210
+ "name": "timers/promises.setImmediate",
1211
+ "status": "static"
1212
+ },
1213
+ {
1214
+ "id": "node-builtin.timers.promises.setTimeout",
1215
+ "kind": "node-builtin",
1216
+ "name": "timers/promises.setTimeout",
1217
+ "status": "static"
1218
+ },
1219
+ {
1220
+ "id": "node-builtin.tls",
1221
+ "kind": "node-builtin",
1222
+ "name": "tls",
1223
+ "status": "static",
1224
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1225
+ },
1226
+ {
1227
+ "id": "node-builtin.tls.connect",
1228
+ "kind": "node-builtin",
1229
+ "name": "tls.connect",
1230
+ "status": "unsupported",
1231
+ "code": "SC2020",
1232
+ "note": "the lowered TLS client is https.request({ hostname, port, path, method, ca?, rejectUnauthorized? }); raw tls.connect sockets have no lowering yet"
1233
+ },
1234
+ {
1235
+ "id": "node-builtin.tls.createSecureContext",
1236
+ "kind": "node-builtin",
1237
+ "name": "tls.createSecureContext",
1238
+ "status": "unsupported",
1239
+ "code": "SC2020",
1240
+ "note": "the lowered form is createSecureContext({ cert, key }) — an opaque SecureContext handle for SNI callbacks (http2.createSecureServer accepts SNICallback); other options fence by name"
1241
+ },
1242
+ {
1243
+ "id": "node-builtin.tty",
1244
+ "kind": "node-builtin",
1245
+ "name": "tty",
1246
+ "status": "static",
1247
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1248
+ },
1249
+ {
1250
+ "id": "node-builtin.url",
1251
+ "kind": "node-builtin",
1252
+ "name": "url",
1253
+ "status": "static",
1254
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1255
+ },
1256
+ {
1257
+ "id": "node-builtin.url.fileURLToPath",
1258
+ "kind": "node-builtin",
1259
+ "name": "url.fileURLToPath",
1260
+ "status": "static"
1261
+ },
1262
+ {
1263
+ "id": "node-builtin.url.pathToFileURL",
1264
+ "kind": "node-builtin",
1265
+ "name": "url.pathToFileURL",
1266
+ "status": "static"
1267
+ },
1268
+ {
1269
+ "id": "node-builtin.util",
1270
+ "kind": "node-builtin",
1271
+ "name": "util",
1272
+ "status": "static",
1273
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1274
+ },
1275
+ {
1276
+ "id": "node-builtin.util.promisify",
1277
+ "kind": "node-builtin",
1278
+ "name": "util.promisify",
1279
+ "status": "unsupported",
1280
+ "code": "SC2020",
1281
+ "note": "the one lowered shape is a const binding over child_process.execFile: const execFileAsync = promisify(execFile), then call execFileAsync directly"
1282
+ },
1283
+ {
1284
+ "id": "node-builtin.util.types",
1285
+ "kind": "node-builtin",
1286
+ "name": "util/types",
1287
+ "status": "static",
1288
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1289
+ },
1290
+ {
1291
+ "id": "node-builtin.worker_threads",
1292
+ "kind": "node-builtin",
1293
+ "name": "worker_threads",
1294
+ "status": "static",
1295
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1296
+ },
1297
+ {
1298
+ "id": "node-builtin.worker_threads.isMainThread",
1299
+ "kind": "node-builtin",
1300
+ "name": "worker_threads.isMainThread",
1301
+ "status": "static",
1302
+ "note": "constant value read"
1303
+ },
1304
+ {
1305
+ "id": "node-builtin.worker_threads.threadId",
1306
+ "kind": "node-builtin",
1307
+ "name": "worker_threads.threadId",
1308
+ "status": "static",
1309
+ "note": "constant value read"
1310
+ },
1311
+ {
1312
+ "id": "node-builtin.zlib",
1313
+ "kind": "node-builtin",
1314
+ "name": "zlib",
1315
+ "status": "static",
1316
+ "note": "recognized module (bare and node:-prefixed specifiers)"
1317
+ },
1318
+ {
1319
+ "id": "node-builtin.zlib.brotliCompressSync",
1320
+ "kind": "node-builtin",
1321
+ "name": "zlib.brotliCompressSync",
1322
+ "status": "unsupported",
1323
+ "code": "SC2020",
1324
+ "note": "deflateSync and inflateSync are the lowered zlib surface"
1325
+ },
1326
+ {
1327
+ "id": "node-builtin.zlib.brotliDecompressSync",
1328
+ "kind": "node-builtin",
1329
+ "name": "zlib.brotliDecompressSync",
1330
+ "status": "unsupported",
1331
+ "code": "SC2020",
1332
+ "note": "deflateSync and inflateSync are the lowered zlib surface"
1333
+ },
1334
+ {
1335
+ "id": "node-builtin.zlib.deflateSync",
1336
+ "kind": "node-builtin",
1337
+ "name": "zlib.deflateSync",
1338
+ "status": "static"
1339
+ },
1340
+ {
1341
+ "id": "node-builtin.zlib.gunzipSync",
1342
+ "kind": "node-builtin",
1343
+ "name": "zlib.gunzipSync",
1344
+ "status": "unsupported",
1345
+ "code": "SC2020",
1346
+ "note": "deflateSync and inflateSync are the lowered zlib surface"
1347
+ },
1348
+ {
1349
+ "id": "node-builtin.zlib.gzipSync",
1350
+ "kind": "node-builtin",
1351
+ "name": "zlib.gzipSync",
1352
+ "status": "unsupported",
1353
+ "code": "SC2020",
1354
+ "note": "deflateSync and inflateSync are the lowered zlib surface"
1355
+ },
1356
+ {
1357
+ "id": "node-builtin.zlib.inflateSync",
1358
+ "kind": "node-builtin",
1359
+ "name": "zlib.inflateSync",
1360
+ "status": "static"
1361
+ },
1362
+ {
1363
+ "id": "node-builtin.zlib.unzipSync",
1364
+ "kind": "node-builtin",
1365
+ "name": "zlib.unzipSync",
1366
+ "status": "unsupported",
1367
+ "code": "SC2020",
1368
+ "note": "deflateSync and inflateSync are the lowered zlib surface"
1369
+ },
1370
+ {
1371
+ "id": "stdlib.array.at",
1372
+ "kind": "stdlib",
1373
+ "name": "Array.prototype.at",
1374
+ "status": "static"
1375
+ },
1376
+ {
1377
+ "id": "stdlib.array.concat",
1378
+ "kind": "stdlib",
1379
+ "name": "Array.prototype.concat",
1380
+ "status": "static"
1381
+ },
1382
+ {
1383
+ "id": "stdlib.array.every",
1384
+ "kind": "stdlib",
1385
+ "name": "Array.prototype.every",
1386
+ "status": "static"
1387
+ },
1388
+ {
1389
+ "id": "stdlib.array.filter",
1390
+ "kind": "stdlib",
1391
+ "name": "Array.prototype.filter",
1392
+ "status": "static"
1393
+ },
1394
+ {
1395
+ "id": "stdlib.array.find",
1396
+ "kind": "stdlib",
1397
+ "name": "Array.prototype.find",
1398
+ "status": "static"
1399
+ },
1400
+ {
1401
+ "id": "stdlib.array.findIndex",
1402
+ "kind": "stdlib",
1403
+ "name": "Array.prototype.findIndex",
1404
+ "status": "static"
1405
+ },
1406
+ {
1407
+ "id": "stdlib.array.findLast",
1408
+ "kind": "stdlib",
1409
+ "name": "Array.prototype.findLast",
1410
+ "status": "static"
1411
+ },
1412
+ {
1413
+ "id": "stdlib.array.findLastIndex",
1414
+ "kind": "stdlib",
1415
+ "name": "Array.prototype.findLastIndex",
1416
+ "status": "static"
1417
+ },
1418
+ {
1419
+ "id": "stdlib.array.flatMap",
1420
+ "kind": "stdlib",
1421
+ "name": "Array.prototype.flatMap",
1422
+ "status": "static"
1423
+ },
1424
+ {
1425
+ "id": "stdlib.array.forEach",
1426
+ "kind": "stdlib",
1427
+ "name": "Array.prototype.forEach",
1428
+ "status": "static"
1429
+ },
1430
+ {
1431
+ "id": "stdlib.array.includes",
1432
+ "kind": "stdlib",
1433
+ "name": "Array.prototype.includes",
1434
+ "status": "static"
1435
+ },
1436
+ {
1437
+ "id": "stdlib.array.indexOf",
1438
+ "kind": "stdlib",
1439
+ "name": "Array.prototype.indexOf",
1440
+ "status": "static"
1441
+ },
1442
+ {
1443
+ "id": "stdlib.array.join",
1444
+ "kind": "stdlib",
1445
+ "name": "Array.prototype.join",
1446
+ "status": "static"
1447
+ },
1448
+ {
1449
+ "id": "stdlib.array.map",
1450
+ "kind": "stdlib",
1451
+ "name": "Array.prototype.map",
1452
+ "status": "static"
1453
+ },
1454
+ {
1455
+ "id": "stdlib.array.pop",
1456
+ "kind": "stdlib",
1457
+ "name": "Array.prototype.pop",
1458
+ "status": "static"
1459
+ },
1460
+ {
1461
+ "id": "stdlib.array.push",
1462
+ "kind": "stdlib",
1463
+ "name": "Array.prototype.push",
1464
+ "status": "static"
1465
+ },
1466
+ {
1467
+ "id": "stdlib.array.reduce",
1468
+ "kind": "stdlib",
1469
+ "name": "Array.prototype.reduce",
1470
+ "status": "static"
1471
+ },
1472
+ {
1473
+ "id": "stdlib.array.reduceRight",
1474
+ "kind": "stdlib",
1475
+ "name": "Array.prototype.reduceRight",
1476
+ "status": "static"
1477
+ },
1478
+ {
1479
+ "id": "stdlib.array.slice",
1480
+ "kind": "stdlib",
1481
+ "name": "Array.prototype.slice",
1482
+ "status": "static"
1483
+ },
1484
+ {
1485
+ "id": "stdlib.array.some",
1486
+ "kind": "stdlib",
1487
+ "name": "Array.prototype.some",
1488
+ "status": "static"
1489
+ },
1490
+ {
1491
+ "id": "stdlib.map.clear",
1492
+ "kind": "stdlib",
1493
+ "name": "Map.prototype.clear",
1494
+ "status": "static"
1495
+ },
1496
+ {
1497
+ "id": "stdlib.map.delete",
1498
+ "kind": "stdlib",
1499
+ "name": "Map.prototype.delete",
1500
+ "status": "static"
1501
+ },
1502
+ {
1503
+ "id": "stdlib.map.forEach",
1504
+ "kind": "stdlib",
1505
+ "name": "Map.prototype.forEach",
1506
+ "status": "static"
1507
+ },
1508
+ {
1509
+ "id": "stdlib.map.get",
1510
+ "kind": "stdlib",
1511
+ "name": "Map.prototype.get",
1512
+ "status": "static"
1513
+ },
1514
+ {
1515
+ "id": "stdlib.map.has",
1516
+ "kind": "stdlib",
1517
+ "name": "Map.prototype.has",
1518
+ "status": "static"
1519
+ },
1520
+ {
1521
+ "id": "stdlib.map.set",
1522
+ "kind": "stdlib",
1523
+ "name": "Map.prototype.set",
1524
+ "status": "static"
1525
+ },
1526
+ {
1527
+ "id": "stdlib.math.E",
1528
+ "kind": "stdlib",
1529
+ "name": "Math.E",
1530
+ "status": "dynamic-only",
1531
+ "code": "SC2012"
1532
+ },
1533
+ {
1534
+ "id": "stdlib.math.PI",
1535
+ "kind": "stdlib",
1536
+ "name": "Math.PI",
1537
+ "status": "dynamic-only",
1538
+ "code": "SC2012"
1539
+ },
1540
+ {
1541
+ "id": "stdlib.math.abs",
1542
+ "kind": "stdlib",
1543
+ "name": "Math.abs",
1544
+ "status": "static",
1545
+ "note": "compiles statically at arity 1; other declared call shapes run only in the embedded dynamic engine (SC2012 without --dynamic)"
1546
+ },
1547
+ {
1548
+ "id": "stdlib.math.acos",
1549
+ "kind": "stdlib",
1550
+ "name": "Math.acos",
1551
+ "status": "dynamic-only",
1552
+ "code": "SC2012"
1553
+ },
1554
+ {
1555
+ "id": "stdlib.math.asin",
1556
+ "kind": "stdlib",
1557
+ "name": "Math.asin",
1558
+ "status": "dynamic-only",
1559
+ "code": "SC2012"
1560
+ },
1561
+ {
1562
+ "id": "stdlib.math.atan",
1563
+ "kind": "stdlib",
1564
+ "name": "Math.atan",
1565
+ "status": "dynamic-only",
1566
+ "code": "SC2012"
1567
+ },
1568
+ {
1569
+ "id": "stdlib.math.atan2",
1570
+ "kind": "stdlib",
1571
+ "name": "Math.atan2",
1572
+ "status": "dynamic-only",
1573
+ "code": "SC2012"
1574
+ },
1575
+ {
1576
+ "id": "stdlib.math.cbrt",
1577
+ "kind": "stdlib",
1578
+ "name": "Math.cbrt",
1579
+ "status": "dynamic-only",
1580
+ "code": "SC2012"
1581
+ },
1582
+ {
1583
+ "id": "stdlib.math.ceil",
1584
+ "kind": "stdlib",
1585
+ "name": "Math.ceil",
1586
+ "status": "dynamic-only",
1587
+ "code": "SC2012"
1588
+ },
1589
+ {
1590
+ "id": "stdlib.math.cos",
1591
+ "kind": "stdlib",
1592
+ "name": "Math.cos",
1593
+ "status": "dynamic-only",
1594
+ "code": "SC2012"
1595
+ },
1596
+ {
1597
+ "id": "stdlib.math.exp",
1598
+ "kind": "stdlib",
1599
+ "name": "Math.exp",
1600
+ "status": "dynamic-only",
1601
+ "code": "SC2012"
1602
+ },
1603
+ {
1604
+ "id": "stdlib.math.floor",
1605
+ "kind": "stdlib",
1606
+ "name": "Math.floor",
1607
+ "status": "static",
1608
+ "note": "compiles statically at arity 1"
1609
+ },
1610
+ {
1611
+ "id": "stdlib.math.hypot",
1612
+ "kind": "stdlib",
1613
+ "name": "Math.hypot",
1614
+ "status": "dynamic-only",
1615
+ "code": "SC2012"
1616
+ },
1617
+ {
1618
+ "id": "stdlib.math.log",
1619
+ "kind": "stdlib",
1620
+ "name": "Math.log",
1621
+ "status": "dynamic-only",
1622
+ "code": "SC2012"
1623
+ },
1624
+ {
1625
+ "id": "stdlib.math.log10",
1626
+ "kind": "stdlib",
1627
+ "name": "Math.log10",
1628
+ "status": "dynamic-only",
1629
+ "code": "SC2012"
1630
+ },
1631
+ {
1632
+ "id": "stdlib.math.log2",
1633
+ "kind": "stdlib",
1634
+ "name": "Math.log2",
1635
+ "status": "dynamic-only",
1636
+ "code": "SC2012"
1637
+ },
1638
+ {
1639
+ "id": "stdlib.math.max",
1640
+ "kind": "stdlib",
1641
+ "name": "Math.max",
1642
+ "status": "static",
1643
+ "note": "compiles statically at arity 2"
1644
+ },
1645
+ {
1646
+ "id": "stdlib.math.min",
1647
+ "kind": "stdlib",
1648
+ "name": "Math.min",
1649
+ "status": "static",
1650
+ "note": "compiles statically at arity 2"
1651
+ },
1652
+ {
1653
+ "id": "stdlib.math.pow",
1654
+ "kind": "stdlib",
1655
+ "name": "Math.pow",
1656
+ "status": "dynamic-only",
1657
+ "code": "SC2012"
1658
+ },
1659
+ {
1660
+ "id": "stdlib.math.random",
1661
+ "kind": "stdlib",
1662
+ "name": "Math.random",
1663
+ "status": "static",
1664
+ "note": "compiles statically at arity 0"
1665
+ },
1666
+ {
1667
+ "id": "stdlib.math.round",
1668
+ "kind": "stdlib",
1669
+ "name": "Math.round",
1670
+ "status": "static",
1671
+ "note": "compiles statically at arity 1; other declared call shapes run only in the embedded dynamic engine (SC2012 without --dynamic)"
1672
+ },
1673
+ {
1674
+ "id": "stdlib.math.sign",
1675
+ "kind": "stdlib",
1676
+ "name": "Math.sign",
1677
+ "status": "dynamic-only",
1678
+ "code": "SC2012"
1679
+ },
1680
+ {
1681
+ "id": "stdlib.math.sin",
1682
+ "kind": "stdlib",
1683
+ "name": "Math.sin",
1684
+ "status": "dynamic-only",
1685
+ "code": "SC2012"
1686
+ },
1687
+ {
1688
+ "id": "stdlib.math.sqrt",
1689
+ "kind": "stdlib",
1690
+ "name": "Math.sqrt",
1691
+ "status": "dynamic-only",
1692
+ "code": "SC2012"
1693
+ },
1694
+ {
1695
+ "id": "stdlib.math.tan",
1696
+ "kind": "stdlib",
1697
+ "name": "Math.tan",
1698
+ "status": "dynamic-only",
1699
+ "code": "SC2012"
1700
+ },
1701
+ {
1702
+ "id": "stdlib.math.trunc",
1703
+ "kind": "stdlib",
1704
+ "name": "Math.trunc",
1705
+ "status": "dynamic-only",
1706
+ "code": "SC2012"
1707
+ },
1708
+ {
1709
+ "id": "stdlib.number.toFixed",
1710
+ "kind": "stdlib",
1711
+ "name": "number.prototype.toFixed",
1712
+ "status": "dynamic-only",
1713
+ "code": "SC2012"
1714
+ },
1715
+ {
1716
+ "id": "stdlib.number.toPrecision",
1717
+ "kind": "stdlib",
1718
+ "name": "number.prototype.toPrecision",
1719
+ "status": "dynamic-only",
1720
+ "code": "SC2012"
1721
+ },
1722
+ {
1723
+ "id": "stdlib.number.toString",
1724
+ "kind": "stdlib",
1725
+ "name": "number.prototype.toString",
1726
+ "status": "dynamic-only",
1727
+ "code": "SC2012"
1728
+ },
1729
+ {
1730
+ "id": "stdlib.set.add",
1731
+ "kind": "stdlib",
1732
+ "name": "Set.prototype.add",
1733
+ "status": "static"
1734
+ },
1735
+ {
1736
+ "id": "stdlib.set.clear",
1737
+ "kind": "stdlib",
1738
+ "name": "Set.prototype.clear",
1739
+ "status": "static"
1740
+ },
1741
+ {
1742
+ "id": "stdlib.set.delete",
1743
+ "kind": "stdlib",
1744
+ "name": "Set.prototype.delete",
1745
+ "status": "static"
1746
+ },
1747
+ {
1748
+ "id": "stdlib.set.difference",
1749
+ "kind": "stdlib",
1750
+ "name": "Set.prototype.difference",
1751
+ "status": "static",
1752
+ "note": "compiles over Set receivers with Set arguments (the general ReadonlySetLike argument forms are refused per site)"
1753
+ },
1754
+ {
1755
+ "id": "stdlib.set.forEach",
1756
+ "kind": "stdlib",
1757
+ "name": "Set.prototype.forEach",
1758
+ "status": "static"
1759
+ },
1760
+ {
1761
+ "id": "stdlib.set.has",
1762
+ "kind": "stdlib",
1763
+ "name": "Set.prototype.has",
1764
+ "status": "static"
1765
+ },
1766
+ {
1767
+ "id": "stdlib.set.intersection",
1768
+ "kind": "stdlib",
1769
+ "name": "Set.prototype.intersection",
1770
+ "status": "static",
1771
+ "note": "compiles over Set receivers with Set arguments (the general ReadonlySetLike argument forms are refused per site)"
1772
+ },
1773
+ {
1774
+ "id": "stdlib.set.isDisjointFrom",
1775
+ "kind": "stdlib",
1776
+ "name": "Set.prototype.isDisjointFrom",
1777
+ "status": "static",
1778
+ "note": "compiles over Set receivers with Set arguments (the general ReadonlySetLike argument forms are refused per site)"
1779
+ },
1780
+ {
1781
+ "id": "stdlib.set.isSubsetOf",
1782
+ "kind": "stdlib",
1783
+ "name": "Set.prototype.isSubsetOf",
1784
+ "status": "static",
1785
+ "note": "compiles over Set receivers with Set arguments (the general ReadonlySetLike argument forms are refused per site)"
1786
+ },
1787
+ {
1788
+ "id": "stdlib.set.isSupersetOf",
1789
+ "kind": "stdlib",
1790
+ "name": "Set.prototype.isSupersetOf",
1791
+ "status": "static",
1792
+ "note": "compiles over Set receivers with Set arguments (the general ReadonlySetLike argument forms are refused per site)"
1793
+ },
1794
+ {
1795
+ "id": "stdlib.set.symmetricDifference",
1796
+ "kind": "stdlib",
1797
+ "name": "Set.prototype.symmetricDifference",
1798
+ "status": "static",
1799
+ "note": "compiles over Set receivers with Set arguments (the general ReadonlySetLike argument forms are refused per site)"
1800
+ },
1801
+ {
1802
+ "id": "stdlib.set.union",
1803
+ "kind": "stdlib",
1804
+ "name": "Set.prototype.union",
1805
+ "status": "static",
1806
+ "note": "compiles over Set receivers with Set arguments (the general ReadonlySetLike argument forms are refused per site)"
1807
+ },
1808
+ {
1809
+ "id": "stdlib.string.at",
1810
+ "kind": "stdlib",
1811
+ "name": "string.prototype.at",
1812
+ "status": "dynamic-only",
1813
+ "code": "SC2012"
1814
+ },
1815
+ {
1816
+ "id": "stdlib.string.charAt",
1817
+ "kind": "stdlib",
1818
+ "name": "string.prototype.charAt",
1819
+ "status": "static",
1820
+ "note": "the lowered call form takes exactly 1 argument"
1821
+ },
1822
+ {
1823
+ "id": "stdlib.string.charCodeAt",
1824
+ "kind": "stdlib",
1825
+ "name": "string.prototype.charCodeAt",
1826
+ "status": "static",
1827
+ "note": "the lowered call form takes exactly 1 argument"
1828
+ },
1829
+ {
1830
+ "id": "stdlib.string.endsWith",
1831
+ "kind": "stdlib",
1832
+ "name": "string.prototype.endsWith",
1833
+ "status": "static",
1834
+ "note": "the lowered call form takes exactly 1 argument"
1835
+ },
1836
+ {
1837
+ "id": "stdlib.string.includes",
1838
+ "kind": "stdlib",
1839
+ "name": "string.prototype.includes",
1840
+ "status": "static",
1841
+ "note": "the lowered call form takes 1 to 2 arguments"
1842
+ },
1843
+ {
1844
+ "id": "stdlib.string.indexOf",
1845
+ "kind": "stdlib",
1846
+ "name": "string.prototype.indexOf",
1847
+ "status": "static",
1848
+ "note": "the lowered call form takes 1 to 2 arguments"
1849
+ },
1850
+ {
1851
+ "id": "stdlib.string.isWellFormed",
1852
+ "kind": "stdlib",
1853
+ "name": "string.prototype.isWellFormed",
1854
+ "status": "static",
1855
+ "note": "the lowered call form takes no arguments"
1856
+ },
1857
+ {
1858
+ "id": "stdlib.string.padEnd",
1859
+ "kind": "stdlib",
1860
+ "name": "string.prototype.padEnd",
1861
+ "status": "static",
1862
+ "note": "the lowered call form takes 1 to 2 arguments"
1863
+ },
1864
+ {
1865
+ "id": "stdlib.string.padStart",
1866
+ "kind": "stdlib",
1867
+ "name": "string.prototype.padStart",
1868
+ "status": "static",
1869
+ "note": "the lowered call form takes 1 to 2 arguments"
1870
+ },
1871
+ {
1872
+ "id": "stdlib.string.repeat",
1873
+ "kind": "stdlib",
1874
+ "name": "string.prototype.repeat",
1875
+ "status": "static",
1876
+ "note": "the lowered call form takes exactly 1 argument"
1877
+ },
1878
+ {
1879
+ "id": "stdlib.string.replace",
1880
+ "kind": "stdlib",
1881
+ "name": "string.prototype.replace",
1882
+ "status": "dynamic-only",
1883
+ "code": "SC2012"
1884
+ },
1885
+ {
1886
+ "id": "stdlib.string.replaceAll",
1887
+ "kind": "stdlib",
1888
+ "name": "string.prototype.replaceAll",
1889
+ "status": "dynamic-only",
1890
+ "code": "SC2012"
1891
+ },
1892
+ {
1893
+ "id": "stdlib.string.slice",
1894
+ "kind": "stdlib",
1895
+ "name": "string.prototype.slice",
1896
+ "status": "static",
1897
+ "note": "the lowered call form takes 0 to 2 arguments"
1898
+ },
1899
+ {
1900
+ "id": "stdlib.string.split",
1901
+ "kind": "stdlib",
1902
+ "name": "string.prototype.split",
1903
+ "status": "static",
1904
+ "note": "the lowered call form takes exactly 1 argument"
1905
+ },
1906
+ {
1907
+ "id": "stdlib.string.startsWith",
1908
+ "kind": "stdlib",
1909
+ "name": "string.prototype.startsWith",
1910
+ "status": "static",
1911
+ "note": "the lowered call form takes exactly 1 argument"
1912
+ },
1913
+ {
1914
+ "id": "stdlib.string.substring",
1915
+ "kind": "stdlib",
1916
+ "name": "string.prototype.substring",
1917
+ "status": "static",
1918
+ "note": "the lowered call form takes 1 to 2 arguments"
1919
+ },
1920
+ {
1921
+ "id": "stdlib.string.toLowerCase",
1922
+ "kind": "stdlib",
1923
+ "name": "string.prototype.toLowerCase",
1924
+ "status": "static",
1925
+ "note": "the lowered call form takes no arguments"
1926
+ },
1927
+ {
1928
+ "id": "stdlib.string.toUpperCase",
1929
+ "kind": "stdlib",
1930
+ "name": "string.prototype.toUpperCase",
1931
+ "status": "static",
1932
+ "note": "the lowered call form takes no arguments"
1933
+ },
1934
+ {
1935
+ "id": "stdlib.string.toWellFormed",
1936
+ "kind": "stdlib",
1937
+ "name": "string.prototype.toWellFormed",
1938
+ "status": "static",
1939
+ "note": "the lowered call form takes no arguments"
1940
+ },
1941
+ {
1942
+ "id": "stdlib.string.trim",
1943
+ "kind": "stdlib",
1944
+ "name": "string.prototype.trim",
1945
+ "status": "static",
1946
+ "note": "the lowered call form takes no arguments"
1947
+ },
1948
+ {
1949
+ "id": "stdlib.string.trimEnd",
1950
+ "kind": "stdlib",
1951
+ "name": "string.prototype.trimEnd",
1952
+ "status": "static",
1953
+ "note": "the lowered call form takes no arguments"
1954
+ },
1955
+ {
1956
+ "id": "stdlib.string.trimLeft",
1957
+ "kind": "stdlib",
1958
+ "name": "string.prototype.trimLeft",
1959
+ "status": "static",
1960
+ "note": "the lowered call form takes no arguments"
1961
+ },
1962
+ {
1963
+ "id": "stdlib.string.trimRight",
1964
+ "kind": "stdlib",
1965
+ "name": "string.prototype.trimRight",
1966
+ "status": "static",
1967
+ "note": "the lowered call form takes no arguments"
1968
+ },
1969
+ {
1970
+ "id": "stdlib.string.trimStart",
1971
+ "kind": "stdlib",
1972
+ "name": "string.prototype.trimStart",
1973
+ "status": "static",
1974
+ "note": "the lowered call form takes no arguments"
1975
+ },
1976
+ {
1977
+ "id": "syntax.class-declarations-inside-functions",
1978
+ "kind": "syntax",
1979
+ "name": "class declarations inside functions",
1980
+ "status": "unsupported",
1981
+ "code": "SC1090"
1982
+ },
1983
+ {
1984
+ "id": "syntax.class-expressions",
1985
+ "kind": "syntax",
1986
+ "name": "class expressions",
1987
+ "status": "unsupported",
1988
+ "code": "SC1020"
1989
+ },
1990
+ {
1991
+ "id": "syntax.compound-assignment.bitwise-and",
1992
+ "kind": "syntax",
1993
+ "name": "compound assignment operator '&='",
1994
+ "status": "static",
1995
+ "note": "compiles over the operand types the '&' operator supports"
1996
+ },
1997
+ {
1998
+ "id": "syntax.compound-assignment.bitwise-or",
1999
+ "kind": "syntax",
2000
+ "name": "compound assignment operator '|='",
2001
+ "status": "static",
2002
+ "note": "compiles over the operand types the '|' operator supports"
2003
+ },
2004
+ {
2005
+ "id": "syntax.compound-assignment.bitwise-xor",
2006
+ "kind": "syntax",
2007
+ "name": "compound assignment operator '^='",
2008
+ "status": "static",
2009
+ "note": "compiles over the operand types the '^' operator supports"
2010
+ },
2011
+ {
2012
+ "id": "syntax.compound-assignment.divide",
2013
+ "kind": "syntax",
2014
+ "name": "compound assignment operator '/='",
2015
+ "status": "static",
2016
+ "note": "compiles over the operand types the '/' operator supports"
2017
+ },
2018
+ {
2019
+ "id": "syntax.compound-assignment.exponent",
2020
+ "kind": "syntax",
2021
+ "name": "compound assignment operator '**='",
2022
+ "status": "static",
2023
+ "note": "compiles over the operand types the '**' operator supports"
2024
+ },
2025
+ {
2026
+ "id": "syntax.compound-assignment.minus",
2027
+ "kind": "syntax",
2028
+ "name": "compound assignment operator '-='",
2029
+ "status": "static",
2030
+ "note": "compiles over the operand types the '-' operator supports"
2031
+ },
2032
+ {
2033
+ "id": "syntax.compound-assignment.plus",
2034
+ "kind": "syntax",
2035
+ "name": "compound assignment operator '+='",
2036
+ "status": "static",
2037
+ "note": "compiles over the operand types the '+' operator supports"
2038
+ },
2039
+ {
2040
+ "id": "syntax.compound-assignment.remainder",
2041
+ "kind": "syntax",
2042
+ "name": "compound assignment operator '%='",
2043
+ "status": "static",
2044
+ "note": "compiles over the operand types the '%' operator supports"
2045
+ },
2046
+ {
2047
+ "id": "syntax.compound-assignment.shift-left",
2048
+ "kind": "syntax",
2049
+ "name": "compound assignment operator '<<='",
2050
+ "status": "static",
2051
+ "note": "compiles over the operand types the '<<' operator supports"
2052
+ },
2053
+ {
2054
+ "id": "syntax.compound-assignment.shift-right",
2055
+ "kind": "syntax",
2056
+ "name": "compound assignment operator '>>='",
2057
+ "status": "static",
2058
+ "note": "compiles over the operand types the '>>' operator supports"
2059
+ },
2060
+ {
2061
+ "id": "syntax.compound-assignment.shift-right-unsigned",
2062
+ "kind": "syntax",
2063
+ "name": "compound assignment operator '>>>='",
2064
+ "status": "static",
2065
+ "note": "compiles over the operand types the '>>>' operator supports"
2066
+ },
2067
+ {
2068
+ "id": "syntax.compound-assignment.times",
2069
+ "kind": "syntax",
2070
+ "name": "compound assignment operator '*='",
2071
+ "status": "static",
2072
+ "note": "compiles over the operand types the '*' operator supports"
2073
+ },
2074
+ {
2075
+ "id": "syntax.debugger-statements",
2076
+ "kind": "syntax",
2077
+ "name": "debugger statements",
2078
+ "status": "unsupported",
2079
+ "code": "SC1090"
2080
+ },
2081
+ {
2082
+ "id": "syntax.delete-expressions",
2083
+ "kind": "syntax",
2084
+ "name": "delete expressions",
2085
+ "status": "unsupported",
2086
+ "code": "SC1090"
2087
+ },
2088
+ {
2089
+ "id": "syntax.namespaces",
2090
+ "kind": "syntax",
2091
+ "name": "namespaces",
2092
+ "status": "unsupported",
2093
+ "code": "SC1090"
2094
+ },
2095
+ {
2096
+ "id": "syntax.spread-arguments",
2097
+ "kind": "syntax",
2098
+ "name": "spread arguments",
2099
+ "status": "unsupported",
2100
+ "code": "SC1090"
2101
+ },
2102
+ {
2103
+ "id": "syntax.typeof-expressions",
2104
+ "kind": "syntax",
2105
+ "name": "typeof expressions",
2106
+ "status": "unsupported",
2107
+ "code": "SC1090"
2108
+ },
2109
+ {
2110
+ "id": "syntax.with-statements",
2111
+ "kind": "syntax",
2112
+ "name": "'with' statements (runtime scope injection has no static resolution — bind the object to a variable and read members through it)",
2113
+ "status": "unsupported",
2114
+ "code": "SC1090"
2115
+ }
2116
+ ]
2117
+ }