From 8bd48f5dc46de2ea67b0d84b40aa8c2bb5ec60d9 Mon Sep 17 00:00:00 2001 From: 4gray Date: Sun, 10 May 2026 18:57:18 +0200 Subject: [PATCH] fix(ci): patch nx-electron package metadata copy Entire-Checkpoint: f957cd9849e0 --- package.json | 3 +++ patches/nx-electron@22.0.0.patch | 12 ++++++++++++ pnpm-lock.yaml | 9 +++++++-- .../electron-package-identity.test.mjs | 18 ++++++++++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 patches/nx-electron@22.0.0.patch diff --git a/package.json b/package.json index 80f94fb62..cedc1805b 100644 --- a/package.json +++ b/package.json @@ -223,6 +223,9 @@ "smol-toml@1.6.0": "1.6.1", "svgo@3.3.2": "3.3.3", "yaml@1.10.2": "1.10.3" + }, + "patchedDependencies": { + "nx-electron@22.0.0": "patches/nx-electron@22.0.0.patch" } } } diff --git a/patches/nx-electron@22.0.0.patch b/patches/nx-electron@22.0.0.patch new file mode 100644 index 000000000..13092f21e --- /dev/null +++ b/patches/nx-electron@22.0.0.patch @@ -0,0 +1,12 @@ +diff --git a/src/executors/package/executor.js b/src/executors/package/executor.js +index e36f61a825a280c26ec5064f1ba086ac170fb1b6..17a351dd4b91bf3b72743036f79c8300aba7f79e 100644 +--- a/src/executors/package/executor.js ++++ b/src/executors/package/executor.js +@@ -111,7 +111,6 @@ function _createBaseConfig(options, context) { + return { + directories: Object.assign(Object.assign({}, options.directories), { output: (0, path_1.join)(context.root, outputPath) }), + files: files.concat([ +- './package.json', + { + from: (0, path_1.resolve)(options.sourcePath, options.name), + to: options.name, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 69d45c3c6..1783ebcc6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,6 +25,11 @@ overrides: svgo@3.3.2: 3.3.3 yaml@1.10.2: 1.10.3 +patchedDependencies: + nx-electron@22.0.0: + hash: f4bbde1778360c4c462b255bec47a337c0465d59cdcab14ecb601161f3467002 + path: patches/nx-electron@22.0.0.patch + importers: .: @@ -401,7 +406,7 @@ importers: version: 22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)) nx-electron: specifier: 22.0.0 - version: 22.0.0(@nx/devkit@22.7.1(nx@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))))(@nx/workspace@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(@swc/core@1.15.8(@swc/helpers@0.5.18))(electron-builder-squirrel-windows@26.0.12)(electron@39.8.8)(esbuild@0.27.0)(rxjs@7.8.2)(typescript@5.9.3) + version: 22.0.0(patch_hash=f4bbde1778360c4c462b255bec47a337c0465d59cdcab14ecb601161f3467002)(@nx/devkit@22.7.1(nx@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))))(@nx/workspace@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(@swc/core@1.15.8(@swc/helpers@0.5.18))(electron-builder-squirrel-windows@26.0.12)(electron@39.8.8)(esbuild@0.27.0)(rxjs@7.8.2)(typescript@5.9.3) prettier: specifier: ^3.8.1 version: 3.8.1 @@ -22694,7 +22699,7 @@ snapshots: nwsapi@2.2.23: {} - nx-electron@22.0.0(@nx/devkit@22.7.1(nx@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))))(@nx/workspace@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(@swc/core@1.15.8(@swc/helpers@0.5.18))(electron-builder-squirrel-windows@26.0.12)(electron@39.8.8)(esbuild@0.27.0)(rxjs@7.8.2)(typescript@5.9.3): + nx-electron@22.0.0(patch_hash=f4bbde1778360c4c462b255bec47a337c0465d59cdcab14ecb601161f3467002)(@nx/devkit@22.7.1(nx@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))))(@nx/workspace@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)))(@swc/core@1.15.8(@swc/helpers@0.5.18))(electron-builder-squirrel-windows@26.0.12)(electron@39.8.8)(esbuild@0.27.0)(rxjs@7.8.2)(typescript@5.9.3): dependencies: '@nx/devkit': 22.7.1(nx@22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18))) '@nx/workspace': 22.7.1(@swc-node/register@1.11.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(@swc/types@0.1.25)(typescript@5.9.3))(@swc/core@1.15.8(@swc/helpers@0.5.18)) diff --git a/tools/packaging/electron-package-identity.test.mjs b/tools/packaging/electron-package-identity.test.mjs index e16c3770c..533044cc3 100644 --- a/tools/packaging/electron-package-identity.test.mjs +++ b/tools/packaging/electron-package-identity.test.mjs @@ -1,10 +1,12 @@ import assert from 'node:assert/strict'; import fs from 'node:fs'; +import { createRequire } from 'node:module'; import { dirname, join } from 'node:path'; import test from 'node:test'; import { fileURLToPath } from 'node:url'; const currentDir = dirname(fileURLToPath(import.meta.url)); +const require = createRequire(import.meta.url); const electronBuilderConfig = JSON.parse( fs.readFileSync( join(currentDir, '..', '..', 'electron-builder.json'), @@ -22,3 +24,19 @@ test('Linux package identity does not expose the internal Electron backend proje 'iptvnator' ); }); + +test('nx-electron packaging does not copy duplicate root package metadata', () => { + const nxElectronExecutorPath = require.resolve( + 'nx-electron/src/executors/package/executor.js' + ); + const nxElectronExecutor = fs.readFileSync( + nxElectronExecutorPath, + 'utf8' + ); + + assert.doesNotMatch(nxElectronExecutor, /['"]\.\/package\.json['"]/); + assert.match( + nxElectronExecutor, + /filter:\s*\[['"]index\.js['"],\s*['"]package\.json['"]\]/ + ); +});