-
Notifications
You must be signed in to change notification settings - Fork 2
/
manifest.ts
85 lines (75 loc) · 1.92 KB
/
manifest.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
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
import packageJson from './package.json';
import manifestConfig from './manifest.config';
/**
* After changing, please reload the extension at `chrome://extensions`
*/
const defaultManifest: chrome.runtime.ManifestV3 = {
manifest_version: 3,
name: packageJson.name,
version: packageJson.version,
description: packageJson.description,
permissions: ['storage'],
icons: {
'128': 'icon-128.png',
},
web_accessible_resources: [
{
resources: [
'assets/js/*.js',
'assets/css/*.css',
'icon-128.png',
'icon-34.png',
],
matches: ['*://*/*'],
},
],
};
function generateManifest(
config: typeof manifestConfig,
): chrome.runtime.ManifestV3 {
const manifest = defaultManifest;
if (config.background) {
manifest.background = {
service_worker: 'src/pages/background/index.js',
type: 'module',
};
}
if (config.content) {
manifest.content_scripts = [
{
matches: [
'*://*.coze.com/*',
'*://*.coze.com/space/*/bot/*',
'*://*.coze.com/space/*/bot',
'*://*.coze.com/explore/*',
'*://*.coze.cn/*',
'*://*.coze.cn/space/*/bot/*',
'*://*.coze.cn/space/*/bot',
'*://*.coze.cn/explore/*',
],
js: ['src/pages/content/index.js'],
// KEY for cache invalidation
css: ['assets/css/contentStyle<KEY>.chunk.css'],
},
];
}
if (config.devtools) {
manifest.devtools_page = 'src/pages/devtools/index.html';
}
if (config.newtab) {
manifest.chrome_url_overrides = {
newtab: 'src/pages/newtab/index.html',
};
}
if (config.options) {
manifest.options_page = 'src/pages/options/index.html';
}
if (config.popup) {
manifest.action = {
default_popup: 'src/pages/popup/index.html',
default_icon: 'icon-34.png',
};
}
return manifest;
}
export default generateManifest(manifestConfig);