- 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
2.8 KiB
2.8 KiB
Scratchpad — issue #387 updater simplification + Gitea wrapper repo context
- Objective: simplify updater behavior to
@mosaicstack/mosaiconly, 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.tspackages/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/clisupport is out of scope. - Keep changes focused and mergeable.
- Jason approved breaking changes; legacy
- 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
- updater only targets
Progress
2026-04-04
Update Checker Simplification (DONE)
- Removed
LEGACY_PKG,INSTALLED_PACKAGE_ORDERconstants — onlyPKG = '@mosaicstack/mosaic'remains getInstalledVersion()— removed loop over multiple packages, only checks@mosaicstack/mosaicgetLatestVersion()— removedinstalledPackageparameter and candidate iteration; single query for@mosaicstack/mosaiccheckForUpdate()— removedcurrentPackage-based cache key comparison; cache is now package-agnosticRegistryCache— removedcurrentPackageandtargetPackagefieldsformatUpdateNotice()— removedtargetChangedbranch (package migration notice no longer relevant)- All legacy fallback/compatibility logic removed
Test Updates (DONE)
- Removed legacy
@mosaicstack/clifallback test - Removed cache cross-contamination test (was testing legacy→modern package transition)
- Added
does not query legacy @mosaicstack/cli packagetest — asserts no@mosaicstack/clinpm commands are issued - Added
returns empty result when package is not installedtest - 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}
- Added
issue-close.sh:- Added
OWNER=$(get_repo_owner)/REPO=$(get_repo_name)after detect_platform - Both
tea issue commentandtea issue closenow include--repo "$OWNER/$REPO" --login "${GITEA_LOGIN:-mosaicstack}"
- Added
pr-ci-wait.sh: No changes needed — uses curl API calls (not tea), already passes owner/repo correctlydetect-platform.sh: No changes needed — provides theget_repo_owner/get_repo_namefunctions used by wrappers
Verification
vitest run— 8/8 tests passtsc --noEmit— no errors in update-checker.ts (pre-existing workspace dep errors unrelated)eslint— clean, no warnings