Skip to content

using syntax is always transpiled regardless of oxc.target #352

@hi-ogawa

Description

@hi-ogawa

Describe the bug

I'm not sure this behavior specifically causes any issue on end users, but I'm wondering whether this is expected. Vitest currently sets esbuild.target: 'node18' to explicitly tell esbuild to transpile newer syntax, but it looks like that's not necessary on rolldown-vite at least for using syntax.

Reproduction

https://stackblitz.com/edit/vitejs-rolldown-vite-wux65uen?file=src%2Fmain.ts

Steps to reproduce

  • Open stackblitz, which includes a following code
// main.ts
function testTarget() {
  using _ = { 
    [Symbol.dispose]() {},
  };
}
testTarget();
  • Check transpiled code via curl localhost:5173/src/main.ts
function testTarget() {
        try {
                var _usingCtx = _usingCtx2();
                const _ = _usingCtx.u({ [Symbol.dispose]() {} });
        } catch (_) {
                _usingCtx.e = _;
        } finally {
                _usingCtx.d();
        }
}
testTarget();

System Info

System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 20.19.1 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.8.2 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    rolldown-vite:  7.0.12

Used Package Manager

npm

Logs

No response

Validations

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug: upstreamBug in a dependency of Vite

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions