@hamak/microkernel-api 0.1.0
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/.turbo/turbo-build.log +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +68 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +27 -0
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +1 -0
- package/src/types.d.ts +68 -0
- package/src/types.d.ts.map +1 -0
- package/src/types.js +1 -0
- package/src/types.js.map +1 -0
- package/src/types.ts +13 -0
- package/tsconfig.json +11 -0
- package/tsconfig.lib.json +24 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
$ tsc -p tsconfig.lib.json
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export type Token<T = any> = string | symbol | {
|
|
2
|
+
new (...args: any[]): T;
|
|
3
|
+
};
|
|
4
|
+
export type CommandRegistry = {
|
|
5
|
+
register(id: string, handler: (...a: any[]) => any): void;
|
|
6
|
+
run(id: string, ...a: any[]): any;
|
|
7
|
+
has(id: string): boolean;
|
|
8
|
+
};
|
|
9
|
+
export type ViewRegistry = {
|
|
10
|
+
register(slot: string, viewFactory: any): void;
|
|
11
|
+
list(slot: string): any[];
|
|
12
|
+
};
|
|
13
|
+
export type Hooks = {
|
|
14
|
+
on(event: string, fn: (...a: any[]) => void): void;
|
|
15
|
+
off(event: string, fn: (...a: any[]) => void): void;
|
|
16
|
+
emit(event: string, ...a: any[]): void;
|
|
17
|
+
};
|
|
18
|
+
export type PluginManifest = {
|
|
19
|
+
name: string;
|
|
20
|
+
version: string;
|
|
21
|
+
entry: string;
|
|
22
|
+
baseUrl?: string;
|
|
23
|
+
dependsOn?: string[];
|
|
24
|
+
contributes?: {
|
|
25
|
+
commands?: Array<{
|
|
26
|
+
id: string;
|
|
27
|
+
title?: string;
|
|
28
|
+
}>;
|
|
29
|
+
views?: Array<{
|
|
30
|
+
slot: string;
|
|
31
|
+
id: string;
|
|
32
|
+
title?: string;
|
|
33
|
+
}>;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type ClassProvider<T = any> = {
|
|
37
|
+
provide: Token<T>;
|
|
38
|
+
useClass: {
|
|
39
|
+
new (...args: any[]): T;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export type ValueProvider<T = any> = {
|
|
43
|
+
provide: Token<T>;
|
|
44
|
+
useValue: T;
|
|
45
|
+
};
|
|
46
|
+
export type FactoryProvider<T = any> = {
|
|
47
|
+
provide: Token<T>;
|
|
48
|
+
useFactory: (...deps: any[]) => T;
|
|
49
|
+
deps?: Token[];
|
|
50
|
+
};
|
|
51
|
+
export type Provider<T = any> = ClassProvider<T> | ValueProvider<T> | FactoryProvider<T>;
|
|
52
|
+
export type ProvidedServices = {
|
|
53
|
+
resolve<T>(token: Token<T>): T;
|
|
54
|
+
commands: CommandRegistry;
|
|
55
|
+
views: ViewRegistry;
|
|
56
|
+
hooks: Hooks;
|
|
57
|
+
env?: Record<string, any>;
|
|
58
|
+
};
|
|
59
|
+
export type ActivateContext = ProvidedServices;
|
|
60
|
+
export interface IHost {
|
|
61
|
+
loadPlugins(manifests: Array<string | PluginManifest>): Promise<void>;
|
|
62
|
+
bootstrapAllAtRoot(): Promise<void>;
|
|
63
|
+
createChildHost(overrides?: Provider[], env?: Record<string, any>): IChildHost;
|
|
64
|
+
}
|
|
65
|
+
export interface IChildHost {
|
|
66
|
+
bootstrap(pluginNames?: string[] | 'all'): Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hamak/microkernel-api",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Microkernel API - Core interfaces and contracts",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/amah/app-framework.git",
|
|
12
|
+
"directory": "packages/microkernel/microkernel-api"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc -p tsconfig.lib.json",
|
|
19
|
+
"clean": "rm -rf dist"
|
|
20
|
+
},
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"import": "./dist/index.js"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
package/src/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
package/src/types.d.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export type Token<T = any> = string | symbol | {
|
|
2
|
+
new (...args: any[]): T;
|
|
3
|
+
};
|
|
4
|
+
export type CommandRegistry = {
|
|
5
|
+
register(id: string, handler: (...a: any[]) => any): void;
|
|
6
|
+
run(id: string, ...a: any[]): any;
|
|
7
|
+
has(id: string): boolean;
|
|
8
|
+
};
|
|
9
|
+
export type ViewRegistry = {
|
|
10
|
+
register(slot: string, viewFactory: any): void;
|
|
11
|
+
list(slot: string): any[];
|
|
12
|
+
};
|
|
13
|
+
export type Hooks = {
|
|
14
|
+
on(event: string, fn: (...a: any[]) => void): void;
|
|
15
|
+
off(event: string, fn: (...a: any[]) => void): void;
|
|
16
|
+
emit(event: string, ...a: any[]): void;
|
|
17
|
+
};
|
|
18
|
+
export type PluginManifest = {
|
|
19
|
+
name: string;
|
|
20
|
+
version: string;
|
|
21
|
+
entry: string;
|
|
22
|
+
baseUrl?: string;
|
|
23
|
+
dependsOn?: string[];
|
|
24
|
+
contributes?: {
|
|
25
|
+
commands?: Array<{
|
|
26
|
+
id: string;
|
|
27
|
+
title?: string;
|
|
28
|
+
}>;
|
|
29
|
+
views?: Array<{
|
|
30
|
+
slot: string;
|
|
31
|
+
id: string;
|
|
32
|
+
title?: string;
|
|
33
|
+
}>;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type ClassProvider<T = any> = {
|
|
37
|
+
provide: Token<T>;
|
|
38
|
+
useClass: {
|
|
39
|
+
new (...args: any[]): T;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export type ValueProvider<T = any> = {
|
|
43
|
+
provide: Token<T>;
|
|
44
|
+
useValue: T;
|
|
45
|
+
};
|
|
46
|
+
export type FactoryProvider<T = any> = {
|
|
47
|
+
provide: Token<T>;
|
|
48
|
+
useFactory: (...deps: any[]) => T;
|
|
49
|
+
deps?: Token[];
|
|
50
|
+
};
|
|
51
|
+
export type Provider<T = any> = ClassProvider<T> | ValueProvider<T> | FactoryProvider<T>;
|
|
52
|
+
export type ProvidedServices = {
|
|
53
|
+
resolve<T>(token: Token<T>): T;
|
|
54
|
+
commands: CommandRegistry;
|
|
55
|
+
views: ViewRegistry;
|
|
56
|
+
hooks: Hooks;
|
|
57
|
+
env?: Record<string, any>;
|
|
58
|
+
};
|
|
59
|
+
export type ActivateContext = ProvidedServices;
|
|
60
|
+
export interface IHost {
|
|
61
|
+
loadPlugins(manifests: Array<string | PluginManifest>): Promise<void>;
|
|
62
|
+
bootstrapAllAtRoot(): Promise<void>;
|
|
63
|
+
createChildHost(overrides?: Provider[], env?: Record<string, any>): IChildHost;
|
|
64
|
+
}
|
|
65
|
+
export interface IChildHost {
|
|
66
|
+
bootstrap(pluginNames?: string[] | 'all'): Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
|
package/src/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/src/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type Token<T = any> = string | symbol | { new (...args: any[]): T };
|
|
2
|
+
export type CommandRegistry = { register(id: string, handler: (...a: any[]) => any): void; run(id: string, ...a: any[]): any; has(id: string): boolean; };
|
|
3
|
+
export type ViewRegistry = { register(slot: string, viewFactory: any): void; list(slot: string): any[]; };
|
|
4
|
+
export type Hooks = { on(event: string, fn: (...a: any[]) => void): void; off(event: string, fn: (...a: any[]) => void): void; emit(event: string, ...a: any[]): void; };
|
|
5
|
+
export type PluginManifest = { name: string; version: string; entry: string; baseUrl?: string; dependsOn?: string[]; contributes?: { commands?: Array<{ id: string; title?: string }>; views?: Array<{ slot: string; id: string; title?: string }>; }; };
|
|
6
|
+
export type ClassProvider<T = any> = { provide: Token<T>; useClass: { new (...args: any[]): T } };
|
|
7
|
+
export type ValueProvider<T = any> = { provide: Token<T>; useValue: T };
|
|
8
|
+
export type FactoryProvider<T = any> = { provide: Token<T>; useFactory: (...deps: any[]) => T; deps?: Token[] };
|
|
9
|
+
export type Provider<T = any> = ClassProvider<T> | ValueProvider<T> | FactoryProvider<T>;
|
|
10
|
+
export type ProvidedServices = { resolve<T>(token: Token<T>): T; commands: CommandRegistry; views: ViewRegistry; hooks: Hooks; env?: Record<string, any>; };
|
|
11
|
+
export type ActivateContext = ProvidedServices;
|
|
12
|
+
export interface IHost { loadPlugins(manifests: Array<string | PluginManifest>): Promise<void>; bootstrapAllAtRoot(): Promise<void>; createChildHost(overrides?: Provider[], env?: Record<string, any>): IChildHost; }
|
|
13
|
+
export interface IChildHost { bootstrap(pluginNames?: string[] | 'all'): Promise<void>; }
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"lib": ["ES2020", "DOM"],
|
|
5
|
+
"module": "ESNext",
|
|
6
|
+
"moduleResolution": "Bundler",
|
|
7
|
+
"rootDir": "./src",
|
|
8
|
+
"outDir": "./dist",
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"declarationMap": true,
|
|
11
|
+
"sourceMap": true,
|
|
12
|
+
"strict": true,
|
|
13
|
+
"esModuleInterop": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"types": []
|
|
16
|
+
},
|
|
17
|
+
"include": [
|
|
18
|
+
"src/**/*.ts"
|
|
19
|
+
],
|
|
20
|
+
"exclude": [
|
|
21
|
+
"node_modules",
|
|
22
|
+
"dist"
|
|
23
|
+
]
|
|
24
|
+
}
|