mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/lyswhut/lx-music-desktop.git
synced 2026-09-20 08:04:00 +08:00
更新依赖&版本号(2.12.3-beta.11)
This commit is contained in:
@@ -16,7 +16,6 @@ module.exports = {
|
||||
'eslint-webpack-plugin',
|
||||
'typescript',
|
||||
'undici',
|
||||
'better-sqlite3',
|
||||
'@types/better-sqlite3',
|
||||
'changelog-parser',
|
||||
'webpack-dev-server',
|
||||
@@ -24,6 +23,8 @@ module.exports = {
|
||||
'eslint-plugin-vue',
|
||||
'vue-eslint-parser',
|
||||
// 'eslint-config-standard-with-typescript',
|
||||
|
||||
'webpack',
|
||||
],
|
||||
|
||||
// target: 'newest',
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
const { afterPack } = require('./deps')
|
||||
|
||||
const fs = require('fs').promises
|
||||
|
||||
// https://github.com/electron-userland/electron-builder/issues/4630
|
||||
// https://github.com/electron-userland/electron-builder/issues/4630#issuecomment-782020139
|
||||
|
||||
module.exports = async(context) => {
|
||||
await afterPack()
|
||||
const { electronPlatformName, appOutDir } = context
|
||||
if (electronPlatformName !== 'darwin') return
|
||||
const {
|
||||
|
||||
@@ -2,7 +2,8 @@ const fs = require('fs')
|
||||
const fsPromises = require('fs').promises
|
||||
const path = require('path')
|
||||
const { Arch } = require('electron-builder')
|
||||
const nodeAbi = require('node-abi')
|
||||
// const nodeAbi = require('node-abi')
|
||||
const { beforePack } = require('./deps')
|
||||
|
||||
const better_sqlite3_fileNameMap = {
|
||||
[Arch.x64]: 'linux-x64',
|
||||
@@ -16,7 +17,7 @@ const replaceSqliteLib = async(electronNodeAbi, arch) => {
|
||||
// https://github.com/lyswhut/lx-music-desktop/issues/1102
|
||||
// https://github.com/lyswhut/lx-music-desktop/issues/1161
|
||||
console.log('replace sqlite lib...')
|
||||
const filePath = path.join(__dirname, `./lib/better_sqlite3_electron-v${electronNodeAbi}-${better_sqlite3_fileNameMap[arch]}.node`)
|
||||
const filePath = path.join(__dirname, `./lib/better_sqlite3_${better_sqlite3_fileNameMap[arch]}.node`)
|
||||
console.log(filePath)
|
||||
const targetPath = path.join(__dirname, '../node_modules/better-sqlite3/build/Release/better_sqlite3.node')
|
||||
await fsPromises.unlink(targetPath).catch(_ => _)
|
||||
@@ -25,9 +26,10 @@ const replaceSqliteLib = async(electronNodeAbi, arch) => {
|
||||
|
||||
|
||||
module.exports = async(context) => {
|
||||
await beforePack()
|
||||
const { electronPlatformName, arch } = context
|
||||
const electronVersion = context.packager?.info?._framework?.version ?? require('../package.json').devDependencies.electron.replace(/^[^\d]*?(\d+)/, '$1')
|
||||
const electronNodeAbi = nodeAbi.getAbi(electronVersion, 'electron')
|
||||
// const electronVersion = context.packager?.info?._framework?.version ?? require('../package.json').devDependencies.electron.replace(/^[^\d]*?(\d+)/, '$1')
|
||||
// const electronNodeAbi = nodeAbi.getAbi(electronVersion, 'electron')
|
||||
if (electronPlatformName !== 'linux' || process.env.FORCE) return
|
||||
const bindingFilePath = path.join(__dirname, '../node_modules/better-sqlite3/binding.gyp')
|
||||
const bindingBakFilePath = path.join(__dirname, '../node_modules/better-sqlite3/binding.gyp.bak')
|
||||
@@ -39,7 +41,7 @@ module.exports = async(context) => {
|
||||
// console.log('rename binding file...')
|
||||
await fsPromises.rename(bindingFilePath, bindingBakFilePath)
|
||||
}
|
||||
await replaceSqliteLib(electronNodeAbi, arch)
|
||||
await replaceSqliteLib(arch)
|
||||
break
|
||||
|
||||
default:
|
||||
|
||||
@@ -6,20 +6,28 @@ const path = require('node:path')
|
||||
const rootPath = path.join(__dirname, '../')
|
||||
|
||||
const patchs = [
|
||||
// [
|
||||
// path.join(rootPath, './node_modules/ws/package.json'),
|
||||
// '\n "browser": "./browser.js",',
|
||||
// '',
|
||||
// ],
|
||||
// [
|
||||
// path.join(rootPath, './node_modules/music-metadata/package.json'),
|
||||
// '"default": "./lib/core.js"',
|
||||
// '"default": "./lib/index.js"',
|
||||
// ],
|
||||
// [
|
||||
// path.join(rootPath, './node_modules/strtok3/package.json'),
|
||||
// '"default": "./lib/core.js"',
|
||||
// '"default": "./lib/index.js"',
|
||||
// ],
|
||||
[
|
||||
path.join(rootPath, './node_modules/ws/package.json'),
|
||||
'\n "browser": "./browser.js",',
|
||||
'',
|
||||
],
|
||||
[
|
||||
path.join(rootPath, './node_modules/music-metadata/package.json'),
|
||||
'"default": "./lib/core.js"',
|
||||
'"default": "./lib/index.js"',
|
||||
],
|
||||
[
|
||||
path.join(rootPath, './node_modules/strtok3/package.json'),
|
||||
'"default": "./lib/core.js"',
|
||||
'"default": "./lib/index.js"',
|
||||
path.join(rootPath, './node_modules/better-sqlite3/package.json'),
|
||||
`{
|
||||
"build-release": "node-gyp clean && node-gyp rebuild --release --force_build=1",`,
|
||||
`{
|
||||
"install": "node -e \\"process.exit(require('fs').existsSync('build/Release/better_sqlite3.node') ? 0 : 1)\\" || node-gyp rebuild --release --force_build=1",
|
||||
"build-release": "node-gyp clean && node-gyp rebuild --release --force_build=1",`,
|
||||
],
|
||||
]
|
||||
|
||||
|
||||
55
build-config/deps.js
Normal file
55
build-config/deps.js
Normal file
@@ -0,0 +1,55 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const bindingFilePath = path.join(__dirname, '../node_modules/better-sqlite3/binding.gyp')
|
||||
// const bindingBakFilePath = path.join(__dirname, '../node_modules/better-sqlite3/binding.gyp.bak')
|
||||
exports.beforePack = async() => {
|
||||
// if (!fs.existsSync(bindingFilePath)) return
|
||||
// fs.renameSync(bindingFilePath, bindingBakFilePath)
|
||||
try {
|
||||
fs.writeFileSync(
|
||||
bindingFilePath,
|
||||
fs.readFileSync(bindingFilePath, 'utf-8').replace('\'force_build%\': 0,', '\'force_build%\': 1,'),
|
||||
)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
}
|
||||
exports.afterPack = async() => {
|
||||
// if (fs.existsSync(bindingFilePath)) return
|
||||
// fs.renameSync(bindingBakFilePath, bindingFilePath)
|
||||
try {
|
||||
fs.writeFileSync(
|
||||
bindingFilePath,
|
||||
fs.readFileSync(bindingFilePath, 'utf-8').replace('\'force_build%\': 1,', '\'force_build%\': 0,'),
|
||||
)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const replaceSqliteLib = async(arch) => {
|
||||
// console.log(await fs.readdir(path.join(context.appOutDir, './resources/')))
|
||||
// if (context.electronPlatformName != 'linux' || context.arch != Arch.arm64) return
|
||||
// https://github.com/lyswhut/lx-music-desktop/issues/1102
|
||||
// https://github.com/lyswhut/lx-music-desktop/issues/1161
|
||||
console.log('replace sqlite lib...')
|
||||
const filePath = path.join(__dirname, `./lib/better_sqlite3_${process.platform}-${arch}.node`)
|
||||
console.log(filePath)
|
||||
const targetPath = path.join(__dirname, '../node_modules/better-sqlite3/build/Release/better_sqlite3.node')
|
||||
await fs.promises.unlink(targetPath).catch(_ => _)
|
||||
await fs.promises.copyFile(filePath, targetPath)
|
||||
}
|
||||
exports.copyLib = async(arch = process.arch) => {
|
||||
if (process.platform === 'linux') {
|
||||
await replaceSqliteLib(arch)
|
||||
return
|
||||
}
|
||||
const libPath = path.join(__dirname, `../node_modules/better-sqlite3/prebuilds/${process.platform}-${arch}.node`)
|
||||
if (!fs.existsSync(libPath)) {
|
||||
console.error(`Better-sqlite3 prebuild not found for ${process.platform}-${arch}`)
|
||||
return
|
||||
}
|
||||
const targetPath = path.join(__dirname, '../node_modules/better-sqlite3/build/Release/better_sqlite3.node')
|
||||
await fs.promises.cp(libPath, targetPath, { recursive: true, force: true })
|
||||
}
|
||||
@@ -9,7 +9,7 @@ const getGzipFiles = async() => {
|
||||
// for (const name of names) {
|
||||
// if (name.endsWith('.node')) await fs.promises.unlink(path.join(libDir, name))
|
||||
// }
|
||||
return names.filter(name => name.endsWith('.gz'))
|
||||
return names.filter((name) => name.endsWith('.gz'))
|
||||
}
|
||||
|
||||
const unzip = async(filePath) => {
|
||||
@@ -18,22 +18,20 @@ const unzip = async(filePath) => {
|
||||
await fs.promises.mkdir(targetDir)
|
||||
await tar.x({
|
||||
file: filePath,
|
||||
strip: 1,
|
||||
strip: 0,
|
||||
C: targetDir,
|
||||
})
|
||||
return targetDir
|
||||
}
|
||||
|
||||
const files = [
|
||||
'better_sqlite3',
|
||||
]
|
||||
const files = ['better_sqlite3']
|
||||
const moveFile = async(filePath) => {
|
||||
const name = 'electron-' + path.basename(filePath).split('-electron-')[1]
|
||||
const name = `${path.basename(filePath).split('_v')[0].replace('_', '-')}`
|
||||
for (const fileName of files) {
|
||||
if (fileName == 'better_sqlite3' && !name.includes('linux')) continue
|
||||
const targetPath = path.join(libDir, `${fileName}_${name}.node`)
|
||||
if (fs.existsSync(targetPath)) await fs.promises.unlink(targetPath)
|
||||
await fs.promises.rename(path.join(filePath, 'Release', fileName + '.node'), targetPath)
|
||||
await fs.promises.rename(path.join(filePath, `${fileName}.node`), targetPath)
|
||||
}
|
||||
await fs.promises.rm(filePath, { recursive: true })
|
||||
}
|
||||
@@ -49,4 +47,3 @@ const run = async() => {
|
||||
}
|
||||
|
||||
run()
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
build-config/lib/better_sqlite3_linux-arm.node
Normal file
BIN
build-config/lib/better_sqlite3_linux-arm.node
Normal file
Binary file not shown.
BIN
build-config/lib/better_sqlite3_linux-arm64.node
Normal file
BIN
build-config/lib/better_sqlite3_linux-arm64.node
Normal file
Binary file not shown.
BIN
build-config/lib/better_sqlite3_linux-x64.node
Normal file
BIN
build-config/lib/better_sqlite3_linux-x64.node
Normal file
Binary file not shown.
3
build-config/postinstall.js
Normal file
3
build-config/postinstall.js
Normal file
@@ -0,0 +1,3 @@
|
||||
const { copyLib } = require('./deps')
|
||||
|
||||
copyLib()
|
||||
641
package-lock.json
generated
641
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
30
package.json
30
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lx-music-desktop",
|
||||
"version": "2.12.3-beta.10",
|
||||
"version": "2.12.3-beta.11",
|
||||
"description": "一个免费的音乐查找助手",
|
||||
"main": "./dist/main.js",
|
||||
"scripts": {
|
||||
@@ -63,7 +63,7 @@
|
||||
"build:renderer-scripts": "cross-env NODE_ENV=production webpack --config build-config/renderer-scripts/webpack.config.prod.js --progress",
|
||||
"lint": "eslint --ext .ts,.js,.vue -f node_modules/eslint-formatter-friendly src",
|
||||
"lint:fix": "eslint --ext .ts,.js,.vue -f node_modules/eslint-formatter-friendly --fix src",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"postinstall": "node build-config/postinstall.js",
|
||||
"dp": "cross-env ELECTRON_GET_USE_PROXY=true GLOBAL_AGENT_HTTPS_PROXY=http://127.0.0.1:2081 npm run pack",
|
||||
"up": "cross-env ELECTRON_GET_USE_PROXY=true GLOBAL_AGENT_HTTPS_PROXY=http://127.0.0.1:2081 npm i"
|
||||
},
|
||||
@@ -113,21 +113,21 @@
|
||||
"@types/node": "^20.19.43",
|
||||
"@types/tunnel": "^0.0.7",
|
||||
"@types/ws": "8.5.4",
|
||||
"@vue/language-plugin-pug": "^3.3.9",
|
||||
"browserslist": "^4.28.7",
|
||||
"@vue/language-plugin-pug": "^3.3.11",
|
||||
"browserslist": "^4.28.8",
|
||||
"chalk": "^4.1.2",
|
||||
"changelog-parser": "3.0.1",
|
||||
"copy-webpack-plugin": "^14.0.0",
|
||||
"core-js": "^3.49.0",
|
||||
"core-js": "^3.50.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"css-loader": "^7.1.4",
|
||||
"css-minimizer-webpack-plugin": "^8.0.0",
|
||||
"del": "^6.1.1",
|
||||
"electron": "41.2.0",
|
||||
"electron-builder": "^26.15.3",
|
||||
"electron": "42.9.3",
|
||||
"electron-builder": "^26.15.7",
|
||||
"electron-debug": "^3.2.0",
|
||||
"electron-devtools-installer": "github:lyswhut/electron-devtools-installer#64596d615c1fc891eefd8aef1dfcb2c87aaadf03",
|
||||
"electron-to-chromium": "^1.5.400",
|
||||
"electron-to-chromium": "^1.5.412",
|
||||
"electron-updater": "6.8.9",
|
||||
"eslint": "^8.57.1",
|
||||
"eslint-config-standard": "^17.1.0",
|
||||
@@ -138,11 +138,11 @@
|
||||
"eslint-plugin-vue-pug": "^0.6.2",
|
||||
"eslint-webpack-plugin": "^4.2.0",
|
||||
"html-webpack-plugin": "^5.6.8",
|
||||
"less": "^4.8.1",
|
||||
"less": "^4.9.0",
|
||||
"less-loader": "^13.0.0",
|
||||
"mini-css-extract-plugin": "^2.10.2",
|
||||
"node-loader": "^2.1.0",
|
||||
"postcss": "^8.5.25",
|
||||
"postcss": "^8.5.26",
|
||||
"postcss-loader": "^8.2.1",
|
||||
"postcss-pxtorem": "^6.1.0",
|
||||
"pug": "^3.0.4",
|
||||
@@ -152,7 +152,7 @@
|
||||
"svg-sprite-loader": "^6.0.11",
|
||||
"svg-transform-loader": "^2.0.13",
|
||||
"svgo-loader": "^5.0.0",
|
||||
"terser": "^5.49.1",
|
||||
"terser": "^5.50.0",
|
||||
"terser-webpack-plugin": "^5.6.1",
|
||||
"tree-kill": "^1.2.2",
|
||||
"ts-loader": "^9.6.2",
|
||||
@@ -161,13 +161,13 @@
|
||||
"vue-loader": "^17.4.2",
|
||||
"webpack": "5.107.2",
|
||||
"webpack-cli": "^7.2.2",
|
||||
"webpack-dev-server": "5.2.5",
|
||||
"webpack-dev-server": "5.2.6",
|
||||
"webpack-hot-middleware": "github:lyswhut/webpack-hot-middleware#329c4375134b89d39da23a56a94db651247c74a1",
|
||||
"webpack-merge": "^6.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@simonwep/pickr": "^1.10.1",
|
||||
"better-sqlite3": "^12.11.1",
|
||||
"better-sqlite3": "^13.0.3",
|
||||
"bufferutil": "^4.1.0",
|
||||
"comlink": "~4.3.1",
|
||||
"crypto-js": "^4.2.0",
|
||||
@@ -178,7 +178,7 @@
|
||||
"jschardet": "^3.1.4",
|
||||
"long": "^5.3.2",
|
||||
"message2call": "^0.1.3",
|
||||
"music-metadata": "^11.14.0",
|
||||
"music-metadata": "^11.15.0",
|
||||
"needle": "github:lyswhut/needle#93299ac841b7e9a9f82ca7279b88aaaeda404060",
|
||||
"node-id3": "^0.2.9",
|
||||
"sortablejs": "^1.15.7",
|
||||
@@ -187,7 +187,7 @@
|
||||
"utf-8-validate": "^6.0.6",
|
||||
"vue": "~3.3.13",
|
||||
"vue-router": "~4.5.1",
|
||||
"ws": "^8.21.2"
|
||||
"ws": "^8.21.3"
|
||||
},
|
||||
"overrides": {
|
||||
"got": "^11",
|
||||
|
||||
Reference in New Issue
Block a user