nextjs-cms 0.9.21 → 0.9.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -13
- package/dist/api/actions/files.d.ts +30 -0
- package/dist/api/actions/files.d.ts.map +1 -0
- package/dist/api/actions/files.js +234 -0
- package/dist/api/actions/index.d.ts +4 -0
- package/dist/api/actions/index.d.ts.map +1 -0
- package/dist/api/actions/index.js +3 -0
- package/dist/api/actions/pages.d.ts +297 -0
- package/dist/api/actions/pages.d.ts.map +1 -0
- package/dist/api/actions/pages.js +1215 -0
- package/dist/api/actions/privileges.d.ts +25 -0
- package/dist/api/actions/privileges.d.ts.map +1 -0
- package/dist/api/actions/privileges.js +98 -0
- package/dist/api/client/index.d.ts +4 -0
- package/dist/api/client/index.d.ts.map +1 -0
- package/dist/api/client/index.js +3 -0
- package/dist/api/client.d.ts +30 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +82 -0
- package/dist/api/index.d.ts +1 -938
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +0 -13
- package/dist/api/lib/serverActions.d.ts +3 -3
- package/dist/api/plugin/index.d.ts +7 -0
- package/dist/api/plugin/index.d.ts.map +1 -0
- package/dist/api/plugin/index.js +5 -0
- package/dist/api/root.d.ts +18 -1844
- package/dist/api/root.d.ts.map +1 -1
- package/dist/api/root.js +18 -83
- package/dist/api/routers/navigation.d.ts +3 -3
- package/dist/api/server/index.d.ts +8 -0
- package/dist/api/server/index.d.ts.map +1 -0
- package/dist/api/server/index.js +3 -0
- package/dist/api/server.d.ts +2748 -0
- package/dist/api/server.d.ts.map +1 -0
- package/dist/api/server.js +100 -0
- package/dist/api/trpc/client.d.ts +19 -3
- package/dist/api/trpc/client.d.ts.map +1 -1
- package/dist/api/trpc/client.js +55 -1
- package/dist/api/trpc/query-client.d.ts +3 -1
- package/dist/api/trpc/query-client.d.ts.map +1 -1
- package/dist/api/trpc/query-client.js +25 -20
- package/dist/api/trpc/root.d.ts +906 -0
- package/dist/api/trpc/root.d.ts.map +1 -0
- package/dist/api/trpc/root.js +47 -0
- package/dist/api/trpc/routers/accountSettings.d.ts +66 -0
- package/dist/api/trpc/routers/accountSettings.d.ts.map +1 -0
- package/dist/api/trpc/routers/accountSettings.js +200 -0
- package/dist/api/trpc/routers/admins.d.ts +112 -0
- package/dist/api/trpc/routers/admins.d.ts.map +1 -0
- package/dist/api/trpc/routers/admins.js +331 -0
- package/dist/api/trpc/routers/auth.d.ts +54 -0
- package/dist/api/trpc/routers/auth.d.ts.map +1 -0
- package/dist/api/trpc/routers/auth.js +50 -0
- package/dist/api/trpc/routers/categorySection.d.ts +105 -0
- package/dist/api/trpc/routers/categorySection.d.ts.map +1 -0
- package/dist/api/trpc/routers/categorySection.js +49 -0
- package/dist/api/trpc/routers/config.d.ts +48 -0
- package/dist/api/trpc/routers/config.d.ts.map +1 -0
- package/dist/api/trpc/routers/config.js +18 -0
- package/dist/api/trpc/routers/cpanel.d.ts +82 -0
- package/dist/api/trpc/routers/cpanel.d.ts.map +1 -0
- package/dist/api/trpc/routers/cpanel.js +216 -0
- package/dist/api/trpc/routers/fields.d.ts +35 -0
- package/dist/api/trpc/routers/fields.d.ts.map +1 -0
- package/dist/api/trpc/routers/fields.js +81 -0
- package/dist/api/trpc/routers/files.d.ts +34 -0
- package/dist/api/trpc/routers/files.d.ts.map +1 -0
- package/dist/api/trpc/routers/files.js +14 -0
- package/dist/api/trpc/routers/gallery.d.ts +35 -0
- package/dist/api/trpc/routers/gallery.d.ts.map +1 -0
- package/dist/api/trpc/routers/gallery.js +92 -0
- package/dist/api/trpc/routers/hasItemsSection.d.ts +194 -0
- package/dist/api/trpc/routers/hasItemsSection.d.ts.map +1 -0
- package/dist/api/trpc/routers/hasItemsSection.js +86 -0
- package/dist/api/trpc/routers/logs.d.ts +59 -0
- package/dist/api/trpc/routers/logs.d.ts.map +1 -0
- package/dist/api/trpc/routers/logs.js +79 -0
- package/dist/api/trpc/routers/navigation.d.ts +65 -0
- package/dist/api/trpc/routers/navigation.d.ts.map +1 -0
- package/dist/api/trpc/routers/navigation.js +11 -0
- package/dist/api/trpc/routers/simpleSection.d.ts +93 -0
- package/dist/api/trpc/routers/simpleSection.d.ts.map +1 -0
- package/dist/api/trpc/routers/simpleSection.js +54 -0
- package/dist/api/trpc/server.d.ts +2789 -5
- package/dist/api/trpc/server.d.ts.map +1 -1
- package/dist/api/trpc/server.js +91 -52
- package/dist/api/trpc/trpc.d.ts +111 -0
- package/dist/api/trpc/trpc.d.ts.map +1 -0
- package/dist/api/trpc/trpc.js +99 -0
- package/dist/api/trpc/utils/async-caller-proxy.d.ts +2 -0
- package/dist/api/trpc/utils/async-caller-proxy.d.ts.map +1 -0
- package/dist/api/trpc/utils/async-caller-proxy.js +38 -0
- package/dist/api/trpc/utils/refresh-token-link.d.ts +6 -0
- package/dist/api/trpc/utils/refresh-token-link.d.ts.map +1 -0
- package/dist/api/trpc/utils/refresh-token-link.js +81 -0
- package/dist/api/trpc/utils/router-types.d.ts +7 -0
- package/dist/api/trpc/utils/router-types.d.ts.map +1 -0
- package/dist/api/trpc/utils/router-types.js +0 -0
- package/dist/api/use-axios-private.d.ts +6 -0
- package/dist/api/use-axios-private.d.ts.map +1 -0
- package/dist/api/use-axios-private.js +57 -0
- package/dist/api/utils/async-caller-proxy.d.ts +2 -0
- package/dist/api/utils/async-caller-proxy.d.ts.map +1 -0
- package/dist/api/utils/async-caller-proxy.js +36 -0
- package/dist/api/utils/lazy-caller-proxy.d.ts +2 -0
- package/dist/api/utils/lazy-caller-proxy.d.ts.map +1 -0
- package/dist/api/utils/lazy-caller-proxy.js +36 -0
- package/dist/api/utils/router-types.d.ts +7 -0
- package/dist/api/utils/router-types.d.ts.map +1 -0
- package/dist/api/utils/router-types.js +0 -0
- package/dist/auth/hooks/index.d.ts +1 -2
- package/dist/auth/hooks/index.d.ts.map +1 -1
- package/dist/auth/hooks/index.js +1 -2
- package/dist/auth/react.d.ts +1 -2
- package/dist/auth/react.d.ts.map +1 -1
- package/dist/auth/react.js +1 -2
- package/dist/auth/trpc.d.ts +1 -1
- package/dist/auth/trpc.d.ts.map +1 -1
- package/dist/auth/trpc.js +0 -1
- package/dist/cli/lib/fix-master-admin.d.ts.map +1 -1
- package/dist/cli/lib/fix-master-admin.js +12 -25
- package/dist/cli/lib/update-sections.d.ts.map +1 -1
- package/dist/cli/lib/update-sections.js +90 -46
- package/dist/core/config/config-loader.d.ts +23 -7
- package/dist/core/config/config-loader.d.ts.map +1 -1
- package/dist/core/config/config-loader.js +26 -9
- package/dist/core/db/table-checker/MysqlTable.d.ts.map +1 -1
- package/dist/core/db/table-checker/MysqlTable.js +3 -1
- package/dist/core/fields/date-range.d.ts +4 -4
- package/dist/core/fields/select.d.ts +1 -1
- package/dist/core/sections/category.d.ts +8 -8
- package/dist/core/sections/hasItems.d.ts +8 -8
- package/dist/core/sections/section.d.ts +5 -5
- package/dist/core/sections/simple.d.ts +4 -4
- package/dist/core/types/index.d.ts +17 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/plugins/client.d.ts +19 -0
- package/dist/plugins/client.d.ts.map +1 -0
- package/dist/plugins/client.js +24 -0
- package/dist/plugins/define.d.ts +4 -0
- package/dist/plugins/define.d.ts.map +1 -0
- package/dist/plugins/define.js +3 -0
- package/dist/plugins/derive.d.ts +32 -0
- package/dist/plugins/derive.d.ts.map +1 -0
- package/dist/plugins/derive.js +77 -0
- package/dist/plugins/loader.d.ts +51 -7
- package/dist/plugins/loader.d.ts.map +1 -1
- package/dist/plugins/loader.js +111 -51
- package/dist/plugins/manifest.d.ts +28 -0
- package/dist/plugins/manifest.d.ts.map +1 -0
- package/dist/plugins/manifest.js +83 -0
- package/dist/plugins/prefetch.d.ts +16 -0
- package/dist/plugins/prefetch.d.ts.map +1 -0
- package/dist/plugins/prefetch.js +40 -0
- package/dist/plugins/registry.d.ts +22 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +25 -0
- package/dist/plugins/server.d.ts +2 -0
- package/dist/plugins/server.d.ts.map +1 -1
- package/dist/plugins/server.js +2 -0
- package/dist/plugins/types.d.ts +9 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +0 -0
- package/dist/translations/base/en.d.ts +5 -0
- package/dist/translations/base/en.d.ts.map +1 -1
- package/dist/translations/base/en.js +5 -0
- package/dist/translations/client.d.ts +64 -4
- package/dist/translations/client.d.ts.map +1 -1
- package/dist/translations/server.d.ts +64 -4
- package/dist/translations/server.d.ts.map +1 -1
- package/dist/utils/console-log.d.ts +18 -0
- package/dist/utils/console-log.d.ts.map +1 -0
- package/dist/utils/console-log.js +28 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/log.d.ts +18 -0
- package/dist/utils/log.d.ts.map +1 -0
- package/dist/utils/log.js +28 -0
- package/dist/validators/index.d.ts +1 -0
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +1 -0
- package/dist/validators/tags.d.ts +4 -0
- package/dist/validators/tags.d.ts.map +1 -0
- package/dist/validators/tags.js +8 -0
- package/package.json +36 -18
|
@@ -13,6 +13,23 @@ export type SidebarItemProps = {
|
|
|
13
13
|
item: NavItem;
|
|
14
14
|
closeSideBar?: () => void;
|
|
15
15
|
};
|
|
16
|
+
export type SidebarPluginLeaf = {
|
|
17
|
+
kind: 'leaf';
|
|
18
|
+
title: string;
|
|
19
|
+
path: string;
|
|
20
|
+
icon?: string;
|
|
21
|
+
};
|
|
22
|
+
export type SidebarPluginGroup = {
|
|
23
|
+
kind: 'group';
|
|
24
|
+
title: string;
|
|
25
|
+
icon?: string;
|
|
26
|
+
children: NavItem[];
|
|
27
|
+
};
|
|
28
|
+
export type SidebarPluginItem = SidebarPluginLeaf | SidebarPluginGroup;
|
|
29
|
+
export type SidebarPluginGroupProps = {
|
|
30
|
+
group: SidebarPluginGroup;
|
|
31
|
+
closeSideBar?: () => void;
|
|
32
|
+
};
|
|
16
33
|
export type EmailItem = {
|
|
17
34
|
email: string;
|
|
18
35
|
domain: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtF,OAAO,KAAK,YAAY,MAAM,cAAc,CAAA;AAE5C,MAAM,MAAM,OAAO,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,wBAAwB,EAAE,MAAM,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,6BAA6B,EAAE,MAAM,CAAA;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,wBAAwB,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,EACH;QACI,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,OAAO,CAAA;QACb,KAAK,EAAE,WAAW,EAAE,CAAA;KACvB,EAAE,GACH,IAAI,CAAA;IACV,CAAC,gBAAgB,EAAE,MAAM,GAAG,GAAG,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,CAAA;AAE1E,MAAM,MAAM,SAAS,GAAG;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAA;AAC9D,MAAM,MAAM,SAAS,GACf,MAAM,GACN,UAAU,GACV,WAAW,GACX,QAAQ,GACR,iBAAiB,GACjB,UAAU,GACV,OAAO,GACP,MAAM,GACN,UAAU,GACV,WAAW,GACX,QAAQ,GACR,KAAK,GACL,UAAU,GACV,OAAO,GACP,OAAO,GACP,UAAU,GACV,MAAM,GACN,MAAM,GACN,YAAY,CAAA;AAClB,MAAM,MAAM,cAAc,GACpB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,aAAa,GACb,aAAa,GACb,UAAU,GACV,qBAAqB,GACrB,kBAAkB,CAAA;AACxB,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAA;IAClB,SAAS,EAAE,cAAc,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE,iBAAiB,CAAA;IACxB,IAAI,EAAE;QACF,SAAS,EACH,QAAQ,GACR,WAAW,GACX,UAAU,GACV,aAAa,GACb,aAAa,GACb,UAAU,GACV,qBAAqB,GACrB,kBAAkB,CAAA;QACxB,KAAK,EAAE,GAAG,CAAA;KACb,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvB,GAAG,EAAE,CAAA;AAEN,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAC9B,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;IACD,MAAM,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACd,CAAA;IACD,YAAY,CAAC,EAAE;QACX,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACd,CAAA;IACD,KAAK,CAAC,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACd,GAAG,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,sBAAsB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,WAAW,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;KACpB,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,UAAU,GAChB,WAAW,GACX,mBAAmB,GACnB,SAAS,GACT,UAAU,GACV,aAAa,GACb,WAAW,GACX,UAAU,GACV,SAAS,GACT,SAAS,GACT,eAAe,GACf,aAAa,GACb,QAAQ,CAAA;AAEd,MAAM,MAAM,UAAU,GAAG;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC,MAAM,EAAE,CACF,WAAW,GACX,SAAS,GACT,UAAU,GACV,aAAa,GACb,WAAW,GACX,UAAU,GACV,SAAS,GACT,SAAS,GACT,aAAa,CAClB,EAAE,CAAA;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IACzC,MAAM,EAAE,CACF,WAAW,GACX,SAAS,GACT,UAAU,GACV,aAAa,GACb,WAAW,GACX,UAAU,GACV,SAAS,GACT,SAAS,GACT,eAAe,GACf,aAAa,CAClB,EAAE,CAAA;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,gBAAgB,EAAE,CAAA;IACjC,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,GAAG,CAAA;CACd,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE;QAChB,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,gBAAgB,CAAC,EAAE;QACf,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;KAChB,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD,MAAM,MAAM,WAAW,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAA;CACZ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
export declare function PluginTRPCProvider({ trpc, children }: {
|
|
4
|
+
trpc: unknown;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}): React.JSX.Element;
|
|
7
|
+
/**
|
|
8
|
+
* Read the host app's tRPC React client from inside a plugin client component.
|
|
9
|
+
*
|
|
10
|
+
* Must be rendered under `NextjsCmsProvider` (the host app's `<NextjsCmsProvider>` does this automatically).
|
|
11
|
+
* Plugins pass a structural type describing the procedures they call, e.g.:
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* type TrpcLike = { myPlugin?: { getData: { useQuery: () => { data?: unknown } } } }
|
|
15
|
+
* const trpc = usePluginTRPC<TrpcLike>()
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function usePluginTRPC<TTRPC>(): TTRPC;
|
|
19
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/plugins/client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoC,MAAM,OAAO,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,qBAE5F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,KAOhB,KAAK,CACvB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React, { createContext, useContext } from 'react';
|
|
3
|
+
const PluginTRPCContext = createContext(null);
|
|
4
|
+
export function PluginTRPCProvider({ trpc, children }) {
|
|
5
|
+
return React.createElement(PluginTRPCContext.Provider, { value: trpc }, children);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Read the host app's tRPC React client from inside a plugin client component.
|
|
9
|
+
*
|
|
10
|
+
* Must be rendered under `NextjsCmsProvider` (the host app's `<NextjsCmsProvider>` does this automatically).
|
|
11
|
+
* Plugins pass a structural type describing the procedures they call, e.g.:
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* type TrpcLike = { myPlugin?: { getData: { useQuery: () => { data?: unknown } } } }
|
|
15
|
+
* const trpc = usePluginTRPC<TrpcLike>()
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export function usePluginTRPC() {
|
|
19
|
+
const trpc = useContext(PluginTRPCContext);
|
|
20
|
+
if (!trpc) {
|
|
21
|
+
throw new Error('usePluginTRPC must be used inside NextjsCmsProvider.');
|
|
22
|
+
}
|
|
23
|
+
return trpc;
|
|
24
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CMSPluginMultiRoute, CMSPluginSingleRoute } from './loader.js';
|
|
2
|
+
export declare function definePlugin(plugin: CMSPluginSingleRoute): CMSPluginSingleRoute;
|
|
3
|
+
export declare function definePlugin(plugin: CMSPluginMultiRoute): CMSPluginMultiRoute;
|
|
4
|
+
//# sourceMappingURL=define.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/plugins/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvF,wBAAgB,YAAY,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAAA;AAChF,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const PLUGIN_PACKAGE_PREFIX = "@nextjscms/plugin-";
|
|
2
|
+
/**
|
|
3
|
+
* Derive a plugin's canonical internal name from its npm package name.
|
|
4
|
+
*
|
|
5
|
+
* Convention: every plugin package MUST be named "@nextjscms/plugin-<slug>"
|
|
6
|
+
* (kebab-case slug). The derived name is "plugin_<slug_in_snake_case>".
|
|
7
|
+
*
|
|
8
|
+
* Examples:
|
|
9
|
+
* "@nextjscms/plugin-cpanel-dashboard" → "plugin_cpanel_dashboard"
|
|
10
|
+
* "@nextjscms/plugin-google-analytics" → "plugin_google_analytics"
|
|
11
|
+
*
|
|
12
|
+
* Throws on packages that do not follow the convention.
|
|
13
|
+
*/
|
|
14
|
+
export declare function derivePluginName(pluginPackage: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Derive a plugin's tRPC router key (camelCase) from its npm package name.
|
|
17
|
+
* Used as the key in the merged tRPC router (e.g. `trpc.cpanelDashboard.*`).
|
|
18
|
+
*
|
|
19
|
+
* Examples:
|
|
20
|
+
* "@nextjscms/plugin-cpanel-dashboard" → "cpanelDashboard"
|
|
21
|
+
* "@nextjscms/plugin-google-analytics" → "googleAnalytics"
|
|
22
|
+
*/
|
|
23
|
+
export declare function derivePluginRouterKey(pluginPackage: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Helper for plugin routers: derive the plugin's canonical name by reading
|
|
26
|
+
* its own package.json. Pass `import.meta.url` from the plugin's router file.
|
|
27
|
+
*
|
|
28
|
+
* Walks up from the calling module's directory until it finds a package.json
|
|
29
|
+
* with a "name" field, then applies {@link derivePluginName}.
|
|
30
|
+
*/
|
|
31
|
+
export declare function extractPluginName(importMetaUrl: string): string;
|
|
32
|
+
//# sourceMappingURL=derive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/plugins/derive.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,uBAAuB,CAAA;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAe9D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAanE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAmB/D"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
export const PLUGIN_PACKAGE_PREFIX = '@nextjscms/plugin-';
|
|
5
|
+
/**
|
|
6
|
+
* Derive a plugin's canonical internal name from its npm package name.
|
|
7
|
+
*
|
|
8
|
+
* Convention: every plugin package MUST be named "@nextjscms/plugin-<slug>"
|
|
9
|
+
* (kebab-case slug). The derived name is "plugin_<slug_in_snake_case>".
|
|
10
|
+
*
|
|
11
|
+
* Examples:
|
|
12
|
+
* "@nextjscms/plugin-cpanel-dashboard" → "plugin_cpanel_dashboard"
|
|
13
|
+
* "@nextjscms/plugin-google-analytics" → "plugin_google_analytics"
|
|
14
|
+
*
|
|
15
|
+
* Throws on packages that do not follow the convention.
|
|
16
|
+
*/
|
|
17
|
+
export function derivePluginName(pluginPackage) {
|
|
18
|
+
if (!pluginPackage.startsWith(PLUGIN_PACKAGE_PREFIX)) {
|
|
19
|
+
throw new Error(`[plugins] Invalid plugin package "${pluginPackage}". ` +
|
|
20
|
+
`Plugin packages must be named "${PLUGIN_PACKAGE_PREFIX}<slug>".`);
|
|
21
|
+
}
|
|
22
|
+
const slug = pluginPackage.slice(PLUGIN_PACKAGE_PREFIX.length);
|
|
23
|
+
if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(slug)) {
|
|
24
|
+
throw new Error(`[plugins] Invalid plugin slug in "${pluginPackage}". ` +
|
|
25
|
+
`Slug must be lowercase kebab-case (a-z, 0-9, hyphen).`);
|
|
26
|
+
}
|
|
27
|
+
return `plugin_${slug.replace(/-/g, '_')}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Derive a plugin's tRPC router key (camelCase) from its npm package name.
|
|
31
|
+
* Used as the key in the merged tRPC router (e.g. `trpc.cpanelDashboard.*`).
|
|
32
|
+
*
|
|
33
|
+
* Examples:
|
|
34
|
+
* "@nextjscms/plugin-cpanel-dashboard" → "cpanelDashboard"
|
|
35
|
+
* "@nextjscms/plugin-google-analytics" → "googleAnalytics"
|
|
36
|
+
*/
|
|
37
|
+
export function derivePluginRouterKey(pluginPackage) {
|
|
38
|
+
if (!pluginPackage.startsWith(PLUGIN_PACKAGE_PREFIX)) {
|
|
39
|
+
throw new Error(`[plugins] Invalid plugin package "${pluginPackage}". ` +
|
|
40
|
+
`Plugin packages must be named "${PLUGIN_PACKAGE_PREFIX}<slug>".`);
|
|
41
|
+
}
|
|
42
|
+
const slug = pluginPackage.slice(PLUGIN_PACKAGE_PREFIX.length);
|
|
43
|
+
const [first, ...rest] = slug.split('-').filter(Boolean);
|
|
44
|
+
if (!first) {
|
|
45
|
+
throw new Error(`[plugins] Invalid plugin slug in "${pluginPackage}".`);
|
|
46
|
+
}
|
|
47
|
+
return first + rest.map((part) => part[0]?.toUpperCase() + part.slice(1)).join('');
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Helper for plugin routers: derive the plugin's canonical name by reading
|
|
51
|
+
* its own package.json. Pass `import.meta.url` from the plugin's router file.
|
|
52
|
+
*
|
|
53
|
+
* Walks up from the calling module's directory until it finds a package.json
|
|
54
|
+
* with a "name" field, then applies {@link derivePluginName}.
|
|
55
|
+
*/
|
|
56
|
+
export function extractPluginName(importMetaUrl) {
|
|
57
|
+
const startDir = path.dirname(fileURLToPath(importMetaUrl));
|
|
58
|
+
let dir = startDir;
|
|
59
|
+
while (true) {
|
|
60
|
+
const candidate = path.join(dir, 'package.json');
|
|
61
|
+
if (fs.existsSync(candidate)) {
|
|
62
|
+
try {
|
|
63
|
+
const parsed = JSON.parse(fs.readFileSync(candidate, 'utf8'));
|
|
64
|
+
if (parsed.name)
|
|
65
|
+
return derivePluginName(parsed.name);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// continue walking
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const parent = path.dirname(dir);
|
|
72
|
+
if (parent === dir) {
|
|
73
|
+
throw new Error(`[plugins] extractPluginName: could not find package.json starting from "${startDir}".`);
|
|
74
|
+
}
|
|
75
|
+
dir = parent;
|
|
76
|
+
}
|
|
77
|
+
}
|
package/dist/plugins/loader.d.ts
CHANGED
|
@@ -10,12 +10,10 @@ export interface CMSPlugin {
|
|
|
10
10
|
*/
|
|
11
11
|
title: MultilingualString;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* @example 'plugin_cpanel_emails'
|
|
13
|
+
* Optional sidebar icon for the plugin group (multi-route, when `groupRoutes !== false`).
|
|
14
|
+
* Single-route plugins use the route's own `icon` instead.
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
registryName: string;
|
|
16
|
+
icon?: IconName;
|
|
19
17
|
version?: string;
|
|
20
18
|
router?: any;
|
|
21
19
|
routes?: PluginRoute[];
|
|
@@ -24,9 +22,16 @@ export interface CMSPlugin {
|
|
|
24
22
|
export interface PluginInitContext {
|
|
25
23
|
config: PluginConfigEntry;
|
|
26
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* A plugin instance after loading. The canonical "name" is derived from the
|
|
27
|
+
* plugin's npm package name (see {@link derivePluginName}), not authored.
|
|
28
|
+
*/
|
|
29
|
+
export interface ResolvedPlugin extends CMSPlugin {
|
|
30
|
+
name: string;
|
|
31
|
+
}
|
|
27
32
|
export interface LoadedPlugin {
|
|
28
33
|
config: PluginConfigEntry;
|
|
29
|
-
plugin:
|
|
34
|
+
plugin: ResolvedPlugin;
|
|
30
35
|
moduleName: string;
|
|
31
36
|
routerKey: string;
|
|
32
37
|
}
|
|
@@ -44,6 +49,13 @@ export interface PluginRoute {
|
|
|
44
49
|
title: MultilingualString;
|
|
45
50
|
icon?: IconName | undefined;
|
|
46
51
|
component?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Dot-paths into the host's tRPC router (e.g. `'cpanelEmails.getEmails'`) that the
|
|
54
|
+
* host should prefetch on the server before rendering the plugin's component. The
|
|
55
|
+
* results are placed into the React Query cache and hydrated into the client tree
|
|
56
|
+
* via the host-rendered `<HydrateClient>` boundary.
|
|
57
|
+
*/
|
|
58
|
+
prefetch?: string | string[];
|
|
47
59
|
}
|
|
48
60
|
export type PluginRouteWithoutComponent = Omit<PluginRoute, 'component'> & {
|
|
49
61
|
component?: never;
|
|
@@ -54,7 +66,6 @@ export type PluginRouteWithComponent = PluginRoute & {
|
|
|
54
66
|
export interface LoadedPluginRoute extends PluginRoute {
|
|
55
67
|
pluginId: string;
|
|
56
68
|
pluginName: string;
|
|
57
|
-
pluginRegistryName: string;
|
|
58
69
|
}
|
|
59
70
|
type CMSPluginBase = Omit<CMSPlugin, 'routes'>;
|
|
60
71
|
export type CMSPluginSingleRoute = CMSPluginBase & {
|
|
@@ -69,6 +80,39 @@ export declare const loadPluginModule: (pluginPackage: string) => Promise<unknow
|
|
|
69
80
|
export declare function loadPlugins(): Promise<LoadedPlugin[]>;
|
|
70
81
|
export declare function getPluginRoutes(): Promise<LoadedPluginRoute[]>;
|
|
71
82
|
export declare function findPluginRouteByPath(path: string): Promise<LoadedPluginRoute | null>;
|
|
83
|
+
/**
|
|
84
|
+
* Sidebar entry for a plugin: either a single leaf (single-route plugin or
|
|
85
|
+
* multi-route with `groupRoutes: false`) or a collapsible group containing the
|
|
86
|
+
* plugin's routes as children (multi-route, `groupRoutes !== false`).
|
|
87
|
+
*/
|
|
88
|
+
export type PluginNavLeaf = {
|
|
89
|
+
kind: 'leaf';
|
|
90
|
+
title: MultilingualString;
|
|
91
|
+
path: string;
|
|
92
|
+
icon?: IconName;
|
|
93
|
+
pluginName: string;
|
|
94
|
+
};
|
|
95
|
+
export type PluginNavGroup = {
|
|
96
|
+
kind: 'group';
|
|
97
|
+
title: MultilingualString;
|
|
98
|
+
icon?: IconName;
|
|
99
|
+
pluginName: string;
|
|
100
|
+
children: {
|
|
101
|
+
title: MultilingualString;
|
|
102
|
+
path: string;
|
|
103
|
+
icon?: IconName;
|
|
104
|
+
}[];
|
|
105
|
+
};
|
|
106
|
+
export type PluginNavItem = PluginNavLeaf | PluginNavGroup;
|
|
107
|
+
/**
|
|
108
|
+
* Returns the navigation structure for all loaded plugins, accounting for
|
|
109
|
+
* `groupRoutes` and per-plugin `override` resolution. Single-route plugins emit
|
|
110
|
+
* one leaf. Multi-route plugins emit a group (default) or one leaf per route
|
|
111
|
+
* when `groupRoutes: false`.
|
|
112
|
+
*
|
|
113
|
+
* Pure data — does not filter by privilege. The sidebar layer applies that.
|
|
114
|
+
*/
|
|
115
|
+
export declare function getPluginNavigation(): Promise<PluginNavItem[]>;
|
|
72
116
|
/**
|
|
73
117
|
* Gets the dashboard override plugin route if configured.
|
|
74
118
|
* @returns The LoadedPluginRoute for the dashboard override, or null if not configured
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/plugins/loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/plugins/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/loader.js
CHANGED
|
@@ -5,30 +5,24 @@ if (typeof window !== 'undefined') {
|
|
|
5
5
|
import { createRequire } from 'module';
|
|
6
6
|
import path from 'path';
|
|
7
7
|
import { getCMSConfig, getConfigImportVersion } from '../core/config/index.js';
|
|
8
|
-
import
|
|
8
|
+
import { derivePluginName, derivePluginRouterKey } from './derive.js';
|
|
9
|
+
import { logWarn, logError, logInfo } from '../utils/console-log.js';
|
|
9
10
|
export function definePlugin(plugin) {
|
|
10
11
|
return plugin;
|
|
11
12
|
}
|
|
12
|
-
const deriveRouterKey = (packageName) => {
|
|
13
|
-
const baseName = packageName.split('/').pop() ?? packageName;
|
|
14
|
-
const withoutPrefix = baseName.startsWith('plugin-') ? baseName.slice('plugin-'.length) : baseName;
|
|
15
|
-
const parts = withoutPrefix.split(/[-_]/g).filter(Boolean);
|
|
16
|
-
const [first, ...rest] = parts;
|
|
17
|
-
let key = first ? first + rest.map((part) => part[0]?.toUpperCase() + part.slice(1)).join('') : withoutPrefix;
|
|
18
|
-
if (!key) {
|
|
19
|
-
key = baseName.replace(/[^A-Za-z0-9_]/g, '_');
|
|
20
|
-
}
|
|
21
|
-
if (!/^[A-Za-z_]/.test(key)) {
|
|
22
|
-
key = `plugin${key ? key[0]?.toUpperCase() + key.slice(1) : ''}`;
|
|
23
|
-
}
|
|
24
|
-
return key;
|
|
25
|
-
};
|
|
26
13
|
let cachedPlugins = null;
|
|
27
14
|
let cachedConfigVersion = -1;
|
|
28
15
|
let loadPromise = null;
|
|
29
16
|
let jitiInstance = null;
|
|
30
17
|
const appRequire = createRequire(path.join(process.cwd(), 'package.json'));
|
|
31
18
|
const pkgRequire = createRequire(import.meta.url);
|
|
19
|
+
let serverOnlyEmptyPath = null;
|
|
20
|
+
const getServerOnlyEmptyPath = () => {
|
|
21
|
+
if (!serverOnlyEmptyPath) {
|
|
22
|
+
serverOnlyEmptyPath = path.join(path.dirname(pkgRequire.resolve('server-only')), 'empty.js');
|
|
23
|
+
}
|
|
24
|
+
return serverOnlyEmptyPath;
|
|
25
|
+
};
|
|
32
26
|
const resolvePluginPath = (pluginPackage) => {
|
|
33
27
|
try {
|
|
34
28
|
return appRequire.resolve(pluginPackage);
|
|
@@ -54,6 +48,9 @@ export const loadPluginModule = async (pluginPackage) => {
|
|
|
54
48
|
fsCache: true,
|
|
55
49
|
moduleCache: true,
|
|
56
50
|
rebuildFsCache: true,
|
|
51
|
+
alias: {
|
|
52
|
+
'server-only': getServerOnlyEmptyPath(),
|
|
53
|
+
},
|
|
57
54
|
// Optional: nicer debugging in stack traces (off by default in jiti)
|
|
58
55
|
// sourceMaps: true,
|
|
59
56
|
});
|
|
@@ -70,31 +67,59 @@ function resolvePluginInstance(registration, mod) {
|
|
|
70
67
|
? mod.default()
|
|
71
68
|
: (mod.default ?? mod.plugin);
|
|
72
69
|
if (!candidate) {
|
|
73
|
-
|
|
70
|
+
logWarn('plugins', `Plugin "${registration.package}" did not return a plugin instance.`);
|
|
74
71
|
return null;
|
|
75
72
|
}
|
|
76
|
-
if (!candidate.
|
|
77
|
-
|
|
73
|
+
if (!candidate.title) {
|
|
74
|
+
logWarn('plugins', `Plugin "${registration.package}" is missing required "title". Skipping.`);
|
|
78
75
|
return null;
|
|
79
76
|
}
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const isSingleRoute =
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
77
|
+
const name = derivePluginName(registration.package);
|
|
78
|
+
const pkg = registration.package;
|
|
79
|
+
const override = registration.override;
|
|
80
|
+
const declaredRoutes = candidate.routes ?? [];
|
|
81
|
+
const isSingleRoute = declaredRoutes.length <= 1;
|
|
82
|
+
const groupRoutes = registration.groupRoutes ?? true;
|
|
83
|
+
// Validate override.routes keys against declared paths
|
|
84
|
+
if (override?.routes) {
|
|
85
|
+
const declaredPaths = new Set(declaredRoutes.map((r) => r.path));
|
|
86
|
+
for (const path of Object.keys(override.routes)) {
|
|
87
|
+
if (!declaredPaths.has(path)) {
|
|
88
|
+
const known = Array.from(declaredPaths).join(', ') || '(none)';
|
|
89
|
+
logWarn('plugins', `override.routes["${path}"] in "${pkg}" does not match any declared route. Known paths: ${known}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Warn on ineffective override shapes
|
|
94
|
+
if (!isSingleRoute && groupRoutes === false && (override?.title || override?.icon)) {
|
|
95
|
+
logWarn('plugins', `override.title / override.icon set for "${pkg}" but groupRoutes is false — group label is not rendered, so these have no effect.`);
|
|
96
|
+
}
|
|
97
|
+
// Resolve route titles/icons
|
|
98
|
+
const resolvedRoutes = declaredRoutes.map((route) => {
|
|
99
|
+
let title = route.title;
|
|
100
|
+
let icon = route.icon;
|
|
101
|
+
// Single-route: plugin-level override applies to the route itself.
|
|
102
|
+
if (isSingleRoute) {
|
|
103
|
+
if (override?.title)
|
|
104
|
+
title = override.title;
|
|
105
|
+
if (override?.icon)
|
|
106
|
+
icon = override.icon;
|
|
107
|
+
}
|
|
108
|
+
// Per-route override always wins over plugin-level.
|
|
109
|
+
const routeOverride = override?.routes?.[route.path];
|
|
110
|
+
if (routeOverride?.title)
|
|
111
|
+
title = routeOverride.title;
|
|
112
|
+
if (routeOverride?.icon)
|
|
113
|
+
icon = routeOverride.icon;
|
|
114
|
+
return { ...route, title, icon };
|
|
93
115
|
});
|
|
116
|
+
// Resolve plugin-level title/icon — only used as group label for multi-route grouped plugins.
|
|
117
|
+
const resolvedPluginTitle = !isSingleRoute && override?.title ? override.title : candidate.title;
|
|
118
|
+
const resolvedPluginIcon = !isSingleRoute && override?.icon ? override.icon : candidate.icon;
|
|
94
119
|
return {
|
|
95
|
-
title:
|
|
96
|
-
|
|
97
|
-
|
|
120
|
+
title: resolvedPluginTitle,
|
|
121
|
+
icon: resolvedPluginIcon,
|
|
122
|
+
name,
|
|
98
123
|
version: candidate.version,
|
|
99
124
|
router: candidate.router,
|
|
100
125
|
routes: resolvedRoutes,
|
|
@@ -113,13 +138,15 @@ export async function loadPlugins() {
|
|
|
113
138
|
const config = await getCMSConfig();
|
|
114
139
|
const registrations = config.plugins ?? [];
|
|
115
140
|
const seenPackages = new Set();
|
|
116
|
-
const
|
|
141
|
+
const seenNames = new Set();
|
|
117
142
|
const loaded = [];
|
|
118
143
|
for (const registration of registrations) {
|
|
119
144
|
if (!registration.package) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
145
|
+
logWarn('plugins', 'Plugin registration is missing "package" field — check your cms.config.ts. Skipping.');
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
if (seenPackages.has(registration.package)) {
|
|
149
|
+
logError('plugins', `Duplicate plugin package "${registration.package}" registered. Skipping duplicate.`);
|
|
123
150
|
continue;
|
|
124
151
|
}
|
|
125
152
|
const mod = await loadPluginModule(registration.package);
|
|
@@ -128,30 +155,25 @@ export async function loadPlugins() {
|
|
|
128
155
|
const plugin = resolvePluginInstance(registration, mod);
|
|
129
156
|
if (!plugin)
|
|
130
157
|
continue;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
console.error(`[plugins] Duplicate plugin package "${registration.package}" registered. Skipping duplicate.`);
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
if (seenRouterKeys.has(routerKey)) {
|
|
137
|
-
console.error(`[plugins] Duplicate plugin router key "${routerKey}" derived from "${registration.package}". Skipping.`);
|
|
158
|
+
if (seenNames.has(plugin.name)) {
|
|
159
|
+
logError('plugins', `Duplicate plugin name "${plugin.name}" derived from "${registration.package}". Skipping.`);
|
|
138
160
|
continue;
|
|
139
161
|
}
|
|
140
162
|
seenPackages.add(registration.package);
|
|
141
|
-
|
|
163
|
+
seenNames.add(plugin.name);
|
|
142
164
|
if (typeof plugin.init === 'function') {
|
|
143
165
|
try {
|
|
144
166
|
await plugin.init({ config: registration });
|
|
145
167
|
}
|
|
146
168
|
catch (error) {
|
|
147
|
-
|
|
169
|
+
logError('plugins', `Plugin "${registration.package}" init failed.`, error);
|
|
148
170
|
}
|
|
149
171
|
}
|
|
150
172
|
loaded.push({
|
|
151
173
|
config: registration,
|
|
152
174
|
plugin,
|
|
153
175
|
moduleName: registration.package,
|
|
154
|
-
routerKey,
|
|
176
|
+
routerKey: derivePluginRouterKey(registration.package),
|
|
155
177
|
});
|
|
156
178
|
}
|
|
157
179
|
cachedPlugins = loaded;
|
|
@@ -172,17 +194,16 @@ export async function getPluginRoutes() {
|
|
|
172
194
|
const requireComponent = routes.length > 1;
|
|
173
195
|
return routes.map((route) => {
|
|
174
196
|
if (requireComponent && !route.component) {
|
|
175
|
-
|
|
197
|
+
logWarn('plugins', `Route "${route.path}" from "${entry.config.package}" should set "component" because the plugin defines multiple routes.`);
|
|
176
198
|
}
|
|
177
199
|
if (!requireComponent && route.component) {
|
|
178
|
-
|
|
200
|
+
logInfo('plugins', `Route "${route.path}" from "${entry.config.package}" should omit "component" and export a default component, because the plugin defines a single route.`);
|
|
179
201
|
}
|
|
180
202
|
return {
|
|
181
203
|
...route,
|
|
182
204
|
title: route.title,
|
|
183
205
|
pluginId: entry.config.package,
|
|
184
206
|
pluginName: entry.plugin.name,
|
|
185
|
-
pluginRegistryName: entry.plugin.registryName,
|
|
186
207
|
};
|
|
187
208
|
});
|
|
188
209
|
});
|
|
@@ -192,6 +213,45 @@ export async function findPluginRouteByPath(path) {
|
|
|
192
213
|
const routes = await getPluginRoutes();
|
|
193
214
|
return routes.find((route) => route.path === normalized) ?? null;
|
|
194
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Returns the navigation structure for all loaded plugins, accounting for
|
|
218
|
+
* `groupRoutes` and per-plugin `override` resolution. Single-route plugins emit
|
|
219
|
+
* one leaf. Multi-route plugins emit a group (default) or one leaf per route
|
|
220
|
+
* when `groupRoutes: false`.
|
|
221
|
+
*
|
|
222
|
+
* Pure data — does not filter by privilege. The sidebar layer applies that.
|
|
223
|
+
*/
|
|
224
|
+
export async function getPluginNavigation() {
|
|
225
|
+
const loaded = await loadPlugins();
|
|
226
|
+
const items = [];
|
|
227
|
+
for (const entry of loaded) {
|
|
228
|
+
const routes = entry.plugin.routes ?? [];
|
|
229
|
+
if (routes.length === 0)
|
|
230
|
+
continue;
|
|
231
|
+
const isSingleRoute = routes.length === 1;
|
|
232
|
+
const groupRoutes = entry.config.groupRoutes ?? true;
|
|
233
|
+
if (isSingleRoute || !groupRoutes) {
|
|
234
|
+
for (const route of routes) {
|
|
235
|
+
items.push({
|
|
236
|
+
kind: 'leaf',
|
|
237
|
+
title: route.title,
|
|
238
|
+
path: route.path,
|
|
239
|
+
icon: route.icon,
|
|
240
|
+
pluginName: entry.plugin.name,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
continue;
|
|
244
|
+
}
|
|
245
|
+
items.push({
|
|
246
|
+
kind: 'group',
|
|
247
|
+
title: entry.plugin.title,
|
|
248
|
+
icon: entry.plugin.icon,
|
|
249
|
+
pluginName: entry.plugin.name,
|
|
250
|
+
children: routes.map((r) => ({ title: r.title, path: r.path, icon: r.icon })),
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
return items;
|
|
254
|
+
}
|
|
195
255
|
/**
|
|
196
256
|
* Gets the dashboard override plugin route if configured.
|
|
197
257
|
* @returns The LoadedPluginRoute for the dashboard override, or null if not configured
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { PluginConfigEntry } from '../core/config/config-loader.js';
|
|
2
|
+
import type { MultilingualString } from '../translations/language-utils.js';
|
|
3
|
+
import type { IconName } from 'lucide-react/dynamic';
|
|
4
|
+
export interface PluginManifestRoute {
|
|
5
|
+
path: string;
|
|
6
|
+
title: MultilingualString;
|
|
7
|
+
icon?: IconName;
|
|
8
|
+
component?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface PluginManifest {
|
|
11
|
+
name: string;
|
|
12
|
+
registryName: string;
|
|
13
|
+
title: MultilingualString;
|
|
14
|
+
routes?: PluginManifestRoute[];
|
|
15
|
+
}
|
|
16
|
+
export interface LoadedPluginManifestRoute extends PluginManifestRoute {
|
|
17
|
+
pluginId: string;
|
|
18
|
+
pluginName: string;
|
|
19
|
+
pluginRegistryName: string;
|
|
20
|
+
}
|
|
21
|
+
export interface LoadedPluginManifest {
|
|
22
|
+
config: PluginConfigEntry;
|
|
23
|
+
manifest: PluginManifest;
|
|
24
|
+
moduleName: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function getPluginManifests(): Promise<LoadedPluginManifest[]>;
|
|
27
|
+
export declare function getPluginRouteManifests(): Promise<LoadedPluginManifestRoute[]>;
|
|
28
|
+
//# sourceMappingURL=manifest.d.ts.map
|