mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-11 10:31:47 +00:00
feat: upgrade to Vite v5
This commit is contained in:
@ -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 { defineConfig, defineViteConfig } from 'electron-vite';
|
||||||
import builtinModules from 'builtin-modules';
|
import builtinModules from 'builtin-modules';
|
||||||
import viteResolve from 'vite-plugin-resolve';
|
import viteResolve from 'vite-plugin-resolve';
|
||||||
import Inspect from 'vite-plugin-inspect';
|
import Inspect from 'vite-plugin-inspect';
|
||||||
|
|
||||||
import { pluginVirtualModuleGenerator } from './vite-plugins/plugin-importer';
|
import { pluginVirtualModuleGenerator } from './vite-plugins/plugin-importer.mjs';
|
||||||
import pluginLoader from './vite-plugins/plugin-loader';
|
import pluginLoader from './vite-plugins/plugin-loader.mjs';
|
||||||
|
|
||||||
import type { UserConfig } from 'vite';
|
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 = {
|
const resolveAlias = {
|
||||||
'@': resolve(__dirname, './src'),
|
'@': resolve(__dirname, './src'),
|
||||||
@ -123,6 +123,7 @@
|
|||||||
},
|
},
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
"overrides": {
|
"overrides": {
|
||||||
|
"esbuild": "0.18.20",
|
||||||
"usocket": "1.0.1",
|
"usocket": "1.0.1",
|
||||||
"rollup": "4.9.1",
|
"rollup": "4.9.1",
|
||||||
"node-gyp": "10.0.1",
|
"node-gyp": "10.0.1",
|
||||||
@ -187,7 +188,8 @@
|
|||||||
"electron": "28.0.0",
|
"electron": "28.0.0",
|
||||||
"electron-builder": "24.9.1",
|
"electron-builder": "24.9.1",
|
||||||
"electron-devtools-installer": "3.2.0",
|
"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": "8.56.0",
|
||||||
"eslint-import-resolver-exports": "1.0.0-beta.5",
|
"eslint-import-resolver-exports": "1.0.0-beta.5",
|
||||||
"eslint-import-resolver-typescript": "3.6.1",
|
"eslint-import-resolver-typescript": "3.6.1",
|
||||||
@ -199,7 +201,7 @@
|
|||||||
"rollup": "4.9.1",
|
"rollup": "4.9.1",
|
||||||
"typescript": "5.3.3",
|
"typescript": "5.3.3",
|
||||||
"utf-8-validate": "6.0.3",
|
"utf-8-validate": "6.0.3",
|
||||||
"vite": "4.5.1",
|
"vite": "5.0.10",
|
||||||
"vite-plugin-inspect": "0.8.1",
|
"vite-plugin-inspect": "0.8.1",
|
||||||
"vite-plugin-resolve": "2.5.1",
|
"vite-plugin-resolve": "2.5.1",
|
||||||
"ws": "8.15.1"
|
"ws": "8.15.1"
|
||||||
|
|||||||
36
pnpm-lock.yaml
generated
36
pnpm-lock.yaml
generated
@ -5,6 +5,7 @@ settings:
|
|||||||
excludeLinksFromLockfile: false
|
excludeLinksFromLockfile: false
|
||||||
|
|
||||||
overrides:
|
overrides:
|
||||||
|
esbuild: 0.18.20
|
||||||
usocket: 1.0.1
|
usocket: 1.0.1
|
||||||
rollup: 4.9.1
|
rollup: 4.9.1
|
||||||
node-gyp: 10.0.1
|
node-gyp: 10.0.1
|
||||||
@ -173,8 +174,11 @@ devDependencies:
|
|||||||
specifier: 3.2.0
|
specifier: 3.2.0
|
||||||
version: 3.2.0
|
version: 3.2.0
|
||||||
electron-vite:
|
electron-vite:
|
||||||
specifier: 1.0.29
|
specifier: 2.0.0-beta.1
|
||||||
version: 1.0.29(vite@4.5.1)
|
version: 2.0.0-beta.1(vite@5.0.10)
|
||||||
|
esbuild:
|
||||||
|
specifier: 0.18.20
|
||||||
|
version: 0.18.20
|
||||||
eslint:
|
eslint:
|
||||||
specifier: 8.56.0
|
specifier: 8.56.0
|
||||||
version: 8.56.0
|
version: 8.56.0
|
||||||
@ -209,11 +213,11 @@ devDependencies:
|
|||||||
specifier: 6.0.3
|
specifier: 6.0.3
|
||||||
version: 6.0.3
|
version: 6.0.3
|
||||||
vite:
|
vite:
|
||||||
specifier: 4.5.1
|
specifier: 5.0.10
|
||||||
version: 4.5.1(@types/node@20.10.5)
|
version: 5.0.10(@types/node@20.10.5)
|
||||||
vite-plugin-inspect:
|
vite-plugin-inspect:
|
||||||
specifier: 0.8.1
|
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:
|
vite-plugin-resolve:
|
||||||
specifier: 2.5.1
|
specifier: 2.5.1
|
||||||
version: 2.5.1
|
version: 2.5.1
|
||||||
@ -2758,13 +2762,13 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/electron-vite@1.0.29(vite@4.5.1):
|
/electron-vite@2.0.0-beta.1(vite@5.0.10):
|
||||||
resolution: {integrity: sha512-BDTmVTLIri8W4Lz1tn5RAV1slSTinBBb6G77+qKcjkF0vEwdiUp2ntSU6FDqwP9pmy1t96U1CZqIYIStF8H6Jw==}
|
resolution: {integrity: sha512-4KNb6+yWYEnmHG2exTUiS470Z38dllgkYy7rIV9kkIT4dVLVXu0ShBGct/94tDW004o++vCtd/Blqogv9nUI6Q==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@swc/core': ^1.0.0
|
'@swc/core': ^1.0.0
|
||||||
vite: ^3.0.0 || ^4.0.0
|
vite: ^4.0.0 || ^5.0.0
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
'@swc/core':
|
'@swc/core':
|
||||||
optional: true
|
optional: true
|
||||||
@ -2775,7 +2779,7 @@ packages:
|
|||||||
esbuild: 0.18.20
|
esbuild: 0.18.20
|
||||||
magic-string: 0.30.5
|
magic-string: 0.30.5
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
vite: 4.5.1(@types/node@20.10.5)
|
vite: 5.0.10(@types/node@20.10.5)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
@ -6026,7 +6030,7 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: 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==}
|
resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -6044,7 +6048,7 @@ packages:
|
|||||||
open: 9.1.0
|
open: 9.1.0
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
sirv: 2.0.3
|
sirv: 2.0.3
|
||||||
vite: 4.5.1(@types/node@20.10.5)
|
vite: 5.0.10(@types/node@20.10.5)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
- supports-color
|
- supports-color
|
||||||
@ -6056,12 +6060,12 @@ packages:
|
|||||||
lib-esm: 0.4.1
|
lib-esm: 0.4.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite@4.5.1(@types/node@20.10.5):
|
/vite@5.0.10(@types/node@20.10.5):
|
||||||
resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==}
|
resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@types/node': '>= 14'
|
'@types/node': ^18.0.0 || >=20.0.0
|
||||||
less: '*'
|
less: '*'
|
||||||
lightningcss: ^1.21.0
|
lightningcss: ^1.21.0
|
||||||
sass: '*'
|
sass: '*'
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
|
"extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "ESNext",
|
"target": "esnext",
|
||||||
"lib": ["dom", "dom.iterable", "es2022"],
|
"lib": ["dom", "dom.iterable", "es2022"],
|
||||||
"module": "CommonJS",
|
"module": "esnext",
|
||||||
"types": ["electron-vite/node"],
|
"types": ["electron-vite/node"],
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
@ -21,5 +21,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"exclude": ["./dist"],
|
"exclude": ["./dist"],
|
||||||
"include": ["electron.vite.config.ts", "./src/**/*"]
|
"include": [
|
||||||
|
"electron.vite.config.mts",
|
||||||
|
"./src/**/*"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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 { globSync } from 'glob';
|
||||||
import { Project } from 'ts-morph';
|
import { Project } from 'ts-morph';
|
||||||
@ -7,6 +8,7 @@ const snakeToCamel = (text: string) =>
|
|||||||
text.replace(/-(\w)/g, (_, letter: string) => letter.toUpperCase());
|
text.replace(/-(\w)/g, (_, letter: string) => letter.toUpperCase());
|
||||||
|
|
||||||
export const i18nImporter = () => {
|
export const i18nImporter = () => {
|
||||||
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||||
const project = new Project({
|
const project = new Project({
|
||||||
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
|
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
|
||||||
skipAddingFilesFromTsConfig: true,
|
skipAddingFilesFromTsConfig: true,
|
||||||
@ -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 { globSync } from 'glob';
|
||||||
import { Project } from 'ts-morph';
|
import { Project } from 'ts-morph';
|
||||||
@ -9,6 +10,7 @@ const snakeToCamel = (text: string) =>
|
|||||||
export const pluginVirtualModuleGenerator = (
|
export const pluginVirtualModuleGenerator = (
|
||||||
mode: 'main' | 'preload' | 'renderer',
|
mode: 'main' | 'preload' | 'renderer',
|
||||||
) => {
|
) => {
|
||||||
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||||
const project = new Project({
|
const project = new Project({
|
||||||
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
|
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
|
||||||
skipAddingFilesFromTsConfig: true,
|
skipAddingFilesFromTsConfig: true,
|
||||||
@ -1,5 +1,6 @@
|
|||||||
import { readFile } from 'node:fs/promises';
|
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 { createFilter } from 'vite';
|
||||||
import { Project, ts, ObjectLiteralExpression, VariableDeclarationKind } from 'ts-morph';
|
import { Project, ts, ObjectLiteralExpression, VariableDeclarationKind } from 'ts-morph';
|
||||||
@ -17,6 +18,8 @@ export default function (mode: 'backend' | 'preload' | 'renderer' | 'none'): Plu
|
|||||||
async load(id) {
|
async load(id) {
|
||||||
if (!pluginFilter(id)) return null;
|
if (!pluginFilter(id)) return null;
|
||||||
|
|
||||||
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||||
|
|
||||||
const project = new Project({
|
const project = new Project({
|
||||||
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
|
tsConfigFilePath: resolve(__dirname, '..', 'tsconfig.json'),
|
||||||
skipAddingFilesFromTsConfig: true,
|
skipAddingFilesFromTsConfig: true,
|
||||||
Reference in New Issue
Block a user