Repository navigation
Expand file tree
/
Copy pathvite.config.js
More file actions
91 lines (86 loc) · 2.95 KB
/
Copy pathvite.config.js
File metadata and controls
91 lines (86 loc) · 2.95 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import { readFileSync } from 'node:fs'
import { defineConfig, loadEnv } from 'vite'
import monkey from 'vite-plugin-monkey'
import { fileURLToPath, URL } from 'node:url'
const packageJson = JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf-8'))
const SCRIPT_ENTRY = 'src/index.js'
const SCRIPT_FILE_NAME = 'daxiaochao.user.js'
const SCRIPT_META_FILE_NAME = 'daxiaochao.meta.js'
const RELEASE_DOWNLOAD_BASE_URLS = {
production: 'https://github.com/llsccm/tracker/releases/latest/download',
cdn: 'https://cdn.jsdelivr.net/gh/llsccm/tracker@releases'
}
const SCRIPT_MATCH = [
'*://game.4399iw2.com/yxsgs/*',
'*://my.4399.com/yxsgs/*',
'*://*.sanguosha.com/*',
'*://web.kuaiwan.com/kwsgsn/*',
'*://wan.baidu.com/microend?gameId=19793595/*',
'*://www.7k7k.com/special/sgs/?*',
'*://playgame.iqiyi.com/login/iframe_page_web/top?game_id=146'
]
const SCRIPT_EXCLUDE = [
'https://game.4399iw2.com/yxxsgs/*',
'*://*.sanguosha.com/10/*',
'*://*.sanguosha.com/10th/*',
'https://wan.baidu.com/*gameId=19793616*',
'*://h5.7k7k.com/web/H5GAMES.html?gid=960982bec2f555de44ea43ca8a7ef418/*',
'*://qqgame.qq.com/webappframe/?appid=10951',
'*://s118.app1107877410.qqopenapp.com/pc/qqLobby_index.php*'
]
export default defineConfig(({ mode }) => {
// 加载当前模式下的环境变量;缺省时回退到 package.json,避免用户脚本元信息为空。
const env = loadEnv(mode, process.cwd(), '')
const version = env.VITE_version || packageJson.version
const releaseDownloadBaseUrl = RELEASE_DOWNLOAD_BASE_URLS[mode]
console.log(`Build time: ${new Date().toLocaleString()}`)
console.log(`Build mode: ${mode}`)
console.log(`Build version: ${version}`)
return {
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
plugins: [
monkey({
entry: SCRIPT_ENTRY,
userscript: {
name: '三国杀小抄 Lite',
version,
author: '三国杀小抄',
license: 'GPL-3.0-or-later',
'run-at': 'document-start',
description: '三国杀记牌器',
supportURL: 'https://github.com/llsccm/tracker/issues',
icon: 'https://i0.hdslb.com/bfs/new_dyn/17ec41a0ca79633b77399065ab80da3f2138912.png',
namespace: 'https://greasyfork.org/scripts/448004',
match: SCRIPT_MATCH,
exclude: SCRIPT_EXCLUDE,
...(releaseDownloadBaseUrl
? {
updateURL: `${releaseDownloadBaseUrl}/${SCRIPT_META_FILE_NAME}`,
downloadURL: `${releaseDownloadBaseUrl}/${SCRIPT_FILE_NAME}`
}
: {}),
grant: 'none'
},
server: {
mountGmApi: false
},
build: {
metaFileName: SCRIPT_META_FILE_NAME,
autoGrant: false
}
})
],
build: {
minify: false,
rollupOptions: {
output: {
entryFileNames: SCRIPT_FILE_NAME
}
}
}
}
})