New and improved Pennsieve web app, now leveraging Vue 3!
-
main branch deploys to our production environment on merge. https://app.pennsieve.io/
-
dev branch deploys to our non-prod environment on merge. Merge branches to
devfor testing. https://app.pennsieve.net/
-
Always branch off of
mainwhen starting a new feature, bug fix or epic.git checkout -b feature_my-cool-feature -
The exception is for epic branches, where you will branch off the epic to create your feature branch.
-
Please do not branch off of
devor mergedevinto your feature branch.devoften contains features that are not ready for release, and polluting your branch with dev requires us to cherry pick out unreleased features, which may delay your release.
-
Feature branches:
feature_descriptive-name -
Bug fix branches:
fix_descriptive-name -
Epic branches:
epic_descriptive-name -
Once your feature branch has been merged to
mainplease delete it.
-
Merge branches into
devbranch to deploy to non-prod environment. -
Do not delete your feature branch until it is merged to production.
-
Keep your feature branch up to date with
main.
-
Make a PR from your feature branch into
main. -
Merge your code into
mainlocally and test it locally. -
Once approved, merge feature branches into main branch to automatically deploy to production environment.
-
When deploying to production, please create a corresponding Release. Use Semantic Versioning convention for tagging and titling Releases.
- Contact an admin to reset
devif you need to test a feature in isolation from other in-progress features.
-
Navigate to
mainbranch in the terminal and rungit pull origin main -
Navigate to
devbranch in the terminal and rungit reset --hard origin/main -
Force push dev branch:
git push origin dev --force. This will trigger a new build ofdevto be deployed to non-prod environment.
VSCode + Volar (and disable Vetur) + TypeScript Vue Plugin (Volar)
See Vite Configuration Reference
Install Node.js version 20.17.0 using:
nvm install 20.17.0
nvm use 20.17.0npm installnpm run devnpm run buildLint with ESLint
npm run lintWe use Vitest library for unit testing components. We use msw for mocking APIs in tests. We use test-utils for unit testing.
The mock API can be found in /src/test/mocks
For an example using the mock API look here: /src/mixins/request/request.spec.js
npm run testIt's good practice for us to regularly update dependencies. We currently have a dev assigned to update our dependencies 1x per month per Dependabots helpful recomendation (with human oversight).