How to install and run the Vite build that compiles Dotkernel Light's front-end assets into the public folder.
Prerequisite software: Node.js
^20.19.0 || >=22.12.0(perpackage.json)
Vite is a frontend dev tool we use:
.css and .js files.scss files into .css.fonts and images used in your project, from the assets folder to the public folder.First you need to install dependencies into the node_modules directory by running this command:
npm install
If everything ran ok, you should see a new root folder named node_modules where all the npm packages are installed.
If npm install fails, this could be caused by user permissions for npm.
Our recommendation is to install npm through Node Version Manager.
The watch command compiles the components then monitors the source files and triggers their recompilation when one of them is changed:
npm run watch
Initially, Vite is configured to delete and rebuild the contents of these folders from the public folder:
The folders are populated from their counterparts in src/App/assets, with one exception: images are copied into public/images/app/, not public/images/ directly, so template references look like {{ asset('images/app/logo.svg') }}. fonts has no such prefix and is copied flat into public/fonts/. See vite.config.js for the exact mapping.
Make sure to not edit anything inside the four public folders manually. Other files and folders in the public folder will be left as is.
An alternative to the watch command is build which simply compiles the components, overwriting as needed:
npm run build
Q: What is the minimum Node.js version Dotkernel Light supports?
A: ^20.19.0 || >=22.12.0, as declared in package.json's engines field.
Q: What's the difference between npm run watch and npm run build?
A: watch recompiles automatically whenever a source file changes; build compiles once.
Q: Can I edit the compiled files under public/css, public/js, public/fonts or public/images directly?
A: No — Vite deletes and rebuilds those four folders on every run, from their counterparts in src/App/assets.