summaryrefslogtreecommitdiff
path: root/packages/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src')
-rw-r--r--packages/core/src/utils/fileUtils.test.ts6
-rw-r--r--packages/core/src/utils/fileUtils.ts7
2 files changed, 9 insertions, 4 deletions
diff --git a/packages/core/src/utils/fileUtils.test.ts b/packages/core/src/utils/fileUtils.test.ts
index bcdf3fe7..fb6b6820 100644
--- a/packages/core/src/utils/fileUtils.test.ts
+++ b/packages/core/src/utils/fileUtils.test.ts
@@ -196,9 +196,13 @@ describe('fileUtils', () => {
vi.restoreAllMocks(); // Restore spies on actualNodeFs
});
- it('should detect typescript type by extension (ts)', async () => {
+ it('should detect typescript type by extension (ts, mts, cts, tsx)', async () => {
expect(await detectFileType('file.ts')).toBe('text');
expect(await detectFileType('file.test.ts')).toBe('text');
+ expect(await detectFileType('file.mts')).toBe('text');
+ expect(await detectFileType('vite.config.mts')).toBe('text');
+ expect(await detectFileType('file.cts')).toBe('text');
+ expect(await detectFileType('component.tsx')).toBe('text');
});
it('should detect image type by extension (png)', async () => {
diff --git a/packages/core/src/utils/fileUtils.ts b/packages/core/src/utils/fileUtils.ts
index 96f4b36c..a153d205 100644
--- a/packages/core/src/utils/fileUtils.ts
+++ b/packages/core/src/utils/fileUtils.ts
@@ -122,9 +122,10 @@ export async function detectFileType(
): Promise<'text' | 'image' | 'pdf' | 'audio' | 'video' | 'binary' | 'svg'> {
const ext = path.extname(filePath).toLowerCase();
- // The mimetype for "ts" is MPEG transport stream (a video format) but we want
- // to assume these are typescript files instead.
- if (ext === '.ts') {
+ // The mimetype for various TypeScript extensions (ts, mts, cts, tsx) can be
+ // MPEG transport stream (a video format), but we want to assume these are
+ // TypeScript files instead.
+ if (['.ts', '.mts', '.cts'].includes(ext)) {
return 'text';
}