Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
13 changes: 13 additions & 0 deletions packages/agent-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/agent-plugin/package.json
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
41 changes: 41 additions & 0 deletions packages/arkenv/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,47 @@
> [Migrate from v0](https://arkenv.js.org/docs/guides/migrating-to-v1).
<!-- /arkenv-epoch -->

## 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
Expand Down
2 changes: 1 addition & 1 deletion packages/arkenv/package.json
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
24 changes: 24 additions & 0 deletions packages/build/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/build/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
65 changes: 65 additions & 0 deletions packages/bun-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

<details><summary>Updated 3 dependencies</summary>

<small>

[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758)

</small>

- `@arkenv/build@1.0.0-rc.3`
- `@arkenv/core@1.0.0-rc.3`
- `@arkenv/standard@1.0.0-rc.3`

</details>

## 1.0.0-rc.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/bun-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@arkenv/bun-plugin",
"version": "1.0.0-rc.2",
"version": "1.0.0-rc.3",
"author": "Yam Borodetsky <yam@yam.codes>",
"repository": {
"type": "git",
Expand Down
17 changes: 17 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,23 @@
> [Migrate from v0](https://arkenv.js.org/docs/guides/migrating-to-v1).
<!-- /arkenv-epoch -->

## 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
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
33 changes: 33 additions & 0 deletions packages/nextjs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

<details><summary>Updated 3 dependencies</summary>

<small>

[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758)

</small>

- `@arkenv/build@1.0.0-rc.3`
- `@arkenv/core@1.0.0-rc.3`
- `@arkenv/standard@1.0.0-rc.3`

</details>

## 1.0.0-rc.2

### Major Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/nextjs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@arkenv/nextjs",
"version": "1.0.0-rc.2",
"version": "1.0.0-rc.3",
"author": "Yam Borodetsky <yam@yam.codes>",
"repository": {
"type": "git",
Expand Down
33 changes: 33 additions & 0 deletions packages/nuxt/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

<details><summary>Updated 3 dependencies</summary>

<small>

[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758)

</small>

- `@arkenv/build@1.0.0-rc.3`
- `@arkenv/core@1.0.0-rc.3`
- `@arkenv/standard@1.0.0-rc.3`

</details>

## 1.0.0-rc.2

### Major Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/nuxt/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@arkenv/nuxt",
"version": "1.0.0-rc.2",
"version": "1.0.0-rc.3",
"author": "Yam Borodetsky <yam@yam.codes>",
"repository": {
"type": "git",
Expand Down
65 changes: 65 additions & 0 deletions packages/rsbuild-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

<details><summary>Updated 3 dependencies</summary>

<small>

[`87f3743`](https://github.com/yamcodes/arkenv/commit/87f3743bf7da164476bc27c50d5090e5759093df) [`9483c3c`](https://github.com/yamcodes/arkenv/commit/9483c3c31691dca544ac975c0dfcd9ec3d7b938e) [`089ef43`](https://github.com/yamcodes/arkenv/commit/089ef436d3e007fa636e3948734d3911b1065758)

</small>

- `@arkenv/build@1.0.0-rc.3`
- `@arkenv/core@1.0.0-rc.3`
- `@arkenv/standard@1.0.0-rc.3`

</details>

## 1.0.0-rc.2

### Patch Changes
Expand Down
Loading
Loading