Arkindex Frontend
Dev Setup
- Install Node.js 12 or later and NPM
- Clone the repository
npm install
Common operations
-
npm run build
: Build for development, no Docker image -
npm start
: Start a local development server onlocalhost:8080
-
npm run production
: Build for production, no Docker image -
npm run lint
: Perform ESLint checks -
npm run test
: Run unit tests -
npm run start-test
: Run unit tests, then watch for edits and re-run with each change -
make build
: Build to a local Docker image using latest GitLab CI artifact -
make latest
: Build Docker image, tag as latest and push to GitLab -
make release
: Build Docker image for a version number and push to GitLab -
make clean
: Clean build stuff -
make all
: Clean and build
Linting rules
See the .eslintrc.yml
file for the exact ESLint settings. The linting rules are based on the following sets:
Some rules have been customized:
- Using
==
and!=
in templates will show warnings — use===
and!==
instead (vue/eqeqeq); - Using
this
in a template causes errors — usetext
instead ofthis.text
(vue/this-in-template); - Single-line HTML elements are allowed to hold content (
<h1>hello</h1>
is allowed); - To bind JavaScript expressions to attributes, use
:property=""
, notv-bind:property=""
, but to bind JavaScript expressions to events, usev-on:event=""
, not@event=""
(vue/v-bind-style, vue/v-on-style) - Single-line HTML elements can have up to three attributes ; you have to switch to multiline elements with one attribute per line above that (vue/max-attributes-per-line)
- Void elements (HTML elements which do not hold content, like
br
) should be self-closing —<br />
instead of<br>
(vue/html-self-closing) - HTML elements that can hold content like
p
should never be self-closing —<p></p>
instead of<p />
(vue/html-self-closing)