SmartStorage/node_modules/uni-simple-router/webpack/webpack.common.js

66 lines
1.6 KiB
JavaScript

const {resolve} = require('path');
const CopyPlugin = require('copy-webpack-plugin');
const webpack =require('webpack');
const cmd = require('node-cmd');
const {data:versions,err} = cmd.runSync('npm v uni-simple-router versions');
if(err){
console.log('获取线上版本失败,无法继续打包。。。')
process.exit(1);
}
let lastVersion='';
const list=JSON.parse(versions.replace(/'/g,'"')).reverse();
for(let i=0;i<list.length;i++){
if (!/[A-Za-z]/g.test(list[i])) {
lastVersion=list[i];
break;
}
}
module.exports = {
entry: './src/index.ts',
output: {
library: 'Router',
libraryTarget: 'umd',
},
resolve: {
extensions: ['.tsx', '.ts', 'd.ts', '.js', '.json'],
},
module: {
rules: [
{
test: /\.tsx?$/,
use: [
{
loader: 'ts-loader',
},
],
exclude: /node_modules/,
},
],
},
plugins: [
new CopyPlugin([
{
force: true,
from: resolve(__dirname, '../src/component'),
to: resolve(__dirname, '../dist'),
}
]),
new webpack.DefinePlugin({
$npm_package_name: webpack.DefinePlugin.runtimeValue(() => {
return JSON.stringify(process.env.npm_package_name.toLocaleUpperCase())
}, true ),
$npm_package_version: webpack.DefinePlugin.runtimeValue(() => {
return JSON.stringify(process.env.npm_package_version.toLocaleUpperCase())
}, true ),
$npm_package_last_version: webpack.DefinePlugin.runtimeValue(() => {
return JSON.stringify(lastVersion)
}, true ),
})
],
};