@lwrjs/core 0.6.0 → 0.6.1

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.
@@ -27,6 +27,7 @@ __export(exports, {
27
27
  ViewImportMetadataImpl: () => ViewImportMetadataImpl,
28
28
  default: () => static_generation_default
29
29
  });
30
+ var import_perf_hooks = __toModule(require("perf_hooks"));
30
31
  var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
31
32
  var import_path = __toModule(require("path"));
32
33
  var import_fs_extra = __toModule(require("fs-extra"));
@@ -34,6 +35,7 @@ var import_stream = __toModule(require("./utils/stream.cjs"));
34
35
  var import_dir = __toModule(require("./utils/dir.cjs"));
35
36
  var SiteGenerator = class {
36
37
  async buildStaticApplication(config, dispatcher) {
38
+ const startTime = import_perf_hooks.performance.now();
37
39
  console.log("[Static Generation] starting");
38
40
  const {routes, staticSiteGenerator, rootDir, assets} = config;
39
41
  if (!staticSiteGenerator.outputDir) {
@@ -46,27 +48,27 @@ var SiteGenerator = class {
46
48
  await this.generateRoutes(staticSiteGenerator, routes, dispatcher, outputDir, urlRewriteMap);
47
49
  this.writeNetlifyRedirectConfig(outputDir, urlRewriteMap);
48
50
  this.copyAssets(assets, outputDir);
49
- console.log("[Static Generation] complete");
51
+ const endTime = import_perf_hooks.performance.now();
52
+ const timeDiff = (endTime - startTime) / 1e3;
53
+ console.log(`[Static Generation] complete in ${Math.round(timeDiff)} seconds`);
50
54
  }
51
55
  async generateRoutes(staticSiteGenerator, routes, dispatcher, outputDir, urlRewriteMap = new Map()) {
52
56
  if (!staticSiteGenerator.locales) {
53
57
  staticSiteGenerator.locales = ["en-US"];
54
58
  }
55
- const dispatchRequests = [];
56
59
  const generateUrl = this.createGenerateURLFunction(dispatcher);
57
60
  for (const locale of staticSiteGenerator.locales) {
58
61
  for (const route of routes) {
59
62
  const siteConfig = this.createSiteConfig(outputDir, locale, urlRewriteMap);
60
- dispatchRequests.push(generateUrl(route.path, siteConfig));
63
+ await generateUrl(route.path, siteConfig);
61
64
  }
62
65
  if (staticSiteGenerator._additionalRoutePaths) {
63
66
  for (const uri of staticSiteGenerator._additionalRoutePaths) {
64
67
  const siteConfig = this.createSiteConfig(outputDir, locale, urlRewriteMap);
65
- dispatchRequests.push(generateUrl(uri, siteConfig));
68
+ await generateUrl(uri, siteConfig);
66
69
  }
67
70
  }
68
71
  }
69
- await Promise.all(dispatchRequests);
70
72
  }
71
73
  createGenerateURLFunction(dispatcher) {
72
74
  const generateRoute = async (uri, siteConfig) => {
@@ -1,3 +1,4 @@
1
+ import { performance } from 'perf_hooks';
1
2
  import { getSpecifier, getExperimentalFeatures, hashContent } from '@lwrjs/shared-utils';
2
3
  import { join, dirname, extname } from 'path';
3
4
  import fs from 'fs-extra';
@@ -13,6 +14,7 @@ export default class SiteGenerator {
13
14
  * @param dispatcher - Facilitate server requests
14
15
  */
15
16
  async buildStaticApplication(config, dispatcher) {
17
+ const startTime = performance.now();
16
18
  console.log('[Static Generation] starting');
17
19
  const { routes, staticSiteGenerator, rootDir, assets } = config;
18
20
  if (!staticSiteGenerator.outputDir) {
@@ -28,7 +30,9 @@ export default class SiteGenerator {
28
30
  this.writeNetlifyRedirectConfig(outputDir, urlRewriteMap);
29
31
  // Copy over assets
30
32
  this.copyAssets(assets, outputDir);
31
- console.log('[Static Generation] complete');
33
+ const endTime = performance.now();
34
+ const timeDiff = (endTime - startTime) / 1000;
35
+ console.log(`[Static Generation] complete in ${Math.round(timeDiff)} seconds`);
32
36
  }
33
37
  /**
34
38
  * Crawl all view routes for a site
@@ -37,25 +41,24 @@ export default class SiteGenerator {
37
41
  if (!staticSiteGenerator.locales) {
38
42
  staticSiteGenerator.locales = ['en-US'];
39
43
  }
40
- // Build up a list of dispatch requests to kick off in parallel
41
- const dispatchRequests = [];
42
44
  const generateUrl = this.createGenerateURLFunction(dispatcher);
45
+ // Note: generateUrl can consume a lot of memory so we need to do this sequentially
43
46
  for (const locale of staticSiteGenerator.locales) {
44
47
  // Generate all the routes
45
48
  for (const route of routes) {
46
49
  const siteConfig = this.createSiteConfig(outputDir, locale, urlRewriteMap);
47
- dispatchRequests.push(generateUrl(route.path, siteConfig));
50
+ // eslint-disable-next-line no-await-in-loop
51
+ await generateUrl(route.path, siteConfig);
48
52
  }
49
53
  // Generate any additional urls
50
54
  if (staticSiteGenerator._additionalRoutePaths) {
51
55
  for (const uri of staticSiteGenerator._additionalRoutePaths) {
52
56
  const siteConfig = this.createSiteConfig(outputDir, locale, urlRewriteMap);
53
- dispatchRequests.push(generateUrl(uri, siteConfig));
57
+ // eslint-disable-next-line no-await-in-loop
58
+ await generateUrl(uri, siteConfig);
54
59
  }
55
60
  }
56
61
  }
57
- // -- Dispatch routes
58
- await Promise.all(dispatchRequests);
59
62
  }
60
63
  /**
61
64
  * Creates a function to dispatch the root requests for a given view url
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.6.0",
7
+ "version": "0.6.1",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -33,31 +33,31 @@
33
33
  "package.cjs"
34
34
  ],
35
35
  "dependencies": {
36
- "@lwrjs/app-service": "0.6.0",
37
- "@lwrjs/asset-registry": "0.6.0",
38
- "@lwrjs/asset-transformer": "0.6.0",
39
- "@lwrjs/base-template-engine": "0.6.0",
40
- "@lwrjs/base-view-provider": "0.6.0",
41
- "@lwrjs/base-view-transformer": "0.6.0",
42
- "@lwrjs/client-modules": "0.6.0",
43
- "@lwrjs/compiler": "0.6.0",
44
- "@lwrjs/diagnostics": "0.6.0",
45
- "@lwrjs/fs-asset-provider": "0.6.0",
46
- "@lwrjs/html-view-provider": "0.6.0",
47
- "@lwrjs/loader": "0.6.0",
48
- "@lwrjs/lwc-module-provider": "0.6.0",
49
- "@lwrjs/lwc-ssr": "0.6.0",
50
- "@lwrjs/markdown-view-provider": "0.6.0",
51
- "@lwrjs/module-bundler": "0.6.0",
52
- "@lwrjs/module-registry": "0.6.0",
53
- "@lwrjs/npm-module-provider": "0.6.0",
54
- "@lwrjs/nunjucks-view-provider": "0.6.0",
55
- "@lwrjs/o11y": "0.6.0",
56
- "@lwrjs/resource-registry": "0.6.0",
57
- "@lwrjs/router": "0.6.0",
58
- "@lwrjs/server": "0.6.0",
59
- "@lwrjs/shared-utils": "0.6.0",
60
- "@lwrjs/view-registry": "0.6.0",
36
+ "@lwrjs/app-service": "0.6.1",
37
+ "@lwrjs/asset-registry": "0.6.1",
38
+ "@lwrjs/asset-transformer": "0.6.1",
39
+ "@lwrjs/base-template-engine": "0.6.1",
40
+ "@lwrjs/base-view-provider": "0.6.1",
41
+ "@lwrjs/base-view-transformer": "0.6.1",
42
+ "@lwrjs/client-modules": "0.6.1",
43
+ "@lwrjs/compiler": "0.6.1",
44
+ "@lwrjs/diagnostics": "0.6.1",
45
+ "@lwrjs/fs-asset-provider": "0.6.1",
46
+ "@lwrjs/html-view-provider": "0.6.1",
47
+ "@lwrjs/loader": "0.6.1",
48
+ "@lwrjs/lwc-module-provider": "0.6.1",
49
+ "@lwrjs/lwc-ssr": "0.6.1",
50
+ "@lwrjs/markdown-view-provider": "0.6.1",
51
+ "@lwrjs/module-bundler": "0.6.1",
52
+ "@lwrjs/module-registry": "0.6.1",
53
+ "@lwrjs/npm-module-provider": "0.6.1",
54
+ "@lwrjs/nunjucks-view-provider": "0.6.1",
55
+ "@lwrjs/o11y": "0.6.1",
56
+ "@lwrjs/resource-registry": "0.6.1",
57
+ "@lwrjs/router": "0.6.1",
58
+ "@lwrjs/server": "0.6.1",
59
+ "@lwrjs/shared-utils": "0.6.1",
60
+ "@lwrjs/view-registry": "0.6.1",
61
61
  "dompurify": "^2.3.0",
62
62
  "fs-extra": "^10.0.0",
63
63
  "jsdom": "^16.7.0",
@@ -67,7 +67,7 @@
67
67
  "qs": "^6.9.4"
68
68
  },
69
69
  "devDependencies": {
70
- "@lwrjs/types": "0.6.0"
70
+ "@lwrjs/types": "0.6.1"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "lwc": ">= 1.x <= 2.x"
@@ -75,5 +75,5 @@
75
75
  "engines": {
76
76
  "node": ">=14.15.4 <17"
77
77
  },
78
- "gitHead": "31769655f0155ad7e54cf37bccdf72d0baaf44ab"
78
+ "gitHead": "4d7c44dfae958fe24ef1c94b0f60aa2b15e12f24"
79
79
  }