Matthew Rumery 17bf9be79e Add Services Type support for @directus/extensions (#25368)
* feat: add services type

* refactor: replace UserIntegrityCheckFlag from @directus/types

* refactor: replace AbstractServiceOptions from @directus/types

* refactor: replace MutationOptions from @directus/types

* refactor: replace ActionEventParams from @directus/types

* refactor: replace AbstractService from @directus/types

* refactor: replace Webhook from @directus/types

* refactor: replace Range, Stat, ReadOptions, & ChunkedUploadContent from @directus/types

* refactor: replace asset types from @directus/types

* refactor: replace LoginResult from @directus/types

* refactor: replace snapshot types from @directus/types

* refactor: replace Action & PayloadServiceProcessRelationResult from @directus/types

* refactor: replace ExportFormat from @directus/types

* refactor: replace database types from @directus/types

* feat: implement ExtensionsServices within @directus/extensions

* feat: replace QueryOptions from @directus/types

* fix: formatting issue

* fix: adjust extensions services type

* fix: generic type for each service

* fix: typescript errors for missing imports

* refactor: update ReadOptions & ChunkedUploadContext type exports to pull from @directus/types

* refactor: move DirectusError to @directus/types & add DirectusExtensionsError to @directus/types

* feat: add MailService, GraphQLService, SpecificationService, and move required exports to @directus/types

* refactor: move extension types to @directus/types

* refactor: move extension constants to @directus/constants

* refactor: adjust type imports for @directus/composables

* refactor: adjust imports for @directus/extensions-registry

* refactor: adjust import for @directus/errors

* refactor: adjust imports for @directus/themes

* refactor: adjust imports for @directus/extensions-sdk

* refactor: adjust imports for studio app

* feat: implement ExtensionService and migrate types to @directus/types

* fix: revert sdk type changes

* fix: reexport types moved from @directus/extensions to @directus/types

* fix: remove @directus/themes from @directus/extensions

* refactor: move AppField to fields file

* chore: remove @directus/themes from @directus/types

* chore: remove @directus/extensions from @directus/types

* fix: rebase issue with DirectusError generic

* chore: remove @directus/types from sdk

* fix: add missing exports to original packages

* fix: update getAppExtensionChunk return type

* chore: revert DirectusError changes

* chore: revert Collection fields key

* refactor: rename RawSchemaCollection to ApiCollection

* fix: add RawCollection from @directus/types

* fix: import GraphQLParams from @directus/types

* fix: formatting issue

* chore: add changeset

* chore: revert rename of ApiOutput

* Update .changeset/purple-crews-sink.md

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: ian <licitdev@gmail.com>

* fix: rebase pnpm-lock error

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Alex Gaillard <alex@directus.io>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2025-07-31 12:54:50 -04:00
2025-07-30 17:12:15 +00:00
2025-06-24 12:13:38 +02:00
2025-07-17 19:05:07 -04:00
2025-06-24 18:17:11 +02:00
2023-04-05 13:59:50 -04:00
2025-01-06 10:29:18 -05:00
2025-01-02 15:37:30 +01:00
2023-04-26 14:10:42 -04:00

Directus Logo


🐰 Introduction

Directus is a real-time API and App dashboard for managing SQL database content.

  • REST & GraphQL API. Instantly layers a blazingly fast Node.js API on top of any SQL database.
  • Manage Pure SQL. Works with new or existing SQL databases, no migration required.
  • Choose your Database. Supports PostgreSQL, MySQL, SQLite, OracleDB, CockroachDB, MariaDB, and MS-SQL.
  • On-Prem or Cloud. Run locally, install on-premises, or use our self-service Cloud service.
  • Completely Extensible. Built to white-label, it is easy to customize our modular platform.
  • A Modern Dashboard. Our no-code Vue.js app is safe and intuitive for non-technical users, no training required.

Learn more about DirectusDocumentation


🚀 Directus Cloud

Directus Cloud allows you to create projects, hosted by the Directus team, from $15/month.

  • A self-service dashboard to create and monitor all your projects in one place.
  • Everything you need: Directus, database, storage, auto-scaling, and a global CDN.
  • Select your desired region and provision a new project in ~90 seconds.

Create a Directus Cloud Project


🤔 Community Help

The Directus Documentation is a great place to start, or explore these other channels:


❤️ Contributing & Sponsoring

Please read our Contributing Guide before submitting Pull Requests.

All security vulnerabilities should be reported in accordance with our Security Policy.

Directus is made possible with support from our passionate core team, talented contributors, and amazing GitHub Sponsors. Thank you all!


📄 Understanding Our License

Directus is licensed under the Business Source License (BSL) 1.1 with a permissive additional use grant. For most users, it operates just like open source! Here's what that means for you:

Free for Most Users

If your organization has less than $5M in annual revenue and/or funding combined, you can use Directus freely in any way you'd like. Build that side project, launch your startup, or experiment with the platform — no strings attached.

Enterprise Usage

For larger organizations (>$5M in annual revenue/funding) using Directus in production, we require a commercial license. This model helps us maintain a sustainable balance: keeping Directus free for the majority of our community while ensuring larger organizations who benefit from the platform contribute to its continued development.

Why This Approach?

We believe in making powerful data tools accessible to everyone. This license lets us:

  • Keep Directus free for individuals, startups, and smaller companies
  • Maintain active development and strong support
  • Continue improving the platform for everyone
  • Stay sustainable as an independent project
Description
No description provided
Readme 714 MiB
Languages
TypeScript 77.4%
Vue 21.1%
JavaScript 0.5%
SCSS 0.5%
Liquid 0.3%
Other 0.2%