UNPKG

unplugin-dts

Version:

<h1 align="center">unplugin-dts</h1>

54 lines (50 loc) 1.8 kB
'use strict'; const node_path = require('node:path'); const languageCore = require('@vue/language-core'); const typescript = require('@volar/typescript'); const plugin = require('../shared/unplugin-dts.Bd7VMaAx.cjs'); require('node:fs'); require('node:module'); require('kolorist'); require('node:fs/promises'); require('node:os'); require('@rollup/pluginutils'); require('compare-versions'); require('debug'); require('local-pkg'); require('magic-string'); function createParsedCommandLine(_ts, host, configPath) { const vueResult = languageCore.createParsedCommandLine(_ts, host, plugin.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, node_path.dirname(configPath), {}, configPath ); return { ...parsed, vueOptions: vueResult.vueOptions }; } const createProgram = typescript.proxyCreateProgram(plugin.ts, plugin.ts.createProgram, (ts2, options) => { const { configFilePath } = options.options; const vueOptions = typeof configFilePath === "string" ? createParsedCommandLine(ts2, ts2.sys, plugin.slash(configFilePath)).vueOptions : languageCore.getDefaultCompilerOptions(); const vueLanguagePlugin = languageCore.createVueLanguagePlugin( ts2, options.options, vueOptions, (id) => id ); return { languagePlugins: [vueLanguagePlugin] }; }); exports.createParsedCommandLine = createParsedCommandLine; exports.createProgram = createProgram;