Files
openstapps/README.md
Thea Schöbl 4e4c7b5cc9 feat: publishing workflow
refactor: update changelog
v3.0.0-next.0
2023-07-03 13:44:42 +02:00

102 lines
5.8 KiB
Markdown

# Open StApps Monorepo
Refer to the [contribution guide](./CONTRIBUTING.md)
## Projects
### Apps
| Name | Version | License | Readme |
| -------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- |
| Core | [![npm](https://img.shields.io/npm/v/@openstapps/app.svg?style=flat-square)](https://npmjs.com/package/@openstapps/app) | [![license)](https://img.shields.io/npm/l/@openstapps/app.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`frontend/app`](./frontend/app/README.md) |
| Backend | [![npm](https://img.shields.io/npm/v/@openstapps/backend.svg?style=flat-square)](https://npmjs.com/package/@openstapps/backend) | [![license)](https://img.shields.io/npm/l/@openstapps/backend.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`backend/backend`](./backend/backend/README.md) |
| Proxy | [![npm](https://img.shields.io/npm/v/@openstapps/proxy.svg?style=flat-square)](https://npmjs.com/package/@openstapps/proxy) | [![license)](https://img.shields.io/npm/l/@openstapps/proxy.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`backend/proxy`](./backend/proxy/README.md) |
| Database | [![npm](https://img.shields.io/npm/v/@openstapps/database.svg?style=flat-square)](https://npmjs.com/package/@openstapps/database) | [![license)](https://img.shields.io/npm/l/@openstapps/database.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`backend/database`](./backend/database/README.md) |
### Libraries
| Name | Version | License | Readme |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| Core | [![npm](https://img.shields.io/npm/v/@openstapps/core.svg?style=flat-square)](https://npmjs.com/package/@openstapps/core) | [![license)](https://img.shields.io/npm/l/@openstapps/core.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/core`](./packages/core/README.md) |
| API | [![npm](https://img.shields.io/npm/v/@openstapps/api.svg?style=flat-square)](https://npmjs.com/package/@openstapps/api) | [![license)](https://img.shields.io/npm/l/@openstapps/api.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/api`](./packages/api/README.md) |
| API Plugin | [![npm](https://img.shields.io/npm/v/@openstapps/api-plugin.svg?style=flat-square)](https://npmjs.com/package/@openstapps/api-plugin) | [![license)](https://img.shields.io/npm/l/@openstapps/api-plugin.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/api-plugin`](./packages/api-plugin/README.md) |
| Logger | [![npm](https://img.shields.io/npm/v/@openstapps/logger.svg?style=flat-square)](https://npmjs.com/package/@openstapps/logger) | [![license)](https://img.shields.io/npm/l/@openstapps/logger.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/logger`](./packages/logger/README.md) |
| Core Tools | [![npm](https://img.shields.io/npm/v/@openstapps/core-tools.svg?style=flat-square)](https://npmjs.com/package/@openstapps/core-tools) | [![license)](https://img.shields.io/npm/l/@openstapps/core-tools.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) | [`packages/core-tools`](./packages/core-tools/README.md) |
## Publishing
After having added all changes using `pnpm changeset`
```shell
pnpm publish-packages
```
Internally, this will run
```shell
pnpm changeset version # bump versions
pnpm syncpack:fix
pnpm format:fix # changes to the package.json can cause issues
pnpm install # update lockfile and rebuild packages
git add .
git commit -m "refactor: update changelog"
pnpm changeset tags
git push --follow-tags
# from here the pipeline will do the publishing
```
## Remote caching
Turbo supports remote caching, which massively speeds up build processes.
### Connecting to the remote cache locally
`.env.local`
```dotenv
TURBO_API=http://example:3000
TURBO_TEAM=openstapps
TURBO_TOKEN=abc123
```
### Connecting to the remote cache in GitLab Pipelines
You will need to define
- `TURBO_API`
- `TURBO_TEAM`
- `TURBO_TOKEN`
Like you did locally as described in [this](https://turbo.build/repo/docs/ci/gitlabci#remote-caching)
guide.
### Hosting a cache
Self-hosting via Docker is extremely simple, just follow
[this](http://v2202207178592194230.supersrv.de:6341) guide
or in short:
`.env`
```dotenv
PORT=...
TURBO_TOKEN=...
```
```shell
docker run --env-file=.env -p 3000:3000 fox1t/turborepo-remote-cache
```
## Useful commands
#### Why is this package bloating the app?
```shell
pnpm why --prod -r --filter @openstapps/app PACKAGE
```
#### Licenses
```shell
pnpm licenses --prod --filter PROJECT
```