Skip to content

Import *.css.json, additionally bundle *.css? #1017

Description

@rauschma

Describe the problem

At the moment, there is no simple way to support CSS for server-side rendering:

  • Node.js somehow has to handle the imported CSS.
  • TypeScript should complain (during editing!) if there are typos in IDs, classes, etc.

Describe the proposed solution

component.tsx
component.css.json
component.css

component.ts:

import { render } from 'preact-render-to-string';
// Node.js does not support named imports for JSON
import css from './component.css.json' with { type: 'json' };

console.log(render(
  <div id={css.warning}></div>
));

component.css.json:

{
  // "unmangled name of ID": "name in CSS bundle"
  "warning": "x1bz9l0f"
}

component.css:

#warning { /* CSS bundle: #x1bz9l0f */
  background-color: red;
}

Alternatives considered

  • vanilla-extract: Works but does not let me use CSS, only CSS encoded as TypeScript.

Importance

I cannot use modular-css without it

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions