mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
chore:vite
This commit is contained in:
parent
906fa4c382
commit
71ab1e6ff0
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,6 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
|
package-lock.json
|
||||||
dist/
|
dist/
|
||||||
|
out/
|
||||||
.idea/
|
.idea/
|
||||||
.DS_Store
|
.DS_Store
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 4,
|
"manifest_version": 4,
|
||||||
"type": "extension",
|
"type": "extension",
|
||||||
"name": "LLOneBot v3.11.0",
|
"name": "LLOneBot",
|
||||||
"slug": "LLOneBot",
|
"slug": "LLOneBot",
|
||||||
"description": "LiteLoaderQQNT的OneBotApi",
|
"description": "LiteLoaderQQNT的OneBotApi",
|
||||||
"version": "3.11.0",
|
"version": "3.7.0",
|
||||||
"thumbnail": "./icon.png",
|
"thumbnail": "./icon.png",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
@ -27,7 +27,7 @@
|
|||||||
],
|
],
|
||||||
"injects": {
|
"injects": {
|
||||||
"renderer": "./renderer.js",
|
"renderer": "./renderer.js",
|
||||||
"main": "./main.js",
|
"main": "./main.cjs",
|
||||||
"preload": "./preload.js"
|
"preload": "./preload.cjs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
5300
package-lock.json
generated
5300
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
23
package.json
23
package.json
@ -1,19 +1,13 @@
|
|||||||
{
|
{
|
||||||
"name": "llonebot",
|
"name": "llonebot",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
|
"type": "module",
|
||||||
"description": "NTQQLiteLoaderOneBotApi",
|
"description": "NTQQLiteLoaderOneBotApi",
|
||||||
"main": "dist/main.js",
|
"main": "dist/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"build": "npm run build-main && npm run build-preload && npm run build-renderer && npm run build-version",
|
"build": "vite build",
|
||||||
"build-main": "webpack --config webpack.main.config.js",
|
"depend": "cd ./dist & npm install --omit=dev"
|
||||||
"build-preload": "webpack --config webpack.preload.config.js",
|
|
||||||
"build-renderer": "webpack --config webpack.renderer.config.js",
|
|
||||||
"build-version": "ts-node ./scripts/gen-version.ts",
|
|
||||||
"build-mac": "npm run build && cp manifest.json dist/ && npm run deploy-mac",
|
|
||||||
"deploy-mac": "cp -r dist/* ~/Library/Containers/com.tencent.qq/Data/LiteLoaderQQNT/plugins/LLOnebot/",
|
|
||||||
"build-win": "npm run build && cp manifest.json dist/ && npm run deploy-win",
|
|
||||||
"deploy-win": "cmd /c \"copy dist\\* %USERPROFILE%\\documents\\LiteLoaderQQNT\\plugins\\LLOnebot\\\""
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
@ -28,19 +22,14 @@
|
|||||||
"ws": "^8.16.0"
|
"ws": "^8.16.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/preset-env": "^7.23.2",
|
"vite": "^4.4.9",
|
||||||
|
"vite-plugin-cp": "^4.0.8",
|
||||||
"@types/express": "^4.17.20",
|
"@types/express": "^4.17.20",
|
||||||
"@types/fluent-ffmpeg": "^2.1.24",
|
"@types/fluent-ffmpeg": "^2.1.24",
|
||||||
"@types/node": "^20.11.24",
|
"@types/node": "^20.11.24",
|
||||||
"@types/uuid": "^9.0.8",
|
"@types/uuid": "^9.0.8",
|
||||||
"@types/ws": "^8.5.10",
|
"@types/ws": "^8.5.10",
|
||||||
"babel-loader": "^9.1.3",
|
|
||||||
"copy-webpack-plugin": "^12.0.2",
|
|
||||||
"electron": "^29.0.1",
|
"electron": "^29.0.1",
|
||||||
"ts-loader": "^9.5.0",
|
"typescript": "^5.2.2"
|
||||||
"ts-node": "^10.9.2",
|
|
||||||
"typescript": "^5.2.2",
|
|
||||||
"webpack": "^5.89.0",
|
|
||||||
"webpack-cli": "^5.1.4"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import * as path from "path";
|
import * as path from "node:path";
|
||||||
import {selfInfo} from "./data";
|
import {selfInfo} from "./data";
|
||||||
import {ConfigUtil} from "./config";
|
import {ConfigUtil} from "./config";
|
||||||
import util from "util";
|
import util from "util";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// 运行在 Electron 主进程 下的插件入口
|
// 运行在 Electron 主进程 下的插件入口
|
||||||
|
|
||||||
import {BrowserWindow, dialog, ipcMain} from 'electron';
|
import {BrowserWindow, dialog, ipcMain} from 'electron';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'node:fs';
|
||||||
import {Config} from "../common/types";
|
import {Config} from "../common/types";
|
||||||
import {
|
import {
|
||||||
CHANNEL_ERROR,
|
CHANNEL_ERROR,
|
||||||
|
@ -10,7 +10,7 @@ import {
|
|||||||
} from "./types";
|
} from "./types";
|
||||||
import {NTQQApi} from "./ntcall";
|
import {NTQQApi} from "./ntcall";
|
||||||
import {encodeSilk} from "../common/utils";
|
import {encodeSilk} from "../common/utils";
|
||||||
import * as fs from "fs";
|
import * as fs from "node:fs";
|
||||||
|
|
||||||
|
|
||||||
export class SendMsgElementConstructor {
|
export class SendMsgElementConstructor {
|
||||||
|
@ -17,7 +17,7 @@ import {
|
|||||||
SendMessageElement,
|
SendMessageElement,
|
||||||
User
|
User
|
||||||
} from "./types";
|
} from "./types";
|
||||||
import * as fs from "fs";
|
import * as fs from "node:fs";
|
||||||
import {addHistoryMsg, friendRequests, groupNotifies, msgHistory, selfInfo} from "../common/data";
|
import {addHistoryMsg, friendRequests, groupNotifies, msgHistory, selfInfo} from "../common/data";
|
||||||
import {v4 as uuidv4} from "uuid"
|
import {v4 as uuidv4} from "uuid"
|
||||||
import path from "path";
|
import path from "path";
|
||||||
|
@ -14,7 +14,7 @@ import {SendMsgElementConstructor} from "../../ntqqapi/constructor";
|
|||||||
import {uri2local} from "../utils";
|
import {uri2local} from "../utils";
|
||||||
import BaseAction from "./BaseAction";
|
import BaseAction from "./BaseAction";
|
||||||
import {ActionName, BaseCheckResult} from "./types";
|
import {ActionName, BaseCheckResult} from "./types";
|
||||||
import * as fs from "fs";
|
import * as fs from "node:fs";
|
||||||
import {log} from "../../common/utils";
|
import {log} from "../../common/utils";
|
||||||
import {decodeCQCode} from "../cqcode";
|
import {decodeCQCode} from "../cqcode";
|
||||||
|
|
||||||
|
@ -3,18 +3,18 @@ import {OB11Message} from "../types";
|
|||||||
import {selfInfo} from "../../common/data";
|
import {selfInfo} from "../../common/data";
|
||||||
import {OB11BaseMetaEvent} from "../event/meta/OB11BaseMetaEvent";
|
import {OB11BaseMetaEvent} from "../event/meta/OB11BaseMetaEvent";
|
||||||
import {OB11BaseNoticeEvent} from "../event/notice/OB11BaseNoticeEvent";
|
import {OB11BaseNoticeEvent} from "../event/notice/OB11BaseNoticeEvent";
|
||||||
import * as websocket from "ws";
|
import { WebSocket as WebSocketClass } from "ws";
|
||||||
import {wsReply} from "./ws/reply";
|
import {wsReply} from "./ws/reply";
|
||||||
|
|
||||||
export type PostEventType = OB11Message | OB11BaseMetaEvent | OB11BaseNoticeEvent
|
export type PostEventType = OB11Message | OB11BaseMetaEvent | OB11BaseNoticeEvent
|
||||||
|
|
||||||
const eventWSList: websocket.WebSocket[] = [];
|
const eventWSList: WebSocketClass[] = [];
|
||||||
|
|
||||||
export function registerWsEventSender(ws: websocket.WebSocket) {
|
export function registerWsEventSender(ws: WebSocketClass) {
|
||||||
eventWSList.push(ws);
|
eventWSList.push(ws);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function unregisterWsEventSender(ws: websocket.WebSocket) {
|
export function unregisterWsEventSender(ws: WebSocketClass) {
|
||||||
let index = eventWSList.indexOf(ws);
|
let index = eventWSList.indexOf(ws);
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
eventWSList.splice(index, 1);
|
eventWSList.splice(index, 1);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import {getConfigUtil, log} from "../../../common/utils";
|
import {getConfigUtil, log} from "../../../common/utils";
|
||||||
|
|
||||||
import * as WebSocket from "ws";
|
|
||||||
import {selfInfo} from "../../../common/data";
|
import {selfInfo} from "../../../common/data";
|
||||||
import {LifeCycleSubType, OB11LifeCycleEvent} from "../../event/meta/OB11LifeCycleEvent";
|
import {LifeCycleSubType, OB11LifeCycleEvent} from "../../event/meta/OB11LifeCycleEvent";
|
||||||
import {ActionName} from "../../action/types";
|
import {ActionName} from "../../action/types";
|
||||||
@ -9,11 +9,12 @@ import BaseAction from "../../action/BaseAction";
|
|||||||
import {actionMap} from "../../action";
|
import {actionMap} from "../../action";
|
||||||
import {registerWsEventSender, unregisterWsEventSender} from "../postOB11Event";
|
import {registerWsEventSender, unregisterWsEventSender} from "../postOB11Event";
|
||||||
import {wsReply} from "./reply";
|
import {wsReply} from "./reply";
|
||||||
|
import { WebSocket as WebSocketClass } from "ws";
|
||||||
|
|
||||||
export let rwsList: ReverseWebsocket[] = [];
|
export let rwsList: ReverseWebsocket[] = [];
|
||||||
|
|
||||||
export class ReverseWebsocket {
|
export class ReverseWebsocket {
|
||||||
public websocket: WebSocket.WebSocket;
|
public websocket: WebSocketClass;
|
||||||
public url: string;
|
public url: string;
|
||||||
private running: boolean = false;
|
private running: boolean = false;
|
||||||
|
|
||||||
@ -76,7 +77,7 @@ export class ReverseWebsocket {
|
|||||||
|
|
||||||
private connect() {
|
private connect() {
|
||||||
const {token} = getConfigUtil().getConfig()
|
const {token} = getConfigUtil().getConfig()
|
||||||
this.websocket = new WebSocket.WebSocket(this.url, {
|
this.websocket = new WebSocketClass(this.url, {
|
||||||
handshakeTimeout: 2000,
|
handshakeTimeout: 2000,
|
||||||
perMessageDeflate: false,
|
perMessageDeflate: false,
|
||||||
headers: {
|
headers: {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import * as websocket from "ws";
|
import { WebSocket as WebSocketClass } from "ws";
|
||||||
import {OB11Response} from "../../action/utils";
|
import {OB11Response} from "../../action/utils";
|
||||||
import {PostEventType} from "../postOB11Event";
|
import {PostEventType} from "../postOB11Event";
|
||||||
import {isNull, log} from "../../../common/utils";
|
import {isNull, log} from "../../../common/utils";
|
||||||
|
|
||||||
export function wsReply(wsClient: websocket.WebSocket, data: OB11Response | PostEventType) {
|
export function wsReply(wsClient: WebSocketClass, data: OB11Response | PostEventType) {
|
||||||
try {
|
try {
|
||||||
let packet = Object.assign({
|
let packet = Object.assign({
|
||||||
}, data);
|
}, data);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import {CONFIG_DIR, isGIF} from "../common/utils";
|
import {CONFIG_DIR, isGIF} from "../common/utils";
|
||||||
import {v4 as uuidv4} from "uuid";
|
import {v4 as uuidv4} from "uuid";
|
||||||
import * as path from 'path';
|
import * as path from 'node:path';
|
||||||
import {fileCache} from "../common/data";
|
import {fileCache} from "../common/data";
|
||||||
|
|
||||||
const fs = require("fs").promises;
|
const fs = require("fs").promises;
|
||||||
|
@ -8,9 +8,11 @@
|
|||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
// "sourceMap": true
|
// "sourceMap": true
|
||||||
},
|
},
|
||||||
"include": ["src/*"],
|
"include": [
|
||||||
|
"src/*"
|
||||||
|
],
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"node_modules",
|
"node_modules",
|
||||||
"src/common/types.ts"
|
"src/common/types.ts"
|
||||||
|
41
vite.config.ts
Normal file
41
vite.config.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import { InlineConfig, defineConfig } from 'vite'
|
||||||
|
import { build } from "vite";
|
||||||
|
import cp from 'vite-plugin-cp';
|
||||||
|
import pkg from './package.json' assert { type: 'json' };
|
||||||
|
const externalAll = ["electron", "fs/promises", "fs", "url", "util", "path", /node:/, ...Object.keys(pkg.dependencies)];
|
||||||
|
console.log(externalAll);
|
||||||
|
function createConfig(library: string, path: string, emptyOutDir: boolean): InlineConfig {
|
||||||
|
return {
|
||||||
|
configFile: false,
|
||||||
|
build: {
|
||||||
|
emptyOutDir: emptyOutDir,
|
||||||
|
lib: {
|
||||||
|
formats: ["cjs"],
|
||||||
|
entry: { [library]: path }
|
||||||
|
},
|
||||||
|
rollupOptions: {
|
||||||
|
external: externalAll,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
export function BuildPlugin() {
|
||||||
|
build(createConfig("main", "src/main/main.ts", false));
|
||||||
|
build(createConfig("preload", "src/preload.ts", false));
|
||||||
|
}
|
||||||
|
|
||||||
|
BuildPlugin();
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
build: {
|
||||||
|
emptyOutDir: false,
|
||||||
|
lib: {
|
||||||
|
formats: ['es'],
|
||||||
|
entry: { ["renderer"]: `src/renderer.ts` },
|
||||||
|
},
|
||||||
|
rollupOptions: {
|
||||||
|
external: externalAll
|
||||||
|
}
|
||||||
|
},
|
||||||
|
plugins: [cp({ targets: [{ src: './package.json', dest: 'dist' }, { src: './manifest.json', dest: 'dist' }] })]
|
||||||
|
})
|
@ -1,80 +0,0 @@
|
|||||||
// import path from "path";
|
|
||||||
const webpack = require('webpack');
|
|
||||||
const path = require('path');
|
|
||||||
const TerserPlugin = require('terser-webpack-plugin');
|
|
||||||
const CopyPlugin = require('copy-webpack-plugin');
|
|
||||||
|
|
||||||
const ignoreModules = [
|
|
||||||
"silk-wasm", "electron"
|
|
||||||
];
|
|
||||||
const copyModules = ["silk-wasm"]
|
|
||||||
|
|
||||||
let config = {
|
|
||||||
// target: 'node',
|
|
||||||
entry: {
|
|
||||||
// main: './src/main.ts',
|
|
||||||
// preload: './src/preload.ts'
|
|
||||||
}, // 入口文件路径
|
|
||||||
target: "node",
|
|
||||||
output: { // 输出文件配置
|
|
||||||
path: path.resolve(__dirname, 'dist'), // 输出目录路径
|
|
||||||
filename: '[name].js', // 输出文件名
|
|
||||||
// libraryTarget: "commonjs2",
|
|
||||||
// chunkFormat: "commonjs",
|
|
||||||
},
|
|
||||||
externals: ignoreModules,
|
|
||||||
experiments: {
|
|
||||||
// outputModule: true
|
|
||||||
// asyncWebAssembly: true
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
extensions: ['.js', '.ts']
|
|
||||||
},
|
|
||||||
module: { // 模块配置
|
|
||||||
rules: [ // 模块规则
|
|
||||||
{
|
|
||||||
test: /\.js$/, // 匹配.js文件
|
|
||||||
exclude: /node_modules/, // 排除node_modules目录
|
|
||||||
use: { // 使用的loader
|
|
||||||
loader: 'babel-loader',
|
|
||||||
options: {
|
|
||||||
presets: ['@babel/preset-env'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
test: /\.ts$/, // 匹配.ts文件
|
|
||||||
// exclude: /node_modules/, // 排除node_modules目录
|
|
||||||
use: { // 使用的loader
|
|
||||||
loader: 'ts-loader',
|
|
||||||
options: {
|
|
||||||
// configFile: 'src/tsconfig.json'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
optimization: {
|
|
||||||
minimize: false,
|
|
||||||
minimizer: [
|
|
||||||
new TerserPlugin({
|
|
||||||
extractComments: false,
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
new CopyPlugin({
|
|
||||||
patterns: copyModules.map(m => {
|
|
||||||
m = `node_modules/${m}`
|
|
||||||
return {
|
|
||||||
from: m,
|
|
||||||
to: m
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}),
|
|
||||||
new webpack.DefinePlugin({
|
|
||||||
'process.env.FLUENTFFMPEG_COV': false,
|
|
||||||
}),
|
|
||||||
], // devtool: 'source-map',
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = config
|
|
@ -1,11 +0,0 @@
|
|||||||
const baseConfig = require('./webpack.base.config.js')
|
|
||||||
|
|
||||||
baseConfig.target = 'electron-main'
|
|
||||||
baseConfig.entry = {
|
|
||||||
main: './src/main/main.ts',
|
|
||||||
// preload: './src/preload.ts',
|
|
||||||
}
|
|
||||||
baseConfig.output.libraryTarget = 'commonjs2'
|
|
||||||
baseConfig.output.chunkFormat = 'commonjs'
|
|
||||||
|
|
||||||
module.exports = baseConfig
|
|
@ -1,9 +0,0 @@
|
|||||||
const baseConfig = require('./webpack.base.config.js')
|
|
||||||
|
|
||||||
baseConfig.target = 'electron-preload'
|
|
||||||
baseConfig.entry = {
|
|
||||||
preload: './src/preload.ts',
|
|
||||||
}
|
|
||||||
baseConfig.output.chunkFormat = 'commonjs'
|
|
||||||
baseConfig.output.libraryTarget = 'commonjs2'
|
|
||||||
module.exports = baseConfig
|
|
@ -1,11 +0,0 @@
|
|||||||
const baseConfig = require('./webpack.base.config.js')
|
|
||||||
|
|
||||||
baseConfig.target = 'electron-renderer'
|
|
||||||
baseConfig.entry = {
|
|
||||||
renderer: './src/renderer.ts',
|
|
||||||
}
|
|
||||||
baseConfig.output.libraryTarget = 'module'
|
|
||||||
baseConfig.output.chunkFormat = 'module'
|
|
||||||
baseConfig.experiments.outputModule = true
|
|
||||||
|
|
||||||
module.exports = baseConfig
|
|
Loading…
x
Reference in New Issue
Block a user