requires Node >= 14
clone the repo git clone [email protected]:flashcards-app/frontend.git flashcards-frontend
then
cd flashcards-frontend
pnpm i # If you don't have pnpm installed, run: npm install -g pnpm
pnpm run dev
And, enjoy :)
Feel free to submit PRs for small issues. For large issues or features, open an issue first.
For small issues, like a typo or broken link, use Github's inline file editor or web editor (open by pressing . in your fork's code tab) to make the fix and submit a pull request.
For more complex contributions, like new features, you should work on the project on your local system.
First, follow the steps in Running the project.
git checkout -b my-fix
# fix some code / add feature...
git commit -m "fix: corrected a typo"
git push origin my-fix
Lastly, open a pull request on GitHub. Once merged, your changes will automatically be deployed to the live site via the CI/CD pipeline.
pnpm start
- build and start production serverpnpm start:test
- build and start production server in test mode.pnpm build
- build for production. The generated files will be on thedist
folder.pnpm build:test
- build for testing. The generated files will be on thetests/dist
folder.pnpm serve
- locally start the production build.pnpm serve:test
- locally start the testing build.pnpm clean
- clean build directorypnpm commit
- commit using commitizenpnpm dev
- start a development server with hot reload.pnpm dev:test
- start a development server with hot reload in test mode - used for running cypress tests with coverage.extract-translations
- extract translations from source files usingi18next
. configuration file for this is oni18next-parser.config.js
. The generated files will be on thepublic/locales
folder.pnpm prepare:husky
- install husky.pnpm lint
- runs TypeScript and ESLint.pnpm lint:eslint
- runs ESLint.pnpm lint:tsc
- runs TypeScript.pnpm test
- run unit tests.pnpm test:ci
- run all unit and integration tests in CI mode.pnpm test:e2e
- run all e2e tests with the Cypress Test Runner.pnpm test:e2e:headless
- run all e2e tests headlessly.pnpm test:e2e:ci
- run all e2e tests for CI Environment.pnpm coverage:jest
- open the coverage report in the browser for jest.pnpm coverage:cypress
- open the coverage report in the browser for cypress.pnpm validate
- runslint
,test:ci
andtest:e2e:ci
.