@salesforce/b2c-tooling-sdk 0.8.2 → 0.9.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/data/scaffolds/hook/files/hook-function.js.ejs +263 -0
- package/data/scaffolds/hook/files/hook.js.ejs +5 -88
- package/data/scaffolds/hook/files/hooks-entry.json.ejs +1 -1
- package/data/scaffolds/hook/scaffold.json +21 -7
- package/dist/cjs/cli/base-command.d.ts +1 -1
- package/dist/cjs/cli/base-command.js +5 -2
- package/dist/cjs/cli/base-command.js.map +1 -1
- package/dist/cjs/cli/cartridge-command.d.ts +3 -1
- package/dist/cjs/cli/cartridge-command.js +6 -2
- package/dist/cjs/cli/cartridge-command.js.map +1 -1
- package/dist/cjs/cli/config.d.ts +1 -1
- package/dist/cjs/cli/config.js +2 -2
- package/dist/cjs/cli/config.js.map +1 -1
- package/dist/cjs/cli/instance-command.d.ts +1 -1
- package/dist/cjs/cli/instance-command.js +1 -1
- package/dist/cjs/cli/instance-command.js.map +1 -1
- package/dist/cjs/cli/mrt-command.d.ts +1 -1
- package/dist/cjs/cli/mrt-command.js +1 -1
- package/dist/cjs/cli/mrt-command.js.map +1 -1
- package/dist/cjs/cli/oauth-command.d.ts +1 -1
- package/dist/cjs/cli/oauth-command.js +1 -1
- package/dist/cjs/cli/oauth-command.js.map +1 -1
- package/dist/cjs/cli/ods-command.d.ts +1 -1
- package/dist/cjs/cli/ods-command.js +1 -1
- package/dist/cjs/cli/ods-command.js.map +1 -1
- package/dist/cjs/config/dw-json.d.ts +10 -8
- package/dist/cjs/config/dw-json.js +53 -25
- 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/instance-manager.d.ts +5 -5
- package/dist/cjs/config/instance-manager.js +12 -12
- package/dist/cjs/config/instance-manager.js.map +1 -1
- package/dist/cjs/config/mapping.d.ts +0 -20
- package/dist/cjs/config/mapping.js +21 -0
- package/dist/cjs/config/mapping.js.map +1 -1
- package/dist/cjs/config/resolver.d.ts +4 -4
- package/dist/cjs/config/resolver.js +8 -8
- package/dist/cjs/config/resolver.js.map +1 -1
- package/dist/cjs/config/sources/dw-json-source.d.ts +5 -5
- package/dist/cjs/config/sources/dw-json-source.js +10 -10
- package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
- package/dist/cjs/config/sources/env-source.js +2 -1
- package/dist/cjs/config/sources/env-source.js.map +1 -1
- package/dist/cjs/config/sources/mobify-source.d.ts +1 -1
- package/dist/cjs/config/sources/mobify-source.js +7 -4
- package/dist/cjs/config/sources/mobify-source.js.map +1 -1
- package/dist/cjs/config/sources/package-json-source.d.ts +1 -1
- package/dist/cjs/config/sources/package-json-source.js +7 -4
- package/dist/cjs/config/sources/package-json-source.js.map +1 -1
- package/dist/cjs/config/types.d.ts +22 -11
- package/dist/cjs/scaffold/executor.js +14 -6
- package/dist/cjs/scaffold/executor.js.map +1 -1
- package/dist/cjs/scaffold/merge.d.ts +7 -0
- package/dist/cjs/scaffold/merge.js +11 -2
- package/dist/cjs/scaffold/merge.js.map +1 -1
- package/dist/cjs/scaffold/parameter-resolver.js +13 -1
- package/dist/cjs/scaffold/parameter-resolver.js.map +1 -1
- package/dist/cjs/scaffold/sources.d.ts +11 -1
- package/dist/cjs/scaffold/sources.js +85 -15
- package/dist/cjs/scaffold/sources.js.map +1 -1
- package/dist/cjs/scaffold/types.d.ts +4 -2
- package/dist/cjs/scaffold/validators.js +7 -1
- package/dist/cjs/scaffold/validators.js.map +1 -1
- package/dist/cjs/telemetry/telemetry.d.ts +4 -6
- package/dist/cjs/telemetry/telemetry.js +67 -52
- package/dist/cjs/telemetry/telemetry.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +1 -1
- package/dist/esm/cli/base-command.js +5 -2
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/cartridge-command.d.ts +3 -1
- package/dist/esm/cli/cartridge-command.js +6 -2
- package/dist/esm/cli/cartridge-command.js.map +1 -1
- package/dist/esm/cli/config.d.ts +1 -1
- package/dist/esm/cli/config.js +2 -2
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +1 -1
- package/dist/esm/cli/instance-command.js +1 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +1 -1
- package/dist/esm/cli/mrt-command.js +1 -1
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -1
- package/dist/esm/cli/oauth-command.js +1 -1
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/ods-command.d.ts +1 -1
- package/dist/esm/cli/ods-command.js +1 -1
- package/dist/esm/cli/ods-command.js.map +1 -1
- package/dist/esm/config/dw-json.d.ts +10 -8
- package/dist/esm/config/dw-json.js +53 -25
- 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/instance-manager.d.ts +5 -5
- package/dist/esm/config/instance-manager.js +12 -12
- package/dist/esm/config/instance-manager.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +0 -20
- package/dist/esm/config/mapping.js +21 -0
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +4 -4
- package/dist/esm/config/resolver.js +8 -8
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +5 -5
- package/dist/esm/config/sources/dw-json-source.js +10 -10
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/env-source.js +2 -1
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/sources/mobify-source.d.ts +1 -1
- package/dist/esm/config/sources/mobify-source.js +7 -4
- package/dist/esm/config/sources/mobify-source.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.d.ts +1 -1
- package/dist/esm/config/sources/package-json-source.js +7 -4
- package/dist/esm/config/sources/package-json-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +22 -11
- package/dist/esm/scaffold/executor.js +14 -6
- package/dist/esm/scaffold/executor.js.map +1 -1
- package/dist/esm/scaffold/merge.d.ts +7 -0
- package/dist/esm/scaffold/merge.js +11 -2
- package/dist/esm/scaffold/merge.js.map +1 -1
- package/dist/esm/scaffold/parameter-resolver.js +13 -1
- package/dist/esm/scaffold/parameter-resolver.js.map +1 -1
- package/dist/esm/scaffold/sources.d.ts +11 -1
- package/dist/esm/scaffold/sources.js +85 -15
- package/dist/esm/scaffold/sources.js.map +1 -1
- package/dist/esm/scaffold/types.d.ts +4 -2
- package/dist/esm/scaffold/validators.js +7 -1
- package/dist/esm/scaffold/validators.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +4 -6
- package/dist/esm/telemetry/telemetry.js +67 -52
- package/dist/esm/telemetry/telemetry.js.map +1 -1
- package/package.json +2 -28
|
@@ -128,7 +128,7 @@ export class ConfigResolver {
|
|
|
128
128
|
* }
|
|
129
129
|
* ```
|
|
130
130
|
*/
|
|
131
|
-
resolve(overrides = {}, options = {}) {
|
|
131
|
+
async resolve(overrides = {}, options = {}) {
|
|
132
132
|
const sourceInfos = [];
|
|
133
133
|
const sourceWarnings = [];
|
|
134
134
|
const baseConfig = {};
|
|
@@ -142,7 +142,7 @@ export class ConfigResolver {
|
|
|
142
142
|
for (const source of this.sources) {
|
|
143
143
|
let result;
|
|
144
144
|
try {
|
|
145
|
-
result = source.load(enrichedOptions);
|
|
145
|
+
result = await source.load(enrichedOptions);
|
|
146
146
|
}
|
|
147
147
|
catch (error) {
|
|
148
148
|
// Source threw an error (e.g., malformed config file) - create warning and continue
|
|
@@ -267,8 +267,8 @@ export class ConfigResolver {
|
|
|
267
267
|
* await instance.webdav.put('path/file.txt', content);
|
|
268
268
|
* ```
|
|
269
269
|
*/
|
|
270
|
-
createInstance(overrides = {}, options = {}) {
|
|
271
|
-
const { config, warnings } = this.resolve(overrides, options);
|
|
270
|
+
async createInstance(overrides = {}, options = {}) {
|
|
271
|
+
const { config, warnings } = await this.resolve(overrides, options);
|
|
272
272
|
// Log warnings (in production, this would use the SDK logger)
|
|
273
273
|
for (const warning of warnings) {
|
|
274
274
|
// Could integrate with getLogger() here if desired
|
|
@@ -297,8 +297,8 @@ export class ConfigResolver {
|
|
|
297
297
|
* const strategy = resolveAuthStrategy(credentials);
|
|
298
298
|
* ```
|
|
299
299
|
*/
|
|
300
|
-
createAuthCredentials(overrides = {}, options = {}) {
|
|
301
|
-
const { config } = this.resolve(overrides, options);
|
|
300
|
+
async createAuthCredentials(overrides = {}, options = {}) {
|
|
301
|
+
const { config } = await this.resolve(overrides, options);
|
|
302
302
|
return {
|
|
303
303
|
clientId: config.clientId,
|
|
304
304
|
clientSecret: config.clientSecret,
|
|
@@ -366,7 +366,7 @@ export function createConfigResolver() {
|
|
|
366
366
|
* @param options - Resolution options
|
|
367
367
|
* @returns Resolved configuration with factory methods
|
|
368
368
|
*/
|
|
369
|
-
export function resolveConfig(overrides = {}, options = {}) {
|
|
369
|
+
export async function resolveConfig(overrides = {}, options = {}) {
|
|
370
370
|
// Globally registered sources (from plugins via B2CPluginManager or direct SDK registration).
|
|
371
371
|
// Always included regardless of replaceDefaultSources — global sources are explicitly registered
|
|
372
372
|
// by plugins and should always participate, matching the middleware registry behavior.
|
|
@@ -389,7 +389,7 @@ export function resolveConfig(overrides = {}, options = {}) {
|
|
|
389
389
|
}
|
|
390
390
|
// ConfigResolver constructor will sort by priority
|
|
391
391
|
const resolver = new ConfigResolver(sources);
|
|
392
|
-
const { config, warnings, sources: sourceInfos } = resolver.resolve(overrides, options);
|
|
392
|
+
const { config, warnings, sources: sourceInfos } = await resolver.resolve(overrides, options);
|
|
393
393
|
return new ResolvedConfigImpl(config, warnings, sourceInfos);
|
|
394
394
|
}
|
|
395
395
|
//# sourceMappingURL=resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/config/resolver.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,0BAA0B,EAAE,kBAAkB,EAAE,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtG,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAWjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,0BAA0B,EAAC,MAAM,6BAA6B,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAiC;IACtD,CAAC,UAAU,EAAE,cAAc,CAAC;IAC5B,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,cAAc,EAAE,kBAAkB,CAAC;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,0BAA0B,CAAC,MAAwB;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,KAAa,EAAE,aAA0B;IACtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAA+B,CAAC,CAAC,CAAC;IACnG,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,OAAO,cAAc;IACjB,OAAO,CAAiB;IAEhC;;;;;OAKG;IACH,YAAY,OAAwB;QAClC,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,IAAI,YAAY,EAAE,EAAE,IAAI,YAAY,EAAE,EAAE,IAAI,iBAAiB,EAAE,CAAC,CAAC;QACnG,2EAA2E;QAC3E,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/config/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,21 +7,21 @@ import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions, InstanceInfo
|
|
|
7
7
|
export declare class DwJsonSource implements ConfigSource {
|
|
8
8
|
readonly name = "DwJsonSource";
|
|
9
9
|
readonly priority = 0;
|
|
10
|
-
load(options: ResolveConfigOptions): ConfigLoadResult | undefined
|
|
10
|
+
load(options: ResolveConfigOptions): Promise<ConfigLoadResult | undefined>;
|
|
11
11
|
/**
|
|
12
12
|
* List all instances from dw.json.
|
|
13
13
|
*/
|
|
14
|
-
listInstances(options?: ResolveConfigOptions): InstanceInfo[]
|
|
14
|
+
listInstances(options?: ResolveConfigOptions): Promise<InstanceInfo[]>;
|
|
15
15
|
/**
|
|
16
16
|
* Create a new instance in dw.json.
|
|
17
17
|
*/
|
|
18
|
-
createInstance(options: CreateInstanceOptions & ResolveConfigOptions): void
|
|
18
|
+
createInstance(options: CreateInstanceOptions & ResolveConfigOptions): Promise<void>;
|
|
19
19
|
/**
|
|
20
20
|
* Remove an instance from dw.json.
|
|
21
21
|
*/
|
|
22
|
-
removeInstance(name: string, options?: ResolveConfigOptions): void
|
|
22
|
+
removeInstance(name: string, options?: ResolveConfigOptions): Promise<void>;
|
|
23
23
|
/**
|
|
24
24
|
* Set an instance as active in dw.json.
|
|
25
25
|
*/
|
|
26
|
-
setActiveInstance(name: string, options?: ResolveConfigOptions): void
|
|
26
|
+
setActiveInstance(name: string, options?: ResolveConfigOptions): Promise<void>;
|
|
27
27
|
}
|
|
@@ -19,9 +19,9 @@ import { getLogger } from '../../logging/logger.js';
|
|
|
19
19
|
export class DwJsonSource {
|
|
20
20
|
name = 'DwJsonSource';
|
|
21
21
|
priority = 0;
|
|
22
|
-
load(options) {
|
|
22
|
+
async load(options) {
|
|
23
23
|
const logger = getLogger();
|
|
24
|
-
const result = loadDwJson({
|
|
24
|
+
const result = await loadDwJson({
|
|
25
25
|
instance: options.instance,
|
|
26
26
|
path: options.configPath,
|
|
27
27
|
projectDirectory: options.projectDirectory ?? options.workingDirectory,
|
|
@@ -37,8 +37,8 @@ export class DwJsonSource {
|
|
|
37
37
|
/**
|
|
38
38
|
* List all instances from dw.json.
|
|
39
39
|
*/
|
|
40
|
-
listInstances(options) {
|
|
41
|
-
const result = loadFullDwJson({
|
|
40
|
+
async listInstances(options) {
|
|
41
|
+
const result = await loadFullDwJson({
|
|
42
42
|
path: options?.configPath,
|
|
43
43
|
projectDirectory: options?.projectDirectory ?? options?.workingDirectory,
|
|
44
44
|
});
|
|
@@ -76,9 +76,9 @@ export class DwJsonSource {
|
|
|
76
76
|
/**
|
|
77
77
|
* Create a new instance in dw.json.
|
|
78
78
|
*/
|
|
79
|
-
createInstance(options) {
|
|
79
|
+
async createInstance(options) {
|
|
80
80
|
const dwJsonConfig = mapNormalizedConfigToDwJson(options.config, options.name);
|
|
81
|
-
addInstance(dwJsonConfig, {
|
|
81
|
+
await addInstance(dwJsonConfig, {
|
|
82
82
|
path: options.configPath,
|
|
83
83
|
projectDirectory: options.projectDirectory ?? options.workingDirectory,
|
|
84
84
|
setActive: options.setActive,
|
|
@@ -87,8 +87,8 @@ export class DwJsonSource {
|
|
|
87
87
|
/**
|
|
88
88
|
* Remove an instance from dw.json.
|
|
89
89
|
*/
|
|
90
|
-
removeInstance(name, options) {
|
|
91
|
-
removeInstance(name, {
|
|
90
|
+
async removeInstance(name, options) {
|
|
91
|
+
await removeInstance(name, {
|
|
92
92
|
path: options?.configPath,
|
|
93
93
|
projectDirectory: options?.projectDirectory ?? options?.workingDirectory,
|
|
94
94
|
});
|
|
@@ -96,8 +96,8 @@ export class DwJsonSource {
|
|
|
96
96
|
/**
|
|
97
97
|
* Set an instance as active in dw.json.
|
|
98
98
|
*/
|
|
99
|
-
setActiveInstance(name, options) {
|
|
100
|
-
setActiveInstance(name, {
|
|
99
|
+
async setActiveInstance(name, options) {
|
|
100
|
+
await setActiveInstance(name, {
|
|
101
101
|
path: options?.configPath,
|
|
102
102
|
projectDirectory: options?.projectDirectory ?? options?.workingDirectory,
|
|
103
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dw-json-source.js","sourceRoot":"","sources":["../../../../src/config/sources/dw-json-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AACH,OAAO,EAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAC,kBAAkB,EAAE,2BAA2B,EAAE,2BAA2B,EAAC,MAAM,eAAe,CAAC;AAQ3G,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAElD;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,cAAc,CAAC;IACtB,QAAQ,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC,OAA6B;
|
|
1
|
+
{"version":3,"file":"dw-json-source.js","sourceRoot":"","sources":["../../../../src/config/sources/dw-json-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ const ENV_VAR_MAP = {
|
|
|
17
17
|
SFCC_OAUTH_SCOPES: 'scopes',
|
|
18
18
|
SFCC_SHORTCODE: 'shortCode',
|
|
19
19
|
SFCC_TENANT_ID: 'tenantId',
|
|
20
|
+
SFCC_CARTRIDGES: 'cartridges',
|
|
20
21
|
SFCC_AUTH_METHODS: 'authMethods',
|
|
21
22
|
SFCC_ACCOUNT_MANAGER_HOST: 'accountManagerHost',
|
|
22
23
|
SFCC_SANDBOX_API_HOST: 'sandboxApiHost',
|
|
@@ -31,7 +32,7 @@ const ENV_VAR_MAP = {
|
|
|
31
32
|
SFCC_MRT_CLOUD_ORIGIN: 'mrtOrigin',
|
|
32
33
|
};
|
|
33
34
|
/** Fields that should be parsed as comma-separated arrays. */
|
|
34
|
-
const ARRAY_FIELDS = new Set(['scopes', 'authMethods']);
|
|
35
|
+
const ARRAY_FIELDS = new Set(['scopes', 'authMethods', 'cartridges']);
|
|
35
36
|
/** Fields that should be parsed as booleans. */
|
|
36
37
|
const BOOLEAN_FIELDS = new Set(['selfSigned']);
|
|
37
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-source.js","sourceRoot":"","sources":["../../../../src/config/sources/env-source.ts"],"names":[],"mappings":"AAcA,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,GAA2C;IAC1D,WAAW,EAAE,UAAU;IACvB,kBAAkB,EAAE,gBAAgB;IACpC,iBAAiB,EAAE,aAAa;IAChC,aAAa,EAAE,UAAU;IACzB,aAAa,EAAE,UAAU;IACzB,gBAAgB,EAAE,aAAa;IAC/B,2BAA2B,EAAE,uBAAuB;IACpD,eAAe,EAAE,YAAY;IAC7B,cAAc,EAAE,UAAU;IAC1B,kBAAkB,EAAE,cAAc;IAClC,iBAAiB,EAAE,QAAQ;IAC3B,cAAc,EAAE,WAAW;IAC3B,cAAc,EAAE,UAAU;IAC1B,iBAAiB,EAAE,aAAa;IAChC,yBAAyB,EAAE,oBAAoB;IAC/C,qBAAqB,EAAE,gBAAgB;IACvC,6FAA6F;IAC7F,WAAW,EAAE,WAAW;IACxB,gBAAgB,EAAE,WAAW;IAC7B,WAAW,EAAE,YAAY;IACzB,gBAAgB,EAAE,YAAY;IAC9B,eAAe,EAAE,gBAAgB;IACjC,oBAAoB,EAAE,gBAAgB;IACtC,gBAAgB,EAAE,WAAW;IAC7B,qBAAqB,EAAE,WAAW;CACnC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAyB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"env-source.js","sourceRoot":"","sources":["../../../../src/config/sources/env-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions } from '../ty
|
|
|
17
17
|
export declare class MobifySource implements ConfigSource {
|
|
18
18
|
readonly name = "MobifySource";
|
|
19
19
|
readonly priority = 0;
|
|
20
|
-
load(options: ResolveConfigOptions): ConfigLoadResult | undefined
|
|
20
|
+
load(options: ResolveConfigOptions): Promise<ConfigLoadResult | undefined>;
|
|
21
21
|
/**
|
|
22
22
|
* Determines the mobify config file path based on cloud origin.
|
|
23
23
|
*/
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @internal This module is internal to the SDK. Use ConfigResolver instead.
|
|
10
10
|
*/
|
|
11
|
-
import * as
|
|
11
|
+
import * as fsp from 'node:fs/promises';
|
|
12
12
|
import * as os from 'node:os';
|
|
13
13
|
import * as path from 'node:path';
|
|
14
14
|
import { getLogger } from '../../logging/logger.js';
|
|
@@ -30,17 +30,20 @@ import { getLogger } from '../../logging/logger.js';
|
|
|
30
30
|
export class MobifySource {
|
|
31
31
|
name = 'MobifySource';
|
|
32
32
|
priority = 0;
|
|
33
|
-
load(options) {
|
|
33
|
+
async load(options) {
|
|
34
34
|
const logger = getLogger();
|
|
35
35
|
// Use explicit credentialsFile if provided, otherwise use default path
|
|
36
36
|
const mobifyPath = options.credentialsFile ?? this.getMobifyPath(options.cloudOrigin);
|
|
37
37
|
logger.trace({ location: mobifyPath }, '[MobifySource] Checking for credentials file');
|
|
38
|
-
|
|
38
|
+
try {
|
|
39
|
+
await fsp.access(mobifyPath);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
39
42
|
logger.trace({ location: mobifyPath }, '[MobifySource] No credentials file found');
|
|
40
43
|
return undefined;
|
|
41
44
|
}
|
|
42
45
|
try {
|
|
43
|
-
const content =
|
|
46
|
+
const content = await fsp.readFile(mobifyPath, 'utf8');
|
|
44
47
|
const config = JSON.parse(content);
|
|
45
48
|
if (!config.api_key) {
|
|
46
49
|
logger.trace({ location: mobifyPath }, '[MobifySource] Credentials file found but no api_key present');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobify-source.js","sourceRoot":"","sources":["../../../../src/config/sources/mobify-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mobify-source.js","sourceRoot":"","sources":["../../../../src/config/sources/mobify-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAUlD;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,cAAc,CAAC;IACtB,QAAQ,GAAG,CAAC,CAAC;IAEtB,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,uEAAuE;QACvE,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEtF,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAC,EAAE,8CAA8C,CAAC,CAAC;QAErF,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAC,EAAE,0CAA0C,CAAC,CAAC;YACjF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAC,EAAE,8DAA8D,CAAC,CAAC;gBACrG,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAC,EAAE,mCAAmC,CAAC,CAAC;YAEjG,OAAO;gBACL,MAAM,EAAE,EAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAC;gBACnC,QAAQ,EAAE,UAAU;aACrB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+DAA+D;YAC/D,iEAAiE;YACjE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,iDAAiD,CAAC,CAAC;YACxG,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,WAAoB;QACxC,IAAI,WAAW,EAAE,CAAC;YAChB,8DAA8D;YAC9D,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;gBAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,WAAW,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -10,5 +10,5 @@ import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions } from '../ty
|
|
|
10
10
|
export declare class PackageJsonSource implements ConfigSource {
|
|
11
11
|
readonly name = "PackageJsonSource";
|
|
12
12
|
readonly priority = 1000;
|
|
13
|
-
load(options: ResolveConfigOptions): ConfigLoadResult | undefined
|
|
13
|
+
load(options: ResolveConfigOptions): Promise<ConfigLoadResult | undefined>;
|
|
14
14
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @internal This module is internal to the SDK. Use ConfigResolver instead.
|
|
13
13
|
*/
|
|
14
|
-
import * as
|
|
14
|
+
import * as fsp from 'node:fs/promises';
|
|
15
15
|
import * as path from 'node:path';
|
|
16
16
|
import { getPopulatedFields, normalizeConfigKeys } from '../mapping.js';
|
|
17
17
|
import { getLogger } from '../../logging/logger.js';
|
|
@@ -40,18 +40,21 @@ const ALLOWED_FIELDS = [
|
|
|
40
40
|
export class PackageJsonSource {
|
|
41
41
|
name = 'PackageJsonSource';
|
|
42
42
|
priority = 1000;
|
|
43
|
-
load(options) {
|
|
43
|
+
async load(options) {
|
|
44
44
|
const logger = getLogger();
|
|
45
45
|
// Only look in cwd (or projectDirectory if provided)
|
|
46
46
|
const searchDir = options.projectDirectory ?? options.workingDirectory ?? process.cwd();
|
|
47
47
|
const packageJsonPath = path.join(searchDir, 'package.json');
|
|
48
48
|
logger.trace({ location: packageJsonPath }, '[PackageJsonSource] Checking for package.json');
|
|
49
|
-
|
|
49
|
+
try {
|
|
50
|
+
await fsp.access(packageJsonPath);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
50
53
|
logger.trace('[PackageJsonSource] No package.json found');
|
|
51
54
|
return undefined;
|
|
52
55
|
}
|
|
53
56
|
try {
|
|
54
|
-
const content =
|
|
57
|
+
const content = await fsp.readFile(packageJsonPath, 'utf8');
|
|
55
58
|
const packageJson = JSON.parse(content);
|
|
56
59
|
if (!packageJson.b2c) {
|
|
57
60
|
logger.trace('[PackageJsonSource] No b2c key in package.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json-source.js","sourceRoot":"","sources":["../../../../src/config/sources/package-json-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;GAOG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"package-json-source.js","sourceRoot":"","sources":["../../../../src/config/sources/package-json-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;GAOG;AACH,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAElD;;;GAGG;AACH,MAAM,cAAc,GAA+B;IACjD,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,YAAY;IACZ,WAAW;IACX,oBAAoB;IACpB,gBAAgB;IAChB,OAAO;CACR,CAAC;AAgBF;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,mBAAmB,CAAC;IAC3B,QAAQ,GAAG,IAAI,CAAC;IAEzB,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,qDAAqD;QACrD,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACxF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAE7D,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,eAAe,EAAC,EAAE,+CAA+C,CAAC,CAAC;QAE3F,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiC,CAAC;YAExE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAC/D,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,sEAAsE;YACtE,MAAM,SAAS,GAAG,mBAAmB,CAAC,WAAW,CAAC,GAA8B,CAAC,CAAC;YAClF,MAAM,MAAM,GAAqB,EAAE,CAAC;YAEpC,2BAA2B;YAC3B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAkC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAA6B,CAAC,CACjE,CAAC;YACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CACT,EAAC,gBAAgB,EAAC,EAClB,4FAA4F,CAC7F,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;gBACpF,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAC,EAAE,mCAAmC,CAAC,CAAC;YAEvF,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+DAA+D;YAC/D,iEAAiE;YACjE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,kDAAkD,CAAC,CAAC;YAC9G,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -8,6 +8,14 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { AuthMethod, AuthStrategy } from '../auth/types.js';
|
|
10
10
|
import type { B2CInstance } from '../instance/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* A value that may be synchronous or a Promise.
|
|
13
|
+
*
|
|
14
|
+
* Used in the {@link ConfigSource} interface so that sources can return
|
|
15
|
+
* results either synchronously or asynchronously. The resolver normalizes
|
|
16
|
+
* both forms with `await`.
|
|
17
|
+
*/
|
|
18
|
+
export type MaybePromise<T> = T | Promise<T>;
|
|
11
19
|
/**
|
|
12
20
|
* Normalized B2C configuration with camelCase fields.
|
|
13
21
|
*
|
|
@@ -58,6 +66,8 @@ export interface NormalizedConfig {
|
|
|
58
66
|
mrtApiKey?: string;
|
|
59
67
|
/** MRT API origin URL override */
|
|
60
68
|
mrtOrigin?: string;
|
|
69
|
+
/** Cartridge names to include in deploy/watch operations */
|
|
70
|
+
cartridges?: string[];
|
|
61
71
|
/** Default content library ID for content export/list commands */
|
|
62
72
|
contentLibrary?: string;
|
|
63
73
|
/** Optional CIP analytics host override */
|
|
@@ -172,8 +182,8 @@ export interface ConfigLoadResult {
|
|
|
172
182
|
* class MyCustomSource implements ConfigSource {
|
|
173
183
|
* name = 'my-custom-source';
|
|
174
184
|
*
|
|
175
|
-
* load(options: ResolveConfigOptions): ConfigLoadResult | undefined {
|
|
176
|
-
* // Load config from your custom source
|
|
185
|
+
* async load(options: ResolveConfigOptions): Promise<ConfigLoadResult | undefined> {
|
|
186
|
+
* // Load config from your custom source (sync return values also work)
|
|
177
187
|
* return { config: { hostname: 'example.com' }, location: '/path/to/config' };
|
|
178
188
|
* }
|
|
179
189
|
* }
|
|
@@ -198,32 +208,33 @@ export interface ConfigSource {
|
|
|
198
208
|
* Load configuration from this source.
|
|
199
209
|
*
|
|
200
210
|
* @param options - Resolution options
|
|
201
|
-
* @returns Config and location from this source, or undefined if source not available
|
|
211
|
+
* @returns Config and location from this source, or undefined if source not available.
|
|
212
|
+
* May return synchronously or as a Promise.
|
|
202
213
|
*/
|
|
203
|
-
load(options: ResolveConfigOptions): ConfigLoadResult | undefined
|
|
214
|
+
load(options: ResolveConfigOptions): MaybePromise<ConfigLoadResult | undefined>;
|
|
204
215
|
/**
|
|
205
216
|
* List all instances from this source.
|
|
206
217
|
* @param options - Resolution options
|
|
207
|
-
* @returns Array of instance info objects
|
|
218
|
+
* @returns Array of instance info objects. May return synchronously or as a Promise.
|
|
208
219
|
*/
|
|
209
|
-
listInstances?(options?: ResolveConfigOptions): InstanceInfo[]
|
|
220
|
+
listInstances?(options?: ResolveConfigOptions): MaybePromise<InstanceInfo[]>;
|
|
210
221
|
/**
|
|
211
222
|
* Create a new instance in this source.
|
|
212
223
|
* @param options - Creation options including name and config
|
|
213
224
|
*/
|
|
214
|
-
createInstance?(options: CreateInstanceOptions & ResolveConfigOptions): void
|
|
225
|
+
createInstance?(options: CreateInstanceOptions & ResolveConfigOptions): MaybePromise<void>;
|
|
215
226
|
/**
|
|
216
227
|
* Remove an instance from this source.
|
|
217
228
|
* @param name - Instance name to remove
|
|
218
229
|
* @param options - Resolution options
|
|
219
230
|
*/
|
|
220
|
-
removeInstance?(name: string, options?: ResolveConfigOptions): void
|
|
231
|
+
removeInstance?(name: string, options?: ResolveConfigOptions): MaybePromise<void>;
|
|
221
232
|
/**
|
|
222
233
|
* Set an instance as active.
|
|
223
234
|
* @param name - Instance name to set as active
|
|
224
235
|
* @param options - Resolution options
|
|
225
236
|
*/
|
|
226
|
-
setActiveInstance?(name: string, options?: ResolveConfigOptions): void
|
|
237
|
+
setActiveInstance?(name: string, options?: ResolveConfigOptions): MaybePromise<void>;
|
|
227
238
|
/**
|
|
228
239
|
* Fields this source can securely store (e.g., ['password', 'clientSecret']).
|
|
229
240
|
*/
|
|
@@ -235,14 +246,14 @@ export interface ConfigSource {
|
|
|
235
246
|
* @param value - Value to store
|
|
236
247
|
* @param options - Resolution options
|
|
237
248
|
*/
|
|
238
|
-
storeCredential?(instanceName: string, field: keyof NormalizedConfig, value: string, options?: ResolveConfigOptions): void
|
|
249
|
+
storeCredential?(instanceName: string, field: keyof NormalizedConfig, value: string, options?: ResolveConfigOptions): MaybePromise<void>;
|
|
239
250
|
/**
|
|
240
251
|
* Remove a credential for an instance.
|
|
241
252
|
* @param instanceName - Instance name
|
|
242
253
|
* @param field - Config field to remove
|
|
243
254
|
* @param options - Resolution options
|
|
244
255
|
*/
|
|
245
|
-
removeCredential?(instanceName: string, field: keyof NormalizedConfig, options?: ResolveConfigOptions): void
|
|
256
|
+
removeCredential?(instanceName: string, field: keyof NormalizedConfig, options?: ResolveConfigOptions): MaybePromise<void>;
|
|
246
257
|
}
|
|
247
258
|
/**
|
|
248
259
|
* Options for creating OAuth auth strategy.
|
|
@@ -8,7 +8,7 @@ import path from 'node:path';
|
|
|
8
8
|
import { glob } from 'glob';
|
|
9
9
|
import { ScaffoldEngine } from './engine.js';
|
|
10
10
|
import { evaluateCondition, validateParameters } from './validators.js';
|
|
11
|
-
import { mergeJson, insertAfter, insertBefore, appendContent, prependContent } from './merge.js';
|
|
11
|
+
import { mergeJson, createPath, insertAfter, insertBefore, appendContent, prependContent } from './merge.js';
|
|
12
12
|
/**
|
|
13
13
|
* Resolve output directory with priority:
|
|
14
14
|
* 1. Explicit outputDir option
|
|
@@ -89,8 +89,8 @@ export async function generateFromScaffold(scaffold, options = {}) {
|
|
|
89
89
|
const destRendered = engine.renderPath(mapping.destination);
|
|
90
90
|
// If destination is absolute path, use it directly; otherwise join with outputDir
|
|
91
91
|
const destAbsolute = path.isAbsolute(destRendered) ? destRendered : path.join(outputDir, destRendered);
|
|
92
|
-
// For display purposes, show path relative to
|
|
93
|
-
const destRelative = path.relative(
|
|
92
|
+
// For display purposes, show path relative to outputDir
|
|
93
|
+
const destRelative = path.relative(outputDir, destAbsolute) || destAbsolute;
|
|
94
94
|
// Check if destination exists
|
|
95
95
|
const exists = await fileExists(destAbsolute);
|
|
96
96
|
const overwrite = mapping.overwrite || 'never';
|
|
@@ -155,7 +155,7 @@ export async function generateFromScaffold(scaffold, options = {}) {
|
|
|
155
155
|
}
|
|
156
156
|
const targetRendered = engine.renderPath(modification.target);
|
|
157
157
|
const targetAbsolute = path.isAbsolute(targetRendered) ? targetRendered : path.join(outputDir, targetRendered);
|
|
158
|
-
const targetRelative = path.relative(
|
|
158
|
+
const targetRelative = path.relative(outputDir, targetAbsolute) || targetAbsolute;
|
|
159
159
|
// Get modification content
|
|
160
160
|
let modContent;
|
|
161
161
|
if (modification.contentTemplate) {
|
|
@@ -215,8 +215,16 @@ async function processModification(modification, targetAbsolute, targetRelative,
|
|
|
215
215
|
switch (modification.type) {
|
|
216
216
|
case 'json-merge': {
|
|
217
217
|
if (!exists) {
|
|
218
|
-
// Create new JSON file
|
|
219
|
-
|
|
218
|
+
// Create new JSON file, wrapping content in jsonPath structure if specified
|
|
219
|
+
if (modification.jsonPath) {
|
|
220
|
+
const wrapper = {};
|
|
221
|
+
const [parent, key] = createPath(wrapper, modification.jsonPath);
|
|
222
|
+
parent[key] = JSON.parse(content);
|
|
223
|
+
newContent = JSON.stringify(wrapper, null, 2);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
newContent = JSON.stringify(JSON.parse(content), null, 2);
|
|
227
|
+
}
|
|
220
228
|
}
|
|
221
229
|
else {
|
|
222
230
|
newContent = mergeJson(existingContent, content, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/scaffold/executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAS1B,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/scaffold/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,13 @@ export interface JsonMergeOptions {
|
|
|
7
7
|
/** Whether to create the path if it doesn't exist */
|
|
8
8
|
createPath?: boolean;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Create a nested path in an object
|
|
12
|
+
* @param obj - The object to modify
|
|
13
|
+
* @param path - Dot-separated path to create
|
|
14
|
+
* @returns The parent object of the final key
|
|
15
|
+
*/
|
|
16
|
+
export declare function createPath(obj: Record<string, unknown>, path: string): [Record<string, unknown>, string];
|
|
10
17
|
/**
|
|
11
18
|
* Merge JSON content into an existing JSON string
|
|
12
19
|
* @param existingJson - The existing JSON string
|
|
@@ -36,7 +36,7 @@ function navigateToPath(obj, path) {
|
|
|
36
36
|
* @param path - Dot-separated path to create
|
|
37
37
|
* @returns The parent object of the final key
|
|
38
38
|
*/
|
|
39
|
-
function createPath(obj, path) {
|
|
39
|
+
export function createPath(obj, path) {
|
|
40
40
|
const parts = path.split('.');
|
|
41
41
|
const finalKey = parts.pop();
|
|
42
42
|
let current = obj;
|
|
@@ -87,9 +87,18 @@ function deepMerge(target, source) {
|
|
|
87
87
|
* @returns Updated JSON string
|
|
88
88
|
*/
|
|
89
89
|
export function mergeJson(existingJson, newContent, options = {}) {
|
|
90
|
-
|
|
90
|
+
let existing = JSON.parse(existingJson);
|
|
91
91
|
const content = typeof newContent === 'string' ? JSON.parse(newContent) : newContent;
|
|
92
92
|
if (options.jsonPath) {
|
|
93
|
+
// If existing content is a bare array but we expected an object with jsonPath,
|
|
94
|
+
// wrap it in the expected structure so the merge works correctly.
|
|
95
|
+
// This handles files that were previously created without the jsonPath wrapper.
|
|
96
|
+
if (Array.isArray(existing)) {
|
|
97
|
+
const wrapper = {};
|
|
98
|
+
const [newParent, newKey] = createPath(wrapper, options.jsonPath);
|
|
99
|
+
newParent[newKey] = existing;
|
|
100
|
+
existing = wrapper;
|
|
101
|
+
}
|
|
93
102
|
const [parent, key, found] = navigateToPath(existing, options.jsonPath);
|
|
94
103
|
if (!found) {
|
|
95
104
|
if (options.createPath !== false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/scaffold/merge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAY,EAAE,IAAY;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;IAC9B,IAAI,OAAO,GAAG,GAA8B,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAA4B,CAAC;IACrD,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/scaffold/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,20 @@ export async function resolveScaffoldParameters(scaffold, options = {}) {
|
|
|
25
25
|
// Cache for cartridge paths (only resolved once if needed)
|
|
26
26
|
let cartridgePathMap;
|
|
27
27
|
for (const param of scaffold.manifest.parameters) {
|
|
28
|
-
// Check if conditional parameter should be evaluated
|
|
28
|
+
// Check if conditional parameter should be evaluated.
|
|
29
|
+
// If the condition references a variable that hasn't been resolved yet
|
|
30
|
+
// (it's missing), include the param as missing so interactive prompts
|
|
31
|
+
// can re-evaluate the condition after earlier params are filled in.
|
|
29
32
|
if (param.when && !evaluateCondition(param.when, variables)) {
|
|
33
|
+
const conditionVar = param.when.split('=')[0].replace(/^!/, '');
|
|
34
|
+
if (variables[conditionVar] !== undefined) {
|
|
35
|
+
// Condition variable is resolved but condition is false — skip entirely
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
// Condition variable is unresolved — add to missing so it can be prompted later
|
|
39
|
+
if (param.required) {
|
|
40
|
+
missingParameters.push(param);
|
|
41
|
+
}
|
|
30
42
|
continue;
|
|
31
43
|
}
|
|
32
44
|
// If value was already provided, validate it against source
|