From e4a112c32962e26ce638fa661e692a2e83dff996 Mon Sep 17 00:00:00 2001 From: "Wesley F. Young" Date: Mon, 12 Aug 2024 00:27:14 +0800 Subject: [PATCH] refactor: move default config json files to inner folders --- src/{ => core}/external/napcat.json | 0 src/{ => onebot}/external/onebot11.json | 0 vite.config.ts | 241 ++++++++++++------------ 3 files changed, 119 insertions(+), 122 deletions(-) rename src/{ => core}/external/napcat.json (100%) rename src/{ => onebot}/external/onebot11.json (100%) diff --git a/src/external/napcat.json b/src/core/external/napcat.json similarity index 100% rename from src/external/napcat.json rename to src/core/external/napcat.json diff --git a/src/external/onebot11.json b/src/onebot/external/onebot11.json similarity index 100% rename from src/external/onebot11.json rename to src/onebot/external/onebot11.json diff --git a/vite.config.ts b/vite.config.ts index 1a4ab4f4..a9ab5dc8 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,157 +1,154 @@ // import PreprocessorDirectives from 'unplugin-preprocessor-directives/vite'; -import obfuscator from 'rollup-plugin-obfuscator'; import cp from 'vite-plugin-cp'; -import { UserConfig, defineConfig } from 'vite'; +import { defineConfig, PluginOption, UserConfig } from 'vite'; import { resolve } from 'path'; -import { PluginOption, Plugin } from 'vite'; import nodeResolve from '@rollup/plugin-node-resolve'; import { builtinModules } from 'module'; -import fs from 'node:fs'; import babel from 'vite-plugin-babel'; //依赖排除 const external = ['silk-wasm', 'ws', 'express', 'fluent-ffmpeg', 'log4js', 'qrcode-terminal']; const nodeModules = [...builtinModules, builtinModules.map(m => `node:${m}`)].flat(); function genCpModule(module: string) { - return { src: `./node_modules/${module}`, dest: `dist/node_modules/${module}`, flatten: false }; + return { src: `./node_modules/${module}`, dest: `dist/node_modules/${module}`, flatten: false }; } let startScripts: string[] | undefined = undefined; if (process.env.NAPCAT_BUILDSYS == 'linux') { - if (process.env.NAPCAT_BUILDARCH == 'x64') { - } - startScripts = ['./script/napcat.sh']; + if (process.env.NAPCAT_BUILDARCH == 'x64') { + } + startScripts = ['./script/napcat.sh']; } else if (process.env.NAPCAT_BUILDSYS == 'win32') { - if (process.env.NAPCAT_BUILDARCH == 'x64') { - } - startScripts = ['./script/BootWay05.ps1', './script/dbghelp.dll']; + if (process.env.NAPCAT_BUILDARCH == 'x64') { + } + startScripts = ['./script/BootWay05.ps1', './script/dbghelp.dll']; } else { - startScripts = ['./script/BootWay05.ps1', './script/dbghelp.dll']; + startScripts = ['./script/BootWay05.ps1', './script/dbghelp.dll']; } const FrameworkBaseConfigPlugin: PluginOption[] = [ - // PreprocessorDirectives(), - babel({ - filter: /.*\.(ts|js)$/, - babelConfig: { - babelrc: false, - configFile: false, - presets: ["@babel/preset-typescript"], - plugins: [ - //'2018-09', decoratorsBeforeExport: true - ['@babel/plugin-proposal-decorators', { legacy: true }], - '@babel/plugin-proposal-class-properties', - ], - }, - }), - cp({ - targets: [ - { src: './manifest.json', dest: 'dist' }, - { src: './src/external/napcat.json', dest: 'dist/config/' }, - { src: './static/', dest: 'dist/static/', flatten: false }, - { src: './src/external/onebot11.json', dest: 'dist/config/' }, - { src: './src/framework/liteloader.cjs', dest: 'dist' }, - { src: './src/framework/napcat.cjs', dest: 'dist' }, - { src: './src/framework/preload.cjs', dest: 'dist' }, - { src: './src/framework/renderer.js', dest: 'dist' }, - { src: './package.json', dest: 'dist' }, - { src: './logo.png', dest: 'dist' }, - //...external.map(genCpModule) - ] - }), - nodeResolve(), + // PreprocessorDirectives(), + babel({ + filter: /.*\.(ts|js)$/, + babelConfig: { + babelrc: false, + configFile: false, + presets: ['@babel/preset-typescript'], + plugins: [ + //'2018-09', decoratorsBeforeExport: true + ['@babel/plugin-proposal-decorators', { legacy: true }], + '@babel/plugin-proposal-class-properties', + ], + }, + }), + cp({ + targets: [ + { src: './manifest.json', dest: 'dist' }, + { src: './src/external/napcat.json', dest: 'dist/config/' }, + { src: './static/', dest: 'dist/static/', flatten: false }, + { src: './src/external/onebot11.json', dest: 'dist/config/' }, + { src: './src/framework/liteloader.cjs', dest: 'dist' }, + { src: './src/framework/napcat.cjs', dest: 'dist' }, + { src: './src/framework/preload.cjs', dest: 'dist' }, + { src: './src/framework/renderer.js', dest: 'dist' }, + { src: './package.json', dest: 'dist' }, + { src: './logo.png', dest: 'dist' }, + //...external.map(genCpModule) + ], + }), + nodeResolve(), ]; const ShellBaseConfigPlugin: PluginOption[] = [ - // PreprocessorDirectives(), - babel({ - filter: /.*\.(ts|js)$/, - babelConfig: { - babelrc: false, - configFile: false, - presets: ["@babel/preset-typescript"], - plugins: [ - //'2018-09', decoratorsBeforeExport: true - ['@babel/plugin-proposal-decorators', { legacy: true }], - '@babel/plugin-proposal-class-properties', - ], - }, - }), - cp({ - targets: [ - // ...external.map(genCpModule), - // { src: './src/napcat.json', dest: 'dist/config/' }, - { src: './static/', dest: 'dist/static/', flatten: false }, - // { src: './src/onebot11/onebot11.json', dest: 'dist/config/' }, - { src: './src/external/napcat.json', dest: 'dist/config/' }, - { src: './src/external/onebot11.json', dest: 'dist/config/' }, - { src: './package.json', dest: 'dist' }, - // { src: './README.md', dest: 'dist' }, - // { src: './logo.png', dest: 'dist/logs' }, - ...(startScripts.map((startScript) => { - return { src: startScript, dest: 'dist' }; - })), - ] - }), - nodeResolve(), + // PreprocessorDirectives(), + babel({ + filter: /.*\.(ts|js)$/, + babelConfig: { + babelrc: false, + configFile: false, + presets: ['@babel/preset-typescript'], + plugins: [ + //'2018-09', decoratorsBeforeExport: true + ['@babel/plugin-proposal-decorators', { legacy: true }], + '@babel/plugin-proposal-class-properties', + ], + }, + }), + cp({ + targets: [ + // ...external.map(genCpModule), + // { src: './src/napcat.json', dest: 'dist/config/' }, + { src: './static/', dest: 'dist/static/', flatten: false }, + // { src: './src/onebot11/onebot11.json', dest: 'dist/config/' }, + { src: './src/core/external/napcat.json', dest: 'dist/config/' }, + { src: './src/onebot/external/onebot11.json', dest: 'dist/config/' }, + { src: './package.json', dest: 'dist' }, + // { src: './README.md', dest: 'dist' }, + // { src: './logo.png', dest: 'dist/logs' }, + ...(startScripts.map((startScript) => { + return { src: startScript, dest: 'dist' }; + })), + ], + }), + nodeResolve(), ]; const ShellBaseConfig = () => defineConfig({ - resolve: { - conditions: ['node', 'default'], - alias: { - '@/core': resolve(__dirname, './src/core'), - '@': resolve(__dirname, './src'), - './lib-cov/fluent-ffmpeg': './lib/fluent-ffmpeg', + resolve: { + conditions: ['node', 'default'], + alias: { + '@/core': resolve(__dirname, './src/core'), + '@': resolve(__dirname, './src'), + './lib-cov/fluent-ffmpeg': './lib/fluent-ffmpeg', + }, }, - }, - build: { - sourcemap: false, - target: 'esnext', - minify: false, - lib: { - entry: 'src/shell/napcat.ts', - formats: ['es'], - fileName: () => 'napcat.mjs', + build: { + sourcemap: false, + target: 'esnext', + minify: false, + lib: { + entry: 'src/shell/napcat.ts', + formats: ['es'], + fileName: () => 'napcat.mjs', + }, + rollupOptions: { + external: [...nodeModules, ...external], + }, }, - rollupOptions: { - external: [...nodeModules, ...external] - }, - }, }); const FrameworkBaseConfig = () => defineConfig({ - resolve: { - conditions: ['node', 'default'], - alias: { - '@/core': resolve(__dirname, './src/core'), - '@': resolve(__dirname, './src'), - './lib-cov/fluent-ffmpeg': './lib/fluent-ffmpeg', + resolve: { + conditions: ['node', 'default'], + alias: { + '@/core': resolve(__dirname, './src/core'), + '@': resolve(__dirname, './src'), + './lib-cov/fluent-ffmpeg': './lib/fluent-ffmpeg', + }, }, - }, - build: { - sourcemap: false, - target: 'esnext', - minify: false, - lib: { - entry: "src/framework/napcat.ts", - formats: ['es'], - fileName: () => 'napcat.mjs', + build: { + sourcemap: false, + target: 'esnext', + minify: false, + lib: { + entry: 'src/framework/napcat.ts', + formats: ['es'], + fileName: () => 'napcat.mjs', + }, + rollupOptions: { + external: [...nodeModules, ...external], + }, }, - rollupOptions: { - external: [...nodeModules, ...external] - }, - }, }); export default defineConfig(({ mode }): UserConfig => { - if (mode === 'shell') { - return { - ...ShellBaseConfig(), - plugins: [...ShellBaseConfigPlugin] - }; - } else { - return { - ...FrameworkBaseConfig(), - plugins: [...FrameworkBaseConfigPlugin], - }; - } + if (mode === 'shell') { + return { + ...ShellBaseConfig(), + plugins: [...ShellBaseConfigPlugin], + }; + } else { + return { + ...FrameworkBaseConfig(), + plugins: [...FrameworkBaseConfigPlugin], + }; + } });