From a2b34572a9c5f3b3084fda58d53385fdcb6cec39 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Mon, 27 Jul 2026 15:43:53 +0200 Subject: [PATCH] chore: migrate PDF Tools to LocalToolBox --- .npmrc | 2 +- CHANGELOG.md | 8 +++++++ README.md | 10 ++++----- package-lock.json | 32 +++++++++++++-------------- package.json | 18 ++++++++++----- public/toolbox-app.json | 6 ++--- scripts/generate-toolbox-manifest.mjs | 2 +- scripts/package-release.mjs | 2 +- src/toolboxApp.definition.json | 2 +- src/toolboxApp.test.ts | 2 +- src/version.ts | 2 +- 11 files changed, 51 insertions(+), 35 deletions(-) diff --git a/.npmrc b/.npmrc index 90e6041..7e977af 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1 @@ -@add-ideas:registry=https://git.add-ideas.de/api/packages/zemion/npm/ +@add-ideas:registry=https://git.add-ideas.de/api/packages/lotobo/npm/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 90c7aec..c641d60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to `pdf-tools` are documented here. The project follows a pragmatic versioning scheme while the app is still below `1.0.0`: minor versions mark coherent user-facing milestones; patch versions mark fixes and small improvements. +## 0.4.4 — LocalToolBox organization migration + +### Changed + +- Moved canonical repository, Toolbox schema, corresponding-source, and package-registry URLs from the personal `zemion` namespace to the `lotobo` LocalToolBox organization. +- Upgraded the Toolbox contract, React shell, and validation testkit to `0.2.3` from the organization-owned registry. +- Bumped the app/package version to `0.4.4`. + ## 0.4.3 — Aligned Toolbox content width ### Changed diff --git a/README.md b/README.md index e19b8ba..e05dabb 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Current hosted version: -Current development release: **v0.4.3 — aligned Toolbox content width**. See [`CHANGELOG.md`](CHANGELOG.md) for milestone history. +Current development release: **v0.4.4 — LocalToolBox organization migration**. See [`CHANGELOG.md`](CHANGELOG.md) for milestone history. Active work is tracked in Gitea issues. Durable project context is mirrored into the Gitea wiki from repository docs, including [`ROADMAP.md`](ROADMAP.md). @@ -122,9 +122,9 @@ browser <-- HTTPS --> static web server / reverse proxy --> built app assets There is no application server to operate. Administrators only need to host the built files from `dist/`. The production build is relocatable and can also be assembled into an -[Add Ideas Toolbox](https://git.add-ideas.de/zemion/toolbox-portal) deployment. +[Add Ideas Toolbox](https://git.add-ideas.de/lotobo/toolbox-portal) deployment. `toolbox-app.json` describes this app through the framework-independent -[Toolbox App Contract](https://git.add-ideas.de/zemion/toolbox-sdk). The same +[Toolbox App Contract](https://git.add-ideas.de/lotobo/toolbox-sdk). The same artifact remains fully usable on its own. The shared first-party shell always provides help, source, and appearance @@ -257,10 +257,10 @@ The application version shown in the header is defined in `src/version.ts`. The The current development baseline is: ```text -v0.4.3 — aligned Toolbox content width and light/dark/system themes +v0.4.4 — LocalToolBox organization migration ``` -This branch preserves the browser-only workspace baseline and PDF.js compatibility setup while using Toolbox SDK `0.2.2`. The displayed app/package version is `0.4.3`; the shared header keeps the Toolbox icon and `add·ideas Toolbox` label in a fixed far-left block, the app title and one tagline centered, and Help, the PDF source link, Apps, and Personalize in a fixed far-right cluster. The PDF workspace now shares the shell bar's `90rem` maximum width. Workspace state, thumbnail handling, generated download URLs, page-grid components, tests, type-checking, linting, and formatting remain separated enough to support additional feature work without turning `App.tsx` back into a monolith. +This branch preserves the browser-only workspace baseline and PDF.js compatibility setup while using Toolbox SDK `0.2.3` from the `lotobo` package registry. The displayed app/package version is `0.4.4`; canonical source, schema, and release links use the LocalToolBox organization. The shared header keeps the Toolbox icon and `add·ideas Toolbox` label in a fixed far-left block, the app title and one tagline centered, and Help, the PDF source link, Apps, and Personalize in a fixed far-right cluster. The PDF workspace shares the shell bar's `90rem` maximum width. Workspace state, thumbnail handling, generated download URLs, page-grid components, tests, type-checking, linting, and formatting remain separated enough to support additional feature work without turning `App.tsx` back into a monolith. ## Project structure diff --git a/package-lock.json b/package-lock.json index 6a86624..d84f6f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "pdf-tools", - "version": "0.4.3", + "version": "0.4.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pdf-tools", - "version": "0.4.3", + "version": "0.4.4", "license": "AGPL-3.0-only", "dependencies": { - "@add-ideas/toolbox-contract": "^0.2.2", - "@add-ideas/toolbox-shell-react": "^0.2.2", + "@add-ideas/toolbox-contract": "^0.2.3", + "@add-ideas/toolbox-shell-react": "^0.2.3", "fflate": "^0.8.3", "pdf-lib": "^1.17.1", "pdfjs-dist": "^5.7.284", @@ -18,7 +18,7 @@ "react-dom": "^19.2.6" }, "devDependencies": { - "@add-ideas/toolbox-testkit": "^0.2.2", + "@add-ideas/toolbox-testkit": "^0.2.3", "@eslint/js": "^10.0.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", @@ -40,18 +40,18 @@ } }, "node_modules/@add-ideas/toolbox-contract": { - "version": "0.2.2", - "resolved": "https://git.add-ideas.de/api/packages/zemion/npm/%40add-ideas%2Ftoolbox-contract/-/0.2.2/toolbox-contract-0.2.2.tgz", - "integrity": "sha512-VcZ8j4O2PgFaIYgxs6r9u0uPxA+hHKwhCW+omfeVCtbjAAYhH2KhRlBGm0ERVVYcK5kchyzZLXrC4LKWRotVzg==", + "version": "0.2.3", + "resolved": "https://git.add-ideas.de/api/packages/lotobo/npm/%40add-ideas%2Ftoolbox-contract/-/0.2.3/toolbox-contract-0.2.3.tgz", + "integrity": "sha512-T0PVSuMT40GjTDfQJhEEY3ZawQq8zz1/ry95JdKI6W39CdLacaRXdGnEpDCMHt+jUbf1Jz7Nat/M5dFCgKVM9A==", "license": "Apache-2.0" }, "node_modules/@add-ideas/toolbox-shell-react": { - "version": "0.2.2", - "resolved": "https://git.add-ideas.de/api/packages/zemion/npm/%40add-ideas%2Ftoolbox-shell-react/-/0.2.2/toolbox-shell-react-0.2.2.tgz", - "integrity": "sha512-w/xbLCd50a2Jq7vQ9Z9ygUOuqlOCRkIYlk4vSJx0mf4REJNeMYi3PE2MbaLUC4DkQWyrmatsa5HNT89o0l91BA==", + "version": "0.2.3", + "resolved": "https://git.add-ideas.de/api/packages/lotobo/npm/%40add-ideas%2Ftoolbox-shell-react/-/0.2.3/toolbox-shell-react-0.2.3.tgz", + "integrity": "sha512-DT5lQDH48BFkFcmFLZnQh7+Cm73JzBPcmp5WzUXypfkUXpEyDYHzaXgmW4kZ0edSwh4RK4sPmx+JPtK0X4aKCQ==", "license": "Apache-2.0", "dependencies": { - "@add-ideas/toolbox-contract": "0.2.2" + "@add-ideas/toolbox-contract": "0.2.3" }, "peerDependencies": { "react": ">=18 <20", @@ -59,13 +59,13 @@ } }, "node_modules/@add-ideas/toolbox-testkit": { - "version": "0.2.2", - "resolved": "https://git.add-ideas.de/api/packages/zemion/npm/%40add-ideas%2Ftoolbox-testkit/-/0.2.2/toolbox-testkit-0.2.2.tgz", - "integrity": "sha512-ZxrRYiJI/j5aXwcd3mQItgDl1iOJ6N26+MpIG18qVZNwKKFCTCfSTzgzRooPt8rRc1MQYTPo4c+l/QpOWuTXxA==", + "version": "0.2.3", + "resolved": "https://git.add-ideas.de/api/packages/lotobo/npm/%40add-ideas%2Ftoolbox-testkit/-/0.2.3/toolbox-testkit-0.2.3.tgz", + "integrity": "sha512-sq1MwhKWfFKen+N+124hl74qQimRSvmQ9sOU7jdcI+2qCKZ67+2B8rWyezeV80uTFu4Jv6deHksfYQ/tKNV6XQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@add-ideas/toolbox-contract": "0.2.2" + "@add-ideas/toolbox-contract": "0.2.3" }, "bin": { "toolbox-check": "dist/cli.js" diff --git a/package.json b/package.json index fbfd738..1d06959 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pdf-tools", - "version": "0.4.3", + "version": "0.4.4", "private": true, "license": "AGPL-3.0-only", "type": "module", @@ -23,8 +23,8 @@ "check": "npm run manifest:check && npm run typecheck && npm run lint && npm run test && npm run build && npm run test:toolbox" }, "dependencies": { - "@add-ideas/toolbox-contract": "^0.2.2", - "@add-ideas/toolbox-shell-react": "^0.2.2", + "@add-ideas/toolbox-contract": "^0.2.3", + "@add-ideas/toolbox-shell-react": "^0.2.3", "fflate": "^0.8.3", "pdf-lib": "^1.17.1", "pdfjs-dist": "^5.7.284", @@ -32,7 +32,7 @@ "react-dom": "^19.2.6" }, "devDependencies": { - "@add-ideas/toolbox-testkit": "^0.2.2", + "@add-ideas/toolbox-testkit": "^0.2.3", "@eslint/js": "^10.0.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", @@ -52,5 +52,13 @@ "vite": "^8.0.13", "vitest": "^4.1.6" }, - "description": "Browser-only, self-hostable PDF workbench for page-level PDF operations." + "description": "Browser-only, self-hostable PDF workbench for page-level PDF operations.", + "repository": { + "type": "git", + "url": "git+https://git.add-ideas.de/lotobo/pdf-tools.git" + }, + "homepage": "https://git.add-ideas.de/lotobo/pdf-tools", + "bugs": { + "url": "https://git.add-ideas.de/lotobo/pdf-tools/issues" + } } diff --git a/public/toolbox-app.json b/public/toolbox-app.json index 485a836..104e050 100644 --- a/public/toolbox-app.json +++ b/public/toolbox-app.json @@ -1,5 +1,5 @@ { - "$schema": "https://git.add-ideas.de/zemion/toolbox-sdk/raw/branch/main/schemas/toolbox-app.v1.schema.json", + "$schema": "https://git.add-ideas.de/lotobo/toolbox-sdk/raw/branch/main/schemas/toolbox-app.v1.schema.json", "schemaVersion": 1, "id": "de.add-ideas.pdf-tools", "name": "PDF Workbench", @@ -25,8 +25,8 @@ "telemetry": false }, "source": { - "repository": "https://git.add-ideas.de/zemion/pdf-tools", + "repository": "https://git.add-ideas.de/lotobo/pdf-tools", "license": "AGPL-3.0-only" }, - "version": "0.4.3" + "version": "0.4.4" } diff --git a/scripts/generate-toolbox-manifest.mjs b/scripts/generate-toolbox-manifest.mjs index 77984b8..1cd2387 100644 --- a/scripts/generate-toolbox-manifest.mjs +++ b/scripts/generate-toolbox-manifest.mjs @@ -40,7 +40,7 @@ if (sourceVersion !== packageJson.version) { const manifest = { $schema: - 'https://git.add-ideas.de/zemion/toolbox-sdk/raw/branch/main/schemas/toolbox-app.v1.schema.json', + 'https://git.add-ideas.de/lotobo/toolbox-sdk/raw/branch/main/schemas/toolbox-app.v1.schema.json', schemaVersion: 1, ...definition, version: packageJson.version, diff --git a/scripts/package-release.mjs b/scripts/package-release.mjs index a2155b9..f7e0f4f 100644 --- a/scripts/package-release.mjs +++ b/scripts/package-release.mjs @@ -45,7 +45,7 @@ files['SOURCE.md'] = Buffer.from( '', `The source code corresponding to PDF Tools ${packageJson.version} is available at:`, '', - `https://git.add-ideas.de/zemion/pdf-tools/src/tag/v${packageJson.version}`, + `https://git.add-ideas.de/lotobo/pdf-tools/src/tag/v${packageJson.version}`, '', 'Third-party components remain available under the separate terms reproduced in LICENSES/.', '', diff --git a/src/toolboxApp.definition.json b/src/toolboxApp.definition.json index 647e0d2..42e8fe4 100644 --- a/src/toolboxApp.definition.json +++ b/src/toolboxApp.definition.json @@ -23,7 +23,7 @@ "telemetry": false }, "source": { - "repository": "https://git.add-ideas.de/zemion/pdf-tools", + "repository": "https://git.add-ideas.de/lotobo/pdf-tools", "license": "AGPL-3.0-only" } } diff --git a/src/toolboxApp.test.ts b/src/toolboxApp.test.ts index 12a1a45..f1f06db 100644 --- a/src/toolboxApp.test.ts +++ b/src/toolboxApp.test.ts @@ -10,7 +10,7 @@ describe('toolbox app definition', () => { it('uses repository metadata for the shared source control', () => { expect(toolboxApp.source?.repository).toBe( - 'https://git.add-ideas.de/zemion/pdf-tools' + 'https://git.add-ideas.de/lotobo/pdf-tools' ); expect(toolboxApp.actions).toBeUndefined(); }); diff --git a/src/version.ts b/src/version.ts index 66935b6..0e0223e 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const APP_VERSION = '0.4.3'; +export const APP_VERSION = '0.4.4';