---
'@openstapps/projectmanagement': major
'@openstapps/prettier-config': major
'@openstapps/es-mapping-generator': major
'@openstapps/backend-config': major
'@openstapps/eslint-config': major
'@openstapps/minimal-connector': major
'@openstapps/collection-utils': major
'@openstapps/minimal-plugin': major
'@openstapps/tsconfig': major
'@openstapps/api-plugin': major
'@openstapps/core-tools': major
'@openstapps/gitlab-api': major
'@openstapps/easy-ast': major
'@openstapps/api-cli': major
'@openstapps/backend': major
'@openstapps/logger': major
'@openstapps/proxy': major
'@openstapps/core': major
'@openstapps/app': major
'@openstapps/api': major
---

Move project to a turbo monorepo & pnpm

Internal dependencies are now defined using `"@openstapps/package": "workspace:*"`

- Removed extraneous files from packages
  - `.npmrc`
  - `.npmignore`
  - `.mailmap`
  - `.gitignore`
  - `CONTRIBUTING.md`
  - `LICENSE` (Project license file is added upon publishing, see [pnpm.io](https://pnpm.io/cli/publish))
  - `package-lock.json`
  - `.editorconfig`
  - `.eslintrc.json` (moved eslint config to `package.json`)
  - `.eslintignore`
  - `.gitlab-ci.yml` (Most workflows are workspace-level)
  - `.gitlab/**` (issue templates etc. are now workspace-level)
  - `.dockerignore` (Docker files are determined by which files are deployed with `pnpm deploy`, as per `package.json/files`)
- TSConfig has been moved to its own package (You can now use `"extends": "@openstapps/tsconfig"`)
- Removed ESLint and Prettier peer dependency hell by injecting them through the `.pnpmfile.cjs`
- Added syncpack for keeping dependency versions in sync (and consistent key ordering in `package.json`)
- Replaced conventional changelog with changesets
- Apps with binaries now use a top level `app.js`

```js
#!/usr/bin/env node
import './lib/app.js';
```
