-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDevTools.ts
More file actions
35 lines (28 loc) · 1.29 KB
/
Copy pathDevTools.ts
File metadata and controls
35 lines (28 loc) · 1.29 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
import {homedir, platform} from "node:os";
import {existsSync} from "node:fs";
import {join} from "node:path";
const homeDir:string = homedir();
/**
* 获取本地浏览器扩展的存储路径(推荐使用 Microsoft Edge 或 Google Chrome)
*/
const getLocalBrowserExtensionsPath = (): string => {
switch (platform()) {
case 'win32':
return join(homeDir, 'AppData', 'Local', 'Microsoft', 'Edge', 'User Data', 'Default', 'Extensions');
case 'darwin':
return join(homeDir, 'Library', 'Application Support', 'Microsoft Edge', 'Default', 'Extensions');
default:
return '';
}
};
const REACT_DEVTOOLS_ID: string = 'gpphkfbcpidddadnkolkpfckpihlkkil/6.1.2_0'; // React DevTools
const REDUX_DEVTOOLS_ID: string = 'nnkgneoiohoecpdiaponcejilbhhikei/3.2.10_0';// Redux DevTools
const extensionsPaths: string[] = [];
const browserExtensionsPath: string = getLocalBrowserExtensionsPath();
if (process.env.NODE_ENV === "development") {
if (existsSync(join(browserExtensionsPath, REACT_DEVTOOLS_ID)))
extensionsPaths.push(join(browserExtensionsPath, REACT_DEVTOOLS_ID));
if (existsSync(join(browserExtensionsPath, REDUX_DEVTOOLS_ID)))
extensionsPaths.push(join(browserExtensionsPath, REDUX_DEVTOOLS_ID));
}
export default extensionsPaths;