@lwrjs/diagnostics 0.12.0-alpha.9 → 0.12.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.
@@ -0,0 +1,35 @@
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/diagnostics/src/descriptions/application.ts
25
+ __markAsModule(exports);
26
+ __export(exports, {
27
+ application: () => application
28
+ });
29
+ var import_core_diagnostics = __toModule(require("./core-diagnostics.cjs"));
30
+ var application = (0, import_core_diagnostics.createDiagnosticsCategory)({
31
+ ROUTE_HANDLER_ERROR: (route, error) => ({
32
+ category: "lwrApplication/routeHandler",
33
+ message: `An error occurred executing route handler for "${route}": "${error}"`
34
+ })
35
+ });
@@ -29,9 +29,11 @@ __export(exports, {
29
29
  var import_configParser = __toModule(require("./configParser.cjs"));
30
30
  var import_unresolvable = __toModule(require("./unresolvable.cjs"));
31
31
  var import_server = __toModule(require("./server.cjs"));
32
+ var import_application = __toModule(require("./application.cjs"));
32
33
  __exportStar(exports, __toModule(require("./core-diagnostics.cjs")));
33
34
  var descriptions = {
34
35
  CONFIG_PARSER: import_configParser.configParser,
35
36
  UNRESOLVABLE: import_unresolvable.unresolvable,
36
- SERVER: import_server.server
37
+ SERVER: import_server.server,
38
+ APPLICATION: import_application.application
37
39
  };
@@ -32,8 +32,12 @@ var server = (0, import_core_diagnostics.createDiagnosticsCategory)({
32
32
  category: "lwrServer/warmupError",
33
33
  message: `An error occurred during warmup: ${error}`
34
34
  }),
35
- INVALID_MODE: (mode) => ({
36
- category: "lwrServer/invalidMode",
37
- message: `No configuration found for server mode - ${mode}`
35
+ UNEXPECTED_ERROR: (error) => ({
36
+ category: "lwrServer/fatal",
37
+ message: `An unexpected error occurred: "${error}"`
38
+ }),
39
+ SERVER_ERROR: (name) => ({
40
+ category: "lwrServer/fatal",
41
+ message: `500: Unexpected error fetching "${name}"`
38
42
  })
39
43
  });
@@ -72,10 +72,6 @@ var unresolvable = (0, import_core_diagnostics.createDiagnosticsCategory)({
72
72
  category: "lwrUnresolvable/view",
73
73
  message: `404: LWR configuration for appId "${appId}" is not available`
74
74
  }),
75
- SERVER_ERROR: (name) => ({
76
- category: "lwrUnresolvable/fatal",
77
- message: `500: Unexpected error fetching "${name}"`
78
- }),
79
75
  INVALID_JSON: () => ({
80
76
  category: "lwrUnresolvable/invalid",
81
77
  message: "400: Accept header and json query parameter are incompatible"
@@ -105,5 +101,13 @@ ${error}`
105
101
  PRELOAD_MODULE: (specifier) => ({
106
102
  category: "lwrUnresolvable/invalid",
107
103
  message: `Invalid preload module: ${specifier}`
104
+ }),
105
+ INVALID_MODE: (mode) => ({
106
+ category: "lwrUnresolvable/invalid",
107
+ message: `No configuration found for server mode - ${mode}`
108
+ }),
109
+ SSR_TIMEOUT: (specifier, time) => ({
110
+ category: "lwrUnresolvable/ssr",
111
+ message: `Server side rendering '${specifier}' timed out after ${time}ms`
108
112
  })
109
113
  });
@@ -9,8 +9,8 @@ var __export = (target, all) => {
9
9
  __markAsModule(exports);
10
10
  __export(exports, {
11
11
  DiagnosticsError: () => DiagnosticsError,
12
+ LwrApplicationError: () => LwrApplicationError,
12
13
  LwrConfigValidationError: () => LwrConfigValidationError,
13
- LwrInvalidServerModeError: () => LwrInvalidServerModeError,
14
14
  LwrServerError: () => LwrServerError,
15
15
  LwrUnresolvableError: () => LwrUnresolvableError,
16
16
  createSingleDiagnosticError: () => createSingleDiagnosticError,
@@ -40,12 +40,23 @@ var DiagnosticsError = class extends Error {
40
40
  const message = this._message === void 0 ? "" : this._message + "\n";
41
41
  return message;
42
42
  }
43
- };
44
- var LwrInvalidServerModeError = class extends DiagnosticsError {
43
+ set message(message) {
44
+ this._message = message;
45
+ }
45
46
  };
46
47
  var LwrConfigValidationError = class extends DiagnosticsError {
47
48
  };
48
49
  var LwrUnresolvableError = class extends DiagnosticsError {
49
50
  };
50
51
  var LwrServerError = class extends DiagnosticsError {
52
+ constructor(message, diagnostics) {
53
+ super(message, diagnostics);
54
+ this.name = "ServerError";
55
+ }
56
+ };
57
+ var LwrApplicationError = class extends DiagnosticsError {
58
+ constructor(message, diagnostics) {
59
+ super(message, diagnostics);
60
+ this.name = "ApplicationError";
61
+ }
51
62
  };
@@ -104,23 +104,29 @@ ${additionalMessage}`);
104
104
  var stringifyError = (error) => {
105
105
  if (error instanceof import_errors.DiagnosticsError) {
106
106
  return JSON.stringify({
107
- message: error.message,
107
+ message: decodeMessage(error.message),
108
108
  diagnostics: error.diagnostics,
109
109
  stack: error.stack
110
110
  });
111
+ } else if (error.message) {
112
+ const message = error.message;
113
+ return decodeMessage(message);
111
114
  } else if (typeof error === "string" || error instanceof String) {
112
- return error;
115
+ return decodeMessage(error);
113
116
  } else {
114
117
  const propertyNames = Object.getOwnPropertyNames(error);
115
118
  const retObj = {};
116
119
  for (let property, i = 0, len = propertyNames.length; i < len; ++i) {
117
120
  property = propertyNames[i];
118
121
  const descriptor = Object.getOwnPropertyDescriptor(error, property);
119
- retObj[property] = descriptor?.value;
122
+ retObj[property] = decodeMessage(descriptor?.value);
120
123
  }
121
124
  return (0, import_util.inspect)(retObj);
122
125
  }
123
126
  };
127
+ function decodeMessage(message) {
128
+ return typeof message === "string" || message instanceof String ? decodeURIComponent(message) : message;
129
+ }
124
130
  function gap(message) {
125
131
  return String(message)?.indexOf("[") === 0 ? "" : " ";
126
132
  }
@@ -1,6 +1,7 @@
1
- export type DiagnosticCategory = DiagnosticLwrConfigCategory | DiagnosticCompiler | DiagnosticLwrUnresolvableCategory | DiagnosticLwrServer | '...more here';
1
+ export type DiagnosticCategory = DiagnosticLwrConfigCategory | DiagnosticCompiler | DiagnosticLwrUnresolvableCategory | DiagnosticLwrServer | DiagnosticLwrApplication | '...more here';
2
2
  export type DiagnosticLwrConfigCategory = 'lwrConfig/invalidJson' | 'lwrConfig/invalidSchema';
3
- export type DiagnosticLwrUnresolvableCategory = 'lwrUnresolvable/asset' | 'lwrUnresolvable/module' | 'lwrUnresolvable/bundle' | 'lwrUnresolvable/label' | 'lwrUnresolvable/routes' | 'lwrUnresolvable/resource' | 'lwrUnresolvable/view' | 'lwrUnresolvable/invalid' | 'lwrUnresolvable/fatal';
3
+ export type DiagnosticLwrUnresolvableCategory = 'lwrUnresolvable/asset' | 'lwrUnresolvable/module' | 'lwrUnresolvable/bundle' | 'lwrUnresolvable/label' | 'lwrUnresolvable/routes' | 'lwrUnresolvable/resource' | 'lwrUnresolvable/view' | 'lwrUnresolvable/ssr' | 'lwrUnresolvable/invalid';
4
4
  export type DiagnosticCompiler = 'compile/umd_transform';
5
- export type DiagnosticLwrServer = 'lwrServer/warmupError' | `lwrServer/invalidMode`;
5
+ export type DiagnosticLwrServer = 'lwrServer/warmupError' | 'lwrServer/invalidMode' | 'lwrServer/fatal';
6
+ export type DiagnosticLwrApplication = 'lwrApplication/routeHandler';
6
7
  //# sourceMappingURL=categories.d.ts.map
@@ -0,0 +1,10 @@
1
+ export declare const application: {
2
+ ROUTE_HANDLER_ERROR: (route: string, error: string) => Omit<{
3
+ category: "lwrApplication/routeHandler";
4
+ message: string;
5
+ }, "message" | "advice"> & {
6
+ advice: import("../types.js").DiagnosticAdvice;
7
+ message: string;
8
+ };
9
+ };
10
+ //# sourceMappingURL=application.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { createDiagnosticsCategory } from './core-diagnostics.js';
2
+ export const application = createDiagnosticsCategory({
3
+ ROUTE_HANDLER_ERROR: (route, error) => ({
4
+ category: 'lwrApplication/routeHandler',
5
+ message: `An error occurred executing route handler for "${route}": "${error}"`,
6
+ }),
7
+ });
8
+ //# sourceMappingURL=application.js.map
@@ -277,13 +277,6 @@ export declare const descriptions: {
277
277
  advice: import("../types.js").DiagnosticAdvice;
278
278
  message: string;
279
279
  };
280
- SERVER_ERROR: (name: string) => Omit<{
281
- category: "lwrUnresolvable/fatal";
282
- message: string;
283
- }, "message" | "advice"> & {
284
- advice: import("../types.js").DiagnosticAdvice;
285
- message: string;
286
- };
287
280
  INVALID_JSON: () => Omit<{
288
281
  category: "lwrUnresolvable/invalid";
289
282
  message: string;
@@ -333,6 +326,20 @@ export declare const descriptions: {
333
326
  advice: import("../types.js").DiagnosticAdvice;
334
327
  message: string;
335
328
  };
329
+ INVALID_MODE: (mode: string) => Omit<{
330
+ category: "lwrUnresolvable/invalid";
331
+ message: string;
332
+ }, "message" | "advice"> & {
333
+ advice: import("../types.js").DiagnosticAdvice;
334
+ message: string;
335
+ };
336
+ SSR_TIMEOUT: (specifier: string, time: number) => Omit<{
337
+ category: "lwrUnresolvable/ssr";
338
+ message: string;
339
+ }, "message" | "advice"> & {
340
+ advice: import("../types.js").DiagnosticAdvice;
341
+ message: string;
342
+ };
336
343
  };
337
344
  SERVER: {
338
345
  WARMUP_ERROR: (error: string) => Omit<{
@@ -342,8 +349,24 @@ export declare const descriptions: {
342
349
  advice: import("../types.js").DiagnosticAdvice;
343
350
  message: string;
344
351
  };
345
- INVALID_MODE: (mode: string) => Omit<{
346
- category: "lwrServer/invalidMode";
352
+ UNEXPECTED_ERROR: (error: string) => Omit<{
353
+ category: "lwrServer/fatal";
354
+ message: string;
355
+ }, "message" | "advice"> & {
356
+ advice: import("../types.js").DiagnosticAdvice;
357
+ message: string;
358
+ };
359
+ SERVER_ERROR: (name: string) => Omit<{
360
+ category: "lwrServer/fatal";
361
+ message: string;
362
+ }, "message" | "advice"> & {
363
+ advice: import("../types.js").DiagnosticAdvice;
364
+ message: string;
365
+ };
366
+ };
367
+ APPLICATION: {
368
+ ROUTE_HANDLER_ERROR: (route: string, error: string) => Omit<{
369
+ category: "lwrApplication/routeHandler";
347
370
  message: string;
348
371
  }, "message" | "advice"> & {
349
372
  advice: import("../types.js").DiagnosticAdvice;
@@ -1,10 +1,12 @@
1
1
  import { configParser } from './configParser.js';
2
2
  import { unresolvable } from './unresolvable.js';
3
3
  import { server } from './server.js';
4
+ import { application } from './application.js';
4
5
  export const descriptions = {
5
6
  CONFIG_PARSER: configParser,
6
7
  UNRESOLVABLE: unresolvable,
7
8
  SERVER: server,
9
+ APPLICATION: application,
8
10
  };
9
11
  export * from './core-diagnostics.js';
10
12
  //# sourceMappingURL=index.js.map
@@ -6,8 +6,15 @@ export declare const server: {
6
6
  advice: import("../types.js").DiagnosticAdvice;
7
7
  message: string;
8
8
  };
9
- INVALID_MODE: (mode: string) => Omit<{
10
- category: "lwrServer/invalidMode";
9
+ UNEXPECTED_ERROR: (error: string) => Omit<{
10
+ category: "lwrServer/fatal";
11
+ message: string;
12
+ }, "message" | "advice"> & {
13
+ advice: import("../types.js").DiagnosticAdvice;
14
+ message: string;
15
+ };
16
+ SERVER_ERROR: (name: string) => Omit<{
17
+ category: "lwrServer/fatal";
11
18
  message: string;
12
19
  }, "message" | "advice"> & {
13
20
  advice: import("../types.js").DiagnosticAdvice;
@@ -4,9 +4,13 @@ export const server = createDiagnosticsCategory({
4
4
  category: 'lwrServer/warmupError',
5
5
  message: `An error occurred during warmup: ${error}`,
6
6
  }),
7
- INVALID_MODE: (mode) => ({
8
- category: 'lwrServer/invalidMode',
9
- message: `No configuration found for server mode - ${mode}`,
7
+ UNEXPECTED_ERROR: (error) => ({
8
+ category: 'lwrServer/fatal',
9
+ message: `An unexpected error occurred: "${error}"`,
10
+ }),
11
+ SERVER_ERROR: (name) => ({
12
+ category: 'lwrServer/fatal',
13
+ message: `500: Unexpected error fetching "${name}"`,
10
14
  }),
11
15
  });
12
16
  //# sourceMappingURL=server.js.map
@@ -76,13 +76,6 @@ export declare const unresolvable: {
76
76
  advice: import("../types.js").DiagnosticAdvice;
77
77
  message: string;
78
78
  };
79
- SERVER_ERROR: (name: string) => Omit<{
80
- category: "lwrUnresolvable/fatal";
81
- message: string;
82
- }, "message" | "advice"> & {
83
- advice: import("../types.js").DiagnosticAdvice;
84
- message: string;
85
- };
86
79
  INVALID_JSON: () => Omit<{
87
80
  category: "lwrUnresolvable/invalid";
88
81
  message: string;
@@ -132,5 +125,19 @@ export declare const unresolvable: {
132
125
  advice: import("../types.js").DiagnosticAdvice;
133
126
  message: string;
134
127
  };
128
+ INVALID_MODE: (mode: string) => Omit<{
129
+ category: "lwrUnresolvable/invalid";
130
+ message: string;
131
+ }, "message" | "advice"> & {
132
+ advice: import("../types.js").DiagnosticAdvice;
133
+ message: string;
134
+ };
135
+ SSR_TIMEOUT: (specifier: string, time: number) => Omit<{
136
+ category: "lwrUnresolvable/ssr";
137
+ message: string;
138
+ }, "message" | "advice"> & {
139
+ advice: import("../types.js").DiagnosticAdvice;
140
+ message: string;
141
+ };
135
142
  };
136
143
  //# sourceMappingURL=unresolvable.d.ts.map
@@ -44,10 +44,6 @@ export const unresolvable = createDiagnosticsCategory({
44
44
  category: 'lwrUnresolvable/view',
45
45
  message: `404: LWR configuration for appId "${appId}" is not available`,
46
46
  }),
47
- SERVER_ERROR: (name) => ({
48
- category: 'lwrUnresolvable/fatal',
49
- message: `500: Unexpected error fetching "${name}"`,
50
- }),
51
47
  INVALID_JSON: () => ({
52
48
  category: 'lwrUnresolvable/invalid',
53
49
  message: '400: Accept header and json query parameter are incompatible',
@@ -76,5 +72,13 @@ export const unresolvable = createDiagnosticsCategory({
76
72
  category: 'lwrUnresolvable/invalid',
77
73
  message: `Invalid preload module: ${specifier}`,
78
74
  }),
75
+ INVALID_MODE: (mode) => ({
76
+ category: 'lwrUnresolvable/invalid',
77
+ message: `No configuration found for server mode - ${mode}`,
78
+ }),
79
+ SSR_TIMEOUT: (specifier, time) => ({
80
+ category: 'lwrUnresolvable/ssr',
81
+ message: `Server side rendering '${specifier}' timed out after ${time}ms`,
82
+ }),
79
83
  });
80
84
  //# sourceMappingURL=unresolvable.js.map
@@ -7,14 +7,17 @@ export declare class DiagnosticsError extends Error {
7
7
  private _memoMessage;
8
8
  private _message;
9
9
  get message(): string;
10
+ set message(message: string);
10
11
  diagnostics: Diagnostics;
11
12
  }
12
- export declare class LwrInvalidServerModeError extends DiagnosticsError {
13
- }
14
13
  export declare class LwrConfigValidationError extends DiagnosticsError {
15
14
  }
16
15
  export declare class LwrUnresolvableError extends DiagnosticsError {
17
16
  }
18
17
  export declare class LwrServerError extends DiagnosticsError {
18
+ constructor(message: undefined | string, diagnostics: Diagnostics);
19
+ }
20
+ export declare class LwrApplicationError extends DiagnosticsError {
21
+ constructor(message: undefined | string, diagnostics: Diagnostics);
19
22
  }
20
23
  //# sourceMappingURL=errors.d.ts.map
@@ -25,13 +25,25 @@ export class DiagnosticsError extends Error {
25
25
  const message = this._message === undefined ? '' : this._message + '\n';
26
26
  return message;
27
27
  }
28
- }
29
- export class LwrInvalidServerModeError extends DiagnosticsError {
28
+ // Allow set message can be called from rollup ModuleLoader.addModuleSource
29
+ set message(message) {
30
+ this._message = message;
31
+ }
30
32
  }
31
33
  export class LwrConfigValidationError extends DiagnosticsError {
32
34
  }
33
35
  export class LwrUnresolvableError extends DiagnosticsError {
34
36
  }
35
37
  export class LwrServerError extends DiagnosticsError {
38
+ constructor(message, diagnostics) {
39
+ super(message, diagnostics);
40
+ this.name = 'ServerError';
41
+ }
42
+ }
43
+ export class LwrApplicationError extends DiagnosticsError {
44
+ constructor(message, diagnostics) {
45
+ super(message, diagnostics);
46
+ this.name = 'ApplicationError';
47
+ }
36
48
  }
37
49
  //# sourceMappingURL=errors.js.map
@@ -74,13 +74,20 @@ function log(level, message, additionalInfo) {
74
74
  export const stringifyError = (error) => {
75
75
  if (error instanceof DiagnosticsError) {
76
76
  return JSON.stringify({
77
- message: error.message,
77
+ // Message may have been encoded to prevent XSS
78
+ message: decodeMessage(error.message),
78
79
  diagnostics: error.diagnostics,
79
80
  stack: error.stack,
80
81
  });
81
82
  }
83
+ else if (error.message) {
84
+ const message = error.message;
85
+ // Message may have been encoded to prevent XSS
86
+ return decodeMessage(message);
87
+ }
82
88
  else if (typeof error === 'string' || error instanceof String) {
83
- return error;
89
+ // Message may have been encoded to prevent XSS
90
+ return decodeMessage(error);
84
91
  }
85
92
  else {
86
93
  const propertyNames = Object.getOwnPropertyNames(error);
@@ -88,11 +95,17 @@ export const stringifyError = (error) => {
88
95
  for (let property, i = 0, len = propertyNames.length; i < len; ++i) {
89
96
  property = propertyNames[i];
90
97
  const descriptor = Object.getOwnPropertyDescriptor(error, property);
91
- retObj[property] = descriptor?.value;
98
+ // Message may have been encoded to prevent XSS
99
+ retObj[property] = decodeMessage(descriptor?.value);
92
100
  }
93
101
  return inspect(retObj);
94
102
  }
95
103
  };
104
+ function decodeMessage(message) {
105
+ return typeof message === 'string' || message instanceof String
106
+ ? decodeURIComponent(message)
107
+ : message;
108
+ }
96
109
  // Return a space if there should be a space between the message and the level
97
110
  function gap(message) {
98
111
  return String(message)?.indexOf('[') === 0 ? '' : ' ';
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.12.0-alpha.9",
7
+ "version": "0.12.1",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -35,7 +35,7 @@
35
35
  "test": "jest"
36
36
  },
37
37
  "devDependencies": {
38
- "@lwrjs/types": "0.12.0-alpha.9",
38
+ "@lwrjs/types": "0.12.1",
39
39
  "jest": "^26.6.3",
40
40
  "ts-jest": "^26.5.6",
41
41
  "typescript": "^4.9.5"
@@ -46,5 +46,5 @@
46
46
  "volta": {
47
47
  "extends": "../../../package.json"
48
48
  },
49
- "gitHead": "58b28fbc6300b704ac17f8878423120de0e376d7"
49
+ "gitHead": "4f8b2759b540af7443f07528980ddb0e7d4d5e3a"
50
50
  }