feat(dashboard,admin-sdk,admin-shared,admin-vite-plugin): Add support for UI extensions (#7383)

* intial work

* update lock

* add routes and fix HMR of configs

* cleanup

* rm imports

* rm debug from plugin

* address feedback

* address feedback
This commit is contained in:
Kasper Fabricius Kristensen
2024-05-23 14:02:19 +02:00
committed by GitHub
parent 521c252dee
commit f1176a0673
50 changed files with 1366 additions and 1098 deletions
@@ -1,18 +1,12 @@
import { RouteObject } from "react-router-dom"
import routes from "virtual:medusa/routes/pages"
// import routes from "medusa-admin:routes/pages"
import { createRouteMap, settingsRouteRegex } from "../../lib/extension-helpers"
export const RouteExtensions: RouteObject[] = []
const pages = routes.pages
.filter((ext) => !settingsRouteRegex.test(ext.path))
.map((ext) => ext)
/**
* UI Route extensions.
* Core Route extensions.
*/
// export const RouteExtensions: RouteObject[] = routes.pages.map((ext) => {
// return {
// path: ext.path,
// async lazy() {
// const { default: Component } = await import(/* @vite-ignore */ ext.file)
// return { Component }
// },
// }
// })
export const RouteExtensions = createRouteMap(pages)
@@ -517,9 +517,9 @@ export const RouteMap: RouteObject[] = [
},
],
},
...RouteExtensions,
],
},
...RouteExtensions,
],
},
{
@@ -1009,9 +1009,9 @@ export const RouteMap: RouteObject[] = [
},
],
},
...SettingsExtensions,
],
},
...SettingsExtensions,
],
},
]
@@ -1,19 +1,12 @@
import { RouteObject } from "react-router-dom"
import routes from "virtual:medusa/routes/pages"
// import settings from "medusa-admin:settings/pages"
import { createRouteMap, settingsRouteRegex } from "../../lib/extension-helpers"
const pages = routes.pages
.filter((ext) => settingsRouteRegex.test(ext.path))
.map((ext) => ext)
/**
* UI Settings extensions.
* Settings Route extensions.
*/
export const SettingsExtensions: RouteObject[] = []
// export const SettingsExtensions: RouteObject[] = settings.pages.map((ext) => {
// return {
// path: `/settings${ext.path}`,
// async lazy() {
// const { default: Component } = await import(/* @vite-ignore */ ext.file)
// return { Component }
// },
// }
// })
export const SettingsExtensions = createRouteMap(pages, "/settings")