Calchart 4.0 for the web!
See this Figma link for the design. Also see calchart-redesign-old for the prototype.
Project bootstrapped from Vue CLI.
See this onboarding page for getting started on development.
npm ci
Please use npm ci
instead of npm install
to avoid package-lock.json
being changed at random. For example see npm/cli#1360.
Please use the LTS version of NodeJS/npm for this project.
We recommend using Visual Studio Code as your IDE. This integrates well with Typescript. We recommend installing the following extensions: ESLint, Vetur, Debugger for Chrome, Debugger for Firefox.
To set up debugging in vscode, please see Vue CLI docs.
npm run serve
npm run build
# Run all tests
npm run test:unit
# Run specific tests that match regex "Grapher"
npm run test:unit Grapher
# Watch all tests
npm run test:unit -- --watchAll
We are using Jest for the unit test framework.
# macOS or linux
node --inspect-brk ./node_modules/.bin/vue-cli-service test:unit
# Windows
node --inspect-brk ./node_modules/@vue/cli-service/bin/vue-cli-service.js test:unit
See this for instructions on how to attach Google Chrome or VSCode to the tests.
# Run normally (opens Chrome)
npm run test:e2e
# Run in headless mode (generates videos)
npm run test:e2e -- --headless
We are using Cypress for the end to end test framework.
npm run lint
Integrate ESLint with your text editor! See this.
To update the dependencies in package.json
and package-lock.json
, first try updating the Vue CLI plugins, then any other package.
npm install -g @vue/cli # Install globally if not already
vue upgrade
npm outdated # Lists available package versions
npm update # Updates packages within the specified range in package.json
To update a package at a specified version:
npm install package@version