-
Lint toolchain migration: ESLint -> oxlint
- Root
package.jsonlintscript switched tooxlint; addedoxlint ^1.64.0devDependency; droppedformatandcheck-typesroot scripts. - Per-package lint scripts updated in
packages/admin/package.json(oxlint --max-warnings 0) andapps/admin-test/package.json(oxlint). - New
.oxlintrc.jsonat repo root:typescript,react,import,jsx-a11yplugins,correctness=error / suspicious=warn / perf=warn, ignore patterns fordist,build,.next,.turbo,.medusa,.mercur,coverage.react/react-in-jsx-scopedisabled (React 17+ JSX automatic runtime). - First lint pass:
bunx oxlint --quietreports 0 errors / 1190 warnings across 4390 files. bun.lockregenerated.
- Root
-
Turbo pipeline cleanup
turbo.jsonbuild.outputschanged from.next/**todist/**, .medusa/**, !**/cache/**.devtask now declaresdependsOn: ["^build"]so dashboards see freshly built upstream packages (needed for the canary.5 dashboard-sdk dedupe fix to actually take effect).
-
Repository cleanup
- Removed unused tooling:
tools/template-sync/check.ts,tools/template-sync/config.ts. - Removed stale meilisearch integration test files:
integration-tests/src/api/admin/meilisearch/route.ts,integration-tests/src/api/store/meilisearch/products/search/route.ts,integration-tests/src/api/middlewares.ts. - Dropped
test:integration:meilisearchscript fromintegration-tests/package.json. - Removed superseded docs:
docs/seller.md,docs/seller-members.md,docs/subscriptions.md. - Removed
AGENTS.md(Claude-Code-only project now; see newCLAUDE.md).
- Removed unused tooling:
-
Documentation rewrite
CLAUDE.mdrewritten as a Quick Reference (~284 -> ~101 lines) covering project overview, build/run, project structure, commands, testing, working rules, required artifacts, and Definition of Done.- New
docs/ARCHITECTURE.md-- system overview, layer diagram (storefront -> client -> API -> core plugin -> Medusa + DB), package responsibilities. - New
docs/PRODUCT.md-- product description for three audiences (marketplace operators, sellers/vendors, developers/AI agents) plus full feature list (multi-vendor sellers, commissions, payouts, order splitting, etc.). - New
packages/core/ARCHITECTURE.md-- core plugin internals.
-
Repo artifacts for agent continuity
- Created
claude-progress.mdand thissession-handoff.md.
- Created
-
Run end-to-end verification on the uncommitted refactor. Lint passes (0 errors); build + tests still pending:
bun installto refresh the lockfile cleanly.- Triage the 1190 oxlint warnings -- decide bulk-fix via
bunx oxlint --fixvs. silencing categories in.oxlintrc.json. bun run build-- confirm theturbo.jsonoutput-path change does not break package caching or downstream consumers.bun run test:integration:http -- <pattern>on at least one suite (e.g.product) to confirm the meilisearch test removal did not leave dangling Jest references or middleware imports.
-
Docs index check: confirm
apps/docs/docs.json(or equivalent Mintlify nav) no longer references the three deleted seller/subscriptions markdown files. -
Commit strategy: split into two commits when verification passes
chore(repo): migrate from eslint to oxlint and drop unused toolingdocs: add ARCHITECTURE, PRODUCT, and core/ARCHITECTURE references
- oxlint over ESLint -- prioritizing speed of
bun run lintin CI; accepting that some custom ESLint rules will not be ported. New baseline is "oxlint clean", not "ESLint clean". devdepends on^build-- accepts a slower firstbun run devin exchange for upstream packages being available to Vite at runtime. Required for the dashboard-sdk dedupe fix from canary.5 to take effect for consumers runningdevfrom the monorepo root.turbo.jsonoutputs broadened --dist/**+.medusa/**covers both standard TypeScript builds and Medusa's generated artifacts;!**/cache/**keeps Turbo from caching its own cache.- Old seller/subscription markdown removed, not migrated -- they were stale enough that updating in place was worse than rewriting. The new
docs/PRODUCT.mdcovers the same audience needs. - CLAUDE.md rewritten as quick-reference, not narrative -- past version mixed CLI usage docs (better suited to
apps/docs) with agent guidance. Quick-reference format makes the agent's mandatory startup workflow explicit.
CLAUDE.md-- rewritten as quick reference for Claude Code agents.package.json-- switched lint tooxlint; added oxlint dependency; droppedformat+check-typesscripts.turbo.json-- build outputs and dev dependency change.bun.lock-- regenerated.apps/admin-test/package.json-- lint script nowoxlint.apps/vendor/package.json-- bumped to canary.5 alignment.packages/admin/package.json-- lint script nowoxlint --max-warnings 0.packages/dashboard-sdk/package.json-- canary.5 alignment.packages/vendor/package.json-- canary.5 alignment.integration-tests/package.json-- removedtest:integration:meilisearchscript.
.oxlintrc.json-- oxlint configuration.docs/ARCHITECTURE.md-- system architecture doc.docs/PRODUCT.md-- product description doc.packages/core/ARCHITECTURE.md-- core plugin internals.claude-progress.md-- session log + verified state.session-handoff.md-- this file.
AGENTS.mddocs/seller.mddocs/seller-members.mddocs/subscriptions.mdtools/template-sync/check.tstools/template-sync/config.tsintegration-tests/src/api/admin/meilisearch/route.tsintegration-tests/src/api/store/meilisearch/products/search/route.tsintegration-tests/src/api/middlewares.ts
Diff summary: 19 files changed, +138 / -1040 (plus 4 new untracked files).
- 2026-05-11 -- PR #919 (
a15dc78f): i18n coverage + onboarding extensibility. Expanded vendorpl.jsonanden.json(+425 / +39 lines). AddeduseOnboardinghook and new dashboard-sdk types/plugin hook for extensible onboarding. Tightened seller validators. 69 files, +1673 / -277. - 2026-05-12 -- canary.1 -> canary.5 fix train:
b77c9ce9fix(vendor): improve PL translations for order statuses/columnse886d5bdfix(vendor): correct thumbnail size in order summary89370c1ffix(admin): improve PL translations for order statuses/columnsc4912156fix(vendor): translate commission label in order summary3c4e9ac5fix(dashboard-sdk): dedupei18nextandreactin vite resolve
None hard-blocking. Soft risk: oxlint may surface new errors on first run, which could turn this from a clean refactor into a wider follow-up. Triage on first lint run will determine scope.
- Lint coverage gap -- oxlint does not implement every ESLint rule; some violations previously caught may silently pass. Spot-check against the prior
eslint --max-warnings 0baseline if a regression appears. - Turbo cache invalidation -- first build after merge will cold-start every package. Expect a slow first CI run.
devdepends on^build-- changesbun run devstartup cost; if DX feedback is negative, revisit.- Docs nav drift -- deleted three markdown files without yet updating the Mintlify navigation. If
apps/docsreferences them, the docs build will fail.
- From repo root:
bun install-- confirms the lockfile regenerates clean without ESLint left in the graph. bun run lint-- triage oxlint findings. Fix trivial issues in place; for rules with no clean fix, decide whether to disable in.oxlintrc.json(with reason) or fix the underlying code.bun run build-- confirm all packages build with the newturbo.jsonoutput paths.bun run test:integration:http -- product(or any one suite) -- confirm Jest still resolves after meilisearch file removal.- Grep
apps/docsfor references toseller.md,seller-members.md,subscriptions.md; remove or redirect. - Commit in two logical units:
chore(repo): migrate from eslint to oxlint and drop unused toolinganddocs: add ARCHITECTURE, PRODUCT, and core/ARCHITECTURE references. - Update
claude-progress.mdSession 3 with the verification evidence and mark next-best-action as "merge / open PR".