Skip to content

fix: Resolve merge conflicts with v1 on homepage redesign - #1507

Merged
yamcodes merged 18 commits into
design/homepage-redesignfrom
cursor/fix-homepage-redesign-conflicts-d0ca
Jul 30, 2026
Merged

fix: Resolve merge conflicts with v1 on homepage redesign#1507
yamcodes merged 18 commits into
design/homepage-redesignfrom
cursor/fix-homepage-redesign-conflicts-d0ca

Conversation

@yamcodes

Copy link
Copy Markdown
Owner

Summary

Resolves the merge conflict between design/homepage-redesign and v1 (PR #1161).

The only conflict was in .changeset/pre.json: v1 added four changeset entries that the redesign branch did not have. Resolution keeps v1's full changeset list:

  • align-missing-schema-host-hints
  • align-v1-shared-missing-schema-errors
  • optional-strict-shared-v1
  • split-help-global-init-options

Merging this into design/homepage-redesign should make #1161 mergeable into v1 again.

Test plan

  • Confirmed single conflict file (.changeset/pre.json)
  • Valid JSON after resolution
  • Matching changeset markdown files present from v1
Open in Web Open in Cursor 

yamcodes and others added 18 commits July 24, 2026 12:12
## Summary
- Ports [#1481](#1481) (`dev`) to
`v1`: `pull_request_target` for labeled PR previews so fork PRs receive
Vercel secrets.
- Keeps secret hygiene (checkout PR HEAD with `persist-credentials:
false`; inject `VERCEL_*` only on Vercel CLI steps).
- Updates CONTRIBUTING preview section to match; no package/changeset
changes (workflows + docs only).

## Test plan
- [ ] Same-repo / fork PRs targeting `v1` with `preview` get a green
Actions Deploy-Preview after this merges
- [ ] Unlabeled fork PRs do not deploy


Made with [Cursor](https://cursor.com)

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
chore: verify v1 branch domain deploy (#1460)
ci: forward-port Vercel branch-domain alias wiring to v1 (#1460)
## Summary
- Forward-port of [#1490](#1490)
(`dev`) onto `v1`
- Centralize missing-schema text in `formatMissingSchemaError`
(`@arkenv/build`)
- Wire **Bun, Vite, Next, and Nuxt** through the shared helper (Vite
included on `v1` because it has a discovery miss path; `dev` Vite does
not)
- Mock registry fetch in CLI init tests (same flake fix as #1490)

## Test plan
- [x] `pnpm exec vitest run packages/build
packages/bun-plugin/src/env-module.test.ts
packages/vite-plugin/src/env-module.test.ts
packages/nuxt/src/module.test.ts
packages/arkenv/src/cli/commands/init.test.ts --run`
- [x] `pnpm run typecheck`
- [x] `pnpm run fix`
- [x] `pnpm run test -- --run` (1066 passed)


Made with [Cursor](https://cursor.com)

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
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 v1, this PR will
be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`v1` is currently in **pre mode** so this branch has prereleases rather
than normal releases. If you want to exit prereleases, run `changeset
pre exit` on `v1`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## arkenv@1.0.0-alpha.11

### Patch Changes

- #### Split `--help` options into Global and `init` sections
_[`#1487`](#1487)
[`f86887c`](f86887c)
[@yamcodes](https://github.com/yamcodes)_

List shared flags under **Global options** and scaffolding flags under
**init options**, matching the multi-command `/docs/cli` taxonomy.

  ```bash
  npx arkenv@alpha --help
  ```

  ```text
  Usage:
    arkenv init [project-name]    ...
    arkenv add host [provider]    ...

  Global options:
    --yes, -y      Skip prompts and use defaults ...
    --quiet, -q    Quiet mode ...
    --json, -j     Output structured JSON ...
    --agent        Enable non-interactive, machine-readable mode ...
    --help, -h     Show this help message

  init options:
    --example                     Specify an example name ...
    --force, -f                   Bypass checks and force scaffolding
--no-codegen Disable automatic env.gen.ts code generation ...
    --host-preset, -H <preset>    Specify a hosting provider preset ...
  ```
## @arkenv/build@0.0.2-alpha.2

### Patch Changes

- #### Make missing-schema errors short and actionable across hosts
_[`#1495`](#1495)
[`3785c6b`](3785c6b)
[@yamcodes](https://github.com/yamcodes)_

When a host cannot find an env schema, throw a consistent message that
names the expected path / `schemaPath` and points to `npx arkenv@latest
init`, without embedding a starter `env.ts` module.

  Example:

  ```text
[ArkEnv] Could not find schema file at src/env.ts or env.ts. Please
specify 'schemaPath' in ArkEnv options (or run `npx arkenv@latest
init`).
  ```

- #### Make `env/internal/shared.ts` optional in strict layout
_[`#1505`](#1505)
[`9bfe1c4`](9bfe1c4)
[@yamcodes](https://github.com/yamcodes)_

Strict layout now works with just `client.ts` and `server.ts`. Omit
`internal/shared.ts` when you have nothing to share — shared keys are
treated as empty.

  ```ts
  // env/client.ts + env/server.ts alone is enough
  export default withArkEnv(nextConfig, {
    layout: "strict",
  });
  ```

  The CLI still scaffolds `shared.ts` by default for convenience.
## @arkenv/bun-plugin@1.0.0-alpha.8

### Patch Changes

- #### Make missing-schema errors short and actionable across hosts
_[`#1495`](#1495)
[`3785c6b`](3785c6b)
[@yamcodes](https://github.com/yamcodes)_

When a host cannot find an env schema, throw a consistent message that
names the expected path / `schemaPath` and points to `npx arkenv@latest
init`, without embedding a starter `env.ts` module.

  Example:

  ```text
[ArkEnv] Could not find schema file at src/env.ts or env.ts. Please
specify 'schemaPath' in ArkEnv options (or run `npx arkenv@latest
init`).
  ```

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

<small>


[`3785c6b`](3785c6b)
[`9bfe1c4`](9bfe1c4)

</small>

- `@arkenv/build@0.0.2-alpha.2`

</details>
## @arkenv/nextjs@1.0.0-alpha.9

### Patch Changes

- #### Align missing-schema errors with short, actionable host guidance
_[`#1488`](#1488)
[`9d5bdbb`](9d5bdbb)
[@yamcodes](https://github.com/yamcodes)_

Point missing-schema errors at checked paths / `schemaPath` and `arkenv
init`, matching the Bun plugin style, without embedding starter `env.ts`
modules.

- #### Make missing-schema errors short and actionable across hosts
_[`#1495`](#1495)
[`3785c6b`](3785c6b)
[@yamcodes](https://github.com/yamcodes)_

When a host cannot find an env schema, throw a consistent message that
names the expected path / `schemaPath` and points to `npx arkenv@latest
init`, without embedding a starter `env.ts` module.

  Example:

  ```text
[ArkEnv] Could not find schema file at src/env.ts or env.ts. Please
specify 'schemaPath' in ArkEnv options (or run `npx arkenv@latest
init`).
  ```

- #### Make `env/internal/shared.ts` optional in strict layout
_[`#1505`](#1505)
[`9bfe1c4`](9bfe1c4)
[@yamcodes](https://github.com/yamcodes)_

Strict layout now works with just `client.ts` and `server.ts`. Omit
`internal/shared.ts` when you have nothing to share — shared keys are
treated as empty.

  ```ts
  // env/client.ts + env/server.ts alone is enough
  export default withArkEnv(nextConfig, {
    layout: "strict",
  });
  ```

  The CLI still scaffolds `shared.ts` by default for convenience.

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

<small>


[`3785c6b`](3785c6b)
[`9bfe1c4`](9bfe1c4)

</small>

- `@arkenv/build@0.0.2-alpha.2`

</details>
## @arkenv/nuxt@1.0.0-alpha.11

### Patch Changes

- #### Align missing-schema errors with short, actionable host guidance
_[`#1488`](#1488)
[`9d5bdbb`](9d5bdbb)
[@yamcodes](https://github.com/yamcodes)_

Point missing-schema errors at checked paths / `schemaPath` and `arkenv
init`, matching the Bun plugin style, without embedding starter `env.ts`
modules.

- #### Make missing-schema errors short and actionable across hosts
_[`#1495`](#1495)
[`3785c6b`](3785c6b)
[@yamcodes](https://github.com/yamcodes)_

When a host cannot find an env schema, throw a consistent message that
names the expected path / `schemaPath` and points to `npx arkenv@latest
init`, without embedding a starter `env.ts` module.

  Example:

  ```text
[ArkEnv] Could not find schema file at src/env.ts or env.ts. Please
specify 'schemaPath' in ArkEnv options (or run `npx arkenv@latest
init`).
  ```

- #### Make `env/internal/shared.ts` optional in strict layout
_[`#1505`](#1505)
[`9bfe1c4`](9bfe1c4)
[@yamcodes](https://github.com/yamcodes)_

Strict layout now works with just `client.ts` and `server.ts`. Omit
`internal/shared.ts` when you have nothing to share — shared keys are
treated as empty.

  ```ts
  // env/client.ts + env/server.ts alone is enough
  export default withArkEnv(nextConfig, {
    layout: "strict",
  });
  ```

  The CLI still scaffolds `shared.ts` by default for convenience.

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

<small>


[`3785c6b`](3785c6b)
[`9bfe1c4`](9bfe1c4)

</small>

- `@arkenv/build@0.0.2-alpha.2`

</details>
## @arkenv/vite-plugin@1.0.0-alpha.8

### Patch Changes

- #### Align missing-schema errors with short, actionable host guidance
_[`#1488`](#1488)
[`9d5bdbb`](9d5bdbb)
[@yamcodes](https://github.com/yamcodes)_

Point missing-schema errors at checked paths / `schemaPath` and `arkenv
init`, matching the Bun plugin style, without embedding starter `env.ts`
modules.

- #### Make missing-schema errors short and actionable across hosts
_[`#1495`](#1495)
[`3785c6b`](3785c6b)
[@yamcodes](https://github.com/yamcodes)_

When a host cannot find an env schema, throw a consistent message that
names the expected path / `schemaPath` and points to `npx arkenv@latest
init`, without embedding a starter `env.ts` module.

  Example:

  ```text
[ArkEnv] Could not find schema file at src/env.ts or env.ts. Please
specify 'schemaPath' in ArkEnv options (or run `npx arkenv@latest
init`).
  ```

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

<small>


[`3785c6b`](3785c6b)
[`9bfe1c4`](9bfe1c4)

</small>

- `@arkenv/build@0.0.2-alpha.2`

</details>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Resolve the sole conflict in .changeset/pre.json by keeping v1's
changeset entries (align-missing-schema-host-hints,
align-v1-shared-missing-schema-errors, optional-strict-shared-v1,
split-help-global-init-options).

Co-authored-by: Yam Borodetsky <hi@yam.codes>
@changeset-bot

changeset-bot Bot commented Jul 30, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 54c1a11

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

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

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

@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 github actions Pull requests that update GitHub Actions code www Improvements or additions to arkenv.js.org tests This issue or PR is about adding, removing or changing tests @arkenv/bun-plugin Issues or Pull Requests involving the Bun plugin for ArkEnv @arkenv/nextjs Issues or Pull Requests involving the Next.js integration for ArkEnv @arkenv/nuxt Issues or Pull Requests involving the Nuxt integration for ArkEnv labels Jul 30, 2026
@yamcodes
yamcodes marked this pull request as ready for review July 30, 2026 18:56
@yamcodes
yamcodes merged commit e849011 into design/homepage-redesign Jul 30, 2026
2 checks passed
@yamcodes
yamcodes deleted the cursor/fix-homepage-redesign-conflicts-d0ca branch July 30, 2026 18:56

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes — this PR merges 18 v1 commits into design/homepage-redesign. The only conflict that needed resolution was .changeset/pre.json, which correctly keeps v1's four new changeset entries (align-missing-schema-host-hints, align-v1-shared-missing-schema-errors, optional-strict-shared-v1, split-help-global-init-options).

  • CI security hardening: pull_request_target replaces pull_request for fork PR previews; secrets moved from workflow-level env to step-level injection; persist-credentials: false on checkout; explicit permissions: block; new deploy-www-manual.yml maintainer escape hatch; branch-domain aliasing for arkenv-dev / arkenv-v1 preview deployments.
  • Optional shared.ts in strict layout: isStrictLayoutDir in @arkenv/build now requires only client.ts + server.ts; resolveLayout and findSchemaPath use it; Nuxt aliases #arkenv/shared-schema to empty-shared-schema.ts stub when internal/shared.ts is absent; boot-gate.ts guards the SharedSchema load behind an existence check; removed missingSharedTsError.
  • Consistent missing-schema errors: new formatMissingSchemaError in @arkenv/build gives short, actionable messages across all hosts (Bun, Vite, Next.js, Nuxt) with npx arkenv@latest init guidance and no embedded starter modules; assertFlatSchemaFile rejects discovered strict layout directories in Vite/Bun plugins.
  • CLI --help split: options divided into Global options (--yes, --quiet, --json, --agent, --help) and init options (--example, --force, --no-codegen, --host-preset), each with independent column alignment.
  • Docs: Next.js and Nuxt strict layout pages updated to reflect optional shared.ts; CONTRIBUTING.md documents preview deployment flow.
  • Version bumps across all affected packages (arkenv@1.0.0-alpha.11, @arkenv/build@0.0.2-alpha.2, @arkenv/nextjs@1.0.0-alpha.9, @arkenv/nuxt@1.0.0-alpha.11, @arkenv/bun-plugin@1.0.0-alpha.8, @arkenv/vite-plugin@1.0.0-alpha.8) with corresponding CHANGELOG entries.

None of the code in this PR is novel — every behavioral change passed through its own v1 review before landing here. The merge is clean and the conflict resolution is correct.

Pullfrog  | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) (GPT Sol not used — the program covers this model; add its provider key to run your pick) | 𝕏

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/nextjs Issues or Pull Requests involving the Next.js integration for ArkEnv @arkenv/nuxt Issues or Pull Requests involving the Nuxt 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 github actions Pull requests that update GitHub Actions code tests This issue or PR is about adding, removing or changing tests www Improvements or additions to arkenv.js.org

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants