mirror of
https://github.com/rubickCenter/rubick
synced 2025-06-10 13:20:28 +08:00
:spark: 支持系统截屏功能
This commit is contained in:
parent
9ee8d78b1b
commit
2cd70bd386
@ -47,6 +47,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="settings-item-li">
|
||||||
|
<div class="label">截屏</div>
|
||||||
|
<a-tooltip placement="top" trigger="click">
|
||||||
|
<template #title>
|
||||||
|
<span>{{ tipText }} </span>
|
||||||
|
</template>
|
||||||
|
<div
|
||||||
|
class="value"
|
||||||
|
tabIndex="-1"
|
||||||
|
@keyup="e => changeShortCut(e, 'capture')"
|
||||||
|
>
|
||||||
|
{{ shortCut.capture }}
|
||||||
|
</div>
|
||||||
|
</a-tooltip>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="setting-item">
|
<div class="setting-item">
|
||||||
<div class="title">通用</div>
|
<div class="title">通用</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "rubick",
|
"name": "rubick",
|
||||||
"version": "2.1.10",
|
"version": "2.2.0",
|
||||||
"author": "muwoo <2424880409@qq.com>",
|
"author": "muwoo <2424880409@qq.com>",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -24,6 +24,7 @@
|
|||||||
"axios": "^1.3.4",
|
"axios": "^1.3.4",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"cross-spawn": "^7.0.3",
|
"cross-spawn": "^7.0.3",
|
||||||
|
"electron-screenshots": "^0.5.19",
|
||||||
"extract-file-icon": "^0.3.2",
|
"extract-file-icon": "^0.3.2",
|
||||||
"fix-path": "^3.0.0",
|
"fix-path": "^3.0.0",
|
||||||
"get-mac-apps": "^1.0.2",
|
"get-mac-apps": "^1.0.2",
|
||||||
|
@ -113,6 +113,13 @@ window.rubick = {
|
|||||||
setFeature(feature) {
|
setFeature(feature) {
|
||||||
return ipcSendSync('setFeature', { feature });
|
return ipcSendSync('setFeature', { feature });
|
||||||
},
|
},
|
||||||
|
screenCapture(cb) {
|
||||||
|
typeof cb === 'function' &&
|
||||||
|
(window.rubick.hooks.onScreenCapture = ({ data }) => {
|
||||||
|
cb(data);
|
||||||
|
});
|
||||||
|
ipcSendSync('screenCapture');
|
||||||
|
},
|
||||||
removeFeature(code) {
|
removeFeature(code) {
|
||||||
return ipcSendSync('removeFeature', { code });
|
return ipcSendSync('removeFeature', { code });
|
||||||
},
|
},
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
import commonConst from "@/common/utils/commonConst";
|
import commonConst from '@/common/utils/commonConst';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
version: 4,
|
version: 5,
|
||||||
perf: {
|
perf: {
|
||||||
shortCut: {
|
shortCut: {
|
||||||
showAndHidden: "Option+R",
|
showAndHidden: 'Option+R',
|
||||||
separate: "Ctrl+D",
|
separate: 'Ctrl+D',
|
||||||
quit: "Shift+Escape",
|
quit: 'Shift+Escape',
|
||||||
|
capture: 'Ctrl+Shift+A',
|
||||||
},
|
},
|
||||||
common: {
|
common: {
|
||||||
start: true,
|
start: true,
|
||||||
@ -14,7 +15,7 @@ export default {
|
|||||||
// 是否失焦隐藏。默认在dev环境不隐藏,在打包后隐藏。
|
// 是否失焦隐藏。默认在dev环境不隐藏,在打包后隐藏。
|
||||||
hideOnBlur: commonConst.production(),
|
hideOnBlur: commonConst.production(),
|
||||||
autoPast: false,
|
autoPast: false,
|
||||||
darkMode: false
|
darkMode: false,
|
||||||
},
|
},
|
||||||
local: {
|
local: {
|
||||||
search: true,
|
search: true,
|
||||||
|
@ -1,27 +1,31 @@
|
|||||||
import path from "path";
|
import path from 'path';
|
||||||
import fs from "fs";
|
import fs from 'fs';
|
||||||
import getLocalDataFile from "./getLocalDataFile";
|
import getLocalDataFile from './getLocalDataFile';
|
||||||
import { PluginHandler } from "@/core";
|
import { PluginHandler } from '@/core';
|
||||||
import { PLUGIN_INSTALL_DIR as baseDir } from "@/common/constans/main";
|
import { PLUGIN_INSTALL_DIR as baseDir } from '@/common/constans/main';
|
||||||
import API from "@/main/common/api";
|
import API from '@/main/common/api';
|
||||||
|
|
||||||
const configPath = path.join(getLocalDataFile(), "./rubick-local-plugin.json");
|
const configPath = path.join(getLocalDataFile(), './rubick-local-plugin.json');
|
||||||
|
|
||||||
let registry;
|
let registry;
|
||||||
let pluginInstance;
|
let pluginInstance;
|
||||||
(async () => {
|
(async () => {
|
||||||
try {
|
try {
|
||||||
registry = (await API.dbGet({ data: { id: "rubick-localhost-config" } }))
|
const res = await API.dbGet({
|
||||||
.data.register;
|
data: {
|
||||||
console.log(registry);
|
id: 'rubick-localhost-config',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
registry = res && res.data.register;
|
||||||
pluginInstance = new PluginHandler({
|
pluginInstance = new PluginHandler({
|
||||||
baseDir,
|
baseDir,
|
||||||
registry
|
registry,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
pluginInstance = new PluginHandler({
|
pluginInstance = new PluginHandler({
|
||||||
baseDir,
|
baseDir,
|
||||||
registry
|
registry,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
@ -32,13 +36,13 @@ global.LOCAL_PLUGINS = {
|
|||||||
await pluginInstance.install([plugin.name], { isDev: plugin.isDev });
|
await pluginInstance.install([plugin.name], { isDev: plugin.isDev });
|
||||||
if (plugin.isDev) {
|
if (plugin.isDev) {
|
||||||
// 获取 dev 插件信息
|
// 获取 dev 插件信息
|
||||||
const pluginPath = path.resolve(baseDir, "node_modules", plugin.name);
|
const pluginPath = path.resolve(baseDir, 'node_modules', plugin.name);
|
||||||
const pluginInfo = JSON.parse(
|
const pluginInfo = JSON.parse(
|
||||||
fs.readFileSync(path.join(pluginPath, "./package.json"), "utf8")
|
fs.readFileSync(path.join(pluginPath, './package.json'), 'utf8')
|
||||||
);
|
);
|
||||||
plugin = {
|
plugin = {
|
||||||
...plugin,
|
...plugin,
|
||||||
...pluginInfo
|
...pluginInfo,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
global.LOCAL_PLUGINS.addPlugin(plugin);
|
global.LOCAL_PLUGINS.addPlugin(plugin);
|
||||||
@ -46,18 +50,18 @@ global.LOCAL_PLUGINS = {
|
|||||||
},
|
},
|
||||||
refreshPlugin(plugin) {
|
refreshPlugin(plugin) {
|
||||||
// 获取 dev 插件信息
|
// 获取 dev 插件信息
|
||||||
const pluginPath = path.resolve(baseDir, "node_modules", plugin.name);
|
const pluginPath = path.resolve(baseDir, 'node_modules', plugin.name);
|
||||||
const pluginInfo = JSON.parse(
|
const pluginInfo = JSON.parse(
|
||||||
fs.readFileSync(path.join(pluginPath, "./package.json"), "utf8")
|
fs.readFileSync(path.join(pluginPath, './package.json'), 'utf8')
|
||||||
);
|
);
|
||||||
plugin = {
|
plugin = {
|
||||||
...plugin,
|
...plugin,
|
||||||
...pluginInfo
|
...pluginInfo,
|
||||||
};
|
};
|
||||||
// 刷新
|
// 刷新
|
||||||
let currentPlugins = global.LOCAL_PLUGINS.getLocalPlugins();
|
let currentPlugins = global.LOCAL_PLUGINS.getLocalPlugins();
|
||||||
|
|
||||||
currentPlugins = currentPlugins.map(p => {
|
currentPlugins = currentPlugins.map((p) => {
|
||||||
if (p.name === plugin.name) {
|
if (p.name === plugin.name) {
|
||||||
return plugin;
|
return plugin;
|
||||||
}
|
}
|
||||||
@ -73,7 +77,7 @@ global.LOCAL_PLUGINS = {
|
|||||||
try {
|
try {
|
||||||
if (!global.LOCAL_PLUGINS.PLUGINS.length) {
|
if (!global.LOCAL_PLUGINS.PLUGINS.length) {
|
||||||
global.LOCAL_PLUGINS.PLUGINS = JSON.parse(
|
global.LOCAL_PLUGINS.PLUGINS = JSON.parse(
|
||||||
fs.readFileSync(configPath, "utf-8")
|
fs.readFileSync(configPath, 'utf-8')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return global.LOCAL_PLUGINS.PLUGINS;
|
return global.LOCAL_PLUGINS.PLUGINS;
|
||||||
@ -85,7 +89,7 @@ global.LOCAL_PLUGINS = {
|
|||||||
addPlugin(plugin) {
|
addPlugin(plugin) {
|
||||||
let has = false;
|
let has = false;
|
||||||
const currentPlugins = global.LOCAL_PLUGINS.getLocalPlugins();
|
const currentPlugins = global.LOCAL_PLUGINS.getLocalPlugins();
|
||||||
currentPlugins.some(p => {
|
currentPlugins.some((p) => {
|
||||||
has = p.name === plugin.name;
|
has = p.name === plugin.name;
|
||||||
return has;
|
return has;
|
||||||
});
|
});
|
||||||
@ -96,20 +100,22 @@ global.LOCAL_PLUGINS = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
updatePlugin(plugin) {
|
updatePlugin(plugin) {
|
||||||
global.LOCAL_PLUGINS.PLUGINS = global.LOCAL_PLUGINS.PLUGINS.map(origin => {
|
global.LOCAL_PLUGINS.PLUGINS = global.LOCAL_PLUGINS.PLUGINS.map(
|
||||||
if (origin.name === plugin.name) {
|
(origin) => {
|
||||||
return plugin;
|
if (origin.name === plugin.name) {
|
||||||
|
return plugin;
|
||||||
|
}
|
||||||
|
return origin;
|
||||||
}
|
}
|
||||||
return origin;
|
);
|
||||||
});
|
|
||||||
fs.writeFileSync(configPath, JSON.stringify(global.LOCAL_PLUGINS.PLUGINS));
|
fs.writeFileSync(configPath, JSON.stringify(global.LOCAL_PLUGINS.PLUGINS));
|
||||||
},
|
},
|
||||||
async deletePlugin(plugin) {
|
async deletePlugin(plugin) {
|
||||||
await pluginInstance.uninstall([plugin.name], { isDev: plugin.isDev });
|
await pluginInstance.uninstall([plugin.name], { isDev: plugin.isDev });
|
||||||
global.LOCAL_PLUGINS.PLUGINS = global.LOCAL_PLUGINS.PLUGINS.filter(
|
global.LOCAL_PLUGINS.PLUGINS = global.LOCAL_PLUGINS.PLUGINS.filter(
|
||||||
p => plugin.name !== p.name
|
(p) => plugin.name !== p.name
|
||||||
);
|
);
|
||||||
fs.writeFileSync(configPath, JSON.stringify(global.LOCAL_PLUGINS.PLUGINS));
|
fs.writeFileSync(configPath, JSON.stringify(global.LOCAL_PLUGINS.PLUGINS));
|
||||||
return global.LOCAL_PLUGINS.PLUGINS;
|
return global.LOCAL_PLUGINS.PLUGINS;
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
@ -13,6 +13,7 @@ export interface DocRes {
|
|||||||
ok: boolean;
|
ok: boolean;
|
||||||
rev: RevisionId;
|
rev: RevisionId;
|
||||||
_id: string;
|
_id: string;
|
||||||
|
data?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DBError {
|
export interface DBError {
|
||||||
|
@ -15,6 +15,7 @@ import { LocalDb } from '@/core';
|
|||||||
import plist from 'plist';
|
import plist from 'plist';
|
||||||
import { DECODE_KEY } from '@/common/constans/main';
|
import { DECODE_KEY } from '@/common/constans/main';
|
||||||
import mainInstance from '../index';
|
import mainInstance from '../index';
|
||||||
|
import { screenshots } from './registerScreenshots';
|
||||||
const runnerInstance = runner();
|
const runnerInstance = runner();
|
||||||
const detachInstance = detach();
|
const detachInstance = detach();
|
||||||
const dbInstance = new LocalDb(app.getPath('userData'));
|
const dbInstance = new LocalDb(app.getPath('userData'));
|
||||||
@ -33,6 +34,14 @@ class API {
|
|||||||
event.returnValue = data;
|
event.returnValue = data;
|
||||||
// event.sender.send(`msg-back-${arg.type}`, data);
|
// event.sender.send(`msg-back-${arg.type}`, data);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 注册截屏成功回调事件
|
||||||
|
screenshots.on('ok', (e, buffer) => {
|
||||||
|
const image = nativeImage.createFromBuffer(buffer);
|
||||||
|
runnerInstance.executeHooks('ScreenCapture', {
|
||||||
|
data: image.toDataURL(),
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public getCurrentWindow = (window, e) => {
|
public getCurrentWindow = (window, e) => {
|
||||||
@ -313,6 +322,10 @@ class API {
|
|||||||
shell.beep();
|
shell.beep();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public screenCapture() {
|
||||||
|
screenshots.startCapture();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default new API();
|
export default new API();
|
||||||
|
@ -5,8 +5,9 @@ import {
|
|||||||
BrowserView,
|
BrowserView,
|
||||||
screen,
|
screen,
|
||||||
ipcMain,
|
ipcMain,
|
||||||
app
|
app,
|
||||||
} from "electron";
|
} from 'electron';
|
||||||
|
import { screenshots } from './registerScreenshots';
|
||||||
|
|
||||||
const registerHotKey = (mainWindow: BrowserWindow): void => {
|
const registerHotKey = (mainWindow: BrowserWindow): void => {
|
||||||
// 设置开机启动
|
// 设置开机启动
|
||||||
@ -14,7 +15,7 @@ const registerHotKey = (mainWindow: BrowserWindow): void => {
|
|||||||
const config = global.OP_CONFIG.get();
|
const config = global.OP_CONFIG.get();
|
||||||
app.setLoginItemSettings({
|
app.setLoginItemSettings({
|
||||||
openAtLogin: config.perf.common.start,
|
openAtLogin: config.perf.common.start,
|
||||||
openAsHidden: true
|
openAsHidden: true,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
// 设置暗黑模式
|
// 设置暗黑模式
|
||||||
@ -22,7 +23,7 @@ const registerHotKey = (mainWindow: BrowserWindow): void => {
|
|||||||
const config = global.OP_CONFIG.get();
|
const config = global.OP_CONFIG.get();
|
||||||
const isDark = config.perf.common.darkMode;
|
const isDark = config.perf.common.darkMode;
|
||||||
if (isDark) {
|
if (isDark) {
|
||||||
nativeTheme.themeSource = "dark";
|
nativeTheme.themeSource = 'dark';
|
||||||
mainWindow.webContents.executeJavaScript(
|
mainWindow.webContents.executeJavaScript(
|
||||||
`document.body.classList.add("dark");window.rubick.theme="dark"`
|
`document.body.classList.add("dark");window.rubick.theme="dark"`
|
||||||
);
|
);
|
||||||
@ -32,7 +33,7 @@ const registerHotKey = (mainWindow: BrowserWindow): void => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
nativeTheme.themeSource = "light";
|
nativeTheme.themeSource = 'light';
|
||||||
mainWindow.webContents.executeJavaScript(
|
mainWindow.webContents.executeJavaScript(
|
||||||
`document.body.classList.remove("dark");window.rubick.theme="light"`
|
`document.body.classList.remove("dark");window.rubick.theme="light"`
|
||||||
);
|
);
|
||||||
@ -71,12 +72,16 @@ const registerHotKey = (mainWindow: BrowserWindow): void => {
|
|||||||
mainWindow.setVisibleOnAllWorkspaces(true, { visibleOnFullScreen: true });
|
mainWindow.setVisibleOnAllWorkspaces(true, { visibleOnFullScreen: true });
|
||||||
mainWindow.focus();
|
mainWindow.focus();
|
||||||
mainWindow.setVisibleOnAllWorkspaces(false, {
|
mainWindow.setVisibleOnAllWorkspaces(false, {
|
||||||
visibleOnFullScreen: true
|
visibleOnFullScreen: true,
|
||||||
});
|
});
|
||||||
mainWindow.setPosition(wx, wy);
|
mainWindow.setPosition(wx, wy);
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
globalShortcut.register(config.perf.shortCut.capture, () => {
|
||||||
|
screenshots.startCapture();
|
||||||
|
});
|
||||||
|
|
||||||
// globalShortcut.register(config.perf.shortCut.separate, () => {
|
// globalShortcut.register(config.perf.shortCut.separate, () => {
|
||||||
//
|
//
|
||||||
// });
|
// });
|
||||||
@ -87,15 +92,15 @@ const registerHotKey = (mainWindow: BrowserWindow): void => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 注册自定义全局快捷键
|
// 注册自定义全局快捷键
|
||||||
config.global.forEach(sc => {
|
config.global.forEach((sc) => {
|
||||||
if (!sc.key || !sc.value) return;
|
if (!sc.key || !sc.value) return;
|
||||||
globalShortcut.register(sc.key, () => {
|
globalShortcut.register(sc.key, () => {
|
||||||
mainWindow.webContents.send("global-short-key", sc.value);
|
mainWindow.webContents.send('global-short-key', sc.value);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
init();
|
init();
|
||||||
ipcMain.on("re-register", () => {
|
ipcMain.on('re-register', () => {
|
||||||
init();
|
init();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
8
src/main/common/registerScreenshots.ts
Normal file
8
src/main/common/registerScreenshots.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import Screenshots from 'electron-screenshots';
|
||||||
|
let screenshots;
|
||||||
|
|
||||||
|
const initScreenShots = () => {
|
||||||
|
screenshots = new Screenshots();
|
||||||
|
};
|
||||||
|
|
||||||
|
export { initScreenShots, screenshots };
|
@ -17,6 +17,7 @@ import '../common/utils/localPlugin';
|
|||||||
import '../common/utils/localConfig';
|
import '../common/utils/localConfig';
|
||||||
|
|
||||||
import registerySystemPlugin from './common/registerySystemPlugin';
|
import registerySystemPlugin from './common/registerySystemPlugin';
|
||||||
|
import { initScreenShots } from './common/registerScreenshots';
|
||||||
|
|
||||||
class App {
|
class App {
|
||||||
public windowCreator: { init: () => void; getWindow: () => BrowserWindow };
|
public windowCreator: { init: () => void; getWindow: () => BrowserWindow };
|
||||||
@ -58,6 +59,7 @@ class App {
|
|||||||
const readyFunction = () => {
|
const readyFunction = () => {
|
||||||
this.createWindow();
|
this.createWindow();
|
||||||
const mainWindow = this.windowCreator.getWindow();
|
const mainWindow = this.windowCreator.getWindow();
|
||||||
|
initScreenShots();
|
||||||
API.init(mainWindow);
|
API.init(mainWindow);
|
||||||
createTray(this.windowCreator.getWindow());
|
createTray(this.windowCreator.getWindow());
|
||||||
registerHotKey(this.windowCreator.getWindow());
|
registerHotKey(this.windowCreator.getWindow());
|
||||||
|
@ -1,37 +1,37 @@
|
|||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
const path = require("path");
|
const path = require('path');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
// transpileDependencies: ["fix-path"],
|
// transpileDependencies: ["fix-path"],
|
||||||
configureWebpack: {
|
configureWebpack: {
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
"@": path.join(__dirname, "./src"),
|
'@': path.join(__dirname, './src'),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
externals: {
|
externals: {
|
||||||
'extract-file-icon': 'commonjs extract-file-icon'
|
'extract-file-icon': 'commonjs extract-file-icon',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
index: {
|
index: {
|
||||||
entry: "src/renderer/main.ts",
|
entry: 'src/renderer/main.ts',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
productionSourceMap: false,
|
productionSourceMap: false,
|
||||||
pluginOptions: {
|
pluginOptions: {
|
||||||
electronBuilder: {
|
electronBuilder: {
|
||||||
nodeIntegration: true,
|
nodeIntegration: true,
|
||||||
mainProcessFile: "src/main/index.ts",
|
mainProcessFile: 'src/main/index.ts',
|
||||||
mainProcessWatch: ["src/main"],
|
mainProcessWatch: ['src/main'],
|
||||||
externals: ["pouchdb", "extract-file-icon"],
|
externals: ['pouchdb', 'extract-file-icon', 'electron-screenshots'],
|
||||||
// Use this to change the entry point of your app's render process. default src/[main|index].[js|ts]
|
// Use this to change the entry point of your app's render process. default src/[main|index].[js|ts]
|
||||||
builderOptions: {
|
builderOptions: {
|
||||||
productName: "rubick2",
|
productName: 'rubick2',
|
||||||
appId: "com.muwoo.rubick",
|
appId: 'com.muwoo.rubick',
|
||||||
compression: "maximum",
|
compression: 'maximum',
|
||||||
directories: {
|
directories: {
|
||||||
output: "build",
|
output: 'build',
|
||||||
},
|
},
|
||||||
// files: ["dist_electron/**/*"],
|
// files: ["dist_electron/**/*"],
|
||||||
dmg: {
|
dmg: {
|
||||||
@ -39,35 +39,35 @@ module.exports = {
|
|||||||
{
|
{
|
||||||
x: 410,
|
x: 410,
|
||||||
y: 150,
|
y: 150,
|
||||||
type: "link",
|
type: 'link',
|
||||||
path: "/Applications",
|
path: '/Applications',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
x: 130,
|
x: 130,
|
||||||
y: 150,
|
y: 150,
|
||||||
type: "file",
|
type: 'file',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
mac: {
|
mac: {
|
||||||
icon: "public/icons/icon.icns",
|
icon: 'public/icons/icon.icns',
|
||||||
target: ["pkg"],
|
target: ['pkg'],
|
||||||
extendInfo: {
|
extendInfo: {
|
||||||
LSUIElement: 1,
|
LSUIElement: 1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
win: {
|
win: {
|
||||||
icon: "public/icons/icon.ico",
|
icon: 'public/icons/icon.ico',
|
||||||
target: "nsis",
|
target: 'nsis',
|
||||||
},
|
},
|
||||||
nsis: {
|
nsis: {
|
||||||
oneClick: false,
|
oneClick: false,
|
||||||
allowToChangeInstallationDirectory: true,
|
allowToChangeInstallationDirectory: true,
|
||||||
},
|
},
|
||||||
linux: {
|
linux: {
|
||||||
icon: "public/icons/",
|
icon: 'public/icons/',
|
||||||
publish: ["github"],
|
publish: ['github'],
|
||||||
target: "deb",
|
target: 'deb',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
74
yarn.lock
74
yarn.lock
@ -4130,7 +4130,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "2.0.0"
|
ms "2.0.0"
|
||||||
|
|
||||||
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
|
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
|
||||||
version "4.3.4"
|
version "4.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||||
@ -4680,6 +4680,16 @@ electron-publish@22.14.13:
|
|||||||
lazy-val "^1.0.5"
|
lazy-val "^1.0.5"
|
||||||
mime "^2.5.2"
|
mime "^2.5.2"
|
||||||
|
|
||||||
|
electron-screenshots@^0.5.19:
|
||||||
|
version "0.5.19"
|
||||||
|
resolved "https://registry.yarnpkg.com/electron-screenshots/-/electron-screenshots-0.5.19.tgz#2cef4bf2af4cc92d999a5a9e07cada99bccdcf59"
|
||||||
|
integrity sha512-+3Ia7f8D4oRmoVoTxvUkS/U288zA21W4TERX8Cy3A7OUXkoIqfRF48Caz5Q8I5tRoWy+QIqfXOupEv9M4fcwlQ==
|
||||||
|
dependencies:
|
||||||
|
debug "^4.3.4"
|
||||||
|
fs-extra "^11.1.1"
|
||||||
|
node-screenshots "^0.1.2"
|
||||||
|
react-screenshots "^0.5.19"
|
||||||
|
|
||||||
electron-to-chromium@^1.4.202:
|
electron-to-chromium@^1.4.202:
|
||||||
version "1.4.211"
|
version "1.4.211"
|
||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz#afaa8b58313807501312d598d99b953568d60f91"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz#afaa8b58313807501312d598d99b953568d60f91"
|
||||||
@ -5606,6 +5616,15 @@ fs-extra@^10.0.0:
|
|||||||
jsonfile "^6.0.1"
|
jsonfile "^6.0.1"
|
||||||
universalify "^2.0.0"
|
universalify "^2.0.0"
|
||||||
|
|
||||||
|
fs-extra@^11.1.1:
|
||||||
|
version "11.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d"
|
||||||
|
integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==
|
||||||
|
dependencies:
|
||||||
|
graceful-fs "^4.2.0"
|
||||||
|
jsonfile "^6.0.1"
|
||||||
|
universalify "^2.0.0"
|
||||||
|
|
||||||
fs-extra@^7.0.1:
|
fs-extra@^7.0.1:
|
||||||
version "7.0.1"
|
version "7.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
|
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
|
||||||
@ -8014,6 +8033,54 @@ node-releases@^2.0.6:
|
|||||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
|
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
|
||||||
integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
|
integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
|
||||||
|
|
||||||
|
node-screenshots-darwin-arm64@0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-screenshots-darwin-arm64/-/node-screenshots-darwin-arm64-0.1.2.tgz#6662d6c5ff43c0f0a423d6c93d3572dfd459ebb1"
|
||||||
|
integrity sha512-K7Gz1HxYBdchAzFtDFei1sOJf6DosBZw4MWTDfybuBhGPlJWHdqdgBu01qBb6IrTLFl6soC1tpLEGzNmJ4sDxA==
|
||||||
|
|
||||||
|
node-screenshots-darwin-x64@0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-screenshots-darwin-x64/-/node-screenshots-darwin-x64-0.1.2.tgz#6926c3714337bed7c21fcb0a6b4f351d675ed04c"
|
||||||
|
integrity sha512-4zVzuVPveFivpTBEx9cGw0nz8NayqIrtyoclTuEcTrnS1iUCkSL8/G9FUMgqy8HgzE2j534sQQmRt1KOV8RkCA==
|
||||||
|
|
||||||
|
node-screenshots-linux-x64-gnu@0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-screenshots-linux-x64-gnu/-/node-screenshots-linux-x64-gnu-0.1.2.tgz#0a1d34ef49fb0342e3dfe05de2729940716034f4"
|
||||||
|
integrity sha512-0hK1EK8UdH5i9lt4kEUAVcCm2lYtYBM9smWGosiSoxcz0hzjSTMIKTNzK+VY6qspNYMNM71Q14jbiQfSsXg5iQ==
|
||||||
|
|
||||||
|
node-screenshots-linux-x64-musl@0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-screenshots-linux-x64-musl/-/node-screenshots-linux-x64-musl-0.1.2.tgz#23db04426a3bbaed8802e84d5f9fbb089375f480"
|
||||||
|
integrity sha512-DLjKKexhrq5gM8SoAB5AhExfJ9ftnJqTcxBx2sX17aTyCnLJ8VAl0ID4PbweU/zkEmLSN5YM7rTAgfIOvWBC0Q==
|
||||||
|
|
||||||
|
node-screenshots-win32-arm64-msvc@0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-screenshots-win32-arm64-msvc/-/node-screenshots-win32-arm64-msvc-0.1.2.tgz#e3096a4e597898fbef5be9e92fa4529f9c03eb34"
|
||||||
|
integrity sha512-BTZHxHy3Z0hjdC2mDTHbKYrDGIFqloe0Dr7FXCIkDyQua4X2SB+vz2Q2NBUe/yDynzNvZHLLKBwZjFJ7cuf9gg==
|
||||||
|
|
||||||
|
node-screenshots-win32-ia32-msvc@0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-screenshots-win32-ia32-msvc/-/node-screenshots-win32-ia32-msvc-0.1.2.tgz#89b9c78fedf285a93e0e492726afc33f25dba3cc"
|
||||||
|
integrity sha512-5QREHYvq3BXAO40+gWHnVc8xu6BRfN55DmjCKg9NA/LSH21xLALA6tjh24hoa3Ng5Hv09ARNafVic7EwPr0Iwg==
|
||||||
|
|
||||||
|
node-screenshots-win32-x64-msvc@0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-screenshots-win32-x64-msvc/-/node-screenshots-win32-x64-msvc-0.1.2.tgz#546fce36009c0e05653d2d18d8a5a72046690809"
|
||||||
|
integrity sha512-yoByNKjL0oRTmkkLs22HmcsaijbblfPGyPiRtajkbQWAmambWWbvoKHFkx/ZMFfIbxjTKHdFMmlhuwO+GaiAmw==
|
||||||
|
|
||||||
|
node-screenshots@^0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-screenshots/-/node-screenshots-0.1.2.tgz#3a4997e9f839e977fcd3bf1fde75caecd1ae214a"
|
||||||
|
integrity sha512-+DHuQsiqyNj5TDQZKt2pICfIOYmeeyfhOgvGy0Q7RWXFesiFASOyDz6/G3urMp1gtMn3snrrFHLXvO6aFdcQBw==
|
||||||
|
optionalDependencies:
|
||||||
|
node-screenshots-darwin-arm64 "0.1.2"
|
||||||
|
node-screenshots-darwin-x64 "0.1.2"
|
||||||
|
node-screenshots-linux-x64-gnu "0.1.2"
|
||||||
|
node-screenshots-linux-x64-musl "0.1.2"
|
||||||
|
node-screenshots-win32-arm64-msvc "0.1.2"
|
||||||
|
node-screenshots-win32-ia32-msvc "0.1.2"
|
||||||
|
node-screenshots-win32-x64-msvc "0.1.2"
|
||||||
|
|
||||||
normalize-package-data@^2.5.0:
|
normalize-package-data@^2.5.0:
|
||||||
version "2.5.0"
|
version "2.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
|
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
|
||||||
@ -9259,6 +9326,11 @@ rc@1.2.8, rc@^1.2.8:
|
|||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
strip-json-comments "~2.0.1"
|
strip-json-comments "~2.0.1"
|
||||||
|
|
||||||
|
react-screenshots@^0.5.19:
|
||||||
|
version "0.5.19"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-screenshots/-/react-screenshots-0.5.19.tgz#6cda8a9bf29d3a9e0baff2102916371b2be977aa"
|
||||||
|
integrity sha512-n1ovKoiwJJ04DWSWX1ko1hjSf+B9IqnMz+M4tr9VgKb67nQ1IeByqOjs52vwsSDJc5SrlXDtIvRjBcq7bO/raA==
|
||||||
|
|
||||||
read-config-file@6.2.0:
|
read-config-file@6.2.0:
|
||||||
version "6.2.0"
|
version "6.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade"
|
resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user