Skip to content

Conversation

@cjpillsbury
Copy link
Collaborator

@cjpillsbury cjpillsbury commented Dec 9, 2025

Ref: #244

Overview

This PR is an incomplete implementation of our v0 goals of compiler, which is to:
Take a source file that defines an in-source/package VJS React Skin definition and produce an "appropriately equivalent" version of an in-source/package VJS HTML Skin definition (including styles).

Example:

Given the in-source definition of react FrostedSkin (and, by association, its tailwind-based styles module), produce an "appropriately equivalent" HTML skin, roughly resembling the current HTML <media-skin-frosted> (and, by association, its "vanilla css"styles).

Tasks

  • React -> HTML Skin Equivalent Module Compilation
  • TS Module Tailwind -> Vanilla CSS Equivalent Module Compilation
  • A basic CLI for use in the monorepo
    • reading from + writing to the file system

High Level notes on complexity

  • Needs to be resilient to changes in component architecture and implementation details (e.g. changes in popover/tooltips for HTML; changes in where/how styles are defined for HTML; etc)
  • Needs to anticipate different planned use cases ("eject"/"template" use cases, different style definition preferences, "composed" components compilation; eventual additional target frameworks/libraries)

@vercel
Copy link

vercel bot commented Dec 9, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
vjs-10-demo-html Ready Ready Preview Comment Dec 10, 2025 3:55pm
vjs-10-demo-next Ready Ready Preview Comment Dec 10, 2025 3:55pm
vjs-10-demo-react Ready Ready Preview Comment Dec 10, 2025 3:55pm
vjs-10-website Ready Ready Preview Comment Dec 10, 2025 3:55pm

// https://github.com/antfu/eslint-config/blob/main/src/globs.ts#L56
ignores: [
'**/CLAUDE.md',
'**/ARCHITECTURE.md',
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Low priority thing I'd like to discuss: antfu's linting rules for markdown-owned code blocks is too aggressive for common use cases - it requires syntactically correct code when often what you want is pseudo-code (code with ... and the like), snippets that are technically syntactically invalid (<ReactComponentExample> that isn't e.g. in a return function or assigned to anything), or the like. Whether we convert this to a warning, remove the rule, or try to do something fancier, I think we should fix this so we don't "throw the baby out with the bathwater" on linting markdown.

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.

2 participants