This is an official aleios Turborepo template! It has all the cool features turborepo as to offer, but also has all our favorite tools and plugins we know and love!
If you want to use this template, you can safely delete the following files/folders which were used for example purposes.
- The
packages/example-package
folder- This is an example package to demonstrate how to set up tests etc.
We will add packages in the packages
folder. This is for reuseable components and features.
To create the main application, for example your cdk project, create an apps
folder. Here you can create a backend
folder for your backend application.
You can also create a frontend
folder for your frontend application.
- TypeScript for static type checking
- A typescript-config package has been created.
- This is one place where all general typescript config can be configured, and then imported into other packages
- Have a look at the example-package for how this is done.
- ESLint for code linting
- A eslint-config package has been created.
- This is one place where all general eslint config can be configured, and then imported into other packages
- Have a look at the example-package for how this is done.
- Prettier for code formatting
- Husky for our git hooks:
- Pre-commit: will lint your code
- commit-msg: will fix up your commit messages
- Github Workflows to integrate with Github's pipelines.
We have added 3 base github workflows.
- On PR:
- Lint the project
- Run unit tests
- Deploy a version of your stack based on the PR number.
- PR Closed:
- This workflow will teardown the stack that was created when the PR was opened.
- Push Main:
- Lint the project
- Run unit tests
- Deploy to staging
- Run integration tests
We have implemented two Husky commit hooks.
- Commit Message Hook:
- This will check that your commit message adheres to the standard.
- It will make sure that prefixes are used, have a look here for the config.
- This will check that your commit message adheres to the standard.
- Pre-Commit Hook:
- This will run a lint-fix on all the files that have been changed. This is to ensure that our code formatting is consistent.