@lwrjs/tools 0.9.0-alpha.26 → 0.9.0-alpha.28

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.
@@ -0,0 +1,29 @@
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/tools/src/index.ts
25
+ __markAsModule(exports);
26
+ __export(exports, {
27
+ buildServer: () => import_server_build.buildServer
28
+ });
29
+ var import_server_build = __toModule(require("./server-build.cjs"));
@@ -0,0 +1,151 @@
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/tools/src/plugins/build-server-plugin.ts
25
+ __markAsModule(exports);
26
+ __export(exports, {
27
+ default: () => buildLwrServer
28
+ });
29
+ var import_path = __toModule(require("path"));
30
+ var import_config = __toModule(require("@lwrjs/config"));
31
+ var import_modules = __toModule(require("@lwrjs/config/modules"));
32
+ var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
33
+ var services = [
34
+ "moduleProviders",
35
+ "assetProviders",
36
+ "assetTransformers",
37
+ "viewProviders",
38
+ "viewTransformers",
39
+ "resourceProviders"
40
+ ];
41
+ function processServices(kind, entries, rootDir) {
42
+ const output = {
43
+ imports: [],
44
+ entries: []
45
+ };
46
+ for (const [index, [entry, config]] of entries.entries()) {
47
+ const name = kind + index;
48
+ output.imports.push(`import ${name} from '${(0, import_shared_utils.normalizeDirectory)(entry, rootDir)}';`);
49
+ output.entries.push([name, config]);
50
+ }
51
+ return output;
52
+ }
53
+ function processHooks(hooksConfig, hooks, rootDir) {
54
+ const output = {
55
+ imports: [],
56
+ entries: []
57
+ };
58
+ for (const [index, [entry, config]] of hooksConfig.entries()) {
59
+ if (!hooks[index].onStart) {
60
+ continue;
61
+ }
62
+ if (hooks[index].initConfigs) {
63
+ import_shared_utils.logger.warn("Consider splitting `initConfigs` hooks to a file separate from `onStart`.");
64
+ }
65
+ const name = "hook" + index;
66
+ output.imports.push(`import ${name} from '${(0, import_shared_utils.normalizeDirectory)(entry, rootDir)}';`);
67
+ output.entries.push([name, config]);
68
+ }
69
+ return output;
70
+ }
71
+ function processRouteHandlers(routeHandlers, rootDir) {
72
+ const output = {
73
+ imports: [],
74
+ routeHandlers: {}
75
+ };
76
+ for (const [id, handlerPath] of Object.entries(routeHandlers)) {
77
+ if (!output.routeHandlers[id]) {
78
+ const name = `routeHandler${output.imports.length}`;
79
+ output.imports.push(`import ${name} from '${(0, import_shared_utils.normalizeDirectory)(handlerPath, rootDir)}';`);
80
+ output.routeHandlers[id] = name;
81
+ }
82
+ }
83
+ return output;
84
+ }
85
+ function printServices(config) {
86
+ return `{${Object.entries(config).map(([key, value]) => {
87
+ const entries = value;
88
+ return `${key}: [${entries.map(([ctor, config2 = {}]) => `[${ctor}, ${JSON.stringify(config2)}]`)}]`;
89
+ }).join(",")}}`;
90
+ }
91
+ function printHooks(hooks) {
92
+ return `[${hooks.map(([ctor, config = {}]) => {
93
+ return `new ${ctor}(${JSON.stringify(config)})`;
94
+ }).join(",")}]`;
95
+ }
96
+ function printRouteHandlers(routeHandlers) {
97
+ return `{${Object.entries(routeHandlers).map(([id, handler]) => {
98
+ return `'${id}': ${handler}`;
99
+ }).join(",")}}`;
100
+ }
101
+ function buildLwrServer(config) {
102
+ return {
103
+ name: "lwr-server-build",
104
+ setup(build) {
105
+ build.onResolve({filter: /.*\/lwr.build.js$/}, (args) => ({
106
+ path: args.path,
107
+ namespace: "lwr-server-build"
108
+ }));
109
+ build.onLoad({filter: /.*/, namespace: "lwr-server-build"}, async (args) => {
110
+ const {appConfig, runtimeEnvironment, globalData} = await (0, import_config.loadConfig)(config, {
111
+ skipDirNormalization: true
112
+ });
113
+ const hooks = await (0, import_modules.loadHooks)(appConfig);
114
+ if (hooks.length) {
115
+ const skipValidation = true;
116
+ await (0, import_config.executeConfigHooks)(hooks, appConfig, runtimeEnvironment, globalData, skipValidation);
117
+ }
118
+ const remoteAppConfig = {
119
+ ...appConfig,
120
+ ignoreLwrConfigFile: true,
121
+ rootDir: void 0,
122
+ port: void 0
123
+ };
124
+ const serviceImports = [];
125
+ const serviceConfig = {};
126
+ for (const service of services) {
127
+ const entries = processServices(service, appConfig[service], appConfig.rootDir);
128
+ serviceImports.push(...entries.imports);
129
+ serviceConfig[service] = entries.entries;
130
+ }
131
+ const hooksConfig = processHooks(appConfig.hooks, hooks, appConfig.rootDir);
132
+ const routeHandlersConfig = processRouteHandlers(appConfig.routeHandlers, appConfig.rootDir);
133
+ return {
134
+ contents: [
135
+ ...serviceImports,
136
+ ...hooksConfig.imports,
137
+ ...routeHandlersConfig.imports,
138
+ `export const appConfig = ${JSON.stringify(remoteAppConfig)};`,
139
+ `export const runtimeEnvironment = ${JSON.stringify(runtimeEnvironment)};`,
140
+ `export const globalData = ${JSON.stringify(globalData)};`,
141
+ `export const services = ${printServices(serviceConfig)};`,
142
+ `export const hooks = ${printHooks(hooksConfig.entries)};`,
143
+ `export const routeHandlers = ${printRouteHandlers(routeHandlersConfig.routeHandlers)};`
144
+ ].join("\n"),
145
+ loader: "ts",
146
+ resolveDir: import_path.default.dirname(args.path)
147
+ };
148
+ });
149
+ }
150
+ };
151
+ }
@@ -0,0 +1,55 @@
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/tools/src/plugins/generate-entry-plugin.ts
25
+ __markAsModule(exports);
26
+ __export(exports, {
27
+ default: () => generateLwrEntry
28
+ });
29
+ var import_path = __toModule(require("path"));
30
+ function generateLwrEntry() {
31
+ return {
32
+ name: "lwr-entry",
33
+ setup(build) {
34
+ build.onResolve({filter: /.*\/lwr.entry.js$/}, ({kind, path: path2}) => {
35
+ if (kind === "entry-point") {
36
+ return {
37
+ path: path2,
38
+ namespace: "lwr-entry"
39
+ };
40
+ }
41
+ });
42
+ build.onLoad({filter: /.*/, namespace: "lwr-entry"}, (args) => ({
43
+ contents: [
44
+ `/* This module is generated */`,
45
+ `import { createHandler } from '@lwrjs/lambda';`,
46
+ `import * as build from './lwr.build.js';`,
47
+ `const handler = createHandler(build);`,
48
+ `export { handler as get };`
49
+ ].join("\n"),
50
+ loader: "ts",
51
+ resolveDir: import_path.default.dirname(args.path)
52
+ }));
53
+ }
54
+ };
55
+ }
@@ -0,0 +1,84 @@
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/tools/src/server-build.ts
25
+ __markAsModule(exports);
26
+ __export(exports, {
27
+ buildServer: () => buildServer
28
+ });
29
+ var import_path = __toModule(require("path"));
30
+ var import_fs_extra = __toModule(require("fs-extra"));
31
+ var import_esbuild = __toModule(require("esbuild"));
32
+ var import_perf_hooks = __toModule(require("perf_hooks"));
33
+ var import_shared_utils = __toModule(require("@lwrjs/shared-utils"));
34
+ var import_config = __toModule(require("@lwrjs/config"));
35
+ var import_generate_entry_plugin = __toModule(require("./plugins/generate-entry-plugin.cjs"));
36
+ var import_build_server_plugin = __toModule(require("./plugins/build-server-plugin.cjs"));
37
+ async function build(buildOptions, config) {
38
+ const {outputDir, minify} = buildOptions;
39
+ await import_esbuild.default.build({
40
+ entryPoints: ["./lwr.entry.js"],
41
+ bundle: true,
42
+ minify,
43
+ sourcemap: true,
44
+ format: "cjs",
45
+ platform: "node",
46
+ logLevel: "silent",
47
+ mainFields: ["module", "main"],
48
+ external: [
49
+ "node:*",
50
+ "fsevents",
51
+ "iltorb",
52
+ "shrink-ray-current",
53
+ "esbuild*",
54
+ "esinstall",
55
+ "@lwrjs/loader"
56
+ ],
57
+ banner: {
58
+ js: createEnvVarHeader()
59
+ },
60
+ plugins: [(0, import_generate_entry_plugin.default)(), (0, import_build_server_plugin.default)(config)],
61
+ outfile: import_path.default.join(outputDir, "ssr.js")
62
+ });
63
+ }
64
+ async function buildServer(configArg, options) {
65
+ const startTime = import_perf_hooks.performance.now();
66
+ const outputDir = import_path.default.join(configArg?.rootDir || process.cwd(), options?.outputDir || "/build");
67
+ await import_fs_extra.default.ensureDir(outputDir);
68
+ await build({outputDir, minify: !!options?.minify}, configArg);
69
+ const endTime = import_perf_hooks.performance.now();
70
+ const timeDiff = endTime - startTime;
71
+ import_shared_utils.logger.info(`[Server Build] successfully built the server in ${Math.round(timeDiff)} ms`);
72
+ }
73
+ function createEnvVarHeader() {
74
+ const currentFeatureFlags = (0, import_shared_utils.getFeatureFlags)();
75
+ let initFeatureFlagsString = "";
76
+ for (const [key, val] of Object.entries(currentFeatureFlags)) {
77
+ if (val) {
78
+ initFeatureFlagsString += `process.env.${key} = 'true';`;
79
+ }
80
+ }
81
+ const LWR_VERSION_ASSIGNMENT = `globalThis.LWR_VERSION='${import_config.LWR_VERSION}';`;
82
+ const LWC_VERSION_ASSIGNMENT = `globalThis.LWC_VERSION='${import_config.LWC_VERSION}';`;
83
+ return `${LWR_VERSION_ASSIGNMENT}${LWC_VERSION_ASSIGNMENT}${initFeatureFlagsString}`;
84
+ }
@@ -27,9 +27,6 @@ async function build(buildOptions, config) {
27
27
  // Used for express compression. Should be an optional dependency and should be omitted at runtime
28
28
  'iltorb',
29
29
  'shrink-ray-current',
30
- // Rollup resolves plugins in node_modules at runtime. More investigation needed.
31
- 'rollup',
32
- 'rollup-plugin-*',
33
30
  // These dependencies are not needed to serve a basic generated site, but they are still excluded
34
31
  // in case there is a need to add a custom module provider.
35
32
  'esbuild*',
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.9.0-alpha.26",
7
+ "version": "0.9.0-alpha.28",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -32,11 +32,11 @@
32
32
  "package.cjs"
33
33
  ],
34
34
  "dependencies": {
35
- "@lwrjs/core": "0.9.0-alpha.26",
35
+ "@lwrjs/core": "0.9.0-alpha.28",
36
36
  "esbuild": "^0.17.4"
37
37
  },
38
38
  "devDependencies": {
39
- "@lwrjs/types": "0.9.0-alpha.26"
39
+ "@lwrjs/types": "0.9.0-alpha.28"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "lwc": "2.x"
@@ -44,5 +44,5 @@
44
44
  "engines": {
45
45
  "node": ">=16.0.0 <20"
46
46
  },
47
- "gitHead": "6da956eb29622d49423b0a6ee63300de1f3e121c"
47
+ "gitHead": "da7d0c58d2e34958a289a18f43c5998e85e72986"
48
48
  }