|
1 | | -import { type JitiOptions, createJiti as createJitiSource } from 'jiti'; |
| 1 | +import { createJiti as createJitiSource } from 'jiti'; |
2 | 2 | import { stat } from 'node:fs/promises'; |
3 | 3 | import path from 'node:path'; |
4 | 4 | import type { CompilerOptions } from 'typescript'; |
5 | 5 | import { fileExists } from './file-system.js'; |
6 | 6 | import { loadTargetConfig } from './load-ts-config.js'; |
7 | 7 | import { settlePromise } from './promises.js'; |
8 | 8 |
|
| 9 | +// For unknown reason, we can't import `JitiOptions` directly in this repository |
| 10 | +type JitiOptions = Exclude<Parameters<typeof createJitiSource>[1], undefined>; |
| 11 | + |
| 12 | +export type ImportModuleOptions = JitiOptions & { |
| 13 | + filepath: string; |
| 14 | + tsconfig?: string; |
| 15 | +}; |
9 | 16 | export async function importModule<T = unknown>( |
10 | | - options: JitiOptions & { filepath: string; tsconfig?: string }, |
| 17 | + options: ImportModuleOptions, |
11 | 18 | ): Promise<T> { |
12 | 19 | const { filepath, tsconfig, ...jitiOptions } = options; |
13 | 20 |
|
@@ -77,12 +84,9 @@ export const mapTsJsxToJitiJsx = (tsJsxMode: number): boolean => |
77 | 84 | * | sourceMaps | boolean | sourceMap | boolean | Enable sourcemap generation. | |
78 | 85 | * | jsx | boolean | jsx | JsxEmit (0-5) | TS JsxEmit enum (0-5) => boolean JSX processing. | |
79 | 86 | */ |
80 | | -export type MappableJitiOptions = Partial<{ |
81 | | - alias: Record<string, string>; |
82 | | - interopDefault: boolean; |
83 | | - sourceMaps: boolean; |
84 | | - jsx: boolean; |
85 | | -}>; |
| 87 | +export type MappableJitiOptions = Partial< |
| 88 | + Pick<JitiOptions, 'alias' | 'interopDefault' | 'sourceMaps' | 'jsx'> |
| 89 | +>; |
86 | 90 | /** |
87 | 91 | * Parse TypeScript compiler options to mappable jiti options |
88 | 92 | * @param compilerOptions TypeScript compiler options |
|
0 commit comments