@micro-cms/core 0.0.6 → 0.0.8

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/dist/index.d.ts CHANGED
@@ -1,8 +1,14 @@
1
1
  import { CmsModule } from '@micro-cms/types';
2
+ export declare class RouteRegistry {
3
+ private routes;
4
+ register(moduleName: string, routes: any[]): void;
5
+ getAllRoutes(): any[];
6
+ }
2
7
  export declare class App {
3
8
  private modules;
4
9
  private eventBus;
5
10
  private stateManager;
11
+ private routeRegistry;
6
12
  private capabilities;
7
13
  private configs;
8
14
  use(module: CmsModule, config?: Record<string, any>): this;
@@ -12,7 +18,9 @@ export declare class App {
12
18
  };
13
19
  get runtime(): {
14
20
  getCapability: <T = any>(cap: string) => T | undefined;
21
+ getRoutes: () => any[];
15
22
  };
16
23
  start(): Promise<void>;
17
24
  }
18
25
  export declare function createApp(): App;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAmC,MAAM,kBAAkB,CAAC;AA0E1F,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA6B;IAE3C,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IAI1C,YAAY;CAGb;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,OAAO,CAA2B;IAE1C,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAMvD,IAAI,OAAO;iBAEE,MAAM;uBACA,MAAM,KAAK,QAAQ;MAErC;IAED,IAAI,OAAO;wBAES,CAAC,aAAa,MAAM,KAAG,CAAC,GAAG,SAAS;;MAGvD;IAEK,KAAK;CA+BZ;AAED,wBAAgB,SAAS,QAExB"}
package/dist/index.js CHANGED
@@ -56,11 +56,23 @@ class StateManager {
56
56
  this.subscribers[key].push(callback);
57
57
  }
58
58
  }
59
+ export class RouteRegistry {
60
+ constructor() {
61
+ this.routes = {};
62
+ }
63
+ register(moduleName, routes) {
64
+ this.routes[moduleName] = routes;
65
+ }
66
+ getAllRoutes() {
67
+ return Object.values(this.routes).flat();
68
+ }
69
+ }
59
70
  export class App {
60
71
  constructor() {
61
72
  this.modules = [];
62
73
  this.eventBus = new EventBus();
63
74
  this.stateManager = new StateManager();
75
+ this.routeRegistry = new RouteRegistry();
64
76
  this.capabilities = {};
65
77
  this.configs = {};
66
78
  }
@@ -77,7 +89,8 @@ export class App {
77
89
  }
78
90
  get runtime() {
79
91
  return {
80
- getCapability: (cap) => this.capabilities[cap]
92
+ getCapability: (cap) => this.capabilities[cap],
93
+ getRoutes: () => this.routeRegistry.getAllRoutes()
81
94
  };
82
95
  }
83
96
  async start() {
@@ -85,7 +98,13 @@ export class App {
85
98
  console.log(`Loading module: ${mod.manifest.name} (v${mod.manifest.version})`);
86
99
  const context = {
87
100
  runtime: {
88
- register: (cap, impl) => { this.capabilities[cap] = impl; },
101
+ register: (cap, impl) => {
102
+ this.capabilities[cap] = impl;
103
+ // Special handling for route-provider
104
+ if (cap === 'route-provider' && typeof impl.getRoutes === 'function') {
105
+ this.routeRegistry.register(mod.manifest.name, impl.getRoutes());
106
+ }
107
+ },
89
108
  getCapability: (cap) => this.capabilities[cap]
90
109
  },
91
110
  events: {
@@ -107,3 +126,4 @@ export class App {
107
126
  export function createApp() {
108
127
  return new App();
109
128
  }
129
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micro-cms/core",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -16,7 +16,7 @@
16
16
  }
17
17
  },
18
18
  "dependencies": {
19
- "@micro-cms/types": "^0.0.5"
19
+ "@micro-cms/types": "^1.0.0"
20
20
  },
21
21
  "scripts": {
22
22
  "build": "tsc",