fix: simplify updater to @mosaic/mosaic only, add explicit tea repo/login flags (#388)
This commit was merged in pull request #388.
This commit is contained in:
54
docs/scratchpads/387-updater-wrapper-gitea-20260404.md
Normal file
54
docs/scratchpads/387-updater-wrapper-gitea-20260404.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# Scratchpad — issue #387 updater simplification + Gitea wrapper repo context
|
||||
|
||||
- Objective: simplify updater behavior to `@mosaic/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 `@mosaic/cli` support is out of scope.
|
||||
- Keep changes focused and mergeable.
|
||||
- Acceptance:
|
||||
- updater only targets `@mosaic/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 = '@mosaic/mosaic'` remains
|
||||
- `getInstalledVersion()` — removed loop over multiple packages, only checks `@mosaic/mosaic`
|
||||
- `getLatestVersion()` — removed `installedPackage` parameter and candidate iteration; single query for `@mosaic/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 `@mosaic/cli` fallback test
|
||||
- Removed cache cross-contamination test (was testing legacy→modern package transition)
|
||||
- Added `does not query legacy @mosaic/cli package` test — asserts no `@mosaic/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
|
||||
Reference in New Issue
Block a user