Files
scan-code-jssdk/webpack.plugin.js
2026-04-30 10:16:43 +08:00

51 lines
1.3 KiB
JavaScript

const StrWebpackPlugin = require('str-webpack-plugin');
const { version } = require('./package.json');
function formatDate(input, fmt) {
let date;
if (input instanceof Date) {
date = input;
} else {
date = new Date(input);
}
var o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'H+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds(),
'S+': date.getMilliseconds()
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp('(' + k + ')').test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).substr(String(o[k]).length)));
}
}
return fmt;
}
let libVersion = `${version}.${formatDate(new Date(), "MMdd.HHmm")}`
class EnvWebPackage extends StrWebpackPlugin {
constructor({ entry, output, env }) {
super(Object.keys(entry).map((name) => {
return {
src: output,
test: new RegExp(`${name}.js`, 'g'),
replace: {
form: [/\$\{lib_env\}/g, /\$\{lib_version\}/g],
to: [env, libVersion]
}
}
}))
}
}
module.exports = {
EnvWebPackage
}