[Feature]: extensionAlias support
sibelius opened this issue ยท 5 comments
๐ Feature Proposal
Similar to webpack/rpsack extensionAlias
https://webpack.js.org/configuration/resolve/#resolveextensionalias
webpack/webpack#13252 (comment)
Be able to resolve import "myFile.js"
to myFile.ts
, to enable ESM
Motivation
ESM requires file extensions, so we need to import using .js
, but this breaks jest that it is looking for .ts
file instead
Example
import "myFile.js"
to myFile.ts
, to enable ESM
Pitch
solve another ESM problem and make module resolution faster
/** @type {import("next").NextConfig} */
const nextConfig = {
experimental: {
// Remove .js from import specifiers, because
// Next.js and webpack do not yet support
// TypeScript-style module resolution out of the box
// https://github.com/webpack/webpack/issues/13252#issuecomment-1171080020
// https://github.com/vercel/next.js/pull/45423
// https://github.com/vercel/next.js/issues/58805
// https://github.com/vercel/next.js/issues/54550
extensionAlias: {
'.js': ['.ts', '.tsx', '.js', '.jsx'],
'.jsx': ['.tsx', '.jsx'],
'.mjs': ['.mts', '.mjs'],
'.cjs': ['.cts', '.cjs'],
},
},
}
Alternative
Hey @sibelius ! ๐ Long time no see, hope everything's good with you.
Considering that part of the TypeScript 5.7+ ecosystem is moving to fully-specified import specifiers with *.ts*
extensions (motivated by Node.js type stripping), would allowImportingTsExtensions
from TypeScript 5.0 with .ts
file extensions work for you?
I wrote a bit in a similar issue over here:
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.
This issue was closed because it has been stalled for 30 days with no activity. Please open a new issue if the issue is still relevant, linking to this one.
This issue was closed because it has been stalled for 30 days with no activity. Please open a new issue if the issue is still relevant, linking to this one.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.