From 662aa9fdbd69a81bbcc4a3203a6e0117cc2d28c2 Mon Sep 17 00:00:00 2001 From: TrueNine Date: Mon, 23 Feb 2026 09:20:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(cli):=20=E6=B7=BB=E5=8A=A0=E5=A4=9A?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0npm=E5=8C=85=E9=85=8D=E7=BD=AE=E5=B9=B6?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B5=8B=E8=AF=95=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加针对不同操作系统和架构的npm包配置文件,包括darwin-x64、darwin-arm64、linux-x64-gnu、win32-x64-msvc和linux-arm64-gnu平台 移除测试用例中的FIXME注释,该问题已解决 --- cli/npm/.gitignore | 1 + cli/npm/darwin-arm64/package.json | 10 ++++++++++ cli/npm/darwin-x64/package.json | 10 ++++++++++ cli/npm/linux-arm64-gnu/package.json | 10 ++++++++++ cli/npm/linux-x64-gnu/package.json | 10 ++++++++++ cli/npm/win32-x64-msvc/package.json | 10 ++++++++++ cli/src/commands/InitCommand.test.ts | 2 +- 7 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 cli/npm/darwin-arm64/package.json create mode 100644 cli/npm/darwin-x64/package.json create mode 100644 cli/npm/linux-arm64-gnu/package.json create mode 100644 cli/npm/linux-x64-gnu/package.json create mode 100644 cli/npm/win32-x64-msvc/package.json diff --git a/cli/npm/.gitignore b/cli/npm/.gitignore index 13391bc1..a85693ee 100644 --- a/cli/npm/.gitignore +++ b/cli/npm/.gitignore @@ -1,3 +1,4 @@ * !.gitignore +!*/ !*/package.json diff --git a/cli/npm/darwin-arm64/package.json b/cli/npm/darwin-arm64/package.json new file mode 100644 index 00000000..9b5653a6 --- /dev/null +++ b/cli/npm/darwin-arm64/package.json @@ -0,0 +1,10 @@ +{ + "name": "@truenine/memory-sync-cli-darwin-arm64", + "version": "2026.10223.10555", + "os": ["darwin"], + "arch": ["arm64"], + "license": "AGPL-3.0-only", + "main": "noop.cjs", + "types": "noop.d.ts", + "files": ["*.node", "noop.cjs", "noop.d.ts"] +} diff --git a/cli/npm/darwin-x64/package.json b/cli/npm/darwin-x64/package.json new file mode 100644 index 00000000..ac80ce6f --- /dev/null +++ b/cli/npm/darwin-x64/package.json @@ -0,0 +1,10 @@ +{ + "name": "@truenine/memory-sync-cli-darwin-x64", + "version": "2026.10223.10555", + "os": ["darwin"], + "arch": ["x64"], + "license": "AGPL-3.0-only", + "main": "noop.cjs", + "types": "noop.d.ts", + "files": ["*.node", "noop.cjs", "noop.d.ts"] +} diff --git a/cli/npm/linux-arm64-gnu/package.json b/cli/npm/linux-arm64-gnu/package.json new file mode 100644 index 00000000..55fa8a35 --- /dev/null +++ b/cli/npm/linux-arm64-gnu/package.json @@ -0,0 +1,10 @@ +{ + "name": "@truenine/memory-sync-cli-linux-arm64-gnu", + "version": "2026.10223.10555", + "os": ["linux"], + "arch": ["arm64"], + "license": "AGPL-3.0-only", + "main": "noop.cjs", + "types": "noop.d.ts", + "files": ["*.node", "noop.cjs", "noop.d.ts"] +} diff --git a/cli/npm/linux-x64-gnu/package.json b/cli/npm/linux-x64-gnu/package.json new file mode 100644 index 00000000..dfdfb249 --- /dev/null +++ b/cli/npm/linux-x64-gnu/package.json @@ -0,0 +1,10 @@ +{ + "name": "@truenine/memory-sync-cli-linux-x64-gnu", + "version": "2026.10223.10555", + "os": ["linux"], + "arch": ["x64"], + "license": "AGPL-3.0-only", + "main": "noop.cjs", + "types": "noop.d.ts", + "files": ["*.node", "noop.cjs", "noop.d.ts"] +} diff --git a/cli/npm/win32-x64-msvc/package.json b/cli/npm/win32-x64-msvc/package.json new file mode 100644 index 00000000..9fff098e --- /dev/null +++ b/cli/npm/win32-x64-msvc/package.json @@ -0,0 +1,10 @@ +{ + "name": "@truenine/memory-sync-cli-win32-x64-msvc", + "version": "2026.10223.10555", + "os": ["win32"], + "arch": ["x64"], + "license": "AGPL-3.0-only", + "main": "noop.cjs", + "types": "noop.d.ts", + "files": ["*.node", "noop.cjs", "noop.d.ts"] +} diff --git a/cli/src/commands/InitCommand.test.ts b/cli/src/commands/InitCommand.test.ts index 559f3eec..3237cb45 100644 --- a/cli/src/commands/InitCommand.test.ts +++ b/cli/src/commands/InitCommand.test.ts @@ -119,7 +119,7 @@ describe('initCommand', () => { }) describe('linkCwdConfig — symlink fallback to copy', () => { - it('falls back to copyFileSync when symlinkSync throws', async () => { // FIXME: fallback copy overwrites local edits on subsequent runs; needs content-hash guard + it('falls back to copyFileSync when symlinkSync throws', async () => { vi.mocked(fs.existsSync).mockImplementation(p => p === GLOBAL_CONFIG_PATH) vi.mocked(fs.symlinkSync).mockImplementation(() => { throw new Error('EPERM: operation not permitted')