feat: upgrade to Vite v5

This commit is contained in:
JellyBrick
2023-12-18 21:10:47 +09:00
parent 53ac7ff257
commit e0eeb720cd
7 changed files with 49 additions and 30 deletions

View File

@ -1,15 +1,18 @@
import { resolve } from 'node:path';
import { resolve, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import { defineConfig, defineViteConfig } from 'electron-vite';
import builtinModules from 'builtin-modules';
import viteResolve from 'vite-plugin-resolve';
import Inspect from 'vite-plugin-inspect';
import { pluginVirtualModuleGenerator } from './vite-plugins/plugin-importer';
import pluginLoader from './vite-plugins/plugin-loader';
import { pluginVirtualModuleGenerator } from './vite-plugins/plugin-importer.mjs';
import pluginLoader from './vite-plugins/plugin-loader.mjs';
import type { UserConfig } from 'vite';
import { i18nImporter } from './vite-plugins/i18n-importer';
import { i18nImporter } from './vite-plugins/i18n-importer.mjs';
const __dirname = dirname(fileURLToPath(import.meta.url));
const resolveAlias = {
'@': resolve(__dirname, './src'),

View File

@ -123,6 +123,7 @@
},
"pnpm": {
"overrides": {
"esbuild": "0.18.20",
"usocket": "1.0.1",
"rollup": "4.9.1",
"node-gyp": "10.0.1",
@ -187,7 +188,8 @@
"electron": "28.0.0",
"electron-builder": "24.9.1",
"electron-devtools-installer": "3.2.0",
"electron-vite": "1.0.29",
"electron-vite": "2.0.0-beta.1",
"esbuild": "0.18.20",
"eslint": "8.56.0",
"eslint-import-resolver-exports": "1.0.0-beta.5",
"eslint-import-resolver-typescript": "3.6.1",
@ -199,7 +201,7 @@
"rollup": "4.9.1",
"typescript": "5.3.3",
"utf-8-validate": "6.0.3",
"vite": "4.5.1",
"vite": "5.0.10",
"vite-plugin-inspect": "0.8.1",
"vite-plugin-resolve": "2.5.1",
"ws": "8.15.1"

36
pnpm-lock.yaml generated
View File

@ -5,6 +5,7 @@ settings:
excludeLinksFromLockfile: false
overrides:
esbuild: 0.18.20
usocket: 1.0.1
rollup: 4.9.1
node-gyp: 10.0.1
@ -173,8 +174,11 @@ devDependencies:
specifier: 3.2.0
version: 3.2.0
electron-vite:
specifier: 1.0.29
version: 1.0.29(vite@4.5.1)
specifier: 2.0.0-beta.1
version: 2.0.0-beta.1(vite@5.0.10)
esbuild:
specifier: 0.18.20
version: 0.18.20
eslint:
specifier: 8.56.0
version: 8.56.0
@ -209,11 +213,11 @@ devDependencies:
specifier: 6.0.3
version: 6.0.3
vite:
specifier: 4.5.1
version: 4.5.1(@types/node@20.10.5)
specifier: 5.0.10
version: 5.0.10(@types/node@20.10.5)
vite-plugin-inspect:
specifier: 0.8.1
version: 0.8.1(rollup@4.9.1)(vite@4.5.1)
version: 0.8.1(rollup@4.9.1)(vite@5.0.10)
vite-plugin-resolve:
specifier: 2.5.1
version: 2.5.1
@ -2758,13 +2762,13 @@ packages:
- supports-color
dev: false
/electron-vite@1.0.29(vite@4.5.1):
resolution: {integrity: sha512-BDTmVTLIri8W4Lz1tn5RAV1slSTinBBb6G77+qKcjkF0vEwdiUp2ntSU6FDqwP9pmy1t96U1CZqIYIStF8H6Jw==}
engines: {node: ^14.18.0 || >=16.0.0}
/electron-vite@2.0.0-beta.1(vite@5.0.10):
resolution: {integrity: sha512-4KNb6+yWYEnmHG2exTUiS470Z38dllgkYy7rIV9kkIT4dVLVXu0ShBGct/94tDW004o++vCtd/Blqogv9nUI6Q==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@swc/core': ^1.0.0
vite: ^3.0.0 || ^4.0.0
vite: ^4.0.0 || ^5.0.0
peerDependenciesMeta:
'@swc/core':
optional: true
@ -2775,7 +2779,7 @@ packages:
esbuild: 0.18.20
magic-string: 0.30.5
picocolors: 1.0.0
vite: 4.5.1(@types/node@20.10.5)
vite: 5.0.10(@types/node@20.10.5)
transitivePeerDependencies:
- supports-color
dev: true
@ -6026,7 +6030,7 @@ packages:
dev: true
optional: true
/vite-plugin-inspect@0.8.1(rollup@4.9.1)(vite@4.5.1):
/vite-plugin-inspect@0.8.1(rollup@4.9.1)(vite@5.0.10):
resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==}
engines: {node: '>=14'}
peerDependencies:
@ -6044,7 +6048,7 @@ packages:
open: 9.1.0
picocolors: 1.0.0
sirv: 2.0.3
vite: 4.5.1(@types/node@20.10.5)
vite: 5.0.10(@types/node@20.10.5)
transitivePeerDependencies:
- rollup
- supports-color
@ -6056,12 +6060,12 @@ packages:
lib-esm: 0.4.1
dev: true
/vite@4.5.1(@types/node@20.10.5):
resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==}
engines: {node: ^14.18.0 || >=16.0.0}
/vite@5.0.10(@types/node@20.10.5):
resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@types/node': '>= 14'
'@types/node': ^18.0.0 || >=20.0.0
less: '*'
lightningcss: ^1.21.0
sass: '*'

View File

@ -1,9 +1,9 @@
{
"extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
"compilerOptions": {
"target": "ESNext",
"target": "esnext",
"lib": ["dom", "dom.iterable", "es2022"],
"module": "CommonJS",
"module": "esnext",
"types": ["electron-vite/node"],
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
@ -21,5 +21,8 @@
}
},
"exclude": ["./dist"],
"include": ["electron.vite.config.ts", "./src/**/*"]
"include": [
"electron.vite.config.mts",
"./src/**/*"
]
}

View File

@ -1,4 +1,5 @@
import { basename, relative, resolve, extname } from 'node:path';
import { basename, relative, resolve, extname, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import { globSync } from 'glob';
import { Project } from 'ts-morph';
@ -7,6 +8,7 @@ const snakeToCamel = (text: string) =>
text.replace(/-(\w)/g, (_, letter: string) => letter.toUpperCase());
export const i18nImporter = () => {
const __dirname = dirname(fileURLToPath(import.meta.url));
const project = new Project({
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
skipAddingFilesFromTsConfig: true,

View File

@ -1,4 +1,5 @@
import { basename, relative, resolve, extname } from 'node:path';
import { basename, relative, resolve, extname, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import { globSync } from 'glob';
import { Project } from 'ts-morph';
@ -9,6 +10,7 @@ const snakeToCamel = (text: string) =>
export const pluginVirtualModuleGenerator = (
mode: 'main' | 'preload' | 'renderer',
) => {
const __dirname = dirname(fileURLToPath(import.meta.url));
const project = new Project({
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
skipAddingFilesFromTsConfig: true,

View File

@ -1,5 +1,6 @@
import { readFile } from 'node:fs/promises';
import { resolve, basename } from 'node:path';
import { resolve, basename, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import { createFilter } from 'vite';
import { Project, ts, ObjectLiteralExpression, VariableDeclarationKind } from 'ts-morph';
@ -17,6 +18,8 @@ export default function (mode: 'backend' | 'preload' | 'renderer' | 'none'): Plu
async load(id) {
if (!pluginFilter(id)) return null;
const __dirname = dirname(fileURLToPath(import.meta.url));
const project = new Project({
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
skipAddingFilesFromTsConfig: true,