FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

ci(create): assert the monorepo library emits declarations by wan9chi · Pull Request #2171 · voidzero-dev/vite-plus · GitHub

ci(create): assert the monorepo library emits declarations - #2171

Merged
wan9chi merged 1 commit into
mainfrom
ci/monorepo-dts-gate
Jul 15, 2026
Merged

ci(create): assert the monorepo library emits declarations#2171
wan9chi merged 1 commit into
mainfrom
ci/monorepo-dts-gate

Conversation

wan9chi commented Jul 14, 2026

Copy link
Copy Markdown
Member

Summary

Adds a declaration-output assertion to the vp create monorepo CI jobs: after vp run ready, packages/utils/dist/index.d.mts must exist.

Why

A green vp run ready only proves the build exited 0. Declaration generation can degrade silently — generator skipped, output landing in the wrong place — while the exit code stays clean, which would ship type-less libraries from every freshly created monorepo without CI noticing.

Since #2168 the monorepo template scaffolds TypeScript 7, so the utils library's vp pack runs dts through tsdown's native-compiler (tsgo) path — the machinery that broke in #2160. This assertion turns the four create jobs into an end-to-end regression gate for that path across pnpm/npm/yarn/bun.

Notes

  • The emitted file is index.d.mts (paired with the ESM index.mjs bundle), not index.d.ts — verified against a local-registry build of main:
    ℹ Emit types with typescript@7.0.2
    ℹ dist/index.mjs    0.10 kB
    ℹ dist/index.d.mts  0.08 kB
    

🤖 Generated with Claude Code

A green `vp run ready` proves the build exited 0, but declaration
generation can degrade silently (skipped generator, wrong output
location) while the exit code stays clean. Pin the deliverable: after
the build, packages/utils/dist/index.d.mts must exist.

With the monorepo template now scaffolding TypeScript 7 (#2168), this
makes the create jobs an end-to-end regression gate for the native
compiler (tsgo) dts path that broke in #2160. Verified against a real
local-registry build: `vp pack` emits dist/index.d.mts (not .d.ts)
next to the ESM bundle.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

netlify Bot commented Jul 14, 2026
edited
Loading

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 71c13e8
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a56013cc4680b0007d275b9

wan9chi added test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: sfw test: create-e2e Run `vp create` e2e tests labels Jul 14, 2026
wan9chi requested a review from cpojer July 14, 2026 09:48
wan9chi merged commit 7b8f564 into main Jul 15, 2026
133 of 164 checks passed
wan9chi deleted the ci/monorepo-dts-gate branch July 15, 2026 06:13
wan9chi added a commit that referenced this pull request Jul 16, 2026
)

Release vite-plus v0.2.5: Cleaner environments and more reliable
workflows.

This release adds cleanup and package version commands, supports
TypeScript 7 declaration generation, reduces the standalone binary size,
and hardens task tracking, CLI output, package-manager routing, Docker
workflows, and project scaffolding.

### Highlights

- Add `vp env clean` to remove unused managed Node.js runtimes and
package-manager caches
([#2003](#2003)), by
@liangmiQwQ
- Add `vp pm version`, forwarding native version commands to npm, pnpm,
Yarn, and Bun
([#2127](#2127)), by
@jong-kyung
- Add TypeScript 7 support to declaration generation and generated
library projects with tsdown `0.22.7`
([#2104](#2104),
[#2168](#2168)), by
@wan9chi
- Improve automatic task input tracking for Bun on macOS, Linux
containers with constrained `/dev/shm`, and Windows process images,
reduce Windows backing-file allocation, and clarify task wait failures
([vite-task#515](voidzero-dev/vite-task#515),
[vite-task#518](voidzero-dev/vite-task#518),
[vite-task#523](voidzero-dev/vite-task#523),
[vite-task#524](voidzero-dev/vite-task#524),
[vite-task#542](voidzero-dev/vite-task#542),
[#2126](#2126),
[#2167](#2167)), by
@wan9chi
- Prevent CLI diagnostics from truncating or panicking when inherited
standard output or error is nonblocking
([#2172](#2172),
[#2173](#2173)), by
@wan9chi

### Fixes & Enhancements

- Reduce standalone `vp` binary sizes by about 5% on Linux and macOS and
19% on Windows
([#2043](#2043)), by
@fengmk2
- Keep the Docker image non-root by default while allowing passwordless
`sudo` for Playwright browser dependencies and system packages
([#2088](#2088)), by
@fengmk2
- Ignore `.env` and `.env.*` in generated projects while keeping
`.env.example` trackable
([#2095](#2095)), by
@forehalo
- Create `vp-use.cmd` after the Windows environment bin directory is
ready and document its Command Prompt-only usage
([#2128](#2128)), by
@liangmiQwQ
- Render user-facing process statuses and paths without Rust debug
wrappers ([#2130](#2130)),
by @liangmiQwQ
- Make `vp dedupe` fall back to `yarn install` with a warning on Yarn
Classic ([#2139](#2139)),
by @jong-kyung
- Ensure package-manager child processes, including Bun, can always find
the managed Node.js runtime
([#2158](#2158)), by
@BlankParticle

### Docs

- Update the release-manager post-release guidance
([#2096](#2096)), by
@wan9chi
- Add Windows to the Namespace sponsor credit
([#2108](#2108)), by
@fengmk2
- Document installer and runtime environment variables, registry
settings, TLS options, and precedence rules
([#2114](#2114)), by
@yukinoshi
- Mark shell examples in `CONTRIBUTING.md` as Bash code blocks
([#2159](#2159)), by
@BlankParticle

### Chore

- Assign prepared release PRs to the workflow actor
([#2094](#2094)), by
@wan9chi
- Complete the PTY snapshot migration and harden the runner, fixtures,
release-version redaction, registry teardown, timeouts, and Linux
parallelism
([#2071](#2071),
[#2080](#2080),
[#2084](#2084),
[#2099](#2099),
[#2102](#2102),
[#2103](#2103),
[#2107](#2107),
[#2109](#2109),
[#2115](#2115),
[#2117](#2117),
[#2118](#2118),
[#2119](#2119),
[#2120](#2120),
[#2121](#2121),
[#2131](#2131),
[#2132](#2132),
[#2134](#2134),
[#2137](#2137),
[#2138](#2138),
[#2141](#2141),
[#2143](#2143),
[#2145](#2145),
[#2182](#2182)), by
@fengmk2 and @wan9chi
- Expose Vite+ managed binaries consistently inside snapshot fixtures
([#2110](#2110)), by
@liangmiQwQ
- Exclude PTY snapshot configuration from Vitest discovery and remove
the legacy snapshot infrastructure
([#2135](#2135),
[#2146](#2146)), by
@jong-kyung
- Modernize Windows runners, registry bridge publishing, native size
reporting, merge-base comparisons, and package-manager installation CI
([#2083](#2083),
[#2100](#2100),
[#2105](#2105),
[#2106](#2106),
[#2112](#2112),
[#2133](#2133)), by
@fengmk2
- Verify that created monorepo libraries emit declarations in CI
([#2171](#2171)), by
@wan9chi

### Bundled Versions

| Tool | Version | Source |
| --------------- | ------- |
-----------------------------------------------------------------------
|
| vite | `8.1.4` |
[`a477454`](vitejs/vite@a477454)
|
| rolldown | `1.1.5` |
[`f09947a`](rolldown/rolldown@f09947a)
|
| tsdown | `0.22.7` | [npm](https://npmx.dev/package/tsdown/v/0.22.7) |
| vitest | `4.1.10` | [npm](https://npmx.dev/package/vitest/v/4.1.10) |
| oxlint | `1.73.0` | [npm](https://npmx.dev/package/oxlint/v/1.73.0) |
| oxlint-tsgolint | `0.24.0` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/0.24.0) |
| oxfmt | `0.58.0` | [npm](https://npmx.dev/package/oxfmt/v/0.58.0) |

### Upgrade

```bash
vp upgrade
```

### New Contributors

Welcome @yukinoshi and @BlankParticle.

**Full Changelog**:
v0.2.4...v0.2.5

---

Merging this PR will trigger the release workflow.

---------

Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com>
Co-authored-by: wan9chi <dk4rest@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test: create-e2e Run `vp create` e2e tests test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL