Skip to content

Version Packages#1108

Merged
yamcodes merged 1 commit into
mainfrom
changeset-release/main
May 31, 2026
Merged

Version Packages#1108
yamcodes merged 1 commit into
mainfrom
changeset-release/main

Conversation

@arkenv-bot

@arkenv-bot arkenv-bot Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

arkenv@0.11.1

Patch Changes

  • Add Infer<T> helper to resolve environment variable types #1092 c6c30ab @yamcodes

    Introduce the Infer<T> type helper, allowing developers to extract the inferred output types of their environment schemas. It supports both declarative schema shapes and compiled schemas (like Zod or ArkType types).

    Usage:

    import { createEnv, type Infer } from "arkenv";
    import { type } from "arktype";
    
    const schema = {
      PORT: type.number,
    };
    
    export type Env = Infer<typeof schema>;

@arkenv/bun-plugin@0.1.7

Patch Changes

Updated 1 dependency

c6c30ab

  • arkenv@0.11.1

@arkenv/cli@0.2.6

Patch Changes

  • Implement Next.js separate files mode, shared entry point, and native extends API #1084 d921785 @yamcodes

    Introduce dedicated entry points for @arkenv/nextjs/server, @arkenv/nextjs/client, and @arkenv/nextjs/shared to prevent metadata leakage and support compile-time bundler-enforced isolation. Add a native extends API to merge validated outputs of extended proxies while maintaining proxy-level protections.

    Also update the CLI init wizard to support interactive layout selection (Strict 3-file vs Simple 1-file) and --strict / --simple flags to bypass interactive selection.

    Example server usage:

    import { createEnv } from "@arkenv/nextjs/server";
    import { env as clientEnv } from "./env.client";
    
    export const env = createEnv(
      { DATABASE_URL: "string" },
      { extends: [clientEnv] }
    );

    Example client usage:

    import { createEnv } from "@arkenv/nextjs/client";
    
    export const env = createEnv(
      { NEXT_PUBLIC_API_URL: "string" },
      {
        runtimeEnv: {
          NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL,
        },
      }
    );
  • Update Next.js scaffolding template to use codegen workflow #1092 c6c30ab @yamcodes

    Update the CLI nextjs scaffolding template to adopt the new @arkenv/nextjs/config codegen workflow. The generated env.ts file now imports the auto-generated createEnv factory from env.gen.ts instead of directly importing from @arkenv/nextjs, which eliminates the need to manually destructure runtimeEnv variables.

    Additionally, update the CLI usage instructions to guide developers on wrapping their Next.js configuration using the withArkEnv helper inside next.config.ts.

    Add --no-codegen CLI option and dedicated prompt for Next.js scaffolding

    Introduce a --no-codegen (or -C) option and an interactive prompt to allow developers to opt out of the Next.js automatic environment variable code generation workflow. When opted out, the CLI scaffolds the project to use standard runtimeEnv destructuring and skips post-scaffold code generation bootstrapping.

@arkenv/nextjs@0.0.4

Patch Changes

  • Implement Next.js separate files mode, shared entry point, and native extends API #1084 d921785 @yamcodes

    Introduce dedicated entry points for @arkenv/nextjs/server, @arkenv/nextjs/client, and @arkenv/nextjs/shared to prevent metadata leakage and support compile-time bundler-enforced isolation. Add a native extends API to merge validated outputs of extended proxies while maintaining proxy-level protections.

    Also update the CLI init wizard to support interactive layout selection (Strict 3-file vs Simple 1-file) and --strict / --simple flags to bypass interactive selection.

    Example server usage:

    import { createEnv } from "@arkenv/nextjs/server";
    import { env as clientEnv } from "./env.client";
    
    export const env = createEnv(
      { DATABASE_URL: "string" },
      { extends: [clientEnv] }
    );

    Example client usage:

    import { createEnv } from "@arkenv/nextjs/client";
    
    export const env = createEnv(
      { NEXT_PUBLIC_API_URL: "string" },
      {
        runtimeEnv: {
          NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL,
        },
      }
    );
  • Add withArkEnv configuration helper for Next.js #1092 c6c30ab @yamcodes

    Add a Next.js configuration wrapper in @arkenv/nextjs/config that automates client-side and shared environment variable destructuring in the runtimeEnv block:

    // next.config.ts
    import { withArkEnv } from "@arkenv/nextjs/config";
    import type { NextConfig } from "next";
    
    const nextConfig: NextConfig = {
      reactStrictMode: true,
    };
    
    export default withArkEnv(nextConfig);

    Key features:

    • Zero-Boilerplate Destructuring: Statically extract client and shared keys from your env.ts schema and generate a tailored createEnv factory in generated/env.gen.ts that pre-fills the runtimeEnv block.
    • Development Watcher: Automatically start a lightweight file watcher in development mode to regenerate generated/env.gen.ts on the fly when env.ts changes.
    • Customizable Output: Support custom schema and output paths, enabling developers to write generated files to a dedicated folder (e.g., src/generated/env.gen.ts).
    • Deprecate Direct Exports: Mark direct createEnv and default arkenv exports from the main and react-server entry points as deprecated to steer developers toward the new codegen workflow.

    Example usage in env.ts:

    // env.ts
    import { createEnv } from "./generated/env.gen";
    
    export const env = createEnv({
      client: {
        NEXT_PUBLIC_API_URL: "string",
      },
      shared: {
        NODE_ENV: "string",
      },
    });
Updated 1 dependency

c6c30ab

  • arkenv@0.11.1

@arkenv/vite-plugin@0.1.1

Patch Changes

Updated 1 dependency

c6c30ab

  • arkenv@0.11.1

@github-actions github-actions Bot added docs Adds or changes documentation, or acts as documentation in and of itself arkenv Changes to the `arkenv` npm package. @arkenv/vite-plugin Issues or Pull Requests involving the Vite plugin for ArkEnv @arkenv/bun-plugin Issues or Pull Requests involving the Bun plugin for ArkEnv @arkenv/cli Issues or Pull Requests involving the ArkEnv CLI @arkenv/nextjs Issues or Pull Requests involving the Next.js integration for ArkEnv labels May 31, 2026
@pkg-pr-new

pkg-pr-new Bot commented May 31, 2026

Copy link
Copy Markdown

Open in StackBlitz

arkenv

npm i https://pkg.pr.new/arkenv@1108

@arkenv/bun-plugin

npm i https://pkg.pr.new/@arkenv/bun-plugin@1108

@arkenv/cli

npm i https://pkg.pr.new/@arkenv/cli@1108

@arkenv/fumadocs-ui

npm i https://pkg.pr.new/@arkenv/fumadocs-ui@1108

@arkenv/nextjs

npm i https://pkg.pr.new/@arkenv/nextjs@1108

@arkenv/vite-plugin

npm i https://pkg.pr.new/@arkenv/vite-plugin@1108

commit: d42fd61

@arkenv-bot

arkenv-bot Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor Author

📦 Bundle Size Report

Package Size Limit Diff Status
@arkenv/bun-plugin 2.4 kB 2.44 kB <0.1%
arkenv 1.73 kB 1.95 kB <0.1%
arkenv/standard 1.01 kB 1.07 kB -
arkenv/core 441 B 500 B -
@arkenv/nextjs 1003 B 2.93 kB -51.8%
@arkenv/nextjs/shared 1022 B 1.46 kB -50.9%
@arkenv/nextjs/server 1.06 kB 1.95 kB -47.9%
@arkenv/nextjs/client 1.05 kB 1.95 kB -48.4%
@arkenv/nextjs/config 1.6 kB 1.95 kB -21.3%
@arkenv/vite-plugin 1.91 kB 2.93 kB <0.1%

All size limits passed!

@arkenv-bot

arkenv-bot Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor Author

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (Asia/Almaty)
arkenv Ready Ready Preview, Comment May 31 2026, 2:11 PM (Asia/Almaty)

@arkenv-bot
arkenv-bot Bot force-pushed the changeset-release/main branch from eb680e4 to d42fd61 Compare May 31, 2026 09:08
@yamcodes
yamcodes merged commit ce6a96e into main May 31, 2026
22 checks passed
@yamcodes
yamcodes deleted the changeset-release/main branch May 31, 2026 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

@arkenv/bun-plugin Issues or Pull Requests involving the Bun plugin for ArkEnv @arkenv/cli Issues or Pull Requests involving the ArkEnv CLI @arkenv/nextjs Issues or Pull Requests involving the Next.js integration for ArkEnv @arkenv/vite-plugin Issues or Pull Requests involving the Vite plugin for ArkEnv arkenv Changes to the `arkenv` npm package. docs Adds or changes documentation, or acts as documentation in and of itself

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant