feat(create-taujs): scaffold a framework-free html project - #171
Merged
Merged
Conversation
Add the html framework value: the label, the FRAMEWORK_EXTRAS/FRAMEWORK_META/ CLIENT_FILES entries, an optional FrameworkExtras.vitePlugin so generatePackageJson adds a Vite plugin devDependency only when one exists, and RENDERER_DECLARATION / JSX_OPTIONS records that replace the react-fallback ternaries in generateTaujsConfig and generateTsConfig with exhaustive per-framework handling. Add the three html client generators (page.ts's escapeHtml + renderPage, entry-server.ts's createRenderer, entry-client.ts's onDataReady progressive enhancement), FILE_NOTES/FILE_NOTE_OVERRIDES for page.ts and the enhancement-only entry-client.ts note, and export FRAMEWORKS/SHARED_PINS so the test matrices and pins can derive from them instead of hand-transcribing the framework list. React, Vue and Solid output is unchanged - verified byte-identical against a pre-edit planFiles() capture.
…d matrix Add cli-html.test.ts, mirroring cli-solid.test.ts: the built CLI accepts --framework=html and names it as valid, taujs.config.ts declares renderer: htmlRenderer() with no active plugins: entry, package.json declares no Vite plugin and no framework runtime dependency while externalising @taujs/html, tsconfig.json carries no jsx key, entry-server.ts wires createRenderer to renderPage, entry-client.ts enhances the server-rendered card in place (four separate assertions), page.ts escapes every interpolation, and the README links MDN and lists page.ts. Gain html by hand in every hard-coded framework matrix: generate.test.ts and cli-solid.test.ts now read the exported FRAMEWORKS constant, pins.test.ts reads packages/html/package.json and asserts html declares no Vite plugin and no framework runtime dependency, and lifecycle.test.ts's PACKABLE list and describe.each gain @taujs/html and its slice-6 lifecycle branch - including a production /streaming request proving both generated routes stream, in order, with exactly one bootstrap tag ahead of the data script.
Correct every place the page names the renderer set (the frontmatter description, the intro sentence, the framework-choice wording) and the prerequisites claim that every scaffold pins a renderer plugin - plain HTML ships none. Add the @taujs/html row to the peer table.
…ote for entry-client.ts
Merged
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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
--framework htmlto the scaffolder, the fourth surface of the @taujs/html ruling now that 0.1.0 is published.Changeset: @taujs/create-taujs minor.