typescript
typescript copied to clipboard
Declaration files emitted doesn't include all the imports
trafficstars
The declaration files emitted from the ts.createProgram doesn't include all the imported modules from the source file.
For ex:
// useConfig.ts
import {InitialConfig} from './initialConfig';
export const useConfig = () => {
const [config, setConfig] = useState<InitialConfig>();
const updateConfig = (data: InitialConfig) => {
setConfig(data);
}
return {
config,
updateConfig,
}
};
The declaration file generated from compilation file is as follows:
// useConfig.d.ts
export declare const useConfig: () => {
config: unknown;
updateConfig: (data: InitialConfig) => void;
}
ts.createProgram is not including InitialConfig as part of the generated .d.ts file, and as such we can't be able to use any types generated.