@salesforce/b2c-tooling-sdk 0.2.0 → 0.3.0
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/dist/cjs/auth/api-key.d.ts +2 -2
- package/dist/cjs/auth/api-key.js +1 -0
- package/dist/cjs/auth/api-key.js.map +1 -1
- package/dist/cjs/auth/basic.d.ts +2 -2
- package/dist/cjs/auth/basic.js +2 -0
- package/dist/cjs/auth/basic.js.map +1 -1
- package/dist/cjs/auth/index.d.ts +1 -1
- package/dist/cjs/auth/index.js.map +1 -1
- package/dist/cjs/auth/oauth-implicit.d.ts +2 -2
- package/dist/cjs/auth/oauth-implicit.js +1 -0
- package/dist/cjs/auth/oauth-implicit.js.map +1 -1
- package/dist/cjs/auth/oauth.d.ts +2 -2
- package/dist/cjs/auth/oauth.js +2 -0
- package/dist/cjs/auth/oauth.js.map +1 -1
- package/dist/cjs/auth/types.d.ts +10 -1
- package/dist/cjs/auth/types.js +5 -0
- package/dist/cjs/auth/types.js.map +1 -1
- package/dist/cjs/cli/base-command.d.ts +23 -0
- package/dist/cjs/cli/base-command.js +29 -4
- package/dist/cjs/cli/base-command.js.map +1 -1
- package/dist/cjs/cli/config.d.ts +71 -0
- package/dist/cjs/cli/config.js +105 -2
- package/dist/cjs/cli/config.js.map +1 -1
- package/dist/cjs/cli/index.d.ts +2 -2
- package/dist/cjs/cli/index.js +3 -1
- package/dist/cjs/cli/index.js.map +1 -1
- package/dist/cjs/cli/instance-command.d.ts +4 -0
- package/dist/cjs/cli/instance-command.js +24 -23
- package/dist/cjs/cli/instance-command.js.map +1 -1
- package/dist/cjs/cli/mrt-command.d.ts +0 -6
- package/dist/cjs/cli/mrt-command.js +5 -29
- package/dist/cjs/cli/mrt-command.js.map +1 -1
- package/dist/cjs/cli/oauth-command.d.ts +5 -6
- package/dist/cjs/cli/oauth-command.js +13 -35
- package/dist/cjs/cli/oauth-command.js.map +1 -1
- package/dist/cjs/cli/ods-command.d.ts +18 -0
- package/dist/cjs/cli/ods-command.js +51 -0
- package/dist/cjs/cli/ods-command.js.map +1 -1
- package/dist/cjs/cli/webdav-command.d.ts +4 -0
- package/dist/cjs/clients/cdn-zones.d.ts +33 -1
- package/dist/cjs/clients/cdn-zones.js.map +1 -1
- package/dist/cjs/clients/custom-apis.d.ts +30 -1
- package/dist/cjs/clients/custom-apis.js.map +1 -1
- package/dist/cjs/clients/index.d.ts +2 -0
- package/dist/cjs/clients/index.js +1 -0
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/mrt-b2c.d.ts +25 -1
- package/dist/cjs/clients/mrt-b2c.js.map +1 -1
- package/dist/cjs/clients/mrt.d.ts +24 -1
- package/dist/cjs/clients/mrt.js.map +1 -1
- package/dist/cjs/clients/ocapi.d.ts +22 -2
- package/dist/cjs/clients/ocapi.js +0 -2
- package/dist/cjs/clients/ocapi.js.map +1 -1
- package/dist/cjs/clients/ods.d.ts +28 -1
- package/dist/cjs/clients/ods.js.map +1 -1
- package/dist/cjs/clients/scapi-schemas.d.ts +30 -1
- package/dist/cjs/clients/scapi-schemas.js.map +1 -1
- package/dist/cjs/clients/slas-admin.d.ts +28 -0
- package/dist/cjs/clients/slas-admin.js.map +1 -1
- package/dist/cjs/clients/tls-dispatcher.d.ts +42 -0
- package/dist/cjs/clients/tls-dispatcher.js +107 -0
- package/dist/cjs/clients/tls-dispatcher.js.map +1 -0
- package/dist/cjs/clients/webdav.d.ts +8 -1
- package/dist/cjs/clients/webdav.js +5 -1
- package/dist/cjs/clients/webdav.js.map +1 -1
- package/dist/cjs/config/dw-json.d.ts +14 -0
- package/dist/cjs/config/dw-json.js +3 -2
- package/dist/cjs/config/dw-json.js.map +1 -1
- package/dist/cjs/config/index.d.ts +2 -2
- package/dist/cjs/config/index.js +1 -1
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/config/mapping.d.ts +1 -1
- package/dist/cjs/config/mapping.js +20 -4
- package/dist/cjs/config/mapping.js.map +1 -1
- package/dist/cjs/config/resolved-config.d.ts +1 -3
- package/dist/cjs/config/resolved-config.js +0 -8
- package/dist/cjs/config/resolved-config.js.map +1 -1
- package/dist/cjs/config/resolver.d.ts +1 -1
- package/dist/cjs/config/resolver.js +20 -4
- package/dist/cjs/config/resolver.js.map +1 -1
- package/dist/cjs/config/sources/mobify-source.js +3 -2
- package/dist/cjs/config/sources/mobify-source.js.map +1 -1
- package/dist/cjs/config/sources/package-json-source.js +3 -1
- package/dist/cjs/config/sources/package-json-source.js.map +1 -1
- package/dist/cjs/config/types.d.ts +6 -18
- package/dist/{esm/operations → cjs}/docs/download.d.ts +1 -1
- package/dist/cjs/{operations/docs → docs}/download.js +2 -2
- package/dist/cjs/docs/download.js.map +1 -0
- package/dist/{esm/operations → cjs}/docs/index.d.ts +4 -4
- package/dist/cjs/docs/index.js.map +1 -0
- package/dist/cjs/docs/schema.js.map +1 -0
- package/dist/cjs/docs/search.js.map +1 -0
- package/dist/cjs/docs/types.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -10
- package/dist/cjs/index.js +4 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instance/index.d.ts +4 -0
- package/dist/cjs/instance/index.js +6 -1
- package/dist/cjs/instance/index.js.map +1 -1
- package/dist/cjs/logging/index.d.ts +1 -1
- package/dist/cjs/logging/logger.js +15 -0
- package/dist/cjs/logging/logger.js.map +1 -1
- package/dist/cjs/logging/types.d.ts +9 -0
- package/dist/cjs/operations/logs/index.d.ts +65 -0
- package/dist/cjs/operations/logs/index.js +73 -0
- package/dist/cjs/operations/logs/index.js.map +1 -0
- package/dist/cjs/operations/logs/list.d.ts +35 -0
- package/dist/cjs/operations/logs/list.js +144 -0
- package/dist/cjs/operations/logs/list.js.map +1 -0
- package/dist/cjs/operations/logs/path-normalizer.d.ts +82 -0
- package/dist/cjs/operations/logs/path-normalizer.js +190 -0
- package/dist/cjs/operations/logs/path-normalizer.js.map +1 -0
- package/dist/cjs/operations/logs/tail.d.ts +92 -0
- package/dist/cjs/operations/logs/tail.js +525 -0
- package/dist/cjs/operations/logs/tail.js.map +1 -0
- package/dist/cjs/operations/logs/types.d.ts +132 -0
- package/dist/cjs/operations/logs/types.js +7 -0
- package/dist/cjs/operations/logs/types.js.map +1 -0
- package/dist/cjs/operations/mrt/push.js +3 -0
- package/dist/cjs/operations/mrt/push.js.map +1 -1
- package/dist/cjs/operations/ods/index.d.ts +6 -0
- package/dist/cjs/operations/ods/index.js +12 -0
- package/dist/cjs/operations/ods/index.js.map +1 -0
- package/dist/cjs/operations/ods/sandbox-lookup.d.ts +63 -0
- package/dist/cjs/operations/ods/sandbox-lookup.js +130 -0
- package/dist/cjs/operations/ods/sandbox-lookup.js.map +1 -0
- package/dist/{esm/operations/scapi-schemas → cjs/schemas}/collapse.d.ts +1 -1
- package/dist/cjs/schemas/collapse.js.map +1 -0
- package/dist/cjs/{operations/scapi-schemas → schemas}/index.d.ts +5 -5
- package/dist/cjs/{operations/scapi-schemas → schemas}/index.js +5 -5
- package/dist/cjs/schemas/index.js.map +1 -0
- package/dist/cjs/test-utils/config-isolation.js +7 -0
- package/dist/cjs/test-utils/config-isolation.js.map +1 -1
- package/dist/esm/auth/api-key.d.ts +2 -2
- package/dist/esm/auth/api-key.js +1 -0
- package/dist/esm/auth/api-key.js.map +1 -1
- package/dist/esm/auth/basic.d.ts +2 -2
- package/dist/esm/auth/basic.js +2 -0
- package/dist/esm/auth/basic.js.map +1 -1
- package/dist/esm/auth/index.d.ts +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/oauth-implicit.d.ts +2 -2
- package/dist/esm/auth/oauth-implicit.js +1 -0
- package/dist/esm/auth/oauth-implicit.js.map +1 -1
- package/dist/esm/auth/oauth.d.ts +2 -2
- package/dist/esm/auth/oauth.js +2 -0
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/auth/types.d.ts +10 -1
- package/dist/esm/auth/types.js +5 -0
- package/dist/esm/auth/types.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +23 -0
- package/dist/esm/cli/base-command.js +29 -4
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/config.d.ts +71 -0
- package/dist/esm/cli/config.js +105 -2
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/index.d.ts +2 -2
- package/dist/esm/cli/index.js +3 -1
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +4 -0
- package/dist/esm/cli/instance-command.js +24 -23
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +0 -6
- package/dist/esm/cli/mrt-command.js +5 -29
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +5 -6
- package/dist/esm/cli/oauth-command.js +13 -35
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/ods-command.d.ts +18 -0
- package/dist/esm/cli/ods-command.js +51 -0
- package/dist/esm/cli/ods-command.js.map +1 -1
- package/dist/esm/cli/webdav-command.d.ts +4 -0
- package/dist/esm/clients/cdn-zones.d.ts +33 -1
- package/dist/esm/clients/cdn-zones.js.map +1 -1
- package/dist/esm/clients/custom-apis.d.ts +30 -1
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/index.d.ts +2 -0
- package/dist/esm/clients/index.js +1 -0
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/mrt-b2c.d.ts +25 -1
- package/dist/esm/clients/mrt-b2c.js.map +1 -1
- package/dist/esm/clients/mrt.d.ts +24 -1
- package/dist/esm/clients/mrt.js.map +1 -1
- package/dist/esm/clients/ocapi.d.ts +22 -2
- package/dist/esm/clients/ocapi.js +0 -2
- package/dist/esm/clients/ocapi.js.map +1 -1
- package/dist/esm/clients/ods.d.ts +28 -1
- package/dist/esm/clients/ods.js.map +1 -1
- package/dist/esm/clients/scapi-schemas.d.ts +30 -1
- package/dist/esm/clients/scapi-schemas.js.map +1 -1
- package/dist/esm/clients/slas-admin.d.ts +28 -0
- package/dist/esm/clients/slas-admin.js.map +1 -1
- package/dist/esm/clients/tls-dispatcher.d.ts +42 -0
- package/dist/esm/clients/tls-dispatcher.js +107 -0
- package/dist/esm/clients/tls-dispatcher.js.map +1 -0
- package/dist/esm/clients/webdav.d.ts +8 -1
- package/dist/esm/clients/webdav.js +5 -1
- package/dist/esm/clients/webdav.js.map +1 -1
- package/dist/esm/config/dw-json.d.ts +14 -0
- package/dist/esm/config/dw-json.js +3 -2
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +2 -2
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +1 -1
- package/dist/esm/config/mapping.js +20 -4
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolved-config.d.ts +1 -3
- package/dist/esm/config/resolved-config.js +0 -8
- package/dist/esm/config/resolved-config.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +1 -1
- package/dist/esm/config/resolver.js +20 -4
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/mobify-source.js +3 -2
- package/dist/esm/config/sources/mobify-source.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.js +3 -1
- package/dist/esm/config/sources/package-json-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +6 -18
- package/dist/{cjs/operations → esm}/docs/download.d.ts +1 -1
- package/dist/esm/{operations/docs → docs}/download.js +2 -2
- package/dist/esm/docs/download.js.map +1 -0
- package/dist/{cjs/operations → esm}/docs/index.d.ts +4 -4
- package/dist/esm/docs/index.js.map +1 -0
- package/dist/esm/docs/schema.js.map +1 -0
- package/dist/esm/docs/search.js.map +1 -0
- package/dist/esm/docs/types.js.map +1 -0
- package/dist/esm/index.d.ts +5 -10
- package/dist/esm/index.js +4 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/index.d.ts +4 -0
- package/dist/esm/instance/index.js +6 -1
- package/dist/esm/instance/index.js.map +1 -1
- package/dist/esm/logging/index.d.ts +1 -1
- package/dist/esm/logging/logger.js +15 -0
- package/dist/esm/logging/logger.js.map +1 -1
- package/dist/esm/logging/types.d.ts +9 -0
- package/dist/esm/operations/logs/index.d.ts +65 -0
- package/dist/esm/operations/logs/index.js +73 -0
- package/dist/esm/operations/logs/index.js.map +1 -0
- package/dist/esm/operations/logs/list.d.ts +35 -0
- package/dist/esm/operations/logs/list.js +144 -0
- package/dist/esm/operations/logs/list.js.map +1 -0
- package/dist/esm/operations/logs/path-normalizer.d.ts +82 -0
- package/dist/esm/operations/logs/path-normalizer.js +190 -0
- package/dist/esm/operations/logs/path-normalizer.js.map +1 -0
- package/dist/esm/operations/logs/tail.d.ts +92 -0
- package/dist/esm/operations/logs/tail.js +525 -0
- package/dist/esm/operations/logs/tail.js.map +1 -0
- package/dist/esm/operations/logs/types.d.ts +132 -0
- package/dist/esm/operations/logs/types.js +7 -0
- package/dist/esm/operations/logs/types.js.map +1 -0
- package/dist/esm/operations/mrt/push.js +3 -0
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/operations/ods/index.d.ts +6 -0
- package/dist/esm/operations/ods/index.js +12 -0
- package/dist/esm/operations/ods/index.js.map +1 -0
- package/dist/esm/operations/ods/sandbox-lookup.d.ts +63 -0
- package/dist/esm/operations/ods/sandbox-lookup.js +130 -0
- package/dist/esm/operations/ods/sandbox-lookup.js.map +1 -0
- package/dist/{cjs/operations/scapi-schemas → esm/schemas}/collapse.d.ts +1 -1
- package/dist/esm/schemas/collapse.js.map +1 -0
- package/dist/esm/{operations/scapi-schemas → schemas}/index.d.ts +5 -5
- package/dist/esm/{operations/scapi-schemas → schemas}/index.js +5 -5
- package/dist/esm/schemas/index.js.map +1 -0
- package/dist/esm/test-utils/config-isolation.js +7 -0
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/package.json +28 -35
- package/dist/cjs/logger.d.ts +0 -66
- package/dist/cjs/logger.js +0 -80
- package/dist/cjs/logger.js.map +0 -1
- package/dist/cjs/operations/docs/download.js.map +0 -1
- package/dist/cjs/operations/docs/index.js.map +0 -1
- package/dist/cjs/operations/docs/schema.js.map +0 -1
- package/dist/cjs/operations/docs/search.js.map +0 -1
- package/dist/cjs/operations/docs/types.js.map +0 -1
- package/dist/cjs/operations/scapi-schemas/collapse.js.map +0 -1
- package/dist/cjs/operations/scapi-schemas/index.js.map +0 -1
- package/dist/cjs/operations/sites/index.d.ts +0 -56
- package/dist/cjs/operations/sites/index.js +0 -19
- package/dist/cjs/operations/sites/index.js.map +0 -1
- package/dist/cjs/platform/index.d.ts +0 -38
- package/dist/cjs/platform/index.js +0 -42
- package/dist/cjs/platform/index.js.map +0 -1
- package/dist/cjs/platform/mrt.d.ts +0 -19
- package/dist/cjs/platform/mrt.js +0 -22
- package/dist/cjs/platform/mrt.js.map +0 -1
- package/dist/cjs/platform/ods.d.ts +0 -17
- package/dist/cjs/platform/ods.js +0 -22
- package/dist/cjs/platform/ods.js.map +0 -1
- package/dist/esm/logger.d.ts +0 -66
- package/dist/esm/logger.js +0 -80
- package/dist/esm/logger.js.map +0 -1
- package/dist/esm/operations/docs/download.js.map +0 -1
- package/dist/esm/operations/docs/index.js.map +0 -1
- package/dist/esm/operations/docs/schema.js.map +0 -1
- package/dist/esm/operations/docs/search.js.map +0 -1
- package/dist/esm/operations/docs/types.js.map +0 -1
- package/dist/esm/operations/scapi-schemas/collapse.js.map +0 -1
- package/dist/esm/operations/scapi-schemas/index.js.map +0 -1
- package/dist/esm/operations/sites/index.d.ts +0 -56
- package/dist/esm/operations/sites/index.js +0 -67
- package/dist/esm/operations/sites/index.js.map +0 -1
- package/dist/esm/platform/index.d.ts +0 -38
- package/dist/esm/platform/index.js +0 -42
- package/dist/esm/platform/index.js.map +0 -1
- package/dist/esm/platform/mrt.d.ts +0 -19
- package/dist/esm/platform/mrt.js +0 -22
- package/dist/esm/platform/mrt.js.map +0 -1
- package/dist/esm/platform/ods.d.ts +0 -17
- package/dist/esm/platform/ods.js +0 -22
- package/dist/esm/platform/ods.js.map +0 -1
- /package/dist/cjs/{operations/docs → docs}/index.js +0 -0
- /package/dist/cjs/{operations/docs → docs}/schema.d.ts +0 -0
- /package/dist/cjs/{operations/docs → docs}/schema.js +0 -0
- /package/dist/cjs/{operations/docs → docs}/search.d.ts +0 -0
- /package/dist/cjs/{operations/docs → docs}/search.js +0 -0
- /package/dist/cjs/{operations/docs → docs}/types.d.ts +0 -0
- /package/dist/cjs/{operations/docs → docs}/types.js +0 -0
- /package/dist/cjs/{operations/scapi-schemas → schemas}/collapse.js +0 -0
- /package/dist/esm/{operations/docs → docs}/index.js +0 -0
- /package/dist/esm/{operations/docs → docs}/schema.d.ts +0 -0
- /package/dist/esm/{operations/docs → docs}/schema.js +0 -0
- /package/dist/esm/{operations/docs → docs}/search.d.ts +0 -0
- /package/dist/esm/{operations/docs → docs}/search.js +0 -0
- /package/dist/esm/{operations/docs → docs}/types.d.ts +0 -0
- /package/dist/esm/{operations/docs → docs}/types.js +0 -0
- /package/dist/esm/{operations/scapi-schemas → schemas}/collapse.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logging/logger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logging/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,20 @@ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' |
|
|
|
5
5
|
export interface LogContext {
|
|
6
6
|
[key: string]: unknown;
|
|
7
7
|
}
|
|
8
|
+
/** Writable stream interface for custom log destinations (Node.js Writable compatible) */
|
|
9
|
+
export interface LogDestination {
|
|
10
|
+
write(chunk: string | Buffer, encoding?: BufferEncoding, callback?: (error?: Error | null) => void): boolean;
|
|
11
|
+
on?(event: string, listener: (...args: unknown[]) => void): this;
|
|
12
|
+
once?(event: string, listener: (...args: unknown[]) => void): this;
|
|
13
|
+
emit?(event: string, ...args: unknown[]): boolean;
|
|
14
|
+
}
|
|
8
15
|
export interface LoggerOptions {
|
|
9
16
|
/** Log level. Default: 'info' */
|
|
10
17
|
level?: LogLevel;
|
|
11
18
|
/** File descriptor to write to (1=stdout, 2=stderr). Default: 2 */
|
|
12
19
|
fd?: number;
|
|
20
|
+
/** Custom destination stream. Overrides fd when provided. Useful for testing. */
|
|
21
|
+
destination?: LogDestination;
|
|
13
22
|
/** Base context included in all log entries */
|
|
14
23
|
baseContext?: LogContext;
|
|
15
24
|
/** Enable secret redaction. Default: true */
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log operations for B2C Commerce instances.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions for listing, tailing, and analyzing log files
|
|
5
|
+
* on B2C Commerce instances via WebDAV.
|
|
6
|
+
*
|
|
7
|
+
* @module operations/logs
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* List log files:
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { listLogFiles } from '@salesforce/b2c-tooling-sdk/operations/logs';
|
|
13
|
+
*
|
|
14
|
+
* const files = await listLogFiles(instance, {
|
|
15
|
+
* prefixes: ['error', 'customerror'],
|
|
16
|
+
* sortBy: 'date',
|
|
17
|
+
* sortOrder: 'desc'
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* for (const file of files) {
|
|
21
|
+
* console.log(`${file.name} (${file.size} bytes)`);
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* Tail logs in real-time:
|
|
27
|
+
* ```typescript
|
|
28
|
+
* import { tailLogs, createPathNormalizer } from '@salesforce/b2c-tooling-sdk/operations/logs';
|
|
29
|
+
*
|
|
30
|
+
* const normalizer = createPathNormalizer({ cartridgePath: './cartridges' });
|
|
31
|
+
*
|
|
32
|
+
* const { stop, done } = await tailLogs(instance, {
|
|
33
|
+
* prefixes: ['error', 'customerror'],
|
|
34
|
+
* pathNormalizer: normalizer,
|
|
35
|
+
* onEntry: (entry) => {
|
|
36
|
+
* console.log(`[${entry.file}] ${entry.level}: ${entry.message}`);
|
|
37
|
+
* },
|
|
38
|
+
* onError: (err) => console.error('Error:', err),
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* // Stop after 30 seconds
|
|
42
|
+
* setTimeout(() => stop(), 30000);
|
|
43
|
+
*
|
|
44
|
+
* await done;
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* Get recent logs (one-shot):
|
|
49
|
+
* ```typescript
|
|
50
|
+
* import { getRecentLogs } from '@salesforce/b2c-tooling-sdk/operations/logs';
|
|
51
|
+
*
|
|
52
|
+
* const entries = await getRecentLogs(instance, {
|
|
53
|
+
* prefixes: ['error'],
|
|
54
|
+
* maxEntries: 50
|
|
55
|
+
* });
|
|
56
|
+
*
|
|
57
|
+
* for (const entry of entries) {
|
|
58
|
+
* console.log(`[${entry.timestamp}] ${entry.message}`);
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export type { GetRecentLogsOptions, ListLogsOptions, LogEntry, LogFile, TailLogsCallbacks, TailLogsOptions, TailLogsResult, } from './types.js';
|
|
63
|
+
export { extractPrefix, listLogFiles } from './list.js';
|
|
64
|
+
export { aggregateLogEntries, getRecentLogs, parseLogEntry, splitLines, tailLogs } from './tail.js';
|
|
65
|
+
export { createPathNormalizer, discoverAndCreateNormalizer, extractPaths, type PathNormalizerOptions, } from './path-normalizer.js';
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Log operations for B2C Commerce instances.
|
|
8
|
+
*
|
|
9
|
+
* This module provides functions for listing, tailing, and analyzing log files
|
|
10
|
+
* on B2C Commerce instances via WebDAV.
|
|
11
|
+
*
|
|
12
|
+
* @module operations/logs
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* List log files:
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { listLogFiles } from '@salesforce/b2c-tooling-sdk/operations/logs';
|
|
18
|
+
*
|
|
19
|
+
* const files = await listLogFiles(instance, {
|
|
20
|
+
* prefixes: ['error', 'customerror'],
|
|
21
|
+
* sortBy: 'date',
|
|
22
|
+
* sortOrder: 'desc'
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* for (const file of files) {
|
|
26
|
+
* console.log(`${file.name} (${file.size} bytes)`);
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* Tail logs in real-time:
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import { tailLogs, createPathNormalizer } from '@salesforce/b2c-tooling-sdk/operations/logs';
|
|
34
|
+
*
|
|
35
|
+
* const normalizer = createPathNormalizer({ cartridgePath: './cartridges' });
|
|
36
|
+
*
|
|
37
|
+
* const { stop, done } = await tailLogs(instance, {
|
|
38
|
+
* prefixes: ['error', 'customerror'],
|
|
39
|
+
* pathNormalizer: normalizer,
|
|
40
|
+
* onEntry: (entry) => {
|
|
41
|
+
* console.log(`[${entry.file}] ${entry.level}: ${entry.message}`);
|
|
42
|
+
* },
|
|
43
|
+
* onError: (err) => console.error('Error:', err),
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* // Stop after 30 seconds
|
|
47
|
+
* setTimeout(() => stop(), 30000);
|
|
48
|
+
*
|
|
49
|
+
* await done;
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* Get recent logs (one-shot):
|
|
54
|
+
* ```typescript
|
|
55
|
+
* import { getRecentLogs } from '@salesforce/b2c-tooling-sdk/operations/logs';
|
|
56
|
+
*
|
|
57
|
+
* const entries = await getRecentLogs(instance, {
|
|
58
|
+
* prefixes: ['error'],
|
|
59
|
+
* maxEntries: 50
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* for (const entry of entries) {
|
|
63
|
+
* console.log(`[${entry.timestamp}] ${entry.message}`);
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
// List operations
|
|
68
|
+
export { extractPrefix, listLogFiles } from './list.js';
|
|
69
|
+
// Tail operations
|
|
70
|
+
export { aggregateLogEntries, getRecentLogs, parseLogEntry, splitLines, tailLogs } from './tail.js';
|
|
71
|
+
// Path normalization
|
|
72
|
+
export { createPathNormalizer, discoverAndCreateNormalizer, extractPaths, } from './path-normalizer.js';
|
|
73
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/logs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAaH,kBAAkB;AAClB,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,WAAW,CAAC;AAEtD,kBAAkB;AAClB,OAAO,EAAC,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAC;AAElG,qBAAqB;AACrB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,GAEb,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log file listing operations.
|
|
3
|
+
*/
|
|
4
|
+
import type { B2CInstance } from '../../instance/index.js';
|
|
5
|
+
import type { ListLogsOptions, LogFile } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Extracts the log prefix from a filename.
|
|
8
|
+
*
|
|
9
|
+
* @param filename - Log file name (e.g., "error-blade1-20250125.log")
|
|
10
|
+
* @returns The prefix (e.g., "error") or "unknown"
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* extractPrefix("error-blade1-20250125.log") // "error"
|
|
14
|
+
* extractPrefix("customerror-blade1-20250125.log") // "customerror"
|
|
15
|
+
* extractPrefix("custom-mylog-blade1-20250125.log") // "custom-mylog"
|
|
16
|
+
*/
|
|
17
|
+
export declare function extractPrefix(filename: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Lists log files on a B2C Commerce instance.
|
|
20
|
+
*
|
|
21
|
+
* @param instance - B2C instance to list logs from
|
|
22
|
+
* @param options - Listing options (filters, sorting)
|
|
23
|
+
* @returns Array of log files
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* // List all error and customerror logs
|
|
28
|
+
* const logs = await listLogFiles(instance, {
|
|
29
|
+
* prefixes: ['error', 'customerror'],
|
|
30
|
+
* sortBy: 'date',
|
|
31
|
+
* sortOrder: 'desc'
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function listLogFiles(instance: B2CInstance, options?: ListLogsOptions): Promise<LogFile[]>;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { getLogger } from '../../logging/logger.js';
|
|
2
|
+
/**
|
|
3
|
+
* Known log file prefixes in B2C Commerce.
|
|
4
|
+
* Used to extract the prefix from log file names.
|
|
5
|
+
*/
|
|
6
|
+
const LOG_PREFIXES = [
|
|
7
|
+
// Custom logs (must check first due to "custom" prefix)
|
|
8
|
+
'customdebug',
|
|
9
|
+
'custominfo',
|
|
10
|
+
'customwarn',
|
|
11
|
+
'customerror',
|
|
12
|
+
'customfatal',
|
|
13
|
+
// System logs
|
|
14
|
+
'error',
|
|
15
|
+
'warn',
|
|
16
|
+
'info',
|
|
17
|
+
'debug',
|
|
18
|
+
'fatal',
|
|
19
|
+
'api',
|
|
20
|
+
'deprecation',
|
|
21
|
+
'jobs',
|
|
22
|
+
'staging',
|
|
23
|
+
'quota',
|
|
24
|
+
'sql',
|
|
25
|
+
'service',
|
|
26
|
+
'syslog',
|
|
27
|
+
'security',
|
|
28
|
+
'analytics',
|
|
29
|
+
'migration',
|
|
30
|
+
// Custom named logs (format: custom-<name>-...)
|
|
31
|
+
'custom',
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* Extracts the log prefix from a filename.
|
|
35
|
+
*
|
|
36
|
+
* @param filename - Log file name (e.g., "error-blade1-20250125.log")
|
|
37
|
+
* @returns The prefix (e.g., "error") or "unknown"
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* extractPrefix("error-blade1-20250125.log") // "error"
|
|
41
|
+
* extractPrefix("customerror-blade1-20250125.log") // "customerror"
|
|
42
|
+
* extractPrefix("custom-mylog-blade1-20250125.log") // "custom-mylog"
|
|
43
|
+
*/
|
|
44
|
+
export function extractPrefix(filename) {
|
|
45
|
+
// Handle custom-<name> pattern (e.g., custom-mylog-blade1-...)
|
|
46
|
+
// Custom log names use word characters only (no dashes) to distinguish from hostname
|
|
47
|
+
const customMatch = filename.match(/^(custom-[a-zA-Z0-9_]+)-/);
|
|
48
|
+
if (customMatch) {
|
|
49
|
+
return customMatch[1];
|
|
50
|
+
}
|
|
51
|
+
// Check known prefixes (order matters - longer matches first)
|
|
52
|
+
for (const prefix of LOG_PREFIXES) {
|
|
53
|
+
if (filename.startsWith(`${prefix}-`) || filename.startsWith(`${prefix}_`)) {
|
|
54
|
+
return prefix;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Fallback: extract first segment before dash or underscore
|
|
58
|
+
const match = filename.match(/^([a-zA-Z]+)[-_]/);
|
|
59
|
+
return match ? match[1] : 'unknown';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Lists log files on a B2C Commerce instance.
|
|
63
|
+
*
|
|
64
|
+
* @param instance - B2C instance to list logs from
|
|
65
|
+
* @param options - Listing options (filters, sorting)
|
|
66
|
+
* @returns Array of log files
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* // List all error and customerror logs
|
|
71
|
+
* const logs = await listLogFiles(instance, {
|
|
72
|
+
* prefixes: ['error', 'customerror'],
|
|
73
|
+
* sortBy: 'date',
|
|
74
|
+
* sortOrder: 'desc'
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export async function listLogFiles(instance, options = {}) {
|
|
79
|
+
const logger = getLogger();
|
|
80
|
+
const { prefixes, sortBy = 'date', sortOrder = 'desc' } = options;
|
|
81
|
+
logger.debug({ prefixes, sortBy, sortOrder }, 'Listing log files');
|
|
82
|
+
// Get all files from Logs directory
|
|
83
|
+
const entries = await instance.webdav.propfind('Logs', '1');
|
|
84
|
+
// Filter to only log files (not directories, not the Logs directory itself)
|
|
85
|
+
const logFiles = entries
|
|
86
|
+
.filter((entry) => {
|
|
87
|
+
// Skip directories
|
|
88
|
+
if (entry.isCollection)
|
|
89
|
+
return false;
|
|
90
|
+
// Skip if not a .log file
|
|
91
|
+
const name = entry.displayName || entry.href.split('/').pop() || '';
|
|
92
|
+
if (!name.endsWith('.log'))
|
|
93
|
+
return false;
|
|
94
|
+
return true;
|
|
95
|
+
})
|
|
96
|
+
.map((entry) => {
|
|
97
|
+
const name = entry.displayName || entry.href.split('/').pop() || '';
|
|
98
|
+
const prefix = extractPrefix(name);
|
|
99
|
+
return {
|
|
100
|
+
name,
|
|
101
|
+
prefix,
|
|
102
|
+
size: entry.contentLength || 0,
|
|
103
|
+
lastModified: entry.lastModified || new Date(0),
|
|
104
|
+
path: `Logs/${name}`,
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
// Filter by prefix if specified
|
|
108
|
+
let filtered = logFiles;
|
|
109
|
+
if (prefixes && prefixes.length > 0) {
|
|
110
|
+
const prefixSet = new Set(prefixes.map((p) => p.toLowerCase()));
|
|
111
|
+
filtered = logFiles.filter((file) => {
|
|
112
|
+
// Check exact prefix match
|
|
113
|
+
if (prefixSet.has(file.prefix.toLowerCase()))
|
|
114
|
+
return true;
|
|
115
|
+
// Also check if the prefix starts with any of the specified prefixes
|
|
116
|
+
// This handles cases like "custom-mylog" matching "custom"
|
|
117
|
+
for (const p of prefixSet) {
|
|
118
|
+
if (file.prefix.toLowerCase().startsWith(p))
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
return false;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Sort the results
|
|
125
|
+
filtered.sort((a, b) => {
|
|
126
|
+
let comparison = 0;
|
|
127
|
+
switch (sortBy) {
|
|
128
|
+
case 'name':
|
|
129
|
+
comparison = a.name.localeCompare(b.name);
|
|
130
|
+
break;
|
|
131
|
+
case 'size':
|
|
132
|
+
comparison = a.size - b.size;
|
|
133
|
+
break;
|
|
134
|
+
case 'date':
|
|
135
|
+
default:
|
|
136
|
+
comparison = a.lastModified.getTime() - b.lastModified.getTime();
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
return sortOrder === 'desc' ? -comparison : comparison;
|
|
140
|
+
});
|
|
141
|
+
logger.debug({ count: filtered.length }, `Found ${filtered.length} log files`);
|
|
142
|
+
return filtered;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/operations/logs/list.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAGlD;;;GAGG;AACH,MAAM,YAAY,GAAG;IACnB,wDAAwD;IACxD,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,aAAa;IACb,cAAc;IACd,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,aAAa;IACb,MAAM;IACN,SAAS;IACT,OAAO;IACP,KAAK;IACL,SAAS;IACT,QAAQ;IACR,UAAU;IACV,WAAW;IACX,WAAW;IACX,gDAAgD;IAChD,QAAQ;CACA,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,+DAA+D;IAC/D,qFAAqF;IACrF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC/D,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,8DAA8D;IAC9D,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3E,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAqB,EAAE,UAA2B,EAAE;IACrF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,EAAC,GAAG,OAAO,CAAC;IAEhE,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAC,EAAE,mBAAmB,CAAC,CAAC;IAEjE,oCAAoC;IACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5D,4EAA4E;IAC5E,MAAM,QAAQ,GAAc,OAAO;SAChC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,mBAAmB;QACnB,IAAI,KAAK,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAErC,0BAA0B;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAEzC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnC,OAAO;YACL,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,KAAK,CAAC,aAAa,IAAI,CAAC;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;YAC/C,IAAI,EAAE,QAAQ,IAAI,EAAE;SACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,gCAAgC;IAChC,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,2BAA2B;YAC3B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE1D,qEAAqE;YACrE,2DAA2D;YAC3D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC3D,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,MAAM;gBACT,UAAU,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC7B,MAAM;YACR,KAAK,MAAM,CAAC;YACZ;gBACE,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM;QACV,CAAC;QAED,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAC,EAAE,SAAS,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC;IAE7E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type CartridgeMapping } from '../code/cartridges.js';
|
|
2
|
+
/**
|
|
3
|
+
* Options for creating a path normalizer.
|
|
4
|
+
*/
|
|
5
|
+
export interface PathNormalizerOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Local path to the cartridges directory (simple mode).
|
|
8
|
+
* All cartridge references will be prefixed with this path.
|
|
9
|
+
* @example "./cartridges" or "/Users/dev/project/cartridges"
|
|
10
|
+
*/
|
|
11
|
+
cartridgePath?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Discovered cartridge mappings (precise mode).
|
|
14
|
+
* Each cartridge is mapped to its actual local path.
|
|
15
|
+
* Takes precedence over cartridgePath for known cartridges.
|
|
16
|
+
*/
|
|
17
|
+
cartridges?: CartridgeMapping[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Creates a path normalizer function for converting remote cartridge paths
|
|
21
|
+
* to local paths in log messages.
|
|
22
|
+
*
|
|
23
|
+
* Supports two modes:
|
|
24
|
+
* 1. **Cartridge mappings** (precise): Uses discovered cartridges to map each
|
|
25
|
+
* cartridge name to its actual local path. Best for projects with cartridges
|
|
26
|
+
* in different locations.
|
|
27
|
+
* 2. **Cartridge path** (simple): Prefixes all paths with a base directory.
|
|
28
|
+
* Best when all cartridges are in a single directory.
|
|
29
|
+
*
|
|
30
|
+
* @param options - Normalizer options
|
|
31
|
+
* @returns Function that normalizes paths in a message string, or undefined if no options provided
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* // Using discovered cartridges (recommended)
|
|
36
|
+
* const cartridges = findCartridges('./my-project');
|
|
37
|
+
* const normalize = createPathNormalizer({ cartridges });
|
|
38
|
+
*
|
|
39
|
+
* // Using simple cartridge path
|
|
40
|
+
* const normalize = createPathNormalizer({ cartridgePath: './cartridges' });
|
|
41
|
+
*
|
|
42
|
+
* // Input: "(app_storefront/cartridge/controllers/Home.js:45)"
|
|
43
|
+
* // Output: "(./cartridges/app_storefront/cartridge/controllers/Home.js:45)"
|
|
44
|
+
* const normalized = normalize(logMessage);
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function createPathNormalizer(options: PathNormalizerOptions): ((message: string) => string) | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Discovers cartridges and creates a path normalizer automatically.
|
|
50
|
+
*
|
|
51
|
+
* This is a convenience function that combines `findCartridges` with
|
|
52
|
+
* `createPathNormalizer` for easy setup. Cartridge paths are converted
|
|
53
|
+
* to relative paths from the current working directory.
|
|
54
|
+
*
|
|
55
|
+
* @param directory - Directory to search for cartridges (defaults to cwd)
|
|
56
|
+
* @returns Path normalizer function, or undefined if no cartridges found
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* // Auto-discover cartridges from current directory
|
|
61
|
+
* const normalize = discoverAndCreateNormalizer();
|
|
62
|
+
*
|
|
63
|
+
* // Auto-discover from specific directory
|
|
64
|
+
* const normalize = discoverAndCreateNormalizer('./my-project');
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function discoverAndCreateNormalizer(directory?: string): ((message: string) => string) | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Extracts all cartridge paths from a message.
|
|
70
|
+
*
|
|
71
|
+
* Useful for testing or analysis of log messages.
|
|
72
|
+
*
|
|
73
|
+
* @param message - Log message to extract paths from
|
|
74
|
+
* @returns Array of extracted paths
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const paths = extractPaths("Error at (app_storefront/cartridge/controllers/Home.js:45)");
|
|
79
|
+
* // Returns: ["app_storefront/cartridge/controllers/Home.js:45"]
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function extractPaths(message: string): string[];
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Path normalization for B2C Commerce log files.
|
|
8
|
+
*
|
|
9
|
+
* Converts remote cartridge paths in log messages to local paths
|
|
10
|
+
* for IDE click-to-open functionality.
|
|
11
|
+
*/
|
|
12
|
+
import path from 'node:path';
|
|
13
|
+
import { findCartridges } from '../code/cartridges.js';
|
|
14
|
+
/**
|
|
15
|
+
* Patterns for matching cartridge paths in various contexts.
|
|
16
|
+
*
|
|
17
|
+
* B2C Commerce log files can contain paths in various formats:
|
|
18
|
+
* - In parentheses: (app_storefront/cartridge/controllers/Home.js:45)
|
|
19
|
+
* - In quotes: 'app_storefront/cartridge/controllers/Home.js:45'
|
|
20
|
+
* - In stack traces: at app_storefront/cartridge/controllers/Home.js:45
|
|
21
|
+
* - Plain paths: app_storefront/cartridge/controllers/Home.js:45
|
|
22
|
+
*/
|
|
23
|
+
const PATH_PATTERNS = [
|
|
24
|
+
// Parentheses: (cartridge_name/cartridge/path/file.js:line)
|
|
25
|
+
{
|
|
26
|
+
pattern: /\(([a-zA-Z0-9_-]+\/cartridge\/[^)]+)\)/g,
|
|
27
|
+
context: 'parentheses',
|
|
28
|
+
extractPath: (match) => match[1],
|
|
29
|
+
buildReplacement: (match, normalizedPath) => `(${normalizedPath})`,
|
|
30
|
+
},
|
|
31
|
+
// Single quotes: 'cartridge_name/cartridge/path/file.js:line'
|
|
32
|
+
{
|
|
33
|
+
pattern: /'([a-zA-Z0-9_-]+\/cartridge\/[^']+)'/g,
|
|
34
|
+
context: 'quotes',
|
|
35
|
+
extractPath: (match) => match[1],
|
|
36
|
+
buildReplacement: (match, normalizedPath) => `'${normalizedPath}'`,
|
|
37
|
+
},
|
|
38
|
+
// Double quotes: "cartridge_name/cartridge/path/file.js:line"
|
|
39
|
+
{
|
|
40
|
+
pattern: /"([a-zA-Z0-9_-]+\/cartridge\/[^"]+)"/g,
|
|
41
|
+
context: 'quotes',
|
|
42
|
+
extractPath: (match) => match[1],
|
|
43
|
+
buildReplacement: (match, normalizedPath) => `"${normalizedPath}"`,
|
|
44
|
+
},
|
|
45
|
+
// Stack trace: at cartridge_name/cartridge/path/file.js:line
|
|
46
|
+
{
|
|
47
|
+
pattern: /at\s+([a-zA-Z0-9_-]+\/cartridge\/[^\s]+)/g,
|
|
48
|
+
context: 'stacktrace',
|
|
49
|
+
extractPath: (match) => match[1],
|
|
50
|
+
buildReplacement: (match, normalizedPath) => `at ${normalizedPath}`,
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
/**
|
|
54
|
+
* Creates a path normalizer function for converting remote cartridge paths
|
|
55
|
+
* to local paths in log messages.
|
|
56
|
+
*
|
|
57
|
+
* Supports two modes:
|
|
58
|
+
* 1. **Cartridge mappings** (precise): Uses discovered cartridges to map each
|
|
59
|
+
* cartridge name to its actual local path. Best for projects with cartridges
|
|
60
|
+
* in different locations.
|
|
61
|
+
* 2. **Cartridge path** (simple): Prefixes all paths with a base directory.
|
|
62
|
+
* Best when all cartridges are in a single directory.
|
|
63
|
+
*
|
|
64
|
+
* @param options - Normalizer options
|
|
65
|
+
* @returns Function that normalizes paths in a message string, or undefined if no options provided
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* // Using discovered cartridges (recommended)
|
|
70
|
+
* const cartridges = findCartridges('./my-project');
|
|
71
|
+
* const normalize = createPathNormalizer({ cartridges });
|
|
72
|
+
*
|
|
73
|
+
* // Using simple cartridge path
|
|
74
|
+
* const normalize = createPathNormalizer({ cartridgePath: './cartridges' });
|
|
75
|
+
*
|
|
76
|
+
* // Input: "(app_storefront/cartridge/controllers/Home.js:45)"
|
|
77
|
+
* // Output: "(./cartridges/app_storefront/cartridge/controllers/Home.js:45)"
|
|
78
|
+
* const normalized = normalize(logMessage);
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export function createPathNormalizer(options) {
|
|
82
|
+
const { cartridgePath, cartridges } = options;
|
|
83
|
+
// If no options provided, return undefined
|
|
84
|
+
if (!cartridgePath && (!cartridges || cartridges.length === 0)) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
// Build a map of cartridge names to their local paths
|
|
88
|
+
const cartridgeMap = new Map();
|
|
89
|
+
if (cartridges) {
|
|
90
|
+
for (const c of cartridges) {
|
|
91
|
+
cartridgeMap.set(c.name, c.src);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Normalize the fallback cartridge path (remove trailing slash)
|
|
95
|
+
const normalizedCartridgePath = cartridgePath?.replace(/\/+$/, '');
|
|
96
|
+
return (message) => {
|
|
97
|
+
let result = message;
|
|
98
|
+
for (const { pattern, extractPath, buildReplacement } of PATH_PATTERNS) {
|
|
99
|
+
// Create a fresh regex for each message (stateful with /g flag)
|
|
100
|
+
const regex = new RegExp(pattern.source, pattern.flags);
|
|
101
|
+
result = result.replace(regex, (...args) => {
|
|
102
|
+
// The full match is the first arg, captured groups follow
|
|
103
|
+
const match = args;
|
|
104
|
+
const remotePath = extractPath(match);
|
|
105
|
+
// Extract cartridge name from the path (first segment before /cartridge/)
|
|
106
|
+
const cartridgeName = remotePath.split('/')[0];
|
|
107
|
+
const restOfPath = remotePath.substring(cartridgeName.length);
|
|
108
|
+
// Try to find the cartridge in our mappings
|
|
109
|
+
const localCartridgePath = cartridgeMap.get(cartridgeName);
|
|
110
|
+
let localPath;
|
|
111
|
+
if (localCartridgePath) {
|
|
112
|
+
// Use the discovered cartridge's actual path
|
|
113
|
+
localPath = `${localCartridgePath}${restOfPath}`;
|
|
114
|
+
}
|
|
115
|
+
else if (normalizedCartridgePath) {
|
|
116
|
+
// Fall back to simple prefix mode
|
|
117
|
+
localPath = `${normalizedCartridgePath}/${remotePath}`;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// No mapping and no fallback - return original
|
|
121
|
+
return match[0];
|
|
122
|
+
}
|
|
123
|
+
return buildReplacement(match, localPath);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Discovers cartridges and creates a path normalizer automatically.
|
|
131
|
+
*
|
|
132
|
+
* This is a convenience function that combines `findCartridges` with
|
|
133
|
+
* `createPathNormalizer` for easy setup. Cartridge paths are converted
|
|
134
|
+
* to relative paths from the current working directory.
|
|
135
|
+
*
|
|
136
|
+
* @param directory - Directory to search for cartridges (defaults to cwd)
|
|
137
|
+
* @returns Path normalizer function, or undefined if no cartridges found
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* // Auto-discover cartridges from current directory
|
|
142
|
+
* const normalize = discoverAndCreateNormalizer();
|
|
143
|
+
*
|
|
144
|
+
* // Auto-discover from specific directory
|
|
145
|
+
* const normalize = discoverAndCreateNormalizer('./my-project');
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export function discoverAndCreateNormalizer(directory) {
|
|
149
|
+
const searchDir = directory ?? process.cwd();
|
|
150
|
+
const cwd = process.cwd();
|
|
151
|
+
const cartridges = findCartridges(searchDir);
|
|
152
|
+
if (cartridges.length === 0) {
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
// Convert absolute paths to relative paths from cwd
|
|
156
|
+
const relativeCartridges = cartridges.map((c) => ({
|
|
157
|
+
...c,
|
|
158
|
+
src: './' + path.relative(cwd, c.src),
|
|
159
|
+
}));
|
|
160
|
+
return createPathNormalizer({ cartridges: relativeCartridges });
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Extracts all cartridge paths from a message.
|
|
164
|
+
*
|
|
165
|
+
* Useful for testing or analysis of log messages.
|
|
166
|
+
*
|
|
167
|
+
* @param message - Log message to extract paths from
|
|
168
|
+
* @returns Array of extracted paths
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const paths = extractPaths("Error at (app_storefront/cartridge/controllers/Home.js:45)");
|
|
173
|
+
* // Returns: ["app_storefront/cartridge/controllers/Home.js:45"]
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
export function extractPaths(message) {
|
|
177
|
+
const paths = [];
|
|
178
|
+
for (const { pattern, extractPath } of PATH_PATTERNS) {
|
|
179
|
+
const regex = new RegExp(pattern.source, pattern.flags);
|
|
180
|
+
let match;
|
|
181
|
+
while ((match = regex.exec(message)) !== null) {
|
|
182
|
+
const path = extractPath(match);
|
|
183
|
+
if (!paths.includes(path)) {
|
|
184
|
+
paths.push(path);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return paths;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=path-normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-normalizer.js","sourceRoot":"","sources":["../../../../src/operations/logs/path-normalizer.ts"],"names":[],"mappings":"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"}
|