From 099e2c6fb1232d3f7464b806e6058f5a276659e0 Mon Sep 17 00:00:00 2001 From: Eric Van Geem Date: Thu, 8 Oct 2026 11:16:42 -0500 Subject: [PATCH 01/15] fix(up): honor explicit port settings in git worktrees --- README.md | 5 +++++ src/up.cmd.js | 15 ++++++++------- src/up.js | 2 +- test/up-cli.test.js | 38 +++++++++++++++++++++++++++++++++++- test/up-cmd.test.js | 47 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 98 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 6f1d40e95..9b8cc4335 100644 --- a/README.md +++ b/README.md @@ -200,6 +200,11 @@ If present, `ALL_PROXY` is used as fallback if there is no other match. | `--tls-key` | `AEM_TLS_KEY` | undefined | Path to .key file (for enabling TLS) | | `--tls-cert` | `AEM_TLS_CERT` | undefined | Path to .pem file (for enabling TLS) | +In Git worktrees, the default port is derived from the branch name (3000-3999) to +reduce conflicts between worktrees. An explicit `--port` or `AEM_PORT` setting +(including in `.env`) overrides this automatic selection, even when set to `3000`. +Command-line options take precedence over environment variables. + ## Starting an import The AEM Importer is an application that supports importing content to AEM. diff --git a/src/up.cmd.js b/src/up.cmd.js index f1c1c8baa..c99635774 100644 --- a/src/up.cmd.js +++ b/src/up.cmd.js @@ -102,13 +102,14 @@ export default class UpCommand extends AbstractServerCommand { throw e; } - // Check if we're in a worktree and need to adjust the port - const isWorktree = await GitUtils.isGitWorktree(this.directory); - if (isWorktree && this._httpPort === 3000) { - // Only adjust port if using default port - const branch = await GitUtils.getBranch(this.directory); - this._httpPort = GitUtils.hashBranchToPort(branch); - this.log.info(chalk`Git worktree detected. Using port {cyan ${this._httpPort}} for branch {cyan ${branch}}`); + // Select a default only when no port was explicitly configured. + if (this._httpPort === undefined || this._httpPort === -1) { + this._httpPort = 3000; + if (await GitUtils.isGitWorktree(this.directory)) { + const branch = await GitUtils.getBranch(this.directory); + this._httpPort = GitUtils.hashBranchToPort(branch); + this.log.info(chalk`Git worktree detected. Using port {cyan ${this._httpPort}} for branch {cyan ${branch}}`); + } } // init dev default file params diff --git a/src/up.js b/src/up.js index dace9dd3b..2942f45af 100644 --- a/src/up.js +++ b/src/up.js @@ -50,7 +50,7 @@ export default function up() { .option('port', { describe: 'Start development server on port', type: 'int', - default: 3000, + defaultDescription: '3000 (branch-derived in Git worktrees)', }) .option('site-token', { alias: 'siteToken', diff --git a/test/up-cli.test.js b/test/up-cli.test.js index 4c4a0e13f..d4da91611 100644 --- a/test/up-cli.test.js +++ b/test/up-cli.test.js @@ -17,7 +17,7 @@ import fs from 'fs/promises'; import { UnsecuredJWT } from 'jose'; import path from 'path'; -import { clearHelixEnv } from './utils.js'; +import { clearHelixEnv, createTestRoot } from './utils.js'; import CLI from '../src/cli.js'; import UpCommand from '../src/up.cmd.js'; import { saveSiteTokenToFile } from '../src/config/config-utils.js'; @@ -70,6 +70,7 @@ describe('hlx up', () => { it('hlx up runs w/o arguments', async () => { await cli.run(['up']); + sinon.assert.calledWithExactly(mockUp.withHttpPort, undefined); sinon.assert.calledWith(mockUp.withOpen, '/'); sinon.assert.calledOnce(mockUp.run); }); @@ -126,6 +127,41 @@ describe('hlx up', () => { sinon.assert.calledOnce(mockUp.run); }); + it('aem up preserves an explicitly requested port 3000', async () => { + await cli.run(['up', '--port', '3000']); + sinon.assert.calledWithExactly(mockUp.withHttpPort, 3000); + }); + + it('aem up preserves port 3000 from the environment', async () => { + process.env.AEM_PORT = '3000'; + await cli.run(['up']); + sinon.assert.calledWithExactly(mockUp.withHttpPort, 3000); + }); + + it('aem up preserves port 3000 from a .env file', async () => { + const testRoot = await createTestRoot(); + try { + const envPath = path.resolve(testRoot, '.env'); + await fs.writeFile(envPath, 'AEM_PORT=3000\n'); + dotenv.config({ path: envPath, quiet: true }); + await cli.run(['up']); + sinon.assert.calledWithExactly(mockUp.withHttpPort, 3000); + } finally { + await fs.rm(testRoot, { recursive: true, force: true }); + } + }); + + it('aem up lets the command-line port override the environment', async () => { + process.env.AEM_PORT = '3210'; + await cli.run(['up', '--port=3000']); + sinon.assert.calledWithExactly(mockUp.withHttpPort, 3000); + }); + + it('aem up preserves port zero for an ephemeral port', async () => { + await cli.run(['up', '--port', '0']); + sinon.assert.calledWithExactly(mockUp.withHttpPort, 0); + }); + it('hlx up can specify bind address to run development server on', async () => { await cli.run(['up', '--addr', '192.168.1.7']); sinon.assert.calledWith(mockUp.withBindAddr, '192.168.1.7'); diff --git a/test/up-cmd.test.js b/test/up-cmd.test.js index de168b403..31f380c10 100644 --- a/test/up-cmd.test.js +++ b/test/up-cmd.test.js @@ -19,6 +19,7 @@ import shell from 'shelljs'; import { GitUrl } from '@adobe/helix-shared-git'; import { Nock, assertHttp, createTestRoot, initGit, switchBranch, signal, + initGitWithWorktree, cleanupWorktree, } from './utils.js'; import UpCommand from '../src/up.cmd.js'; import GitUtils from '../src/git-utils.js'; @@ -594,6 +595,52 @@ describe('Integration test for up command with git worktrees', function suite() nock.done(); }); + [ + { name: 'uses a branch-based port when no port is configured' }, + { name: 'uses a branch-based port when the CLI supplies undefined', port: undefined }, + { name: 'honors explicitly configured port 3000', port: 3000 }, + { name: 'honors explicitly configured non-default ports', port: 3210 }, + { name: 'honors port zero for an ephemeral port', port: 0 }, + ].forEach(({ name, ...options }) => { + it(name, async () => { + const { worktreeDir, branchName } = await initGitWithWorktree( + testDir, + 'port-selection', + 'https://github.com/adobe/dummy-foo.git', + ); + const cmd = new UpCommand() + .withLiveReload(false) + .withDirectory(worktreeDir); + if ('port' in options) { + cmd.withHttpPort(options.port); + } + try { + await cmd.init(); + assert.strictEqual( + cmd.project.server.port, + options.port ?? GitUtils.hashBranchToPort(branchName), + ); + } finally { + await cmd.stop(); + await cleanupWorktree(testDir, worktreeDir); + } + }); + }); + + it('uses port 3000 by default in a regular repository', async () => { + initGit(testDir, 'https://github.com/adobe/dummy-foo.git'); + const cmd = new UpCommand() + .withLiveReload(false) + .withDirectory(testDir) + .withHttpPort(undefined); + try { + await cmd.init(); + assert.strictEqual(cmd.project.server.port, 3000); + } finally { + await cmd.stop(); + } + }); + it('should detect worktree and calculate branch-based port', async () => { // Setup a regular git repo first initGit(testDir, 'https://github.com/adobe/dummy-foo.git'); From c5402a3d15874dca73c1aba40cf9b73184acc66c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 11 Oct 2026 10:37:43 +0000 Subject: [PATCH 02/15] fix(deps): update dependency @adobe/helix-html-pipeline to v6.32.6 (#2809) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 95 +++++++++++++---------------------------------- package.json | 2 +- 2 files changed, 27 insertions(+), 70 deletions(-) diff --git a/package-lock.json b/package-lock.json index 85ad332ae..3ec204d5e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.1", - "@adobe/helix-html-pipeline": "6.32.5", + "@adobe/helix-html-pipeline": "6.32.6", "@adobe/helix-html2md": "2.2.4", "@adobe/helix-log": "7.0.0", "@adobe/helix-shared-config": "11.2.5", @@ -162,15 +162,15 @@ } }, "node_modules/@adobe/helix-html-pipeline": { - "version": "6.32.5", - "resolved": "https://registry.npmjs.org/@adobe/helix-html-pipeline/-/helix-html-pipeline-6.32.5.tgz", - "integrity": "sha512-esF3pddYHmTiSwu1lBmb+WdFK8nV9GtErKHZdkFsvHY20SnK54o0Q2lsgiEdYYwpOE8nX4zwW4qtcCEiWpmS0w==", + "version": "6.32.6", + "resolved": "https://registry.npmjs.org/@adobe/helix-html-pipeline/-/helix-html-pipeline-6.32.6.tgz", + "integrity": "sha512-F5tidYgHstFYohq/+8YN+lIJ0mjkV1bhnxPah5nfKegwkl8evft0CMWhJUaWlZIX46NWsOFgDq4yvnRaMwHOVg==", "license": "Apache-2.0", "dependencies": { "@adobe/helix-markdown-support": "7.1.27", "@adobe/helix-shared-utils": "3.0.2", "@adobe/mdast-util-gridtables": "4.0.20", - "@adobe/remark-gridtables": "3.0.20", + "@adobe/remark-gridtables": "3.0.21", "github-slugger": "2.0.0", "hast-util-raw": "9.1.0", "hast-util-select": "6.0.4", @@ -207,19 +207,6 @@ "node": ">= 14.18" } }, - "node_modules/@adobe/helix-html-pipeline/node_modules/@adobe/mdast-util-gridtables": { - "version": "4.0.20", - "resolved": "https://registry.npmjs.org/@adobe/mdast-util-gridtables/-/mdast-util-gridtables-4.0.20.tgz", - "integrity": "sha512-afu1lLXsFlCCMmSgZB6gic8hveCvLhVN7Vr7R/8SMfXX+8CdZCV9wfrer1sxbgqv+wm3FxkvSDaGanxl5EhEHA==", - "license": "Apache-2.0", - "dependencies": { - "@adobe/micromark-extension-gridtables": "^2.0.4", - "mdast-util-from-markdown": "2.1.0", - "mdast-util-to-hast": "13.2.1", - "mdast-util-to-markdown": "2.2.0", - "unist-util-visit": "5.1.0" - } - }, "node_modules/@adobe/helix-html-pipeline/node_modules/entities": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/entities/-/entities-8.1.0.tgz", @@ -232,16 +219,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@adobe/helix-html-pipeline/node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/@adobe/helix-html-pipeline/node_modules/mdast-util-from-markdown": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.1.0.tgz", @@ -266,29 +243,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/@adobe/helix-html-pipeline/node_modules/mdast-util-to-markdown": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.2.0.tgz", - "integrity": "sha512-2Jn/ADrHFFyyniBMi0bncTbJqU78K3/TEYvzvwrWWzD9MYPUa/Gm4r3nOeKFQg/PDM5BsbDYdc8ackW4NTY6NA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/@adobe/helix-html-pipeline/node_modules/mdast-util-to-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", @@ -1258,15 +1212,15 @@ } }, "node_modules/@adobe/mdast-util-gridtables": { - "version": "4.0.19", - "resolved": "https://registry.npmjs.org/@adobe/mdast-util-gridtables/-/mdast-util-gridtables-4.0.19.tgz", - "integrity": "sha512-Rsl9v3kbz5vGzyROjIhq4m/qriwvU1iu4DTMWAHAnVEC87uTzELf5pqcsJ5GSOdEFhfmHn4MtKd2ALZZ81q5kw==", + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@adobe/mdast-util-gridtables/-/mdast-util-gridtables-4.0.20.tgz", + "integrity": "sha512-afu1lLXsFlCCMmSgZB6gic8hveCvLhVN7Vr7R/8SMfXX+8CdZCV9wfrer1sxbgqv+wm3FxkvSDaGanxl5EhEHA==", "license": "Apache-2.0", "dependencies": { "@adobe/micromark-extension-gridtables": "^2.0.4", - "mdast-util-from-markdown": "2.0.3", + "mdast-util-from-markdown": "2.1.0", "mdast-util-to-hast": "13.2.1", - "mdast-util-to-markdown": "2.1.2", + "mdast-util-to-markdown": "2.2.0", "unist-util-visit": "5.1.0" } }, @@ -1281,9 +1235,9 @@ } }, "node_modules/@adobe/mdast-util-gridtables/node_modules/mdast-util-from-markdown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", - "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.1.0.tgz", + "integrity": "sha512-KRLgmPaP2H1ul2bpoJkOS+9pAcDAAj9Nu1mqLnh8NLeJG5tlvj42TH80PIGBpROWlRXLk0lDrWNuZCFy/tsB4A==", "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", @@ -1305,9 +1259,9 @@ } }, "node_modules/@adobe/mdast-util-gridtables/node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.2.0.tgz", + "integrity": "sha512-2Jn/ADrHFFyyniBMi0bncTbJqU78K3/TEYvzvwrWWzD9MYPUa/Gm4r3nOeKFQg/PDM5BsbDYdc8ackW4NTY6NA==", "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", @@ -1315,8 +1269,10 @@ "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", + "micromark-util-character": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" }, @@ -1339,9 +1295,9 @@ } }, "node_modules/@adobe/mdast-util-gridtables/node_modules/micromark": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.3.tgz", + "integrity": "sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==", "funding": [ { "type": "GitHub Sponsors", @@ -1364,6 +1320,7 @@ "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-edit-map": "^1.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", @@ -1433,12 +1390,12 @@ } }, "node_modules/@adobe/remark-gridtables": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/@adobe/remark-gridtables/-/remark-gridtables-3.0.20.tgz", - "integrity": "sha512-avkCL+619sLX0eQA2oavf3jg0op4m/DCMNZy/9lx7Xv66bSngHHFICYYgL4nfX0k10yRxw8a3EvvMRbCegkXBQ==", + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/@adobe/remark-gridtables/-/remark-gridtables-3.0.21.tgz", + "integrity": "sha512-wWP5gV6hkwPBzJrl2bCPzs2osUBCp7XYSbHbL+u7Zfctpi04q0GZZM6MpA6z1bbtekkIMyihpaslsqst2IVMQg==", "license": "Apache-2.0", "dependencies": { - "@adobe/mdast-util-gridtables": "4.0.19", + "@adobe/mdast-util-gridtables": "4.0.20", "@adobe/micromark-extension-gridtables": "2.0.4" } }, diff --git a/package.json b/package.json index e3e321961..d0fc6ce40 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ }, "dependencies": { "@adobe/fetch": "4.3.1", - "@adobe/helix-html-pipeline": "6.32.5", + "@adobe/helix-html-pipeline": "6.32.6", "@adobe/helix-html2md": "2.2.4", "@adobe/helix-log": "7.0.0", "@adobe/helix-shared-config": "11.2.5", From 1d8a136c47d142e7cb69778c640ca77a79b6bd82 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 11 Oct 2026 10:45:01 +0000 Subject: [PATCH 03/15] chore(release): 16.22.5 [skip ci] ## [16.22.5](https://github.com/adobe/helix-cli/compare/v16.22.4...v16.22.5) (2026-10-11) ### Bug Fixes * **deps:** update dependency @adobe/helix-html-pipeline to v6.32.6 ([#2809](https://github.com/adobe/helix-cli/issues/2809)) ([3188a91](https://github.com/adobe/helix-cli/commit/3188a91a25e3f1c1346dd5f9bf02390676b5fb1b)) --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3da06c38a..7530a750e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [16.22.5](https://github.com/adobe/helix-cli/compare/v16.22.4...v16.22.5) (2026-10-11) + + +### Bug Fixes + +* **deps:** update dependency @adobe/helix-html-pipeline to v6.32.6 ([#2809](https://github.com/adobe/helix-cli/issues/2809)) ([3188a91](https://github.com/adobe/helix-cli/commit/3188a91a25e3f1c1346dd5f9bf02390676b5fb1b)) + ## [16.22.4](https://github.com/adobe/helix-cli/compare/v16.22.3...v16.22.4) (2026-10-06) diff --git a/package-lock.json b/package-lock.json index 3ec204d5e..bc7b11043 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@adobe/aem-cli", - "version": "16.22.4", + "version": "16.22.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/aem-cli", - "version": "16.22.4", + "version": "16.22.5", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.1", diff --git a/package.json b/package.json index d0fc6ce40..547f5c467 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/aem-cli", - "version": "16.22.4", + "version": "16.22.5", "description": "AEM CLI", "main": "index.js", "type": "module", From b4d8bf426c251937de3d4e9f488663f415caa5d4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 16:08:13 +0000 Subject: [PATCH 04/15] fix(deps): update dependency @adobe/fetch to v4.3.2 (#2810) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index bc7b11043..1389fe78e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "16.22.5", "license": "Apache-2.0", "dependencies": { - "@adobe/fetch": "4.3.1", + "@adobe/fetch": "4.3.2", "@adobe/helix-html-pipeline": "6.32.6", "@adobe/helix-html2md": "2.2.4", "@adobe/helix-log": "7.0.0", @@ -148,13 +148,13 @@ } }, "node_modules/@adobe/fetch": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@adobe/fetch/-/fetch-4.3.1.tgz", - "integrity": "sha512-T/8A8NRjAOmLjkwKlWUM6MA8l99bAb9BV5BMzai+TtMyVxbtvrqjnrCkIZ+d+X0t03i2BWG4Q5kO6nwmmDscfQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@adobe/fetch/-/fetch-4.3.2.tgz", + "integrity": "sha512-0vYI+CuqE5Dnt/bEmrfHz9TZrNt1XPPw0t6XIZIH9ayAlVV3+egrMPuYlUOwxZ/1UWF4jDrUr6Ux6Ny4RXO9hg==", "license": "Apache-2.0", "dependencies": { "debug": "4.4.3", - "http-cache-semantics": "4.2.0", + "http-cache-semantics": "4.3.0", "lru-cache": "7.18.3" }, "engines": { @@ -7349,9 +7349,9 @@ } }, "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.3.0.tgz", + "integrity": "sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==", "license": "BSD-2-Clause" }, "node_modules/http-errors": { diff --git a/package.json b/package.json index 547f5c467..85ff41d79 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "node": ">=18" }, "dependencies": { - "@adobe/fetch": "4.3.1", + "@adobe/fetch": "4.3.2", "@adobe/helix-html-pipeline": "6.32.6", "@adobe/helix-html2md": "2.2.4", "@adobe/helix-log": "7.0.0", From 6aa3fa863dc7a2ee844b41d7fe5a497fa9e9b66c Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 12 Oct 2026 17:23:43 +0000 Subject: [PATCH 05/15] chore(release): 16.22.6 [skip ci] ## [16.22.6](https://github.com/adobe/helix-cli/compare/v16.22.5...v16.22.6) (2026-10-12) ### Bug Fixes * **deps:** update dependency @adobe/fetch to v4.3.2 ([#2810](https://github.com/adobe/helix-cli/issues/2810)) ([c158409](https://github.com/adobe/helix-cli/commit/c158409cc5c44c31a8dab3039fafc7205aded077)) --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7530a750e..7dcc94a9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [16.22.6](https://github.com/adobe/helix-cli/compare/v16.22.5...v16.22.6) (2026-10-12) + + +### Bug Fixes + +* **deps:** update dependency @adobe/fetch to v4.3.2 ([#2810](https://github.com/adobe/helix-cli/issues/2810)) ([c158409](https://github.com/adobe/helix-cli/commit/c158409cc5c44c31a8dab3039fafc7205aded077)) + ## [16.22.5](https://github.com/adobe/helix-cli/compare/v16.22.4...v16.22.5) (2026-10-11) diff --git a/package-lock.json b/package-lock.json index 1389fe78e..0397c804a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@adobe/aem-cli", - "version": "16.22.5", + "version": "16.22.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/aem-cli", - "version": "16.22.5", + "version": "16.22.6", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.2", diff --git a/package.json b/package.json index 85ff41d79..68b08cfbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/aem-cli", - "version": "16.22.5", + "version": "16.22.6", "description": "AEM CLI", "main": "index.js", "type": "module", From 35bec07a8b33497fe8bbdb59787fc11ec13130df Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 Oct 2026 03:20:26 +0000 Subject: [PATCH 06/15] fix(deps): update external fixes (#2811) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 55 +++++++++++++++++++++++++++++++++-------------- package.json | 8 +++---- 2 files changed, 43 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0397c804a..78d025d2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@adobe/helix-shared-indexer": "2.2.10", "@adobe/helix-shared-process-queue": "3.1.9", "camelcase": "9.0.0", - "chalk-template": "1.1.2", + "chalk-template": "1.1.3", "chokidar": "5.0.0", "compression": "1.8.2", "cookie": "2.0.1", @@ -28,15 +28,15 @@ "express": "5.2.1", "express-rate-limit": "8.7.0", "faye-websocket": "0.11.4", - "fs-extra": "11.4.0", + "fs-extra": "11.4.1", "glob": "13.0.6", "hast-util-select": "6.0.4", "hast-util-to-html": "9.0.5", "http-proxy-agent": "9.1.0", "https-proxy-agent": "9.1.0", - "ignore": "7.0.9", + "ignore": "7.0.10", "ini": "7.0.0", - "isomorphic-git": "1.42.2", + "isomorphic-git": "1.42.3", "jose": "6.2.12", "livereload-js": "4.0.2", "mime": "4.1.0", @@ -1152,6 +1152,29 @@ "yaml": "2.9.1" } }, + "node_modules/@adobe/helix-shared-config/node_modules/fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@adobe/helix-shared-config/node_modules/ignore": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.9.tgz", + "integrity": "sha512-brTTsvFRt5C1gGHtPst/281UjPD5t9fBqbgoMPlVWy11ZLTPfu7HxK4ZYqO9H7o/yC9rSTCI85EaQ4OoY12qYw==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/@adobe/helix-shared-config/node_modules/lru-cache": { "version": "11.5.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", @@ -3882,9 +3905,9 @@ } }, "node_modules/chalk-template": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-1.1.2.tgz", - "integrity": "sha512-2bxTP2yUH7AJj/VAXfcA+4IcWGdQ87HwBANLt5XxGTeomo8yG0y95N1um9i5StvhT/Bl0/2cARA5v1PpPXUxUA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-1.1.3.tgz", + "integrity": "sha512-KDt7oQ+LRF2VLFsTAZd76ZNCKQa8LuW7SZkNJMkriMzvlSNj6dI+S+f41mfK9oTtil49seHVyabtt1753sFL2w==", "license": "MIT", "dependencies": { "chalk": "^5.2.0" @@ -6445,9 +6468,9 @@ } }, "node_modules/fs-extra": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", - "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.1.tgz", + "integrity": "sha512-KYAb4c9BJQI6QqGKthV68OHe0badztdXJWKo0WtBA9IuCFPTKvE5ZdUBglP833aMjhaSPNO4A5j/EkzZtGlKjA==", "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", @@ -7470,9 +7493,9 @@ "license": "BSD-3-Clause" }, "node_modules/ignore": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.9.tgz", - "integrity": "sha512-brTTsvFRt5C1gGHtPst/281UjPD5t9fBqbgoMPlVWy11ZLTPfu7HxK4ZYqO9H7o/yC9rSTCI85EaQ4OoY12qYw==", + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.10.tgz", + "integrity": "sha512-HpbUakT7xp5miBUywCHf36ZEuAJNklBJDDsGpUIjMzOSmM8ELSfA9Sa/QDPeNeqeoN31u+UTCkL4klCOVvRm4Q==", "license": "MIT", "engines": { "node": ">= 4" @@ -8235,9 +8258,9 @@ "license": "ISC" }, "node_modules/isomorphic-git": { - "version": "1.42.2", - "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.42.2.tgz", - "integrity": "sha512-Rb7czWhLO4JYqmg4an01nNomuAgFbWWK2CVfkHGBOvK5t7hrGTKOXPx/csscJ1j9o3uXFzNcC6njgvCafSmIPw==", + "version": "1.42.3", + "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.42.3.tgz", + "integrity": "sha512-OHr8jeIxQY9h06KK5wEcdYnuul9QokOoaBekWkfqAx8KhZRnQpseqfL1I4okC7gNMw9UZ3zfG/nuCnn631SDFw==", "license": "MIT", "dependencies": { "async-lock": "^1.4.1", diff --git a/package.json b/package.json index 68b08cfbc..ccc90e62a 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@adobe/helix-shared-indexer": "2.2.10", "@adobe/helix-shared-process-queue": "3.1.9", "camelcase": "9.0.0", - "chalk-template": "1.1.2", + "chalk-template": "1.1.3", "chokidar": "5.0.0", "compression": "1.8.2", "cookie": "2.0.1", @@ -62,15 +62,15 @@ "express": "5.2.1", "express-rate-limit": "8.7.0", "faye-websocket": "0.11.4", - "fs-extra": "11.4.0", + "fs-extra": "11.4.1", "glob": "13.0.6", "hast-util-select": "6.0.4", "hast-util-to-html": "9.0.5", "http-proxy-agent": "9.1.0", "https-proxy-agent": "9.1.0", - "ignore": "7.0.9", + "ignore": "7.0.10", "ini": "7.0.0", - "isomorphic-git": "1.42.2", + "isomorphic-git": "1.42.3", "jose": "6.2.12", "livereload-js": "4.0.2", "mime": "4.1.0", From 286fe28dd2c5987c2f21ed9b5db6e887de5d7f37 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 13 Oct 2026 03:27:58 +0000 Subject: [PATCH 07/15] chore(release): 16.22.7 [skip ci] ## [16.22.7](https://github.com/adobe/helix-cli/compare/v16.22.6...v16.22.7) (2026-10-13) ### Bug Fixes * **deps:** update external fixes ([#2811](https://github.com/adobe/helix-cli/issues/2811)) ([ede087e](https://github.com/adobe/helix-cli/commit/ede087ebc7ab32005eabbab07d8c55d3b30f64d6)) --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7dcc94a9d..b23300368 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [16.22.7](https://github.com/adobe/helix-cli/compare/v16.22.6...v16.22.7) (2026-10-13) + + +### Bug Fixes + +* **deps:** update external fixes ([#2811](https://github.com/adobe/helix-cli/issues/2811)) ([ede087e](https://github.com/adobe/helix-cli/commit/ede087ebc7ab32005eabbab07d8c55d3b30f64d6)) + ## [16.22.6](https://github.com/adobe/helix-cli/compare/v16.22.5...v16.22.6) (2026-10-12) diff --git a/package-lock.json b/package-lock.json index 78d025d2b..5fed6d43c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@adobe/aem-cli", - "version": "16.22.6", + "version": "16.22.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/aem-cli", - "version": "16.22.6", + "version": "16.22.7", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.2", diff --git a/package.json b/package.json index ccc90e62a..1eafde00e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/aem-cli", - "version": "16.22.6", + "version": "16.22.7", "description": "AEM CLI", "main": "index.js", "type": "module", From 6bcc0fab2b437d7c0864ce668a24fe7095b36a07 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 Oct 2026 07:37:32 +0000 Subject: [PATCH 08/15] fix(deps): update dependency @adobe/helix-shared-config to v11.2.6 (#2814) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 35 ++++++----------------------------- package.json | 2 +- 2 files changed, 7 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5fed6d43c..6ba3489ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@adobe/helix-html-pipeline": "6.32.6", "@adobe/helix-html2md": "2.2.4", "@adobe/helix-log": "7.0.0", - "@adobe/helix-shared-config": "11.2.5", + "@adobe/helix-shared-config": "11.2.6", "@adobe/helix-shared-git": "3.0.26", "@adobe/helix-shared-indexer": "2.2.10", "@adobe/helix-shared-process-queue": "3.1.9", @@ -1134,9 +1134,9 @@ "license": "Apache-2.0" }, "node_modules/@adobe/helix-shared-config": { - "version": "11.2.5", - "resolved": "https://registry.npmjs.org/@adobe/helix-shared-config/-/helix-shared-config-11.2.5.tgz", - "integrity": "sha512-pW2fPM0QZy3ZzMAiiYCT9+iRbDWSnivTsB5vfa5mOmWDnKuXoU64rvyLtt89ww78m5L9DsJOIlRBExUtz2QXCQ==", + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/@adobe/helix-shared-config/-/helix-shared-config-11.2.6.tgz", + "integrity": "sha512-aRO1aQQ4k6f9gWqTJxG/OmiaqofJc3/buSvf/nUvnSMbp9JxDeSUGIVAHQwn262Z+uo7ExQnvTkVbIrfxkVjVA==", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "^4.0.1", @@ -1146,35 +1146,12 @@ "ajv": "8.20.0", "ajv-formats": "3.0.1", "cookie": "2.0.1", - "fs-extra": "11.4.0", - "ignore": "7.0.9", + "fs-extra": "11.4.1", + "ignore": "7.0.10", "lru-cache": "11.5.3", "yaml": "2.9.1" } }, - "node_modules/@adobe/helix-shared-config/node_modules/fs-extra": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.4.0.tgz", - "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@adobe/helix-shared-config/node_modules/ignore": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.9.tgz", - "integrity": "sha512-brTTsvFRt5C1gGHtPst/281UjPD5t9fBqbgoMPlVWy11ZLTPfu7HxK4ZYqO9H7o/yC9rSTCI85EaQ4OoY12qYw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@adobe/helix-shared-config/node_modules/lru-cache": { "version": "11.5.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", diff --git a/package.json b/package.json index 1eafde00e..e77527e92 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@adobe/helix-html-pipeline": "6.32.6", "@adobe/helix-html2md": "2.2.4", "@adobe/helix-log": "7.0.0", - "@adobe/helix-shared-config": "11.2.5", + "@adobe/helix-shared-config": "11.2.6", "@adobe/helix-shared-git": "3.0.26", "@adobe/helix-shared-indexer": "2.2.10", "@adobe/helix-shared-process-queue": "3.1.9", From 5603c63780061e9c06e289d82219b55c6825100d Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 13 Oct 2026 07:44:52 +0000 Subject: [PATCH 09/15] chore(release): 16.22.8 [skip ci] ## [16.22.8](https://github.com/adobe/helix-cli/compare/v16.22.7...v16.22.8) (2026-10-13) ### Bug Fixes * **deps:** update dependency @adobe/helix-shared-config to v11.2.6 ([#2814](https://github.com/adobe/helix-cli/issues/2814)) ([b683ef9](https://github.com/adobe/helix-cli/commit/b683ef939a84b37e5678cde28918ebd5b0dcc281)) --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b23300368..12a605913 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [16.22.8](https://github.com/adobe/helix-cli/compare/v16.22.7...v16.22.8) (2026-10-13) + + +### Bug Fixes + +* **deps:** update dependency @adobe/helix-shared-config to v11.2.6 ([#2814](https://github.com/adobe/helix-cli/issues/2814)) ([b683ef9](https://github.com/adobe/helix-cli/commit/b683ef939a84b37e5678cde28918ebd5b0dcc281)) + ## [16.22.7](https://github.com/adobe/helix-cli/compare/v16.22.6...v16.22.7) (2026-10-13) diff --git a/package-lock.json b/package-lock.json index 6ba3489ee..2681ff09f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@adobe/aem-cli", - "version": "16.22.7", + "version": "16.22.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/aem-cli", - "version": "16.22.7", + "version": "16.22.8", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.2", diff --git a/package.json b/package.json index e77527e92..a65fbb92e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/aem-cli", - "version": "16.22.7", + "version": "16.22.8", "description": "AEM CLI", "main": "index.js", "type": "module", From c6559d70a21df56566ef0064da7b2507a2f5b004 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 Oct 2026 14:28:24 +0000 Subject: [PATCH 10/15] chore(deps): update external dev fixes (#2812) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 55 ++++++++++--------- package.json | 4 +- .../browser-injectables/package-lock.json | 19 +++---- packages/browser-injectables/package.json | 2 +- 4 files changed, 40 insertions(+), 40 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2681ff09f..1740890f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,8 +68,8 @@ "esmock": "2.7.6", "husky": "9.1.7", "junit-report-builder": "5.1.2", - "lint-staged": "17.4.1", - "mocha": "12.0.0", + "lint-staged": "17.6.0", + "mocha": "12.0.2", "mocha-multi-reporters": "1.5.2", "nock": "13.5.6", "semantic-release": "25.0.9", @@ -8011,13 +8011,16 @@ } }, "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-plain-obj": { @@ -8528,15 +8531,15 @@ "license": "MIT" }, "node_modules/lint-staged": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.4.1.tgz", - "integrity": "sha512-FmJeudcalbSfg1du+JCfvi5vS6Qt08KgbfLWiHinbef+2JJwUZwAWVoaO1AcJVUTWPfk0t30PMQNwPAeCzYQ+Q==", + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.6.0.tgz", + "integrity": "sha512-nOhBfYkZEwkFtNzD5pK9s9LkcWoxJ+whLzEnhqi9nl7zTB5n7tg8+9iYgMGx2Wm3VlLu8cbNj0RACzY+nWi5iQ==", "dev": true, "license": "MIT", "dependencies": { "picomatch": "^4.0.7", "string-argv": "^0.3.2", - "tinyexec": "^1.3.0" + "tinyexec": "^1.3.1" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -8548,7 +8551,7 @@ "url": "https://opencollective.com/lint-staged" }, "optionalDependencies": { - "yaml": "^2.9.0" + "yaml": "^2.9.1" } }, "node_modules/lint-staged/node_modules/picomatch": { @@ -9904,9 +9907,9 @@ } }, "node_modules/mocha": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-12.0.0.tgz", - "integrity": "sha512-NYNh5IFt6WYqm9bi4601m7vix8MZdXC0DwS4gY6WhXO2RgJWhivhISVmq1oklCif18OSI9l+vx5Mdm5oh1XGiQ==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-12.0.2.tgz", + "integrity": "sha512-SjAulGHxlMJLCD1bhvJBAiYwYxglydRzA9PDQ5MALq1oLRMMtIhxSQJ0olCFgA7c9YbTdxC0KOV0wl8JEDYVhA==", "dev": true, "license": "MIT", "dependencies": { @@ -9914,15 +9917,15 @@ "chokidar": "^5.0.0", "debug": "^4.3.5", "diff": "^9.0.0", - "find-up": "^5.0.0", + "find-up-simple": "^1.0.1", "glob": "^13.0.0", - "is-path-inside": "^3.0.3", + "is-path-inside": "^4.0.0", "is-unicode-supported": "^0.1.0", "js-yaml": "^5.0.0", "minimatch": "^10.2.2", "ms": "^2.1.3", "picocolors": "^1.1.1", - "serialize-javascript": "^7.0.2", + "serialize-javascript": "^7.1.1", "strip-json-comments": "^5.0.3", "supports-color": "^8.1.1", "workerpool": "^10.0.0" @@ -9962,9 +9965,9 @@ } }, "node_modules/mocha/node_modules/brace-expansion": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", - "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", + "integrity": "sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9975,9 +9978,9 @@ } }, "node_modules/mocha/node_modules/js-yaml": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.1.tgz", - "integrity": "sha512-28R/k+NAjeuf7+CKlTxWZVExJGwVVLwY06DgEnOMz2gEpfNkDcD7QvyiVPT0xy0XXhU8vHsd4Ot42OOPdJG7dQ==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.2.tgz", + "integrity": "sha512-m+aqu+LwO1O6sIopafj8HUVl5aawITwZQe/yHpMCKjaWBaA/d07B/QdMb3529REftiU+RMMHL3Vlsw3hON7vWg==", "dev": true, "funding": [ { @@ -15067,9 +15070,9 @@ } }, "node_modules/tinyexec": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.0.tgz", - "integrity": "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", + "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index a65fbb92e..98844f2eb 100644 --- a/package.json +++ b/package.json @@ -98,8 +98,8 @@ "esmock": "2.7.6", "husky": "9.1.7", "junit-report-builder": "5.1.2", - "lint-staged": "17.4.1", - "mocha": "12.0.0", + "lint-staged": "17.6.0", + "mocha": "12.0.2", "mocha-multi-reporters": "1.5.2", "nock": "13.5.6", "semantic-release": "25.0.9", diff --git a/packages/browser-injectables/package-lock.json b/packages/browser-injectables/package-lock.json index 1b6955d9b..09865acb6 100644 --- a/packages/browser-injectables/package-lock.json +++ b/packages/browser-injectables/package-lock.json @@ -19,7 +19,7 @@ "@web/test-runner-junit-reporter": "1.0.0", "@web/test-runner-mocha": "1.0.0", "@web/test-runner-playwright": "1.0.0", - "playwright": "1.62.1" + "playwright": "1.63.0" } }, "node_modules/@adobe/eslint-config-helix": { @@ -5483,28 +5483,25 @@ } }, "node_modules/playwright": { - "version": "1.62.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.1.tgz", - "integrity": "sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==", + "version": "1.63.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz", + "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.62.1" + "playwright-core": "1.63.0" }, "bin": { "playwright": "cli.js" }, "engines": { "node": ">=20" - }, - "optionalDependencies": { - "fsevents": "2.3.2" } }, "node_modules/playwright-core": { - "version": "1.62.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.1.tgz", - "integrity": "sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==", + "version": "1.63.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz", + "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/packages/browser-injectables/package.json b/packages/browser-injectables/package.json index f1108ecd8..682e961cf 100644 --- a/packages/browser-injectables/package.json +++ b/packages/browser-injectables/package.json @@ -19,7 +19,7 @@ "@web/test-runner-playwright": "1.0.0", "@web/test-runner-junit-reporter": "1.0.0", "@web/test-runner-mocha": "1.0.0", - "playwright": "1.62.1" + "playwright": "1.63.0" }, "dependencies": { "livereload-js": "4.0.2" From 9fc955cf032e58d768b806f31ca996653b48bdba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 23:14:09 +0200 Subject: [PATCH 11/15] fix(deps): update dependency dotenv to v18 (#2813) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 11 +++++++---- package.json | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1740890f6..13cc41110 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "cookie": "2.0.1", "cookie-parser": "1.4.7", "diff": "9.0.0", - "dotenv": "17.4.2", + "dotenv": "18.0.5", "express": "5.2.1", "express-rate-limit": "8.7.0", "faye-websocket": "0.11.4", @@ -4972,10 +4972,13 @@ } }, "node_modules/dotenv": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", - "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", + "version": "18.0.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.5.tgz", + "integrity": "sha512-aBrGvt6KhjxbEnatqMWOMidftwsrCiCvqh1yNIGB9QyF0J+VcWkKDMsvYOEm7ZS82oiV+BT1sTOtIlAmUlTpwQ==", "license": "BSD-2-Clause", + "bin": { + "dotenv": "dist/index.cjs" + }, "engines": { "node": ">=12" }, diff --git a/package.json b/package.json index 98844f2eb..5b516df14 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "cookie": "2.0.1", "cookie-parser": "1.4.7", "diff": "9.0.0", - "dotenv": "17.4.2", + "dotenv": "18.0.5", "express": "5.2.1", "express-rate-limit": "8.7.0", "faye-websocket": "0.11.4", From 5929189e3c30385456c0e8a66a139ebe6ae1a5ba Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 14 Oct 2026 21:21:35 +0000 Subject: [PATCH 12/15] chore(release): 16.22.9 [skip ci] ## [16.22.9](https://github.com/adobe/helix-cli/compare/v16.22.8...v16.22.9) (2026-10-14) ### Bug Fixes * **deps:** update dependency dotenv to v18 ([#2813](https://github.com/adobe/helix-cli/issues/2813)) ([0bd11fb](https://github.com/adobe/helix-cli/commit/0bd11fb357f7309e63b893cf506736ba58783378)) --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12a605913..3bd359717 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [16.22.9](https://github.com/adobe/helix-cli/compare/v16.22.8...v16.22.9) (2026-10-14) + + +### Bug Fixes + +* **deps:** update dependency dotenv to v18 ([#2813](https://github.com/adobe/helix-cli/issues/2813)) ([0bd11fb](https://github.com/adobe/helix-cli/commit/0bd11fb357f7309e63b893cf506736ba58783378)) + ## [16.22.8](https://github.com/adobe/helix-cli/compare/v16.22.7...v16.22.8) (2026-10-13) diff --git a/package-lock.json b/package-lock.json index 13cc41110..b3ee7c750 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@adobe/aem-cli", - "version": "16.22.8", + "version": "16.22.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/aem-cli", - "version": "16.22.8", + "version": "16.22.9", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.2", diff --git a/package.json b/package.json index 5b516df14..fb645e111 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/aem-cli", - "version": "16.22.8", + "version": "16.22.9", "description": "AEM CLI", "main": "index.js", "type": "module", From e56ef2a0f3250e14ca00b3b5482cb6fd07079afb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2026 14:23:38 +0000 Subject: [PATCH 13/15] fix(deps): update dependency @adobe/helix-html-pipeline to v6.32.7 (#2815) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 24 ++++++++++++------------ package.json | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index b3ee7c750..1ef71f6ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.2", - "@adobe/helix-html-pipeline": "6.32.6", + "@adobe/helix-html-pipeline": "6.32.7", "@adobe/helix-html2md": "2.2.4", "@adobe/helix-log": "7.0.0", "@adobe/helix-shared-config": "11.2.6", @@ -162,15 +162,15 @@ } }, "node_modules/@adobe/helix-html-pipeline": { - "version": "6.32.6", - "resolved": "https://registry.npmjs.org/@adobe/helix-html-pipeline/-/helix-html-pipeline-6.32.6.tgz", - "integrity": "sha512-F5tidYgHstFYohq/+8YN+lIJ0mjkV1bhnxPah5nfKegwkl8evft0CMWhJUaWlZIX46NWsOFgDq4yvnRaMwHOVg==", + "version": "6.32.7", + "resolved": "https://registry.npmjs.org/@adobe/helix-html-pipeline/-/helix-html-pipeline-6.32.7.tgz", + "integrity": "sha512-kiQYSaP7G2fNuz+NrKGpHSzfo83LM0szolsroyKcXVu9yeyDlHGgEjyK4Ine6PqnzOXDYeExwXoXDaAliAVEaQ==", "license": "Apache-2.0", "dependencies": { "@adobe/helix-markdown-support": "7.1.27", "@adobe/helix-shared-utils": "3.0.2", "@adobe/mdast-util-gridtables": "4.0.20", - "@adobe/remark-gridtables": "3.0.21", + "@adobe/remark-gridtables": "3.0.22", "github-slugger": "2.0.0", "hast-util-raw": "9.1.0", "hast-util-select": "6.0.4", @@ -1344,9 +1344,9 @@ } }, "node_modules/@adobe/micromark-extension-gridtables": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@adobe/micromark-extension-gridtables/-/micromark-extension-gridtables-2.0.4.tgz", - "integrity": "sha512-mzyRI2d0StuUv75VFnffYsHXRUo8J9RlK1EvjfmgHahwda1gNwe1Fqh4AYEZSWChf1HD/QBRcL6hEnxj9hedMg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@adobe/micromark-extension-gridtables/-/micromark-extension-gridtables-2.0.5.tgz", + "integrity": "sha512-zdNtrvNQ5g2g/sUCTzEHuH8NhX27QlgeqG6pp9BwOTgtoEto0USOzcwZDG0xGfnzE5Dmq8U7UQa62A7xq4MwPQ==", "license": "Apache-2.0", "dependencies": { "micromark": "^4.0.0", @@ -1390,13 +1390,13 @@ } }, "node_modules/@adobe/remark-gridtables": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/@adobe/remark-gridtables/-/remark-gridtables-3.0.21.tgz", - "integrity": "sha512-wWP5gV6hkwPBzJrl2bCPzs2osUBCp7XYSbHbL+u7Zfctpi04q0GZZM6MpA6z1bbtekkIMyihpaslsqst2IVMQg==", + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/@adobe/remark-gridtables/-/remark-gridtables-3.0.22.tgz", + "integrity": "sha512-iI8ofgYVhVGFahipUz1PDxRqQ0CZfUptSpkVsoW2Ni2K2pdEdYVmB9RSYT7GEG76OiOPNBwvHaUe2iWla7mzCA==", "license": "Apache-2.0", "dependencies": { "@adobe/mdast-util-gridtables": "4.0.20", - "@adobe/micromark-extension-gridtables": "2.0.4" + "@adobe/micromark-extension-gridtables": "2.0.5" } }, "node_modules/@aws-sdk/checksums": { diff --git a/package.json b/package.json index fb645e111..a40392567 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ }, "dependencies": { "@adobe/fetch": "4.3.2", - "@adobe/helix-html-pipeline": "6.32.6", + "@adobe/helix-html-pipeline": "6.32.7", "@adobe/helix-html2md": "2.2.4", "@adobe/helix-log": "7.0.0", "@adobe/helix-shared-config": "11.2.6", From 6554a63713a61171a4538a5f77666f1a331e2a55 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 18 Oct 2026 14:30:48 +0000 Subject: [PATCH 14/15] chore(release): 16.22.10 [skip ci] ## [16.22.10](https://github.com/adobe/helix-cli/compare/v16.22.9...v16.22.10) (2026-10-18) ### Bug Fixes * **deps:** update dependency @adobe/helix-html-pipeline to v6.32.7 ([#2815](https://github.com/adobe/helix-cli/issues/2815)) ([deea3f7](https://github.com/adobe/helix-cli/commit/deea3f786cb1ca7dec8f8ed192627de738a41a87)) --- CHANGELOG.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bd359717..397325d44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [16.22.10](https://github.com/adobe/helix-cli/compare/v16.22.9...v16.22.10) (2026-10-18) + + +### Bug Fixes + +* **deps:** update dependency @adobe/helix-html-pipeline to v6.32.7 ([#2815](https://github.com/adobe/helix-cli/issues/2815)) ([deea3f7](https://github.com/adobe/helix-cli/commit/deea3f786cb1ca7dec8f8ed192627de738a41a87)) + ## [16.22.9](https://github.com/adobe/helix-cli/compare/v16.22.8...v16.22.9) (2026-10-14) diff --git a/package-lock.json b/package-lock.json index 1ef71f6ee..7058f6037 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@adobe/aem-cli", - "version": "16.22.9", + "version": "16.22.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@adobe/aem-cli", - "version": "16.22.9", + "version": "16.22.10", "license": "Apache-2.0", "dependencies": { "@adobe/fetch": "4.3.2", diff --git a/package.json b/package.json index a40392567..bc8bf5119 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/aem-cli", - "version": "16.22.9", + "version": "16.22.10", "description": "AEM CLI", "main": "index.js", "type": "module", From bf6b4970e552fa9c3623d8f94286514759007472 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Holtvogt?= Date: Mon, 19 Oct 2026 10:56:23 +0200 Subject: [PATCH 15/15] fix: ignore git fsmonitor socket in up watcher (#2806) git's fsmonitor daemon creates a unix socket at /fsmonitor--daemon.ipc. On macOS chokidar uses fs.watch, which cannot watch a socket, so watching the git directory emitted an unhandled error and crashed `aem up`. Ignore the socket and log watcher errors as warnings instead of crashing. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- src/up.cmd.js | 6 +++++ test/up-cmd.test.js | 56 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/src/up.cmd.js b/src/up.cmd.js index c99635774..0531e18d0 100644 --- a/src/up.cmd.js +++ b/src/up.cmd.js @@ -233,6 +233,12 @@ export default class UpCommand extends AbstractServerCommand { this._watcher = chokidar.watch(gitDir, { persistent: true, ignoreInitial: true, + // git's fsmonitor daemon creates a unix socket that fs.watch cannot watch + ignored: /fsmonitor--daemon/, + }); + + this._watcher.on('error', (err) => { + this.log.warn(`unable to watch git directory: ${err.message}`); }); this._watcher.on('all', (eventType, file) => { diff --git a/test/up-cmd.test.js b/test/up-cmd.test.js index 31f380c10..64d84fc7f 100644 --- a/test/up-cmd.test.js +++ b/test/up-cmd.test.js @@ -12,6 +12,8 @@ /* eslint-env mocha */ import assert from 'assert'; +import net from 'net'; +import os from 'os'; import path from 'path'; import fse from 'fs-extra'; import esmock from 'esmock'; @@ -759,6 +761,60 @@ describe('Integration test for up command with git worktrees', function suite() await fse.remove(worktreeDir).catch(() => {}); } }); + + it('should not watch the git fsmonitor socket', async function test() { + if (process.platform === 'win32') { + this.skip(); + } + initGit(testDir, 'https://github.com/adobe/dummy-foo.git'); + + // unix socket paths are limited to ~100 chars and silently truncated, so bind in a short + // temp dir and move the socket into the git directory afterwards + const socketDir = await fse.mkdtemp(path.join(os.tmpdir(), 'aem-')); + const socketServer = net.createServer(); + await new Promise((resolve, reject) => { + socketServer.once('error', reject); + socketServer.listen(path.resolve(socketDir, 'f.ipc'), resolve); + }); + await fse.move( + path.resolve(socketDir, 'f.ipc'), + path.resolve(testDir, '.git', 'fsmonitor--daemon.ipc'), + ); + + const cmd = new UpCommand() + .withLiveReload(false) + .withDirectory(testDir) + .withHttpPort(0); + + try { + await new Promise((resolve, reject) => { + cmd + .on('started', async () => { + try { + // chokidar registers its watches asynchronously + await new Promise((r) => { + setTimeout(r, 500); + }); + // eslint-disable-next-line no-underscore-dangle + const watched = Object.values(cmd._watcher.getWatched()).flat(); + assert.ok(watched.includes('HEAD'), 'git HEAD should be watched'); + assert.ok(!watched.includes('fsmonitor--daemon.ipc'), 'fsmonitor socket must not be watched'); + await cmd.stop(); + } catch (e) { + reject(e); + } + }) + .on('stopped', resolve) + .run() + .catch(reject); + }); + } finally { + await new Promise((resolve) => { + socketServer.close(resolve); + }); + await fse.remove(socketDir); + } + }); }); describe('Integration test for up command with cache', function suite() {