Skip to content

Project Structure

Michael Dörer edited this page Oct 12, 2026 · 4 revisions

Project Structure

Layout of a consumer project created with srl init:

my-report/
├── livingdocs/            # Livingdocs components (see Components)
├── pdf/                   # PDFreactor configuration (+ customers/)
├── public/                # Static files
├── src/                   # Vue app (App.vue, views, router, assets/scss, …)
├── srl/                   # copied by `srl prepare`, gitignored – do not edit
├── .srl/                  # generated imports and plugins – do not edit
├── .output/               # build output
├── srl.config.json        # design tokens (see Design Tokens)
├── livingdocs.config.json # Livingdocs design settings
└── vite.config.ts

Generated files

These are (re)generated by the Vite plugin and srl map – change the sources instead of the generated files:

Dev generation pipeline

File Generated from
srl/**/*.scss (config modules) srl.config.json (beaver)
srl/index.scss system modules + src/assets/scss/placeholders/**
.srl/imports/{app,ldd,pdf,word,xbrl}.scss src/assets/scss/*.scss, fonts, component scss/ files
Livingdocs design JSON, .srl/plugins/asyncLdComponent.ts livingdocs/**
.srl/plugins/asyncSrlComponents.ts, .srl/types/components.d.ts src/components/**/*.vue (global app components)

Never edit generated files. srl prepare (on npm install) deletes and recreates .srl/ and copies the library's srl/ files; the Vite plugin runs it again when the package version changes. Changes in .srl/, srl/ or .srl/imports/*.scss are lost. Change the sources: component folders, ld-conf.json, properties.json, srl.config.json, src/assets/scss/**.

livingdocs.config.json is generated by the ldd build as well, but it is committed (see Build#design-version).

Content (public/)

public/json/, public/html/, public/images/ and public/downloads/ hold the content export from nswow and are gitignored. Without them the dev app has no articles. See Web App Rendering.

Aliases

Set by the Vite plugin:

Alias Points to
@ src/
~ project root
#srl .srl/
#components, #composables, #plugins, #types, #utils, #imports the matching folders in .srl/
#ld livingdocs/
assets src/assets/
srl srl/
fa-source, fa-font Font Awesome Free, or Pro if @fortawesome/fontawesome-pro is installed

Clone this wiki locally