77 lines
1.9 KiB
JavaScript
77 lines
1.9 KiB
JavaScript
import {defineConfig} from 'vite'
|
|
import banner from 'vite-plugin-banner'
|
|
import {author, license, name, version} from './package.json'
|
|
|
|
const outDir = 'locale';
|
|
|
|
function getBanner(banner, pkg) {
|
|
if (!banner || typeof banner === 'string') {
|
|
return banner || '';
|
|
}
|
|
|
|
banner = {...pkg, ...(banner === true ? {} : banner)};
|
|
|
|
const author = banner.author
|
|
|
|
const license = banner.license || '';
|
|
|
|
|
|
return {
|
|
content: (
|
|
'/*!\n' +
|
|
' * FormCreate商业版可视化表单设计器-让表单设计更简单\n' +
|
|
` * ${banner.name} v${banner.version}\n` +
|
|
` * (c) ${author || ''}\n` +
|
|
' * license 仅限于被授权主体(个人、企业或组织)使用\n' +
|
|
' */'
|
|
),
|
|
outDir,
|
|
};
|
|
}
|
|
|
|
function toCase(str) {
|
|
return str.replace(/(-[a-z])/g, function (v) {
|
|
return v.replace('-', '').toLocaleUpperCase();
|
|
});
|
|
}
|
|
|
|
function upper(str) {
|
|
return str.replace(str[0], str[0].toLocaleUpperCase());
|
|
}
|
|
|
|
const __banner__ = {
|
|
author: `2021-${new Date().getFullYear()} ${author}\n * Github https://github.com/xaboy/form-create-designer`,
|
|
license,
|
|
name,
|
|
version
|
|
}
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig((env) => {
|
|
const name = env.mode || 'en';
|
|
return {
|
|
build: {
|
|
outDir,
|
|
lib: {
|
|
entry: `src/locale/${name}.js`,
|
|
name: 'FcDesigner' + upper(toCase(name)),
|
|
fileName: format => {
|
|
if(format === 'umd') {
|
|
return `${name}.js`
|
|
} else {
|
|
return `${name}.${format}.js`
|
|
}
|
|
},
|
|
},
|
|
emptyOutDir: false,
|
|
},
|
|
rollupOptions: {
|
|
output: {
|
|
exports: 'named',
|
|
}
|
|
},
|
|
|
|
plugins: [banner(getBanner(__banner__))]
|
|
};
|
|
})
|