@salesforce/b2c-tooling-sdk 0.0.0-nightly.20260120023917 → 0.0.0-nightly.20260121023856
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/cli/base-command.d.ts +5 -0
- package/dist/cjs/cli/base-command.js +22 -2
- package/dist/cjs/cli/base-command.js.map +1 -1
- package/dist/cjs/cli/hooks.d.ts +13 -5
- package/dist/cjs/cli/hooks.js.map +1 -1
- package/dist/cjs/config/resolver.d.ts +2 -1
- package/dist/cjs/config/resolver.js +11 -7
- package/dist/cjs/config/resolver.js.map +1 -1
- package/dist/cjs/config/sources/dw-json-source.d.ts +1 -0
- package/dist/cjs/config/sources/dw-json-source.js +1 -0
- package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
- package/dist/cjs/config/sources/index.d.ts +1 -0
- package/dist/cjs/config/sources/index.js +1 -0
- package/dist/cjs/config/sources/index.js.map +1 -1
- package/dist/cjs/config/sources/mobify-source.d.ts +1 -0
- package/dist/cjs/config/sources/mobify-source.js +1 -0
- package/dist/cjs/config/sources/mobify-source.js.map +1 -1
- package/dist/cjs/config/sources/package-json-source.d.ts +14 -0
- package/dist/cjs/config/sources/package-json-source.js +86 -0
- package/dist/cjs/config/sources/package-json-source.js.map +1 -0
- package/dist/cjs/config/types.d.ts +12 -0
- package/dist/cjs/skills/agents.d.ts +41 -0
- package/dist/cjs/skills/agents.js +159 -0
- package/dist/cjs/skills/agents.js.map +1 -0
- package/dist/cjs/skills/github.d.ts +47 -0
- package/dist/cjs/skills/github.js +246 -0
- package/dist/cjs/skills/github.js.map +1 -0
- package/dist/cjs/skills/index.d.ts +42 -0
- package/dist/cjs/skills/index.js +14 -0
- package/dist/cjs/skills/index.js.map +1 -0
- package/dist/cjs/skills/installer.d.ts +34 -0
- package/dist/cjs/skills/installer.js +181 -0
- package/dist/cjs/skills/installer.js.map +1 -0
- package/dist/cjs/skills/parser.d.ts +39 -0
- package/dist/cjs/skills/parser.js +131 -0
- package/dist/cjs/skills/parser.js.map +1 -0
- package/dist/cjs/skills/types.d.ts +134 -0
- package/dist/cjs/skills/types.js +7 -0
- package/dist/cjs/skills/types.js.map +1 -0
- package/dist/esm/cli/base-command.d.ts +5 -0
- package/dist/esm/cli/base-command.js +22 -2
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/hooks.d.ts +13 -5
- package/dist/esm/cli/hooks.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +2 -1
- package/dist/esm/config/resolver.js +11 -7
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +1 -0
- package/dist/esm/config/sources/dw-json-source.js +1 -0
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/index.d.ts +1 -0
- package/dist/esm/config/sources/index.js +1 -0
- package/dist/esm/config/sources/index.js.map +1 -1
- package/dist/esm/config/sources/mobify-source.d.ts +1 -0
- package/dist/esm/config/sources/mobify-source.js +1 -0
- package/dist/esm/config/sources/mobify-source.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.d.ts +14 -0
- package/dist/esm/config/sources/package-json-source.js +86 -0
- package/dist/esm/config/sources/package-json-source.js.map +1 -0
- package/dist/esm/config/types.d.ts +12 -0
- package/dist/esm/skills/agents.d.ts +41 -0
- package/dist/esm/skills/agents.js +159 -0
- package/dist/esm/skills/agents.js.map +1 -0
- package/dist/esm/skills/github.d.ts +47 -0
- package/dist/esm/skills/github.js +246 -0
- package/dist/esm/skills/github.js.map +1 -0
- package/dist/esm/skills/index.d.ts +42 -0
- package/dist/esm/skills/index.js +14 -0
- package/dist/esm/skills/index.js.map +1 -0
- package/dist/esm/skills/installer.d.ts +34 -0
- package/dist/esm/skills/installer.js +181 -0
- package/dist/esm/skills/installer.js.map +1 -0
- package/dist/esm/skills/parser.d.ts +39 -0
- package/dist/esm/skills/parser.js +131 -0
- package/dist/esm/skills/parser.js.map +1 -0
- package/dist/esm/skills/types.d.ts +134 -0
- package/dist/esm/skills/types.js +7 -0
- package/dist/esm/skills/types.js.map +1 -0
- package/package.json +12 -1
|
@@ -61,6 +61,11 @@ export declare abstract class BaseCommand<T extends typeof Command> extends Comm
|
|
|
61
61
|
* Plugin sources are collected into two arrays based on their priority:
|
|
62
62
|
* - `pluginSourcesBefore`: High priority sources (override defaults)
|
|
63
63
|
* - `pluginSourcesAfter`: Low priority sources (fill gaps)
|
|
64
|
+
*
|
|
65
|
+
* Priority mapping:
|
|
66
|
+
* - 'before' → -1 (higher priority than defaults)
|
|
67
|
+
* - 'after' → 10 (lower priority than defaults)
|
|
68
|
+
* - number → used directly
|
|
64
69
|
*/
|
|
65
70
|
protected collectPluginConfigSources(): Promise<void>;
|
|
66
71
|
/**
|
|
@@ -180,6 +180,11 @@ export class BaseCommand extends Command {
|
|
|
180
180
|
* Plugin sources are collected into two arrays based on their priority:
|
|
181
181
|
* - `pluginSourcesBefore`: High priority sources (override defaults)
|
|
182
182
|
* - `pluginSourcesAfter`: Low priority sources (fill gaps)
|
|
183
|
+
*
|
|
184
|
+
* Priority mapping:
|
|
185
|
+
* - 'before' → -1 (higher priority than defaults)
|
|
186
|
+
* - 'after' → 10 (lower priority than defaults)
|
|
187
|
+
* - number → used directly
|
|
183
188
|
*/
|
|
184
189
|
async collectPluginConfigSources() {
|
|
185
190
|
// Access flags that may be defined in subclasses (OAuthCommand, InstanceCommand)
|
|
@@ -200,11 +205,26 @@ export class BaseCommand extends Command {
|
|
|
200
205
|
const result = success.result;
|
|
201
206
|
if (!result?.sources?.length)
|
|
202
207
|
continue;
|
|
203
|
-
|
|
208
|
+
// Map priority: 'before' → -1, 'after' → 10, number → as-is, undefined → 10
|
|
209
|
+
const numericPriority = result.priority === 'before'
|
|
210
|
+
? -1
|
|
211
|
+
: result.priority === 'after'
|
|
212
|
+
? 10
|
|
213
|
+
: typeof result.priority === 'number'
|
|
214
|
+
? result.priority
|
|
215
|
+
: 10; // default 'after'
|
|
216
|
+
// Apply priority to sources that don't already have one set
|
|
217
|
+
for (const source of result.sources) {
|
|
218
|
+
if (source.priority === undefined) {
|
|
219
|
+
source.priority = numericPriority;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Still use before/after arrays for backwards compatibility
|
|
223
|
+
// The resolver will sort all sources by priority anyway
|
|
224
|
+
if (numericPriority < 0) {
|
|
204
225
|
this.pluginSourcesBefore.push(...result.sources);
|
|
205
226
|
}
|
|
206
227
|
else {
|
|
207
|
-
// Default priority is 'after'
|
|
208
228
|
this.pluginSourcesAfter.push(...result.sources);
|
|
209
229
|
}
|
|
210
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../../src/cli/base-command.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../../src/cli/base-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,OAAO,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AASvC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAE,SAAS,EAA6B,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAC,2BAA2B,EAAyB,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAC,wBAAwB,EAAC,MAAM,mCAAmC,CAAC;AAK3E,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAElF;;;;;;;;GAQG;AACH,MAAM,OAAgB,WAAsC,SAAQ,OAAO;IACzE,MAAM,CAAC,SAAS,GAAG;QACjB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,6BAA6B;YAC1C,GAAG,EAAE,gBAAgB;YACrB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,QAAQ;SACpB,CAAC,EAAE;QACJ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wDAAwD;YACrE,GAAG,EAAE,YAAY;YACjB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,uEAAuE;YACpF,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,gEAAgE;YAC7E,GAAG,EAAE,aAAa;YAClB,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,2DAA2D;YACxE,GAAG,EAAE,eAAe;YACpB,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC;YAChC,WAAW,EAAE,2BAA2B;YACxC,GAAG,EAAE,wBAAwB;YAC7B,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,6DAA6D;YAC1E,GAAG,EAAE,kBAAkB;YACvB,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,IAAI;SACb,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,mEAAmE;YAChF,GAAG,EAAE,iBAAiB;YACtB,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,IAAI;SACb,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,qEAAqE;YAClF,GAAG,EAAE,oBAAoB;YACzB,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,IAAI;SACb,CAAC;KACH,CAAC;IAEQ,KAAK,CAAY;IACjB,IAAI,CAAW;IACf,cAAc,CAAqB;IACnC,MAAM,CAAU;IAE1B,2EAA2E;IACjE,mBAAmB,GAAmB,EAAE,CAAC;IACnD,yEAAyE;IAC/D,kBAAkB,GAAmB,EAAE,CAAC;IAE3C,KAAK,CAAC,IAAI;QACf,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,SAAS,EAAG,KAAK,CAAC,IAA2B,CAAC,SAAS;YACvD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,KAAiB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAe,CAAC;QAE5B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,6FAA6F;QAC7F,sDAAsD;QACtD,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAErC,qEAAqE;QACrE,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEzC,mEAAmE;QACnE,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAExC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjD,CAAC;IAED;;;OAGG;IACK,cAAc;QACpB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uCAAuC;QACvC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;IACvC,CAAC;IAES,gBAAgB;QACxB,IAAI,KAAK,GAAa,MAAM,CAAC;QAE7B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAa,CAAC;QAC9C,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;QAED,4DAA4D;QAC5D,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,2CAA2C;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,OAAO,CAAC;QAE3D,eAAe,CAAC;YACd,KAAK;YACL,EAAE;YACF,WAAW,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;YAC/B,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,OAAgB,EAAE,GAAG,IAAe;QACtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,KAAqB;QACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAES,iBAAiB;QACzB,MAAM,OAAO,GAAsB;YACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SAC9B,CAAC;QAEF,MAAM,aAAa,GAAkB;YACnC,MAAM,EAAE,IAAI,CAAC,mBAAmB;YAChC,KAAK,EAAE,IAAI,CAAC,kBAAkB;SAC/B,CAAC;QAEF,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,KAAK,CAAC,0BAA0B;QACxC,iFAAiF;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAgC,CAAC;QAEpD,MAAM,WAAW,GAA6B;YAC5C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC7B,KAAK;YACL,cAAc,EAAE;gBACd,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC7B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC7B,kBAAkB,EAAE,KAAK,CAAC,sBAAsB,CAAuB;aACxE;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAEhF,uEAAuE;QACvE,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAA6C,CAAC;YACrE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM;gBAAE,SAAS;YAEvC,4EAA4E;YAC5E,MAAM,eAAe,GACnB,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAC1B,CAAC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO;oBAC3B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACnC,CAAC,CAAC,MAAM,CAAC,QAAQ;wBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB;YAEhC,4DAA4D;YAC5D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACjC,MAA8B,CAAC,QAAQ,GAAG,eAAe,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,4DAA4D;YAC5D,wDAAwD;YACxD,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,CAAC,IAAI,oCAAoC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,2BAA2B;QACzC,MAAM,WAAW,GAA8B;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAgC;SAC7C,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;QAEjF,sDAAsD;QACtD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAA8C,CAAC;YACtE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM;gBAAE,SAAS;YAEzC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxC,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,wCAAwC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,CAAC,IAAI,qCAAqC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,KAAK,CAAC,GAAgC;QACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnC,+DAA+D;QAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG;gBAClB,KAAK,EAAE;oBACL,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,IAAI,EAAE,QAAQ;oBACd,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjD;aACF,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;IAC5C,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACO,cAAc;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA0D,CAAC;YACjG,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAA4B,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAA2B,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,6BAA6B;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,wBAAwB,CAAC,QAAQ,CAAC;YAChC,IAAI,EAAE,kBAAkB;YACxB,aAAa;gBACX,OAAO,2BAA2B,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;SACF,CAAC,CAAC;IACL,CAAC"}
|
package/dist/cjs/cli/hooks.d.ts
CHANGED
|
@@ -64,14 +64,22 @@ export interface ConfigSourcesHookResult {
|
|
|
64
64
|
/** Config sources to add to the resolution chain */
|
|
65
65
|
sources: ConfigSource[];
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Priority for the returned sources. Can be a string or number:
|
|
68
68
|
*
|
|
69
|
-
*
|
|
70
|
-
* - `'
|
|
69
|
+
* String values (legacy, still supported):
|
|
70
|
+
* - `'before'`: Maps to priority -1 (higher priority than defaults)
|
|
71
|
+
* - `'after'`: Maps to priority 10 (lower priority than defaults)
|
|
71
72
|
*
|
|
72
|
-
*
|
|
73
|
+
* Numeric values (preferred):
|
|
74
|
+
* - Any number. Lower numbers = higher priority.
|
|
75
|
+
* - Built-in sources use priority 0.
|
|
76
|
+
* - package.json uses priority 1000.
|
|
77
|
+
*
|
|
78
|
+
* If a source already has a `priority` property set, it will not be overridden.
|
|
79
|
+
*
|
|
80
|
+
* @default 'after' (maps to 10)
|
|
73
81
|
*/
|
|
74
|
-
priority?: 'before' | 'after';
|
|
82
|
+
priority?: 'before' | 'after' | number;
|
|
75
83
|
}
|
|
76
84
|
/**
|
|
77
85
|
* Hook type for `b2c:config-sources`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/cli/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/cli/hooks.ts"],"names":[],"mappings":"AAmPA,OAAO,EAAC,yBAAyB,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAW7E,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC"}
|
|
@@ -64,7 +64,8 @@ export declare class ConfigResolver {
|
|
|
64
64
|
/**
|
|
65
65
|
* Creates a new ConfigResolver.
|
|
66
66
|
*
|
|
67
|
-
* @param sources - Custom configuration sources. If not provided, uses default sources (dw.json, ~/.mobify).
|
|
67
|
+
* @param sources - Custom configuration sources. If not provided, uses default sources (dw.json, ~/.mobify, package.json).
|
|
68
|
+
* Sources are automatically sorted by priority (lower number = higher priority).
|
|
68
69
|
*/
|
|
69
70
|
constructor(sources?: ConfigSource[]);
|
|
70
71
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mergeConfigsWithProtection, getPopulatedFields, createInstanceFromConfig } from './mapping.js';
|
|
2
|
-
import { DwJsonSource, MobifySource } from './sources/index.js';
|
|
2
|
+
import { DwJsonSource, MobifySource, PackageJsonSource } from './sources/index.js';
|
|
3
3
|
import { ResolvedConfigImpl } from './resolved-config.js';
|
|
4
4
|
/**
|
|
5
5
|
* Credential groups that must come from the same source.
|
|
@@ -98,10 +98,13 @@ export class ConfigResolver {
|
|
|
98
98
|
/**
|
|
99
99
|
* Creates a new ConfigResolver.
|
|
100
100
|
*
|
|
101
|
-
* @param sources - Custom configuration sources. If not provided, uses default sources (dw.json, ~/.mobify).
|
|
101
|
+
* @param sources - Custom configuration sources. If not provided, uses default sources (dw.json, ~/.mobify, package.json).
|
|
102
|
+
* Sources are automatically sorted by priority (lower number = higher priority).
|
|
102
103
|
*/
|
|
103
104
|
constructor(sources) {
|
|
104
|
-
|
|
105
|
+
const configSources = sources ?? [new DwJsonSource(), new MobifySource(), new PackageJsonSource()];
|
|
106
|
+
// Sort sources by priority (lower number = higher priority, undefined = 0)
|
|
107
|
+
this.sources = [...configSources].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
|
|
105
108
|
}
|
|
106
109
|
/**
|
|
107
110
|
* Resolves configuration from all sources.
|
|
@@ -303,19 +306,20 @@ export function createConfigResolver() {
|
|
|
303
306
|
export function resolveConfig(overrides = {}, options = {}) {
|
|
304
307
|
// Build sources list with priority ordering:
|
|
305
308
|
// 1. sourcesBefore (high priority - override defaults)
|
|
306
|
-
// 2. default sources (dw.json, ~/.mobify)
|
|
309
|
+
// 2. default sources (dw.json, ~/.mobify, package.json)
|
|
307
310
|
// 3. sourcesAfter (low priority - fill gaps)
|
|
308
311
|
let sources;
|
|
309
312
|
if (options.replaceDefaultSources) {
|
|
310
|
-
// Replace mode: only use provided sources (no default dw.json/~/.mobify)
|
|
313
|
+
// Replace mode: only use provided sources (no default dw.json/~/.mobify/package.json)
|
|
311
314
|
sources = [...(options.sourcesBefore ?? []), ...(options.sourcesAfter ?? [])];
|
|
312
315
|
}
|
|
313
316
|
else {
|
|
314
317
|
// Normal mode: before + defaults + after
|
|
315
|
-
const defaultSources = [new DwJsonSource(), new MobifySource()];
|
|
316
|
-
// Combine
|
|
318
|
+
const defaultSources = [new DwJsonSource(), new MobifySource(), new PackageJsonSource()];
|
|
319
|
+
// Combine all sources
|
|
317
320
|
sources = [...(options.sourcesBefore ?? []), ...defaultSources, ...(options.sourcesAfter ?? [])];
|
|
318
321
|
}
|
|
322
|
+
// ConfigResolver constructor will sort by priority
|
|
319
323
|
const resolver = new ConfigResolver(sources);
|
|
320
324
|
const { config, warnings, sources: sourceInfos } = resolver.resolve(overrides, options);
|
|
321
325
|
return new ResolvedConfigImpl(config, warnings, sourceInfos);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/config/resolver.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,0BAA0B,EAAE,kBAAkB,EAAE,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtG,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/config/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,6 @@ import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions } from '../ty
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class DwJsonSource implements ConfigSource {
|
|
8
8
|
readonly name = "DwJsonSource";
|
|
9
|
+
readonly priority = 0;
|
|
9
10
|
load(options: ResolveConfigOptions): ConfigLoadResult | undefined;
|
|
10
11
|
}
|
|
@@ -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,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAElD;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAAG,cAAc,CAAC;
|
|
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,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,eAAe,CAAC;AAE1D,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;QAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,UAAU,CAAC;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,UAAU;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAC,EAAE,8BAA8B,CAAC,CAAC;QAE9E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/sources/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/sources/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AACH,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC"}
|
|
@@ -16,6 +16,7 @@ import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions } from '../ty
|
|
|
16
16
|
*/
|
|
17
17
|
export declare class MobifySource implements ConfigSource {
|
|
18
18
|
readonly name = "MobifySource";
|
|
19
|
+
readonly priority = 0;
|
|
19
20
|
load(options: ResolveConfigOptions): ConfigLoadResult | undefined;
|
|
20
21
|
/**
|
|
21
22
|
* Determines the mobify config file path based on cloud origin.
|
|
@@ -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,EAAE,MAAM,SAAS,CAAC;AAC9B,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;
|
|
1
|
+
{"version":3,"file":"mobify-source.js","sourceRoot":"","sources":["../../../../src/config/sources/mobify-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,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,IAAI,CAAC,OAA6B;QAChC,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,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,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,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACpD,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,6BAA6B;YAC7B,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,OAAO,SAAS,CAAC;QACnB,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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration source that loads from package.json `b2c` key.
|
|
4
|
+
*
|
|
5
|
+
* This source has the lowest priority (1000) and only provides
|
|
6
|
+
* non-sensitive, project-level defaults.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare class PackageJsonSource implements ConfigSource {
|
|
11
|
+
readonly name = "PackageJsonSource";
|
|
12
|
+
readonly priority = 1000;
|
|
13
|
+
load(options: ResolveConfigOptions): ConfigLoadResult | undefined;
|
|
14
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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
|
+
* package.json configuration source.
|
|
8
|
+
*
|
|
9
|
+
* Reads configuration from the `b2c` key in package.json.
|
|
10
|
+
* Only loads from cwd (project root), not from parent directories.
|
|
11
|
+
*
|
|
12
|
+
* @internal This module is internal to the SDK. Use ConfigResolver instead.
|
|
13
|
+
*/
|
|
14
|
+
import * as fs from 'node:fs';
|
|
15
|
+
import * as path from 'node:path';
|
|
16
|
+
import { getPopulatedFields } from '../mapping.js';
|
|
17
|
+
import { getLogger } from '../../logging/logger.js';
|
|
18
|
+
/**
|
|
19
|
+
* Fields allowed to be configured in package.json.
|
|
20
|
+
* These are non-sensitive, non-instance-specific configuration.
|
|
21
|
+
*/
|
|
22
|
+
const ALLOWED_FIELDS = [
|
|
23
|
+
'shortCode',
|
|
24
|
+
'clientId',
|
|
25
|
+
'mrtProject',
|
|
26
|
+
'mrtOrigin',
|
|
27
|
+
'accountManagerHost',
|
|
28
|
+
];
|
|
29
|
+
/**
|
|
30
|
+
* Configuration source that loads from package.json `b2c` key.
|
|
31
|
+
*
|
|
32
|
+
* This source has the lowest priority (1000) and only provides
|
|
33
|
+
* non-sensitive, project-level defaults.
|
|
34
|
+
*
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export class PackageJsonSource {
|
|
38
|
+
name = 'PackageJsonSource';
|
|
39
|
+
priority = 1000;
|
|
40
|
+
load(options) {
|
|
41
|
+
const logger = getLogger();
|
|
42
|
+
// Only look in cwd (or startDir if provided)
|
|
43
|
+
const searchDir = options.startDir ?? process.cwd();
|
|
44
|
+
const packageJsonPath = path.join(searchDir, 'package.json');
|
|
45
|
+
logger.trace({ location: packageJsonPath }, '[PackageJsonSource] Checking for package.json');
|
|
46
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
47
|
+
logger.trace('[PackageJsonSource] No package.json found');
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
const content = fs.readFileSync(packageJsonPath, 'utf8');
|
|
52
|
+
const packageJson = JSON.parse(content);
|
|
53
|
+
if (!packageJson.b2c) {
|
|
54
|
+
logger.trace('[PackageJsonSource] No b2c key in package.json');
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
const b2cConfig = packageJson.b2c;
|
|
58
|
+
const config = {};
|
|
59
|
+
// Only copy allowed fields
|
|
60
|
+
for (const field of ALLOWED_FIELDS) {
|
|
61
|
+
const value = b2cConfig[field];
|
|
62
|
+
if (value !== undefined) {
|
|
63
|
+
config[field] = value;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Warn about disallowed fields
|
|
67
|
+
const disallowedFields = Object.keys(b2cConfig).filter((key) => !ALLOWED_FIELDS.includes(key));
|
|
68
|
+
if (disallowedFields.length > 0) {
|
|
69
|
+
logger.warn({ disallowedFields }, '[PackageJsonSource] Ignoring sensitive/instance-specific fields in package.json b2c config');
|
|
70
|
+
}
|
|
71
|
+
const fields = getPopulatedFields(config);
|
|
72
|
+
if (fields.length === 0) {
|
|
73
|
+
logger.trace('[PackageJsonSource] b2c key present but no allowed fields populated');
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
logger.trace({ location: packageJsonPath, fields }, '[PackageJsonSource] Loaded config');
|
|
77
|
+
return { config, location: packageJsonPath };
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
81
|
+
logger.trace({ location: packageJsonPath, error: message }, '[PackageJsonSource] Failed to parse package.json');
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=package-json-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json-source.js","sourceRoot":"","sources":["../../../../src/config/sources/package-json-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,6 +155,18 @@ export interface ConfigLoadResult {
|
|
|
155
155
|
export interface ConfigSource {
|
|
156
156
|
/** Human-readable name for diagnostics */
|
|
157
157
|
name: string;
|
|
158
|
+
/**
|
|
159
|
+
* Priority for source ordering. Lower numbers = higher priority.
|
|
160
|
+
*
|
|
161
|
+
* Recommended ranges:
|
|
162
|
+
* - < 0: Before built-in sources (override defaults)
|
|
163
|
+
* - 0: Built-in sources (DwJsonSource, MobifySource)
|
|
164
|
+
* - 1-999: After built-in sources (fill gaps)
|
|
165
|
+
* - 1000: Lowest priority (PackageJsonSource)
|
|
166
|
+
*
|
|
167
|
+
* @default 0
|
|
168
|
+
*/
|
|
169
|
+
priority?: number;
|
|
158
170
|
/**
|
|
159
171
|
* Load configuration from this source.
|
|
160
172
|
*
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { IdeConfig, IdeType } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* IDE configurations with paths and detection logic.
|
|
4
|
+
*/
|
|
5
|
+
export declare const IDE_CONFIGS: Record<IdeType, IdeConfig>;
|
|
6
|
+
/**
|
|
7
|
+
* All supported IDE types in display order.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ALL_IDE_TYPES: IdeType[];
|
|
10
|
+
/**
|
|
11
|
+
* Detect which IDEs are installed on the system.
|
|
12
|
+
*
|
|
13
|
+
* @returns Array of IDE types that appear to be installed
|
|
14
|
+
*/
|
|
15
|
+
export declare function detectInstalledIdes(): Promise<IdeType[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Get the installation path for a skill.
|
|
18
|
+
*
|
|
19
|
+
* @param ide - Target IDE
|
|
20
|
+
* @param skillName - Name of the skill
|
|
21
|
+
* @param options - Installation options
|
|
22
|
+
* @returns Absolute path where the skill would be installed
|
|
23
|
+
*/
|
|
24
|
+
export declare function getSkillInstallPath(ide: IdeType, skillName: string, options: {
|
|
25
|
+
global: boolean;
|
|
26
|
+
projectRoot?: string;
|
|
27
|
+
}): string;
|
|
28
|
+
/**
|
|
29
|
+
* Get the display name for an IDE.
|
|
30
|
+
*
|
|
31
|
+
* @param ide - IDE type
|
|
32
|
+
* @returns Human-readable display name
|
|
33
|
+
*/
|
|
34
|
+
export declare function getIdeDisplayName(ide: IdeType): string;
|
|
35
|
+
/**
|
|
36
|
+
* Get the documentation URL for an IDE.
|
|
37
|
+
*
|
|
38
|
+
* @param ide - IDE type
|
|
39
|
+
* @returns Documentation URL or undefined if not available
|
|
40
|
+
*/
|
|
41
|
+
export declare function getIdeDocsUrl(ide: IdeType): string | undefined;
|
|
@@ -0,0 +1,159 @@
|
|
|
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
|
+
import * as fs from 'node:fs';
|
|
7
|
+
import * as os from 'node:os';
|
|
8
|
+
import * as path from 'node:path';
|
|
9
|
+
const home = os.homedir();
|
|
10
|
+
/**
|
|
11
|
+
* IDE configurations with paths and detection logic.
|
|
12
|
+
*/
|
|
13
|
+
export const IDE_CONFIGS = {
|
|
14
|
+
'claude-code': {
|
|
15
|
+
id: 'claude-code',
|
|
16
|
+
displayName: 'Claude Code',
|
|
17
|
+
paths: {
|
|
18
|
+
projectDir: '.claude/skills',
|
|
19
|
+
globalDir: path.join(home, '.claude/skills'),
|
|
20
|
+
},
|
|
21
|
+
detectInstalled: async () => {
|
|
22
|
+
return fs.existsSync(path.join(home, '.claude'));
|
|
23
|
+
},
|
|
24
|
+
docsUrl: 'https://docs.anthropic.com/en/docs/claude-code',
|
|
25
|
+
},
|
|
26
|
+
cursor: {
|
|
27
|
+
id: 'cursor',
|
|
28
|
+
displayName: 'Cursor',
|
|
29
|
+
paths: {
|
|
30
|
+
projectDir: '.cursor/skills',
|
|
31
|
+
globalDir: path.join(home, '.cursor/skills'),
|
|
32
|
+
},
|
|
33
|
+
detectInstalled: async () => {
|
|
34
|
+
return fs.existsSync(path.join(home, '.cursor'));
|
|
35
|
+
},
|
|
36
|
+
docsUrl: 'https://cursor.com/docs/context/skills',
|
|
37
|
+
},
|
|
38
|
+
windsurf: {
|
|
39
|
+
id: 'windsurf',
|
|
40
|
+
displayName: 'Windsurf',
|
|
41
|
+
paths: {
|
|
42
|
+
projectDir: '.windsurf/skills',
|
|
43
|
+
globalDir: path.join(home, '.codeium/windsurf/skills'),
|
|
44
|
+
},
|
|
45
|
+
detectInstalled: async () => {
|
|
46
|
+
return fs.existsSync(path.join(home, '.codeium/windsurf'));
|
|
47
|
+
},
|
|
48
|
+
docsUrl: 'https://docs.windsurf.com/',
|
|
49
|
+
},
|
|
50
|
+
vscode: {
|
|
51
|
+
id: 'vscode',
|
|
52
|
+
displayName: 'VS Code / GitHub Copilot',
|
|
53
|
+
paths: {
|
|
54
|
+
projectDir: '.github/skills',
|
|
55
|
+
globalDir: path.join(home, '.copilot/skills'),
|
|
56
|
+
},
|
|
57
|
+
detectInstalled: async () => {
|
|
58
|
+
// Check for either .github directory (project-based) or ~/.copilot
|
|
59
|
+
return fs.existsSync(path.join(home, '.copilot'));
|
|
60
|
+
},
|
|
61
|
+
docsUrl: 'https://code.visualstudio.com/docs/copilot/customization/agent-skills',
|
|
62
|
+
},
|
|
63
|
+
codex: {
|
|
64
|
+
id: 'codex',
|
|
65
|
+
displayName: 'OpenAI Codex CLI',
|
|
66
|
+
paths: {
|
|
67
|
+
projectDir: '.codex/skills',
|
|
68
|
+
globalDir: path.join(home, '.codex/skills'),
|
|
69
|
+
},
|
|
70
|
+
detectInstalled: async () => {
|
|
71
|
+
return fs.existsSync(path.join(home, '.codex'));
|
|
72
|
+
},
|
|
73
|
+
docsUrl: 'https://github.com/openai/codex',
|
|
74
|
+
},
|
|
75
|
+
opencode: {
|
|
76
|
+
id: 'opencode',
|
|
77
|
+
displayName: 'OpenCode',
|
|
78
|
+
paths: {
|
|
79
|
+
projectDir: '.opencode/skills',
|
|
80
|
+
globalDir: path.join(home, '.config/opencode/skills'),
|
|
81
|
+
},
|
|
82
|
+
detectInstalled: async () => {
|
|
83
|
+
return fs.existsSync(path.join(home, '.config/opencode'));
|
|
84
|
+
},
|
|
85
|
+
docsUrl: 'https://opencode.ai/',
|
|
86
|
+
},
|
|
87
|
+
manual: {
|
|
88
|
+
id: 'manual',
|
|
89
|
+
displayName: 'Manual Installation',
|
|
90
|
+
paths: {
|
|
91
|
+
// Manual mode uses same paths as Claude Code
|
|
92
|
+
projectDir: '.claude/skills',
|
|
93
|
+
globalDir: path.join(home, '.claude/skills'),
|
|
94
|
+
},
|
|
95
|
+
detectInstalled: async () => {
|
|
96
|
+
// Manual is always "available" as a fallback
|
|
97
|
+
return true;
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* All supported IDE types in display order.
|
|
103
|
+
*/
|
|
104
|
+
export const ALL_IDE_TYPES = ['claude-code', 'cursor', 'windsurf', 'vscode', 'codex', 'opencode', 'manual'];
|
|
105
|
+
/**
|
|
106
|
+
* Detect which IDEs are installed on the system.
|
|
107
|
+
*
|
|
108
|
+
* @returns Array of IDE types that appear to be installed
|
|
109
|
+
*/
|
|
110
|
+
export async function detectInstalledIdes() {
|
|
111
|
+
const installed = [];
|
|
112
|
+
for (const ideType of ALL_IDE_TYPES) {
|
|
113
|
+
// Skip 'manual' from auto-detection since it's always available
|
|
114
|
+
if (ideType === 'manual') {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
const config = IDE_CONFIGS[ideType];
|
|
118
|
+
const isInstalled = await config.detectInstalled();
|
|
119
|
+
if (isInstalled) {
|
|
120
|
+
installed.push(ideType);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return installed;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get the installation path for a skill.
|
|
127
|
+
*
|
|
128
|
+
* @param ide - Target IDE
|
|
129
|
+
* @param skillName - Name of the skill
|
|
130
|
+
* @param options - Installation options
|
|
131
|
+
* @returns Absolute path where the skill would be installed
|
|
132
|
+
*/
|
|
133
|
+
export function getSkillInstallPath(ide, skillName, options) {
|
|
134
|
+
const config = IDE_CONFIGS[ide];
|
|
135
|
+
if (options.global) {
|
|
136
|
+
return path.join(config.paths.globalDir, skillName);
|
|
137
|
+
}
|
|
138
|
+
const projectRoot = options.projectRoot || process.cwd();
|
|
139
|
+
return path.join(projectRoot, config.paths.projectDir, skillName);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get the display name for an IDE.
|
|
143
|
+
*
|
|
144
|
+
* @param ide - IDE type
|
|
145
|
+
* @returns Human-readable display name
|
|
146
|
+
*/
|
|
147
|
+
export function getIdeDisplayName(ide) {
|
|
148
|
+
return IDE_CONFIGS[ide].displayName;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Get the documentation URL for an IDE.
|
|
152
|
+
*
|
|
153
|
+
* @param ide - IDE type
|
|
154
|
+
* @returns Documentation URL or undefined if not available
|
|
155
|
+
*/
|
|
156
|
+
export function getIdeDocsUrl(ide) {
|
|
157
|
+
return IDE_CONFIGS[ide].docsUrl;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/skills/agents.ts"],"names":[],"mappings":"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"}
|