requires Node >= 14
clone the repo git clone git@github.com: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 devAnd, 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-fixLastly, 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 thedistfolder.pnpm build:test- build for testing. The generated files will be on thetests/distfolder.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/localesfolder.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:ciandtest:e2e:ci.