diff --git a/electron.vite.config.ts b/electron.vite.config.ts new file mode 100644 index 0000000..e68c3f2 --- /dev/null +++ b/electron.vite.config.ts @@ -0,0 +1,10 @@ +import { defineConfig, externalizeDepsPlugin } from 'electron-vite' + +export default defineConfig({ + main: { + plugins: [externalizeDepsPlugin()] + }, + // preload: { + // plugins: [externalizeDepsPlugin()] + // }, +}) diff --git a/package.json b/package.json index 16865d0..b8835da 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,11 @@ "description": "A fast, desktop software development framework", "main": "./electron/main.js", "scripts": { - "vite-test": "tsc && vite build", + "typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false", + "typecheck:web": "vue-tsc --noEmit -p tsconfig.web.json --composite false", + "typecheck": "npm run typecheck:node && npm run typecheck:web", + "vite-dev": "electron-vite dev", + "vite-build": "npm run typecheck && electron-vite build", "dev": "ee-bin dev", "dev-frontend": "ee-bin dev --serve=frontend", "dev-electron": "ee-bin dev --serve=electron", @@ -53,6 +57,7 @@ "author": "哆啦好梦, Inc <530353222@qq.com>", "license": "Apache", "devDependencies": { + "@electron-toolkit/tsconfig": "^1.0.1", "@electron/rebuild": "^3.7.1", "@types/node": "^22.10.2", "cross-env": "^7.0.3", @@ -60,6 +65,7 @@ "ee-bin": "file:.yalc/ee-bin", "electron": "^31.7.6", "electron-builder": "^25.1.8", + "electron-vite": "file:.yalc/electron-vite", "typescript": "^5.4.2", "vite": "^6.0.6", "vite-plugin-dts": "^4.4.0" diff --git a/tsconfig.json b/tsconfig.json index b46657e..3d39518 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,32 +1,5 @@ { - "compilerOptions": { - "target": "esnext", - "module": "esnext", - "useDefineForClassFields": true, - // "sourceMap": true, - "skipLibCheck": true, - "types": ["node"], - "esModuleInterop": true, - - // "allowJs": true, - // "checkJs": true, - - /* Bundler mode */ - "moduleResolution": "node", // node - "resolveJsonModule": true, - "isolatedModules": true, - //"noEmit": true, - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitAny": false, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true - }, - "include": [ - "src/**/*" - ] + "files": [], + "references": [{ "path": "./tsconfig.node.json" }] } \ No newline at end of file diff --git a/tsconfig.json.bak b/tsconfig.json.bak new file mode 100644 index 0000000..b46657e --- /dev/null +++ b/tsconfig.json.bak @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "useDefineForClassFields": true, + // "sourceMap": true, + "skipLibCheck": true, + "types": ["node"], + "esModuleInterop": true, + + // "allowJs": true, + // "checkJs": true, + + /* Bundler mode */ + "moduleResolution": "node", // node + "resolveJsonModule": true, + "isolatedModules": true, + //"noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitAny": false, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "include": [ + "src/**/*" + ] +} + \ No newline at end of file diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..feeb678 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "extends": "@electron-toolkit/tsconfig/tsconfig.node.json", + "include": ["electron.vite.config.*", "src/electron/**/*"], + "compilerOptions": { + "composite": true, + "types": ["electron-vite/node"] + } +} + \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts.bak similarity index 100% rename from vite.config.ts rename to vite.config.ts.bak