Package Exports
- @corex-ui/astro
Readme
@corex-ui/astro
Astro integration for rendering Corex UI static components post-build.
Ensures your Corex UI components are hydrated and rendered into static HTML before deployment.
For the complete Corex UI ecosystem, documentation, and advanced guides, visit Corex UI Official Docs.
✨ Features
- 🔌 Astro integration (astro:build:donehook)
- 🏗️ Renders Corex UI components in generated HTML
- 🎯 Selective rendering: choose which components to render
- ⚡ Works seamlessly with @corex-ui/static
📦 Installation
npm install @corex-ui/astro
# or
pnpm add @corex-ui/astro🚀 Usage
Minimal usage
import { defineConfig } from "astro/config";
import corex from "@corex-ui/astro";
export default defineConfig({
  integrations: [corex()],
});Usage with options
import { defineConfig } from "astro/config";
import corex from "@corex-ui/astro";
export default defineConfig({
  integrations: [
    corex({
      components: ["accordion", "tabs"],
      uiDist: "./node_modules/@corex-ui/static/dist",
    }),
  ],
});- components: Array of component names to render (default: all)
- uiDist: Path to the Corex UI- distfolder (default: auto-detected)
⚙️ Options Table
| Option | Type | Default | Description | 
|---|---|---|---|
| components | string[] | undefined(all components) | Restrict rendering to a specific set of components. Example: ['accordion', 'tabs']. | 
| uiDist | string | Auto-detected ( node_modules/@corex-ui/static/dist) | Override the Corex UI distribution directory if located elsewhere. | 
🛠️ Example
# Render only accordion + tabs after Astro build
npm run buildOutput logs:
[Corex] Build output dir: dist/
[Corex] HTML files: 12
[Corex] dist/index.html → 2 rendered
[Corex] dist/docs/components.html → 1 rendered
[Corex] Rendering complete📚 How It Works
- Runs after the build finishes (astro:build:done)
- Scans the output folder (dist/) for HTML files
- Loads Corex UI component modules from @corex-ui/static/dist/components
- Detects matching component placeholders in HTML
- Calls each component's initialize<ComponentName>function inside a JSDOM instance
- Writes the modified HTML back to disk