@lcap/builder
Version:
lcap builder utils
51 lines (50 loc) • 1.89 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBuildOutputConifg = getBuildOutputConifg;
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', '@vue/composition-api/dist/vue-composition-api.mjs'],
globals: {
vue: 'Vue',
'vue-router': 'VueRouter',
'vue-i18n': 'VueI18n',
'@vue/composition-api': 'VueCompositionAPI',
'@vue/composition-api/dist/vue-composition-api.mjs': '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,
};
}