fix(prebuild): stop pnpm build from re-preparing resources

This commit is contained in:
wonfen
2026-08-18 23:03:54 +08:00
parent daadb126e0
commit 2436d5cf6a
5 changed files with 18 additions and 54 deletions
+3
View File
@@ -58,6 +58,9 @@ const ARCH_MAP = {
const arg1 = process.argv.slice(2)[0]
const arg2 = process.argv.slice(2)[1]
const target = arg1 === '--force' || arg1 === '-f' ? arg2 : arg1
if (process.env.CI && !target) {
throw new Error('prebuild requires an explicit target triple in CI')
}
const { platform, arch } = target
? { platform: PLATFORM_MAP[target], arch: ARCH_MAP[target] }
: process
-39
View File
@@ -1,39 +0,0 @@
import assert from 'node:assert/strict'
import { readFile } from 'node:fs/promises'
import test from 'node:test'
import { resolveServiceRelease } from './service-release.mjs'
test('service prebuild release follows the Cargo dependency version', async () => {
const cargoManifest = await readFile(
new URL('../src-tauri/Cargo.toml', import.meta.url),
'utf8',
)
const dependencyVersion = cargoManifest
.split(/\r?\n/)
.find((line) => line.startsWith('clash_verge_service_ipc ='))
?.match(/\bversion\s*=\s*"([^"]+)"/)?.[1]
assert.ok(dependencyVersion)
const releaseVersion = `v${dependencyVersion}`
assert.deepEqual(
resolveServiceRelease(cargoManifest, 'x86_64-pc-windows-msvc', 'win32'),
{
version: releaseVersion,
archiveFile: `clash-verge-service-ipc-${releaseVersion}-x86_64-pc-windows-msvc.zip`,
downloadURL: `https://github.com/clash-verge-rev/clash-verge-service-ipc/releases/download/${releaseVersion}/clash-verge-service-ipc-${releaseVersion}-x86_64-pc-windows-msvc.zip`,
},
)
})
test('service prebuild rejects a dependency without an explicit version', () => {
assert.throws(
() =>
resolveServiceRelease(
'clash_verge_service_ipc = { path = "../service" }',
'x86_64-pc-windows-msvc',
'win32',
),
/must declare an inline version/,
)
})