When you're touching a typescript project, you may want to see what your tsconfig will look like in the end. Currently, the typescipt package does not provide an API for checking.
In vite, I used a project called tsconfck
to get the final configuration of tsconfig.json, so let's touch it.
https://github.com/dominikg/tsconfck
Prepare the following tsconfig file and execute parseNative
from js.
{
"compilerOptions": {
"target": "esnext",
"module": "commonjs",
"baseUrl": "src",
"declaration": true,
"outDir": "./dist/",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true
},
"exclude": ["node_modules", "example/*", "dist/*"]
}
import { parseNative } from 'tsconfck';
export const main = async () => {
const tsConfigFile= await parseNative('index.ts');
console.log('tsConfigFile :>> ', tsConfigFile);
};
main();
You can get the final configuration file as an object.
You can get a result similar to the result output below in the typescript code.
https://github.com/microsoft/TypeScript/blob/95ef2a503dd0cae9f106948cccee8a041078a472/src/executeCommandLine/executeCommandLine.ts#L529
tsConfigFile :>> {
tsconfigFile: '/Users/j1ingzoue/projects/tsconfck/tsconfig.json',
tsconfig: {
compilerOptions: {
target: 'latest',
module: 'commonjs',
baseUrl: '/Users/j1ingzoue/projects/tsconfck/src',
declaration: true,
outDir: '/Users/j1ingzoue/projects/tsconfck/dist',
esModuleInterop: true,
forceConsistentCasingInFileNames: true,
strict: true,
skipLibCheck: true
},
exclude: [ 'node_modules', 'example/*', 'dist/*' ]
},
result: {
options: {
target: 99,
module: 1,
baseUrl: '/Users/j1ingzoue/projects/tsconfck/src',
declaration: true,
outDir: '/Users/j1ingzoue/projects/tsconfck/dist',
esModuleInterop: true,
forceConsistentCasingInFileNames: true,
strict: true,
skipLibCheck: true,
configFilePath: '/Users/j1ingzoue/projects/tsconfck/tsconfig.json'
},
watchOptions: undefined,
fileNames: [ '/Users/j1ingzoue/projects/tsconfck/index.ts' ],
projectReferences: undefined,
typeAcquisition: { enable: false, include: [], exclude: [] },
raw: {
compilerOptions: [Object],
exclude: [Array],
compileOnSave: false
},
errors: [],
wildcardDirectories: { '/users/j1ingzoue/projects/tsconfck': 1 },
compileOnSave: false
}
}
Top comments (0)