Skip to content

Rename from ark.env to ArkEnv#102

Merged
yamcodes merged 8 commits intomainfrom
rename
Sep 3, 2025
Merged

Rename from ark.env to ArkEnv#102
yamcodes merged 8 commits intomainfrom
rename

Conversation

@yamcodes
Copy link
Owner

@yamcodes yamcodes commented Sep 3, 2025

Summary by CodeRabbit

  • Refactor
    • Renamed project and package from ark.env to arkenv; update imports and usage to arkenv(...) and references to 'arkenv'. Updated docs base URL.
  • Documentation
    • Rebranded across README, guides, quickstart, examples, docs site titles/links, badges, and logos. Updated StackBlitz and GitHub links.
  • Tests
    • Adjusted tests to the new arkenv API.
  • Chores
    • Updated repository URLs, workspace settings, and manifests. Added clean and test scripts. Updated changelogs and configuration to reflect the new name.

@changeset-bot
Copy link

changeset-bot bot commented Sep 3, 2025

🦋 Changeset detected

Latest commit: 9c6a352

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
arkenv Minor
@arkenv/vite-plugin Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link

vercel bot commented Sep 3, 2025

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

Project Deployment Preview Comments Updated (UTC)
ark-env-docs Ready Ready Preview Comment Sep 3, 2025 6:41pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 3, 2025

Warning

Rate limit exceeded

@yamcodes has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 8 minutes and 33 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 7b636d1 and 9c6a352.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (25)
  • .changeset/better-buses-pay.md (1 hunks)
  • .changeset/icy-berries-lie.md (1 hunks)
  • README.md (3 hunks)
  • apps/docs/app/global-error.tsx (1 hunks)
  • apps/docs/app/styles/base.css (1 hunks)
  • apps/docs/app/styles/components/github-alerts.css (1 hunks)
  • apps/docs/components/ui/button.tsx (1 hunks)
  • apps/docs/components/ui/toast.tsx (1 hunks)
  • apps/docs/content/docs/guides/environment-configuration.mdx (3 hunks)
  • apps/docs/content/docs/index.mdx (3 hunks)
  • apps/docs/content/docs/quickstart.mdx (4 hunks)
  • apps/docs/middleware.ts (1 hunks)
  • biome.json (5 hunks)
  • examples/README.md (1 hunks)
  • examples/basic/index.ts (1 hunks)
  • examples/with-bun/index.ts (1 hunks)
  • package.json (2 hunks)
  • packages/arkenv/README.md (1 hunks)
  • packages/arkenv/package.json (3 hunks)
  • packages/arkenv/src/define-env.test.ts (5 hunks)
  • packages/arkenv/src/define-env.ts (1 hunks)
  • packages/arkenv/src/index.ts (1 hunks)
  • packages/vite-plugin/README.md (1 hunks)
  • packages/vite-plugin/package.json (2 hunks)
  • packages/vite-plugin/src/index.ts (2 hunks)

Walkthrough

Renames the project and package from ark.env to arkenv across repository metadata, documentation, examples, and code. Updates import paths and API usage from ark.env(...)/ark.env.env(...) to arkenv(...). Adjusts docs site metadata/constants and Vite plugin references. Removes old package README, adds new one, and updates manifests and scripts.

Changes

Cohort / File(s) Summary
Repo config and workspace
\.changeset/config.json, package.json, arkenv.code-workspace
Update repository/package names, scripts, and URLs from ark.env to arkenv; tweak scripts (add clean/test), dev filter, release path, and formatting.
Core package rename + docs/tests
packages/arkenv/package.json, packages/arkenv/README.md, packages/arkenv/CHANGELOG.md, packages/arkenv/src/env.test.ts, packages/ark\.env/README.md
Rename npm package to arkenv; update metadata/links; add new README; adjust changelog history to arkenv; switch tests to call arkenv(...); remove old ark.env README.
Docs app branding
apps/docs/README.md, apps/docs/.env.example, apps/docs/next.config.ts, apps/docs/config/constants.ts, apps/docs/app/(home)/page.tsx, apps/docs/app/docs/[[...slug]]/page.tsx, apps/docs/components/page/logo.tsx, apps/docs/components/page/stackblitz-demo.tsx, apps/docs/content/docs/*
Replace ark.env with arkenv in titles, descriptions, links, repo slugs, base URL, StackBlitz default, and code samples; no structural logic changes.
Top-level docs
README.md, CONTRIBUTING.md, THANKS.md
Rebrand references, links, and examples to arkenv; update clone URLs and text formatting.
Examples content
examples/README.md, examples/basic/README.md, examples/with-bun/README.md
Update example docs, titles, and links to arkenv; adjust inline code and guidance.
Examples code and deps
examples/basic/index.ts, examples/basic/package.json, examples/with-bun/index.ts, examples/with-bun/package.json, examples/with-vite-react-ts/package.json
Switch imports and initializers from ark.env to arkenv; rename dependency keys to arkenv with same versions.
Vite plugin
packages/vite-plugin/src/index.ts, packages/vite-plugin/package.json, packages/vite-plugin/README.md, packages/vite-plugin/CHANGELOG.md
Update runtime callsites to arkenv(...); adjust metadata, dependency name, keywords, links; docs/changelog references moved to arkenv.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Developer App
  participant ARK as arkenv (library)
  participant ENV as process.env

  Dev->>ARK: arkenv({ schema, defaults })
  ARK->>ENV: read variables
  ARK-->>Dev: validated env (typed) / error on invalid

  note over ARK,Dev: API surface: direct function arkenv(...) replaces ark.env(...).
Loading
sequenceDiagram
  autonumber
  participant Vite as Vite Config
  participant Load as loadEnv()
  participant ARK as arkenv()
  participant ENV as process.env

  Vite->>Load: loadEnv(mode, cwd)
  Load-->>Vite: raw env map
  Vite->>ARK: arkenv(options, rawEnv)
  ARK->>ENV: resolve/merge as needed
  ARK-->>Vite: typed env for plugin/config
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

I thump with joy—new name, same cheer,
From burrow to build, arkenv is here!
I nibble the docs, links crisp and clean,
Hop through examples—polished and keen.
With vite on the breeze and tests that hum,
Renamed, refreshed—let the carrots come! 🥕🐇

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch rename

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (6)
apps/docs/content/docs/index.mdx (1)

33-39: Incorrect import in example snippet.
You call arkenv(...) but import ark as the default. Import the default as arkenv.

-import ark, { host, port } from 'arkenv';
+import arkenv, { host, port } from 'arkenv';
examples/basic/index.ts (1)

1-7: Missing import for arkenv.
arkenv({...}) is used but not imported, which will fail at compile time.

-import { host, port } from "arkenv";
+import arkenv, { host, port } from "arkenv";
 
 const env = arkenv({
   HOST: host.default("localhost"),
   PORT: port.default("3000"),
   NODE_ENV: "'development' | 'production' | 'test' = 'development'",
 });
examples/with-bun/README.md (1)

83-86: Fix output value to match the earlier .env example (“new_value”).

Currently the guide echoes new_value but shows my_value in the output.

-    my_value
+    new_value
README.md (1)

52-66: Quickstart import/usage mismatch (ark vs arkenv)

The snippet imports ark as the default but calls arkenv(...). Align the import with the call.

-import ark, { host, port } from 'arkenv';
+import arkenv, { host, port } from 'arkenv';

-const env = arkenv({
+const env = arkenv({
   HOST: host,
   PORT: port,
   NODE_ENV: "'development' | 'production' | 'test'",
 });
apps/docs/content/docs/guides/environment-configuration.mdx (1)

238-244: Fix import/initializer mismatch in feature flags example

Align the default import with the arkenv(...) call.

-import ark from 'arkenv';
+import arkenv from 'arkenv';

-export const env = arkenv({
+export const env = arkenv({
packages/arkenv/CHANGELOG.md (1)

50-56: Fix example: default import alias should be arkenv

The code imports ark but calls arkenv(...). Align the alias to prevent confusion.

-  import ark from "arkenv";
+  import arkenv, { host, port } from "arkenv";

-  const env = arkenv({
+  const env = arkenv({
     HOST: host,
     PORT: port,
   });
🧹 Nitpick comments (23)
apps/docs/next.config.ts (1)

12-12: Make comment resilient to future base path changes.

Reference the constant instead of the literal to avoid drift.

Apply:

-// Will redirect localhost:3000 to localhost:3000/arkenv
+// Redirect "/" to BASE_URL (e.g., /arkenv) for local dev
apps/docs/components/page/logo.tsx (1)

17-17: Centralize product name to prevent future rename drift.

Source the display string from a config constant so branding stays consistent.

Within this file:

+import { PRODUCT_NAME_DISPLAY } from "~/config/constants";
 ...
-			arkenv
+			{PRODUCT_NAME_DISPLAY}

If not present, define in apps/docs/config/constants.ts:

export const PRODUCT_NAME_DISPLAY = "arkenv";
packages/arkenv/README.md (1)

1-7: Enhance package README with install/usage and migration note.

Adding brief “Install”, “Quickstart”, and “Migration (ark.env → arkenv)” sections will help users landing directly on this package.

I can draft a minimal template aligned with your docs/examples if you want.

apps/docs/.env.example (1)

22-23: Confirm Sentry slugs are intended.
SENTRY_PROJECT example is “arkenv” but SENTRY_ORG example still shows “ark-env”. If the org was renamed, update the example to match; otherwise, keep as-is.

If renamed, apply:

-# Example: ark-env
+# Example: arkenv
packages/vite-plugin/src/index.ts (2)

7-15: Type-level cleanup (optional).
The generic export default <T extends EnvSchema>(options: EnvSchema<T>) is a bit confusing since EnvSchema already wraps T. Consider constraining T to the record shape and using EnvSchema<T> only for options to improve readability.

For example:

-type EnvSchema< T extends Record<string, string | undefined> = Record<string, string | undefined> > = type.validate<T>;
+type EnvShape = Record<string, string | undefined>;
+type EnvSchema<T extends EnvShape = EnvShape> = type.validate<T>;

-export default <T extends EnvSchema>(options: EnvSchema<T>): Plugin => ({
+export default <T extends EnvShape>(options: EnvSchema<T>): Plugin => ({

15-19: Optional: run validation early in the Vite lifecycle.
If you want env validation before other plugins, add enforce: "pre" to the plugin object.

 export default <T extends EnvSchema>(options: EnvSchema<T>): Plugin => ({
   name: "@arkenv/vite-plugin",
+  enforce: "pre",
   config(_config, { mode }) {
     arkenv(options, loadEnv(mode, process.cwd(), ""));
   },
 });
apps/docs/content/docs/index.mdx (1)

15-16: Verify “single dependency” claim/link.
The note links to chalk@5.4.1. If ArkEnv’s only dependency is not chalk, update the text/link to the actual dep or remove the parenthetical.

apps/docs/components/page/stackblitz-demo.tsx (1)

13-15: Harden the fallback slug to ignore empty/whitespace env values.

An empty NEXT_PUBLIC_STACKBLITZ_GITHUB_REPO_SLUG won’t trigger the nullish coalescing. Trim and treat empty as unset.

 useEffect(() => {
   if (!embedRef.current) return;
-  sdk.embedGithubProject(
-    embedRef.current,
-    process.env.NEXT_PUBLIC_STACKBLITZ_GITHUB_REPO_SLUG ??
-      "yamcodes/arkenv/tree/main/examples/basic",
+  const slug =
+    (process.env.NEXT_PUBLIC_STACKBLITZ_GITHUB_REPO_SLUG ?? "")
+      .trim() || "yamcodes/arkenv/tree/main/examples/basic";
+  sdk.embedGithubProject(
+    embedRef.current,
+    slug,
     {
       openFile: "index.ts",
examples/with-bun/README.md (2)

8-12: Hyphenate “Type-safe”.

Minor style fix for consistency.

-- Typesafe environment configuration
+- Type-safe environment configuration

45-51: Add missing import in the snippet for clarity.

Readers may copy/paste; include the import of arkenv.

 // index.ts
+import arkenv from "arkenv";
 const env = arkenv({
     // other definitions...
     MY_ENV_VAR: "string"
 });
packages/arkenv/src/env.test.ts (1)

27-35: Isolate env mutations in tests

Setting process.env.TEST_STRING and process.env.WRONG_TYPE can leak across tests. Prefer vi.stubEnv with cleanup, or snapshot/restore around each test.

Example:

import { afterEach, vi } from "vitest";
afterEach(() => {
  vi.unstubAllEnvs();
});

Or manually save/restore the specific keys.

Confirm your Vitest version supports vi.stubEnv (Vitest ≥0.34). If not, use manual save/restore.

Also applies to: 54-68

apps/docs/app/(home)/page.tsx (1)

12-15: Brand casing nit: consider “ArkEnv” in title/description

Elsewhere the brand is “ArkEnv”. For consistency, consider:

  • title: “ArkEnv: Typesafe Environment Variables”
  • description: “ArkEnv is a tool…”
package.json (1)

8-12: Avoid moving README during release (use copy instead)

mv README.md packages/arkenv mutates the working tree and can leave the root README missing locally. Prefer copying.

-    "release": "mv README.md packages/arkenv && pnpm run build:packages && changeset publish",
+    "release": "cp README.md packages/arkenv/README.md && pnpm run build:packages && changeset publish",

Optionally, make packages/arkenv/README.md the source of truth and remove the copy step by keeping that file in VCS.

packages/arkenv/CHANGELOG.md (1)

104-107: Fix markdownlint MD037 (no space inside emphasis)

Remove the leading space inside the emphasis markers.

-  ** ArkEnv now supports TypeScript inference** - check out this quick example:
+  **ArkEnv now supports TypeScript inference** - check out this quick example:
packages/arkenv/package.json (1)

20-21: Test script coupling to root project

pnpm -w test --project arkenv assumes a workspace-level Vitest project named "arkenv". If that project name changes, tests will silently skip. Consider a local vitest config to make this self-contained.

packages/vite-plugin/package.json (2)

31-35: Deduplicate "arkenv" keyword.

"arkenv" appears twice in keywords.

   "keywords": [
     "arktype",
-    "arkenv",
-    "arkenv",
+    "arkenv",
     "environment",
     "variables",
     "vite",
     "plugin"
   ],

41-46: Drop rimraf; use tsup --clean.

Avoid an extra tool and potential missing devDependency.

   "scripts": {
-    "build": "rimraf dist && tsup",
+    "build": "tsup --clean",
     "prepack": "pnpm run build",
     "typecheck": "tsc --noEmit",
     "clean": "rimraf dist node_modules"
   },

If you prefer keeping rimraf, add it to devDependencies to ensure prepack works outside the workspace root.

examples/with-bun/package.json (1)

10-10: Bump arkenv to the latest version (0.1.5) in this example

examples/with-bun/package.json:

-    "arkenv": "^0.1.3",
+    "arkenv": "^0.1.5",

Aligns with the package’s current version and other examples.

examples/basic/package.json (1)

11-12: Align arkenv version across examples
Update arkenv from "^0.1.3" to "^0.1.4" in examples/basic and examples/with-bun to match with-vite-react-ts. Verify arkenv@0.1.4 publication before merging.

examples/with-vite-react-ts/package.json (1)

12-13: Bump plugin to match monorepo version.

The plugin package.json shows 0.0.3; update the example to reduce drift.

-    "@arkenv/vite-plugin": "^0.0.2",
+    "@arkenv/vite-plugin": "^0.0.3",
examples/basic/README.md (3)

9-9: Hyphenate “Type-safe”.

Minor wording polish.

-- Typesafe environment configuration
+- Type-safe environment configuration

77-79: Link to the docs site instead of the repo.

Use the primary docs URL for a smoother path from the example.

-- [ArkEnv docs](https://github.com/yamcodes/arkenv)
+- [ArkEnv docs](https://yam.codes/arkenv)

39-44: Consider showing the import in the snippet.

Readers may not know how arkenv is imported (default vs named). Add one line above the call for clarity.

I can update the snippet once you confirm the intended import form (e.g., default import arkenv from 'arkenv' vs named import { arkenv } from 'arkenv').

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between c9354a4 and 7b636d1.

⛔ Files ignored due to path filters (3)
  • examples/basic/package-lock.json is excluded by !**/package-lock.json
  • examples/with-vite-react-ts/package-lock.json is excluded by !**/package-lock.json
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (36)
  • .changeset/config.json (1 hunks)
  • CONTRIBUTING.md (3 hunks)
  • README.md (3 hunks)
  • THANKS.md (1 hunks)
  • apps/docs/.env.example (2 hunks)
  • apps/docs/README.md (1 hunks)
  • apps/docs/app/(home)/page.tsx (1 hunks)
  • apps/docs/app/docs/[[...slug]]/page.tsx (1 hunks)
  • apps/docs/components/page/logo.tsx (1 hunks)
  • apps/docs/components/page/stackblitz-demo.tsx (1 hunks)
  • apps/docs/config/constants.ts (1 hunks)
  • apps/docs/content/docs/README.md (1 hunks)
  • apps/docs/content/docs/examples.mdx (2 hunks)
  • apps/docs/content/docs/guides/environment-configuration.mdx (3 hunks)
  • apps/docs/content/docs/index.mdx (3 hunks)
  • apps/docs/content/docs/quickstart.mdx (4 hunks)
  • apps/docs/next.config.ts (1 hunks)
  • arkenv.code-workspace (1 hunks)
  • examples/README.md (1 hunks)
  • examples/basic/README.md (4 hunks)
  • examples/basic/index.ts (1 hunks)
  • examples/basic/package.json (1 hunks)
  • examples/with-bun/README.md (4 hunks)
  • examples/with-bun/index.ts (1 hunks)
  • examples/with-bun/package.json (1 hunks)
  • examples/with-vite-react-ts/package.json (1 hunks)
  • package.json (2 hunks)
  • packages/ark.env/README.md (0 hunks)
  • packages/arkenv/CHANGELOG.md (2 hunks)
  • packages/arkenv/README.md (1 hunks)
  • packages/arkenv/package.json (3 hunks)
  • packages/arkenv/src/env.test.ts (4 hunks)
  • packages/vite-plugin/CHANGELOG.md (2 hunks)
  • packages/vite-plugin/README.md (1 hunks)
  • packages/vite-plugin/package.json (2 hunks)
  • packages/vite-plugin/src/index.ts (2 hunks)
💤 Files with no reviewable changes (1)
  • packages/ark.env/README.md
🧰 Additional context used
🧬 Code graph analysis (3)
examples/with-bun/index.ts (1)
packages/arkenv/src/env.ts (1)
  • env (20-42)
packages/arkenv/src/env.test.ts (1)
packages/arkenv/src/env.ts (1)
  • env (20-42)
examples/basic/index.ts (1)
packages/arkenv/src/env.ts (1)
  • env (20-42)
🪛 LanguageTool
examples/with-bun/README.md

[grammar] ~8-~8: There might be a mistake here.
Context: ...hat's inside? The example demonstrates: - Setting up environment variables with Ar...

(QB_NEW_EN)


[grammar] ~9-~9: There might be a mistake here.
Context: ...ing up environment variables with ArkEnv - Using default values - Typesafe environm...

(QB_NEW_EN)

THANKS.md

[style] ~6-~6: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...y, please check it out. Seriously, it's amazing! Thank you 🙏

(AWESOME)

apps/docs/content/docs/index.mdx

[grammar] ~20-~20: There might be a mistake here.
Context: ...n be error-prone. Common issues include: - Missing environment variables causing ru...

(QB_NEW_EN)


[grammar] ~21-~21: There might be a mistake here.
Context: ...onment variables causing runtime crashes - Type mismatches between expected and act...

(QB_NEW_EN)


[grammar] ~22-~22: There might be a mistake here.
Context: ...tches between expected and actual values - Lack of validation for critical configur...

(QB_NEW_EN)


[grammar] ~23-~23: There might be a mistake here.
Context: ...of validation for critical configuration - No autocomplete or type hints in your ID...

(QB_NEW_EN)

examples/basic/README.md

[grammar] ~8-~8: There might be a mistake here.
Context: ...hat's inside? The example demonstrates: - Setting up environment variables with Ar...

(QB_NEW_EN)


[grammar] ~9-~9: There might be a mistake here.
Context: ...ing up environment variables with ArkEnv - Using default values - Typesafe environm...

(QB_NEW_EN)

README.md

[grammar] ~49-~49: There might be a mistake here.
Context: ... ```

## Quickstart > [!TIP] > Find more examples in the [examples](h...

(QB_NEW_EN)

🪛 GitHub Actions: tests
packages/vite-plugin/src/index.ts

[error] 17-17: tsup build failed for @arkenv/vite-plugin: TypeScript error TS2304: Cannot find name 'arkenv'.

packages/arkenv/src/env.test.ts

[error] 30-30: pnpm test failed: ReferenceError: arkenv is not defined in src/env.test.ts (line 30). 4 tests failed: env > should validate string env variables; env > should throw when required env variable is missing; env > should throw when env variable has wrong type; env > should validate against a custom environment.

🪛 GitHub Check: test (macos-latest)
packages/arkenv/src/env.test.ts

[failure] 30-30: src/env.test.ts > env > should validate string env variables
ReferenceError: arkenv is not defined
❯ src/env.test.ts:30:15


[failure] 76-76: src/env.test.ts > env > should validate against a custom environment
ReferenceError: arkenv is not defined
❯ src/env.test.ts:76:27

🪛 GitHub Check: test (ubuntu-latest)
packages/arkenv/src/env.test.ts

[failure] 30-30: src/env.test.ts > env > should validate string env variables
ReferenceError: arkenv is not defined
❯ src/env.test.ts:30:15


[failure] 76-76: src/env.test.ts > env > should validate against a custom environment
ReferenceError: arkenv is not defined
❯ src/env.test.ts:76:27

🪛 markdownlint-cli2 (0.17.2)
packages/arkenv/CHANGELOG.md

106-106: Spaces inside emphasis markers

(MD037, no-space-in-emphasis)

🔇 Additional comments (28)
arkenv.code-workspace (1)

8-10: Workspace entry rename approved; no residual ark.env references found. Checks confirm packages/arkenv exists, the legacy packages/ark.env folder is gone, and no stale references remain.

.changeset/config.json (1)

3-3: Changelog repo rename LGTM.

Matches the repo move to yamcodes/arkenv.

apps/docs/config/constants.ts (1)

1-1: BASE_URL rename LGTM – no stale “/ark.env” references detected.

apps/docs/app/docs/[[...slug]]/page.tsx (1)

85-85: Metadata suffix rename LGTM.

Consistent with the new brand.

apps/docs/content/docs/examples.mdx (2)

4-4: Description rename LGTM.


18-24: Links updated correctly; no remaining ark.env references found.

apps/docs/content/docs/README.md (1)

1-5: LGTM — rename and links look consistent.
Branding, welcome text, and docsite URL are correctly updated to ArkEnv.

apps/docs/.env.example (1)

2-7: LGTM on repo/StackBlitz examples.
Examples now point to yamcodes/arkenv and the basic example path. No issues.

examples/with-bun/README.md (1)

53-59: Confirm doc link is correct post-rename.

Double-check the anchor path resolves under /arkenv.

THANKS.md (1)

5-6: LGTM — branding updated consistently.

apps/docs/README.md (1)

1-5: LGTM — title and links reflect ArkEnv.

Optionally verify the new path is live.

CONTRIBUTING.md (3)

1-4: LGTM — CONTRIBUTING updated for ArkEnv.

Clone path and directory name look correct.


58-58: Confirm license line matches the repo’s LICENSE file.

If the license changed during rename, update this note accordingly.


18-20: No leftover references to ark.env found
Ran a recursive grep across the repository—no occurrences of “ark.env” remain.

packages/vite-plugin/CHANGELOG.md (1)

11-16: LGTM: links and package name updated to arkenv

The repository links and package tag renames look correct and consistent.

Also applies to: 23-23, 33-33

README.md (1)

2-9: Badges/links: rename consistency looks good

Top hero link, Actions badge, bundle size, and npm badges correctly target arkenv. No action needed.

Also applies to: 6-9

examples/README.md (2)

1-11: LGTM: examples README matches new branding

Title, descriptions, and table formatting read well and consistently use “ArkEnv”.


14-29: Nice addition: contribution guide for examples

The structure checklist is clear and useful.

apps/docs/content/docs/guides/environment-configuration.mdx (1)

177-177: Branding text LGTM

The section title correctly reflects the rename.

apps/docs/content/docs/quickstart.mdx (3)

11-12: Install snippet LGTM

Package names reflect the new branding.


29-29: Reference update LGTM

The ArkType reference reads well post-rename.


121-122: Card copy LGTM

The description now correctly references arkenv.

package.json (2)

2-5: Monorepo rename LGTM

Workspace name and layout look consistent with the package rename.


29-31: pnpm config formatting LGTM

Inline arrays are fine and equivalent.

packages/arkenv/CHANGELOG.md (1)

61-62: Confirm named export exists or adjust wording

If env is not a named export, replace with the actual named exports (e.g., { host, port }) or document the recommended import forms. If it is exported, ignore.

Would you like me to scan the package entry to confirm named exports and update the snippet accordingly?

packages/arkenv/package.json (3)

2-3: Package rename LGTM

Name and module type look correct.


8-9: Description LGTM

Clear and aligned with branding.


32-38: Repository metadata LGTM

Homepage, repo URL, and bugs path match the new repo.

yamcodes and others added 3 commits September 3, 2025 23:32
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
- Renamed `ark.env` package to `arkenv`
- Updated `@arkenv/vite-plugin` to use `arkenv`
- Updated main export from `env` to `defineEnv`
- No user code changes required
@yamcodes yamcodes merged commit dfdc17f into main Sep 3, 2025
7 checks passed
@yamcodes yamcodes deleted the rename branch September 3, 2025 18:44
@github-actions github-actions bot mentioned this pull request Sep 3, 2025
yamcodes pushed a commit that referenced this pull request Sep 3, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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.2.0

### Minor Changes

- Rename from `ark.env` to `arkenv`
_[`#102`](#102)
[`dfdc17f`](dfdc17f)
[@yamcodes](https://github.com/yamcodes)_

    BREAKING CHANGE:

Package renamed from `ark.env` to `arkenv`, main export renamed from
`env` to `defineEnv`.

    Before:

    ```ts
    import ark, { host, port } from "ark.env";
    const env = ark.env({
      HOST: host,
      PORT: port,
    });
    ```

    After:

    ```ts
    import { defineEnv, host, port } from "arkenv";
    const env = defineEnv({
      HOST: host,
      PORT: port,
    });
    ```

## @arkenv/vite-plugin@0.0.4

### Patch Changes

- Use new `arkenv` package
_[`#102`](#102)
[`dfdc17f`](dfdc17f)
[@yamcodes](https://github.com/yamcodes)_

This package has been updated to use the new `arkenv` package. No
changes from your side are required.

<details><summary>Updated 1 dependency</summary>

<small>


[`dfdc17f`](dfdc17f)

</small>

-   `arkenv@0.2.0`

</details>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant