mirror of
https://github.com/logseq/logseq.git
synced 2026-05-28 22:49:53 +00:00
fix: package zvec native bindings
This commit is contained in:
@@ -154,7 +154,6 @@
|
||||
"@sentry/react": "^10.51.0",
|
||||
"@sqlite.org/sqlite-wasm": "3.51.2-build9",
|
||||
"@tabler/icons-react": "2.47.0",
|
||||
"@zvec/zvec": "0.4.0",
|
||||
"bignumber.js": "^9.3.1",
|
||||
"chrono-node": "2.9.0",
|
||||
"codemirror": "5.65.18",
|
||||
@@ -195,6 +194,13 @@
|
||||
"url": "^0.11.4",
|
||||
"util": "^0.12.5"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@zvec/bindings-darwin-arm64": "0.4.0",
|
||||
"@zvec/bindings-linux-arm64": "0.4.0",
|
||||
"@zvec/bindings-linux-x64": "0.4.0",
|
||||
"@zvec/bindings-win32-x64": "0.4.0",
|
||||
"@zvec/zvec": "0.4.0"
|
||||
},
|
||||
"pnpm": {
|
||||
"ignoredBuiltDependencies": [
|
||||
"canvas",
|
||||
|
||||
20
pnpm-lock.yaml
generated
20
pnpm-lock.yaml
generated
@@ -113,9 +113,6 @@ importers:
|
||||
'@tabler/icons-react':
|
||||
specifier: 2.47.0
|
||||
version: 2.47.0(react@18.3.1)
|
||||
'@zvec/zvec':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
bignumber.js:
|
||||
specifier: ^9.3.1
|
||||
version: 9.3.1
|
||||
@@ -336,6 +333,22 @@ importers:
|
||||
ws:
|
||||
specifier: ^8.20.0
|
||||
version: 8.20.0
|
||||
optionalDependencies:
|
||||
'@zvec/bindings-darwin-arm64':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
'@zvec/bindings-linux-arm64':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
'@zvec/bindings-linux-x64':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
'@zvec/bindings-win32-x64':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
'@zvec/zvec':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
|
||||
packages:
|
||||
|
||||
@@ -5828,6 +5841,7 @@ snapshots:
|
||||
'@zvec/bindings-linux-arm64': 0.4.0
|
||||
'@zvec/bindings-linux-x64': 0.4.0
|
||||
'@zvec/bindings-win32-x64': 0.4.0
|
||||
optional: true
|
||||
|
||||
JSONStream@1.3.5:
|
||||
dependencies:
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
"@fastify/cors": "11.2.0",
|
||||
"@js-joda/core": "3.2.0",
|
||||
"@modelcontextprotocol/sdk": "^1.27.1",
|
||||
"@zvec/zvec": "0.4.0",
|
||||
"abort-controller": "3.0.0",
|
||||
"command-exists": "1.2.9",
|
||||
"diff-match-patch": "1.0.5",
|
||||
@@ -54,6 +53,13 @@
|
||||
"electron-builder": "26.8.2",
|
||||
"electron-devtools-installer": "4.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@zvec/bindings-darwin-arm64": "0.4.0",
|
||||
"@zvec/bindings-linux-arm64": "0.4.0",
|
||||
"@zvec/bindings-linux-x64": "0.4.0",
|
||||
"@zvec/bindings-win32-x64": "0.4.0",
|
||||
"@zvec/zvec": "0.4.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"node-abi": "4.28.0"
|
||||
},
|
||||
|
||||
24
resources/pnpm-lock.yaml
generated
24
resources/pnpm-lock.yaml
generated
@@ -20,9 +20,6 @@ importers:
|
||||
'@modelcontextprotocol/sdk':
|
||||
specifier: ^1.27.1
|
||||
version: 1.29.0(zod@4.3.6)
|
||||
'@zvec/zvec':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
abort-controller:
|
||||
specifier: 3.0.0
|
||||
version: 3.0.0
|
||||
@@ -105,6 +102,22 @@ importers:
|
||||
electron-devtools-installer:
|
||||
specifier: 4.0.0
|
||||
version: 4.0.0
|
||||
optionalDependencies:
|
||||
'@zvec/bindings-darwin-arm64':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
'@zvec/bindings-linux-arm64':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
'@zvec/bindings-linux-x64':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
'@zvec/bindings-win32-x64':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
'@zvec/zvec':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
|
||||
packages:
|
||||
|
||||
@@ -2534,6 +2547,7 @@ snapshots:
|
||||
'@zvec/bindings-linux-arm64': 0.4.0
|
||||
'@zvec/bindings-linux-x64': 0.4.0
|
||||
'@zvec/bindings-win32-x64': 0.4.0
|
||||
optional: true
|
||||
|
||||
abbrev@3.0.1: {}
|
||||
|
||||
@@ -2665,6 +2679,7 @@ snapshots:
|
||||
bindings@1.5.0:
|
||||
dependencies:
|
||||
file-uri-to-path: 1.0.0
|
||||
optional: true
|
||||
|
||||
bl@4.1.0:
|
||||
dependencies:
|
||||
@@ -3278,7 +3293,8 @@ snapshots:
|
||||
node-domexception: 1.0.0
|
||||
web-streams-polyfill: 3.3.3
|
||||
|
||||
file-uri-to-path@1.0.0: {}
|
||||
file-uri-to-path@1.0.0:
|
||||
optional: true
|
||||
|
||||
filelist@1.0.6:
|
||||
dependencies:
|
||||
|
||||
@@ -38,6 +38,10 @@ const assertReleaseEntrypoint = (content) => {
|
||||
|
||||
const dependencyNames = [
|
||||
"@js-joda/core",
|
||||
"@zvec/bindings-darwin-arm64",
|
||||
"@zvec/bindings-linux-arm64",
|
||||
"@zvec/bindings-linux-x64",
|
||||
"@zvec/bindings-win32-x64",
|
||||
"@zvec/zvec",
|
||||
"better-sqlite3",
|
||||
"fs-extra",
|
||||
@@ -54,16 +58,28 @@ const onlyBuiltDependencies = rootPackage.pnpm.onlyBuiltDependencies.filter(
|
||||
);
|
||||
|
||||
const dependencyVersion = (name) =>
|
||||
rootPackage.dependencies?.[name] ?? rootPackage.devDependencies?.[name];
|
||||
rootPackage.dependencies?.[name] ??
|
||||
rootPackage.optionalDependencies?.[name] ??
|
||||
rootPackage.devDependencies?.[name];
|
||||
|
||||
const dependencyEntries = dependencyNames.map((name) => {
|
||||
const version = dependencyVersion(name);
|
||||
if (!version) {
|
||||
throw new Error(`Missing CLI runtime dependency in package.json: ${name}`);
|
||||
}
|
||||
return [name, version];
|
||||
});
|
||||
|
||||
const optionalDependencyNames = new Set(
|
||||
Object.keys(rootPackage.optionalDependencies ?? {}),
|
||||
);
|
||||
|
||||
const dependencies = Object.fromEntries(
|
||||
dependencyNames.map((name) => {
|
||||
const version = dependencyVersion(name);
|
||||
if (!version) {
|
||||
throw new Error(`Missing CLI runtime dependency in package.json: ${name}`);
|
||||
}
|
||||
return [name, version];
|
||||
}),
|
||||
dependencyEntries.filter(([name]) => !optionalDependencyNames.has(name)),
|
||||
);
|
||||
|
||||
const optionalDependencies = Object.fromEntries(
|
||||
dependencyEntries.filter(([name]) => optionalDependencyNames.has(name)),
|
||||
);
|
||||
|
||||
assertReleaseEntrypoint(
|
||||
@@ -105,6 +121,7 @@ const packageJson = {
|
||||
],
|
||||
files: packageFiles,
|
||||
dependencies,
|
||||
optionalDependencies,
|
||||
pnpm: {
|
||||
onlyBuiltDependencies,
|
||||
},
|
||||
|
||||
@@ -9,6 +9,20 @@ const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), ".."
|
||||
const readText = (relativePath) =>
|
||||
fs.readFileSync(path.join(repoRoot, relativePath), "utf8");
|
||||
|
||||
const readJson = (relativePath) =>
|
||||
JSON.parse(readText(relativePath));
|
||||
|
||||
const rootPackage = readJson("package.json");
|
||||
const desktopPackage = readJson("resources/package.json");
|
||||
|
||||
const zvecOptionalRuntimeDependencies = [
|
||||
"@zvec/bindings-darwin-arm64",
|
||||
"@zvec/bindings-linux-arm64",
|
||||
"@zvec/bindings-linux-x64",
|
||||
"@zvec/bindings-win32-x64",
|
||||
"@zvec/zvec",
|
||||
];
|
||||
|
||||
const assertNotContains = (text, needle, label) => {
|
||||
assert.equal(
|
||||
text.includes(needle),
|
||||
@@ -90,6 +104,27 @@ assertNotContains(lintTask, '"deps/cli"', "lint task");
|
||||
const lintDepsTask = readText("scripts/src/logseq/tasks/dev/lint_test_deps.clj");
|
||||
assertNotContains(lintDepsTask, '"deps/cli"', "lint/test deps task");
|
||||
|
||||
for (const dependencyName of zvecOptionalRuntimeDependencies) {
|
||||
assert.equal(
|
||||
rootPackage.dependencies?.[dependencyName],
|
||||
undefined,
|
||||
`${dependencyName} should not be a hard root runtime dependency`,
|
||||
);
|
||||
assert.ok(
|
||||
rootPackage.optionalDependencies?.[dependencyName],
|
||||
`${dependencyName} should be an optional root runtime dependency`,
|
||||
);
|
||||
assert.equal(
|
||||
desktopPackage.dependencies?.[dependencyName],
|
||||
undefined,
|
||||
`${dependencyName} should not be a hard desktop runtime dependency`,
|
||||
);
|
||||
assert.ok(
|
||||
desktopPackage.optionalDependencies?.[dependencyName],
|
||||
`${dependencyName} should be an optional desktop runtime dependency`,
|
||||
);
|
||||
}
|
||||
|
||||
assert.equal(
|
||||
fs.existsSync(path.join(repoRoot, "src/main/logseq/cli/common/mcp/server.cljs")),
|
||||
false,
|
||||
@@ -124,6 +159,17 @@ assert.equal(packageJson.dependencies?.zod, undefined);
|
||||
assert.ok(packageJson.dependencies?.["@js-joda/core"], "publish package should include @js-joda/core for release artifacts");
|
||||
assert.ok(packageJson.dependencies?.keytar, "publish package should include keytar for db-worker-node");
|
||||
assert.ok(packageJson.dependencies?.["string-width"], "publish package should include string-width for CLI rendering");
|
||||
for (const dependencyName of zvecOptionalRuntimeDependencies) {
|
||||
assert.equal(
|
||||
packageJson.dependencies?.[dependencyName],
|
||||
undefined,
|
||||
`${dependencyName} should not be a hard publish package dependency`,
|
||||
);
|
||||
assert.ok(
|
||||
packageJson.optionalDependencies?.[dependencyName],
|
||||
`${dependencyName} should be an optional publish package dependency`,
|
||||
);
|
||||
}
|
||||
assert.deepEqual(packageJson.pnpm?.onlyBuiltDependencies, [
|
||||
"@zvec/zvec",
|
||||
"better-sqlite3",
|
||||
|
||||
Reference in New Issue
Block a user