From 8a7d2468ae6c75f42ddd239882ecefd7c726bc73 Mon Sep 17 00:00:00 2001 From: kricsleo Date: Sat, 25 Jan 2025 20:58:53 +0800 Subject: [PATCH 01/11] feat: infer aliases from tsconfig.json --- src/builders/rollup/build.ts | 2 +- src/builders/rollup/config.ts | 4 +-- src/builders/rollup/stub.ts | 2 +- src/builders/rollup/utils.ts | 52 ++++++++++++++++++++++++++++++++++- 4 files changed, 55 insertions(+), 5 deletions(-) diff --git a/src/builders/rollup/build.ts b/src/builders/rollup/build.ts index f7c49889..c9f6ecd6 100644 --- a/src/builders/rollup/build.ts +++ b/src/builders/rollup/build.ts @@ -20,7 +20,7 @@ export async function rollupBuild(ctx: BuildContext): Promise { } // Resolve options - const rollupOptions = getRollupOptions(ctx); + const rollupOptions = await getRollupOptions(ctx); await ctx.hooks.callHook("rollup:options", ctx, rollupOptions); // Skip build if no input entries defined diff --git a/src/builders/rollup/config.ts b/src/builders/rollup/config.ts index a6095a05..582f4d98 100644 --- a/src/builders/rollup/config.ts +++ b/src/builders/rollup/config.ts @@ -15,8 +15,8 @@ import { cjsPlugin } from "./plugins/cjs"; import { shebangPlugin } from "./plugins/shebang"; import { DEFAULT_EXTENSIONS, getChunkFilename, resolveAliases } from "./utils"; -export function getRollupOptions(ctx: BuildContext): RollupOptions { - const _aliases = resolveAliases(ctx); +export async function getRollupOptions(ctx: BuildContext): Promise { + const _aliases = await resolveAliases(ctx); return ({ input: Object.fromEntries( ctx.options.entries diff --git a/src/builders/rollup/stub.ts b/src/builders/rollup/stub.ts index 8fcdc217..b38a0586 100644 --- a/src/builders/rollup/stub.ts +++ b/src/builders/rollup/stub.ts @@ -15,7 +15,7 @@ export async function rollupStub(ctx: BuildContext): Promise { { ...ctx.options.stubOptions.jiti, alias: { - ...resolveAliases(ctx), + ...await resolveAliases(ctx), ...ctx.options.stubOptions.jiti.alias, }, transformOptions: { diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index 55205099..5ee4e9a4 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -1,3 +1,4 @@ +import { dirname, resolve } from 'pathe' import type { PreRenderedChunk } from "rollup"; import type { BuildContext } from "../../types"; @@ -13,7 +14,7 @@ export const DEFAULT_EXTENSIONS: string[] = [ ".json", ]; -export function resolveAliases(ctx: BuildContext): Record { +export async function resolveAliases(ctx: BuildContext): Promise> { const aliases: Record = { [ctx.pkg.name!]: ctx.options.rootDir, ...ctx.options.alias, @@ -37,9 +38,58 @@ export function resolveAliases(ctx: BuildContext): Record { } } + /** + * REVIEW: This makes alias resolution asynchronous (which is contagious), + * because we are lazy loading TypeScript, + * or we can use a synchronous alternative [get-tsconfig](https://github.com/privatenumber/get-tsconfig). + * + * Additionally, do we need a flag to explicitly enable this feature? + */ + const tsconfigAliases = await tryInferTsconfigAliases() + if(tsconfigAliases) { + Object.assign(aliases, tsconfigAliases) + } + return aliases; } +async function tryInferTsconfigAliases(): Promise | null> { + const ts = await import('typescript').catch(() => null) + + if(!ts) { + return null + } + + const tsconfigPath = ts.findConfigFile(process.cwd(), ts.sys.fileExists, 'tsconfig.json') + + if(!tsconfigPath) { + return null + } + + const tsconfigDir = dirname(tsconfigPath) + const { config: rawTsconfig } = ts.readConfigFile(tsconfigPath, ts.sys.readFile) + const { options: tsconfig } = ts.parseJsonConfigFileContent(rawTsconfig, ts.sys, tsconfigDir) + + if(!tsconfig.paths) { + return null + } + + const resolvedBaseUrl = resolve(tsconfigDir, tsconfig.baseUrl || '.'); + + const aliases = Object.fromEntries( + Object.entries(tsconfig.paths) + .map(([pattern, substitutions]) => { + const find = pattern.replace(/\/\*$/, '') + // Pick only the first path. + const replacement = substitutions[0].replace(/\*$/, '') + const resolvedReplacement = resolve(resolvedBaseUrl, replacement) + return [find, resolvedReplacement] + }) + ) + + return aliases +} + export function getChunkFilename( ctx: BuildContext, chunk: PreRenderedChunk, From 91d4f3c5fe870da73cb3c0e45a1ff76aab6c9c0f Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sat, 25 Jan 2025 13:16:18 +0000 Subject: [PATCH 02/11] chore: apply automated updates --- src/builders/rollup/config.ts | 4 +- src/builders/rollup/stub.ts | 2 +- src/builders/rollup/utils.ts | 75 +++++++++++++++++++++-------------- 3 files changed, 49 insertions(+), 32 deletions(-) diff --git a/src/builders/rollup/config.ts b/src/builders/rollup/config.ts index 582f4d98..f4bcf484 100644 --- a/src/builders/rollup/config.ts +++ b/src/builders/rollup/config.ts @@ -15,7 +15,9 @@ import { cjsPlugin } from "./plugins/cjs"; import { shebangPlugin } from "./plugins/shebang"; import { DEFAULT_EXTENSIONS, getChunkFilename, resolveAliases } from "./utils"; -export async function getRollupOptions(ctx: BuildContext): Promise { +export async function getRollupOptions( + ctx: BuildContext, +): Promise { const _aliases = await resolveAliases(ctx); return ({ input: Object.fromEntries( diff --git a/src/builders/rollup/stub.ts b/src/builders/rollup/stub.ts index b38a0586..876c4afe 100644 --- a/src/builders/rollup/stub.ts +++ b/src/builders/rollup/stub.ts @@ -15,7 +15,7 @@ export async function rollupStub(ctx: BuildContext): Promise { { ...ctx.options.stubOptions.jiti, alias: { - ...await resolveAliases(ctx), + ...(await resolveAliases(ctx)), ...ctx.options.stubOptions.jiti.alias, }, transformOptions: { diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index 5ee4e9a4..1221b15f 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -1,4 +1,4 @@ -import { dirname, resolve } from 'pathe' +import { dirname, resolve } from "pathe"; import type { PreRenderedChunk } from "rollup"; import type { BuildContext } from "../../types"; @@ -14,7 +14,9 @@ export const DEFAULT_EXTENSIONS: string[] = [ ".json", ]; -export async function resolveAliases(ctx: BuildContext): Promise> { +export async function resolveAliases( + ctx: BuildContext, +): Promise> { const aliases: Record = { [ctx.pkg.name!]: ctx.options.rootDir, ...ctx.options.alias, @@ -40,54 +42,67 @@ export async function resolveAliases(ctx: BuildContext): Promise | null> { - const ts = await import('typescript').catch(() => null) +async function tryInferTsconfigAliases(): Promise | null> { + const ts = await import("typescript").catch(() => null); - if(!ts) { - return null + if (!ts) { + return null; } - const tsconfigPath = ts.findConfigFile(process.cwd(), ts.sys.fileExists, 'tsconfig.json') + const tsconfigPath = ts.findConfigFile( + process.cwd(), + ts.sys.fileExists, + "tsconfig.json", + ); - if(!tsconfigPath) { - return null + if (!tsconfigPath) { + return null; } - const tsconfigDir = dirname(tsconfigPath) - const { config: rawTsconfig } = ts.readConfigFile(tsconfigPath, ts.sys.readFile) - const { options: tsconfig } = ts.parseJsonConfigFileContent(rawTsconfig, ts.sys, tsconfigDir) + const tsconfigDir = dirname(tsconfigPath); + const { config: rawTsconfig } = ts.readConfigFile( + tsconfigPath, + ts.sys.readFile, + ); + const { options: tsconfig } = ts.parseJsonConfigFileContent( + rawTsconfig, + ts.sys, + tsconfigDir, + ); - if(!tsconfig.paths) { - return null + if (!tsconfig.paths) { + return null; } - const resolvedBaseUrl = resolve(tsconfigDir, tsconfig.baseUrl || '.'); + const resolvedBaseUrl = resolve(tsconfigDir, tsconfig.baseUrl || "."); const aliases = Object.fromEntries( - Object.entries(tsconfig.paths) - .map(([pattern, substitutions]) => { - const find = pattern.replace(/\/\*$/, '') - // Pick only the first path. - const replacement = substitutions[0].replace(/\*$/, '') - const resolvedReplacement = resolve(resolvedBaseUrl, replacement) - return [find, resolvedReplacement] - }) - ) + Object.entries(tsconfig.paths).map(([pattern, substitutions]) => { + const find = pattern.replace(/\/\*$/, ""); + // Pick only the first path. + const replacement = substitutions[0].replace(/\*$/, ""); + const resolvedReplacement = resolve(resolvedBaseUrl, replacement); + return [find, resolvedReplacement]; + }), + ); - return aliases + return aliases; } export function getChunkFilename( From 0b9a05d7d824d67ac25ffd6241cb49418635d996 Mon Sep 17 00:00:00 2001 From: kricsleo Date: Sat, 25 Jan 2025 23:17:25 +0800 Subject: [PATCH 03/11] update --- src/builders/rollup/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index 5ee4e9a4..e08d9ee2 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -40,7 +40,7 @@ export async function resolveAliases(ctx: BuildContext): Promise Date: Sat, 25 Jan 2025 15:19:32 +0000 Subject: [PATCH 04/11] chore: apply automated updates --- src/builders/rollup/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index fc9ec100..989b1f4e 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -42,7 +42,7 @@ export async function resolveAliases( /** * REVIEW: This makes alias resolution asynchronous (which is contagious), - * because we are dynamic loading TypeScript (cause it's a peer dependency), + * because we are dynamic loading TypeScript (cause it's a peer dependency), * or we can use a synchronous alternative [get-tsconfig](https://github.com/privatenumber/get-tsconfig). * * Additionally, do we need a flag to explicitly enable this feature? From 1ae673038a440e31eacac194d09f45a9cfdd83c3 Mon Sep 17 00:00:00 2001 From: kricsleo Date: Sat, 25 Jan 2025 23:20:14 +0800 Subject: [PATCH 05/11] update --- src/builders/rollup/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index fc9ec100..a5e5af05 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -42,7 +42,7 @@ export async function resolveAliases( /** * REVIEW: This makes alias resolution asynchronous (which is contagious), - * because we are dynamic loading TypeScript (cause it's a peer dependency), + * because we are dynamically loading TypeScript (cause it's a peer dependency), * or we can use a synchronous alternative [get-tsconfig](https://github.com/privatenumber/get-tsconfig). * * Additionally, do we need a flag to explicitly enable this feature? From e241a15acb54ee8af3b261d25922309f938c17fc Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sat, 25 Jan 2025 15:24:45 +0000 Subject: [PATCH 06/11] chore: apply automated updates --- src/builders/rollup/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index a5e5af05..caa68484 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -42,7 +42,7 @@ export async function resolveAliases( /** * REVIEW: This makes alias resolution asynchronous (which is contagious), - * because we are dynamically loading TypeScript (cause it's a peer dependency), + * because we are dynamically loading TypeScript (cause it's a peer dependency), * or we can use a synchronous alternative [get-tsconfig](https://github.com/privatenumber/get-tsconfig). * * Additionally, do we need a flag to explicitly enable this feature? From 637009b2949cf8f5239d43ea63902f6b1d47750e Mon Sep 17 00:00:00 2001 From: kricsleo Date: Sun, 26 Jan 2025 01:12:42 +0800 Subject: [PATCH 07/11] update --- src/builders/rollup/config.ts | 6 +-- src/builders/rollup/stub.ts | 2 +- src/builders/rollup/utils.ts | 96 +++++++++++++++++++---------------- 3 files changed, 56 insertions(+), 48 deletions(-) diff --git a/src/builders/rollup/config.ts b/src/builders/rollup/config.ts index f4bcf484..a6095a05 100644 --- a/src/builders/rollup/config.ts +++ b/src/builders/rollup/config.ts @@ -15,10 +15,8 @@ import { cjsPlugin } from "./plugins/cjs"; import { shebangPlugin } from "./plugins/shebang"; import { DEFAULT_EXTENSIONS, getChunkFilename, resolveAliases } from "./utils"; -export async function getRollupOptions( - ctx: BuildContext, -): Promise { - const _aliases = await resolveAliases(ctx); +export function getRollupOptions(ctx: BuildContext): RollupOptions { + const _aliases = resolveAliases(ctx); return ({ input: Object.fromEntries( ctx.options.entries diff --git a/src/builders/rollup/stub.ts b/src/builders/rollup/stub.ts index 876c4afe..8fcdc217 100644 --- a/src/builders/rollup/stub.ts +++ b/src/builders/rollup/stub.ts @@ -15,7 +15,7 @@ export async function rollupStub(ctx: BuildContext): Promise { { ...ctx.options.stubOptions.jiti, alias: { - ...(await resolveAliases(ctx)), + ...resolveAliases(ctx), ...ctx.options.stubOptions.jiti.alias, }, transformOptions: { diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index a5e5af05..b6b39205 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -1,6 +1,12 @@ import { dirname, resolve } from "pathe"; +import { + sys, + readConfigFile, + parseJsonConfigFileContent, +} from "typescript" import type { PreRenderedChunk } from "rollup"; import type { BuildContext } from "../../types"; +import type { CompilerOptions } from "typescript"; export const DEFAULT_EXTENSIONS: string[] = [ ".ts", @@ -14,9 +20,7 @@ export const DEFAULT_EXTENSIONS: string[] = [ ".json", ]; -export async function resolveAliases( - ctx: BuildContext, -): Promise> { +export function resolveAliases(ctx: BuildContext): Record { const aliases: Record = { [ctx.pkg.name!]: ctx.options.rootDir, ...ctx.options.alias, @@ -40,14 +44,7 @@ export async function resolveAliases( } } - /** - * REVIEW: This makes alias resolution asynchronous (which is contagious), - * because we are dynamically loading TypeScript (cause it's a peer dependency), - * or we can use a synchronous alternative [get-tsconfig](https://github.com/privatenumber/get-tsconfig). - * - * Additionally, do we need a flag to explicitly enable this feature? - */ - const tsconfigAliases = await tryInferTsconfigAliases(); + const tsconfigAliases = inferAliasesFromTsconfig(ctx); if (tsconfigAliases) { Object.assign(aliases, tsconfigAliases); } @@ -55,45 +52,24 @@ export async function resolveAliases( return aliases; } -async function tryInferTsconfigAliases(): Promise | null> { - const ts = await import("typescript").catch(() => null); - - if (!ts) { - return null; - } - - const tsconfigPath = ts.findConfigFile( - process.cwd(), - ts.sys.fileExists, - "tsconfig.json", - ); - - if (!tsconfigPath) { - return null; - } - - const tsconfigDir = dirname(tsconfigPath); - const { config: rawTsconfig } = ts.readConfigFile( - tsconfigPath, - ts.sys.readFile, - ); - const { options: tsconfig } = ts.parseJsonConfigFileContent( - rawTsconfig, - ts.sys, - tsconfigDir, - ); +> | undefined { + const tsconfig = getTsconfig(ctx); - if (!tsconfig.paths) { - return null; + if (!tsconfig.compilerOptions?.paths) { + return; } - const resolvedBaseUrl = resolve(tsconfigDir, tsconfig.baseUrl || "."); + const tsconfigDir = tsconfig.path + ? dirname(tsconfig.path) + : ctx.options.rootDir; + + const resolvedBaseUrl = resolve(tsconfigDir, tsconfig.compilerOptions?.baseUrl || "."); const aliases = Object.fromEntries( - Object.entries(tsconfig.paths).map(([pattern, substitutions]) => { + Object.entries(tsconfig.compilerOptions.paths).map(([pattern, substitutions]) => { const find = pattern.replace(/\/\*$/, ""); // Pick only the first path. const replacement = substitutions[0].replace(/\*$/, ""); @@ -105,6 +81,40 @@ async function tryInferTsconfigAliases(): Promise Date: Sat, 25 Jan 2025 17:14:17 +0000 Subject: [PATCH 08/11] chore: apply automated updates --- src/builders/rollup/utils.ts | 65 +++++++++++++++++------------------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index b6b39205..b357dc7f 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -1,9 +1,5 @@ import { dirname, resolve } from "pathe"; -import { - sys, - readConfigFile, - parseJsonConfigFileContent, -} from "typescript" +import { sys, readConfigFile, parseJsonConfigFileContent } from "typescript"; import type { PreRenderedChunk } from "rollup"; import type { BuildContext } from "../../types"; import type { CompilerOptions } from "typescript"; @@ -52,57 +48,56 @@ export function resolveAliases(ctx: BuildContext): Record { return aliases; } -function inferAliasesFromTsconfig(ctx: BuildContext): Record< - string, - string -> | undefined { +function inferAliasesFromTsconfig( + ctx: BuildContext, +): Record | undefined { const tsconfig = getTsconfig(ctx); if (!tsconfig.compilerOptions?.paths) { return; } - const tsconfigDir = tsconfig.path - ? dirname(tsconfig.path) + const tsconfigDir = tsconfig.path + ? dirname(tsconfig.path) : ctx.options.rootDir; - - const resolvedBaseUrl = resolve(tsconfigDir, tsconfig.compilerOptions?.baseUrl || "."); + + const resolvedBaseUrl = resolve( + tsconfigDir, + tsconfig.compilerOptions?.baseUrl || ".", + ); const aliases = Object.fromEntries( - Object.entries(tsconfig.compilerOptions.paths).map(([pattern, substitutions]) => { - const find = pattern.replace(/\/\*$/, ""); - // Pick only the first path. - const replacement = substitutions[0].replace(/\*$/, ""); - const resolvedReplacement = resolve(resolvedBaseUrl, replacement); - return [find, resolvedReplacement]; - }), + Object.entries(tsconfig.compilerOptions.paths).map( + ([pattern, substitutions]) => { + const find = pattern.replace(/\/\*$/, ""); + // Pick only the first path. + const replacement = substitutions[0].replace(/\*$/, ""); + const resolvedReplacement = resolve(resolvedBaseUrl, replacement); + return [find, resolvedReplacement]; + }, + ), ); return aliases; } -function getTsconfig(ctx: BuildContext): { - path?: string, - compilerOptions?: CompilerOptions +function getTsconfig(ctx: BuildContext): { + path?: string; + compilerOptions?: CompilerOptions; } { - const { - tsconfig: overridePath, - compilerOptions: overrideCompilerOptions - } = ctx.options.rollup.dts; + const { tsconfig: overridePath, compilerOptions: overrideCompilerOptions } = + ctx.options.rollup.dts; const tsconfigPath = resolve( - ctx.options.rootDir, - overridePath || 'tsconfig.json' - ) + ctx.options.rootDir, + overridePath || "tsconfig.json", + ); if (!tsconfigPath) { return { compilerOptions: overrideCompilerOptions }; } - const { config: tsconfigRaw } = readConfigFile( - tsconfigPath, - sys.readFile, - ); + const { config: tsconfigRaw } = readConfigFile(tsconfigPath, sys.readFile); const { options: compilerOptions } = parseJsonConfigFileContent( tsconfigRaw, sys, @@ -112,7 +107,7 @@ function getTsconfig(ctx: BuildContext): { return { path: tsconfigPath, compilerOptions: { ...compilerOptions, ...overrideCompilerOptions }, - } + }; } export function getChunkFilename( From 54dab07c22bae35b26981868f0e19e90943657e8 Mon Sep 17 00:00:00 2001 From: kricsleo Date: Sun, 26 Jan 2025 01:20:48 +0800 Subject: [PATCH 09/11] update --- src/builders/rollup/build.ts | 2 +- src/builders/rollup/utils.ts | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/builders/rollup/build.ts b/src/builders/rollup/build.ts index c9f6ecd6..f7c49889 100644 --- a/src/builders/rollup/build.ts +++ b/src/builders/rollup/build.ts @@ -20,7 +20,7 @@ export async function rollupBuild(ctx: BuildContext): Promise { } // Resolve options - const rollupOptions = await getRollupOptions(ctx); + const rollupOptions = getRollupOptions(ctx); await ctx.hooks.callHook("rollup:options", ctx, rollupOptions); // Skip build if no input entries defined diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index b6b39205..c0563b8e 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -1,12 +1,13 @@ import { dirname, resolve } from "pathe"; import { sys, + findConfigFile, readConfigFile, parseJsonConfigFileContent, } from "typescript" +import type { CompilerOptions } from "typescript"; import type { PreRenderedChunk } from "rollup"; import type { BuildContext } from "../../types"; -import type { CompilerOptions } from "typescript"; export const DEFAULT_EXTENSIONS: string[] = [ ".ts", @@ -90,10 +91,9 @@ function getTsconfig(ctx: BuildContext): { compilerOptions: overrideCompilerOptions } = ctx.options.rollup.dts; - const tsconfigPath = resolve( - ctx.options.rootDir, - overridePath || 'tsconfig.json' - ) + const tsconfigPath = overridePath + ? resolve(ctx.options.rootDir, overridePath) + : findConfigFile(ctx.options.rootDir, sys.fileExists); if (!tsconfigPath) { return { compilerOptions: overrideCompilerOptions }; From 4efbcdbc00898afe4a27519bb5cef82122bf91c2 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sat, 25 Jan 2025 17:22:17 +0000 Subject: [PATCH 10/11] chore: apply automated updates --- src/builders/rollup/utils.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index 0def5a76..c19d28e7 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -1,10 +1,10 @@ import { dirname, resolve } from "pathe"; -import { +import { sys, - findConfigFile, - readConfigFile, - parseJsonConfigFileContent, -} from "typescript" + findConfigFile, + readConfigFile, + parseJsonConfigFileContent, +} from "typescript"; import type { CompilerOptions } from "typescript"; import type { PreRenderedChunk } from "rollup"; import type { BuildContext } from "../../types"; From d8f8fb8530af21422f1a816bf7806dbb351852d9 Mon Sep 17 00:00:00 2001 From: kricsleo Date: Sun, 26 Jan 2025 15:26:02 +0800 Subject: [PATCH 11/11] update --- src/builders/rollup/utils.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/builders/rollup/utils.ts b/src/builders/rollup/utils.ts index c19d28e7..b5815fae 100644 --- a/src/builders/rollup/utils.ts +++ b/src/builders/rollup/utils.ts @@ -23,6 +23,7 @@ export const DEFAULT_EXTENSIONS: string[] = [ export function resolveAliases(ctx: BuildContext): Record { const aliases: Record = { + ...inferAliasesFromTsconfig(ctx), [ctx.pkg.name!]: ctx.options.rootDir, ...ctx.options.alias, }; @@ -45,11 +46,6 @@ export function resolveAliases(ctx: BuildContext): Record { } } - const tsconfigAliases = inferAliasesFromTsconfig(ctx); - if (tsconfigAliases) { - Object.assign(aliases, tsconfigAliases); - } - return aliases; }