Skip to content

Commit c7cf728

Browse files
committed
fix: should process correct format of dts files
1 parent a7995c8 commit c7cf728

File tree

3 files changed

+69
-14
lines changed

3 files changed

+69
-14
lines changed

packages/plugin-dts/src/utils.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ export async function processDtsFiles(
378378
);
379379
}
380380

381-
const dtsFiles = await globDtsFiles(dir);
381+
const dtsFiles = await globDtsFiles(dir, [`/**/*${dtsExtension}`]);
382382

383383
await Promise.all(
384384
dtsFiles.map(async (file) => {
@@ -474,8 +474,10 @@ export async function calcLongestCommonPath(
474474
return lca;
475475
}
476476

477-
export const globDtsFiles = async (dir: string): Promise<string[]> => {
478-
const patterns = ['/**/*.d.ts', '/**/*.d.cts', '/**/*.d.mts'];
477+
export const globDtsFiles = async (
478+
dir: string,
479+
patterns: string[],
480+
): Promise<string[]> => {
479481
const dtsFiles = await Promise.all(
480482
patterns.map((pattern) =>
481483
glob(convertPath(join(dir, pattern)), { absolute: true }),
@@ -486,7 +488,8 @@ export const globDtsFiles = async (dir: string): Promise<string[]> => {
486488
};
487489

488490
export async function cleanDtsFiles(dir: string): Promise<void> {
489-
const allFiles = await globDtsFiles(dir);
491+
const patterns = ['/**/*.d.ts', '/**/*.d.cts', '/**/*.d.mts'];
492+
const allFiles = await globDtsFiles(dir, patterns);
490493

491494
await Promise.all(allFiles.map((file) => fsP.rm(file, { force: true })));
492495
}

tests/integration/redirect/dts.test.ts

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,15 +141,22 @@ test('redirect.dts.extension true', async () => {
141141
test('redirect.dts.extension true with dts.autoExtension true', async () => {
142142
expect(contents.esm3).toMatchInlineSnapshot(`
143143
{
144-
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/esm/foo/foo.d.mts": "import { logRequest } from '../logger.mjs';
145-
import { logger } from '../../../../compile/rslog';
144+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/foo/foo.d.mts": "import { logRequest } from '../logger.mjs';
145+
import { logger } from '../../../compile/rslog';
146146
import { logRequest as logRequest2 } from '../logger.mjs';
147147
export { logRequest, logRequest2, logger };
148148
",
149-
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/esm/foo/index.d.mts": "export type Barrel = string;
150-
",
151-
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/esm/index.d.mts": "import { logRequest } from './logger.mjs';
149+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/foo/foo.d.ts": "import { logRequest } from '../logger.js';
152150
import { logger } from '../../../compile/rslog';
151+
import { logRequest as logRequest2 } from '../logger.js';
152+
export { logRequest, logRequest2, logger };
153+
",
154+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/foo/index.d.mts": "export type Barrel = string;
155+
",
156+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/foo/index.d.ts": "export type Barrel = string;
157+
",
158+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/index.d.mts": "import { logRequest } from './logger.mjs';
159+
import { logger } from '../../compile/rslog';
153160
import type { LoggerOptions } from './types.mjs';
154161
import { defaultOptions } from './types.mjs';
155162
export { logRequest, logger, type LoggerOptions, defaultOptions };
@@ -158,14 +165,43 @@ test('redirect.dts.extension true with dts.autoExtension true', async () => {
158165
export * from './foo/index.mjs';
159166
export * from './foo/index.mjs';
160167
export * from './types.mjs';
161-
export * from '../../../compile/rslog';
168+
export * from '../../compile/rslog';
162169
export * from './logger.mjs';
163170
",
164-
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/esm/logger.d.mts": "import type { Request } from 'express';
171+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/index.d.ts": "import { logRequest } from './logger.js';
172+
import { logger } from '../../compile/rslog';
173+
import type { LoggerOptions } from './types.js';
174+
import { defaultOptions } from './types.js';
175+
export { logRequest, logger, type LoggerOptions, defaultOptions };
176+
export type { Foo } from './types.js';
177+
export type { Bar } from './types.js';
178+
export * from './foo/index.js';
179+
export * from './foo/index.js';
180+
export * from './types.js';
181+
export * from '../../compile/rslog';
182+
export * from './logger.js';
183+
",
184+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/logger.d.mts": "import type { Request } from 'express';
165185
import type { LoggerOptions } from './types.mjs';
166186
export declare function logRequest(req: Request, options: LoggerOptions): void;
167187
",
168-
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/esm/types.d.mts": "export interface LoggerOptions {
188+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/logger.d.ts": "import type { Request } from 'express';
189+
import type { LoggerOptions } from './types.js';
190+
export declare function logRequest(req: Request, options: LoggerOptions): void;
191+
",
192+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/types.d.mts": "export interface LoggerOptions {
193+
logLevel: 'info' | 'debug' | 'warn' | 'error';
194+
logBody: boolean;
195+
}
196+
export declare const defaultOptions: LoggerOptions;
197+
export interface Foo {
198+
foo: string;
199+
}
200+
export interface Bar {
201+
bar: string;
202+
}
203+
",
204+
"<ROOT>/tests/integration/redirect/dts/dist/auto-extension-true/types.d.ts": "export interface LoggerOptions {
169205
logLevel: 'info' | 'debug' | 'warn' | 'error';
170206
logBody: boolean;
171207
}

tests/integration/redirect/dts/rslib.config.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { defineConfig } from '@rslib/core';
2-
import { generateBundleEsmConfig } from 'test-helper';
2+
import { generateBundleCjsConfig, generateBundleEsmConfig } from 'test-helper';
33

44
export default defineConfig({
55
lib: [
@@ -47,7 +47,23 @@ export default defineConfig({
4747
},
4848
output: {
4949
distPath: {
50-
root: './dist/auto-extension-true/esm',
50+
root: './dist/auto-extension-true',
51+
},
52+
},
53+
redirect: {
54+
dts: {
55+
extension: true,
56+
},
57+
},
58+
}),
59+
// 4 - extension: true with dts.autoExtension true
60+
generateBundleCjsConfig({
61+
dts: {
62+
autoExtension: true,
63+
},
64+
output: {
65+
distPath: {
66+
root: './dist/auto-extension-true',
5167
},
5268
},
5369
redirect: {

0 commit comments

Comments
 (0)