diff --git a/.changeset/agent-plugin-ts7-sync.md b/.changeset/pre/agent-plugin-ts7-sync.md similarity index 100% rename from .changeset/agent-plugin-ts7-sync.md rename to .changeset/pre/agent-plugin-ts7-sync.md diff --git a/.changeset/collapse-bun-plugin-exports.md b/.changeset/pre/collapse-bun-plugin-exports.md similarity index 100% rename from .changeset/collapse-bun-plugin-exports.md rename to .changeset/pre/collapse-bun-plugin-exports.md diff --git a/.changeset/collapse-rsbuild-plugin-exports.md b/.changeset/pre/collapse-rsbuild-plugin-exports.md similarity index 100% rename from .changeset/collapse-rsbuild-plugin-exports.md rename to .changeset/pre/collapse-rsbuild-plugin-exports.md diff --git a/.changeset/collapse-vite-plugin-exports.md b/.changeset/pre/collapse-vite-plugin-exports.md similarity index 100% rename from .changeset/collapse-vite-plugin-exports.md rename to .changeset/pre/collapse-vite-plugin-exports.md diff --git a/.changeset/drop-retry-with.md b/.changeset/pre/drop-retry-with.md similarity index 100% rename from .changeset/drop-retry-with.md rename to .changeset/pre/drop-retry-with.md diff --git a/.changeset/init-standard-engine.md b/.changeset/pre/init-standard-engine.md similarity index 100% rename from .changeset/init-standard-engine.md rename to .changeset/pre/init-standard-engine.md diff --git a/.changeset/narrow-build-plugin-guard.md b/.changeset/pre/narrow-build-plugin-guard.md similarity index 100% rename from .changeset/narrow-build-plugin-guard.md rename to .changeset/pre/narrow-build-plugin-guard.md diff --git a/.changeset/narrow-plugin-options.md b/.changeset/pre/narrow-plugin-options.md similarity index 100% rename from .changeset/narrow-plugin-options.md rename to .changeset/pre/narrow-plugin-options.md diff --git a/.changeset/remove-init-skill-install.md b/.changeset/pre/remove-init-skill-install.md similarity index 100% rename from .changeset/remove-init-skill-install.md rename to .changeset/pre/remove-init-skill-install.md diff --git a/.changeset/remove-shared-schema-extractors.md b/.changeset/pre/remove-shared-schema-extractors.md similarity index 100% rename from .changeset/remove-shared-schema-extractors.md rename to .changeset/pre/remove-shared-schema-extractors.md diff --git a/.changeset/restore-inline-completions.md b/.changeset/pre/restore-inline-completions.md similarity index 100% rename from .changeset/restore-inline-completions.md rename to .changeset/pre/restore-inline-completions.md diff --git a/.changeset/scaffold-arkenv-plugin-name.md b/.changeset/pre/scaffold-arkenv-plugin-name.md similarity index 100% rename from .changeset/scaffold-arkenv-plugin-name.md rename to .changeset/pre/scaffold-arkenv-plugin-name.md diff --git a/.changeset/tanstack-addon-arkenv-plugin-name.md b/.changeset/pre/tanstack-addon-arkenv-plugin-name.md similarity index 100% rename from .changeset/tanstack-addon-arkenv-plugin-name.md rename to .changeset/pre/tanstack-addon-arkenv-plugin-name.md diff --git a/.changeset/tanstack-addon-rc-ranges.md b/.changeset/pre/tanstack-addon-rc-ranges.md similarity index 100% rename from .changeset/tanstack-addon-rc-ranges.md rename to .changeset/pre/tanstack-addon-rc-ranges.md diff --git a/packages/agent-plugin/CHANGELOG.md b/packages/agent-plugin/CHANGELOG.md index 3211cee3e..20b45727d 100644 --- a/packages/agent-plugin/CHANGELOG.md +++ b/packages/agent-plugin/CHANGELOG.md @@ -1,5 +1,18 @@ # @arkenv/agent-plugin +## 1.0.0-rc.2 + +### Patch Changes + +- #### Parse audit sources with the TypeScript 7 sync API _[`#1990`](https://github.com/yamcodes/arkenv/pull/1990) [`f3039bf`](https://github.com/yamcodes/arkenv/commit/f3039bf80847aacbc7eb9c66a569baaf864eee8a) [@yamcodes](https://github.com/yamcodes)_ + + + The agent plugin audit now parses source files through `typescript/unstable/sync` instead of the classic TypeScript compiler API. +- #### Point init refusals at nextActions _[`#1977`](https://github.com/yamcodes/arkenv/pull/1977) [`dd2fa82`](https://github.com/yamcodes/arkenv/commit/dd2fa8251c72d87c57668f404ec5b03dd9eddeb2) [@yamcodes](https://github.com/yamcodes)_ + + + Agent instructions now tell you to retry only when a refusal's `nextActions` include a `run-command` with `--force`. + ## 1.0.0-rc.1 ### Patch Changes diff --git a/packages/agent-plugin/package.json b/packages/agent-plugin/package.json index ef859b88c..f1b673924 100644 --- a/packages/agent-plugin/package.json +++ b/packages/agent-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@arkenv/agent-plugin", "type": "module", - "version": "1.0.0-rc.1", + "version": "1.0.0-rc.2", "description": "ArkEnv coding-agent plugin with MCP tools for init and AST-based env audits", "bin": { "arkenv-agent-plugin": "./bin.mjs" diff --git a/packages/arkenv/CHANGELOG.md b/packages/arkenv/CHANGELOG.md index 19c179847..7165ee39e 100644 --- a/packages/arkenv/CHANGELOG.md +++ b/packages/arkenv/CHANGELOG.md @@ -9,6 +9,47 @@ > [Migrate from v0](https://arkenv.js.org/docs/guides/migrating-to-v1). +## 1.0.0-rc.3 + +### Minor Changes + +- #### Stop installing the agent skill during init _[`#1984`](https://github.com/yamcodes/arkenv/pull/1984) [`2c1dd0f`](https://github.com/yamcodes/arkenv/commit/2c1dd0f240be7f3e03acef4fff55b6035c9835b5) [@yamcodes](https://github.com/yamcodes)_ + + + `arkenv init` no longer prompts for or installs the ArkEnv agent skill, including under `--yes`. When the skill is not already in the project, the next-steps note still prints `npx skills add yamcodes/arkenv`. `@arkenv/agent-plugin` already includes the skill. +- #### Scaffold `arkenvPlugin` in Vite and Rsbuild configs _[`#2015`](https://github.com/yamcodes/arkenv/pull/2015) [`7417dd7`](https://github.com/yamcodes/arkenv/commit/7417dd7201c42e2cc987cb26c1763d7cbb9a56a2) [@yamcodes](https://github.com/yamcodes)_ + + + `arkenv init` now writes `arkenvPlugin` into new Vite and Rsbuild config entries. Vite binds the default import as `arkenvPlugin`. Rsbuild imports the named `arkenvPlugin`. + + ```ts + import arkenvPlugin from "@arkenv/vite-plugin"; + + export default defineConfig({ + plugins: [arkenvPlugin()], + }); + ``` + +### Patch Changes + +- #### Scaffold Zod and Valibot init on standard mode _[`#2020`](https://github.com/yamcodes/arkenv/pull/2020) [`a3815e6`](https://github.com/yamcodes/arkenv/commit/a3815e6ddd8843f7ae1227e49d0947da35f99b94) [@yamcodes](https://github.com/yamcodes)_ + + + `arkenv init` no longer installs `arktype` when you choose Zod or Valibot. Next.js, Nuxt, Vite, Rsbuild, and Bun now scaffold the `/standard` integration entry, and Next.js and Nuxt also install `@arkenv/standard`. + + ```ts + import arkenv from "@arkenv/nuxt/standard"; + import * as z from "zod"; + + export const env = arkenv({ + DATABASE_URL: z.url(), + }); + ``` + + Re-running init replaces the other engine's entry. A Nuxt app that still registers `@arkenv/nuxt/module` switches to `@arkenv/nuxt/standard/module` when you choose Zod or Valibot, and the same replacement applies to the Next.js, Vite, and Rsbuild imports. Choosing ArkType switches those entries back. + + ArkType init is unchanged: it still installs `arktype` and uses the ArkType integration entry. + ## 1.0.0-rc.2 ### Major Changes diff --git a/packages/arkenv/package.json b/packages/arkenv/package.json index cb1d395f6..c3889e37d 100644 --- a/packages/arkenv/package.json +++ b/packages/arkenv/package.json @@ -1,7 +1,7 @@ { "name": "arkenv", "type": "module", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "description": "Interactive CLI for scaffolding ArkEnv projects", "bin": { "arkenv": "./bin.mjs" diff --git a/packages/build/CHANGELOG.md b/packages/build/CHANGELOG.md index 1ab88f63e..79e8ae58a 100644 --- a/packages/build/CHANGELOG.md +++ b/packages/build/CHANGELOG.md @@ -1,5 +1,29 @@ # @arkenv/build +## 1.0.0-rc.3 + +### Major Changes + +- #### Remove the SharedSchema key extractors _[`#2011`](https://github.com/yamcodes/arkenv/pull/2011) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [@yamcodes](https://github.com/yamcodes)_ + + + `extractSharedKeys` and `extractSharedBlock` are no longer exported from `@arkenv/build`. `@arkenv/nextjs/config` and `@arkenv/nuxt` (including `@arkenv/nuxt/standard/config`) no longer re-export `extractSharedKeys`. Shared keys in a flat `arkenv()` call still come from `extractKeys` and `classifyEnvKeys`. + + **BREAKING CHANGE**: Those helpers scanned source for a `SharedSchema = { ... }` assignment. Classify a flat `arkenv()` call instead. + + ```ts + import { classifyEnvKeys } from "@arkenv/build"; + + const { sharedKeys } = classifyEnvKeys(source, ["NEXT_PUBLIC_"]); + ``` + +### Patch Changes + +- #### Reject runtime keys in the plugin option guard _[`#2012`](https://github.com/yamcodes/arkenv/pull/2012) [`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [@yamcodes](https://github.com/yamcodes)_ + + + The shared transform-option guard now treats `env`, `coerce`, `onUndeclaredKey`, `arrayFormat`, `emptyAsUndefined`, `debugSecrets`, and `toJsonSchema` as unsupported plugin options. The build reads the loaded environment. + ## 1.0.0-rc.2 ### Major Changes diff --git a/packages/build/package.json b/packages/build/package.json index 39fa7051b..b57cf0da6 100644 --- a/packages/build/package.json +++ b/packages/build/package.json @@ -1,6 +1,6 @@ { "name": "@arkenv/build", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "description": "Shared build and codegen utilities for ArkEnv framework plugins", "type": "module", "main": "./dist/index.js", diff --git a/packages/bun-plugin/CHANGELOG.md b/packages/bun-plugin/CHANGELOG.md index bb4f1ca49..20696dc88 100644 --- a/packages/bun-plugin/CHANGELOG.md +++ b/packages/bun-plugin/CHANGELOG.md @@ -1,5 +1,70 @@ # @arkenv/bun-plugin +## 1.0.0-rc.3 + +### Major Changes + +- #### Export only `arkenvPlugin` from the Bun plugin _[`#2015`](https://github.com/yamcodes/arkenv/pull/2015) [`7417dd7`](https://github.com/yamcodes/arkenv/commit/7417dd7201c42e2cc987cb26c1763d7cbb9a56a2) [@yamcodes](https://github.com/yamcodes)_ + + + `@arkenv/bun-plugin` and `@arkenv/bun-plugin/standard` now export `arkenvPlugin` as the default and the only named export. The `arkenvBunPlugin` and `hybrid` aliases have been removed. `arkenvPlugin` is still both a factory and a plugin object with `name`, `target`, and `setup`. + + ```ts + import arkenvPlugin from "@arkenv/bun-plugin"; + + await Bun.build({ + plugins: [arkenvPlugin], + }); + ``` + + **BREAKING CHANGE**: `arkenvBunPlugin` and `hybrid` are no longer exported. Use `arkenvPlugin` instead. +- #### Reject runtime options on bundler plugins _[`#2012`](https://github.com/yamcodes/arkenv/pull/2012) [`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [@yamcodes](https://github.com/yamcodes)_ + + + Vite, Bun, and Rsbuild plugins now accept only `schemaPath`, `clientPrefix`, `logger`, and `logLevel`. The build validates the environment loaded for that compile. Variables already set on `process.env` win over env files. + + ```ts + import { arkenvPlugin } from "@arkenv/vite-plugin"; + + export default { + plugins: [arkenvPlugin({ schemaPath: "src/env.ts" })], + }; + ``` + + Set `env`, `coerce`, `onUndeclaredKey`, `arrayFormat`, `emptyAsUndefined`, `debugSecrets`, and `toJsonSchema` on `arkenv()` in `env.ts`. The plugin rejects those keys. + + ```ts + import arkenv from "@arkenv/core"; + + export const env = arkenv( + { PORT: "number" }, + { coerce: true, onUndeclaredKey: "reject" }, + ); + ``` + + **BREAKING CHANGE**: Plugin option types no longer include runtime `arkenv()` fields, including `env`. Passing them now throws. + + ```diff + - arkenvPlugin({ env: { PORT: "3000" }, coerce: true }) + + arkenvPlugin({ schemaPath: "src/env.ts" }) + ``` + +### Patch Changes + +
Updated 3 dependencies + + + +[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758) + + + +- `@arkenv/build@1.0.0-rc.3` +- `@arkenv/core@1.0.0-rc.3` +- `@arkenv/standard@1.0.0-rc.3` + +
+ ## 1.0.0-rc.2 ### Patch Changes diff --git a/packages/bun-plugin/package.json b/packages/bun-plugin/package.json index 10e200018..1c7ce5c05 100644 --- a/packages/bun-plugin/package.json +++ b/packages/bun-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@arkenv/bun-plugin", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "author": "Yam Borodetsky ", "repository": { "type": "git", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 6aadd0d5d..43f80a685 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -6,6 +6,23 @@ > [Migrate from v0](https://arkenv.js.org/docs/guides/migrating-to-v1). +## 1.0.0-rc.3 + +### Patch Changes + +- #### Restore keyword suggestions inside inline schemas _[`#1975`](https://github.com/yamcodes/arkenv/pull/1975) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758) [@yamcodes](https://github.com/yamcodes)_ + + + A partial keyword in an inline schema string suggests ArkType keywords again. `arkenv({ PORT: "n" })` offers `never`, `null`, and `number`. The same suggestions are back on `arkenv` from `@arkenv/core/safe`. + + ```ts + import arkenv from "@arkenv/core"; + + export const env = arkenv({ + PORT: "number.port = 3000", + }); + ``` + ## 1.0.0-rc.2 ### Major Changes diff --git a/packages/core/package.json b/packages/core/package.json index 2711e49ae..cc4c2ad76 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@arkenv/core", "type": "module", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "description": "ArkType-powered typesafe environment variables with ArkType, Zod, or Valibot.", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/nextjs/CHANGELOG.md b/packages/nextjs/CHANGELOG.md index 901d697d2..1632cfe51 100644 --- a/packages/nextjs/CHANGELOG.md +++ b/packages/nextjs/CHANGELOG.md @@ -1,5 +1,38 @@ # @arkenv/nextjs +## 1.0.0-rc.3 + +### Major Changes + +- #### Remove the SharedSchema key extractors _[`#2011`](https://github.com/yamcodes/arkenv/pull/2011) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [@yamcodes](https://github.com/yamcodes)_ + + + `extractSharedKeys` and `extractSharedBlock` are no longer exported from `@arkenv/build`. `@arkenv/nextjs/config` and `@arkenv/nuxt` (including `@arkenv/nuxt/standard/config`) no longer re-export `extractSharedKeys`. Shared keys in a flat `arkenv()` call still come from `extractKeys` and `classifyEnvKeys`. + + **BREAKING CHANGE**: Those helpers scanned source for a `SharedSchema = { ... }` assignment. Classify a flat `arkenv()` call instead. + + ```ts + import { classifyEnvKeys } from "@arkenv/build"; + + const { sharedKeys } = classifyEnvKeys(source, ["NEXT_PUBLIC_"]); + ``` + +### Patch Changes + +
Updated 3 dependencies + + + +[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758) + + + +- `@arkenv/build@1.0.0-rc.3` +- `@arkenv/core@1.0.0-rc.3` +- `@arkenv/standard@1.0.0-rc.3` + +
+ ## 1.0.0-rc.2 ### Major Changes diff --git a/packages/nextjs/package.json b/packages/nextjs/package.json index 1532824ae..db36bf8f8 100644 --- a/packages/nextjs/package.json +++ b/packages/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@arkenv/nextjs", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "author": "Yam Borodetsky ", "repository": { "type": "git", diff --git a/packages/nuxt/CHANGELOG.md b/packages/nuxt/CHANGELOG.md index 35b174c02..37b5b3a2d 100644 --- a/packages/nuxt/CHANGELOG.md +++ b/packages/nuxt/CHANGELOG.md @@ -1,5 +1,38 @@ # @arkenv/nuxt +## 1.0.0-rc.3 + +### Major Changes + +- #### Remove the SharedSchema key extractors _[`#2011`](https://github.com/yamcodes/arkenv/pull/2011) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [@yamcodes](https://github.com/yamcodes)_ + + + `extractSharedKeys` and `extractSharedBlock` are no longer exported from `@arkenv/build`. `@arkenv/nextjs/config` and `@arkenv/nuxt` (including `@arkenv/nuxt/standard/config`) no longer re-export `extractSharedKeys`. Shared keys in a flat `arkenv()` call still come from `extractKeys` and `classifyEnvKeys`. + + **BREAKING CHANGE**: Those helpers scanned source for a `SharedSchema = { ... }` assignment. Classify a flat `arkenv()` call instead. + + ```ts + import { classifyEnvKeys } from "@arkenv/build"; + + const { sharedKeys } = classifyEnvKeys(source, ["NEXT_PUBLIC_"]); + ``` + +### Patch Changes + +
Updated 3 dependencies + + + +[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758) + + + +- `@arkenv/build@1.0.0-rc.3` +- `@arkenv/core@1.0.0-rc.3` +- `@arkenv/standard@1.0.0-rc.3` + +
+ ## 1.0.0-rc.2 ### Major Changes diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 4899a728d..4af1bcc60 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,6 @@ { "name": "@arkenv/nuxt", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "author": "Yam Borodetsky ", "repository": { "type": "git", diff --git a/packages/rsbuild-plugin/CHANGELOG.md b/packages/rsbuild-plugin/CHANGELOG.md index d444c9767..fc03fdcad 100644 --- a/packages/rsbuild-plugin/CHANGELOG.md +++ b/packages/rsbuild-plugin/CHANGELOG.md @@ -1,5 +1,70 @@ # @arkenv/rsbuild-plugin +## 1.0.0-rc.3 + +### Major Changes + +- #### Export only `arkenvPlugin` from the Rsbuild plugin _[`#2015`](https://github.com/yamcodes/arkenv/pull/2015) [`7417dd7`](https://github.com/yamcodes/arkenv/commit/7417dd7201c42e2cc987cb26c1763d7cbb9a56a2) [@yamcodes](https://github.com/yamcodes)_ + + + `@arkenv/rsbuild-plugin` and `@arkenv/rsbuild-plugin/standard` now export `arkenvPlugin` as the default and the only named export. The `arkenvRsbuildPlugin` alias has been removed. + + ```ts + import { arkenvPlugin } from "@arkenv/rsbuild-plugin"; + + export default defineConfig({ + plugins: [arkenvPlugin()], + }); + ``` + + **BREAKING CHANGE**: `arkenvRsbuildPlugin` is no longer exported. Import `arkenvPlugin` instead. +- #### Reject runtime options on bundler plugins _[`#2012`](https://github.com/yamcodes/arkenv/pull/2012) [`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [@yamcodes](https://github.com/yamcodes)_ + + + Vite, Bun, and Rsbuild plugins now accept only `schemaPath`, `clientPrefix`, `logger`, and `logLevel`. The build validates the environment loaded for that compile. Variables already set on `process.env` win over env files. + + ```ts + import { arkenvPlugin } from "@arkenv/vite-plugin"; + + export default { + plugins: [arkenvPlugin({ schemaPath: "src/env.ts" })], + }; + ``` + + Set `env`, `coerce`, `onUndeclaredKey`, `arrayFormat`, `emptyAsUndefined`, `debugSecrets`, and `toJsonSchema` on `arkenv()` in `env.ts`. The plugin rejects those keys. + + ```ts + import arkenv from "@arkenv/core"; + + export const env = arkenv( + { PORT: "number" }, + { coerce: true, onUndeclaredKey: "reject" }, + ); + ``` + + **BREAKING CHANGE**: Plugin option types no longer include runtime `arkenv()` fields, including `env`. Passing them now throws. + + ```diff + - arkenvPlugin({ env: { PORT: "3000" }, coerce: true }) + + arkenvPlugin({ schemaPath: "src/env.ts" }) + ``` + +### Patch Changes + +
Updated 3 dependencies + + + +[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758) + + + +- `@arkenv/build@1.0.0-rc.3` +- `@arkenv/core@1.0.0-rc.3` +- `@arkenv/standard@1.0.0-rc.3` + +
+ ## 1.0.0-rc.2 ### Patch Changes diff --git a/packages/rsbuild-plugin/package.json b/packages/rsbuild-plugin/package.json index ed707e1b9..34f063d14 100644 --- a/packages/rsbuild-plugin/package.json +++ b/packages/rsbuild-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@arkenv/rsbuild-plugin", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "author": "Yam Borodetsky ", "repository": { "type": "git", diff --git a/packages/standard/CHANGELOG.md b/packages/standard/CHANGELOG.md index 86015157f..23c1a4031 100644 --- a/packages/standard/CHANGELOG.md +++ b/packages/standard/CHANGELOG.md @@ -1,5 +1,9 @@ # @arkenv/standard +## 1.0.0-rc.3 + +No changes in this release. + ## 1.0.0-rc.2 ### Major Changes diff --git a/packages/standard/package.json b/packages/standard/package.json index 9ca6570d2..75d395c11 100644 --- a/packages/standard/package.json +++ b/packages/standard/package.json @@ -1,7 +1,7 @@ { "name": "@arkenv/standard", "type": "module", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "description": "Standard Schema-powered Typesafe environment variables with Zod or Valibot.", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/packages/tanstack-addon/CHANGELOG.md b/packages/tanstack-addon/CHANGELOG.md index 346be4c0d..b02d31faa 100644 --- a/packages/tanstack-addon/CHANGELOG.md +++ b/packages/tanstack-addon/CHANGELOG.md @@ -1,5 +1,32 @@ # @arkenv/tanstack-addon +## 1.0.0-rc.2 + +### Patch Changes + +- #### Scaffold `arkenvPlugin` in the TanStack add-on _[`#2015`](https://github.com/yamcodes/arkenv/pull/2015) [`7417dd7`](https://github.com/yamcodes/arkenv/commit/7417dd7201c42e2cc987cb26c1763d7cbb9a56a2) [@yamcodes](https://github.com/yamcodes)_ + + + The TanStack CLI add-on now registers the Vite plugin as `arkenvPlugin`. + + ```ts + import arkenvPlugin from "@arkenv/vite-plugin"; + + export default defineConfig({ + plugins: [arkenvPlugin()], + }); + ``` +- #### Point TanStack add-on dependencies at the current release _[`#1978`](https://github.com/yamcodes/arkenv/pull/1978) [`888e6c2`](https://github.com/yamcodes/arkenv/commit/888e6c2a7f41576dd5f2bfb9a421cfcf9aad9ad3) [@yamcodes](https://github.com/yamcodes)_ + + + Scaffolded TanStack Start apps now install `@arkenv/core`, `@arkenv/standard`, and `@arkenv/vite-plugin` at `^1.0.0-rc.2`, which matches the versions on npm `latest` and still accepts `1.0.0` when it publishes. + + Usage: + + ```bash + npx @tanstack/cli create my-app --add-ons https://arkenv.js.org/tanstack/info.json + ``` + ## 1.0.0-rc.1 ### Patch Changes diff --git a/packages/tanstack-addon/package.json b/packages/tanstack-addon/package.json index 73bf7acfa..6b401ab2e 100644 --- a/packages/tanstack-addon/package.json +++ b/packages/tanstack-addon/package.json @@ -1,6 +1,6 @@ { "name": "@arkenv/tanstack-addon", - "version": "1.0.0-rc.1", + "version": "1.0.0-rc.2", "author": "Yam Borodetsky ", "repository": { "type": "git", diff --git a/packages/vite-plugin/CHANGELOG.md b/packages/vite-plugin/CHANGELOG.md index 8f24e11a0..e37457809 100644 --- a/packages/vite-plugin/CHANGELOG.md +++ b/packages/vite-plugin/CHANGELOG.md @@ -1,5 +1,70 @@ # @arkenv/vite-plugin +## 1.0.0-rc.3 + +### Major Changes + +- #### Export only `arkenvPlugin` from the Vite plugin _[`#2015`](https://github.com/yamcodes/arkenv/pull/2015) [`7417dd7`](https://github.com/yamcodes/arkenv/commit/7417dd7201c42e2cc987cb26c1763d7cbb9a56a2) [@yamcodes](https://github.com/yamcodes)_ + + + `@arkenv/vite-plugin` and `@arkenv/vite-plugin/standard` now export `arkenvPlugin` as the default and the only named export. The `arkenvVitePlugin` alias has been removed. + + ```ts + import arkenvPlugin from "@arkenv/vite-plugin"; + + export default defineConfig({ + plugins: [arkenvPlugin()], + }); + ``` + + **BREAKING CHANGE**: `arkenvVitePlugin` is no longer exported. Import `arkenvPlugin` instead. +- #### Reject runtime options on bundler plugins _[`#2012`](https://github.com/yamcodes/arkenv/pull/2012) [`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [@yamcodes](https://github.com/yamcodes)_ + + + Vite, Bun, and Rsbuild plugins now accept only `schemaPath`, `clientPrefix`, `logger`, and `logLevel`. The build validates the environment loaded for that compile. Variables already set on `process.env` win over env files. + + ```ts + import { arkenvPlugin } from "@arkenv/vite-plugin"; + + export default { + plugins: [arkenvPlugin({ schemaPath: "src/env.ts" })], + }; + ``` + + Set `env`, `coerce`, `onUndeclaredKey`, `arrayFormat`, `emptyAsUndefined`, `debugSecrets`, and `toJsonSchema` on `arkenv()` in `env.ts`. The plugin rejects those keys. + + ```ts + import arkenv from "@arkenv/core"; + + export const env = arkenv( + { PORT: "number" }, + { coerce: true, onUndeclaredKey: "reject" }, + ); + ``` + + **BREAKING CHANGE**: Plugin option types no longer include runtime `arkenv()` fields, including `env`. Passing them now throws. + + ```diff + - arkenvPlugin({ env: { PORT: "3000" }, coerce: true }) + + arkenvPlugin({ schemaPath: "src/env.ts" }) + ``` + +### Patch Changes + +
Updated 3 dependencies + + + +[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758) + + + +- `@arkenv/build@1.0.0-rc.3` +- `@arkenv/core@1.0.0-rc.3` +- `@arkenv/standard@1.0.0-rc.3` + +
+ ## 1.0.0-rc.2 ### Patch Changes diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json index dc5262fa3..9fda7b0ff 100644 --- a/packages/vite-plugin/package.json +++ b/packages/vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@arkenv/vite-plugin", - "version": "1.0.0-rc.2", + "version": "1.0.0-rc.3", "author": "Yam Borodetsky ", "repository": { "type": "git",