Files
2026-07-13 12:30:52 +08:00

58 lines
1.6 KiB
TypeScript

// let version = require('../package.json').version;
const path = require('path');
const alias = require('./bricks/alias');
const other = require('./bricks/other');
const rules = require('./bricks/rules');
// module.exports = (env) => {
// let plugin = env.pluginname;
// return {
// entry: path.resolve('./', 'src/plugin/' + plugin + '/index.js'),
// output: {
// path: path.resolve('./', 'dist'),
// filename: 'cnchar.' + plugin + '.' + version + '.min.js'
// },
// module: {
// rules: [{
// test: /(.js)$/,
// use: [{
// loader: 'babel-loader',
// }]
// }]
// }
// };
// };
module.exports = (env) => {
const plugin = env.pluginname;
let dir = `plugin/${plugin}`;
let npmDir = plugin;
if (plugin === 'all') {
dir = 'alias/cnchar-all';
npmDir = 'cnchar-all';
}
return {
mode: 'production',
entry: path.resolve('./', `src/cnchar/${dir}/index.ts`),
output: {
path: path.resolve('./', 'npm/packages/' + npmDir),
filename: 'cnchar.' + plugin + '.min.js',
library: 'cnchar' + plugin[0].toUpperCase() + plugin.substr(1),
// umdNamedDefine: true,
libraryTarget: 'umd',
globalObject: 'this',
libraryExport: 'default',
},
externals: other.externals,
resolve: {
extensions: other.extensions,
alias
},
module: {
rules: [
rules.ts,
rules.js
]
}
};
};