-
Notifications
You must be signed in to change notification settings - Fork 1
Styles and JavaScript
We use ESBuild to work with styles, it is like Webpack, but faster :)
All the project-related styles and scripts are located in src/main/webapp/resources/learnweb.
We use SCSS as style language which is later compiled to CSS. Take a look at this guide to understand the benefits of it.
You can control dependency as usually for JavaScript projects via package.json file.
But make sure that they are included in the entry file main.js.
If the dependency is not bundled into the project (not used on all pages), it should be copied during the build, because node_modules are not available on production, take a look at the esbuild configuration file for examples.
You can run npm run build to do so, but do not forget to install dependencies first (npm install).
The alternative command you can use is npm run build:dev and the output bundle will not be minimized.
We don't have JS tests, but we have linters. Run npm run lint to test your code, it also will be run by CI after you commit changes.
You can start ESBuild in watch mode to update the bundle after any of the project files changed.
Just run npm run watch and start updating styles or scripts, after you switch to a browser, in a few seconds a new bundle will be created with your changes and will be visible in the browser.