@syncbridge/common 1.1.4 → 2.0.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/app-factory.d.ts +29 -0
- package/{processor-factory.js → app-factory.js} +64 -44
- package/app-factory.js.map +1 -0
- package/classes/{processor-base.d.ts → app-base.d.ts} +3 -3
- package/classes/app-base.js +11 -0
- package/classes/app-base.js.map +1 -0
- package/classes/base-element.d.ts +3 -0
- package/classes/base-element.js +2 -0
- package/classes/base-element.js.map +1 -1
- package/classes/component-base.d.ts +6 -6
- package/classes/component-base.js +2 -2
- package/classes/component-base.js.map +1 -1
- package/classes/log-channel-writer.d.ts +32 -0
- package/classes/log-channel-writer.js +97 -0
- package/classes/log-channel-writer.js.map +1 -0
- package/classes/runnable.d.ts +6 -0
- package/classes/runnable.js +22 -0
- package/classes/runnable.js.map +1 -1
- package/constants.d.ts +1 -1
- package/constants.js +1 -1
- package/decorators/app-events.decorator.d.ts +5 -0
- package/decorators/{processor-events.decorator.js → app-events.decorator.js} +1 -1
- package/decorators/app-events.decorator.js.map +1 -0
- package/decorators/app.decorator.d.ts +29 -0
- package/decorators/{processor.decorator.js → app.decorator.js} +25 -19
- package/decorators/app.decorator.js.map +1 -0
- package/decorators/component.decorator.js +13 -5
- package/decorators/component.decorator.js.map +1 -1
- package/decorators/define-variable.decorator.d.ts +6 -1
- package/decorators/define-variable.decorator.js +5 -1
- package/decorators/define-variable.decorator.js.map +1 -1
- package/decorators/log-channel.decorator.d.ts +97 -0
- package/decorators/log-channel.decorator.js +34 -0
- package/decorators/log-channel.decorator.js.map +1 -0
- package/decorators/use-component.decorator.d.ts +2 -2
- package/decorators/use-component.decorator.js +1 -1
- package/decorators/use-component.decorator.js.map +1 -1
- package/decorators/use-variables.decorator.d.ts +2 -2
- package/host-link/host-identity.d.ts +53 -0
- package/host-link/host-identity.js +140 -0
- package/host-link/host-identity.js.map +1 -0
- package/host-link/host-link.d.ts +43 -0
- package/host-link/host-link.js +54 -0
- package/host-link/host-link.js.map +1 -0
- package/host-link/host-packages.d.ts +25 -0
- package/host-link/host-packages.js +10 -0
- package/host-link/host-packages.js.map +1 -0
- package/host-link/host-workers.d.ts +75 -0
- package/host-link/host-workers.js +29 -0
- package/host-link/host-workers.js.map +1 -0
- package/host-link/multiplexer.d.ts +115 -0
- package/host-link/multiplexer.js +289 -0
- package/host-link/multiplexer.js.map +1 -0
- package/host-link/sealed-box.d.ts +21 -0
- package/host-link/sealed-box.js +104 -0
- package/host-link/sealed-box.js.map +1 -0
- package/index.d.ts +16 -3
- package/index.js +16 -3
- package/index.js.map +1 -1
- package/models/enums/enum-source.enum.d.ts +11 -0
- package/models/enums/enum-source.enum.js +22 -0
- package/models/enums/enum-source.enum.js.map +1 -0
- package/models/enums/log-channel-kind.d.ts +7 -0
- package/models/enums/log-channel-kind.js +14 -0
- package/models/enums/log-channel-kind.js.map +1 -0
- package/models/enums/service-status.d.ts +5 -1
- package/models/enums/service-status.js +4 -0
- package/models/enums/service-status.js.map +1 -1
- package/models/enums/worker-permission.enum.d.ts +16 -0
- package/models/enums/worker-permission.enum.js +28 -0
- package/models/enums/worker-permission.enum.js.map +1 -0
- package/models/index.d.ts +6 -1
- package/models/index.js +6 -1
- package/models/index.js.map +1 -1
- package/models/metadata/app-metadata.d.ts +6 -0
- package/models/metadata/{processor-metadata.js → app-metadata.js} +7 -7
- package/models/metadata/app-metadata.js.map +1 -0
- package/models/metadata/element-component-metadata.d.ts +2 -0
- package/models/metadata/element-component-metadata.js +10 -2
- package/models/metadata/element-component-metadata.js.map +1 -1
- package/models/metadata/element-metadata.d.ts +8 -0
- package/models/metadata/element-metadata.js +40 -0
- package/models/metadata/element-metadata.js.map +1 -1
- package/models/metadata/log-channel-metadata.d.ts +23 -0
- package/models/metadata/log-channel-metadata.js +73 -0
- package/models/metadata/log-channel-metadata.js.map +1 -0
- package/models/metadata/plugin-metadata.d.ts +15 -0
- package/models/metadata/plugin-metadata.js +66 -0
- package/models/metadata/plugin-metadata.js.map +1 -0
- package/models/metadata/variable-metadata.d.ts +3 -0
- package/models/metadata/variable-metadata.js +15 -1
- package/models/metadata/variable-metadata.js.map +1 -1
- package/models/profile/log-options.d.ts +17 -0
- package/models/profile/log-options.js +58 -1
- package/models/profile/log-options.js.map +1 -1
- package/models/profile/profile.d.ts +2 -2
- package/models/profile/profile.js +9 -9
- package/models/profile/profile.js.map +1 -1
- package/package.json +2 -2
- package/registry/docs-sidebar.d.ts +59 -0
- package/registry/docs-sidebar.js +170 -0
- package/registry/docs-sidebar.js.map +1 -0
- package/registry/extension-package.d.ts +40 -13
- package/registry/extension-package.js +59 -18
- package/registry/extension-package.js.map +1 -1
- package/registry/extension-registry.d.ts +16 -16
- package/registry/extension-registry.js +59 -44
- package/registry/extension-registry.js.map +1 -1
- package/registry/module-catalog.d.ts +31 -0
- package/registry/module-catalog.js +89 -0
- package/registry/module-catalog.js.map +1 -0
- package/registry/package-docs.d.ts +98 -0
- package/registry/package-docs.js +160 -0
- package/registry/package-docs.js.map +1 -0
- package/registry/package-manifest.d.ts +54 -3
- package/registry/package-manifest.js +59 -1
- package/registry/package-manifest.js.map +1 -1
- package/utils/decode-profile.d.ts +18 -2
- package/utils/decode-profile.js +65 -9
- package/utils/decode-profile.js.map +1 -1
- package/utils/encrypt-helpers.d.ts +7 -0
- package/utils/encrypt-helpers.js +12 -5
- package/utils/encrypt-helpers.js.map +1 -1
- package/utils/materialize-metadata.d.ts +3 -3
- package/utils/materialize-metadata.js +16 -12
- package/utils/materialize-metadata.js.map +1 -1
- package/utils/normalize-metadata.d.ts +23 -4
- package/utils/normalize-metadata.js +52 -6
- package/utils/normalize-metadata.js.map +1 -1
- package/utils/type-guards.d.ts +2 -2
- package/utils/type-guards.js +4 -4
- package/utils/type-guards.js.map +1 -1
- package/utils/worker-permissions.d.ts +25 -0
- package/utils/worker-permissions.js +60 -0
- package/utils/worker-permissions.js.map +1 -0
- package/classes/processor-base.js +0 -11
- package/classes/processor-base.js.map +0 -1
- package/decorators/processor-events.decorator.d.ts +0 -5
- package/decorators/processor-events.decorator.js.map +0 -1
- package/decorators/processor.decorator.d.ts +0 -29
- package/decorators/processor.decorator.js.map +0 -1
- package/models/metadata/processor-metadata.d.ts +0 -6
- package/models/metadata/processor-metadata.js.map +0 -1
- package/processor-factory.d.ts +0 -26
- package/processor-factory.js.map +0 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ResponsiveMap } from '@opra/common';
|
|
2
2
|
import { AsyncEventEmitter } from 'node-events-async';
|
|
3
3
|
import type { Type } from 'ts-gems';
|
|
4
|
+
import { AppBase } from '../classes/app-base.js';
|
|
4
5
|
import { ComponentBase } from '../classes/component-base.js';
|
|
5
|
-
import {
|
|
6
|
-
import { ComponentExtension, ExtensionPackage, ProcessorExtension } from './extension-package.js';
|
|
6
|
+
import { AppExtension, ComponentExtension, ExtensionPackage } from './extension-package.js';
|
|
7
7
|
declare const instanceSymbol: unique symbol;
|
|
8
8
|
/**
|
|
9
|
-
* The `ExtensionRegistry` class is responsible for managing component and
|
|
9
|
+
* The `ExtensionRegistry` class is responsible for managing component and app extensions,
|
|
10
10
|
* as well as handling the registration of extension packages. It provides methods to locate and
|
|
11
11
|
* retrieve extensions by their class name and version, and offers the ability to dynamically register
|
|
12
|
-
* packages, components, and
|
|
12
|
+
* packages, components, and apps at runtime.
|
|
13
13
|
*
|
|
14
14
|
* @class ExtensionRegistry
|
|
15
15
|
*/
|
|
@@ -22,7 +22,7 @@ export declare class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
22
22
|
registry: ExtensionRegistry;
|
|
23
23
|
}[];
|
|
24
24
|
/**
|
|
25
|
-
* The registry the static methods act on, and so
|
|
25
|
+
* The registry the static methods act on, and so AppFactory and
|
|
26
26
|
* the metadata helpers: the process's own, unless another is in use.
|
|
27
27
|
*/
|
|
28
28
|
static get current(): ExtensionRegistry;
|
|
@@ -37,27 +37,27 @@ export declare class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
37
37
|
static get packages(): ResponsiveMap<ExtensionPackage[]>;
|
|
38
38
|
static get components(): ResponsiveMap<ComponentExtension[]>;
|
|
39
39
|
static get componentsByClassName(): ResponsiveMap<ComponentExtension[]>;
|
|
40
|
-
static get
|
|
41
|
-
static get
|
|
40
|
+
static get apps(): ResponsiveMap<AppExtension[]>;
|
|
41
|
+
static get appsByClassName(): ResponsiveMap<AppExtension[]>;
|
|
42
42
|
static setResolver(fn: ExtensionRegistry.PackageResolver | undefined): void;
|
|
43
43
|
static findComponent(uri: string, version?: string): ComponentExtension | undefined;
|
|
44
44
|
static getComponent(uri: string, version?: string): ComponentExtension;
|
|
45
|
-
static
|
|
46
|
-
static
|
|
45
|
+
static findApp(uri: string, version?: string): AppExtension | undefined;
|
|
46
|
+
static getApp(uri: string, version?: string): AppExtension;
|
|
47
47
|
static registerPackage(specifier: string): Promise<ExtensionPackage>;
|
|
48
48
|
static registerClass<T extends ComponentBase>(ctor: Type<T>): Promise<ComponentExtension>;
|
|
49
|
-
static registerClass<T extends
|
|
49
|
+
static registerClass<T extends AppBase>(ctor: Type<T>): Promise<AppExtension>;
|
|
50
50
|
static storePackage(pkg: ExtensionPackage): void;
|
|
51
51
|
static onRegisterPackage(fn: (pkg: ExtensionPackage) => void): void;
|
|
52
52
|
static onRegisterComponent(fn: (pkg: ComponentExtension) => void): void;
|
|
53
|
-
static
|
|
53
|
+
static onRegisterApp(fn: (pkg: AppExtension) => void): void;
|
|
54
54
|
constructor();
|
|
55
55
|
protected _resolver: ExtensionRegistry.PackageResolver;
|
|
56
56
|
readonly packages: ResponsiveMap<ExtensionPackage[]>;
|
|
57
57
|
readonly components: ResponsiveMap<ComponentExtension[]>;
|
|
58
58
|
readonly componentsByClassName: ResponsiveMap<ComponentExtension[]>;
|
|
59
|
-
readonly
|
|
60
|
-
readonly
|
|
59
|
+
readonly apps: ResponsiveMap<AppExtension[]>;
|
|
60
|
+
readonly appsByClassName: ResponsiveMap<AppExtension[]>;
|
|
61
61
|
/**
|
|
62
62
|
*
|
|
63
63
|
*/
|
|
@@ -73,17 +73,17 @@ export declare class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
73
73
|
/**
|
|
74
74
|
*
|
|
75
75
|
*/
|
|
76
|
-
|
|
76
|
+
findApp(uri: string, version?: string): AppExtension | undefined;
|
|
77
77
|
/**
|
|
78
78
|
*
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
getApp(uri: string, version?: string): AppExtension;
|
|
81
81
|
/**
|
|
82
82
|
*
|
|
83
83
|
*/
|
|
84
84
|
registerPackage(specifier: string): Promise<ExtensionPackage>;
|
|
85
85
|
registerClass<T extends ComponentBase>(ctor: Type<T>): Promise<ComponentExtension>;
|
|
86
|
-
registerClass<T extends
|
|
86
|
+
registerClass<T extends AppBase>(ctor: Type<T>): Promise<AppExtension>;
|
|
87
87
|
/**
|
|
88
88
|
*
|
|
89
89
|
*/
|
|
@@ -5,20 +5,21 @@ import { updateErrorMessage } from '@jsopen/objects';
|
|
|
5
5
|
import { ResponsiveMap } from '@opra/common';
|
|
6
6
|
import { AsyncEventEmitter } from 'node-events-async';
|
|
7
7
|
import semver from 'semver';
|
|
8
|
+
import { AppBase } from '../classes/app-base.js';
|
|
8
9
|
import { ComponentBase } from '../classes/component-base.js';
|
|
9
|
-
import { ProcessorBase } from '../classes/processor-base.js';
|
|
10
10
|
import { SbError } from '../classes/sb-error.js';
|
|
11
11
|
import { CLASS_METADATA, CLASS_TYPE } from '../constants.js';
|
|
12
12
|
import { locatePackageJson } from '../utils/locate-package-json.js';
|
|
13
|
-
import { normalizeComponentMetadata,
|
|
13
|
+
import { normalizeAppMetadata, normalizeComponentMetadata, normalizePluginMetadata, } from '../utils/normalize-metadata.js';
|
|
14
14
|
import { uriToId } from '../utils/uri-to-id.js';
|
|
15
|
-
import { ComponentExtension, ExtensionPackage,
|
|
15
|
+
import { AppExtension, ComponentExtension, ExtensionPackage, PluginExtension, } from './extension-package.js';
|
|
16
|
+
import { readExtensionManifest } from './package-manifest.js';
|
|
16
17
|
const instanceSymbol = Symbol.for('instance');
|
|
17
18
|
/**
|
|
18
|
-
* The `ExtensionRegistry` class is responsible for managing component and
|
|
19
|
+
* The `ExtensionRegistry` class is responsible for managing component and app extensions,
|
|
19
20
|
* as well as handling the registration of extension packages. It provides methods to locate and
|
|
20
21
|
* retrieve extensions by their class name and version, and offers the ability to dynamically register
|
|
21
|
-
* packages, components, and
|
|
22
|
+
* packages, components, and apps at runtime.
|
|
22
23
|
*
|
|
23
24
|
* @class ExtensionRegistry
|
|
24
25
|
*/
|
|
@@ -29,7 +30,7 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
29
30
|
/** Registries made current with `use`, the last one in effect */
|
|
30
31
|
static _inUse = [];
|
|
31
32
|
/**
|
|
32
|
-
* The registry the static methods act on, and so
|
|
33
|
+
* The registry the static methods act on, and so AppFactory and
|
|
33
34
|
* the metadata helpers: the process's own, unless another is in use.
|
|
34
35
|
*/
|
|
35
36
|
static get current() {
|
|
@@ -64,11 +65,11 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
64
65
|
static get componentsByClassName() {
|
|
65
66
|
return this[instanceSymbol].componentsByClassName;
|
|
66
67
|
}
|
|
67
|
-
static get
|
|
68
|
-
return this[instanceSymbol].
|
|
68
|
+
static get apps() {
|
|
69
|
+
return this[instanceSymbol].apps;
|
|
69
70
|
}
|
|
70
|
-
static get
|
|
71
|
-
return this[instanceSymbol].
|
|
71
|
+
static get appsByClassName() {
|
|
72
|
+
return this[instanceSymbol].appsByClassName;
|
|
72
73
|
}
|
|
73
74
|
static setResolver(fn) {
|
|
74
75
|
this[instanceSymbol].setResolver(fn);
|
|
@@ -79,11 +80,11 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
79
80
|
static getComponent(uri, version = '*') {
|
|
80
81
|
return this[instanceSymbol].getComponent(uri, version);
|
|
81
82
|
}
|
|
82
|
-
static
|
|
83
|
-
return this[instanceSymbol].
|
|
83
|
+
static findApp(uri, version = '*') {
|
|
84
|
+
return this[instanceSymbol].findApp(uri, version);
|
|
84
85
|
}
|
|
85
|
-
static
|
|
86
|
-
return this[instanceSymbol].
|
|
86
|
+
static getApp(uri, version = '*') {
|
|
87
|
+
return this[instanceSymbol].getApp(uri, version);
|
|
87
88
|
}
|
|
88
89
|
static async registerPackage(specifier) {
|
|
89
90
|
return this[instanceSymbol].registerPackage(specifier);
|
|
@@ -100,8 +101,8 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
100
101
|
static onRegisterComponent(fn) {
|
|
101
102
|
this[instanceSymbol].on('register-component', fn);
|
|
102
103
|
}
|
|
103
|
-
static
|
|
104
|
-
this[instanceSymbol].on('register-
|
|
104
|
+
static onRegisterApp(fn) {
|
|
105
|
+
this[instanceSymbol].on('register-app', fn);
|
|
105
106
|
}
|
|
106
107
|
constructor() {
|
|
107
108
|
super();
|
|
@@ -111,8 +112,8 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
111
112
|
packages = new ResponsiveMap();
|
|
112
113
|
components = new ResponsiveMap();
|
|
113
114
|
componentsByClassName = new ResponsiveMap();
|
|
114
|
-
|
|
115
|
-
|
|
115
|
+
apps = new ResponsiveMap();
|
|
116
|
+
appsByClassName = new ResponsiveMap();
|
|
116
117
|
/**
|
|
117
118
|
*
|
|
118
119
|
*/
|
|
@@ -140,18 +141,18 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
140
141
|
/**
|
|
141
142
|
*
|
|
142
143
|
*/
|
|
143
|
-
|
|
144
|
-
return this.
|
|
144
|
+
findApp(uri, version = '*') {
|
|
145
|
+
return this.apps
|
|
145
146
|
.get(uriToId(uri))
|
|
146
147
|
?.find(v => semver.satisfies(v.version, version || '*'));
|
|
147
148
|
}
|
|
148
149
|
/**
|
|
149
150
|
*
|
|
150
151
|
*/
|
|
151
|
-
|
|
152
|
-
const cmp = this.
|
|
152
|
+
getApp(uri, version = '*') {
|
|
153
|
+
const cmp = this.findApp(uri, version);
|
|
153
154
|
if (!cmp) {
|
|
154
|
-
throw new SbError(`
|
|
155
|
+
throw new SbError(`App "${uri}${version ? `:${version}` : ''}" not found in registry`);
|
|
155
156
|
}
|
|
156
157
|
return cmp;
|
|
157
158
|
}
|
|
@@ -168,8 +169,11 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
168
169
|
if (path.isAbsolute(entryPoint) && process.platform === 'win32') {
|
|
169
170
|
entryPoint = pathToFileURL(entryPoint).href;
|
|
170
171
|
}
|
|
172
|
+
const read = readExtensionManifest(pkgDir, pkgJson);
|
|
171
173
|
const pkg = new ExtensionPackage();
|
|
172
|
-
pkg.assignManifest(pkgJson);
|
|
174
|
+
pkg.assignManifest(pkgJson, read?.manifest);
|
|
175
|
+
for (const field of read?.unknownFields || [])
|
|
176
|
+
pkg.warnings.push(`The manifest of "${pkg.name}": "${field}" is not known, passed over`);
|
|
173
177
|
pkg.path = pkgDir;
|
|
174
178
|
pkg.entryPoint = entryPoint;
|
|
175
179
|
const module = await import(entryPoint);
|
|
@@ -194,19 +198,30 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
194
198
|
pkg.components = pkg.components || [];
|
|
195
199
|
pkg.components.push(new ComponentExtension(pkg, ctorName, metadata));
|
|
196
200
|
}
|
|
197
|
-
else if (classType === '
|
|
201
|
+
else if (classType === 'app') {
|
|
198
202
|
try {
|
|
199
|
-
metadata = await
|
|
203
|
+
metadata = await normalizeAppMetadata(metadata);
|
|
200
204
|
}
|
|
201
205
|
catch (e) {
|
|
202
|
-
updateErrorMessage(e, `
|
|
206
|
+
updateErrorMessage(e, `App (${ctorName}) metadata validation error. ` + e.message);
|
|
203
207
|
pkg.errors.push(e);
|
|
204
208
|
continue;
|
|
205
209
|
}
|
|
206
210
|
if (metadata.abstract)
|
|
207
211
|
continue;
|
|
208
|
-
pkg.
|
|
209
|
-
pkg.
|
|
212
|
+
pkg.apps = pkg.apps || [];
|
|
213
|
+
pkg.apps.push(new AppExtension(pkg, ctorName, metadata));
|
|
214
|
+
}
|
|
215
|
+
else if (classType === 'plugin') {
|
|
216
|
+
try {
|
|
217
|
+
metadata = await normalizePluginMetadata(metadata);
|
|
218
|
+
}
|
|
219
|
+
catch (e) {
|
|
220
|
+
updateErrorMessage(e, `Plugin (${ctorName}) metadata validation error. ` + e.message);
|
|
221
|
+
pkg.errors.push(e);
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
pkg.plugins.push(new PluginExtension(pkg, ctorName, metadata));
|
|
210
225
|
}
|
|
211
226
|
}
|
|
212
227
|
this.storePackage(pkg);
|
|
@@ -222,8 +237,8 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
222
237
|
if (classType === 'component') {
|
|
223
238
|
metadata = await normalizeComponentMetadata(metadata);
|
|
224
239
|
}
|
|
225
|
-
else if (classType === '
|
|
226
|
-
metadata = await
|
|
240
|
+
else if (classType === 'app') {
|
|
241
|
+
metadata = await normalizeAppMetadata(metadata);
|
|
227
242
|
}
|
|
228
243
|
else
|
|
229
244
|
/* c8 ignore next */
|
|
@@ -250,8 +265,8 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
250
265
|
pkg.components.push(out);
|
|
251
266
|
}
|
|
252
267
|
else {
|
|
253
|
-
out = new
|
|
254
|
-
pkg.
|
|
268
|
+
out = new AppExtension(pkg, ctor.name, metadata, ctor);
|
|
269
|
+
pkg.apps.push(out);
|
|
255
270
|
}
|
|
256
271
|
this.storePackage(pkg);
|
|
257
272
|
return out;
|
|
@@ -273,8 +288,8 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
273
288
|
pkgVersions.sort((a, b) => semver.compare(b.version, a.version));
|
|
274
289
|
if (pkg.components?.length) {
|
|
275
290
|
for (const cmp of pkg.components) {
|
|
276
|
-
if (this.
|
|
277
|
-
throw new SbError(`Component "${cmp.uri}" is already registered as
|
|
291
|
+
if (this.findApp(cmp.uri, '*'))
|
|
292
|
+
throw new SbError(`Component "${cmp.uri}" is already registered as an app.`);
|
|
278
293
|
/** Store to components */
|
|
279
294
|
const id = uriToId(cmp.uri);
|
|
280
295
|
let items = this.components.get(id);
|
|
@@ -301,16 +316,16 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
301
316
|
this.emitSafe('register-component', cmp);
|
|
302
317
|
}
|
|
303
318
|
}
|
|
304
|
-
if (pkg.
|
|
305
|
-
for (const prc of pkg.
|
|
319
|
+
if (pkg.apps?.length) {
|
|
320
|
+
for (const prc of pkg.apps) {
|
|
306
321
|
if (this.findComponent(prc.uri, '*'))
|
|
307
|
-
throw new SbError(`
|
|
308
|
-
/** Store to
|
|
322
|
+
throw new SbError(`App "${prc.uri}" is already registered as a component.`);
|
|
323
|
+
/** Store to apps */
|
|
309
324
|
const id = uriToId(prc.uri);
|
|
310
|
-
let items = this.
|
|
325
|
+
let items = this.apps.get(id);
|
|
311
326
|
if (!items) {
|
|
312
327
|
items = [];
|
|
313
|
-
this.
|
|
328
|
+
this.apps.set(id, items);
|
|
314
329
|
}
|
|
315
330
|
i = items.findIndex(v => v.version === prc.version);
|
|
316
331
|
if (i >= 0)
|
|
@@ -320,10 +335,10 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
320
335
|
items.sort((a, b) => semver.compare(b.version, a.version));
|
|
321
336
|
}
|
|
322
337
|
/** Store to componentsByClassName */
|
|
323
|
-
items = this.
|
|
338
|
+
items = this.apps.get(prc.className);
|
|
324
339
|
if (!items) {
|
|
325
340
|
items = [];
|
|
326
|
-
this.
|
|
341
|
+
this.appsByClassName.set(prc.className, items);
|
|
327
342
|
}
|
|
328
343
|
i = items.findIndex(v => v.version === prc.version);
|
|
329
344
|
if (i >= 0)
|
|
@@ -332,7 +347,7 @@ export class ExtensionRegistry extends AsyncEventEmitter {
|
|
|
332
347
|
items.push(prc);
|
|
333
348
|
items.sort((a, b) => semver.compare(b.version, a.version));
|
|
334
349
|
}
|
|
335
|
-
this.emitSafe('register-
|
|
350
|
+
this.emitSafe('register-app', prc);
|
|
336
351
|
}
|
|
337
352
|
}
|
|
338
353
|
this.emitSafe('register-package', pkg);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-registry.js","sourceRoot":"","sources":["../../src/registry/extension-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extension-registry.js","sourceRoot":"","sources":["../../src/registry/extension-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const SUMMARY_MAX_LENGTH = 160;
|
|
2
|
+
export declare const SCREENSHOTS_MAX = 8;
|
|
3
|
+
/** A summary as told: one in the package's docs language, or one per language */
|
|
4
|
+
export type ModuleSummary = string | Record<string, string>;
|
|
5
|
+
/** What the Marketplace is told of a module, as its makers wrote it */
|
|
6
|
+
export interface ModuleCatalogInput {
|
|
7
|
+
className: string;
|
|
8
|
+
summary?: ModuleSummary;
|
|
9
|
+
screenshots?: string[];
|
|
10
|
+
}
|
|
11
|
+
/** What is kept of it: its summary by language, its screenshots' paths */
|
|
12
|
+
export interface ModuleCatalog {
|
|
13
|
+
summary?: Record<string, string>;
|
|
14
|
+
screenshots?: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A module's Marketplace fields checked, and made what is kept: its
|
|
18
|
+
* summary by language (one alone, in the package's docs language), its
|
|
19
|
+
* screenshots as paths in the package (docs/<ClassName>/...), each among
|
|
20
|
+
* its documents. Problems told, none thrown: spm and the registry tell
|
|
21
|
+
* them their own way.
|
|
22
|
+
*/
|
|
23
|
+
export declare function checkModuleCatalog(input: ModuleCatalogInput, context: {
|
|
24
|
+
/** The package's docs language */
|
|
25
|
+
docsLanguage: string;
|
|
26
|
+
/** A file is among the package's documents */
|
|
27
|
+
hasDoc: (file: string) => boolean;
|
|
28
|
+
}): {
|
|
29
|
+
catalog: ModuleCatalog;
|
|
30
|
+
problems: string[];
|
|
31
|
+
};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { DOC_TYPES, DOCS_DIR, isDocsLanguage } from './package-docs.js';
|
|
2
|
+
/*
|
|
3
|
+
* How an app or a component is told in the Marketplace: what it is for, in
|
|
4
|
+
* a sentence (its summary), and how it looks (its screenshots, among its
|
|
5
|
+
* documents - not installed). Told by its makers on @App / @Component,
|
|
6
|
+
* checked by spm as it packs and by the registry as it takes the package.
|
|
7
|
+
* Where it is shown - what it does, what it talks to - is not its own to
|
|
8
|
+
* tell: the registry's groups, asked for in Console and decided there.
|
|
9
|
+
*/
|
|
10
|
+
export const SUMMARY_MAX_LENGTH = 160;
|
|
11
|
+
export const SCREENSHOTS_MAX = 8;
|
|
12
|
+
/**
|
|
13
|
+
* A module's Marketplace fields checked, and made what is kept: its
|
|
14
|
+
* summary by language (one alone, in the package's docs language), its
|
|
15
|
+
* screenshots as paths in the package (docs/<ClassName>/...), each among
|
|
16
|
+
* its documents. Problems told, none thrown: spm and the registry tell
|
|
17
|
+
* them their own way.
|
|
18
|
+
*/
|
|
19
|
+
export function checkModuleCatalog(input, context) {
|
|
20
|
+
const problems = [];
|
|
21
|
+
const catalog = {};
|
|
22
|
+
const name = input.className;
|
|
23
|
+
if (input.summary !== undefined) {
|
|
24
|
+
const told = typeof input.summary === 'string'
|
|
25
|
+
? { [context.docsLanguage]: input.summary }
|
|
26
|
+
: input.summary && typeof input.summary === 'object'
|
|
27
|
+
? input.summary
|
|
28
|
+
: {};
|
|
29
|
+
if (typeof input.summary !== 'string' && !Object.keys(told).length)
|
|
30
|
+
problems.push(`${name}'s summary is a sentence, or one per language: { en: '...', tr: '...' }`);
|
|
31
|
+
const summary = {};
|
|
32
|
+
for (const [language, text] of Object.entries(told)) {
|
|
33
|
+
if (!isDocsLanguage(language)) {
|
|
34
|
+
problems.push(`${name}'s summary is told in "${language}", not a language: en, tr, pt-BR...`);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (typeof text !== 'string' || !text.trim()) {
|
|
38
|
+
problems.push(`${name}'s summary in ${language} is empty`);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const sentence = text.trim().replace(/\s+/g, ' ');
|
|
42
|
+
if (sentence.length > SUMMARY_MAX_LENGTH) {
|
|
43
|
+
problems.push(`${name}'s summary in ${language} is ${sentence.length} characters: ${SUMMARY_MAX_LENGTH} at most, a sentence`);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
summary[language] = sentence;
|
|
47
|
+
}
|
|
48
|
+
if (Object.keys(summary).length)
|
|
49
|
+
catalog.summary = summary;
|
|
50
|
+
}
|
|
51
|
+
if (input.screenshots !== undefined) {
|
|
52
|
+
const own = `${DOCS_DIR}/${name}/`;
|
|
53
|
+
const screenshots = [];
|
|
54
|
+
for (const shot of input.screenshots) {
|
|
55
|
+
/* Told within its own documents' folder, or as a path in the package */
|
|
56
|
+
const file = typeof shot === 'string'
|
|
57
|
+
? shot.startsWith(own)
|
|
58
|
+
? shot
|
|
59
|
+
: own + shot.replace(/^\.?\//, '')
|
|
60
|
+
: '';
|
|
61
|
+
if (!file.startsWith(own) || file.includes('..')) {
|
|
62
|
+
problems.push(`${name}'s screenshot ${String(shot)} is not in ${own}: its own documents`);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
const type = DOC_TYPES[extensionOf(file)];
|
|
66
|
+
if (type?.kind !== 'image') {
|
|
67
|
+
problems.push(`${name}'s screenshot ${file} is not an image: PNG, JPEG, GIF, WebP or SVG`);
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (!context.hasDoc(file)) {
|
|
71
|
+
problems.push(`${name}'s screenshot ${file} is not among the package's documents`);
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
screenshots.push(file);
|
|
75
|
+
}
|
|
76
|
+
if (screenshots.length > SCREENSHOTS_MAX)
|
|
77
|
+
problems.push(`${name} tells ${screenshots.length} screenshots: ${SCREENSHOTS_MAX} at most`);
|
|
78
|
+
else if (screenshots.length)
|
|
79
|
+
catalog.screenshots = [...new Set(screenshots)];
|
|
80
|
+
}
|
|
81
|
+
return { catalog, problems };
|
|
82
|
+
}
|
|
83
|
+
/** A file's extension, lower-cased: ".png" */
|
|
84
|
+
function extensionOf(file) {
|
|
85
|
+
const base = file.slice(file.lastIndexOf('/') + 1);
|
|
86
|
+
const dot = base.lastIndexOf('.');
|
|
87
|
+
return dot > 0 ? base.slice(dot).toLowerCase() : '';
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=module-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-catalog.js","sourceRoot":"","sources":["../../src/registry/module-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A package's documents: docs/ in its source, put in what spm packs, taken
|
|
3
|
+
* out of it by the registry on publish - the field reads them from the
|
|
4
|
+
* registry, never from what it installs.
|
|
5
|
+
*
|
|
6
|
+
* docs/<ClassName>/README.md an app's, component's or plugin's page
|
|
7
|
+
* docs/<ClassName>/** its documents
|
|
8
|
+
* docs/** the package's own (guides/, images/)
|
|
9
|
+
*
|
|
10
|
+
* A document is Markdown or PDF; an image is what they show. A document's
|
|
11
|
+
* languages share its name, each other than the package's own before its
|
|
12
|
+
* extension: network.md, network.tr.md, network.pt-BR.md - the one naming
|
|
13
|
+
* none in the language the manifest's `docsLanguage` names (English, if
|
|
14
|
+
* none). A document may be in another language alone (user-guide.en.pdf).
|
|
15
|
+
* How they are listed, a sidebar.json may tell (see docs-sidebar).
|
|
16
|
+
*/
|
|
17
|
+
export declare const DOCS_DIR = "docs";
|
|
18
|
+
/** An app's, component's or plugin's page, in docs/<ClassName>/ */
|
|
19
|
+
export declare const README_FILE = "README.md";
|
|
20
|
+
/** The language of documents that name none, when the manifest names none */
|
|
21
|
+
export declare const DEFAULT_DOCS_LANGUAGE = "en";
|
|
22
|
+
/** All of a package's documents together, at most */
|
|
23
|
+
export declare const DOCS_MAX_TOTAL_BYTES: number;
|
|
24
|
+
/** What a file in docs/ is: read as a page, or shown in one */
|
|
25
|
+
export type DocKind = 'document' | 'image';
|
|
26
|
+
export interface DocType {
|
|
27
|
+
kind: DocKind;
|
|
28
|
+
contentType: string;
|
|
29
|
+
/** Its largest: larger, it is refused */
|
|
30
|
+
maxBytes: number;
|
|
31
|
+
}
|
|
32
|
+
/** The files docs/ may hold, by extension: no other is packed */
|
|
33
|
+
export declare const DOC_TYPES: Readonly<Record<string, DocType>>;
|
|
34
|
+
/**
|
|
35
|
+
* A directory in docs/ named as a class would be (UdpSocket): an app's,
|
|
36
|
+
* component's or plugin's. Others (guides, images, API) the package's own.
|
|
37
|
+
*/
|
|
38
|
+
export declare const CLASS_DIR_PATTERN: RegExp;
|
|
39
|
+
/** Whether a document may be in this language: `tr`, `pt-BR` */
|
|
40
|
+
export declare function isDocsLanguage(code: unknown): code is string;
|
|
41
|
+
/** A file in docs/, as its path tells */
|
|
42
|
+
export interface DocPath {
|
|
43
|
+
/** Its path in the package: docs/ModbusGateway/network.tr.md */
|
|
44
|
+
path: string;
|
|
45
|
+
type: DocType;
|
|
46
|
+
/** The class whose documents it is among; none: the package's own */
|
|
47
|
+
module?: string;
|
|
48
|
+
/** Its language, when its name tells one: a document's alone */
|
|
49
|
+
language?: string;
|
|
50
|
+
/**
|
|
51
|
+
* The document it is in another language of: docs/ModbusGateway/network.md
|
|
52
|
+
* for network.tr.md - itself, when it names no language
|
|
53
|
+
*/
|
|
54
|
+
base: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Reads what a file in docs/ is from its path in the package (docs/...).
|
|
58
|
+
* Throws when docs/ may not hold it: a type it does not take, a name a link
|
|
59
|
+
* would need escaping for, or no path in docs/.
|
|
60
|
+
*/
|
|
61
|
+
export declare function parseDocPath(file: string): DocPath;
|
|
62
|
+
/**
|
|
63
|
+
* Whether a file's bytes are what its extension says: a PDF begins as one,
|
|
64
|
+
* an image as its type, Markdown is UTF-8 text
|
|
65
|
+
*/
|
|
66
|
+
export declare function isDocContent(type: DocType, content: Uint8Array): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* What a publish tells of a package's documents when it leaves out the
|
|
69
|
+
* files its registry has: at the archive's root, each file of docs/ by its
|
|
70
|
+
* path, SHA-256 and size. A Markdown document is always sent - what it
|
|
71
|
+
* tells is read from it; a PDF or an image may be left out, if the
|
|
72
|
+
* package's earlier versions had it.
|
|
73
|
+
*/
|
|
74
|
+
export declare const DOCS_MANIFEST_FILE = "syncbridge-docs.json";
|
|
75
|
+
export interface DocsManifest {
|
|
76
|
+
files: DocsManifestFile[];
|
|
77
|
+
}
|
|
78
|
+
export interface DocsManifestFile {
|
|
79
|
+
/** Its path in the package: docs/Gw/user-guide.en.pdf */
|
|
80
|
+
path: string;
|
|
81
|
+
/** Hex SHA-256 of the file */
|
|
82
|
+
sha256: string;
|
|
83
|
+
size: number;
|
|
84
|
+
}
|
|
85
|
+
/** Whether a publish may leave a file out, its registry having it */
|
|
86
|
+
export declare function isDocLeftOut(type: DocType): boolean;
|
|
87
|
+
/** A file of a package, by its path in the archive and its SHA-256 */
|
|
88
|
+
export interface PackageFileDigest {
|
|
89
|
+
path: string;
|
|
90
|
+
sha256: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* What a package holds, as one SHA-256: every file of its archive by its
|
|
94
|
+
* path and hash, sorted - the same however the archive was zipped, or
|
|
95
|
+
* whichever of its documents' files were left out (told by their hash).
|
|
96
|
+
* A publish is approved for it.
|
|
97
|
+
*/
|
|
98
|
+
export declare function packageDigest(files: readonly PackageFileDigest[]): Promise<string>;
|