Repository for the core of Deopea.
This turborepo uses npm as a package manager. It includes the following packages/apps:
docs
: a qwik app for @deopea packages documentationearth
: a qwik app for the @deopea homeeslint-config
:eslint
configurations for @deopeaprettier-config
:prettier
configuration for @deopeatsconfig
:typescript
configurations for @deopea
Each package/app is 100% TypeScript.
This turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
- [commitlint]
This repo follows the Conventional Commits specification.
The commit types are based on Conventional Changelog Metahub.
Commit Type | Title | Description | Emoji | Release | Include in changelog |
---|---|---|---|---|---|
feat | Features | A new feature | ✨ | minor | true |
fix | Bug Fixes | A bug Fix | 🐛 | patch | true |
docs | Documentation | Documentation only changes | 📚 | patch if scope is readme | true |
style | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | 💎 | - | true |
refactor | Code Refactoring | A code change that neither fixes a bug nor adds a feature | 📦 | - | true |
perf | Performance Improvements | A code change that improves performance | 🚀 | patch | true |
test | Tests | Adding missing tests or correcting existing tests | 🚨 | - | true |
build | Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) | 🛠 | patch | true |
ci | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | ⚙️ | - | true |
config | Config Changes | Changes to config files with a scope of the tool the config relates to (e.g. config(eslint): .... ) |
⚙️ | - | true |
chore | Chores | Other changes that don't modify src or test files | ♻️ | - | true |
revert | Reverts | Reverts a previous commit | 🗑 | - | true |
Scopes should match the path(s) to the package/app the commit alters.
feat(apps/earth): this is a commit for the earth app
....
feat(packages/eslint-config,packages/tsconfig): this is a commit to multiple packages (multi-scoped commits should be avoided when possible)
....
config(apps/earth,eslint): this is a commit that changes the eslint config for the earth app
To build all apps and packages, run the following command:
cd earth
npm run build
To develop all apps and packages, run the following command:
cd earth
npm run dev
Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:
cd earth
npx turbo login
This will authenticate the Turborepo CLI with your Vercel account.
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:
npx turbo link
Learn more about the power of Turborepo: