@lwrjs/shared-utils 0.9.0-alpha.2 → 0.9.0-alpha.20
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/build/cjs/compiler.cjs +80 -0
- package/build/cjs/env.cjs +3 -8
- package/build/cjs/fs-watch.cjs +43 -0
- package/build/cjs/fs.cjs +1 -15
- package/build/cjs/graph.cjs +3 -2
- package/build/cjs/identity.cjs +5 -67
- package/build/cjs/index.cjs +1 -1
- package/build/cjs/interchangeable-modules.cjs +9 -2
- package/build/cjs/logger.cjs +33 -11
- package/build/cjs/object.cjs +2 -1
- package/build/cjs/serialize.cjs +30 -1
- package/build/cjs/site-metadata.cjs +116 -0
- package/build/es/compiler.d.ts +15 -0
- package/build/es/compiler.js +65 -0
- package/build/es/env.d.ts +1 -1
- package/build/es/env.js +14 -11
- package/build/es/fs-watch.d.ts +17 -0
- package/build/es/fs-watch.js +27 -0
- package/build/es/fs.d.ts +1 -10
- package/build/es/fs.js +0 -21
- package/build/es/graph.d.ts +2 -1
- package/build/es/graph.js +2 -2
- package/build/es/identity.d.ts +6 -37
- package/build/es/identity.js +5 -85
- package/build/es/index.d.ts +1 -1
- package/build/es/index.js +1 -1
- package/build/es/interchangeable-modules.d.ts +1 -1
- package/build/es/interchangeable-modules.js +9 -2
- package/build/es/logger.js +36 -10
- package/build/es/mappings.js +2 -0
- package/build/es/object.js +2 -1
- package/build/es/serialize.d.ts +8 -1
- package/build/es/serialize.js +18 -0
- package/build/es/site-metadata.d.ts +27 -0
- package/build/es/site-metadata.js +105 -0
- package/build/es/typescript.js +2 -1
- package/package.json +26 -10
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
11
|
+
};
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/shared-utils/src/compiler.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
AMD_DEFINE: () => AMD_DEFINE,
|
|
28
|
+
convertToAmd: () => convertToAmd,
|
|
29
|
+
lockerize: () => lockerize
|
|
30
|
+
});
|
|
31
|
+
var import_identity = __toModule(require("./identity.cjs"));
|
|
32
|
+
var import_compiler = __toModule(require("@locker/compiler"));
|
|
33
|
+
var import_rollup = __toModule(require("rollup"));
|
|
34
|
+
var AMD_DEFINE = "LWR.define";
|
|
35
|
+
var AMD_ROLLUP_PLUGIN = function(rootId, source) {
|
|
36
|
+
return {
|
|
37
|
+
name: "lwr-amd-inline",
|
|
38
|
+
resolveId(id) {
|
|
39
|
+
return rootId === id ? id : void 0;
|
|
40
|
+
},
|
|
41
|
+
load(id) {
|
|
42
|
+
return rootId === id ? source : void 0;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
async function convertToAmd(source, {id}, forceNamedExports = true) {
|
|
47
|
+
const bundler = await (0, import_rollup.rollup)({
|
|
48
|
+
input: id,
|
|
49
|
+
plugins: [AMD_ROLLUP_PLUGIN(id, source)],
|
|
50
|
+
onwarn(warning, warn) {
|
|
51
|
+
if (warning.code === "UNRESOLVED_IMPORT")
|
|
52
|
+
return;
|
|
53
|
+
warn(warning);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const {output} = await bundler.generate({
|
|
57
|
+
amd: {id, define: AMD_DEFINE},
|
|
58
|
+
exports: forceNamedExports ? "named" : "auto",
|
|
59
|
+
format: "amd"
|
|
60
|
+
});
|
|
61
|
+
const {code} = output[0];
|
|
62
|
+
return {code, map: null};
|
|
63
|
+
}
|
|
64
|
+
function lockerize({compiledSource: source, specifier, moduleEntry: {entry: filename}}, {trustedComponents}, sourcemap = false) {
|
|
65
|
+
const {namespace, name: rawName} = (0, import_identity.explodeSpecifier)(specifier);
|
|
66
|
+
const [name] = rawName.split("#");
|
|
67
|
+
const bareSpecifier = namespace ? `${namespace}/${name}` : name;
|
|
68
|
+
const isJS = filename.endsWith(".js") || filename.endsWith(".mjs") || filename.endsWith(".ts");
|
|
69
|
+
if (isJS && trustedComponents && !trustedComponents.includes(`${namespace}/*`) && !trustedComponents.includes(bareSpecifier)) {
|
|
70
|
+
const {code} = import_compiler.Compiler.compile(source, {
|
|
71
|
+
componentName: name,
|
|
72
|
+
filename,
|
|
73
|
+
sandboxKey: namespace || "sandbox",
|
|
74
|
+
sourcemap,
|
|
75
|
+
remapDynamicImport: true
|
|
76
|
+
});
|
|
77
|
+
return {code, map: null};
|
|
78
|
+
}
|
|
79
|
+
return {code: source, map: null};
|
|
80
|
+
}
|
package/build/cjs/env.cjs
CHANGED
|
@@ -11,14 +11,9 @@ __export(exports, {
|
|
|
11
11
|
getFeatureFlags: () => getFeatureFlags
|
|
12
12
|
});
|
|
13
13
|
function getFeatureFlags() {
|
|
14
|
-
let legacyLoader = process.env.LEGACY_LOADER !== void 0 && process.env.LEGACY_LOADER === "true" ? true : false;
|
|
15
|
-
try {
|
|
16
|
-
if (LWR) {
|
|
17
|
-
legacyLoader = LWR.LEGACY_LOADER;
|
|
18
|
-
}
|
|
19
|
-
} catch (e) {
|
|
20
|
-
}
|
|
21
14
|
return {
|
|
22
|
-
LEGACY_LOADER:
|
|
15
|
+
LEGACY_LOADER: process.env.LEGACY_LOADER !== void 0 && process.env.LEGACY_LOADER.toLowerCase() === "true" ? true : false,
|
|
16
|
+
SSR_STATIC_BUNDLES: process.env.SSR_STATIC_BUNDLES !== void 0 && process.env.SSR_STATIC_BUNDLES.toLowerCase() === "true" ? true : false,
|
|
17
|
+
SSR_SANDBOX_WORKER: process.env.SSR_SANDBOX_WORKER !== void 0 && process.env.SSR_SANDBOX_WORKER.toLowerCase() === "true" ? true : false
|
|
23
18
|
};
|
|
24
19
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
11
|
+
};
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/shared-utils/src/fs-watch.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
WatcherFactoryImpl: () => WatcherFactoryImpl
|
|
28
|
+
});
|
|
29
|
+
var import_chokidar = __toModule(require("chokidar"));
|
|
30
|
+
var import_object = __toModule(require("./object.cjs"));
|
|
31
|
+
var import_logger = __toModule(require("./logger.cjs"));
|
|
32
|
+
var WatcherFactoryImpl = class {
|
|
33
|
+
createFileWatcher(options = {persistent: true, ignored: "**/node_modules/**"}) {
|
|
34
|
+
return import_chokidar.default.watch([], options);
|
|
35
|
+
}
|
|
36
|
+
setupWatcher(onModuleChange) {
|
|
37
|
+
const fileWatcher = this.createFileWatcher();
|
|
38
|
+
fileWatcher.on("change", (0, import_object.debounce)((file) => onModuleChange(file), 500));
|
|
39
|
+
fileWatcher.on("unlink", (0, import_object.debounce)((file) => onModuleChange(file), 500));
|
|
40
|
+
fileWatcher.on("add", (file) => import_logger.logger.info(`Watching: ${file}`));
|
|
41
|
+
return fileWatcher;
|
|
42
|
+
}
|
|
43
|
+
};
|
package/build/cjs/fs.cjs
CHANGED
|
@@ -25,22 +25,18 @@ var __toModule = (module2) => {
|
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
canResolveView: () => canResolveView,
|
|
28
|
-
createFileWatcher: () => createFileWatcher,
|
|
29
28
|
getViewSourceFromFile: () => getViewSourceFromFile,
|
|
30
29
|
hashContent: () => hashContent,
|
|
31
30
|
mimeLookup: () => import_mime_types.lookup,
|
|
32
31
|
normalizeDirectory: () => normalizeDirectory,
|
|
33
32
|
normalizeResourcePath: () => normalizeResourcePath,
|
|
34
33
|
readFile: () => readFile,
|
|
35
|
-
resolveFileExtension: () => resolveFileExtension
|
|
36
|
-
setupWatcher: () => setupWatcher
|
|
34
|
+
resolveFileExtension: () => resolveFileExtension
|
|
37
35
|
});
|
|
38
36
|
var import_fs = __toModule(require("fs"));
|
|
39
37
|
var import_path = __toModule(require("path"));
|
|
40
38
|
var import_crypto = __toModule(require("crypto"));
|
|
41
39
|
var import_identity = __toModule(require("./identity.cjs"));
|
|
42
|
-
var import_object = __toModule(require("./object.cjs"));
|
|
43
|
-
var import_chokidar = __toModule(require("chokidar"));
|
|
44
40
|
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
45
41
|
var import_mime_types = __toModule(require("mime-types"));
|
|
46
42
|
var import_logger = __toModule(require("./logger.cjs"));
|
|
@@ -74,16 +70,6 @@ function resolveFileExtension(filePath) {
|
|
|
74
70
|
throw new Error(`Unable to find file "${filePath}"`);
|
|
75
71
|
}
|
|
76
72
|
}
|
|
77
|
-
function createFileWatcher(options = {persistent: true, ignored: "**/node_modules/**"}) {
|
|
78
|
-
return import_chokidar.default.watch([], options);
|
|
79
|
-
}
|
|
80
|
-
function setupWatcher(onModuleChange) {
|
|
81
|
-
const fileWatcher = createFileWatcher();
|
|
82
|
-
fileWatcher.on("change", (0, import_object.debounce)((file) => onModuleChange(file), 500));
|
|
83
|
-
fileWatcher.on("unlink", (0, import_object.debounce)((file) => onModuleChange(file), 500));
|
|
84
|
-
fileWatcher.on("add", (file) => import_logger.logger.info(`Watching: ${file}`));
|
|
85
|
-
return fileWatcher;
|
|
86
|
-
}
|
|
87
73
|
function canResolveView(source, type) {
|
|
88
74
|
if (!source.endsWith(`.${type}`)) {
|
|
89
75
|
return false;
|
package/build/cjs/graph.cjs
CHANGED
|
@@ -25,7 +25,8 @@ var __toModule = (module2) => {
|
|
|
25
25
|
__markAsModule(exports);
|
|
26
26
|
__export(exports, {
|
|
27
27
|
GraphDepth: () => GraphDepth,
|
|
28
|
-
getModuleGraphs: () => getModuleGraphs
|
|
28
|
+
getModuleGraphs: () => getModuleGraphs,
|
|
29
|
+
isBundler: () => isBundler
|
|
29
30
|
});
|
|
30
31
|
var import_identity = __toModule(require("./identity.cjs"));
|
|
31
32
|
var import_diagnostics = __toModule(require("@lwrjs/diagnostics"));
|
|
@@ -121,7 +122,7 @@ async function getModuleGraphs(specifier, options, moduleRegistry, defRegistry,
|
|
|
121
122
|
if (options.includeUris) {
|
|
122
123
|
for (const visitedSpecifier of acc.keys()) {
|
|
123
124
|
const moduleId = await (0, import_identity.getVersionedModuleId)(visitedSpecifier, moduleRegistry);
|
|
124
|
-
const uri = await
|
|
125
|
+
const uri = await defRegistry.resolveModuleUri(moduleId, runtimeEnvironment, runtimeParams);
|
|
125
126
|
uriMap[visitedSpecifier] = uri;
|
|
126
127
|
}
|
|
127
128
|
}
|
package/build/cjs/identity.cjs
CHANGED
|
@@ -37,17 +37,12 @@ __export(exports, {
|
|
|
37
37
|
VERSION_SIGIL: () => VERSION_SIGIL,
|
|
38
38
|
explodeSpecifier: () => explodeSpecifier,
|
|
39
39
|
explodeSpecifiers: () => explodeSpecifiers,
|
|
40
|
-
getAssetIdentity: () => getAssetIdentity,
|
|
41
40
|
getCacheKeyFromJson: () => import_fast_json_stable_stringify.default,
|
|
42
|
-
getMappingIdentity: () => getMappingIdentity,
|
|
43
41
|
getMappingUriPrefix: () => getMappingUriPrefix,
|
|
44
|
-
getModuleIdentity: () => getModuleIdentity,
|
|
45
42
|
getModuleUriPrefix: () => getModuleUriPrefix,
|
|
46
43
|
getPropFromAttrName: () => getPropFromAttrName,
|
|
47
|
-
getResourceIdentity: () => getResourceIdentity,
|
|
48
44
|
getSpecifier: () => getSpecifier,
|
|
49
45
|
getVersionedModuleId: () => getVersionedModuleId,
|
|
50
|
-
getVersionedSpecifier: () => getVersionedSpecifier,
|
|
51
46
|
isBundleDefinition: () => isBundleDefinition,
|
|
52
47
|
isExternalUrl: () => isExternalUrl,
|
|
53
48
|
kebabCaseToModuleSpecifer: () => kebabCaseToModuleSpecifer,
|
|
@@ -123,21 +118,13 @@ function getSpecifier({specifier, namespace, name = "", version}) {
|
|
|
123
118
|
const bareSpecifier = namespace ? `${namespace}/${name}` : name;
|
|
124
119
|
return version ? `${bareSpecifier}${VERSION_SIGIL}${normalizeVersionToUri(version)}` : bareSpecifier;
|
|
125
120
|
}
|
|
126
|
-
async function getVersionedSpecifier(rawSpecifier, moduleRegistry) {
|
|
127
|
-
const {specifier, namespace, name, version} = explodeSpecifier(rawSpecifier);
|
|
128
|
-
if (version) {
|
|
129
|
-
return normalizeVersionToUri(rawSpecifier);
|
|
130
|
-
}
|
|
131
|
-
const moduleEntry = await moduleRegistry.getModuleEntry({specifier});
|
|
132
|
-
return getSpecifier({namespace, name, version: normalizeVersionToUri(moduleEntry.version)});
|
|
133
|
-
}
|
|
134
121
|
async function getVersionedModuleId(rawSpecifier, moduleRegistry) {
|
|
135
|
-
const
|
|
136
|
-
if (version) {
|
|
137
|
-
return {
|
|
122
|
+
const moduleId = explodeSpecifier(rawSpecifier);
|
|
123
|
+
if (moduleId.version) {
|
|
124
|
+
return {...moduleId, version: normalizeVersionFromUri(moduleId.version)};
|
|
138
125
|
}
|
|
139
|
-
const moduleEntry = await moduleRegistry.getModuleEntry(
|
|
140
|
-
return {
|
|
126
|
+
const moduleEntry = await moduleRegistry.getModuleEntry(moduleId);
|
|
127
|
+
return {...moduleId, version: moduleEntry.version};
|
|
141
128
|
}
|
|
142
129
|
var RE_SCOPED = /^(@[^/]+\/[^/@]+)(?:\/([^@]+))?(?:@([\s\S]+))?/;
|
|
143
130
|
var RE_NORMAL = /^([^/@]+)(?:\/([^@]+))?(?:@([\s\S]+))?/;
|
|
@@ -212,52 +199,3 @@ function isExternalUrl(url) {
|
|
|
212
199
|
function isBundleDefinition(definition) {
|
|
213
200
|
return definition.bundleRecord !== void 0;
|
|
214
201
|
}
|
|
215
|
-
function validateSpecifier(specifer) {
|
|
216
|
-
return specifer.indexOf("../") < 0;
|
|
217
|
-
}
|
|
218
|
-
function getModuleIdentity(req) {
|
|
219
|
-
const {specifier, signature = LATEST_SIGNATURE} = req.params;
|
|
220
|
-
if (validateSpecifier(specifier) === false) {
|
|
221
|
-
throw new Error("dot-dot-slash is not allowed for module specifier");
|
|
222
|
-
}
|
|
223
|
-
const moduleId = explodeSpecifier(specifier);
|
|
224
|
-
return {
|
|
225
|
-
moduleId,
|
|
226
|
-
signature
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
function getMappingIdentity(req) {
|
|
230
|
-
const {specifiers} = req.params;
|
|
231
|
-
const moduleIds = explodeSpecifiers(specifiers).map((obj) => ({
|
|
232
|
-
...obj,
|
|
233
|
-
importer: req.query.importer
|
|
234
|
-
}));
|
|
235
|
-
return {
|
|
236
|
-
moduleIds
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
function getResourceIdentity(req) {
|
|
240
|
-
const {specifier, signature = LATEST_SIGNATURE} = req.params;
|
|
241
|
-
if (validateSpecifier(specifier) === false) {
|
|
242
|
-
throw new Error("dot-dot-slash is not allowed for resource specifier");
|
|
243
|
-
}
|
|
244
|
-
const resourceId = explodeSpecifier(specifier);
|
|
245
|
-
return {
|
|
246
|
-
resourceId,
|
|
247
|
-
signature
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
function getAssetIdentity(req) {
|
|
251
|
-
const {signature = LATEST_SIGNATURE, assetType: type} = req.params;
|
|
252
|
-
const [specifier] = req.originalUrl.split("?");
|
|
253
|
-
if (validateSpecifier(specifier) === false) {
|
|
254
|
-
throw new Error("dot-dot-slash is not allowed for asset specifier");
|
|
255
|
-
}
|
|
256
|
-
return {
|
|
257
|
-
assetId: {
|
|
258
|
-
specifier,
|
|
259
|
-
type
|
|
260
|
-
},
|
|
261
|
-
signature
|
|
262
|
-
};
|
|
263
|
-
}
|
package/build/cjs/index.cjs
CHANGED
|
@@ -27,7 +27,6 @@ __exportStar(exports, __toModule(require("./link.cjs")));
|
|
|
27
27
|
__exportStar(exports, __toModule(require("./object.cjs")));
|
|
28
28
|
__exportStar(exports, __toModule(require("./serialize.cjs")));
|
|
29
29
|
__exportStar(exports, __toModule(require("./tasks.cjs")));
|
|
30
|
-
__exportStar(exports, __toModule(require("./typescript.cjs")));
|
|
31
30
|
__exportStar(exports, __toModule(require("./import-metadata.cjs")));
|
|
32
31
|
__exportStar(exports, __toModule(require("./graph.cjs")));
|
|
33
32
|
__exportStar(exports, __toModule(require("./mappings.cjs")));
|
|
@@ -35,3 +34,4 @@ __exportStar(exports, __toModule(require("./urls.cjs")));
|
|
|
35
34
|
__exportStar(exports, __toModule(require("./env.cjs")));
|
|
36
35
|
__exportStar(exports, __toModule(require("./logger.cjs")));
|
|
37
36
|
__exportStar(exports, __toModule(require("./lwr-app-observer.cjs")));
|
|
37
|
+
__exportStar(exports, __toModule(require("./site-metadata.cjs")));
|
|
@@ -42,10 +42,13 @@ var NoLwcModuleError = class extends Error {
|
|
|
42
42
|
function isNpmModuleRecord(module2) {
|
|
43
43
|
return module2.npm !== void 0;
|
|
44
44
|
}
|
|
45
|
-
function discoverInterchangeableModules(modules, interchangeableModules) {
|
|
45
|
+
function discoverInterchangeableModules(modules, interchangeableModules, visitedModules) {
|
|
46
46
|
if (!interchangeableModules) {
|
|
47
47
|
interchangeableModules = new Map();
|
|
48
48
|
}
|
|
49
|
+
if (!visitedModules) {
|
|
50
|
+
visitedModules = new Set();
|
|
51
|
+
}
|
|
49
52
|
if (modules.length === 0) {
|
|
50
53
|
return interchangeableModules;
|
|
51
54
|
}
|
|
@@ -54,6 +57,10 @@ function discoverInterchangeableModules(modules, interchangeableModules) {
|
|
|
54
57
|
if (!isNpmModuleRecord(module2)) {
|
|
55
58
|
continue;
|
|
56
59
|
}
|
|
60
|
+
if (visitedModules?.has(module2.npm)) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
visitedModules.add(module2.npm);
|
|
57
64
|
const packageJsonPath = import_resolve.default.sync(`${module2.npm}/package.json`);
|
|
58
65
|
const packageJson = JSON.parse((0, import_fs2.readFile)(packageJsonPath));
|
|
59
66
|
let lwcConfig = packageJson.lwc;
|
|
@@ -68,7 +75,7 @@ function discoverInterchangeableModules(modules, interchangeableModules) {
|
|
|
68
75
|
interchangeableModules = normalizeInterchangeableModuleConfig(lwcConfig.interchangeableModules, interchangeableModules);
|
|
69
76
|
}
|
|
70
77
|
}
|
|
71
|
-
return discoverInterchangeableModules(nestedModules, interchangeableModules);
|
|
78
|
+
return discoverInterchangeableModules(nestedModules, interchangeableModules, visitedModules);
|
|
72
79
|
}
|
|
73
80
|
function resolveCustomLWCMetadata(dir) {
|
|
74
81
|
for (const configFile of CONFIG_FILES) {
|
package/build/cjs/logger.cjs
CHANGED
|
@@ -74,19 +74,29 @@ function log(level, message, additionalInfo) {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
if (shouldLog) {
|
|
77
|
-
|
|
77
|
+
const logMessage = `[${level}]${gap(message)}${message}`;
|
|
78
|
+
const additionalMessage = additionalInfo ? `Additional Info: ${JSON.stringify(additionalInfo)}` : void 0;
|
|
78
79
|
if (level == ERROR) {
|
|
79
|
-
|
|
80
|
+
console.error("[31m%s[0m", logMessage);
|
|
81
|
+
if (additionalInfo) {
|
|
82
|
+
console.error("\n[31m%s[0m", additionalMessage);
|
|
83
|
+
}
|
|
80
84
|
} else if (level == WARN) {
|
|
81
|
-
|
|
85
|
+
console.warn("[33m%s[0m", logMessage);
|
|
86
|
+
if (additionalInfo) {
|
|
87
|
+
console.warn("\n[33m%s[0m", additionalMessage);
|
|
88
|
+
}
|
|
89
|
+
} else if (level == DEBUG || level == VERBOSE) {
|
|
90
|
+
console.log("[2m%s[0m", logMessage);
|
|
91
|
+
if (additionalInfo) {
|
|
92
|
+
console.log("\n[2m%s[0m", additionalMessage);
|
|
93
|
+
}
|
|
82
94
|
} else {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
} else {
|
|
89
|
-
logMethod(`[${level}] ${message}`);
|
|
95
|
+
console.log(logMessage);
|
|
96
|
+
if (additionalInfo) {
|
|
97
|
+
console.log(`
|
|
98
|
+
${additionalMessage}`);
|
|
99
|
+
}
|
|
90
100
|
}
|
|
91
101
|
}
|
|
92
102
|
}
|
|
@@ -110,12 +120,24 @@ var stringifyError = (error) => {
|
|
|
110
120
|
return JSON.stringify(retObj);
|
|
111
121
|
}
|
|
112
122
|
};
|
|
123
|
+
function gap(message) {
|
|
124
|
+
return String(message)?.indexOf("[") === 0 ? "" : " ";
|
|
125
|
+
}
|
|
126
|
+
function logError(err, additionalInfo) {
|
|
127
|
+
if (err instanceof import_diagnostics.DiagnosticsError || !err || !err.message) {
|
|
128
|
+
log(ERROR, stringifyError(err), additionalInfo);
|
|
129
|
+
}
|
|
130
|
+
if (err && err.message) {
|
|
131
|
+
err.message = `[${ERROR}]${gap(err.message)}${err.message}`;
|
|
132
|
+
console.error("[31m%s[0m", err);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
113
135
|
var logger = {
|
|
114
136
|
verbose: (message, additionalInfo) => log(VERBOSE, message, additionalInfo),
|
|
115
137
|
debug: (message, additionalInfo) => log(DEBUG, message, additionalInfo),
|
|
116
138
|
info: (message, additionalInfo) => log(INFO, message, additionalInfo),
|
|
117
139
|
warn: (message, additionalInfo) => log(WARN, message, additionalInfo),
|
|
118
|
-
error: (error, additionalInfo) =>
|
|
140
|
+
error: (error, additionalInfo) => logError(error, additionalInfo),
|
|
119
141
|
log,
|
|
120
142
|
setOptions: (opts) => {
|
|
121
143
|
options = opts;
|
package/build/cjs/object.cjs
CHANGED
|
@@ -23,7 +23,8 @@ function _deepFreeze(obj, maxDepth, depth) {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
function deepFreeze(obj, maxDepth = 5) {
|
|
26
|
-
|
|
26
|
+
const objClone = JSON.parse(JSON.stringify(obj));
|
|
27
|
+
return _deepFreeze(objClone, maxDepth, 0);
|
|
27
28
|
}
|
|
28
29
|
var debounce = (func, waitFor) => {
|
|
29
30
|
const timeouts = new Map();
|
package/build/cjs/serialize.cjs
CHANGED
|
@@ -1,16 +1,34 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
2
7
|
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
3
8
|
var __export = (target, all) => {
|
|
4
9
|
for (var name in all)
|
|
5
10
|
__defProp(target, name, {get: all[name], enumerable: true});
|
|
6
11
|
};
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
+
};
|
|
7
23
|
|
|
8
24
|
// packages/@lwrjs/shared-utils/src/serialize.ts
|
|
9
25
|
__markAsModule(exports);
|
|
10
26
|
__export(exports, {
|
|
11
27
|
replaceStringFromLocation: () => replaceStringFromLocation,
|
|
12
|
-
serializeModuleToJson: () => serializeModuleToJson
|
|
28
|
+
serializeModuleToJson: () => serializeModuleToJson,
|
|
29
|
+
shortestTtl: () => shortestTtl
|
|
13
30
|
});
|
|
31
|
+
var import_ms = __toModule(require("ms"));
|
|
14
32
|
async function createJsonModule(moduleId, moduleRegistry, runtimeEnvironment, runtimeParams) {
|
|
15
33
|
const {
|
|
16
34
|
ownHash,
|
|
@@ -48,3 +66,14 @@ async function serializeModuleToJson(code = "", {
|
|
|
48
66
|
function replaceStringFromLocation(src, {startOffset, endOffset}, replaceValue) {
|
|
49
67
|
return src.substr(0, startOffset) + replaceValue + src.substr(endOffset, src.length);
|
|
50
68
|
}
|
|
69
|
+
function shortestTtl(newTtl, oldTtl) {
|
|
70
|
+
if (!newTtl && !oldTtl)
|
|
71
|
+
return void 0;
|
|
72
|
+
const newSeconds = typeof newTtl === "string" ? (0, import_ms.default)(newTtl) / 1e3 : newTtl;
|
|
73
|
+
const oldSeconds = typeof oldTtl === "string" ? (0, import_ms.default)(oldTtl) / 1e3 : oldTtl;
|
|
74
|
+
if (!newSeconds)
|
|
75
|
+
return oldSeconds;
|
|
76
|
+
if (!oldSeconds)
|
|
77
|
+
return newSeconds;
|
|
78
|
+
return newSeconds < oldSeconds ? newSeconds : oldSeconds;
|
|
79
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, {get: all[name], enumerable: true});
|
|
11
|
+
};
|
|
12
|
+
var __exportStar = (target, module2, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
16
|
+
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toModule = (module2) => {
|
|
21
|
+
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/@lwrjs/shared-utils/src/site-metadata.ts
|
|
25
|
+
__markAsModule(exports);
|
|
26
|
+
__export(exports, {
|
|
27
|
+
SiteMetadataImpl: () => SiteMetadataImpl
|
|
28
|
+
});
|
|
29
|
+
var import_path = __toModule(require("path"));
|
|
30
|
+
var import_fs_extra = __toModule(require("fs-extra"));
|
|
31
|
+
var import_logger = __toModule(require("./logger.cjs"));
|
|
32
|
+
var SITE_METADATA_PATH = ".metadata";
|
|
33
|
+
var STATIC_BUNDLE_METADATA_PATH = import_path.default.join(SITE_METADATA_PATH, "/bundle-metadata.json");
|
|
34
|
+
var STATIC_RESOURCE_METADATA_PATH = import_path.default.join(SITE_METADATA_PATH, "/resource-metadata.json");
|
|
35
|
+
var STATIC_ASSET_METADATA_PATH = import_path.default.join(SITE_METADATA_PATH, "/asset-metadata.json");
|
|
36
|
+
var SiteMetadataImpl = class {
|
|
37
|
+
constructor(options) {
|
|
38
|
+
this.options = options;
|
|
39
|
+
this.siteBundles = this.readStaticBundleMetadata(options.rootDir);
|
|
40
|
+
this.siteResources = this.readStaticResourceMetadata(options.rootDir);
|
|
41
|
+
this.siteAssets = this.readStaticAssetsMetadata(options.rootDir);
|
|
42
|
+
}
|
|
43
|
+
getSiteRootDir() {
|
|
44
|
+
return this.options.rootDir;
|
|
45
|
+
}
|
|
46
|
+
getSiteBundles() {
|
|
47
|
+
return this.siteBundles;
|
|
48
|
+
}
|
|
49
|
+
getSiteResources() {
|
|
50
|
+
return this.siteResources;
|
|
51
|
+
}
|
|
52
|
+
getSiteAssets() {
|
|
53
|
+
return this.siteAssets;
|
|
54
|
+
}
|
|
55
|
+
async persistSiteMetadata() {
|
|
56
|
+
const siteMetadataPath = import_path.default.join(this.options.rootDir, SITE_METADATA_PATH);
|
|
57
|
+
if (!await import_fs_extra.default.pathExists(siteMetadataPath)) {
|
|
58
|
+
await import_fs_extra.default.mkdir(siteMetadataPath, {recursive: true});
|
|
59
|
+
}
|
|
60
|
+
const bundleMetadataPath = import_path.default.join(this.options.rootDir, STATIC_BUNDLE_METADATA_PATH);
|
|
61
|
+
await import_fs_extra.default.writeJSON(bundleMetadataPath, this.siteBundles, {spaces: 2});
|
|
62
|
+
const resourceMetadataPath = import_path.default.join(this.options.rootDir, STATIC_RESOURCE_METADATA_PATH);
|
|
63
|
+
await import_fs_extra.default.writeJSON(resourceMetadataPath, this.siteResources, {spaces: 2});
|
|
64
|
+
const assetMetadataPath = import_path.default.join(this.options.rootDir, STATIC_ASSET_METADATA_PATH);
|
|
65
|
+
return import_fs_extra.default.writeJSON(assetMetadataPath, this.siteAssets, {spaces: 2});
|
|
66
|
+
}
|
|
67
|
+
readStaticBundleMetadata(staticRoot) {
|
|
68
|
+
let bundleMetadataPath;
|
|
69
|
+
let siteBundles = {bundles: {}};
|
|
70
|
+
try {
|
|
71
|
+
bundleMetadataPath = import_path.default.join(staticRoot, STATIC_BUNDLE_METADATA_PATH);
|
|
72
|
+
const savedMetadata = import_fs_extra.default.readJSONSync(bundleMetadataPath);
|
|
73
|
+
siteBundles = savedMetadata;
|
|
74
|
+
} catch (error) {
|
|
75
|
+
if (error.code === "ENOENT") {
|
|
76
|
+
import_logger.logger.debug(`[SiteMetadata] Failed to load Static Bundle Metadata: ${bundleMetadataPath}`);
|
|
77
|
+
} else {
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return siteBundles;
|
|
82
|
+
}
|
|
83
|
+
readStaticResourceMetadata(staticRoot) {
|
|
84
|
+
let resourceMetadataPath;
|
|
85
|
+
let siteResources = {resources: {}};
|
|
86
|
+
try {
|
|
87
|
+
resourceMetadataPath = import_path.default.join(staticRoot, STATIC_RESOURCE_METADATA_PATH);
|
|
88
|
+
const savedMetadata = import_fs_extra.default.readJSONSync(resourceMetadataPath);
|
|
89
|
+
siteResources = savedMetadata;
|
|
90
|
+
} catch (error) {
|
|
91
|
+
if (error.code === "ENOENT") {
|
|
92
|
+
import_logger.logger.debug(`[SiteMetadata] Failed to load Static Resource Metadata: ${resourceMetadataPath}`);
|
|
93
|
+
} else {
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return siteResources;
|
|
98
|
+
}
|
|
99
|
+
readStaticAssetsMetadata(staticRoot) {
|
|
100
|
+
let assetMetadataPath;
|
|
101
|
+
let siteAssets = {
|
|
102
|
+
assets: {}
|
|
103
|
+
};
|
|
104
|
+
try {
|
|
105
|
+
assetMetadataPath = import_path.default.join(staticRoot, STATIC_ASSET_METADATA_PATH);
|
|
106
|
+
siteAssets = import_fs_extra.default.readJSONSync(assetMetadataPath);
|
|
107
|
+
} catch (error) {
|
|
108
|
+
if (error.code === "ENOENT") {
|
|
109
|
+
import_logger.logger.debug(`[SiteMetadata] Failed to load Static Resource Metadata: ${assetMetadataPath}`);
|
|
110
|
+
} else {
|
|
111
|
+
throw error;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return siteAssets;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CompilerResult, LwrLockerConfig, ModuleCompiled } from '@lwrjs/types';
|
|
2
|
+
/**
|
|
3
|
+
* When importing these modules make sure the optional dependencies are installed:
|
|
4
|
+
* - 'rollup' for convertToAmd()
|
|
5
|
+
* - '@locker/compiler' for lockerize()
|
|
6
|
+
*/
|
|
7
|
+
export declare const AMD_DEFINE = "LWR.define";
|
|
8
|
+
export declare function convertToAmd(source: string, { id }: {
|
|
9
|
+
id: string;
|
|
10
|
+
}, forceNamedExports?: boolean): Promise<CompilerResult>;
|
|
11
|
+
/** Locker
|
|
12
|
+
* Trusted Components can contain namespaces with wildcard or single component
|
|
13
|
+
*/
|
|
14
|
+
export declare function lockerize({ compiledSource: source, specifier, moduleEntry: { entry: filename } }: ModuleCompiled, { trustedComponents }: LwrLockerConfig, sourcemap?: boolean): CompilerResult;
|
|
15
|
+
//# sourceMappingURL=compiler.d.ts.map
|