Curvea

Advanced

Asset Pipeline Internals

The asset pipeline is mainly handled by:

src/utils/assets.js
src/utils/cssImports.js
src/utils/jsModules.js

Build asset preparation

The build command calls:

prepareBuildAssets(siteConfig)

This performs:

  1. copy public/ to dist/
  2. copy project assets
  3. build CSS assets
  4. build the JavaScript asset graph
  5. copy the Lucide runtime when present

CSS build

The main CSS entry is:

src/assets/css/app.css

Before writing CSS, Curvea resolves local and alias CSS imports.

If the Tailwind CLI exists in node_modules/.bin, Curvea runs Tailwind with minification.

If Tailwind is not installed, Curvea writes the resolved CSS directly.

JavaScript graph

The JavaScript graph starts from:

src/assets/js

Curvea transforms supported JavaScript module files and rewrites import paths for browser output.

CSS imports in JavaScript

When JavaScript imports CSS, Curvea emits the CSS asset and a proxy JavaScript module that loads the stylesheet in the browser.

Vendor files

When Lucide is installed, Curvea copies its UMD runtime to:

dist/vendor/lucide/lucide.js