Skip to content

feat: v5 rename outputs#6689

Merged
johnjenkins merged 32 commits intov5from
v5-rename-outputs
Apr 29, 2026
Merged

feat: v5 rename outputs#6689
johnjenkins merged 32 commits intov5from
v5-rename-outputs

Conversation

@johnjenkins
Copy link
Copy Markdown
Contributor

What is the current behavior?

GitHub Issue Number: N/A

What is the new behavior?

Documentation

Does this introduce a breaking change?

  • Yes
  • No

Testing

Other information

johnjenkins and others added 12 commits April 14, 2026 00:29
Major refactor to rename output targets for clarity and elevate sub-outputs
to first-class citizens, creating parity between distribution strategies.

**Naming changes:**
- `dist` → `loader-bundle` (lazy-loaded bundles + loader infrastructure)
- `dist-custom-elements` → `standalone` (individual ES modules)
- `dist-hydrate-script` → `ssr` (server-side rendering)
- `dist-collection` (sub) → `stencil-meta` (first-class, metadata output)
- `dist-types` (sub) → `types` (first-class, shared type definitions)

**Key changes:**
- Updated all constants with v5 names + deprecated v4 aliases
- Updated all type definitions (OutputTarget interfaces)
- Renamed validator files and updated their logic
- Renamed output target implementation directories
- Updated type guards with backward-compatible deprecated aliases
- Removed collectionDir/typesDir from loader-bundle config
- Updated default directories to dist/loader-bundle/, dist/standalone/, etc.

**Backward compatibility:**
- All deprecated v4 aliases maintained for migration period
- Will be removed in v6

**Documentation:**
- Added comprehensive "Output Target Modernization" section to V5_PLANNING.md
- Updated breaking changes documentation

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implement auto-generation of types and stencil-meta output targets in
production builds, elevating them to first-class citizens.

**Auto-generation behavior:**
- In production builds (!config.devMode), automatically add types and
  stencil-meta outputs if not explicitly configured by user
- User can override by explicitly adding these outputs to their config
- Both default to skipInDev: true for optimal dev performance

**Implementation:**
- Added autoGenerateOutputs() function in validateOutputTargets
- Created validate-types.ts for types output validation
- Default directories: dist/types/ and dist/stencil-meta/
- Maintains backward compatibility with explicit configs

This ensures parity between loader-bundle and standalone outputs,
as both now automatically get type definitions in production.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@johnjenkins johnjenkins requested a review from a team as a code owner April 22, 2026 19:32
@johnjenkins johnjenkins merged commit f2023f2 into v5 Apr 29, 2026
27 checks passed
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