Relocate applications, geenforce, knowledgebase, and machines - each owns only its own views dir, so a clean move to plugins/<name>/frontend/ (views/ + routes.js, core imports rewritten to @/). geenforce's entryForm.js helper + its vitest spec move with it (ManifestEditor imports it as a sibling). Machinery fixes this batch surfaced: - routes.gen.js codegen uses namespace imports (import * as p_x). A route file without a `toplevel` export is undefined on the namespace instead of a strict- ESM missing-binding build error. - vitest gains a `pretest` stage so plugin-frontend specs (now under plugins/<name>/frontend/) run from their staged copy in src/.plugins-staged/. Verified live: GE-Enforce (the most complex, uses the entryForm sibling helper) renders fully from its staged frontend. Build + 58 vitest + naming green.
30 lines
785 B
JavaScript
30 lines
785 B
JavaScript
/**
|
|
* Knowledge Base plugin routes
|
|
*/
|
|
export default [
|
|
{
|
|
path: 'knowledgebase',
|
|
name: 'knowledgebase',
|
|
component: () => import('./views/KnowledgeBaseList.vue'),
|
|
meta: { plugin: 'knowledgebase' }
|
|
},
|
|
{
|
|
path: 'knowledgebase/new',
|
|
name: 'knowledgebase-new',
|
|
component: () => import('./views/KnowledgeBaseForm.vue'),
|
|
meta: { requiresAuth: true, plugin: 'knowledgebase' }
|
|
},
|
|
{
|
|
path: 'knowledgebase/:id',
|
|
name: 'knowledgebase-detail',
|
|
component: () => import('./views/KnowledgeBaseDetail.vue'),
|
|
meta: { plugin: 'knowledgebase' }
|
|
},
|
|
{
|
|
path: 'knowledgebase/:id/edit',
|
|
name: 'knowledgebase-edit',
|
|
component: () => import('./views/KnowledgeBaseForm.vue'),
|
|
meta: { requiresAuth: true, plugin: 'knowledgebase' }
|
|
}
|
|
]
|