feat(deno): migrate flat-mate workspace → deno.json (3/4 manifests, standards#253 longtail)#16
Merged
Conversation
…pps/mobile Class C deferred, standards#253 longtail) Workspace-style migration covering 3 of 4 npm manifests. The fourth (`apps/mobile/package.json`) is Class C — Expo / React Native / Metro bundler ecosystem cannot run under Deno, so the npm manifest remains as a host-required carve-out (parallel to the VSCode-extension class). ## Migrated - **`/deno.json`** (was root `package.json`) — Deno workspace with `apps/web` + `packages/shared` members, plus `tasks` for `dev:api` (Deno-native), `dev:web` (delegates to apps/web workspace), and `check` (deno check + lint + node --check → deno check). `dev:mobile` task emits a Class C documentation message instead of orchestrating. - **`apps/web/deno.json`** (was `apps/web/package.json`) — Class B with `imports` for react/react-dom/vite/@vitejs/plugin-react via `npm:` specifiers; tasks via `deno run -A --node-modules-dir=auto npm:vite@^8.0.7 …`. - **`packages/shared/deno.json`** (was `packages/shared/package.json`) — Class A; pure JS barrel-export package with no scripts, just `name` + `version` + `license` + `exports`. ## Deferred (Class C) - **`apps/mobile/package.json`** — Expo SDK + React Native + Metro bundler require Node + npm/yarn/pnpm. Deno cannot run `expo start`, Metro is fundamentally npm-rooted. Same Class C pattern as VSCode extensions (host requires npm). Tracked as Class C carve-out candidate for hypatia rule extension (per-repo follow-up). ## Test plan - [ ] `deno task dev:api` runs the Deno-native API server (unchanged) - [ ] `deno task dev:web` chains to apps/web deno task dev (vite) - [ ] `deno task check` validates apps/api + packages/shared - [ ] apps/mobile still works with npm (unchanged) Per per-repo follow-up tracker for standards#253 (campaign closed 2026-05-31, longtail tracked in project_estate_npm_to_deno_2026_05_28.md). Refs hyperpolymath/standards#253. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Workspace-style migration covering 3 of 4 npm manifests. The fourth (
apps/mobile/package.json) is Class C — Expo / React Native / Metro bundler ecosystem cannot run under Deno, so the npm manifest remains as a host-required carve-out (parallel to the VSCode-extension class).Migrated
/package.json/deno.jsonapps/web+packages/shared; tasks fordev:api(Deno-native),dev:web(delegates),checkapps/web/package.jsonapps/web/deno.jsonnpm:specifiers;nodeModulesDir: "auto"packages/shared/package.jsonpackages/shared/deno.jsonname+version+exportsDeferred (Class C — host-required)
apps/mobile/package.json— Expo SDK + React Native + Metro bundler require Node + npm/yarn/pnpm. Deno cannot run Expo CLI; Metro is fundamentally npm-rooted. Same Class C pattern as VSCode extensions (host requires npm). Tracked as Class C carve-out candidate for hypatia rule extension (per-repo follow-up).The root
dev:mobiletask emits a documentation message pointing to the Expo CLI invocation instead of orchestrating, sodeno task dev:mobiledoes not silently fail.Test plan
deno task dev:apiruns the Deno-native API server (unchanged)deno task dev:webchains to apps/webdevtask (vite)deno task checkvalidates apps/api (Deno) + packages/shared (deno check on .js)Per per-repo follow-up tracker for standards#253 (campaign closed 2026-05-31, longtail tracked in
project_estate_npm_to_deno_2026_05_28.md).Refs hyperpolymath/standards#253.
🤖 Generated with Claude Code