UNPKG

@lcap/builder

Version:
51 lines (50 loc) 1.79 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBuildOutputConifg = void 0; const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const lodash_1 = require("lodash"); const DefaultFrameWorkOutputConfig = { vue2: { external: ['vue', 'vue-router', 'vue-i18n', '@vue/composition-api'], globals: { vue: 'Vue', 'vue-router': 'VueRouter', 'vue-i18n': 'VueI18n', '@vue/composition-api': 'VueCompositionAPI', }, }, react: { external: ['react', 'react-dom'], globals: { react: 'React', 'react-dom': 'ReactDOM', }, }, vue3: { external: ['vue', 'vue-i18n', 'vuex', 'pinia', 'vue-router'], globals: { vue: 'Vue', 'vue-router': 'VueRouter', 'vue-i18n': 'VueI18n', vuex: 'Vuex', pinia: 'Pinia', }, }, }; function getBuildOutputConifg({ rootPath, framework, addDepExternal }) { const { external, globals } = (0, lodash_1.cloneDeep)(DefaultFrameWorkOutputConfig[framework] || { external: [], globals: {} }); if (addDepExternal) { const pkgInfo = fs_extra_1.default.readJsonSync(path_1.default.resolve(rootPath, 'package.json')); const depExternal = Object.keys(pkgInfo.dependencies).concat(Object.keys(pkgInfo.peerDependencies)).map((str) => new RegExp(`^${str}`)); external.push(...depExternal); } return { external, globals, }; } exports.getBuildOutputConifg = getBuildOutputConifg;