@memberjunction/react-runtime 2.88.0 → 2.90.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 -1
- package/CHANGELOG.md +23 -0
- package/dist/compiler/component-compiler.d.ts +3 -0
- package/dist/compiler/component-compiler.d.ts.map +1 -1
- package/dist/compiler/component-compiler.js +114 -8
- package/dist/runtime/component-hierarchy.d.ts.map +1 -1
- package/dist/runtime/component-hierarchy.js +2 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utilities/index.d.ts +1 -0
- package/dist/utilities/index.d.ts.map +1 -1
- package/dist/utilities/index.js +1 -0
- package/dist/utilities/library-registry.d.ts +22 -0
- package/dist/utilities/library-registry.d.ts.map +1 -0
- package/dist/utilities/library-registry.js +549 -0
- package/package.json +4 -4
- package/src/compiler/component-compiler.ts +180 -9
- package/src/runtime/component-hierarchy.ts +2 -1
- package/src/types/index.ts +2 -0
- package/src/utilities/index.ts +1 -0
- package/src/utilities/library-registry.ts +644 -0
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @memberjunction/react-runtime
|
|
2
2
|
|
|
3
|
+
## 2.90.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 187527b: migration
|
|
8
|
+
- da3eb4f: migration
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [d4530d7]
|
|
13
|
+
- Updated dependencies [146ebcc]
|
|
14
|
+
- @memberjunction/interactive-component-types@2.90.0
|
|
15
|
+
- @memberjunction/core@2.90.0
|
|
16
|
+
- @memberjunction/global@2.90.0
|
|
17
|
+
|
|
18
|
+
## 2.89.0
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- @memberjunction/interactive-component-types@2.89.0
|
|
23
|
+
- @memberjunction/core@2.89.0
|
|
24
|
+
- @memberjunction/global@2.89.0
|
|
25
|
+
|
|
3
26
|
## 2.88.0
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
|
@@ -9,6 +9,9 @@ export declare class ComponentCompiler {
|
|
|
9
9
|
compile(options: CompileOptions): Promise<CompilationResult>;
|
|
10
10
|
private transpileComponent;
|
|
11
11
|
private wrapComponentCode;
|
|
12
|
+
private loadRequiredLibraries;
|
|
13
|
+
private loadStyles;
|
|
14
|
+
private loadScript;
|
|
12
15
|
private createComponentFactory;
|
|
13
16
|
private validateCompileOptions;
|
|
14
17
|
private generateComponentId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/component-compiler.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,cAAc,EAGf,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"component-compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/component-compiler.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,cAAc,EAGf,MAAM,UAAU,CAAC;AAqBlB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,aAAa,CAAM;gBAMf,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAS5C,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAS5B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyElE,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,iBAAiB;YA2CX,qBAAqB;YAoErB,UAAU;IA+BxB,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,sBAAsB;IAiE9B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,sBAAsB;IAa9B,UAAU,IAAI,IAAI;IAQlB,YAAY,IAAI,MAAM;IAQtB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;CAGpD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ComponentCompiler = void 0;
|
|
4
|
+
const library_registry_1 = require("../utilities/library-registry");
|
|
4
5
|
const DEFAULT_COMPILER_CONFIG = {
|
|
5
6
|
babel: {
|
|
6
7
|
presets: ['react'],
|
|
@@ -33,8 +34,9 @@ class ComponentCompiler {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
this.validateCompileOptions(options);
|
|
37
|
+
const loadedLibraries = await this.loadRequiredLibraries(options.libraries);
|
|
36
38
|
const transpiledCode = this.transpileComponent(options.componentCode, options.componentName, options);
|
|
37
|
-
const componentFactory = this.createComponentFactory(transpiledCode, options.componentName);
|
|
39
|
+
const componentFactory = this.createComponentFactory(transpiledCode, options.componentName, loadedLibraries);
|
|
38
40
|
const compiledComponent = {
|
|
39
41
|
component: componentFactory,
|
|
40
42
|
id: this.generateComponentId(options.componentName),
|
|
@@ -64,7 +66,7 @@ class ComponentCompiler {
|
|
|
64
66
|
if (!this.babelInstance) {
|
|
65
67
|
throw new Error('Babel instance not set. Call setBabelInstance() first.');
|
|
66
68
|
}
|
|
67
|
-
const wrappedCode = this.wrapComponentCode(code, componentName);
|
|
69
|
+
const wrappedCode = this.wrapComponentCode(code, componentName, options.libraries);
|
|
68
70
|
try {
|
|
69
71
|
const result = this.babelInstance.transform(wrappedCode, {
|
|
70
72
|
presets: options.babelPresets || this.config.babel.presets,
|
|
@@ -79,14 +81,20 @@ class ComponentCompiler {
|
|
|
79
81
|
throw new Error(`Transpilation failed: ${error.message}`);
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
|
-
wrapComponentCode(componentCode, componentName) {
|
|
84
|
+
wrapComponentCode(componentCode, componentName, libraries) {
|
|
85
|
+
const libraryDeclarations = libraries && libraries.length > 0
|
|
86
|
+
? libraries
|
|
87
|
+
.filter(lib => lib.globalVariable)
|
|
88
|
+
.map(lib => `const ${lib.globalVariable} = libraries['${lib.globalVariable}'];`)
|
|
89
|
+
.join('\n ')
|
|
90
|
+
: '';
|
|
83
91
|
return `
|
|
84
92
|
function createComponent(
|
|
85
93
|
React, ReactDOM,
|
|
86
94
|
useState, useEffect, useCallback, useMemo, useRef, useContext, useReducer, useLayoutEffect,
|
|
87
95
|
libraries, styles, console
|
|
88
96
|
) {
|
|
89
|
-
${componentCode}
|
|
97
|
+
${libraryDeclarations ? libraryDeclarations + '\n ' : ''}${componentCode}
|
|
90
98
|
|
|
91
99
|
// Ensure the component exists
|
|
92
100
|
if (typeof ${componentName} === 'undefined') {
|
|
@@ -108,13 +116,110 @@ class ComponentCompiler {
|
|
|
108
116
|
}
|
|
109
117
|
`;
|
|
110
118
|
}
|
|
111
|
-
|
|
119
|
+
async loadRequiredLibraries(libraries) {
|
|
120
|
+
const loadedLibraries = new Map();
|
|
121
|
+
if (!libraries || libraries.length === 0) {
|
|
122
|
+
return loadedLibraries;
|
|
123
|
+
}
|
|
124
|
+
if (typeof window === 'undefined') {
|
|
125
|
+
console.warn('Library loading is only supported in browser environments');
|
|
126
|
+
return loadedLibraries;
|
|
127
|
+
}
|
|
128
|
+
const loadPromises = libraries.map(async (lib) => {
|
|
129
|
+
if (!library_registry_1.LibraryRegistry.isApproved(lib.name)) {
|
|
130
|
+
throw new Error(`Library '${lib.name}' is not approved. Only approved libraries can be used.`);
|
|
131
|
+
}
|
|
132
|
+
const libraryDef = library_registry_1.LibraryRegistry.getLibrary(lib.name);
|
|
133
|
+
if (!libraryDef) {
|
|
134
|
+
throw new Error(`Library '${lib.name}' not found in registry`);
|
|
135
|
+
}
|
|
136
|
+
const resolvedVersion = library_registry_1.LibraryRegistry.resolveVersion(lib.name, lib.version);
|
|
137
|
+
const cdnUrl = library_registry_1.LibraryRegistry.getCdnUrl(lib.name, resolvedVersion);
|
|
138
|
+
if (!cdnUrl) {
|
|
139
|
+
throw new Error(`No CDN URL found for library '${lib.name}' version '${lib.version || 'default'}'`);
|
|
140
|
+
}
|
|
141
|
+
if (window[lib.globalVariable]) {
|
|
142
|
+
loadedLibraries.set(lib.globalVariable, window[lib.globalVariable]);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const versionInfo = libraryDef.versions[resolvedVersion || libraryDef.defaultVersion];
|
|
146
|
+
if (versionInfo?.cssUrls) {
|
|
147
|
+
await this.loadStyles(versionInfo.cssUrls);
|
|
148
|
+
}
|
|
149
|
+
await this.loadScript(cdnUrl, lib.globalVariable);
|
|
150
|
+
const libraryValue = window[lib.globalVariable];
|
|
151
|
+
if (libraryValue) {
|
|
152
|
+
loadedLibraries.set(lib.globalVariable, libraryValue);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
throw new Error(`Library '${lib.name}' failed to load or did not expose '${lib.globalVariable}'`);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
await Promise.all(loadPromises);
|
|
159
|
+
return loadedLibraries;
|
|
160
|
+
}
|
|
161
|
+
async loadStyles(urls) {
|
|
162
|
+
const loadPromises = urls.map(url => {
|
|
163
|
+
return new Promise((resolve) => {
|
|
164
|
+
const existingLink = document.querySelector(`link[href="${url}"]`);
|
|
165
|
+
if (existingLink) {
|
|
166
|
+
resolve();
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const link = document.createElement('link');
|
|
170
|
+
link.rel = 'stylesheet';
|
|
171
|
+
link.href = url;
|
|
172
|
+
document.head.appendChild(link);
|
|
173
|
+
resolve();
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
await Promise.all(loadPromises);
|
|
177
|
+
}
|
|
178
|
+
loadScript(url, globalName) {
|
|
179
|
+
return new Promise((resolve, reject) => {
|
|
180
|
+
const existingScript = document.querySelector(`script[src="${url}"]`);
|
|
181
|
+
if (existingScript) {
|
|
182
|
+
const checkLoaded = () => {
|
|
183
|
+
if (window[globalName]) {
|
|
184
|
+
resolve();
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
setTimeout(checkLoaded, 100);
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
checkLoaded();
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const script = document.createElement('script');
|
|
194
|
+
script.src = url;
|
|
195
|
+
script.async = true;
|
|
196
|
+
script.onload = () => {
|
|
197
|
+
setTimeout(() => {
|
|
198
|
+
if (window[globalName]) {
|
|
199
|
+
resolve();
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
reject(new Error(`${globalName} not found after loading script`));
|
|
203
|
+
}
|
|
204
|
+
}, 100);
|
|
205
|
+
};
|
|
206
|
+
script.onerror = () => {
|
|
207
|
+
reject(new Error(`Failed to load script: ${url}`));
|
|
208
|
+
};
|
|
209
|
+
document.head.appendChild(script);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
createComponentFactory(transpiledCode, componentName, loadedLibraries) {
|
|
112
213
|
try {
|
|
113
214
|
const factoryCreator = new Function('React', 'ReactDOM', 'useState', 'useEffect', 'useCallback', 'useMemo', 'useRef', 'useContext', 'useReducer', 'useLayoutEffect', 'libraries', 'styles', 'console', `${transpiledCode}; return createComponent;`);
|
|
114
215
|
return (context, styles = {}) => {
|
|
115
216
|
const { React, ReactDOM, libraries = {} } = context;
|
|
116
|
-
const
|
|
117
|
-
|
|
217
|
+
const mergedLibraries = { ...libraries };
|
|
218
|
+
loadedLibraries.forEach((value, key) => {
|
|
219
|
+
mergedLibraries[key] = value;
|
|
220
|
+
});
|
|
221
|
+
const createComponentFn = factoryCreator(React, ReactDOM, React.useState, React.useEffect, React.useCallback, React.useMemo, React.useRef, React.useContext, React.useReducer, React.useLayoutEffect, mergedLibraries, styles, console);
|
|
222
|
+
const Component = createComponentFn(React, ReactDOM, React.useState, React.useEffect, React.useCallback, React.useMemo, React.useRef, React.useContext, React.useReducer, React.useLayoutEffect, mergedLibraries, styles, console);
|
|
118
223
|
return Component;
|
|
119
224
|
};
|
|
120
225
|
}
|
|
@@ -177,7 +282,8 @@ class ComponentCompiler {
|
|
|
177
282
|
cacheComponent(component, code) {
|
|
178
283
|
if (this.compilationCache.size >= this.config.maxCacheSize) {
|
|
179
284
|
const firstKey = this.compilationCache.keys().next().value;
|
|
180
|
-
|
|
285
|
+
if (firstKey)
|
|
286
|
+
this.compilationCache.delete(firstKey);
|
|
181
287
|
}
|
|
182
288
|
const cacheKey = this.createCacheKey(component.name, code);
|
|
183
289
|
this.compilationCache.set(cacheKey, component);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-hierarchy.d.ts","sourceRoot":"","sources":["../../src/runtime/component-hierarchy.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,eAAe,EACf,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAK5E,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;CACtD;AAKD,MAAM,WAAW,4BAA4B;IAE3C,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAKD,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;gBAFd,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc;IASlC,iBAAiB,CACrB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC;IAsDjC,uBAAuB,CAC3B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GACA,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,0BAA0B,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"component-hierarchy.d.ts","sourceRoot":"","sources":["../../src/runtime/component-hierarchy.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,eAAe,EACf,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAK5E,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAKD,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;CACtD;AAKD,MAAM,WAAW,4BAA4B;IAE3C,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAKD,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;gBAFd,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc;IASlC,iBAAiB,CACrB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC;IAsDjC,uBAAuB,CAC3B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,eAAe,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GACA,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,0BAA0B,CAAA;KAAE,CAAC;YA+EtD,uBAAuB;CAwCtC;AAWD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAGtC;AAOD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CA2BnE;AAOD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,EAAE,CASlF;AAQD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,EACvB,YAAY,GAAE,OAAe,GAC5B,MAAM,CAaR"}
|
|
@@ -56,7 +56,8 @@ class ComponentHierarchyRegistrar {
|
|
|
56
56
|
const compileOptions = {
|
|
57
57
|
componentName: spec.name,
|
|
58
58
|
componentCode: spec.code,
|
|
59
|
-
styles
|
|
59
|
+
styles,
|
|
60
|
+
libraries: spec.libraries
|
|
60
61
|
};
|
|
61
62
|
const compilationResult = await this.compiler.compile(compileOptions);
|
|
62
63
|
if (!compilationResult.success) {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,iBAAiB;IAEhC,SAAS,EAAE,GAAG,CAAC;IAEf,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,IAAI,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAKD,MAAM,WAAW,cAAc;IAE7B,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC;IAEtB,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ export * from './runtime-utilities';
|
|
|
2
2
|
export * from './component-styles';
|
|
3
3
|
export * from './standard-libraries';
|
|
4
4
|
export * from './library-loader';
|
|
5
|
+
export * from './library-registry';
|
|
5
6
|
export * from './component-error-analyzer';
|
|
6
7
|
export * from './resource-manager';
|
|
7
8
|
export * from './cache-manager';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAKA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAKA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
package/dist/utilities/index.js
CHANGED
|
@@ -18,6 +18,7 @@ __exportStar(require("./runtime-utilities"), exports);
|
|
|
18
18
|
__exportStar(require("./component-styles"), exports);
|
|
19
19
|
__exportStar(require("./standard-libraries"), exports);
|
|
20
20
|
__exportStar(require("./library-loader"), exports);
|
|
21
|
+
__exportStar(require("./library-registry"), exports);
|
|
21
22
|
__exportStar(require("./component-error-analyzer"), exports);
|
|
22
23
|
__exportStar(require("./resource-manager"), exports);
|
|
23
24
|
__exportStar(require("./cache-manager"), exports);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface LibraryDefinition {
|
|
2
|
+
name: string;
|
|
3
|
+
globalVariable: string;
|
|
4
|
+
category: string;
|
|
5
|
+
versions: {
|
|
6
|
+
[version: string]: {
|
|
7
|
+
cdnUrl: string;
|
|
8
|
+
cssUrls?: string[];
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
defaultVersion: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class LibraryRegistry {
|
|
14
|
+
private static libraries;
|
|
15
|
+
private static initializeLibraries;
|
|
16
|
+
static getLibrary(name: string): LibraryDefinition | undefined;
|
|
17
|
+
static getCdnUrl(name: string, version?: string): string | undefined;
|
|
18
|
+
static isApproved(name: string): boolean;
|
|
19
|
+
static resolveVersion(name: string, versionPattern?: string): string | undefined;
|
|
20
|
+
static registerLibrary(definition: LibraryDefinition): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=library-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library-registry.d.ts","sourceRoot":"","sources":["../../src/utilities/library-registry.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,iBAAiB;IAEhC,IAAI,EAAE,MAAM,CAAC;IAEb,cAAc,EAAE,MAAM,CAAC;IAEvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,EAAE;QACR,CAAC,OAAO,EAAE,MAAM,GAAG;YACjB,MAAM,EAAE,MAAM,CAAC;YAEf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;SACpB,CAAC;KACH,CAAC;IAEF,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6C;IAOrE,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAqiBlC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAU9D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWpE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASxC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAqBhF,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;CAG5D"}
|