Skip to content

"rewriteRelativeImportExtensions": true not work with "jsc.paths" config #11143

@dr2009

Description

@dr2009

Describe the bug

"rewriteRelativeImportExtensions": true not work with "jsc.paths" config

Input code

// import
export { a  as a1} from "./util/index.js";
export { a  as a2} from "./util/index.ts";
export { a  as a3} from "./util";
export { a  as a4} from "@/util/index.js";
export { a  as a5} from "@/util/index.ts"; // not work
export { a  as a6} from "@/util";


// import()
const b1 = await import("./util/index.js");
const b2 = await import("./util/index.ts");
const b3 = await import("./util");
const b4 = await import("@/util/index.js");
const b5 = await import("@/util/index.ts"); // not work
const b6 = await import("@/util");

// require
const c1 = require("./util/index.js");
const c2 = require("./util/index.ts");
const c3 = require("./util");
const c4 = require("@/util/index.js");
const c5 = require("@/util/index.ts");
const c6 = require("@/util");

Config

{
  "$schema": "https://swc.rs/schema.json",
  "jsc": {
    "rewriteRelativeImportExtensions": true,
    "baseUrl": "./",
    "paths": {
        "@/*": ["./*"]
    },
    "parser": {
      "syntax": "typescript",
    },
    "target": "esnext"
  },
  "module": {
    "type": "es6",
    "resolveFully": true,
    "outFileExtension": "mjs"
  },
}

Link to the code that reproduces this issue

https://play.swc.rs/?version=1.13.20&code=H4sIAAAAAAAAA4XQ3wrCIBQG8Huf4rCrdjPZ35sR7FXMDKw2yzk2iN69jEmauq4Ez%2B%2Fz4Icx8P4mpEJs0Qc8gACQEUj%2BhJMUPSQZnhS%2FYj4c2ZKdx6T1aBGkKkRLlwZEZUT3d28dpHovYAyDUDALefFijRt7P4wQNj3sUkTFMCo45LAHMhOuzMRrIm2NLbatsm0ZsRapPPJbxtfW2%2Faz2qljzTWRnH5a1yHZfeKSrZzqNtarjSJoEWV2B7T0mTWt7Gn057SOMmdX4zM9fQEUwTi3%2BgIAAA%3D%3D&config=H4sIAAAAAAAAA1WPMU%2FDMBCF9%2FyK6MRUVfHG0ImFSqxITIjBhCfiyLGtu0ubqOp%2Fx27SAJv97rvPfpeqrulB2g6DpUNNnWqSgzFybhsWswyaXmKgfUF7aTN2ycd8YZzZKV7hrboTXoYUWZ8nRRAXg2RQecR%2BgT%2Bt4I19eaQxtIbJaieb8BY9mV0O3jO0o49bfN1gFvAfmmQOaqei1DlBWnZJV%2FV9SS1%2FQwsCCZiUqnVGQ%2FwaPX7bFMXCPd6%2Fx5DoTziO3s%2F%2F28RRj85jK1sWh15W%2B7X6AdIuHcpYAQAA

SWC Info output

No response

Expected behavior

export { a as a5} from "@/util/index.ts"; // not work
const b5 = await import("@/util/index.ts"); // not work

->
// actual
export { a as a5 } from "./util/index.ts";
const b5 = await import("./util/index.ts");

// expect
export { a as a5} from "./util/index.js";
const b5 = await import("./util/index.js");

Actual behavior

No response

Version

1.13.20

Additional context

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions