UNPKG

@aliretail/vite-config-xixi

Version:

瓴羊客服vite配置脚手架

59 lines (58 loc) 2.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchDevExternals = exports.fetchExternals = exports.fetchJson = void 0; const fetch_h2_1 = require("fetch-h2"); const _ = require("lodash"); function fetchJson(url, input) { return (0, fetch_h2_1.fetch)(url, input).then(res => res.json()).then(({ success, message, data }) => { if (success) return data; throw new Error(message); }); } exports.fetchJson = fetchJson; async function internalFetchExternals() { let result = ['@ali/xixi-design-icons', 'xixikf-devtools', '@ali/xixi-design-xixikf-widget', '@ali/xixikf-next-form-polymorph-adapter', '@ali/b6-render-engine', 'autotest', '@ali/xreplay-recorder-api', '@ali/servos-design', '@ant-design/pro-form', '@ant-design/icons', '@ant-design/pro-table', '@ali/xixikf-next-form-gateway-service', '@ali/servos-core', '@ali/xixikf-b6-render-service', 'react-use', '@ali/xixi-connected-client', '@ali/xixikf-support', '@ali/xixikf-im-sdk-react', '@ali/xixikf-im-sdk', '@ali/xixikf-im-core', '@ali/aes-tracker/index', '@ali/xform-core', '@ali/xform-antd', '@ali/xixi-xform', 'react-quill', 'prop-types', 'react-draggable', 'lodash', '@ali/xixi-design', 'react-query', 'react-beautiful-dnd', '@ali/mopen-mtop-client', 'moment', 'antd', 'classnames', 'history', 'react-router', 'react-router-dom', 'react-redux', 'redux', '@reduxjs/toolkit', '@ali/xfeedback-api', '@ali/trace-sdk', '@ali/trace-plugin-resource-error', '@ali/servos-ui', '@ali/xixikf-theme', '@ali/xixikf-workbench']; try { const url = process.env.BUNDLE_LIST_URL || ''; if (url != '') { const { dataList: libraries } = await fetchJson(url); result = [..._.map(libraries.filter((l) => l.status === 'Online'), 'packageName'), '@ali/xixikf-workbench']; } } catch (e) { console.error(e); } return result; } async function fetchExternals() { const [libs] = await Promise.all([internalFetchExternals()]); const externals = _.intersection(libs); if (process.env.EXTERNALS) { const localExternals = process.env.EXTERNALS.split(','); const { add, remove } = _.groupBy(localExternals, ext => ext.startsWith('-') ? 'remove' : 'add'); return _.difference(externals.concat(add ?? []), remove?.map(ext => ext.slice(1)) ?? []); } return externals; } exports.fetchExternals = fetchExternals; async function fetchDevExternals() { const [packages] = await Promise.all([fetchExternals()]); const externals = _.fromPairs(packages.map(p => [p, `__DEV__${_.camelCase(p)}`])); return _.omit(externals, ['react', 'react-dom', 'react-dom/server', 'lottie-web', 'autotestcase', 'jsoneditor', '@ali/test-success-marker', '@ali/aes-tracker-plugin-survey/index']); } exports.fetchDevExternals = fetchDevExternals;