@lwrjs/core 0.10.0-alpha.12 → 0.10.0-alpha.13
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/index.cjs +6 -3
- package/build/cjs/middleware/asset-middleware.cjs +5 -1
- package/build/cjs/middleware/utils/identity.cjs +1 -1
- package/build/cjs/tools/static-generation.cjs +4 -2
- package/build/es/index.js +11 -3
- package/build/es/middleware/asset-middleware.js +5 -1
- package/build/es/middleware/redirects/unsigned-module-redirect.d.ts +1 -1
- package/build/es/middleware/utils/identity.js +1 -1
- package/build/es/tools/static-generation.js +5 -2
- package/build/es/tools/types.d.ts +1 -1
- package/package.json +35 -28
package/build/cjs/index.cjs
CHANGED
|
@@ -80,13 +80,16 @@ async function initContext(appConfig, runtimeEnvironment, globalData) {
|
|
|
80
80
|
const viewProviders = createServices(services.viewProviders, providerContext);
|
|
81
81
|
const viewTransformers = createServices(services.viewTransformers, providerContext);
|
|
82
82
|
const bundleProviders = createServices(services.bundleProviders, providerContext);
|
|
83
|
-
|
|
83
|
+
const uriTransformers = createServices(services.uriTransformers, providerContext);
|
|
84
84
|
assetRegistry.addAssetProviders(assetProviders);
|
|
85
|
-
assetRegistry.addAssetTransformers(assetTransformers);
|
|
85
|
+
assetRegistry.addAssetTransformers([...assetTransformers, ...uriTransformers]);
|
|
86
|
+
moduleBundler.addBundleProviders(bundleProviders);
|
|
87
|
+
moduleBundler.addBundleTransformers(uriTransformers);
|
|
88
|
+
moduleRegistry.addModuleProviders(moduleProviders);
|
|
86
89
|
resourceRegistry.addResourceProviders(resourceProviders);
|
|
90
|
+
resourceRegistry.addResourceTransformers(uriTransformers);
|
|
87
91
|
viewRegistry.addViewProviders(viewProviders);
|
|
88
92
|
viewRegistry.addViewTransformers(viewTransformers);
|
|
89
|
-
moduleBundler.addBundleProviders(bundleProviders);
|
|
90
93
|
await serverContext.viewRegistry.initializeViewProviders();
|
|
91
94
|
const routeHandlers = await (0, import_modules.loadRouteHandlers)(appConfig);
|
|
92
95
|
serverContext.routeHandlers = routeHandlers;
|
|
@@ -66,5 +66,9 @@ function createAssetMiddleware(context) {
|
|
|
66
66
|
}
|
|
67
67
|
function assetMiddleware(app, context) {
|
|
68
68
|
const paths = context.appConfig.assets.map((a) => a.urlPath + app.getRegexWildcard());
|
|
69
|
-
app.get([
|
|
69
|
+
app.get([
|
|
70
|
+
...paths,
|
|
71
|
+
"/:apiVersion/:assetType(asset|content-asset)/:immutable?/s/:signature/" + app.getRegexWildcard(),
|
|
72
|
+
"/:apiVersion/:assetType(asset|content-asset)/:immutable?/" + app.getRegexWildcard()
|
|
73
|
+
], (0, import_error_handling.handleErrors)(createAssetMiddleware(context)));
|
|
70
74
|
}
|
|
@@ -75,7 +75,7 @@ function getResourceIdentity(req) {
|
|
|
75
75
|
}
|
|
76
76
|
function getAssetIdentity(req) {
|
|
77
77
|
const {signature, immutable, assetType: type} = req.params;
|
|
78
|
-
const specifier =
|
|
78
|
+
const specifier = type ? "/" + req.params[0] : req.originalUrl.split("?")[0];
|
|
79
79
|
if (validateSpecifier(specifier) === false) {
|
|
80
80
|
throw (0, import_diagnostics.createSingleDiagnosticError)({
|
|
81
81
|
description: import_diagnostics.descriptions.UNRESOLVABLE.INVALID_SPECIFIER(specifier)
|
|
@@ -29,6 +29,7 @@ __export(exports, {
|
|
|
29
29
|
});
|
|
30
30
|
var import_perf_hooks = __toModule(require("perf_hooks"));
|
|
31
31
|
var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
|
|
32
|
+
var import_site_metadata = __toModule(require("@lwrjs/static/site-metadata"));
|
|
32
33
|
var import_path = __toModule(require("path"));
|
|
33
34
|
var import_fs_extra = __toModule(require("fs-extra"));
|
|
34
35
|
var import_stream = __toModule(require("./utils/stream.cjs"));
|
|
@@ -366,7 +367,8 @@ var SiteGenerator = class {
|
|
|
366
367
|
const normalizedUrl = decodeURIComponent(url);
|
|
367
368
|
(0, import_dir.createResourceDir)((0, import_path.dirname)(normalizedUrl), outputDir);
|
|
368
369
|
const fullPath = (0, import_path.join)(outputDir, normalizedUrl);
|
|
369
|
-
|
|
370
|
+
const index = fullPath ? fullPath.indexOf("?") : -1;
|
|
371
|
+
return index !== -1 ? fullPath.substring(0, index) : fullPath;
|
|
370
372
|
}
|
|
371
373
|
writeNetlifyRedirectConfig(outputDir, urlRewriteMap) {
|
|
372
374
|
const serveJsonPath = (0, import_path.join)(outputDir, "serve.json");
|
|
@@ -462,7 +464,7 @@ var SiteGenerator = class {
|
|
|
462
464
|
endpoints,
|
|
463
465
|
skipBaseDocumentGeneration,
|
|
464
466
|
...featureFlags,
|
|
465
|
-
siteMetadata: new
|
|
467
|
+
siteMetadata: new import_site_metadata.SiteMetadataImpl({rootDir: outputDir})
|
|
466
468
|
};
|
|
467
469
|
}
|
|
468
470
|
filterFeatureFlags() {
|
package/build/es/index.js
CHANGED
|
@@ -61,14 +61,22 @@ async function initContext(appConfig, runtimeEnvironment, globalData) {
|
|
|
61
61
|
const viewProviders = createServices(services.viewProviders, providerContext);
|
|
62
62
|
const viewTransformers = createServices(services.viewTransformers, providerContext);
|
|
63
63
|
const bundleProviders = createServices(services.bundleProviders, providerContext);
|
|
64
|
+
const uriTransformers = createServices(services.uriTransformers, providerContext);
|
|
64
65
|
// add services to their corresponding registry
|
|
65
|
-
|
|
66
|
+
// Assets
|
|
66
67
|
assetRegistry.addAssetProviders(assetProviders);
|
|
67
|
-
assetRegistry.addAssetTransformers(assetTransformers);
|
|
68
|
+
assetRegistry.addAssetTransformers([...assetTransformers, ...uriTransformers]);
|
|
69
|
+
// Bundles
|
|
70
|
+
moduleBundler.addBundleProviders(bundleProviders);
|
|
71
|
+
moduleBundler.addBundleTransformers(uriTransformers);
|
|
72
|
+
// Modules
|
|
73
|
+
moduleRegistry.addModuleProviders(moduleProviders);
|
|
74
|
+
// Resources
|
|
68
75
|
resourceRegistry.addResourceProviders(resourceProviders);
|
|
76
|
+
resourceRegistry.addResourceTransformers(uriTransformers);
|
|
77
|
+
// Views
|
|
69
78
|
viewRegistry.addViewProviders(viewProviders);
|
|
70
79
|
viewRegistry.addViewTransformers(viewTransformers);
|
|
71
|
-
moduleBundler.addBundleProviders(bundleProviders);
|
|
72
80
|
// invoke async initialization
|
|
73
81
|
await serverContext.viewRegistry.initializeViewProviders();
|
|
74
82
|
// set routes on server context
|
|
@@ -37,6 +37,10 @@ function createAssetMiddleware(context) {
|
|
|
37
37
|
}
|
|
38
38
|
export function assetMiddleware(app, context) {
|
|
39
39
|
const paths = context.appConfig.assets.map((a) => a.urlPath + app.getRegexWildcard());
|
|
40
|
-
app.get([
|
|
40
|
+
app.get([
|
|
41
|
+
...paths,
|
|
42
|
+
'/:apiVersion/:assetType(asset|content-asset)/:immutable?/s/:signature/' + app.getRegexWildcard(),
|
|
43
|
+
'/:apiVersion/:assetType(asset|content-asset)/:immutable?/' + app.getRegexWildcard(),
|
|
44
|
+
], handleErrors(createAssetMiddleware(context)));
|
|
41
45
|
}
|
|
42
46
|
//# sourceMappingURL=asset-middleware.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AbstractModuleId, MiddlewareRequest, MiddlewareResponse, ModuleBundler, ModuleRegistry, RuntimeEnvironment, RuntimeParams } from '@lwrjs/types';
|
|
2
|
-
type UnsignedRedirect = (req: MiddlewareRequest, res: MiddlewareResponse, moduleId: AbstractModuleId, runtimeEnvironment: RuntimeEnvironment, runtimeParams: RuntimeParams) => Promise<void>;
|
|
2
|
+
declare type UnsignedRedirect = (req: MiddlewareRequest, res: MiddlewareResponse, moduleId: AbstractModuleId, runtimeEnvironment: RuntimeEnvironment, runtimeParams: RuntimeParams) => Promise<void>;
|
|
3
3
|
export declare function createUnsignedModuleRedirect(moduleRegistry: ModuleRegistry): UnsignedRedirect;
|
|
4
4
|
export declare function createUnsignedBundleRedirect(moduleBundler: ModuleBundler): UnsignedRedirect;
|
|
5
5
|
export {};
|
|
@@ -44,7 +44,7 @@ export function getResourceIdentity(req) {
|
|
|
44
44
|
}
|
|
45
45
|
export function getAssetIdentity(req) {
|
|
46
46
|
const { signature, immutable, assetType: type } = req.params;
|
|
47
|
-
const specifier =
|
|
47
|
+
const specifier = type ? '/' + req.params[0] : req.originalUrl.split('?')[0];
|
|
48
48
|
if (validateSpecifier(specifier) === false) {
|
|
49
49
|
throw createSingleDiagnosticError({
|
|
50
50
|
description: descriptions.UNRESOLVABLE.INVALID_SPECIFIER(specifier),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { performance } from 'perf_hooks';
|
|
2
|
-
import { getSpecifier, getFeatureFlags, hashContent, isSelfUrl, getModuleUriPrefix, getMappingUriPrefix, logger, WARN, INFO,
|
|
2
|
+
import { getSpecifier, getFeatureFlags, hashContent, isSelfUrl, getModuleUriPrefix, getMappingUriPrefix, logger, WARN, INFO, isExternalUrl, mimeLookup, } from '@lwrjs/shared-utils';
|
|
3
|
+
import { SiteMetadataImpl } from '@lwrjs/static/site-metadata';
|
|
3
4
|
import { join, dirname, extname, normalize } from 'path';
|
|
4
5
|
import fs from 'fs-extra';
|
|
5
6
|
import { writeResponse } from './utils/stream.js';
|
|
@@ -502,7 +503,9 @@ export default class SiteGenerator {
|
|
|
502
503
|
const normalizedUrl = decodeURIComponent(url);
|
|
503
504
|
createResourceDir(dirname(normalizedUrl), outputDir);
|
|
504
505
|
const fullPath = join(outputDir, normalizedUrl);
|
|
505
|
-
|
|
506
|
+
// Remove query params from file paths
|
|
507
|
+
const index = fullPath ? fullPath.indexOf('?') : -1;
|
|
508
|
+
return index !== -1 ? fullPath.substring(0, index) : fullPath;
|
|
506
509
|
}
|
|
507
510
|
/**
|
|
508
511
|
* Write out redirect mapping files for static hosting services like netlify. Examples for why this is needed:
|
|
@@ -18,7 +18,7 @@ export interface ResResourceOpts extends BaseResourceContextOpts {
|
|
|
18
18
|
export interface MappingResourceOpts extends BaseResourceContextOpts {
|
|
19
19
|
resourceType: 'mapping';
|
|
20
20
|
}
|
|
21
|
-
export type ResourceContextOpts = RouteResourceOpts | AssetResourceOpts | JsResourceOpts | ResResourceOpts | MappingResourceOpts;
|
|
21
|
+
export declare type ResourceContextOpts = RouteResourceOpts | AssetResourceOpts | JsResourceOpts | ResResourceOpts | MappingResourceOpts;
|
|
22
22
|
export interface ViewImportMetadata {
|
|
23
23
|
/**
|
|
24
24
|
* Get the additional import metadata collected while generating this view
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.10.0-alpha.
|
|
7
|
+
"version": "0.10.0-alpha.13",
|
|
8
8
|
"homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
@@ -35,41 +35,45 @@
|
|
|
35
35
|
"build/**/*.d.ts",
|
|
36
36
|
"package.cjs"
|
|
37
37
|
],
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "tsc -b"
|
|
40
|
+
},
|
|
38
41
|
"dependencies": {
|
|
39
|
-
"@locker/compiler": "0.19.
|
|
40
|
-
"@lwrjs/app-service": "0.10.0-alpha.
|
|
41
|
-
"@lwrjs/asset-registry": "0.10.0-alpha.
|
|
42
|
-
"@lwrjs/asset-transformer": "0.10.0-alpha.
|
|
43
|
-
"@lwrjs/base-view-provider": "0.10.0-alpha.
|
|
44
|
-
"@lwrjs/base-view-transformer": "0.10.0-alpha.
|
|
45
|
-
"@lwrjs/client-modules": "0.10.0-alpha.
|
|
46
|
-
"@lwrjs/config": "0.10.0-alpha.
|
|
47
|
-
"@lwrjs/diagnostics": "0.10.0-alpha.
|
|
48
|
-
"@lwrjs/fs-asset-provider": "0.10.0-alpha.
|
|
49
|
-
"@lwrjs/html-view-provider": "0.10.0-alpha.
|
|
50
|
-
"@lwrjs/loader": "0.10.0-alpha.
|
|
51
|
-
"@lwrjs/lwc-module-provider": "0.10.0-alpha.
|
|
52
|
-
"@lwrjs/markdown-view-provider": "0.10.0-alpha.
|
|
53
|
-
"@lwrjs/module-bundler": "0.10.0-alpha.
|
|
54
|
-
"@lwrjs/module-registry": "0.10.0-alpha.
|
|
55
|
-
"@lwrjs/npm-module-provider": "0.10.0-alpha.
|
|
56
|
-
"@lwrjs/nunjucks-view-provider": "0.10.0-alpha.
|
|
57
|
-
"@lwrjs/o11y": "0.10.0-alpha.
|
|
58
|
-
"@lwrjs/resource-registry": "0.10.0-alpha.
|
|
59
|
-
"@lwrjs/router": "0.10.0-alpha.
|
|
60
|
-
"@lwrjs/server": "0.10.0-alpha.
|
|
61
|
-
"@lwrjs/shared-utils": "0.10.0-alpha.
|
|
62
|
-
"@lwrjs/
|
|
42
|
+
"@locker/compiler": "0.19.5",
|
|
43
|
+
"@lwrjs/app-service": "0.10.0-alpha.13",
|
|
44
|
+
"@lwrjs/asset-registry": "0.10.0-alpha.13",
|
|
45
|
+
"@lwrjs/asset-transformer": "0.10.0-alpha.13",
|
|
46
|
+
"@lwrjs/base-view-provider": "0.10.0-alpha.13",
|
|
47
|
+
"@lwrjs/base-view-transformer": "0.10.0-alpha.13",
|
|
48
|
+
"@lwrjs/client-modules": "0.10.0-alpha.13",
|
|
49
|
+
"@lwrjs/config": "0.10.0-alpha.13",
|
|
50
|
+
"@lwrjs/diagnostics": "0.10.0-alpha.13",
|
|
51
|
+
"@lwrjs/fs-asset-provider": "0.10.0-alpha.13",
|
|
52
|
+
"@lwrjs/html-view-provider": "0.10.0-alpha.13",
|
|
53
|
+
"@lwrjs/loader": "0.10.0-alpha.13",
|
|
54
|
+
"@lwrjs/lwc-module-provider": "0.10.0-alpha.13",
|
|
55
|
+
"@lwrjs/markdown-view-provider": "0.10.0-alpha.13",
|
|
56
|
+
"@lwrjs/module-bundler": "0.10.0-alpha.13",
|
|
57
|
+
"@lwrjs/module-registry": "0.10.0-alpha.13",
|
|
58
|
+
"@lwrjs/npm-module-provider": "0.10.0-alpha.13",
|
|
59
|
+
"@lwrjs/nunjucks-view-provider": "0.10.0-alpha.13",
|
|
60
|
+
"@lwrjs/o11y": "0.10.0-alpha.13",
|
|
61
|
+
"@lwrjs/resource-registry": "0.10.0-alpha.13",
|
|
62
|
+
"@lwrjs/router": "0.10.0-alpha.13",
|
|
63
|
+
"@lwrjs/server": "0.10.0-alpha.13",
|
|
64
|
+
"@lwrjs/shared-utils": "0.10.0-alpha.13",
|
|
65
|
+
"@lwrjs/static": "0.10.0-alpha.13",
|
|
66
|
+
"@lwrjs/view-registry": "0.10.0-alpha.13",
|
|
63
67
|
"chokidar": "^3.5.3",
|
|
64
68
|
"esbuild": "^0.9.7",
|
|
65
|
-
"fs-extra": "^11.1.
|
|
69
|
+
"fs-extra": "^11.1.1",
|
|
66
70
|
"path-to-regexp": "^6.2.0",
|
|
67
71
|
"qs": "^6.9.4",
|
|
68
72
|
"rollup": "^2.78.0",
|
|
69
73
|
"ws": "^8.8.1"
|
|
70
74
|
},
|
|
71
75
|
"devDependencies": {
|
|
72
|
-
"@lwrjs/types": "0.10.0-alpha.
|
|
76
|
+
"@lwrjs/types": "0.10.0-alpha.13",
|
|
73
77
|
"@types/ws": "^8.5.3"
|
|
74
78
|
},
|
|
75
79
|
"peerDependencies": {
|
|
@@ -78,5 +82,8 @@
|
|
|
78
82
|
"engines": {
|
|
79
83
|
"node": ">=16.0.0 <20"
|
|
80
84
|
},
|
|
81
|
-
"
|
|
85
|
+
"volta": {
|
|
86
|
+
"extends": "../../../package.json"
|
|
87
|
+
},
|
|
88
|
+
"gitHead": "f6d142d5a027554cb1685389e0b173734149683d"
|
|
82
89
|
}
|