. Stable publishes need
- // no explicit tag: npm defaults them to `latest`.
- if (!dryRun && isPrerelease(pkg.version)) {
- await io.publish(['dist-tag', 'add', `${pkg.name}@${pkg.version}`, 'latest']);
- io.log(`[npm] ${pkg.name}@${pkg.version}: latest dist-tag updated.`);
- }
+ // #607: prerelease publishes use --tag alpha|beta|rc only. Never move
+ // `latest` onto an alpha — `latest` stays on the last stable line so
+ // `npm install @openelement/*` does not land on prerelease by default.
+ // Stable publishes keep npm's default `latest` tag.
}
export function npmPublishTag(version: string): string {
diff --git a/www/app/routes/architecture/benchmark.tsx b/www/app/routes/architecture/benchmark.tsx
index fa6ffc154..57cf60a32 100644
--- a/www/app/routes/architecture/benchmark.tsx
+++ b/www/app/routes/architecture/benchmark.tsx
@@ -81,8 +81,9 @@ export default class Benchmark extends OpenElement {
Bundle Size
- openElement ships zero runtime JS for DSD components. Islands load on-demand by
- strategy. No framework runtime in the critical path.
+ DSD components need no framework virtual DOM runtime. Client JS is emitted only when
+ islands or enhanced forms exist; pure-static pages stay script-free. Islands load
+ on-demand by strategy.