-
-
Notifications
You must be signed in to change notification settings - Fork 5.8k
[Bug]: babel compile proposal-explicit-resource-management different from tsc #16435
Copy link
Copy link
Closed
Closed
Copy link
Labels
Spec: Explicit Resource Managementgood first issueoutdatedA closed issue/PR that is archived due to age. Recommended to make a new issueA closed issue/PR that is archived due to age. Recommended to make a new issue
Description
💻
- Would you like to work on a fix?
How are you using Babel?
@babel/cli
Input code
import { deepStrictEqual } from 'node:assert'
import process from 'node:process'
let i = 0
/** @type {any} */
let err
try {
await using _x1 = {
async [Symbol.asyncDispose]() {
throw [1, ++i]
}
}
await using _x2 = {
async [Symbol.asyncDispose]() {
throw [2, ++i]
}
}
await using _x3 = {
async [Symbol.asyncDispose]() {
throw [3, ++i]
}
}
await using _x4 = {
async [Symbol.asyncDispose]() {
throw [4, ++i]
}
}
throw [5, ++i]
} catch (e) {
err = e
}
switch (process.env['TRANSPILER']) {
case 'tsc':
deepStrictEqual(err.error, [1, 5])
deepStrictEqual(err.suppressed.error, [2, 4])
deepStrictEqual(err.suppressed.suppressed.error, [3, 3])
deepStrictEqual(err.suppressed.suppressed.suppressed.error, [4, 2])
deepStrictEqual(err.suppressed.suppressed.suppressed.suppressed, [5, 1])
break
case 'swc':
deepStrictEqual(err.suppressed, [1, 5])
deepStrictEqual(err.error.suppressed, [2, 4])
deepStrictEqual(err.error.error.suppressed, [3, 3])
deepStrictEqual(err.error.error.error.suppressed, [4, 2])
deepStrictEqual(err.error.error.error.error, [5, 1])
break
case 'babel':
deepStrictEqual(err.suppressed, [1, 5])
deepStrictEqual(err.error.suppressed, [2, 4])
deepStrictEqual(err.error.error.suppressed, [3, 3])
deepStrictEqual(err.error.error.error.suppressed, [4, 2])
deepStrictEqual(err.error.error.error.error, [5, 1])
break
default:
// break
throw new Error()
}
// export { err }Configuration file name
No response
Configuration
No response
Current and expected behavior
Currently, tsc and swc and babel does not have same runtime behavior.
Expect tsc and swc and babel have same runtime behavior.
Environment
7.24.1 (@babel/core 7.24.4)
Possible solution
No response
Additional context
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Spec: Explicit Resource Managementgood first issueoutdatedA closed issue/PR that is archived due to age. Recommended to make a new issueA closed issue/PR that is archived due to age. Recommended to make a new issue