-
Notifications
You must be signed in to change notification settings - Fork 6
(v1) Consolidate Vite/Bun plugin plumbing into @arkenv/build #1331
Copy link
Copy link
Open
Labels
@arkenv/bun-pluginIssues or Pull Requests involving the Bun plugin for ArkEnvIssues or Pull Requests involving the Bun plugin for ArkEnv@arkenv/vite-pluginIssues or Pull Requests involving the Vite plugin for ArkEnvIssues or Pull Requests involving the Vite plugin for ArkEnvready for agentFully specified, ready for immediate implementationFully specified, ready for immediate implementationrefactorA change to the codebase that's neither a bug fix nor added functionalityA change to the codebase that's neither a bug fix nor added functionality
Milestone
Description
Metadata
Metadata
Assignees
Labels
@arkenv/bun-pluginIssues or Pull Requests involving the Bun plugin for ArkEnvIssues or Pull Requests involving the Bun plugin for ArkEnv@arkenv/vite-pluginIssues or Pull Requests involving the Vite plugin for ArkEnvIssues or Pull Requests involving the Vite plugin for ArkEnvready for agentFully specified, ready for immediate implementationFully specified, ready for immediate implementationrefactorA change to the codebase that's neither a bug fix nor added functionalityA change to the codebase that's neither a bug fix nor added functionality
Summary
Consolidate the Vite/Bun plugins' build-time plumbing into
@arkenv/build(ADR 0009), which Next/Nuxt already consume but the plugins currently duplicate.Scope
@arkenv/build: env-module identification conventions, layout resolution (resolveLayout), key extraction (extractClientKeys/extractServerKeys/extractSharedKeys), schema watching (watchSchema), and the shared transform helpers introduced by (v1) feat(vite-plugin): env-module transform — canonical env object surface #1328 / (v1) feat(bun-plugin): env-module transform — canonical env object surface #1329 (literal inlining, validator stripping, guard emission) — kept framework-parameterized.FilterByPrefixusage).clientPrefixhandling becomes shared, first-class config (ADR 0014 consequence).Constraints
@arkenv/buildstays a published, internal-only package (no private workspace deps — ADR 0009).arkenv/@arkenv/coreremains zero-dependency and edge-compatible; no Node-specific code leaks into runtime packages.Acceptance criteria
@arkenv/buildfor layout resolution, key extraction, and watching.@arkenv/build.Landing
v1 branch only — see ADR 0015 landing strategy. Coordinates with #1328 / #1329 / #1330. Part of #1105 (ADR: #1326).