-
Notifications
You must be signed in to change notification settings - Fork 6
/
.umirc.ts
47 lines (44 loc) · 1.39 KB
/
.umirc.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { defineConfig } from "umi";
import fs from 'fs';
import path from 'path';
import {GenerateSW} from "workbox-webpack-plugin";
const tauriConf = JSON.parse(fs.readFileSync(path.resolve(__dirname, 'src-tauri/tauri.conf.json'), 'utf-8'));
let version = `v${tauriConf.package.version}`;
if (process.env.NODE_ENV === 'development') {
version = 'development';
}
if (process.env.ref) {
version = `nightly ${process.env.ref.slice(0, 7)}`;
}
export default defineConfig({
npmClient: 'yarn',
plugins: ['@umijs/plugins/dist/antd'],
antd: {},
publicPath: process.env.ref ? '/nightly/': '/',
title: 'RM UI Designer',
history: {type: "hash"},
links: process.env.ref ? [] : [{
href: '/manifest.json',
rel: 'manifest'
}],
scripts: process.env.NODE_ENV === 'development' ? [] : [{
src: 'https://www.googletagmanager.com/gtag/js?id=G-4PDL1SSV9H',
async: true,
}],
chainWebpack(memo, { webpack } ) {
if (!process.env.ref) {
const { GenerateSW } = require("workbox-webpack-plugin");
memo.plugin('workbox').use(GenerateSW, [{
cacheId: 'rmui-pwa',
clientsClaim: true,
skipWaiting: true,
cleanupOutdatedCaches: true,
swDest: 'sw.js',
exclude: [/^nightly\//, /^manifest.*\.js(?:on)?$/]
}])
}
memo.plugin('DefinePlugin').use(webpack.DefinePlugin, [{
'process.env.VERSION': JSON.stringify(version),
}])
}
});