chore: 用esbuild代替vite来打包main
@ -6,11 +6,13 @@ module.exports = {
|
|||||||
appId: 'com.qier222.yesplaymusic',
|
appId: 'com.qier222.yesplaymusic',
|
||||||
productName: 'YesPlayMusic',
|
productName: 'YesPlayMusic',
|
||||||
copyright: 'Copyright © 2022 ${author}',
|
copyright: 'Copyright © 2022 ${author}',
|
||||||
asar: true,
|
asar: false,
|
||||||
directories: {
|
directories: {
|
||||||
output: 'release/${version}',
|
output: 'release/${version}',
|
||||||
buildResources: 'build',
|
buildResources: 'build',
|
||||||
},
|
},
|
||||||
|
npmRebuild: false,
|
||||||
|
buildDependenciesFromSource: true,
|
||||||
files: ['dist'],
|
files: ['dist'],
|
||||||
win: {
|
win: {
|
||||||
target: [
|
target: [
|
||||||
@ -44,7 +46,9 @@ module.exports = {
|
|||||||
artifactName: '${productName}-${version}-Installer.${ext}',
|
artifactName: '${productName}-${version}-Installer.${ext}',
|
||||||
},
|
},
|
||||||
files: [
|
files: [
|
||||||
'**/*',
|
'dist/main/**/*',
|
||||||
|
'dist/renderer/**/*',
|
||||||
|
'node_modules/NeteaseCloudMusicApi',
|
||||||
'!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme}',
|
'!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme}',
|
||||||
'!**/node_modules/*/{test,__tests__,tests,powered-test,example,examples}',
|
'!**/node_modules/*/{test,__tests__,tests,powered-test,example,examples}',
|
||||||
'!**/node_modules/*.d.ts',
|
'!**/node_modules/*.d.ts',
|
||||||
|
4
.vscode/task.json
vendored
@ -6,8 +6,8 @@
|
|||||||
"script": "debug",
|
"script": "debug",
|
||||||
"problemMatcher": [],
|
"problemMatcher": [],
|
||||||
"label": "npm: debug",
|
"label": "npm: debug",
|
||||||
"detail": "cross-env-shell NODE_ENV=debug \"npm run typecheck && node scripts/build.mjs && vite ./packages/renderer\"",
|
"detail": "cross-env-shell NODE_ENV=debug \"npm run typecheck && node scripts/build.main.mjs && vite ./src/renderer\"",
|
||||||
"group": "build"
|
"group": "build"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
23
package.json
@ -8,12 +8,15 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"author": "qier222 <qier222@outlook.com>",
|
"author": "qier222 <qier222@outlook.com>",
|
||||||
"repository": "github:qier222/YesPlayMusic",
|
"repository": "github:qier222/YesPlayMusic",
|
||||||
"main": "dist/main/index.cjs",
|
"main": "dist/main/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "node scripts/watch.mjs",
|
"dev": "concurrently -n=vite,main -c=#646cff,#74b1be \"npm run dev:renderer\" \"node scripts/build.main.mjs --watch\"",
|
||||||
"build": "npm run typecheck && node scripts/build.mjs && electron-builder --config .electron-builder.config.js --dir",
|
"dev:renderer": "vite dev",
|
||||||
"typecheck": "tsc --noEmit --project packages/renderer/tsconfig.json",
|
"build:main": "node scripts/build.main.mjs",
|
||||||
"debug": "cross-env-shell NODE_ENV=debug \"npm run typecheck && node scripts/build.mjs && vite ./packages/renderer\"",
|
"build:renderer": "vite build",
|
||||||
|
"build": "npm run typecheck && npm run build:renderer && npm run build:main && electron-builder --config .electron-builder.config.js --dir",
|
||||||
|
"typecheck": "tsc --noEmit --project src/renderer/tsconfig.json",
|
||||||
|
"debug": "cross-env-shell NODE_ENV=debug \"npm run typecheck && node scripts/build.mjs && vite ./src/renderer\"",
|
||||||
"eslint": "eslint --ext .ts,.js ./",
|
"eslint": "eslint --ext .ts,.js ./",
|
||||||
"prettier": "prettier --write './**/*.{ts,js,tsx,jsx}'"
|
"prettier": "prettier --write './**/*.{ts,js,tsx,jsx}'"
|
||||||
},
|
},
|
||||||
@ -46,13 +49,12 @@
|
|||||||
"@typescript-eslint/eslint-plugin": "^5.15.0",
|
"@typescript-eslint/eslint-plugin": "^5.15.0",
|
||||||
"@typescript-eslint/parser": "^5.15.0",
|
"@typescript-eslint/parser": "^5.15.0",
|
||||||
"@vitejs/plugin-react": "^1.2.0",
|
"@vitejs/plugin-react": "^1.2.0",
|
||||||
"ahooks": "^3.1.13",
|
|
||||||
"ansi-styles": "^6.1.0",
|
|
||||||
"autoprefixer": "^10.4.4",
|
"autoprefixer": "^10.4.4",
|
||||||
"axios": "^0.26.1",
|
"axios": "^0.26.1",
|
||||||
"classnames": "^2.3.1",
|
"classnames": "^2.3.1",
|
||||||
"color.js": "^1.2.0",
|
"color.js": "^1.2.0",
|
||||||
"colord": "^2.9.2",
|
"colord": "^2.9.2",
|
||||||
|
"concurrently": "^7.0.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"csstype": "^3.0.11",
|
"csstype": "^3.0.11",
|
||||||
"dayjs": "^1.11.0",
|
"dayjs": "^1.11.0",
|
||||||
@ -60,6 +62,7 @@
|
|||||||
"electron": "^17.1.2",
|
"electron": "^17.1.2",
|
||||||
"electron-builder": "^22.14.13",
|
"electron-builder": "^22.14.13",
|
||||||
"electron-devtools-installer": "^3.2.0",
|
"electron-devtools-installer": "^3.2.0",
|
||||||
|
"esbuild": "^0.14.28",
|
||||||
"eslint": "^8.11.0",
|
"eslint": "^8.11.0",
|
||||||
"eslint-plugin-react": "^7.29.4",
|
"eslint-plugin-react": "^7.29.4",
|
||||||
"eslint-plugin-react-hooks": "^4.3.0",
|
"eslint-plugin-react-hooks": "^4.3.0",
|
||||||
@ -69,7 +72,10 @@
|
|||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"md5": "^2.3.0",
|
"md5": "^2.3.0",
|
||||||
|
"minimist": "^1.2.6",
|
||||||
"music-metadata": "^7.12.2",
|
"music-metadata": "^7.12.2",
|
||||||
|
"ora": "^6.1.0",
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
"postcss": "^8.4.12",
|
"postcss": "^8.4.12",
|
||||||
"prettier": "2.5.1",
|
"prettier": "2.5.1",
|
||||||
"prettier-plugin-tailwindcss": "^0.1.8",
|
"prettier-plugin-tailwindcss": "^0.1.8",
|
||||||
@ -90,6 +96,7 @@
|
|||||||
"valtio-persist": "^1.0.2",
|
"valtio-persist": "^1.0.2",
|
||||||
"vite": "^2.8.6",
|
"vite": "^2.8.6",
|
||||||
"vite-plugin-resolve": "^1.8.0",
|
"vite-plugin-resolve": "^1.8.0",
|
||||||
"vite-plugin-svg-icons": "^2.0.1"
|
"vite-plugin-svg-icons": "^2.0.1",
|
||||||
|
"wait-on": "^6.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
import dotenv from 'dotenv'
|
|
||||||
import { builtinModules } from 'module'
|
|
||||||
import path from 'path'
|
|
||||||
import { visualizer } from 'rollup-plugin-visualizer'
|
|
||||||
import { defineConfig } from 'vite'
|
|
||||||
import pkg from '../../package.json'
|
|
||||||
|
|
||||||
dotenv.config({
|
|
||||||
path: path.resolve(process.cwd(), '.env'),
|
|
||||||
})
|
|
||||||
|
|
||||||
export default defineConfig({
|
|
||||||
root: __dirname,
|
|
||||||
build: {
|
|
||||||
outDir: '../../dist/main',
|
|
||||||
emptyOutDir: true,
|
|
||||||
lib: {
|
|
||||||
entry: 'index.ts',
|
|
||||||
formats: ['cjs'],
|
|
||||||
fileName: () => '[name].cjs',
|
|
||||||
},
|
|
||||||
minify: process.env./* from mode option */ NODE_ENV === 'production',
|
|
||||||
sourcemap: process.env./* from mode option */ NODE_ENV === 'debug',
|
|
||||||
rollupOptions: {
|
|
||||||
external: [
|
|
||||||
'electron',
|
|
||||||
...builtinModules,
|
|
||||||
...Object.keys(pkg.dependencies || {}),
|
|
||||||
],
|
|
||||||
plugins: [
|
|
||||||
visualizer({
|
|
||||||
filename: './bundle-stats-main.html',
|
|
||||||
gzipSize: true,
|
|
||||||
projectRoot: 'packages/main',
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,36 +0,0 @@
|
|||||||
import { contextBridge, ipcRenderer } from 'electron'
|
|
||||||
import fs from 'fs'
|
|
||||||
import { useLoading } from './loading'
|
|
||||||
import { domReady } from './utils'
|
|
||||||
|
|
||||||
const { appendLoading, removeLoading } = useLoading()
|
|
||||||
|
|
||||||
;(async () => {
|
|
||||||
await domReady()
|
|
||||||
|
|
||||||
appendLoading()
|
|
||||||
})()
|
|
||||||
|
|
||||||
// --------- Expose some API to the Renderer process. ---------
|
|
||||||
contextBridge.exposeInMainWorld('fs', fs)
|
|
||||||
contextBridge.exposeInMainWorld('removeLoading', removeLoading)
|
|
||||||
contextBridge.exposeInMainWorld('ipcRenderer', withPrototype(ipcRenderer))
|
|
||||||
|
|
||||||
// `exposeInMainWorld` can't detect attributes and methods of `prototype`, manually patching it.
|
|
||||||
function withPrototype(obj: Record<string, any>) {
|
|
||||||
const protos = Object.getPrototypeOf(obj)
|
|
||||||
|
|
||||||
for (const [key, value] of Object.entries(protos)) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(obj, key)) continue
|
|
||||||
|
|
||||||
if (typeof value === 'function') {
|
|
||||||
// Some native APIs, like `NodeJS.EventEmitter['on']`, don't work in the Renderer process. Wrapping them into a function.
|
|
||||||
obj[key] = function (...args: any) {
|
|
||||||
return value.call(obj, ...args)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
obj[key] = value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return obj
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
/**
|
|
||||||
* https://tobiasahlin.com/spinkit
|
|
||||||
* https://connoratherton.com/loaders
|
|
||||||
* https://projects.lukehaas.me/css-loaders
|
|
||||||
* https://matejkustec.github.io/SpinThatShit
|
|
||||||
*/
|
|
||||||
export function useLoading() {
|
|
||||||
const className = `loaders-css__square-spin`
|
|
||||||
const styleContent = `
|
|
||||||
@keyframes square-spin {
|
|
||||||
25% { transform: perspective(100px) rotateX(180deg) rotateY(0); }
|
|
||||||
50% { transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
|
|
||||||
75% { transform: perspective(100px) rotateX(0) rotateY(180deg); }
|
|
||||||
100% { transform: perspective(100px) rotateX(0) rotateY(0); }
|
|
||||||
}
|
|
||||||
.${className} > div {
|
|
||||||
animation-fill-mode: both;
|
|
||||||
width: 50px;
|
|
||||||
height: 50px;
|
|
||||||
background: #fff;
|
|
||||||
animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
|
|
||||||
}
|
|
||||||
.app-loading-wrap {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
background: #282c34;
|
|
||||||
z-index: 9;
|
|
||||||
}
|
|
||||||
`
|
|
||||||
const oStyle = document.createElement('style')
|
|
||||||
const oDiv = document.createElement('div')
|
|
||||||
|
|
||||||
oStyle.id = 'app-loading-style'
|
|
||||||
oStyle.innerHTML = styleContent
|
|
||||||
oDiv.className = 'app-loading-wrap'
|
|
||||||
oDiv.innerHTML = `<div class="${className}"><div></div></div>`
|
|
||||||
|
|
||||||
return {
|
|
||||||
appendLoading() {
|
|
||||||
document.head.appendChild(oStyle)
|
|
||||||
document.body.appendChild(oDiv)
|
|
||||||
},
|
|
||||||
removeLoading() {
|
|
||||||
document.head.removeChild(oStyle)
|
|
||||||
document.body.removeChild(oDiv)
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
/** Document ready */
|
|
||||||
export const domReady = (
|
|
||||||
condition: DocumentReadyState[] = ['complete', 'interactive']
|
|
||||||
) => {
|
|
||||||
return new Promise(resolve => {
|
|
||||||
if (condition.includes(document.readyState)) {
|
|
||||||
resolve(true)
|
|
||||||
} else {
|
|
||||||
document.addEventListener('readystatechange', () => {
|
|
||||||
if (condition.includes(document.readyState)) {
|
|
||||||
resolve(true)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,38 +0,0 @@
|
|||||||
import dotenv from 'dotenv'
|
|
||||||
import { builtinModules } from 'module'
|
|
||||||
import path from 'path'
|
|
||||||
import { defineConfig } from 'vite'
|
|
||||||
import pkg from '../../package.json'
|
|
||||||
import { visualizer } from 'rollup-plugin-visualizer'
|
|
||||||
|
|
||||||
dotenv.config({
|
|
||||||
path: path.resolve(process.cwd(), '.env'),
|
|
||||||
})
|
|
||||||
|
|
||||||
export default defineConfig({
|
|
||||||
root: __dirname,
|
|
||||||
build: {
|
|
||||||
outDir: '../../dist/preload',
|
|
||||||
emptyOutDir: true,
|
|
||||||
lib: {
|
|
||||||
entry: 'index.ts',
|
|
||||||
formats: ['cjs'],
|
|
||||||
fileName: () => '[name].cjs',
|
|
||||||
},
|
|
||||||
minify: process.env./* from mode option */ NODE_ENV === 'production',
|
|
||||||
rollupOptions: {
|
|
||||||
external: [
|
|
||||||
'electron',
|
|
||||||
...builtinModules,
|
|
||||||
...Object.keys(pkg.dependencies || {}),
|
|
||||||
],
|
|
||||||
plugins: [
|
|
||||||
visualizer({
|
|
||||||
filename: './bundle-stats-preload.html',
|
|
||||||
gzipSize: true,
|
|
||||||
projectRoot: 'packages/preload',
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,169 +0,0 @@
|
|||||||
import react from '@vitejs/plugin-react'
|
|
||||||
import dotenv from 'dotenv'
|
|
||||||
import { builtinModules } from 'module'
|
|
||||||
import path, { join } from 'path'
|
|
||||||
import AutoImport from 'unplugin-auto-import/vite'
|
|
||||||
import { defineConfig, Plugin } from 'vite'
|
|
||||||
import resolve from 'vite-plugin-resolve'
|
|
||||||
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
|
||||||
import { visualizer } from 'rollup-plugin-visualizer'
|
|
||||||
|
|
||||||
dotenv.config({ path: path.resolve(process.cwd(), '.env') })
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see https://vitejs.dev/config/
|
|
||||||
*/
|
|
||||||
export default defineConfig({
|
|
||||||
mode: process.env.NODE_ENV,
|
|
||||||
root: __dirname,
|
|
||||||
plugins: [
|
|
||||||
react(),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Here you can specify other modules
|
|
||||||
* 🚧 You have to make sure that your module is in `dependencies` and not in the` devDependencies`,
|
|
||||||
* which will ensure that the electron-builder can package it correctly
|
|
||||||
* @example
|
|
||||||
* {
|
|
||||||
* 'electron-store': 'const Store = require("electron-store"); export default Store;',
|
|
||||||
* }
|
|
||||||
*/
|
|
||||||
resolveElectron(),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see https://github.com/vbenjs/vite-plugin-svg-icons
|
|
||||||
*/
|
|
||||||
createSvgIconsPlugin({
|
|
||||||
iconDirs: [
|
|
||||||
path.resolve(process.cwd(), 'packages/renderer/src/assets/icons'),
|
|
||||||
],
|
|
||||||
symbolId: 'icon-[name]',
|
|
||||||
}),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see https://github.com/antfu/unplugin-auto-import
|
|
||||||
*/
|
|
||||||
AutoImport({
|
|
||||||
dts: './src/auto-imports.d.ts',
|
|
||||||
imports: [
|
|
||||||
'react',
|
|
||||||
{ classnames: [['default', 'classNames']] },
|
|
||||||
{ 'react-query': ['useQuery', 'useMutation', 'useInfiniteQuery'] },
|
|
||||||
{ 'react-router-dom': ['useNavigate', 'useParams'] },
|
|
||||||
{ 'react-hot-toast': ['toast'] },
|
|
||||||
{ valtio: ['useSnapshot'] },
|
|
||||||
],
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
base: './',
|
|
||||||
build: {
|
|
||||||
sourcemap: process.env.NODE_ENV === 'debug',
|
|
||||||
outDir: '../../dist/renderer',
|
|
||||||
rollupOptions: {
|
|
||||||
plugins: [
|
|
||||||
visualizer({
|
|
||||||
filename: './bundle-stats-renderer.html',
|
|
||||||
gzipSize: true,
|
|
||||||
projectRoot: 'packages/renderer',
|
|
||||||
template: 'treemap',
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
alias: {
|
|
||||||
'@': join(__dirname, 'src'),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
clearScreen: false,
|
|
||||||
server: {
|
|
||||||
port: Number(process.env['ELECTRON_WEB_SERVER_PORT'] ?? 42710),
|
|
||||||
proxy: {
|
|
||||||
'/netease/': {
|
|
||||||
target: `http://127.0.0.1:${process.env.ELECTRON_DEV_NETEASE_API_PORT}/netease`,
|
|
||||||
changeOrigin: true,
|
|
||||||
rewrite: path => path.replace(/^\/netease/, ''),
|
|
||||||
},
|
|
||||||
'/yesplaymusic/': {
|
|
||||||
target: `http://127.0.0.1:${process.env.ELECTRON_DEV_NETEASE_API_PORT}/yesplaymusic`,
|
|
||||||
changeOrigin: true,
|
|
||||||
rewrite: path => path.replace(/^\/yesplaymusic/, ''),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
/**
|
|
||||||
* For usage of Electron and NodeJS APIs in the Renderer process
|
|
||||||
* @see https://github.com/caoxiemeihao/electron-vue-vite/issues/52
|
|
||||||
*/
|
|
||||||
export function resolveElectron(
|
|
||||||
resolves: Parameters<typeof resolve>[0] = {}
|
|
||||||
): Plugin {
|
|
||||||
const builtins = builtinModules.filter(t => !t.startsWith('_'))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see https://github.com/caoxiemeihao/vite-plugins/tree/main/packages/resolve#readme
|
|
||||||
*/
|
|
||||||
return resolve({
|
|
||||||
electron: electronExport(),
|
|
||||||
...builtinModulesExport(builtins),
|
|
||||||
...resolves,
|
|
||||||
})
|
|
||||||
|
|
||||||
function electronExport() {
|
|
||||||
return `
|
|
||||||
/**
|
|
||||||
* For all exported modules see https://www.electronjs.org/docs/latest/api/clipboard -> Renderer Process Modules
|
|
||||||
*/
|
|
||||||
const electron = require("electron");
|
|
||||||
const {
|
|
||||||
clipboard,
|
|
||||||
nativeImage,
|
|
||||||
shell,
|
|
||||||
contextBridge,
|
|
||||||
crashReporter,
|
|
||||||
ipcRenderer,
|
|
||||||
webFrame,
|
|
||||||
desktopCapturer,
|
|
||||||
deprecate,
|
|
||||||
} = electron;
|
|
||||||
|
|
||||||
export {
|
|
||||||
electron as default,
|
|
||||||
clipboard,
|
|
||||||
nativeImage,
|
|
||||||
shell,
|
|
||||||
contextBridge,
|
|
||||||
crashReporter,
|
|
||||||
ipcRenderer,
|
|
||||||
webFrame,
|
|
||||||
desktopCapturer,
|
|
||||||
deprecate,
|
|
||||||
}
|
|
||||||
`
|
|
||||||
}
|
|
||||||
|
|
||||||
function builtinModulesExport(modules: string[]) {
|
|
||||||
return modules
|
|
||||||
.map(moduleId => {
|
|
||||||
const nodeModule = require(moduleId)
|
|
||||||
const requireModule = `const M = require("${moduleId}");`
|
|
||||||
const exportDefault = `export default M;`
|
|
||||||
const exportMembers =
|
|
||||||
Object.keys(nodeModule)
|
|
||||||
.map(attr => `export const ${attr} = M.${attr}`)
|
|
||||||
.join(';\n') + ';'
|
|
||||||
const nodeModuleCode = `
|
|
||||||
${requireModule}
|
|
||||||
|
|
||||||
${exportDefault}
|
|
||||||
|
|
||||||
${exportMembers}
|
|
||||||
`
|
|
||||||
|
|
||||||
return { [moduleId]: nodeModuleCode }
|
|
||||||
})
|
|
||||||
.reduce((memo, item) => Object.assign(memo, item), {})
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://json.schemastore.org/tsconfig",
|
|
||||||
"compilerOptions": {
|
|
||||||
"baseUrl": "./",
|
|
||||||
"paths": {
|
|
||||||
"@/*": ["packages/renderer/src/*"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
416
pnpm-lock.yaml
generated
@ -19,13 +19,13 @@ specifiers:
|
|||||||
'@vitejs/plugin-react': ^1.2.0
|
'@vitejs/plugin-react': ^1.2.0
|
||||||
NeteaseCloudMusicApi: ^4.5.8
|
NeteaseCloudMusicApi: ^4.5.8
|
||||||
ahooks: ^3.1.13
|
ahooks: ^3.1.13
|
||||||
ansi-styles: ^6.1.0
|
|
||||||
autoprefixer: ^10.4.4
|
autoprefixer: ^10.4.4
|
||||||
axios: ^0.26.1
|
axios: ^0.26.1
|
||||||
change-case: ^4.1.2
|
change-case: ^4.1.2
|
||||||
classnames: ^2.3.1
|
classnames: ^2.3.1
|
||||||
color.js: ^1.2.0
|
color.js: ^1.2.0
|
||||||
colord: ^2.9.2
|
colord: ^2.9.2
|
||||||
|
concurrently: ^7.0.0
|
||||||
cookie-parser: ^1.4.6
|
cookie-parser: ^1.4.6
|
||||||
cross-env: ^7.0.3
|
cross-env: ^7.0.3
|
||||||
csstype: ^3.0.11
|
csstype: ^3.0.11
|
||||||
@ -36,6 +36,7 @@ specifiers:
|
|||||||
electron-devtools-installer: ^3.2.0
|
electron-devtools-installer: ^3.2.0
|
||||||
electron-log: ^4.4.6
|
electron-log: ^4.4.6
|
||||||
electron-store: ^8.0.1
|
electron-store: ^8.0.1
|
||||||
|
esbuild: ^0.14.28
|
||||||
eslint: ^8.11.0
|
eslint: ^8.11.0
|
||||||
eslint-plugin-react: ^7.29.4
|
eslint-plugin-react: ^7.29.4
|
||||||
eslint-plugin-react-hooks: ^4.3.0
|
eslint-plugin-react-hooks: ^4.3.0
|
||||||
@ -46,7 +47,10 @@ specifiers:
|
|||||||
js-cookie: ^3.0.1
|
js-cookie: ^3.0.1
|
||||||
lodash-es: ^4.17.21
|
lodash-es: ^4.17.21
|
||||||
md5: ^2.3.0
|
md5: ^2.3.0
|
||||||
|
minimist: ^1.2.6
|
||||||
music-metadata: ^7.12.2
|
music-metadata: ^7.12.2
|
||||||
|
ora: ^6.1.0
|
||||||
|
picocolors: ^1.0.0
|
||||||
postcss: ^8.4.12
|
postcss: ^8.4.12
|
||||||
prettier: 2.5.1
|
prettier: 2.5.1
|
||||||
prettier-plugin-tailwindcss: ^0.1.8
|
prettier-plugin-tailwindcss: ^0.1.8
|
||||||
@ -69,10 +73,10 @@ specifiers:
|
|||||||
vite: ^2.8.6
|
vite: ^2.8.6
|
||||||
vite-plugin-resolve: ^1.8.0
|
vite-plugin-resolve: ^1.8.0
|
||||||
vite-plugin-svg-icons: ^2.0.1
|
vite-plugin-svg-icons: ^2.0.1
|
||||||
|
wait-on: ^6.0.1
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sentry/node': 6.19.2
|
'@sentry/node': 6.19.2
|
||||||
'@sentry/react': 6.19.2_react@17.0.2
|
|
||||||
'@sentry/tracing': 6.19.2
|
'@sentry/tracing': 6.19.2
|
||||||
NeteaseCloudMusicApi: 4.5.8
|
NeteaseCloudMusicApi: 4.5.8
|
||||||
change-case: 4.1.2
|
change-case: 4.1.2
|
||||||
@ -83,6 +87,7 @@ dependencies:
|
|||||||
realm: 10.13.0
|
realm: 10.13.0
|
||||||
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@sentry/react': 6.19.2_react@17.0.2
|
||||||
'@types/cookie-parser': 1.4.2
|
'@types/cookie-parser': 1.4.2
|
||||||
'@types/express': 4.17.13
|
'@types/express': 4.17.13
|
||||||
'@types/express-fileupload': 1.2.2
|
'@types/express-fileupload': 1.2.2
|
||||||
@ -97,12 +102,12 @@ devDependencies:
|
|||||||
'@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2
|
'@typescript-eslint/parser': 5.15.0_eslint@8.11.0+typescript@4.6.2
|
||||||
'@vitejs/plugin-react': 1.2.0
|
'@vitejs/plugin-react': 1.2.0
|
||||||
ahooks: 3.1.13_react@17.0.2
|
ahooks: 3.1.13_react@17.0.2
|
||||||
ansi-styles: 6.1.0
|
|
||||||
autoprefixer: 10.4.4_postcss@8.4.12
|
autoprefixer: 10.4.4_postcss@8.4.12
|
||||||
axios: 0.26.1
|
axios: 0.26.1
|
||||||
classnames: 2.3.1
|
classnames: 2.3.1
|
||||||
color.js: 1.2.0
|
color.js: 1.2.0
|
||||||
colord: 2.9.2
|
colord: 2.9.2
|
||||||
|
concurrently: 7.0.0
|
||||||
cross-env: 7.0.3
|
cross-env: 7.0.3
|
||||||
csstype: 3.0.11
|
csstype: 3.0.11
|
||||||
dayjs: 1.11.0
|
dayjs: 1.11.0
|
||||||
@ -110,6 +115,7 @@ devDependencies:
|
|||||||
electron: 17.1.2
|
electron: 17.1.2
|
||||||
electron-builder: 22.14.13
|
electron-builder: 22.14.13
|
||||||
electron-devtools-installer: 3.2.0
|
electron-devtools-installer: 3.2.0
|
||||||
|
esbuild: 0.14.28
|
||||||
eslint: 8.11.0
|
eslint: 8.11.0
|
||||||
eslint-plugin-react: 7.29.4_eslint@8.11.0
|
eslint-plugin-react: 7.29.4_eslint@8.11.0
|
||||||
eslint-plugin-react-hooks: 4.3.0_eslint@8.11.0
|
eslint-plugin-react-hooks: 4.3.0_eslint@8.11.0
|
||||||
@ -119,7 +125,10 @@ devDependencies:
|
|||||||
js-cookie: 3.0.1
|
js-cookie: 3.0.1
|
||||||
lodash-es: 4.17.21
|
lodash-es: 4.17.21
|
||||||
md5: 2.3.0
|
md5: 2.3.0
|
||||||
|
minimist: 1.2.6
|
||||||
music-metadata: 7.12.2
|
music-metadata: 7.12.2
|
||||||
|
ora: 6.1.0
|
||||||
|
picocolors: 1.0.0
|
||||||
postcss: 8.4.12
|
postcss: 8.4.12
|
||||||
prettier: 2.5.1
|
prettier: 2.5.1
|
||||||
prettier-plugin-tailwindcss: 0.1.8_prettier@2.5.1
|
prettier-plugin-tailwindcss: 0.1.8_prettier@2.5.1
|
||||||
@ -135,12 +144,13 @@ devDependencies:
|
|||||||
sass: 1.49.9
|
sass: 1.49.9
|
||||||
tailwindcss: 3.0.23_autoprefixer@10.4.4
|
tailwindcss: 3.0.23_autoprefixer@10.4.4
|
||||||
typescript: 4.6.2
|
typescript: 4.6.2
|
||||||
unplugin-auto-import: 0.6.6_rollup@2.70.1+vite@2.8.6
|
unplugin-auto-import: 0.6.6_30793d9d6b24634df96d91984952e36a
|
||||||
valtio: 1.4.0_react@17.0.2+vite@2.8.6
|
valtio: 1.4.0_react@17.0.2+vite@2.8.6
|
||||||
valtio-persist: 1.0.2_valtio@1.4.0
|
valtio-persist: 1.0.2_valtio@1.4.0
|
||||||
vite: 2.8.6_sass@1.49.9
|
vite: 2.8.6_sass@1.49.9
|
||||||
vite-plugin-resolve: 1.8.0
|
vite-plugin-resolve: 1.8.0
|
||||||
vite-plugin-svg-icons: 2.0.1_vite@2.8.6
|
vite-plugin-svg-icons: 2.0.1_vite@2.8.6
|
||||||
|
wait-on: 6.0.1
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@ -483,6 +493,16 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@hapi/hoek/9.2.1:
|
||||||
|
resolution: {integrity: sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@hapi/topo/5.1.0:
|
||||||
|
resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
|
||||||
|
dependencies:
|
||||||
|
'@hapi/hoek': 9.2.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@humanwhocodes/config-array/0.9.5:
|
/@humanwhocodes/config-array/0.9.5:
|
||||||
resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==}
|
resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==}
|
||||||
engines: {node: '>=10.10.0'}
|
engines: {node: '>=10.10.0'}
|
||||||
@ -574,7 +594,7 @@ packages:
|
|||||||
'@sentry/types': 6.19.2
|
'@sentry/types': 6.19.2
|
||||||
'@sentry/utils': 6.19.2
|
'@sentry/utils': 6.19.2
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
dev: false
|
dev: true
|
||||||
|
|
||||||
/@sentry/core/6.19.2:
|
/@sentry/core/6.19.2:
|
||||||
resolution: {integrity: sha512-yu1R3ewBT4udmB4v7sc4biQZ0Z0rfB9+TzB5ZKoCftbe6kqXjFMMaFRYNUF9HicVldKAsBktgkWw3+yfqGkw/A==}
|
resolution: {integrity: sha512-yu1R3ewBT4udmB4v7sc4biQZ0Z0rfB9+TzB5ZKoCftbe6kqXjFMMaFRYNUF9HicVldKAsBktgkWw3+yfqGkw/A==}
|
||||||
@ -585,7 +605,6 @@ packages:
|
|||||||
'@sentry/types': 6.19.2
|
'@sentry/types': 6.19.2
|
||||||
'@sentry/utils': 6.19.2
|
'@sentry/utils': 6.19.2
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@sentry/hub/6.19.2:
|
/@sentry/hub/6.19.2:
|
||||||
resolution: {integrity: sha512-W7KCgNBgdBIMagOxy5J5KQPe+maYxSqfE8a5ncQ3R8BcZDQEKnkW/1FplNbfRLZqA/tL/ndKb7pTPqVtzsbARw==}
|
resolution: {integrity: sha512-W7KCgNBgdBIMagOxy5J5KQPe+maYxSqfE8a5ncQ3R8BcZDQEKnkW/1FplNbfRLZqA/tL/ndKb7pTPqVtzsbARw==}
|
||||||
@ -594,7 +613,6 @@ packages:
|
|||||||
'@sentry/types': 6.19.2
|
'@sentry/types': 6.19.2
|
||||||
'@sentry/utils': 6.19.2
|
'@sentry/utils': 6.19.2
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@sentry/minimal/6.19.2:
|
/@sentry/minimal/6.19.2:
|
||||||
resolution: {integrity: sha512-ClwxKm77iDHET7kpzv1JvzDx1er5DoNu+EUjst0kQzARIrXvu9xuZuE2/CnBWycQWqw8o3HoGoKz65uIhsUCzQ==}
|
resolution: {integrity: sha512-ClwxKm77iDHET7kpzv1JvzDx1er5DoNu+EUjst0kQzARIrXvu9xuZuE2/CnBWycQWqw8o3HoGoKz65uIhsUCzQ==}
|
||||||
@ -603,7 +621,6 @@ packages:
|
|||||||
'@sentry/hub': 6.19.2
|
'@sentry/hub': 6.19.2
|
||||||
'@sentry/types': 6.19.2
|
'@sentry/types': 6.19.2
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@sentry/node/6.19.2:
|
/@sentry/node/6.19.2:
|
||||||
resolution: {integrity: sha512-Z1qREpTpYHxaeWjc1zMUk8ZTAp1WbxMiI2TVNc+a14DVT19Z2xNXb06MiRfeLgNc9lVGdmzR62dPmMBjVgPJYg==}
|
resolution: {integrity: sha512-Z1qREpTpYHxaeWjc1zMUk8ZTAp1WbxMiI2TVNc+a14DVT19Z2xNXb06MiRfeLgNc9lVGdmzR62dPmMBjVgPJYg==}
|
||||||
@ -634,7 +651,7 @@ packages:
|
|||||||
hoist-non-react-statics: 3.3.2
|
hoist-non-react-statics: 3.3.2
|
||||||
react: 17.0.2
|
react: 17.0.2
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
dev: false
|
dev: true
|
||||||
|
|
||||||
/@sentry/tracing/6.19.2:
|
/@sentry/tracing/6.19.2:
|
||||||
resolution: {integrity: sha512-rGoPpP1JIAxdq5bzrww0XuNVr6yn7RN6/wUcaxf6CAvklKvDx+q28WTGlZLGTZ/3un8Rv6i1FZFZOXizgnVnrg==}
|
resolution: {integrity: sha512-rGoPpP1JIAxdq5bzrww0XuNVr6yn7RN6/wUcaxf6CAvklKvDx+q28WTGlZLGTZ/3un8Rv6i1FZFZOXizgnVnrg==}
|
||||||
@ -650,7 +667,6 @@ packages:
|
|||||||
/@sentry/types/6.19.2:
|
/@sentry/types/6.19.2:
|
||||||
resolution: {integrity: sha512-XO5qmVBdTs+7PdCz7fAwn1afWxSnRE2KLBFg5/vOdKosPSSHsSHUURSkxiEZc2QsR+JpRB4AeQ26AkIRX38qTg==}
|
resolution: {integrity: sha512-XO5qmVBdTs+7PdCz7fAwn1afWxSnRE2KLBFg5/vOdKosPSSHsSHUURSkxiEZc2QsR+JpRB4AeQ26AkIRX38qTg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@sentry/utils/6.19.2:
|
/@sentry/utils/6.19.2:
|
||||||
resolution: {integrity: sha512-2DQQ2OJaxjtyxGq5FmMlqb6hptsqMs2xoBiVRMkTS/rvyTrk1oQdKZ8ePwjtgX3nJ728ni3IXIyXV+vfGp4EBw==}
|
resolution: {integrity: sha512-2DQQ2OJaxjtyxGq5FmMlqb6hptsqMs2xoBiVRMkTS/rvyTrk1oQdKZ8ePwjtgX3nJ728ni3IXIyXV+vfGp4EBw==}
|
||||||
@ -658,7 +674,20 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@sentry/types': 6.19.2
|
'@sentry/types': 6.19.2
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
dev: false
|
|
||||||
|
/@sideway/address/4.1.4:
|
||||||
|
resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==}
|
||||||
|
dependencies:
|
||||||
|
'@hapi/hoek': 9.2.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@sideway/formula/3.0.0:
|
||||||
|
resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@sideway/pinpoint/2.0.0:
|
||||||
|
resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@sindresorhus/is/0.14.0:
|
/@sindresorhus/is/0.14.0:
|
||||||
resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==}
|
resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==}
|
||||||
@ -1185,6 +1214,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
/ansi-regex/6.0.1:
|
||||||
|
resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/ansi-styles/2.2.1:
|
/ansi-styles/2.2.1:
|
||||||
resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=}
|
resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@ -1203,11 +1237,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
color-convert: 2.0.1
|
color-convert: 2.0.1
|
||||||
|
|
||||||
/ansi-styles/6.1.0:
|
|
||||||
resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/anymatch/3.1.2:
|
/anymatch/3.1.2:
|
||||||
resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
|
resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
@ -1435,6 +1464,14 @@ packages:
|
|||||||
- debug
|
- debug
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/axios/0.25.0:
|
||||||
|
resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==}
|
||||||
|
dependencies:
|
||||||
|
follow-redirects: 1.14.9
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- debug
|
||||||
|
dev: true
|
||||||
|
|
||||||
/axios/0.26.1:
|
/axios/0.26.1:
|
||||||
resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
|
resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1503,6 +1540,14 @@ packages:
|
|||||||
readable-stream: 3.6.0
|
readable-stream: 3.6.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/bl/5.0.0:
|
||||||
|
resolution: {integrity: sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==}
|
||||||
|
dependencies:
|
||||||
|
buffer: 6.0.3
|
||||||
|
inherits: 2.0.4
|
||||||
|
readable-stream: 3.6.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/bluebird-lst/1.0.9:
|
/bluebird-lst/1.0.9:
|
||||||
resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==}
|
resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1667,6 +1712,13 @@ packages:
|
|||||||
base64-js: 1.5.1
|
base64-js: 1.5.1
|
||||||
ieee754: 1.2.1
|
ieee754: 1.2.1
|
||||||
|
|
||||||
|
/buffer/6.0.3:
|
||||||
|
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
|
||||||
|
dependencies:
|
||||||
|
base64-js: 1.5.1
|
||||||
|
ieee754: 1.2.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/buffers/0.1.1:
|
/buffers/0.1.1:
|
||||||
resolution: {integrity: sha1-skV5w77U1tOWru5tmorn9Ugqt7s=}
|
resolution: {integrity: sha1-skV5w77U1tOWru5tmorn9Ugqt7s=}
|
||||||
engines: {node: '>=0.2.0'}
|
engines: {node: '>=0.2.0'}
|
||||||
@ -1831,6 +1883,11 @@ packages:
|
|||||||
supports-color: 7.2.0
|
supports-color: 7.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/chalk/5.0.1:
|
||||||
|
resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==}
|
||||||
|
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/change-case/4.1.2:
|
/change-case/4.1.2:
|
||||||
resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==}
|
resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1915,6 +1972,18 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/cli-cursor/4.0.0:
|
||||||
|
resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
|
||||||
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
dependencies:
|
||||||
|
restore-cursor: 4.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/cli-spinners/2.6.1:
|
||||||
|
resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/cli-truncate/2.1.0:
|
/cli-truncate/2.1.0:
|
||||||
resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
|
resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@ -1944,6 +2013,11 @@ packages:
|
|||||||
mimic-response: 1.0.1
|
mimic-response: 1.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/clone/1.0.4:
|
||||||
|
resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=}
|
||||||
|
engines: {node: '>=0.8'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/clone/2.1.2:
|
/clone/2.1.2:
|
||||||
resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=}
|
resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=}
|
||||||
engines: {node: '>=0.8'}
|
engines: {node: '>=0.8'}
|
||||||
@ -2048,6 +2122,21 @@ packages:
|
|||||||
readable-stream: 2.3.7
|
readable-stream: 2.3.7
|
||||||
typedarray: 0.0.6
|
typedarray: 0.0.6
|
||||||
|
|
||||||
|
/concurrently/7.0.0:
|
||||||
|
resolution: {integrity: sha512-WKM7PUsI8wyXpF80H+zjHP32fsgsHNQfPLw/e70Z5dYkV7hF+rf8q3D+ScWJIEr57CpkO3OWBko6hwhQLPR8Pw==}
|
||||||
|
engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
chalk: 4.1.2
|
||||||
|
date-fns: 2.28.0
|
||||||
|
lodash: 4.17.21
|
||||||
|
rxjs: 6.6.7
|
||||||
|
spawn-command: 0.0.2-1
|
||||||
|
supports-color: 8.1.1
|
||||||
|
tree-kill: 1.2.2
|
||||||
|
yargs: 16.2.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/conf/10.1.1:
|
/conf/10.1.1:
|
||||||
resolution: {integrity: sha512-z2civwq/k8TMYtcn3SVP0Peso4otIWnHtcTuHhQ0zDZDdP4NTxqEc8owfkz4zBsdMYdn/LFcE+ZhbCeqkhtq3Q==}
|
resolution: {integrity: sha512-z2civwq/k8TMYtcn3SVP0Peso4otIWnHtcTuHhQ0zDZDdP4NTxqEc8owfkz4zBsdMYdn/LFcE+ZhbCeqkhtq3Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@ -2262,6 +2351,11 @@ packages:
|
|||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/date-fns/2.28.0:
|
||||||
|
resolution: {integrity: sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==}
|
||||||
|
engines: {node: '>=0.11'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/dayjs/1.11.0:
|
/dayjs/1.11.0:
|
||||||
resolution: {integrity: sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==}
|
resolution: {integrity: sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -2330,6 +2424,12 @@ packages:
|
|||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/defaults/1.0.3:
|
||||||
|
resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=}
|
||||||
|
dependencies:
|
||||||
|
clone: 1.0.4
|
||||||
|
dev: true
|
||||||
|
|
||||||
/defer-to-connect/1.1.3:
|
/defer-to-connect/1.1.3:
|
||||||
resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==}
|
resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -2415,7 +2515,7 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
acorn-node: 1.8.2
|
acorn-node: 1.8.2
|
||||||
defined: 1.0.0
|
defined: 1.0.0
|
||||||
minimist: 1.2.5
|
minimist: 1.2.6
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/dicer/0.3.0:
|
/dicer/0.3.0:
|
||||||
@ -2658,7 +2758,7 @@ packages:
|
|||||||
compare-version: 0.1.2
|
compare-version: 0.1.2
|
||||||
debug: 2.6.9
|
debug: 2.6.9
|
||||||
isbinaryfile: 3.0.3
|
isbinaryfile: 3.0.3
|
||||||
minimist: 1.2.5
|
minimist: 1.2.6
|
||||||
plist: 3.0.4
|
plist: 3.0.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -2798,8 +2898,17 @@ packages:
|
|||||||
es6-promise: 4.2.8
|
es6-promise: 4.2.8
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/esbuild-android-arm64/0.14.21:
|
/esbuild-android-64/0.14.28:
|
||||||
resolution: {integrity: sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ==}
|
resolution: {integrity: sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [android]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/esbuild-android-arm64/0.14.28:
|
||||||
|
resolution: {integrity: sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [android]
|
os: [android]
|
||||||
@ -2807,8 +2916,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-darwin-64/0.14.21:
|
/esbuild-darwin-64/0.14.28:
|
||||||
resolution: {integrity: sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ==}
|
resolution: {integrity: sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@ -2816,8 +2925,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-darwin-arm64/0.14.21:
|
/esbuild-darwin-arm64/0.14.28:
|
||||||
resolution: {integrity: sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ==}
|
resolution: {integrity: sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
@ -2825,8 +2934,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-freebsd-64/0.14.21:
|
/esbuild-freebsd-64/0.14.28:
|
||||||
resolution: {integrity: sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g==}
|
resolution: {integrity: sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
@ -2834,8 +2943,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-freebsd-arm64/0.14.21:
|
/esbuild-freebsd-arm64/0.14.28:
|
||||||
resolution: {integrity: sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA==}
|
resolution: {integrity: sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
@ -2843,8 +2952,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-32/0.14.21:
|
/esbuild-linux-32/0.14.28:
|
||||||
resolution: {integrity: sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg==}
|
resolution: {integrity: sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -2852,8 +2961,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-64/0.14.21:
|
/esbuild-linux-64/0.14.28:
|
||||||
resolution: {integrity: sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA==}
|
resolution: {integrity: sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -2861,8 +2970,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-arm/0.14.21:
|
/esbuild-linux-arm/0.14.28:
|
||||||
resolution: {integrity: sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w==}
|
resolution: {integrity: sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -2870,8 +2979,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-arm64/0.14.21:
|
/esbuild-linux-arm64/0.14.28:
|
||||||
resolution: {integrity: sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g==}
|
resolution: {integrity: sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -2879,8 +2988,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-mips64le/0.14.21:
|
/esbuild-linux-mips64le/0.14.28:
|
||||||
resolution: {integrity: sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A==}
|
resolution: {integrity: sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [mips64el]
|
cpu: [mips64el]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -2888,8 +2997,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-ppc64le/0.14.21:
|
/esbuild-linux-ppc64le/0.14.28:
|
||||||
resolution: {integrity: sha512-4TWxpK391en2UBUw6GSrukToTDu6lL9vkm3Ll40HrI08WG3qcnJu7bl8e1+GzelDsiw1QmfAY/nNvJ6iaHRpCQ==}
|
resolution: {integrity: sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -2897,8 +3006,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-riscv64/0.14.21:
|
/esbuild-linux-riscv64/0.14.28:
|
||||||
resolution: {integrity: sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q==}
|
resolution: {integrity: sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [riscv64]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -2906,8 +3015,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-s390x/0.14.21:
|
/esbuild-linux-s390x/0.14.28:
|
||||||
resolution: {integrity: sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA==}
|
resolution: {integrity: sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
@ -2915,8 +3024,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-netbsd-64/0.14.21:
|
/esbuild-netbsd-64/0.14.28:
|
||||||
resolution: {integrity: sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g==}
|
resolution: {integrity: sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [netbsd]
|
os: [netbsd]
|
||||||
@ -2924,8 +3033,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-openbsd-64/0.14.21:
|
/esbuild-openbsd-64/0.14.28:
|
||||||
resolution: {integrity: sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA==}
|
resolution: {integrity: sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [openbsd]
|
os: [openbsd]
|
||||||
@ -2933,8 +3042,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-sunos-64/0.14.21:
|
/esbuild-sunos-64/0.14.28:
|
||||||
resolution: {integrity: sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA==}
|
resolution: {integrity: sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [sunos]
|
os: [sunos]
|
||||||
@ -2942,8 +3051,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-32/0.14.21:
|
/esbuild-windows-32/0.14.28:
|
||||||
resolution: {integrity: sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A==}
|
resolution: {integrity: sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@ -2951,8 +3060,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-64/0.14.21:
|
/esbuild-windows-64/0.14.28:
|
||||||
resolution: {integrity: sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA==}
|
resolution: {integrity: sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@ -2960,8 +3069,8 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-arm64/0.14.21:
|
/esbuild-windows-arm64/0.14.28:
|
||||||
resolution: {integrity: sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw==}
|
resolution: {integrity: sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@ -2969,31 +3078,32 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild/0.14.21:
|
/esbuild/0.14.28:
|
||||||
resolution: {integrity: sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A==}
|
resolution: {integrity: sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
esbuild-android-arm64: 0.14.21
|
esbuild-android-64: 0.14.28
|
||||||
esbuild-darwin-64: 0.14.21
|
esbuild-android-arm64: 0.14.28
|
||||||
esbuild-darwin-arm64: 0.14.21
|
esbuild-darwin-64: 0.14.28
|
||||||
esbuild-freebsd-64: 0.14.21
|
esbuild-darwin-arm64: 0.14.28
|
||||||
esbuild-freebsd-arm64: 0.14.21
|
esbuild-freebsd-64: 0.14.28
|
||||||
esbuild-linux-32: 0.14.21
|
esbuild-freebsd-arm64: 0.14.28
|
||||||
esbuild-linux-64: 0.14.21
|
esbuild-linux-32: 0.14.28
|
||||||
esbuild-linux-arm: 0.14.21
|
esbuild-linux-64: 0.14.28
|
||||||
esbuild-linux-arm64: 0.14.21
|
esbuild-linux-arm: 0.14.28
|
||||||
esbuild-linux-mips64le: 0.14.21
|
esbuild-linux-arm64: 0.14.28
|
||||||
esbuild-linux-ppc64le: 0.14.21
|
esbuild-linux-mips64le: 0.14.28
|
||||||
esbuild-linux-riscv64: 0.14.21
|
esbuild-linux-ppc64le: 0.14.28
|
||||||
esbuild-linux-s390x: 0.14.21
|
esbuild-linux-riscv64: 0.14.28
|
||||||
esbuild-netbsd-64: 0.14.21
|
esbuild-linux-s390x: 0.14.28
|
||||||
esbuild-openbsd-64: 0.14.21
|
esbuild-netbsd-64: 0.14.28
|
||||||
esbuild-sunos-64: 0.14.21
|
esbuild-openbsd-64: 0.14.28
|
||||||
esbuild-windows-32: 0.14.21
|
esbuild-sunos-64: 0.14.28
|
||||||
esbuild-windows-64: 0.14.21
|
esbuild-windows-32: 0.14.28
|
||||||
esbuild-windows-arm64: 0.14.21
|
esbuild-windows-64: 0.14.28
|
||||||
|
esbuild-windows-arm64: 0.14.28
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/escalade/3.1.1:
|
/escalade/3.1.1:
|
||||||
@ -3911,7 +4021,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
|
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
react-is: 16.13.1
|
react-is: 16.13.1
|
||||||
dev: false
|
dev: true
|
||||||
|
|
||||||
/hosted-git-info/4.1.0:
|
/hosted-git-info/4.1.0:
|
||||||
resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
|
resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
|
||||||
@ -4277,6 +4387,11 @@ packages:
|
|||||||
is-path-inside: 3.0.3
|
is-path-inside: 3.0.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/is-interactive/2.0.0:
|
||||||
|
resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/is-negative-zero/2.0.2:
|
/is-negative-zero/2.0.2:
|
||||||
resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
|
resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@ -4356,6 +4471,11 @@ packages:
|
|||||||
/is-typedarray/1.0.0:
|
/is-typedarray/1.0.0:
|
||||||
resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=}
|
resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=}
|
||||||
|
|
||||||
|
/is-unicode-supported/1.2.0:
|
||||||
|
resolution: {integrity: sha512-wH+U77omcRzevfIG8dDhTS0V9zZyweakfD01FULl97+0EHiJTTZtJqxPSkIIo/SDPv/i07k/C9jAPY+jwLLeUQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/is-weakref/1.0.2:
|
/is-weakref/1.0.2:
|
||||||
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
|
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -4427,6 +4547,16 @@ packages:
|
|||||||
minimatch: 3.1.2
|
minimatch: 3.1.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/joi/17.6.0:
|
||||||
|
resolution: {integrity: sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==}
|
||||||
|
dependencies:
|
||||||
|
'@hapi/hoek': 9.2.1
|
||||||
|
'@hapi/topo': 5.1.0
|
||||||
|
'@sideway/address': 4.1.4
|
||||||
|
'@sideway/formula': 3.0.0
|
||||||
|
'@sideway/pinpoint': 2.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/js-base64/2.6.4:
|
/js-base64/2.6.4:
|
||||||
resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==}
|
resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -4498,7 +4628,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
|
resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist: 1.2.5
|
minimist: 1.2.6
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/json5/2.2.0:
|
/json5/2.2.0:
|
||||||
@ -4506,7 +4636,7 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist: 1.2.5
|
minimist: 1.2.6
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/jsonfile/4.0.0:
|
/jsonfile/4.0.0:
|
||||||
@ -4669,6 +4799,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/log-symbols/5.1.0:
|
||||||
|
resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
dependencies:
|
||||||
|
chalk: 5.0.1
|
||||||
|
is-unicode-supported: 1.2.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/loose-envify/1.4.0:
|
/loose-envify/1.4.0:
|
||||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@ -4839,7 +4977,6 @@ packages:
|
|||||||
/mimic-fn/2.1.0:
|
/mimic-fn/2.1.0:
|
||||||
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/mimic-fn/3.1.0:
|
/mimic-fn/3.1.0:
|
||||||
resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==}
|
resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==}
|
||||||
@ -4867,8 +5004,8 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion: 1.1.11
|
brace-expansion: 1.1.11
|
||||||
|
|
||||||
/minimist/1.2.5:
|
/minimist/1.2.6:
|
||||||
resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
|
resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
|
||||||
|
|
||||||
/minipass/3.1.6:
|
/minipass/3.1.6:
|
||||||
resolution: {integrity: sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==}
|
resolution: {integrity: sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==}
|
||||||
@ -4901,7 +5038,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==}
|
resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist: 1.2.5
|
minimist: 1.2.6
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/mkdirp/1.0.4:
|
/mkdirp/1.0.4:
|
||||||
@ -5195,7 +5332,6 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dependencies:
|
dependencies:
|
||||||
mimic-fn: 2.1.0
|
mimic-fn: 2.1.0
|
||||||
dev: false
|
|
||||||
|
|
||||||
/open/8.4.0:
|
/open/8.4.0:
|
||||||
resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==}
|
resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==}
|
||||||
@ -5230,6 +5366,21 @@ packages:
|
|||||||
word-wrap: 1.2.3
|
word-wrap: 1.2.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/ora/6.1.0:
|
||||||
|
resolution: {integrity: sha512-CxEP6845hLK+NHFWZ+LplGO4zfw4QSfxTlqMfvlJ988GoiUeZDMzCvqsZkFHv69sPICmJH1MDxZoQFOKXerAVw==}
|
||||||
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
dependencies:
|
||||||
|
bl: 5.0.0
|
||||||
|
chalk: 5.0.1
|
||||||
|
cli-cursor: 4.0.0
|
||||||
|
cli-spinners: 2.6.1
|
||||||
|
is-interactive: 2.0.0
|
||||||
|
is-unicode-supported: 1.2.0
|
||||||
|
log-symbols: 5.1.0
|
||||||
|
strip-ansi: 7.0.1
|
||||||
|
wcwidth: 1.0.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/p-cancelable/1.1.0:
|
/p-cancelable/1.1.0:
|
||||||
resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==}
|
resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@ -5546,7 +5697,7 @@ packages:
|
|||||||
detect-libc: 2.0.1
|
detect-libc: 2.0.1
|
||||||
expand-template: 2.0.3
|
expand-template: 2.0.3
|
||||||
github-from-package: 0.0.0
|
github-from-package: 0.0.0
|
||||||
minimist: 1.2.5
|
minimist: 1.2.6
|
||||||
mkdirp-classic: 0.5.3
|
mkdirp-classic: 0.5.3
|
||||||
napi-build-utils: 1.0.2
|
napi-build-utils: 1.0.2
|
||||||
node-abi: 3.8.0
|
node-abi: 3.8.0
|
||||||
@ -5715,7 +5866,7 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
deep-extend: 0.6.0
|
deep-extend: 0.6.0
|
||||||
ini: 1.3.8
|
ini: 1.3.8
|
||||||
minimist: 1.2.5
|
minimist: 1.2.6
|
||||||
strip-json-comments: 2.0.1
|
strip-json-comments: 2.0.1
|
||||||
|
|
||||||
/react-dom/17.0.2_react@17.0.2:
|
/react-dom/17.0.2_react@17.0.2:
|
||||||
@ -6060,6 +6211,14 @@ packages:
|
|||||||
lowercase-keys: 1.0.1
|
lowercase-keys: 1.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/restore-cursor/4.0.0:
|
||||||
|
resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
|
||||||
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
dependencies:
|
||||||
|
onetime: 5.1.2
|
||||||
|
signal-exit: 3.0.7
|
||||||
|
dev: true
|
||||||
|
|
||||||
/ret/0.1.15:
|
/ret/0.1.15:
|
||||||
resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
|
resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
|
||||||
engines: {node: '>=0.12'}
|
engines: {node: '>=0.12'}
|
||||||
@ -6131,6 +6290,19 @@ packages:
|
|||||||
queue-microtask: 1.2.3
|
queue-microtask: 1.2.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/rxjs/6.6.7:
|
||||||
|
resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
|
||||||
|
engines: {npm: '>=2.0.0'}
|
||||||
|
dependencies:
|
||||||
|
tslib: 1.14.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/rxjs/7.5.5:
|
||||||
|
resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==}
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.3.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/safe-buffer/5.1.2:
|
/safe-buffer/5.1.2:
|
||||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||||
|
|
||||||
@ -6443,6 +6615,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
|
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/spawn-command/0.0.2-1:
|
||||||
|
resolution: {integrity: sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/split-string/3.1.0:
|
/split-string/3.1.0:
|
||||||
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
|
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@ -6597,6 +6773,13 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex: 5.0.1
|
ansi-regex: 5.0.1
|
||||||
|
|
||||||
|
/strip-ansi/7.0.1:
|
||||||
|
resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
dependencies:
|
||||||
|
ansi-regex: 6.0.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/strip-json-comments/2.0.1:
|
/strip-json-comments/2.0.1:
|
||||||
resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=}
|
resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@ -6652,6 +6835,13 @@ packages:
|
|||||||
has-flag: 4.0.0
|
has-flag: 4.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/supports-color/8.1.1:
|
||||||
|
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
has-flag: 4.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/supports-preserve-symlinks-flag/1.0.0:
|
/supports-preserve-symlinks-flag/1.0.0:
|
||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
@ -6879,6 +7069,11 @@ packages:
|
|||||||
resolution: {integrity: sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=}
|
resolution: {integrity: sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/tree-kill/1.2.2:
|
||||||
|
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
|
||||||
|
hasBin: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
/truncate-utf8-bytes/1.0.2:
|
/truncate-utf8-bytes/1.0.2:
|
||||||
resolution: {integrity: sha1-QFkjkJWS1W94pYGENLC3hInKXys=}
|
resolution: {integrity: sha1-QFkjkJWS1W94pYGENLC3hInKXys=}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -7024,7 +7219,7 @@ packages:
|
|||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/unplugin-auto-import/0.6.6_rollup@2.70.1+vite@2.8.6:
|
/unplugin-auto-import/0.6.6_30793d9d6b24634df96d91984952e36a:
|
||||||
resolution: {integrity: sha512-x3YxAI9ePoumXOakuS5YJlFkSyAkl5vJlaFZSJhSp75nH5gg8LpqQ/0Gz1/CG/JRRv+xaE1CZpEV161AqFGjEg==}
|
resolution: {integrity: sha512-x3YxAI9ePoumXOakuS5YJlFkSyAkl5vJlaFZSJhSp75nH5gg8LpqQ/0Gz1/CG/JRRv+xaE1CZpEV161AqFGjEg==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -7038,7 +7233,7 @@ packages:
|
|||||||
local-pkg: 0.4.1
|
local-pkg: 0.4.1
|
||||||
magic-string: 0.26.1
|
magic-string: 0.26.1
|
||||||
resolve: 1.22.0
|
resolve: 1.22.0
|
||||||
unplugin: 0.4.0_rollup@2.70.1+vite@2.8.6
|
unplugin: 0.4.0_30793d9d6b24634df96d91984952e36a
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- esbuild
|
- esbuild
|
||||||
- rollup
|
- rollup
|
||||||
@ -7046,7 +7241,7 @@ packages:
|
|||||||
- webpack
|
- webpack
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/unplugin/0.4.0_rollup@2.70.1+vite@2.8.6:
|
/unplugin/0.4.0_30793d9d6b24634df96d91984952e36a:
|
||||||
resolution: {integrity: sha512-4ScITEmzlz1iZW3tkz+3L1V5k/xMQ6kjgm4lEXKxH0ozd8/OUWfiSA7RMRyrawsvq/t50JIzPpp1UyuSL/AXkA==}
|
resolution: {integrity: sha512-4ScITEmzlz1iZW3tkz+3L1V5k/xMQ6kjgm4lEXKxH0ozd8/OUWfiSA7RMRyrawsvq/t50JIzPpp1UyuSL/AXkA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
esbuild: '>=0.13'
|
esbuild: '>=0.13'
|
||||||
@ -7064,6 +7259,7 @@ packages:
|
|||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar: 3.5.3
|
chokidar: 3.5.3
|
||||||
|
esbuild: 0.14.28
|
||||||
rollup: 2.70.1
|
rollup: 2.70.1
|
||||||
vite: 2.8.6_sass@1.49.9
|
vite: 2.8.6_sass@1.49.9
|
||||||
webpack-virtual-modules: 0.4.3
|
webpack-virtual-modules: 0.4.3
|
||||||
@ -7282,7 +7478,7 @@ packages:
|
|||||||
stylus:
|
stylus:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.14.21
|
esbuild: 0.14.28
|
||||||
postcss: 8.4.12
|
postcss: 8.4.12
|
||||||
resolve: 1.22.0
|
resolve: 1.22.0
|
||||||
rollup: 2.70.1
|
rollup: 2.70.1
|
||||||
@ -7300,6 +7496,26 @@ packages:
|
|||||||
acorn-walk: 8.2.0
|
acorn-walk: 8.2.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/wait-on/6.0.1:
|
||||||
|
resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==}
|
||||||
|
engines: {node: '>=10.0.0'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
axios: 0.25.0
|
||||||
|
joi: 17.6.0
|
||||||
|
lodash: 4.17.21
|
||||||
|
minimist: 1.2.6
|
||||||
|
rxjs: 7.5.5
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- debug
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/wcwidth/1.0.1:
|
||||||
|
resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=}
|
||||||
|
dependencies:
|
||||||
|
defaults: 1.0.3
|
||||||
|
dev: true
|
||||||
|
|
||||||
/webidl-conversions/3.0.1:
|
/webidl-conversions/3.0.1:
|
||||||
resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=}
|
resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=}
|
||||||
dev: false
|
dev: false
|
||||||
@ -7432,6 +7648,11 @@ packages:
|
|||||||
camelcase: 5.3.1
|
camelcase: 5.3.1
|
||||||
decamelize: 1.2.0
|
decamelize: 1.2.0
|
||||||
|
|
||||||
|
/yargs-parser/20.2.9:
|
||||||
|
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/yargs-parser/21.0.0:
|
/yargs-parser/21.0.0:
|
||||||
resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==}
|
resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@ -7452,6 +7673,19 @@ packages:
|
|||||||
y18n: 4.0.3
|
y18n: 4.0.3
|
||||||
yargs-parser: 18.1.3
|
yargs-parser: 18.1.3
|
||||||
|
|
||||||
|
/yargs/16.2.0:
|
||||||
|
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
cliui: 7.0.4
|
||||||
|
escalade: 3.1.1
|
||||||
|
get-caller-file: 2.0.5
|
||||||
|
require-directory: 2.1.1
|
||||||
|
string-width: 4.2.3
|
||||||
|
y18n: 5.0.8
|
||||||
|
yargs-parser: 20.2.9
|
||||||
|
dev: true
|
||||||
|
|
||||||
/yargs/17.3.1:
|
/yargs/17.3.1:
|
||||||
resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==}
|
resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
99
scripts/build.main.mjs
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
import { build } from 'esbuild'
|
||||||
|
import ora from 'ora'
|
||||||
|
import { builtinModules } from 'module'
|
||||||
|
import electron from 'electron'
|
||||||
|
import { spawn } from 'child_process'
|
||||||
|
import path from 'path'
|
||||||
|
import waitOn from 'wait-on'
|
||||||
|
import 'dotenv/config'
|
||||||
|
import pc from 'picocolors'
|
||||||
|
import minimist from 'minimist'
|
||||||
|
|
||||||
|
const argv = minimist(process.argv.slice(2))
|
||||||
|
const TAG = '[script/build.main.ts]'
|
||||||
|
const spinner = ora(`${TAG} Main Process Building...`)
|
||||||
|
|
||||||
|
const options = {
|
||||||
|
entryPoints: ['./src/main/index.ts', './src/main/rendererPreload.ts'],
|
||||||
|
outdir: './dist/main/',
|
||||||
|
platform: 'node',
|
||||||
|
format: 'cjs',
|
||||||
|
bundle: true,
|
||||||
|
external: [
|
||||||
|
...builtinModules.filter(
|
||||||
|
x => !/^_|^(internal|v8|node-inspect)\/|\//.test(x)
|
||||||
|
),
|
||||||
|
'electron',
|
||||||
|
'NeteaseCloudMusicApi',
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
const runApp = () => {
|
||||||
|
return spawn(
|
||||||
|
electron,
|
||||||
|
[path.resolve(process.cwd(), './dist/main/index.js')],
|
||||||
|
{
|
||||||
|
stdio: 'inherit',
|
||||||
|
env: {
|
||||||
|
...process.env,
|
||||||
|
NODE_ENV: 'development',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (argv.watch) {
|
||||||
|
waitOn(
|
||||||
|
{
|
||||||
|
resources: [
|
||||||
|
`http://127.0.0.1:${process.env.ELECTRON_WEB_SERVER_PORT}/index.html`,
|
||||||
|
],
|
||||||
|
timeout: 5000,
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
if (err) {
|
||||||
|
console.log(err)
|
||||||
|
process.exit(1)
|
||||||
|
} else {
|
||||||
|
let child
|
||||||
|
build({
|
||||||
|
...options,
|
||||||
|
watch: {
|
||||||
|
onRebuild(error) {
|
||||||
|
if (error) {
|
||||||
|
console.error(pc.red('Rebuild Failed:'), error)
|
||||||
|
} else {
|
||||||
|
console.log(pc.green('Rebuild Succeeded'))
|
||||||
|
if (child) child.kill()
|
||||||
|
child = runApp()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}).then(() => {
|
||||||
|
console.log(pc.yellow(`⚡ Run App`))
|
||||||
|
if (child) child.kill()
|
||||||
|
child = runApp()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
spinner.start()
|
||||||
|
build({
|
||||||
|
...options,
|
||||||
|
minify: true,
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
console.log(TAG, pc.green('Main Process Build Succeeded.'))
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.log(
|
||||||
|
`\n${TAG} ${pc.red('Main Process Build Failed')}\n`,
|
||||||
|
error,
|
||||||
|
'\n'
|
||||||
|
)
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
spinner.stop()
|
||||||
|
})
|
||||||
|
}
|
@ -1,8 +0,0 @@
|
|||||||
import { build } from 'vite'
|
|
||||||
|
|
||||||
await build({
|
|
||||||
configFile: 'packages/main/vite.config.ts',
|
|
||||||
mode: process.env.NODE_ENV === 'debug' ? 'debug' : 'production'
|
|
||||||
})
|
|
||||||
await build({ configFile: 'packages/preload/vite.config.ts' })
|
|
||||||
await build({ configFile: 'packages/renderer/vite.config.ts' })
|
|
@ -1,45 +0,0 @@
|
|||||||
import { builtinModules } from 'module'
|
|
||||||
import { Plugin, build } from 'vite'
|
|
||||||
import resolve from 'vite-plugin-resolve'
|
|
||||||
|
|
||||||
export default function esm2cjs(modules: string[]): Plugin {
|
|
||||||
return resolve(
|
|
||||||
{
|
|
||||||
...modules.reduce(
|
|
||||||
(memo, moduleId) =>
|
|
||||||
Object.assign(memo, {
|
|
||||||
async [moduleId](args) {
|
|
||||||
await build({
|
|
||||||
plugins: [
|
|
||||||
{
|
|
||||||
name: 'vite-plugin[node:mod-to-mod]',
|
|
||||||
enforce: 'pre',
|
|
||||||
resolveId(source) {
|
|
||||||
if (source.startsWith('node:')) {
|
|
||||||
return source.replace('node:', '')
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
build: {
|
|
||||||
outDir: args.dir,
|
|
||||||
minify: false,
|
|
||||||
emptyOutDir: false,
|
|
||||||
lib: {
|
|
||||||
entry: require.resolve(moduleId),
|
|
||||||
formats: ['cjs'],
|
|
||||||
fileName: () => `${moduleId}.js`,
|
|
||||||
},
|
|
||||||
rollupOptions: {
|
|
||||||
external: [...builtinModules],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
},
|
|
||||||
} as Parameters<typeof resolve>[0]),
|
|
||||||
{}
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{ dir: '.vite-plugin-resolve-esm' }
|
|
||||||
)
|
|
||||||
}
|
|
@ -1,99 +0,0 @@
|
|||||||
import { spawn } from 'child_process'
|
|
||||||
import { createServer, build } from 'vite'
|
|
||||||
import electron from 'electron'
|
|
||||||
import util from 'util'
|
|
||||||
import styles from 'ansi-styles'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @type {(server: import('vite').ViteDevServer) => Promise<import('rollup').RollupWatcher>}
|
|
||||||
*/
|
|
||||||
function watchMain(server) {
|
|
||||||
/**
|
|
||||||
* @type {import('child_process').ChildProcessWithoutNullStreams | null}
|
|
||||||
*/
|
|
||||||
let electronProcess = null
|
|
||||||
const address = server.httpServer.address()
|
|
||||||
const env = Object.assign(process.env, {
|
|
||||||
VITE_DEV_SERVER_HOST: address.address,
|
|
||||||
VITE_DEV_SERVER_PORT: address.port,
|
|
||||||
})
|
|
||||||
|
|
||||||
return build({
|
|
||||||
configFile: 'packages/main/vite.config.ts',
|
|
||||||
mode: 'development',
|
|
||||||
plugins: [
|
|
||||||
{
|
|
||||||
name: 'electron-main-watcher',
|
|
||||||
writeBundle() {
|
|
||||||
electronProcess && electronProcess.kill()
|
|
||||||
electronProcess = spawn(electron, ['.'], { stdio: 'inherit', env })
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
build: {
|
|
||||||
watch: true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @type {(server: import('vite').ViteDevServer) => Promise<import('rollup').RollupWatcher>}
|
|
||||||
*/
|
|
||||||
function watchPreload(server) {
|
|
||||||
return build({
|
|
||||||
configFile: 'packages/preload/vite.config.ts',
|
|
||||||
mode: 'development',
|
|
||||||
plugins: [
|
|
||||||
{
|
|
||||||
name: 'electron-preload-watcher',
|
|
||||||
writeBundle() {
|
|
||||||
server.ws.send({ type: 'full-reload' })
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
build: {
|
|
||||||
watch: true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// log prefix
|
|
||||||
function logPrefix(fn) {
|
|
||||||
const funcs = {
|
|
||||||
log: console.log.bind(console),
|
|
||||||
info: console.info.bind(console),
|
|
||||||
warn: console.warn.bind(console),
|
|
||||||
error: console.error.bind(console),
|
|
||||||
debug: (console.debug || console.log).bind(console),
|
|
||||||
}
|
|
||||||
const processLogText = (text, prefix) => {
|
|
||||||
return text.replaceAll('\n', '\n' + prefix)
|
|
||||||
}
|
|
||||||
Object.keys(funcs).forEach(function (k) {
|
|
||||||
console[k] = function () {
|
|
||||||
const string = typeof fn === 'function' ? fn() : fn
|
|
||||||
arguments[0] = util.format(string, processLogText(arguments[0], string))
|
|
||||||
funcs[k].apply(console, arguments)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const color = (hex, text) => {
|
|
||||||
return `${styles.color.ansi(styles.hexToAnsi(hex))}${text}${
|
|
||||||
styles.color.close
|
|
||||||
}`
|
|
||||||
}
|
|
||||||
|
|
||||||
// bootstrap
|
|
||||||
logPrefix(color('#eab308', '[vite] '))
|
|
||||||
console.log('building renderer')
|
|
||||||
const server = await createServer({
|
|
||||||
configFile: 'packages/renderer/vite.config.ts',
|
|
||||||
})
|
|
||||||
await server.listen()
|
|
||||||
|
|
||||||
console.log('building preload')
|
|
||||||
await watchPreload(server)
|
|
||||||
|
|
||||||
console.log('building main')
|
|
||||||
await watchMain(server)
|
|
@ -1,6 +1,7 @@
|
|||||||
import Realm from 'realm'
|
import Realm from 'realm'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
import { app } from 'electron'
|
import { app, ipcMain } from 'electron'
|
||||||
|
import fs from 'fs'
|
||||||
|
|
||||||
export enum ModelNames {
|
export enum ModelNames {
|
||||||
ACCOUNT_DATA = 'AccountData',
|
ACCOUNT_DATA = 'AccountData',
|
||||||
@ -43,6 +44,10 @@ const RegularSchemas = [
|
|||||||
|
|
||||||
export const realm = new Realm({
|
export const realm = new Realm({
|
||||||
path: path.resolve(app.getPath('userData'), './api_cache/db.realm'),
|
path: path.resolve(app.getPath('userData'), './api_cache/db.realm'),
|
||||||
|
shouldCompactOnLaunch: (totalSize, usedSize) => {
|
||||||
|
console.log(totalSize, usedSize)
|
||||||
|
return true
|
||||||
|
},
|
||||||
schema: [
|
schema: [
|
||||||
...RegularSchemas,
|
...RegularSchemas,
|
||||||
{
|
{
|
||||||
@ -96,3 +101,31 @@ export const db = {
|
|||||||
realm.delete(realm.objectForPrimaryKey(model, key))
|
realm.delete(realm.objectForPrimaryKey(model, key))
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ipcMain.on('test', () => {
|
||||||
|
;[
|
||||||
|
ModelNames.USER_PLAYLISTS,
|
||||||
|
ModelNames.ARTIST_ALBUMS,
|
||||||
|
ModelNames.PLAYLIST,
|
||||||
|
ModelNames.ALBUM,
|
||||||
|
ModelNames.TRACK,
|
||||||
|
ModelNames.ARTIST,
|
||||||
|
ModelNames.AUDIO,
|
||||||
|
ModelNames.ACCOUNT_DATA,
|
||||||
|
].forEach(name => {
|
||||||
|
const data = realm.objects(name)
|
||||||
|
|
||||||
|
fs.writeFile(`./tmp/${name}.json`, JSON.stringify(data), function (err) {
|
||||||
|
if (err) {
|
||||||
|
return console.log(err)
|
||||||
|
}
|
||||||
|
console.log('The file was saved!')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// realm.write(() => {
|
||||||
|
// realm.deleteAll()
|
||||||
|
// })
|
||||||
|
|
||||||
|
realm.compact()
|
||||||
|
})
|
@ -11,12 +11,12 @@ import { release } from 'os'
|
|||||||
import path, { join } from 'path'
|
import path, { join } from 'path'
|
||||||
import logger from './logger'
|
import logger from './logger'
|
||||||
import './server'
|
import './server'
|
||||||
import './database'
|
// import './database'
|
||||||
|
|
||||||
const isWindows = process.platform === 'win32'
|
const isWindows = process.platform === 'win32'
|
||||||
const isMac = process.platform === 'darwin'
|
const isMac = process.platform === 'darwin'
|
||||||
const isLinux = process.platform === 'linux'
|
const isLinux = process.platform === 'linux'
|
||||||
const isDev = !app.isPackaged
|
const isDev = process.env.NODE_ENV === 'development'
|
||||||
|
|
||||||
// Disable GPU Acceleration for Windows 7
|
// Disable GPU Acceleration for Windows 7
|
||||||
if (release().startsWith('6.1')) app.disableHardwareAcceleration()
|
if (release().startsWith('6.1')) app.disableHardwareAcceleration()
|
||||||
@ -51,10 +51,11 @@ let win: BrowserWindow | null = null
|
|||||||
|
|
||||||
async function createWindow() {
|
async function createWindow() {
|
||||||
// Create window
|
// Create window
|
||||||
|
|
||||||
const options: BrowserWindowConstructorOptions = {
|
const options: BrowserWindowConstructorOptions = {
|
||||||
title: 'Main window',
|
title: 'Main window',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
preload: join(__dirname, '../preload/index.cjs'),
|
preload: join(__dirname, '../main/rendererPreload.js'),
|
||||||
},
|
},
|
||||||
width: store.get('window.width'),
|
width: store.get('window.width'),
|
||||||
height: store.get('window.height'),
|
height: store.get('window.height'),
|
||||||
@ -70,14 +71,12 @@ async function createWindow() {
|
|||||||
win = new BrowserWindow(options)
|
win = new BrowserWindow(options)
|
||||||
|
|
||||||
// Web server
|
// Web server
|
||||||
if (app.isPackaged || process.env['DEBUG']) {
|
if (isDev) {
|
||||||
win.loadFile(join(__dirname, '../renderer/index.html'))
|
const url = `http://127.0.0.1:${process.env.ELECTRON_WEB_SERVER_PORT}`
|
||||||
} else {
|
|
||||||
const url = `http://${process.env['VITE_DEV_SERVER_HOST']}:${process.env['VITE_DEV_SERVER_PORT']}`
|
|
||||||
logger.info(`[index] Vite dev server running at: ${url}`)
|
|
||||||
|
|
||||||
win.loadURL(url)
|
win.loadURL(url)
|
||||||
win.webContents.openDevTools()
|
win.webContents.openDevTools()
|
||||||
|
} else {
|
||||||
|
win.loadFile(join(__dirname, '../renderer/index.html'))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make all links open with the browser, not with the application
|
// Make all links open with the browser, not with the application
|
@ -1,29 +1,17 @@
|
|||||||
import styles from 'ansi-styles'
|
|
||||||
import { app } from 'electron'
|
import { app } from 'electron'
|
||||||
import logger from 'electron-log'
|
import logger from 'electron-log'
|
||||||
|
import pc from 'picocolors'
|
||||||
|
|
||||||
const color = (hex: string, text: string) => {
|
logger.transports.console.format = `${pc.dim('{h}:{i}:{s}{scope}')} › {text}`
|
||||||
return `${styles.color.ansi(styles.hexToAnsi(hex))}${text}${
|
|
||||||
styles.color.close
|
|
||||||
}`
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.transports.console.format = `${color(
|
|
||||||
'38bdf8',
|
|
||||||
'[main]'
|
|
||||||
)} {h}:{i}:{s}.{ms}{scope} › {text}`
|
|
||||||
|
|
||||||
logger.transports.file.level = app.isPackaged ? 'info' : 'debug'
|
logger.transports.file.level = app.isPackaged ? 'info' : 'debug'
|
||||||
logger.info(
|
logger.info(
|
||||||
color(
|
`\n\n██╗ ██╗███████╗███████╗██████╗ ██╗ █████╗ ██╗ ██╗███╗ ███╗██╗ ██╗███████╗██╗ ██████╗
|
||||||
'335eea',
|
|
||||||
`\n\n██╗ ██╗███████╗███████╗██████╗ ██╗ █████╗ ██╗ ██╗███╗ ███╗██╗ ██╗███████╗██╗ ██████╗
|
|
||||||
╚██╗ ██╔╝██╔════╝██╔════╝██╔══██╗██║ ██╔══██╗╚██╗ ██╔╝████╗ ████║██║ ██║██╔════╝██║██╔════╝
|
╚██╗ ██╔╝██╔════╝██╔════╝██╔══██╗██║ ██╔══██╗╚██╗ ██╔╝████╗ ████║██║ ██║██╔════╝██║██╔════╝
|
||||||
╚████╔╝ █████╗ ███████╗██████╔╝██║ ███████║ ╚████╔╝ ██╔████╔██║██║ ██║███████╗██║██║
|
╚████╔╝ █████╗ ███████╗██████╔╝██║ ███████║ ╚████╔╝ ██╔████╔██║██║ ██║███████╗██║██║
|
||||||
╚██╔╝ ██╔══╝ ╚════██║██╔═══╝ ██║ ██╔══██║ ╚██╔╝ ██║╚██╔╝██║██║ ██║╚════██║██║██║
|
╚██╔╝ ██╔══╝ ╚════██║██╔═══╝ ██║ ██╔══██║ ╚██╔╝ ██║╚██╔╝██║██║ ██║╚════██║██║██║
|
||||||
██║ ███████╗███████║██║ ███████╗██║ ██║ ██║ ██║ ╚═╝ ██║╚██████╔╝███████║██║╚██████╗
|
██║ ███████╗███████║██║ ███████╗██║ ██║ ██║ ██║ ╚═╝ ██║╚██████╔╝███████║██║╚██████╗
|
||||||
╚═╝ ╚══════╝╚══════╝╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝\n`
|
╚═╝ ╚══════╝╚══════╝╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝\n`
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
export default logger
|
export default logger
|
4
src/main/rendererPreload.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
const { contextBridge, ipcRenderer } = require('electron')
|
||||||
|
|
||||||
|
contextBridge.exposeInMainWorld('ipcRenderer', ipcRenderer)
|
||||||
|
contextBridge.exposeInMainWorld('isElectron', true)
|
@ -1,11 +1,14 @@
|
|||||||
import * as Sentry from '@sentry/node'
|
import * as Sentry from '@sentry/node'
|
||||||
import * as Tracing from '@sentry/tracing'
|
import * as Tracing from '@sentry/tracing'
|
||||||
import pkg from '../../package.json'
|
import pkg from '../../package.json'
|
||||||
|
import logger from './logger'
|
||||||
|
|
||||||
|
logger.info(`[sentry] init sentry`)
|
||||||
|
|
||||||
Sentry.init({
|
Sentry.init({
|
||||||
dsn: 'https://2aaaa67f1c3d4d6baefafa5d58fcf340@o436528.ingest.sentry.io/6274637',
|
dsn: 'https://2aaaa67f1c3d4d6baefafa5d58fcf340@o436528.ingest.sentry.io/6274637',
|
||||||
release: `yesplaymusic@${pkg.version}`,
|
release: `yesplaymusic@${pkg.version}`,
|
||||||
environment: import.meta.env.MODE,
|
// environment: import.meta.env.MODE,
|
||||||
|
|
||||||
// Set tracesSampleRate to 1.0 to capture 100%
|
// Set tracesSampleRate to 1.0 to capture 100%
|
||||||
// of transactions for performance monitoring.
|
// of transactions for performance monitoring.
|
@ -2,12 +2,12 @@ import { pathCase } from 'change-case'
|
|||||||
import cookieParser from 'cookie-parser'
|
import cookieParser from 'cookie-parser'
|
||||||
import express, { Request, Response } from 'express'
|
import express, { Request, Response } from 'express'
|
||||||
import logger from './logger'
|
import logger from './logger'
|
||||||
import {
|
// import {
|
||||||
setCache,
|
// setCache,
|
||||||
getCacheForExpress,
|
// getCacheForExpress,
|
||||||
cacheAudio,
|
// cacheAudio,
|
||||||
getAudioCache,
|
// getAudioCache,
|
||||||
} from './cache'
|
// } from './cache'
|
||||||
import fileUpload from 'express-fileupload'
|
import fileUpload from 'express-fileupload'
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
@ -26,8 +26,8 @@ Object.entries(neteaseApi).forEach(([name, handler]) => {
|
|||||||
logger.info(`[server] Handling request: ${req.path}`)
|
logger.info(`[server] Handling request: ${req.path}`)
|
||||||
|
|
||||||
// Get from cache
|
// Get from cache
|
||||||
const cache = await getCacheForExpress(name, req)
|
// const cache = await getCacheForExpress(name, req)
|
||||||
if (cache) return res.json(cache)
|
// if (cache) return res.json(cache)
|
||||||
|
|
||||||
// Request netease api
|
// Request netease api
|
||||||
try {
|
try {
|
||||||
@ -36,7 +36,7 @@ Object.entries(neteaseApi).forEach(([name, handler]) => {
|
|||||||
cookie: `MUSIC_U=${req.cookies['MUSIC_U']}`,
|
cookie: `MUSIC_U=${req.cookies['MUSIC_U']}`,
|
||||||
})
|
})
|
||||||
|
|
||||||
setCache(name, result.body, req.query)
|
// setCache(name, result.body, req.query)
|
||||||
return res.send(result.body)
|
return res.send(result.body)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return res.status(500).send(error)
|
return res.status(500).send(error)
|
||||||
@ -51,7 +51,7 @@ Object.entries(neteaseApi).forEach(([name, handler]) => {
|
|||||||
app.get(
|
app.get(
|
||||||
'/yesplaymusic/audio/:filename',
|
'/yesplaymusic/audio/:filename',
|
||||||
async (req: Request, res: Response) => {
|
async (req: Request, res: Response) => {
|
||||||
getAudioCache(req.params.filename, res)
|
// getAudioCache(req.params.filename, res)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
app.post('/yesplaymusic/audio/:id', async (req: Request, res: Response) => {
|
app.post('/yesplaymusic/audio/:id', async (req: Request, res: Response) => {
|
||||||
@ -72,17 +72,17 @@ app.post('/yesplaymusic/audio/:id', async (req: Request, res: Response) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await cacheAudio(req.files.file.data, {
|
// await cacheAudio(req.files.file.data, {
|
||||||
id: id,
|
// id: id,
|
||||||
source: 'netease',
|
// source: 'netease',
|
||||||
})
|
// })
|
||||||
res.status(200).send('Audio cached!')
|
res.status(200).send('Audio cached!')
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
res.status(500).send({ error })
|
res.status(500).send({ error })
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const port = Number(process.env['ELECTRON_DEV_NETEASE_API_PORT'] ?? 3000)
|
const port = Number(process.env.ELECTRON_DEV_NETEASE_API_PORT ?? 3000)
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
logger.info(`[server] API server listening on port ${port}`)
|
logger.info(`[server] API server listening on port ${port}`)
|
||||||
})
|
})
|
Before Width: | Height: | Size: 259 B After Width: | Height: | Size: 259 B |
Before Width: | Height: | Size: 523 B After Width: | Height: | Size: 523 B |
Before Width: | Height: | Size: 946 B After Width: | Height: | Size: 946 B |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 542 B After Width: | Height: | Size: 542 B |
Before Width: | Height: | Size: 494 B After Width: | Height: | Size: 494 B |
Before Width: | Height: | Size: 429 B After Width: | Height: | Size: 429 B |
Before Width: | Height: | Size: 540 B After Width: | Height: | Size: 540 B |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 257 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 550 B After Width: | Height: | Size: 550 B |
Before Width: | Height: | Size: 535 B After Width: | Height: | Size: 535 B |
Before Width: | Height: | Size: 258 B After Width: | Height: | Size: 258 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 557 B |
Before Width: | Height: | Size: 367 B After Width: | Height: | Size: 367 B |
Before Width: | Height: | Size: 284 B After Width: | Height: | Size: 284 B |
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 254 B |
Before Width: | Height: | Size: 369 B After Width: | Height: | Size: 369 B |
Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 349 B |
Before Width: | Height: | Size: 741 B After Width: | Height: | Size: 741 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 371 B After Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 708 B After Width: | Height: | Size: 708 B |
Before Width: | Height: | Size: 1018 B After Width: | Height: | Size: 1018 B |
Before Width: | Height: | Size: 841 B After Width: | Height: | Size: 841 B |
Before Width: | Height: | Size: 496 B After Width: | Height: | Size: 496 B |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 1023 B After Width: | Height: | Size: 1023 B |
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 341 B |
Before Width: | Height: | Size: 525 B After Width: | Height: | Size: 525 B |
Before Width: | Height: | Size: 702 B After Width: | Height: | Size: 702 B |
Before Width: | Height: | Size: 572 B After Width: | Height: | Size: 572 B |
Before Width: | Height: | Size: 222 B After Width: | Height: | Size: 222 B |
@ -3,9 +3,8 @@ export {}
|
|||||||
declare global {
|
declare global {
|
||||||
interface Window {
|
interface Window {
|
||||||
// Expose some Api through preload script
|
// Expose some Api through preload script
|
||||||
fs: typeof import('fs')
|
ipcRenderer?: import('electron').IpcRenderer
|
||||||
ipcRenderer: import('electron').IpcRenderer
|
isElectron?: boolean
|
||||||
removeLoading: () => void
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -18,13 +18,13 @@ export default function useAlbum(params: FetchAlbumParams, noCache?: boolean) {
|
|||||||
{
|
{
|
||||||
enabled: !!params.id,
|
enabled: !!params.id,
|
||||||
staleTime: 24 * 60 * 60 * 1000, // 24 hours
|
staleTime: 24 * 60 * 60 * 1000, // 24 hours
|
||||||
placeholderData: (): FetchAlbumResponse =>
|
// placeholderData: (): FetchAlbumResponse =>
|
||||||
window.ipcRenderer.sendSync('getApiCacheSync', {
|
// window.ipcRenderer.sendSync('getApiCacheSync', {
|
||||||
api: 'album',
|
// api: 'album',
|
||||||
query: {
|
// query: {
|
||||||
id: params.id,
|
// id: params.id,
|
||||||
},
|
// },
|
||||||
}),
|
// }),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -12,13 +12,13 @@ export default function useArtist(
|
|||||||
{
|
{
|
||||||
enabled: !!params.id && params.id > 0 && !isNaN(Number(params.id)),
|
enabled: !!params.id && params.id > 0 && !isNaN(Number(params.id)),
|
||||||
staleTime: 5 * 60 * 1000, // 5 mins
|
staleTime: 5 * 60 * 1000, // 5 mins
|
||||||
placeholderData: (): FetchArtistResponse =>
|
// placeholderData: (): FetchArtistResponse =>
|
||||||
window.ipcRenderer.sendSync('getApiCacheSync', {
|
// window.ipcRenderer.sendSync('getApiCacheSync', {
|
||||||
api: 'artists',
|
// api: 'artists',
|
||||||
query: {
|
// query: {
|
||||||
id: params.id,
|
// id: params.id,
|
||||||
},
|
// },
|
||||||
}),
|
// }),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -15,13 +15,13 @@ export default function useUserAlbums(params: FetchArtistAlbumsParams) {
|
|||||||
{
|
{
|
||||||
enabled: !!params.id && params.id !== 0,
|
enabled: !!params.id && params.id !== 0,
|
||||||
staleTime: 3600000,
|
staleTime: 3600000,
|
||||||
placeholderData: (): FetchArtistAlbumsResponse =>
|
// placeholderData: (): FetchArtistAlbumsResponse =>
|
||||||
window.ipcRenderer.sendSync('getApiCacheSync', {
|
// window.ipcRenderer.sendSync('getApiCacheSync', {
|
||||||
api: 'artist/album',
|
// api: 'artist/album',
|
||||||
query: {
|
// query: {
|
||||||
id: params.id,
|
// id: params.id,
|
||||||
},
|
// },
|
||||||
}),
|
// }),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -17,13 +17,13 @@ export default function usePlaylist(
|
|||||||
{
|
{
|
||||||
enabled: !!(params.id && params.id > 0 && !isNaN(Number(params.id))),
|
enabled: !!(params.id && params.id > 0 && !isNaN(Number(params.id))),
|
||||||
refetchOnWindowFocus: true,
|
refetchOnWindowFocus: true,
|
||||||
placeholderData: (): FetchPlaylistResponse | undefined =>
|
// placeholderData: (): FetchPlaylistResponse | undefined =>
|
||||||
window.ipcRenderer.sendSync('getApiCacheSync', {
|
// window.ipcRenderer.sendSync('getApiCacheSync', {
|
||||||
api: 'playlist/detail',
|
// api: 'playlist/detail',
|
||||||
query: {
|
// query: {
|
||||||
id: params.id,
|
// id: params.id,
|
||||||
},
|
// },
|
||||||
}),
|
// }),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -16,13 +16,13 @@ export default function useTracks(params: FetchTracksParams) {
|
|||||||
enabled: params.ids.length !== 0,
|
enabled: params.ids.length !== 0,
|
||||||
refetchInterval: false,
|
refetchInterval: false,
|
||||||
staleTime: Infinity,
|
staleTime: Infinity,
|
||||||
initialData: (): FetchTracksResponse | undefined =>
|
// initialData: (): FetchTracksResponse | undefined =>
|
||||||
window.ipcRenderer.sendSync('getApiCacheSync', {
|
// window.ipcRenderer.sendSync('getApiCacheSync', {
|
||||||
api: 'song/detail',
|
// api: 'song/detail',
|
||||||
query: {
|
// query: {
|
||||||
ids: params.ids.join(','),
|
// ids: params.ids.join(','),
|
||||||
},
|
// },
|
||||||
}),
|
// }),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -4,9 +4,9 @@ import { UserApiNames } from '@/api/user'
|
|||||||
export default function useUser() {
|
export default function useUser() {
|
||||||
return useQuery(UserApiNames.FETCH_USER_ACCOUNT, fetchUserAccount, {
|
return useQuery(UserApiNames.FETCH_USER_ACCOUNT, fetchUserAccount, {
|
||||||
refetchOnWindowFocus: true,
|
refetchOnWindowFocus: true,
|
||||||
placeholderData: (): fetchUserAccountResponse | undefined =>
|
// placeholderData: (): fetchUserAccountResponse | undefined =>
|
||||||
window.ipcRenderer.sendSync('getApiCacheSync', {
|
// window.ipcRenderer.sendSync('getApiCacheSync', {
|
||||||
api: 'user/account',
|
// api: 'user/account',
|
||||||
}),
|
// }),
|
||||||
})
|
})
|
||||||
}
|
}
|
@ -13,13 +13,13 @@ export default function useUserLikedSongsIDs(
|
|||||||
{
|
{
|
||||||
enabled: !!(params.uid && params.uid !== 0),
|
enabled: !!(params.uid && params.uid !== 0),
|
||||||
refetchOnWindowFocus: true,
|
refetchOnWindowFocus: true,
|
||||||
placeholderData: (): FetchUserLikedSongsIDsResponse | undefined =>
|
// placeholderData: (): FetchUserLikedSongsIDsResponse | undefined =>
|
||||||
window.ipcRenderer.sendSync('getApiCacheSync', {
|
// window.ipcRenderer.sendSync('getApiCacheSync', {
|
||||||
api: 'likelist',
|
// api: 'likelist',
|
||||||
query: {
|
// query: {
|
||||||
uid: params.uid,
|
// uid: params.uid,
|
||||||
},
|
// },
|
||||||
}),
|
// }),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -17,13 +17,13 @@ export default function useUserPlaylists(params: FetchUserPlaylistsParams) {
|
|||||||
params.uid !== 0 &&
|
params.uid !== 0 &&
|
||||||
params.offset !== undefined
|
params.offset !== undefined
|
||||||
),
|
),
|
||||||
placeholderData: (): FetchUserPlaylistsResponse =>
|
// placeholderData: (): FetchUserPlaylistsResponse =>
|
||||||
window.ipcRenderer.sendSync('getApiCacheSync', {
|
// window.ipcRenderer.sendSync('getApiCacheSync', {
|
||||||
api: 'user/playlist',
|
// api: 'user/playlist',
|
||||||
query: {
|
// query: {
|
||||||
uid: params.uid,
|
// uid: params.uid,
|
||||||
},
|
// },
|
||||||
}),
|
// }),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
<script type="module" src="/src/main.tsx"></script>
|
<script type="module" src="/main.tsx"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|