* Add support for npm extensions * Allow extensions to import vue from the main app * Bundle app extensions on server startup * Fix return type of useLayoutState * Add shared package * Add extension-sdk package * Add type declaration files to allow deep import of shared package * Add extension loading to shared * Refactor extension loading to use shared package * Remove app bundle newline replacement * Fix extension loading in development * Rename extension entrypoints * Update extension build instructions * Remove vite auto-replacement workaround * Update package-lock.json * Remove newline from generated extension entrypoint * Update package-lock.json * Build shared package as cjs and esm * Move useLayoutState composable to shared * Reverse vite base env check * Share useLayoutState composable through extension-sdk * Update layout docs * Update package versions * Small cleanup * Fix layout docs * Fix imports * Add nickrum to codeowners * Fix typo * Add 'em to vite config too * Fix email Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Introduction
Directus is a free and open-source data platform for headless content management. It can be installed on top of any new or existing SQL database, instantly providing a dynamic API (REST+GraphQL) and accompanying App for managing content. Built entirely in TypeScript (in Node and Vue), Directus is completely modular and end-to-end extensible... with absolutely no paywalls or artificial limitations.
Modern and intuitive, the Directus App enables no-code data discovery, allowing for even the most non-technical users to view, author, and manage your raw database content. Our performant and flexible API is able to adapt to any relational schema, and includes rule-based permissions, event/web hooks, custom endpoints, numerous auth options, configurable storage adapters, and much more.
Current database support includes: PostgreSQL, MySQL, SQLite, MS-SQL Server, OracleDB, MariaDB, and varients such as AWS Aurora/Redshift or Google Cloud Platform SQL.
Learn more at...
Installing
Directus requires NodeJS 10+. Create a new project with our simple CLI tool:
npx create-directus-project my-project
Or using yarn:
yarn create directus-project my-project
The above command will create a directory with your project name, then walk you through the database configuration and creation of your first admin user.
Updating
To update an existing Directus project, navigate to your project directory and run:
npm update
Contributing
Please report any and all issues on our GitHub.
Pull-requests are more than welcome, and always appreciated. Please be sure to read our Contributors Guide before starting work on a new feature/fix, or reach out a member of the Core Team via GitHub or Discord with any questions.
Supporting
Directus is a free and open-source project with development made possible by support from our passionate core team, amazing contributors, and generous sponsors. It's not easy building premium open-source software; if you would like to help ensure Directus stays free, please consider becoming a sponsor.
License
Directus is released under the GPLv3 license. Monospace Inc owns all Directus trademarks, logos, and intellectual property on behalf of our project's community. Copyright © 2004-2020, Monospace Inc.
