Extension Bundles
Extension bundles allow you to combine and share dependencies between one or more extensions.
Create a Bundle
When scaffolding your Directus extension, select the bundle
type. This will create a new empty bundle.
Entries
In your bundle's package.json
file, the directus:extension
object has an entries
array that describes all of the items contained within the bundle.
Example of an entry:
json
{
"type": "interface",
"name": "my-interface",
"source": "src/my-interface/index.ts"
}
{
"type": "interface",
"name": "my-interface",
"source": "src/my-interface/index.ts"
}
Entries in a bundle are located within a src
directory in the bundle.
Add New Extensions To a Bundle
Create New
- Navigate to your bundle extension directory in your terminal.
- Use the
npm run add
command and select an extension type.
This will scaffold a new blank extension for you to work on.
TIP
The bundle extension type currently doesn't support the migration extension type.
Add Existing
- Move your extension directory within your bundle's
src
directory. - Add an entry to the bundle's
package.json
.
Remove an Extension From a Bundle
- Delete the extension directory from your
src
directory. - Remove the entry from your
package.json
.