diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 0000000..62c8516 --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,134 @@ +name: Build Electron Application + +on: + workflow_dispatch: + inputs: + release: + type: boolean + description: Release artifacts + required: false + default: false + push: + branches: + - "main" + paths: + - "um-react" + +permissions: + contents: write + +jobs: + build-linux-windows: + name: Build Linux & Windows + runs-on: ubuntu-latest + outputs: + version: ${{ steps.version.outputs.version }} + + steps: + - name: Checkout + uses: actions/checkout@v4.1.1 + + - name: Install system dependencies + run: | + sudo dpkg --add-architecture i386 + sudo apt-get update + sudo apt-get install npm wine32 + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: latest + + - name: Install npm dependencies + run: | + git submodule update --init --recursive + cd um-react + pnpm install --frozen-lockfile + cd .. + npm install --frozen-lockfile + + - name: Update version + id: version + run: | + um_ver=$(npm info ./um-react version) + npm version $um_ver || true + echo $um_ver + echo version=$um_ver >> "$GITHUB_OUTPUT" + + - name: Build + run: | + npm run build:win + npm run build:linux + + - name: Upload Windows build + uses: actions/upload-artifact@v4.0.0 + with: + name: Windows build 7z + path: release/**/*.7z + + - name: Upload Linux build + uses: actions/upload-artifact@v4.0.0 + with: + name: Linux build AppImage + path: release/**/*.AppImage + + build-macos: + name: Build macOS + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v4.1.1 + + - name: Install system dependencies + run: brew install node + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: latest + + - name: Install npm dependencies + run: | + git submodule update --init --recursive + cd um-react + pnpm install --frozen-lockfile + cd .. + npm install --frozen-lockfile + + - name: Update version + run: | + um_ver=$(npm info ./um-react version) + npm version $um_ver || true + echo $um_ver + + - name: Build + run: | + npm run build:mac + + - name: Upload macOS build + uses: actions/upload-artifact@v4.0.0 + with: + name: macOS build dmg + path: release/**/*.dmg + + upload-release: + name: Upload Release + runs-on: ubuntu-latest + if: ${{ inputs.release }} + needs: [build-linux-windows, build-macos] + steps: + - name: Download release files + uses: actions/download-artifact@v4 + with: + merge-multiple: true + + - name: Upload release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ needs.build-linux-windows.outputs.version }}/* + tag: ${{ needs.build-linux-windows.outputs.version }} + body: Release ${{ needs.build-linux-windows.outputs.version }} + overwrite: true + file_glob: true diff --git a/.gitignore b/.gitignore index 2992f49..0cb8620 100644 --- a/.gitignore +++ b/.gitignore @@ -26,18 +26,3 @@ src/default/**/* *.njsproj *.sln *.sw? - -# Ignore the same patterns in the "um-react" directory -um-react/logs/ -um-react/*.log -um-react/npm-debug.log* -um-react/yarn-debug.log* -um-react/yarn-error.log* -um-react/pnpm-debug.log* -um-react/lerna-debug.log* - -um-react/node_modules/ -um-react/coverage/ -um-react/dist/ -um-react/dist-ssr/ -um-react/*.local diff --git a/.gitmodules b/.gitmodules index 6114bd0..6a114e6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "um-react"] path = um-react - url = ./um-react + url = https://git.unlock-music.dev/um/um-react.git diff --git a/README.MD b/README.MD index 0a562ca..d3b0c92 100644 --- a/README.MD +++ b/README.MD @@ -1,17 +1,14 @@ -# 关于仓库官方 - -本仓库原始地址(已 DMCA):https://github.com/unlock-music/unlock-music - -本仓库目前官方地址:https://git.unlock-music.dev/um/um-react - -你所看到的这个仓库是依照 MIT 协议授权的,除electron部分(不限于electron构建)外,代码与[本人](https://github.com/dfvips)无关。 +https://github.com/dfvips/um-react-electron 的镜像 # Unlock Music 音乐解锁 Electron 应用程序 -[![Build Status](https://ci.unlock-music.dev/api/badges/um/web/status.svg)](https://github.com/dfvips/unlock-music-react-electron) - 在Electron应用程序中解锁加密的音乐文件。 Unlock encrypted music file in the Electron App. - 无需依赖浏览器,开箱即可使用。 +## 下载地址 + +https://github.com/CarlGao4/um-react-electron/releases + ## 自行构建Electron应用程序 - 环境要求 @@ -20,87 +17,18 @@ - 开发环境 ```sh - git clone https://git.unlock-music.dev/um/um-react.git && npm install --frozen-lockfile + git submodule update --init + cd um-react + pnpm install --frozen-lockfile cd ../ && npm install npm run start / npm run dev - npm run start / npm run dev ``` - 打包 ```sh - npm run build / npm run build:win / npm run build:mac + npm run build + npm run build:win + npm run build:mac + npm run build:linux ``` - 前端静态页面构建后的产物可以在 `src/renderer` 目录找到。 - Electron构建后的产物可以在 `release` 目录找到。 - -## 开箱即用版本 - -https://github.com/dfvips/unlock-music-electron/releases -# Unlock Music 音乐解锁 (React) - -[![Build Status](https://ci.unlock-music.dev/api/badges/um/um-react/status.svg)](https://ci.unlock-music.dev/um/um-react) - -- 在浏览器中解锁加密的音乐文件。 Unlock encrypted music file in the browser. -- Unlock Music 项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循[授权协议]。 -- Unlock Music 的 CLI 版本可以在 [unlock-music/cli] 找到,大批量转换建议使用 CLI 版本。 -- 我们新建了 Telegram 群组 [`@unlock_music_chat`] ,欢迎加入! -- CI 自动构建已经部署,可以在 [Packages][um-react-packages] 下载。 - -[授权协议]: https://git.unlock-music.dev/um/um-react/src/branch/main/LICENSE -[unlock-music/cli]: https://git.unlock-music.dev/um/cli -[`@unlock_music_chat`]: https://t.me/unlock_music_chat -[um-react-packages]: https://git.unlock-music.dev/um/-/packages/generic/um-react/ - -## 支持的格式 - -- [x] QQ 音乐 QMCv1 (.qmc0/.qmc2/.qmc3/.qmcflac/.qmcogg/.tkm) -- [x] QQ 音乐 QMCv2 PC 端 (.mflac/.mgg/.mflac0/.mgg1/.mggl) -- [x] 网易云音乐 (.ncm) -- [x] 虾米音乐 (.xm) -- [x] 酷我音乐 (.kwm) -- [x] 酷狗音乐 (.kgm/.vpr) -- [x] 喜马拉雅 Android 端 (.x2m/.x3m) -- [x] 咪咕音乐格式 (.mg3d) -- [ ] ~~QQ 音乐海外版JOOX Music (.ofl_en)~~ - -不支持的格式?请提交样本(加密文件)与客户端信息(或一并上传其安装包)到[仓库的问题追踪区][project-issues]。如果文件太大,请上传到不需要登入下载的网盘,如 [mega.nz](https://mega.nz)、[OneDrive](https://www.onedrive.com/) 等。 - -如果遇到解密出错的情况,请一并携带错误信息并简单描述错误的重现过程。 - -[project-issues]: https://git.unlock-music.dev/um/um-react/issues/new - -## 开发相关 - -从源码运行或编译生产版本,请参考文档「[新手上路](./docs/getting-started.zh.md)」。 - -### 面向 libparakeet SDK 开发 - -⚠️ 如果只是进行前端方面的更改,你可以跳过该节。 - -请参考文档「[面向 `libparakeet-js` 开发](./docs/develop-with-libparakeet.zh.md)」。 - -### 架构 - -- 浏览器主线程: 渲染界面,处理 UI 更新 -- Web Worker: 负责计算方面的内容,如内容解密。 - -数据传输: 生成 blob url (`URL.createObjectURL`) 然后透过 `postMessage` 传递给线程,线程利用 `fetch` API 来获取文件信息。 - -### 贡献代码 - -欢迎贡献代码。请确保: - -- 单元测试的覆盖率不低于主分支的覆盖率; -- 提交前请使用 Prettier 对代码进行格式化; -- 提交前请确保 ESLint 不会报告 warning / error; - -满足上述条件后发起 Pull Request,仓库管理员审阅后将合并到主分支。 - -## TODO - -- 待定 - - [ ] 各类算法 [追踪 `crypto` 标签](https://git.unlock-music.dev/um/um-react/issues?labels=67) - - [ ] #7 简易元数据编辑器 -- 完成 - - [x] #8 ~~添加单元测试~~ 框架加上了,以后慢慢添加更多测试即可。 - - [x] #2 解密内容探测 (解密过程) - - [x] #6 文件拖放 (利用 `react-dropzone`?) diff --git a/electron-builder.json5 b/electron-builder.json5 index bc8d532..8f458f3 100755 --- a/electron-builder.json5 +++ b/electron-builder.json5 @@ -14,9 +14,12 @@ ], "mac": { "icon": "build/icon.icns", - "artifactName": "${name}-${version}-osx64.${ext}", + "artifactName": "${name}-${version}-macos-${arch}.${ext}", "target": [ - "dmg" + { + target: "dmg", + arch: ["arm64", "x64"] + } ], "files": [ "!**/.vscode/*", @@ -37,7 +40,7 @@ "target": "7z" } ], - "artifactName": "${name}-${version}-winx64.${ext}", + "artifactName": "${name}-${version}-win-${arch}.${ext}", "files": [ "!**/.vscode/*", "!{.eslintignore,.eslintrc.js,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}" @@ -51,7 +54,16 @@ "installerIcon": "build/icon.ico", "uninstallerIcon": "build/icon.ico", "uninstallDisplayName": "${name}-${version}", - "artifactName": "${name}-${version}-winx64-setup.${ext}", + "artifactName": "${name}-${version}-win-${arch}-setup.${ext}", "shortcutName": "${productName}" - } + }, + "linux": { + "icon": "build/icon.png", + "target": "AppImage", + "artifactName": "${name}-${version}-${arch}.${ext}", + "files": [ + "!**/.vscode/*", + "!{.eslintignore,.eslintrc.js,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}" + ] + }, } diff --git a/package-lock.json b/package-lock.json index ffc8067..7bcd3f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,9 @@ "electron-builder": "^24.6.3", "eslint": "^8.47.0", "prettier": "^3.0.2" + }, + "optionalDependencies": { + "dmg-license": "^1.0.11" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -688,7 +691,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.2.tgz", "integrity": "sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==", - "dev": true, "optional": true, "dependencies": { "@types/node": "*", @@ -707,7 +709,6 @@ "version": "1.10.6", "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.6.tgz", "integrity": "sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ==", - "dev": true, "optional": true }, "node_modules/@types/yauzl": { @@ -723,7 +724,7 @@ "version": "0.8.10", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=10.0.0" } @@ -771,7 +772,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, + "devOptional": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -796,7 +797,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -805,7 +806,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "devOptional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -921,7 +922,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, "optional": true, "engines": { "node": ">=0.8" @@ -931,7 +931,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, "optional": true, "engines": { "node": ">=8" @@ -977,7 +976,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -1060,7 +1059,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "funding": [ { "type": "github", @@ -1278,7 +1276,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, "optional": true, "dependencies": { "slice-ansi": "^3.0.0", @@ -1320,7 +1317,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "devOptional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -1332,7 +1329,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "devOptional": true }, "node_modules/combined-stream": { "version": "1.0.8", @@ -1384,14 +1381,12 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, "optional": true }, "node_modules/crc": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, "optional": true, "dependencies": { "buffer": "^5.1.0" @@ -1631,7 +1626,6 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", - "dev": true, "optional": true, "os": [ "darwin" @@ -1827,7 +1821,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "devOptional": true }, "node_modules/end-of-stream": { "version": "1.4.4", @@ -2134,7 +2128,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", - "dev": true, "engines": [ "node >=0.6.0" ], @@ -2144,7 +2137,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "devOptional": true }, "node_modules/fast-diff": { "version": "1.3.0", @@ -2184,7 +2177,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "devOptional": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -2656,7 +2649,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", - "dev": true, "optional": true, "os": [ "darwin" @@ -2685,7 +2677,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -2792,7 +2783,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -2963,7 +2954,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "devOptional": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -3246,7 +3237,6 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "dev": true, "optional": true }, "node_modules/normalize-url": { @@ -3458,7 +3448,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", - "dev": true, + "devOptional": true, "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", @@ -3525,7 +3515,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6" } @@ -3913,7 +3903,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, "optional": true, "dependencies": { "ansi-styles": "^4.0.0", @@ -3928,7 +3917,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, "optional": true, "engines": { "node": ">= 6.0.0", @@ -3973,7 +3961,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "devOptional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -3987,7 +3975,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, + "devOptional": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4244,7 +4232,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, + "devOptional": true, "dependencies": { "punycode": "^2.1.0" } @@ -4259,7 +4247,6 @@ "version": "1.10.1", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", - "dev": true, "optional": true, "dependencies": { "assert-plus": "^1.0.0", @@ -4311,7 +4298,7 @@ "version": "15.1.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8.0" } diff --git a/package.json b/package.json index 6268d05..a32bedb 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,9 @@ "start": "cd um-react && npm run build && cp -r ./dist ../src/renderer && cd ../ && electron .", "postinstall": "electron-builder install-app-deps", "build": "cd um-react && npm run build && cp -r ./dist ../src/renderer && cd ../", - "build:win": "cd um-react && npm run build && cp -r ./dist ../src/renderer && cd ../ && electron-builder --win --config", - "build:mac": "cd um-react && npm run build && cp -r ./dist ../src/renderer && cd ../ && electron-builder --mac --config", - "build:linux": "cd um-react && npm run build && cp -r ./dist ../src/renderer && cd ../ && electron-builder --linux --config" + "build:win": "cd um-react && npm run build && cp -r ./dist ../src/renderer && cd ../ && electron-builder --win --config -p never", + "build:mac": "cd um-react && npm run build && cp -r ./dist ../src/renderer && cd ../ && electron-builder --mac --config -p never", + "build:linux": "cd um-react && npm run build && cp -r ./dist ../src/renderer && cd ../ && electron-builder --linux --config -p never" }, "dependencies": { "@electron-toolkit/preload": "^2.0.0", diff --git a/um-react b/um-react index a5cc2e1..558fa12 160000 --- a/um-react +++ b/um-react @@ -1 +1 @@ -Subproject commit a5cc2e12300e0ae39e204b4b52b22966fc02232c +Subproject commit 558fa12dd8f7b1fa91b381e71bc80c7d52bc9432