diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b4daf74..c8189d0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,3 +1,5 @@ +name: Build & Lint + on: push: branches: diff --git a/.github/workflows/multiplatform_build.yml b/.github/workflows/multiplatform_build.yml new file mode 100644 index 0000000..c1e883a --- /dev/null +++ b/.github/workflows/multiplatform_build.yml @@ -0,0 +1,48 @@ +name: Multiplatform Build + +on: + push: + branches: + - main + paths-ignore: + - ".github/**" + - "!.github/workflows/build.yml" + - ".vscode/**" + - ".gitignore" + - "README.md" + pull_request: + +jobs: + build: + name: Build App + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [windows-latest, macos-latest] + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Checkout assets + run: git -c submodule."assets".update=checkout submodule update --init assets + + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + run_install: false + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 26 + cache: "pnpm" + + - name: Install dependencies + run: pnpm ci + + - name: Build + run: pnpm package \ No newline at end of file diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 31d09fc..b6d3ef7 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -60,7 +60,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v4 with: - node-version: 22 + node-version: 26 cache: "pnpm" - name: Install dependencies diff --git a/package.json b/package.json index f3b1727..0be1d25 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ }, "devDependencies": { "@electron-forge/cli": "^7.11.2", + "@electron-forge/maker-appx": "^7.11.2", "@electron-forge/maker-deb": "^7.11.2", "@electron-forge/maker-flatpak": "^7.11.2", "@electron-forge/maker-squirrel": "^7.11.2", @@ -32,7 +33,6 @@ "@electron-forge/plugin-fuses": "^7.11.2", "@electron-forge/plugin-vite": "^7.11.2", "@electron-forge/publisher-github": "^7.11.2", - "@electron-forge/maker-appx": "^7.11.2", "@electron/fuses": "^1.8.0", "@trivago/prettier-plugin-sort-imports": "^5.2.2", "@types/auto-launch": "^5.0.5", @@ -46,6 +46,7 @@ "eslint": "^8.57.1", "eslint-plugin-import": "^2.32.0", "json-schema-typed": "^8.0.1", + "lodash": "^4.17.21", "prettier": "^3.6.2", "typescript": "~4.5.4", "vite": "^5.4.20" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50d0e77..c6b163b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,9 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + yauzl: ^3.3.1 + importers: .: @@ -102,6 +105,9 @@ importers: json-schema-typed: specifier: ^8.0.1 version: 8.0.1 + lodash: + specifier: ^4.17.21 + version: 4.17.21 prettier: specifier: ^3.6.2 version: 3.6.2 @@ -1425,9 +1431,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -1958,9 +1961,6 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -3686,8 +3686,9 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@3.4.0: + resolution: {integrity: sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==} + engines: {node: '>=12'} yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -5286,8 +5287,6 @@ snapshots: node-releases: 2.0.51 update-browserslist-db: 1.2.3(browserslist@4.28.7) - buffer-crc32@0.2.13: {} - buffer-from@1.1.2: {} buffer@5.7.1: @@ -6016,7 +6015,7 @@ snapshots: dependencies: debug: 4.4.3(supports-color@8.1.1) get-stream: 5.2.0 - yauzl: 2.10.0 + yauzl: 3.4.0 optionalDependencies: '@types/yauzl': 2.10.3 transitivePeerDependencies: @@ -6042,10 +6041,6 @@ snapshots: dependencies: reusify: 1.1.0 - fd-slicer@1.1.0: - dependencies: - pend: 1.2.0 - figures@2.0.0: dependencies: escape-string-regexp: 1.0.5 @@ -7843,10 +7838,9 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yauzl@2.10.0: + yauzl@3.4.0: dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 + pend: 1.2.0 yocto-queue@0.1.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 0ad378f..e09a7ca 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -8,4 +8,8 @@ allowBuilds: nodeLinker: hoisted -blockExoticSubdeps: false # required to make discord-rpc work \ No newline at end of file +blockExoticSubdeps: false # required to make discord-rpc work + +# Override for node 26 bug +overrides: + yauzl: ^3.3.1 \ No newline at end of file