- Updated all package.json name fields and dependency references - Updated all TypeScript/JavaScript imports - Updated .woodpecker/publish.yml filters and registry paths - Updated tools/install.sh scope default - Updated .npmrc registry paths (worktree + host) - Enhanced update-checker.ts with checkForAllUpdates() multi-package support - Updated CLI update command to show table of all packages - Added KNOWN_PACKAGES, formatAllPackagesTable, getInstallAllCommand - Marked checkForUpdate() with @deprecated JSDoc Closes #391
55 lines
2.8 KiB
Markdown
55 lines
2.8 KiB
Markdown
# Scratchpad — issue #387 updater simplification + Gitea wrapper repo context
|
|
|
|
- Objective: simplify updater behavior to `@mosaicstack/mosaic` only, and fix Gitea wrapper scripts so merge/CI/issue operations work reliably when tea needs explicit repo/login context.
|
|
- Scope:
|
|
- `packages/mosaic/src/runtime/update-checker.ts`
|
|
- `packages/mosaic/__tests__/update-checker.test.ts`
|
|
- any package metadata/version bumps needed
|
|
- repo-source git wrappers under `packages/mosaic/framework/tools/git/`
|
|
- Constraints:
|
|
- Jason approved breaking changes; legacy `@mosaicstack/cli` support is out of scope.
|
|
- Keep changes focused and mergeable.
|
|
- Acceptance:
|
|
- updater only targets `@mosaicstack/mosaic`
|
|
- wrapper path works on Gitea in this environment without manual repo guessing
|
|
- PR merges squash-only after green CI
|
|
|
|
## Progress
|
|
|
|
### 2026-04-04
|
|
|
|
#### Update Checker Simplification (DONE)
|
|
|
|
- Removed `LEGACY_PKG`, `INSTALLED_PACKAGE_ORDER` constants — only `PKG = '@mosaicstack/mosaic'` remains
|
|
- `getInstalledVersion()` — removed loop over multiple packages, only checks `@mosaicstack/mosaic`
|
|
- `getLatestVersion()` — removed `installedPackage` parameter and candidate iteration; single query for `@mosaicstack/mosaic`
|
|
- `checkForUpdate()` — removed `currentPackage`-based cache key comparison; cache is now package-agnostic
|
|
- `RegistryCache` — removed `currentPackage` and `targetPackage` fields
|
|
- `formatUpdateNotice()` — removed `targetChanged` branch (package migration notice no longer relevant)
|
|
- All legacy fallback/compatibility logic removed
|
|
|
|
#### Test Updates (DONE)
|
|
|
|
- Removed legacy `@mosaicstack/cli` fallback test
|
|
- Removed cache cross-contamination test (was testing legacy→modern package transition)
|
|
- Added `does not query legacy @mosaicstack/cli package` test — asserts no `@mosaicstack/cli` npm commands are issued
|
|
- Added `returns empty result when package is not installed` test
|
|
- All 8 tests pass ✅
|
|
|
|
#### Gitea Wrapper Fixes (DONE)
|
|
|
|
- `pr-merge.sh`:
|
|
- Added `OWNER=$(get_repo_owner)` / `REPO=$(get_repo_name)` before case block
|
|
- tea merge command now includes `--repo $OWNER/$REPO --login ${GITEA_LOGIN:-mosaicstack}`
|
|
- `issue-close.sh`:
|
|
- Added `OWNER=$(get_repo_owner)` / `REPO=$(get_repo_name)` after detect_platform
|
|
- Both `tea issue comment` and `tea issue close` now include `--repo "$OWNER/$REPO" --login "${GITEA_LOGIN:-mosaicstack}"`
|
|
- `pr-ci-wait.sh`: No changes needed — uses curl API calls (not tea), already passes owner/repo correctly
|
|
- `detect-platform.sh`: No changes needed — provides the `get_repo_owner`/`get_repo_name` functions used by wrappers
|
|
|
|
#### Verification
|
|
|
|
- `vitest run` — 8/8 tests pass
|
|
- `tsc --noEmit` — no errors in update-checker.ts (pre-existing workspace dep errors unrelated)
|
|
- `eslint` — clean, no warnings
|