Tooling workflow
Gluon uses one public workflow from project creation through production builds.
Author and diagnose
@gluonjs/viteadds source maps, template diagnostics, and compatible HMR.gluon-template-check srcruns the same analyzer used by the Language Server.- The VS Code client starts the lockstep language server.
- The Playground preserves a reproduction in a stable
#p=URL and downloads a runnable starter.
Inspect and test
Devtools is opt-in and disabled in production builds. @gluonjs/test-utils
mounts public components and applications in real browsers and exposes cleanup
and leak diagnostics without renderer internals.
import { html } from '@gluonjs/core';
import { cleanupFixtures, mountComponent } from '@gluonjs/test-utils';
const fixture = mountComponent(
({ label }: Readonly<{ label: string }>) => html`<button>${label}</button>`,
{ props: { label: 'Save' } },
);
if (fixture.get('button').textContent !== 'Save') throw new Error('Expected Save');
await cleanupFixtures();
The separate component-library reference includes a Storybook catalog built
from public package exports through @gluonjs/gluon-components-vite. Its
stories return native Gluon templates; the renderer owns Core rendering and
exact teardown. Four retained story states execute real interactions, run WCAG
A/AA analysis, and compare committed visual baselines:
npm run storybook:component-library
npm run check:storybook:component-library
The Storybook guide explains installation, typed stories, component style dependencies, controls, and cleanup.
The production consumer and clean-install package checks remain the authority for code splitting, loader cache, registration, stylesheet ownership, SSR, hydration, and teardown behavior.
Open the public Playground or browse the versioned diagnostic reference.