mirror of
https://github.com/EnixCoda/Gitako.git
synced 2026-03-11 08:54:44 +00:00
32 lines
979 B
JavaScript
32 lines
979 B
JavaScript
const path = require('path')
|
|
const fs = require('fs').promises
|
|
const typescript = require('typescript')
|
|
const { emitDirPath, checkEmitDir } = require('./check-emit-dir')
|
|
|
|
const files = [path.resolve(__dirname, '..', 'vscode-icons/src/iconsManifest/languages.ts')]
|
|
|
|
const options = {
|
|
module: typescript.ModuleKind.CommonJS,
|
|
target: typescript.ScriptTarget.ES2015,
|
|
strict: true,
|
|
suppressOutputPathCheck: false,
|
|
}
|
|
|
|
async function main() {
|
|
await checkEmitDir()
|
|
|
|
const compilerHost = typescript.createCompilerHost(options)
|
|
compilerHost.writeFile = async (fileName, data, writeByteOrderMark, onError, sourceFiles) => {
|
|
if (sourceFiles.some(file => files.includes(file.fileName))) {
|
|
await fs.writeFile(path.resolve(emitDirPath, path.basename(fileName)), data)
|
|
console.log(`Emitted`, fileName)
|
|
} else {
|
|
console.log(`Skipped`, fileName)
|
|
}
|
|
}
|
|
|
|
const program = typescript.createProgram(files, options, compilerHost)
|
|
program.emit()
|
|
}
|
|
|
|
main()
|