From 55c1fa6f6910b38203b407a62ddbb746bbec3082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A2=96=E9=80=B8?= <49649786+Zuoqiu-Yingyi@users.noreply.github.com> Date: Thu, 9 May 2024 17:03:42 +0800 Subject: [PATCH] chore: release v0.3.10 --- CHANGELOG.md | 3 + node/cspell.config.cjs | 2 + node/package.json | 8 +- node/pnpm-lock.yaml | 116 +++++++++--------- .../fs/handle/SiyuanFileSystemFileHandle.ts | 13 +- .../kernel/api/export/exportHTML/payload.d.ts | 2 +- node/vite.config.ts | 8 +- .../api/export/exportHTML/payload.schema.json | 2 +- .../export/exportHTML/payload.schema.json5 | 2 +- 9 files changed, 83 insertions(+), 73 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 895be32..ef4dc7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # 更改日志 | Change Log +## v0.3.10 / 2024-05-09 + +- [v0.3.9 ... v0.3.10](https://github.com/siyuan-community/siyuan-sdk/compare/v0.3.9...v0.3.10) - 添加 API `/api/export/exportHTML` | Add API `/api/export/exportHTML` - 调整 API `/api/export/exportHTML` | Adjust API `/api/export/exportHTML` - 优化 WebSocket URL 生成方案 | Optimize WebSocket URL generation scheme diff --git a/node/cspell.config.cjs b/node/cspell.config.cjs index 3ea4da0..667bfee 100644 --- a/node/cspell.config.cjs +++ b/node/cspell.config.cjs @@ -14,6 +14,7 @@ module.exports = { "Alphanum", "FSRS", "Fuction", + "HTMLB", "IAPI", "ITLS", "IURL", @@ -35,6 +36,7 @@ module.exports = { "fcontent", "filetree", "formdata", + "frontends", "fullscreen", "hpath", "hpaths", diff --git a/node/package.json b/node/package.json index 8da0589..ade1a3e 100644 --- a/node/package.json +++ b/node/package.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package.json", "name": "@siyuan-community/siyuan-sdk", - "version": "0.3.9", + "version": "0.3.10", "packageManager": "pnpm@9.1.0", "engines": { "node": "22" @@ -68,9 +68,9 @@ "test": "vitest", "test:ui": "vitest --ui", "test:once": "vitest run", - "prebuild": "node --import=./scripts/ts-node-register.js ./scripts/prebuild.ts", "build": "vite build", - "publish:npm": "npm run prebuild && npm run build && npm publish", + "build:prebuild": "node --import=./scripts/ts-node-register.js ./scripts/prebuild.ts", + "publish:npm": "npm run build:prebuild && npm run build && npm publish", "format": "eslint --fix ./src", "spell:code": "cspell .", "spell:schemas": "cspell ./../schemas", @@ -81,7 +81,7 @@ "devDependencies": { "@ltd/j-toml": "^1.38.0", "@nodelib/fs.walk": "^2.0.0", - "@types/node": "^20.12.10", + "@types/node": "^20.12.11", "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", "@vitest/coverage-istanbul": "^1.6.0", diff --git a/node/pnpm-lock.yaml b/node/pnpm-lock.yaml index 203d7cc..23ed46d 100644 --- a/node/pnpm-lock.yaml +++ b/node/pnpm-lock.yaml @@ -28,8 +28,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 '@types/node': - specifier: ^20.12.10 - version: 20.12.10 + specifier: ^20.12.11 + version: 20.12.11 '@typescript-eslint/eslint-plugin': specifier: ^7.8.0 version: 7.8.0(@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5) @@ -38,7 +38,7 @@ importers: version: 7.8.0(eslint@9.2.0)(typescript@5.4.5) '@vitest/coverage-istanbul': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.12.10)(@vitest/ui@1.6.0)) + version: 1.6.0(vitest@1.6.0(@types/node@20.12.11)(@vitest/ui@1.6.0)) '@vitest/ui': specifier: ^1.6.0 version: 1.6.0(vitest@1.6.0) @@ -71,22 +71,22 @@ importers: version: 23.0.158 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.12.10)(typescript@5.4.5) + version: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) typescript: specifier: ^5.4.5 version: 5.4.5 vite: specifier: ^5.2.11 - version: 5.2.11(@types/node@20.12.10) + version: 5.2.11(@types/node@20.12.11) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@20.12.10)(rollup@4.17.2)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.10)) + version: 3.9.1(@types/node@20.12.11)(rollup@4.17.2)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)) vite-plugin-static-copy: specifier: ^1.0.4 - version: 1.0.4(vite@5.2.11(@types/node@20.12.10)) + version: 1.0.4(vite@5.2.11(@types/node@20.12.11)) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.12.10)(@vitest/ui@1.6.0) + version: 1.6.0(@types/node@20.12.11)(@vitest/ui@1.6.0) ws: specifier: ^8.17.0 version: 8.17.0 @@ -766,8 +766,8 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@20.12.10': - resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} + '@types/node@20.12.11': + resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -1188,8 +1188,8 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - electron-to-chromium@1.4.757: - resolution: {integrity: sha512-jftDaCknYSSt/+KKeXzH3LX5E2CvRLm75P3Hj+J/dv3CL0qUYcOt13d5FN1NiL5IJbbhzHrb3BomeG2tkSlZmw==} + electron-to-chromium@1.4.761: + resolution: {integrity: sha512-PIbxpiJGx6Bb8dQaonNc6CGTRlVntdLg/2nMa1YhnrwYOORY9a3ZgGN0UQYE6lAcj/lkyduJN7BPt/JiY+jAQQ==} entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} @@ -1873,8 +1873,8 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.1: + resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} engines: {node: '>=10'} hasBin: true @@ -2704,23 +2704,23 @@ snapshots: '@ltd/j-toml@1.38.0': {} - '@microsoft/api-extractor-model@7.28.13(@types/node@20.12.10)': + '@microsoft/api-extractor-model@7.28.13(@types/node@20.12.11)': dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.10) + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.11) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.43.0(@types/node@20.12.10)': + '@microsoft/api-extractor@7.43.0(@types/node@20.12.11)': dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@20.12.10) + '@microsoft/api-extractor-model': 7.28.13(@types/node@20.12.11) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.10) + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.11) '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@20.12.10) - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.10) + '@rushstack/terminal': 0.10.0(@types/node@20.12.11) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.11) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -2821,7 +2821,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.17.2': optional: true - '@rushstack/node-core-library@4.0.2(@types/node@20.12.10)': + '@rushstack/node-core-library@4.0.2(@types/node@20.12.11)': dependencies: fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -2830,23 +2830,23 @@ snapshots: semver: 7.5.4 z-schema: 5.0.5 optionalDependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@rushstack/rig-package@0.5.2': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.10.0(@types/node@20.12.10)': + '@rushstack/terminal@0.10.0(@types/node@20.12.11)': dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.10) + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.11) supports-color: 8.1.1 optionalDependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 - '@rushstack/ts-command-line@4.19.1(@types/node@20.12.10)': + '@rushstack/ts-command-line@4.19.1(@types/node@20.12.11)': dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.10) + '@rushstack/terminal': 0.10.0(@types/node@20.12.11) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -2869,7 +2869,7 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/node@20.12.10': + '@types/node@20.12.11': dependencies: undici-types: 5.26.5 @@ -2890,7 +2890,7 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 + semver: 7.6.1 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -2937,7 +2937,7 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.1 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -2953,7 +2953,7 @@ snapshots: '@typescript-eslint/types': 7.8.0 '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) eslint: 9.2.0 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color - typescript @@ -2963,7 +2963,7 @@ snapshots: '@typescript-eslint/types': 7.8.0 eslint-visitor-keys: 3.4.3 - '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@20.12.10)(@vitest/ui@1.6.0))': + '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@20.12.11)(@vitest/ui@1.6.0))': dependencies: debug: 4.3.4 istanbul-lib-coverage: 3.2.2 @@ -2974,7 +2974,7 @@ snapshots: magicast: 0.3.4 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.12.10)(@vitest/ui@1.6.0) + vitest: 1.6.0(@types/node@20.12.11)(@vitest/ui@1.6.0) transitivePeerDependencies: - supports-color @@ -3009,7 +3009,7 @@ snapshots: pathe: 1.1.2 picocolors: 1.0.0 sirv: 2.0.4 - vitest: 1.6.0(@types/node@20.12.10)(@vitest/ui@1.6.0) + vitest: 1.6.0(@types/node@20.12.11)(@vitest/ui@1.6.0) '@vitest/utils@1.6.0': dependencies: @@ -3157,7 +3157,7 @@ snapshots: browserslist@4.23.0: dependencies: caniuse-lite: 1.0.30001616 - electron-to-chromium: 1.4.757 + electron-to-chromium: 1.4.761 node-releases: 2.0.14 update-browserslist-db: 1.0.15(browserslist@4.23.0) @@ -3366,7 +3366,7 @@ snapshots: fast-json-stable-stringify: 2.1.0 file-entry-cache: 8.0.0 get-stdin: 9.0.0 - semver: 7.6.0 + semver: 7.6.1 strip-ansi: 7.1.0 vscode-uri: 3.0.8 @@ -3400,7 +3400,7 @@ snapshots: dotenv@16.4.5: {} - electron-to-chromium@1.4.757: {} + electron-to-chromium@1.4.761: {} entities@4.5.0: {} @@ -3725,7 +3725,7 @@ snapshots: '@babel/parser': 7.24.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color @@ -3834,7 +3834,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.0 + semver: 7.6.1 make-error@1.3.6: {} @@ -4086,9 +4086,7 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.1: {} shebang-command@2.0.0: dependencies: @@ -4186,14 +4184,14 @@ snapshots: dependencies: typescript: 5.4.5 - ts-node@10.9.2(@types/node@20.12.10)(typescript@5.4.5): + ts-node@10.9.2(@types/node@20.12.11)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.10 + '@types/node': 20.12.11 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -4258,13 +4256,13 @@ snapshots: validator@13.11.0: {} - vite-node@1.6.0(@types/node@20.12.10): + vite-node@1.6.0(@types/node@20.12.11): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.10) + vite: 5.2.11(@types/node@20.12.11) transitivePeerDependencies: - '@types/node' - less @@ -4275,9 +4273,9 @@ snapshots: - supports-color - terser - vite-plugin-dts@3.9.1(@types/node@20.12.10)(rollup@4.17.2)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.10)): + vite-plugin-dts@3.9.1(@types/node@20.12.11)(rollup@4.17.2)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.11)): dependencies: - '@microsoft/api-extractor': 7.43.0(@types/node@20.12.10) + '@microsoft/api-extractor': 7.43.0(@types/node@20.12.11) '@rollup/pluginutils': 5.1.0(rollup@4.17.2) '@vue/language-core': 1.8.27(typescript@5.4.5) debug: 4.3.4 @@ -4286,30 +4284,30 @@ snapshots: typescript: 5.4.5 vue-tsc: 1.8.27(typescript@5.4.5) optionalDependencies: - vite: 5.2.11(@types/node@20.12.10) + vite: 5.2.11(@types/node@20.12.11) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-static-copy@1.0.4(vite@5.2.11(@types/node@20.12.10)): + vite-plugin-static-copy@1.0.4(vite@5.2.11(@types/node@20.12.11)): dependencies: chokidar: 3.6.0 fast-glob: 3.3.2 fs-extra: 11.2.0 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.10) + vite: 5.2.11(@types/node@20.12.11) - vite@5.2.11(@types/node@20.12.10): + vite@5.2.11(@types/node@20.12.11): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 optionalDependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 fsevents: 2.3.3 - vitest@1.6.0(@types/node@20.12.10)(@vitest/ui@1.6.0): + vitest@1.6.0(@types/node@20.12.11)(@vitest/ui@1.6.0): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -4328,11 +4326,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.10) - vite-node: 1.6.0(@types/node@20.12.10) + vite: 5.2.11(@types/node@20.12.11) + vite-node: 1.6.0(@types/node@20.12.11) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@vitest/ui': 1.6.0(vitest@1.6.0) transitivePeerDependencies: - less @@ -4356,7 +4354,7 @@ snapshots: dependencies: '@volar/typescript': 1.11.1 '@vue/language-core': 1.8.27(typescript@5.4.5) - semver: 7.6.0 + semver: 7.6.1 typescript: 5.4.5 webidl-conversions@3.0.1: {} diff --git a/node/src/fs/handle/SiyuanFileSystemFileHandle.ts b/node/src/fs/handle/SiyuanFileSystemFileHandle.ts index b4bff14..8d51a19 100644 --- a/node/src/fs/handle/SiyuanFileSystemFileHandle.ts +++ b/node/src/fs/handle/SiyuanFileSystemFileHandle.ts @@ -111,6 +111,7 @@ export class SiyuanFileSystemFileHandle } } + /** * REF: https://github.com/jimmywarting/native-file-system-adapter/blob/master/src/adapters/memory.js */ @@ -140,7 +141,8 @@ export class Sink implements UnderlyingSink { if (typeof chunk === "object" && "type" in chunk) { switch (chunk.type) { case "write": { - if (Number.isInteger(chunk.position) + if ("position" in chunk + && Number.isInteger(chunk.position) && chunk.position && chunk.position >= 0 ) { @@ -153,8 +155,8 @@ export class Sink implements UnderlyingSink { ); } } - if (chunk.data) { - chunk = chunk.data; + if ("data" in chunk) { + chunk = chunk.data as BlobPart; } else { throw new DOMException(...errors.SYNTAX("write requires a data argument")); @@ -162,7 +164,8 @@ export class Sink implements UnderlyingSink { break; } case "seek": { - if (Number.isInteger(chunk.position) + if ("position" in chunk + && Number.isInteger(chunk.position) && chunk.position && chunk.position >= 0 ) { @@ -196,7 +199,7 @@ export class Sink implements UnderlyingSink { } } - chunk = new Blob([chunk]); + chunk = new Blob([chunk as BlobPart]); // Calc the head and tail fragments const head = this.file.slice(0, this.position); diff --git a/node/src/types/kernel/api/export/exportHTML/payload.d.ts b/node/src/types/kernel/api/export/exportHTML/payload.d.ts index 714fadd..9df18dc 100644 --- a/node/src/types/kernel/api/export/exportHTML/payload.d.ts +++ b/node/src/types/kernel/api/export/exportHTML/payload.d.ts @@ -29,7 +29,7 @@ export interface IPayload { */ keepFold?: boolean; /** - * Whether to merge the content of the subdocument + * Whether to merge the content of the sub-document */ merge?: boolean; /** diff --git a/node/vite.config.ts b/node/vite.config.ts index f9ac61d..6c28d87 100644 --- a/node/vite.config.ts +++ b/node/vite.config.ts @@ -27,8 +27,12 @@ export default defineConfig({ viteStaticCopy({ targets: [ { - src: "./../schemas/", - dest: "./", + src: "./../schemas/kernel/", + dest: "./schemas/", + }, + { + src: "./../schemas/manifest/", + dest: "./schemas/", }, { src: "./src/types/", diff --git a/schemas/kernel/api/export/exportHTML/payload.schema.json b/schemas/kernel/api/export/exportHTML/payload.schema.json index 103c557..9973f05 100644 --- a/schemas/kernel/api/export/exportHTML/payload.schema.json +++ b/schemas/kernel/api/export/exportHTML/payload.schema.json @@ -35,7 +35,7 @@ }, "merge": { "type": "boolean", - "description": "Whether to merge the content of the subdocument", + "description": "Whether to merge the content of the sub-document", "default": false } } diff --git a/schemas/kernel/api/export/exportHTML/payload.schema.json5 b/schemas/kernel/api/export/exportHTML/payload.schema.json5 index 9ae4fe9..d5adaa6 100644 --- a/schemas/kernel/api/export/exportHTML/payload.schema.json5 +++ b/schemas/kernel/api/export/exportHTML/payload.schema.json5 @@ -43,7 +43,7 @@ merge: { // 是否合并下级文档内容 type: 'boolean', - description: 'Whether to merge the content of the subdocument', + description: 'Whether to merge the content of the sub-document', default: false, }, },