UNPKG

beesbuild

Version:

构建工具链

99 lines (98 loc) 3.73 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var stdin_exports = {}; __export(stdin_exports, { vueTsc: () => vueTsc }); module.exports = __toCommonJS(stdin_exports); var import_language_core = require("@vue/language-core"); var import_lodash_unified = require("lodash-unified"); var import_fs_extra = require("fs-extra"); var import_runTsc = require("@volar/typescript/lib/quickstart/runTsc"); var import_utils = require("./utils.cjs"); function runVueTsc(ctx, _options) { const { outRootDir, compilerOptions, tsConfigFilePath, rootDir } = (0, import_utils.handleTypeOption)(ctx); const extensionsChangedException = new Error("extensions changed"); const windowsPathReg = /\\/g; let runExtensions = [".vue"]; const tscPath = require.resolve("typescript/lib/tsc"); (0, import_runTsc.runTsc)(tscPath, runExtensions, (ts, options) => { const { configFilePath = tsConfigFilePath } = options.options; const config = (0, import_language_core.createParsedCommandLine)(ts, ts.sys, configFilePath.replace(windowsPathReg, "/")); const vueOptions = config.vueOptions; console.log(config.options); const allExtensions = (0, import_language_core.getAllExtensions)(vueOptions); const mergeCompilerOptions = (0, import_lodash_unified.mergeWith)(compilerOptions, options.options, config.options, { noEmit: false, project: configFilePath, rootDir, outDir: outRootDir }); console.log(mergeCompilerOptions, "vueOptions"); if (runExtensions.length === allExtensions.length && runExtensions.every(ext => allExtensions.includes(ext))) { const vueLanguagePlugin = (0, import_language_core.createVueLanguagePlugin)(ts, mergeCompilerOptions, vueOptions, id => id); return { languagePlugins: [vueLanguagePlugin] }; } else { runExtensions = allExtensions; throw extensionsChangedException; } }); } function vueTsc(ctx, _options) { const { output, typesCacheDir } = (0, import_utils.handleTypeOption)(ctx); const declarationDir = typesCacheDir != null ? typesCacheDir : output.path; if (!(0, import_fs_extra.existsSync)(declarationDir)) { (0, import_fs_extra.mkdirSync)(declarationDir, { recursive: true }); } runVueTsc(ctx); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { vueTsc });