# @openstapps/api-cli ## 4.0.2 ### Patch Changes - Updated dependencies [6b06de40] - @openstapps/logger@4.0.2 - @openstapps/core@4.0.2 - @openstapps/core-tools@4.0.2 - @openstapps/api@4.0.2 ## 4.0.1 ### Patch Changes - Updated dependencies [b40ba7ad] - @openstapps/api@4.0.1 - @openstapps/core@4.0.0 ## 4.0.0 ### Major Changes - c8e29020: Update to Node 22 ### Patch Changes - Updated dependencies [c8e29020] - @openstapps/api@4.0.0 - @openstapps/core@4.0.0 - @openstapps/core-tools@4.0.0 - @openstapps/logger@4.0.0 ## 3.3.2 ### Patch Changes - @openstapps/core@3.3.2 - @openstapps/core-tools@3.3.2 - @openstapps/api@3.3.2 ## 3.3.0 ### Minor Changes - 688bc5f2: v3.3.0 changes ### Patch Changes - Updated dependencies [688bc5f2] - @openstapps/api@3.3.0 - @openstapps/core@3.3.0 - @openstapps/eslint-config@3.0.0 - @openstapps/core-tools@3.3.0 - @openstapps/logger@3.0.0 ## 3.2.0 ### Patch Changes - Updated dependencies [912ae422] - @openstapps/core@3.2.0 - @openstapps/api@3.2.0 - @openstapps/core-tools@3.0.0 - @openstapps/logger@3.0.0 ## 3.1.1 ### Patch Changes - Fix version history offered by backend - Updated dependencies - @openstapps/api@3.1.1 - @openstapps/core@3.1.1 ## 3.1.0 ### Minor Changes - f6187255: Add "\*" option to copy command that allows for a full database clone ### Patch Changes - Updated dependencies [06b8ca10] - @openstapps/core@3.1.0 - @openstapps/api@3.1.0 ## 3.0.0 ### Major Changes - 64caebaf: Split API into API, API-CLI and API-Plugin Plugins are now required to use `api-plugin`. Consumers of `api` can benefit from a slimmer package with no NodeJS dependencies. - 64caebaf: 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'; ``` - 64caebaf: Migrate integration tests from docker-compose solution to a shell script `api-cli` no longer builds as a Docker container as a result. - 64caebaf: Migrate to ESM CommonJS is no longer supported in any capacity. To use the new version, you will need to migrate your package to ESM. We recommend using `tsup` and `Node 18`. ```json { "type": "module" } ``` - 64caebaf: Migrate package to Node 18 - Consumers of this package will need to migrate to Node 18 or higher. - Packages have been migrated from promisified `readFile` or `readFileSync` towards `fs/promises` - Packages use native `flatMap` now - 64caebaf: Migrate build system to `tsup` All packages now use an `index.ts` file to expose contents. You will need to migrate paths from `import foo from '@scope/package/lib/foo` to `import foo from '@scope/package'` ### Minor Changes - 64caebaf: Migrate tests to C8/Chai/Mocha - `@testdeck` OOP testing has been removed. - Tests have been unified - CommonJS module mocking has been replaced through refactoring of tests, as ES Modules cannot be mocked (do yourself a favor and don't try to mock them) - C8 now replaces NYC as a native coverage tool ### Patch Changes - 98546a97: Migrate away from @openstapps/configuration - 23481d0d: Update to TypeScript 5.1.6 - Updated dependencies [98546a97] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [98546a97] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [1f62b5c5] - Updated dependencies [64caebaf] - Updated dependencies [98546a97] - Updated dependencies [23481d0d] - Updated dependencies [64caebaf] - Updated dependencies [0a7e6af1] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [98546a97] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [98546a97] - @openstapps/core-tools@3.0.0 - @openstapps/api@3.0.0 - @openstapps/eslint-config@3.0.0 - @openstapps/logger@3.0.0 - @openstapps/core@3.0.0 ## 3.0.0-next.4 ### Patch Changes - 23481d0d: Update to TypeScript 5.1.6 - Updated dependencies [23481d0d] - @openstapps/eslint-config@3.0.0-next.4 - @openstapps/core-tools@3.0.0-next.4 - @openstapps/logger@3.0.0-next.4 - @openstapps/core@3.0.0-next.4 - @openstapps/api@3.0.0-next.4 ## 3.0.0-next.0 ### Major Changes - 64caebaf: Split API into API, API-CLI and API-Plugin Plugins are now required to use `api-plugin`. Consumers of `api` can benefit from a slimmer package with no NodeJS dependencies. - 64caebaf: 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'; ``` - 64caebaf: Migrate integration tests from docker-compose solution to a shell script `api-cli` no longer builds as a Docker container as a result. - 64caebaf: Migrate to ESM CommonJS is no longer supported in any capacity. To use the new version, you will need to migrate your package to ESM. We recommend using `tsup` and `Node 18`. ```json { "type": "module" } ``` - 64caebaf: Migrate package to Node 18 - Consumers of this package will need to migrate to Node 18 or higher. - Packages have been migrated from promisified `readFile` or `readFileSync` towards `fs/promises` - Packages use native `flatMap` now - 64caebaf: Migrate build system to `tsup` All packages now use an `index.ts` file to expose contents. You will need to migrate paths from `import foo from '@scope/package/lib/foo` to `import foo from '@scope/package'` ### Minor Changes - 64caebaf: Migrate tests to C8/Chai/Mocha - `@testdeck` OOP testing has been removed. - Tests have been unified - CommonJS module mocking has been replaced through refactoring of tests, as ES Modules cannot be mocked (do yourself a favor and don't try to mock them) - C8 now replaces NYC as a native coverage tool ### Patch Changes - 98546a97: Migrate away from @openstapps/configuration - Updated dependencies [98546a97] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [98546a97] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [98546a97] - Updated dependencies [64caebaf] - Updated dependencies [0a7e6af1] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [98546a97] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [64caebaf] - Updated dependencies [98546a97] - @openstapps/core-tools@3.0.0-next.0 - @openstapps/api@3.0.0-next.0 - @openstapps/eslint-config@3.0.0-next.0 - @openstapps/logger@3.0.0-next.0 - @openstapps/core@3.0.0-next.0