Fix extensions (#6377)

* 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>
This commit is contained in:
Nicola Krumschmidt
2021-06-23 18:43:06 +02:00
committed by GitHub
parent 1644c6397c
commit 051df415df
92 changed files with 2482 additions and 535 deletions

View File

@@ -56,7 +56,7 @@ export default async function createApp(): Promise<express.Application> {
await initializeExtensions();
await registerExtensionHooks();
registerExtensionHooks();
const app = express();
@@ -170,7 +170,7 @@ export default async function createApp(): Promise<express.Application> {
// Register custom hooks / endpoints
await emitAsyncSafe('routes.custom.init.before', { app });
await registerExtensionEndpoints(customRouter);
registerExtensionEndpoints(customRouter);
await emitAsyncSafe('routes.custom.init.after', { app });
app.use(notFoundHandler);