unplugin-dts
Version:
<h1 align="center">unplugin-dts</h1>
58 lines (54 loc) • 2.02 kB
JavaScript
import __cjs_url__ from 'url';
import __cjs_path__ from 'path';
import __cjs_mod__ from 'module';
const __filename = __cjs_url__.fileURLToPath(import.meta.url);
const __dirname = __cjs_path__.dirname(__filename);
const require = __cjs_mod__.createRequire(import.meta.url);
import { dirname } from 'node:path';
import { createParsedCommandLine as createParsedCommandLine$1, getDefaultCompilerOptions, createVueLanguagePlugin } from '@vue/language-core';
import { proxyCreateProgram } from '@volar/typescript';
import { s as slash, t as ts } from '../shared/unplugin-dts.BU1tibsL.mjs';
import 'node:fs';
import 'node:module';
import 'kolorist';
import 'node:fs/promises';
import 'node:os';
import '@rollup/pluginutils';
import 'compare-versions';
import 'debug';
import 'local-pkg';
import 'magic-string';
function createParsedCommandLine(_ts, host, configPath) {
const vueResult = createParsedCommandLine$1(_ts, host, slash(configPath));
const config = _ts.readJsonConfigFile(configPath, host.readFile);
const vueHost = {
...host,
readDirectory(rootDir, extensions, excludes, includes, depth) {
const extendedExtensions = extensions ? [...extensions, ".vue"] : extensions;
return host.readDirectory(rootDir, extendedExtensions, excludes, includes, depth);
}
};
const parsed = _ts.parseJsonSourceFileConfigFileContent(
config,
vueHost,
dirname(configPath),
{},
configPath
);
return {
...parsed,
vueOptions: vueResult.vueOptions
};
}
const createProgram = proxyCreateProgram(ts, ts.createProgram, (ts2, options) => {
const { configFilePath } = options.options;
const vueOptions = typeof configFilePath === "string" ? createParsedCommandLine(ts2, ts2.sys, slash(configFilePath)).vueOptions : getDefaultCompilerOptions();
const vueLanguagePlugin = createVueLanguagePlugin(
ts2,
options.options,
vueOptions,
(id) => id
);
return { languagePlugins: [vueLanguagePlugin] };
});
export { createParsedCommandLine, createProgram };