@peterhauge/apiops-cli 0.1.6-alpha.0 → 0.2.0-alpha.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/LICENSE.md +22 -22
- package/README.md +169 -169
- package/dist/cli/extract-command.d.ts +0 -0
- package/dist/cli/extract-command.d.ts.map +0 -0
- package/dist/cli/extract-command.js +3 -3
- package/dist/cli/extract-command.js.map +1 -1
- package/dist/cli/index.d.ts +0 -0
- package/dist/cli/index.d.ts.map +0 -0
- package/dist/cli/index.js +0 -0
- package/dist/cli/index.js.map +0 -0
- package/dist/cli/init-command.d.ts +0 -0
- package/dist/cli/init-command.d.ts.map +1 -1
- package/dist/cli/init-command.js +2 -1
- package/dist/cli/init-command.js.map +1 -1
- package/dist/cli/publish-command.d.ts +0 -0
- package/dist/cli/publish-command.d.ts.map +0 -0
- package/dist/cli/publish-command.js +3 -3
- package/dist/cli/publish-command.js.map +1 -1
- package/dist/clients/apim-client.d.ts +25 -1
- package/dist/clients/apim-client.d.ts.map +1 -1
- package/dist/clients/apim-client.js +173 -9
- package/dist/clients/apim-client.js.map +1 -1
- package/dist/clients/artifact-store.d.ts +0 -0
- package/dist/clients/artifact-store.d.ts.map +0 -0
- package/dist/clients/artifact-store.js +0 -0
- package/dist/clients/artifact-store.js.map +0 -0
- package/dist/clients/iapim-client.d.ts +6 -0
- package/dist/clients/iapim-client.d.ts.map +1 -1
- package/dist/clients/iapim-client.js +0 -0
- package/dist/clients/iapim-client.js.map +0 -0
- package/dist/clients/iartifact-store.d.ts +0 -0
- package/dist/clients/iartifact-store.d.ts.map +0 -0
- package/dist/clients/iartifact-store.js +0 -0
- package/dist/clients/iartifact-store.js.map +0 -0
- package/dist/lib/auto-generated.d.ts +0 -0
- package/dist/lib/auto-generated.d.ts.map +0 -0
- package/dist/lib/auto-generated.js +0 -0
- package/dist/lib/auto-generated.js.map +0 -0
- package/dist/lib/cloud-config.d.ts +0 -0
- package/dist/lib/cloud-config.d.ts.map +0 -0
- package/dist/lib/cloud-config.js +0 -0
- package/dist/lib/cloud-config.js.map +0 -0
- package/dist/lib/config-loader.d.ts +0 -4
- package/dist/lib/config-loader.d.ts.map +1 -1
- package/dist/lib/config-loader.js +290 -51
- package/dist/lib/config-loader.js.map +1 -1
- package/dist/lib/dependency-graph.d.ts +0 -0
- package/dist/lib/dependency-graph.d.ts.map +1 -1
- package/dist/lib/dependency-graph.js +4 -1
- package/dist/lib/dependency-graph.js.map +1 -1
- package/dist/lib/exit-codes.d.ts +0 -0
- package/dist/lib/exit-codes.d.ts.map +0 -0
- package/dist/lib/exit-codes.js +0 -0
- package/dist/lib/exit-codes.js.map +0 -0
- package/dist/lib/logger.d.ts +0 -0
- package/dist/lib/logger.d.ts.map +0 -0
- package/dist/lib/logger.js +0 -0
- package/dist/lib/logger.js.map +0 -0
- package/dist/lib/parallel-runner.d.ts +0 -0
- package/dist/lib/parallel-runner.d.ts.map +0 -0
- package/dist/lib/parallel-runner.js +0 -0
- package/dist/lib/parallel-runner.js.map +0 -0
- package/dist/lib/resource-path.d.ts +0 -0
- package/dist/lib/resource-path.d.ts.map +1 -1
- package/dist/lib/resource-path.js +49 -10
- package/dist/lib/resource-path.js.map +1 -1
- package/dist/lib/resource-uri.d.ts +0 -0
- package/dist/lib/resource-uri.d.ts.map +1 -1
- package/dist/lib/resource-uri.js +24 -4
- package/dist/lib/resource-uri.js.map +1 -1
- package/dist/lib/user-agent.d.ts +0 -0
- package/dist/lib/user-agent.d.ts.map +0 -0
- package/dist/lib/user-agent.js +0 -0
- package/dist/lib/user-agent.js.map +0 -0
- package/dist/lib/workspace-link.d.ts +46 -0
- package/dist/lib/workspace-link.d.ts.map +1 -0
- package/dist/lib/workspace-link.js +93 -0
- package/dist/lib/workspace-link.js.map +1 -0
- package/dist/models/config.d.ts +80 -44
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +0 -0
- package/dist/models/config.js.map +0 -0
- package/dist/models/resource-types.d.ts +22 -1
- package/dist/models/resource-types.d.ts.map +1 -1
- package/dist/models/resource-types.js +29 -1
- package/dist/models/resource-types.js.map +1 -1
- package/dist/models/types.d.ts +0 -0
- package/dist/models/types.d.ts.map +0 -0
- package/dist/models/types.js +0 -0
- package/dist/models/types.js.map +0 -0
- package/dist/services/api-extractor.d.ts +19 -0
- package/dist/services/api-extractor.d.ts.map +1 -1
- package/dist/services/api-extractor.js +87 -6
- package/dist/services/api-extractor.js.map +1 -1
- package/dist/services/api-publisher.d.ts +0 -0
- package/dist/services/api-publisher.d.ts.map +1 -1
- package/dist/services/api-publisher.js +270 -65
- package/dist/services/api-publisher.js.map +1 -1
- package/dist/services/delete-unmatched-service.d.ts +0 -0
- package/dist/services/delete-unmatched-service.d.ts.map +0 -0
- package/dist/services/delete-unmatched-service.js +0 -0
- package/dist/services/delete-unmatched-service.js.map +0 -0
- package/dist/services/dry-run-reporter.d.ts +0 -0
- package/dist/services/dry-run-reporter.d.ts.map +0 -0
- package/dist/services/dry-run-reporter.js +0 -0
- package/dist/services/dry-run-reporter.js.map +0 -0
- package/dist/services/extract-service.d.ts +0 -0
- package/dist/services/extract-service.d.ts.map +0 -0
- package/dist/services/extract-service.js +5 -10
- package/dist/services/extract-service.js.map +1 -1
- package/dist/services/filter-service.d.ts +1 -0
- package/dist/services/filter-service.d.ts.map +1 -1
- package/dist/services/filter-service.js +101 -40
- package/dist/services/filter-service.js.map +1 -1
- package/dist/services/git-diff-service.d.ts +0 -0
- package/dist/services/git-diff-service.d.ts.map +0 -0
- package/dist/services/git-diff-service.js +0 -0
- package/dist/services/git-diff-service.js.map +0 -0
- package/dist/services/identity-guide-service.d.ts +1 -1
- package/dist/services/identity-guide-service.d.ts.map +1 -1
- package/dist/services/identity-guide-service.js +37 -518
- package/dist/services/identity-guide-service.js.map +1 -1
- package/dist/services/init-service.d.ts +0 -0
- package/dist/services/init-service.d.ts.map +1 -1
- package/dist/services/init-service.js +51 -19
- package/dist/services/init-service.js.map +1 -1
- package/dist/services/keyvault-checker.d.ts +0 -0
- package/dist/services/keyvault-checker.d.ts.map +0 -0
- package/dist/services/keyvault-checker.js +0 -0
- package/dist/services/keyvault-checker.js.map +0 -0
- package/dist/services/override-merger.d.ts +3 -7
- package/dist/services/override-merger.d.ts.map +1 -1
- package/dist/services/override-merger.js +198 -47
- package/dist/services/override-merger.js.map +1 -1
- package/dist/services/product-extractor.d.ts +20 -0
- package/dist/services/product-extractor.d.ts.map +1 -1
- package/dist/services/product-extractor.js +101 -5
- package/dist/services/product-extractor.js.map +1 -1
- package/dist/services/product-publisher.d.ts +0 -0
- package/dist/services/product-publisher.d.ts.map +1 -1
- package/dist/services/product-publisher.js +62 -6
- package/dist/services/product-publisher.js.map +1 -1
- package/dist/services/prompt-service.d.ts +0 -0
- package/dist/services/prompt-service.d.ts.map +0 -0
- package/dist/services/prompt-service.js +0 -0
- package/dist/services/prompt-service.js.map +0 -0
- package/dist/services/publish-service.d.ts +0 -0
- package/dist/services/publish-service.d.ts.map +0 -0
- package/dist/services/publish-service.js +81 -2
- package/dist/services/publish-service.js.map +1 -1
- package/dist/services/resource-extractor.d.ts +0 -0
- package/dist/services/resource-extractor.d.ts.map +1 -1
- package/dist/services/resource-extractor.js +52 -1
- package/dist/services/resource-extractor.js.map +1 -1
- package/dist/services/resource-publisher.d.ts +0 -0
- package/dist/services/resource-publisher.d.ts.map +1 -1
- package/dist/services/resource-publisher.js +127 -2
- package/dist/services/resource-publisher.js.map +1 -1
- package/dist/services/secret-redactor.d.ts +0 -0
- package/dist/services/secret-redactor.d.ts.map +0 -0
- package/dist/services/secret-redactor.js +0 -0
- package/dist/services/secret-redactor.js.map +0 -0
- package/dist/services/transitive-resolver.d.ts +0 -0
- package/dist/services/transitive-resolver.d.ts.map +1 -1
- package/dist/services/transitive-resolver.js +4 -4
- package/dist/services/transitive-resolver.js.map +1 -1
- package/dist/services/workspace-extractor.d.ts +1 -9
- package/dist/services/workspace-extractor.d.ts.map +1 -1
- package/dist/services/workspace-extractor.js +80 -44
- package/dist/services/workspace-extractor.js.map +1 -1
- package/dist/templates/azure-devops/extract-pipeline.d.ts +2 -1
- package/dist/templates/azure-devops/extract-pipeline.d.ts.map +1 -1
- package/dist/templates/azure-devops/extract-pipeline.js +147 -88
- package/dist/templates/azure-devops/extract-pipeline.js.map +1 -1
- package/dist/templates/azure-devops/publish-pipeline.d.ts +0 -0
- package/dist/templates/azure-devops/publish-pipeline.d.ts.map +1 -1
- package/dist/templates/azure-devops/publish-pipeline.js +116 -89
- package/dist/templates/azure-devops/publish-pipeline.js.map +1 -1
- package/dist/templates/configs/filter-config.d.ts +1 -1
- package/dist/templates/configs/filter-config.d.ts.map +1 -1
- package/dist/templates/configs/filter-config.js +109 -44
- package/dist/templates/configs/filter-config.js.map +1 -1
- package/dist/templates/configs/override-config.d.ts +0 -0
- package/dist/templates/configs/override-config.d.ts.map +1 -1
- package/dist/templates/configs/override-config.js +88 -37
- package/dist/templates/configs/override-config.js.map +1 -1
- package/dist/templates/configs/package-json.d.ts +0 -0
- package/dist/templates/configs/package-json.d.ts.map +0 -0
- package/dist/templates/configs/package-json.js +0 -0
- package/dist/templates/configs/package-json.js.map +0 -0
- package/dist/templates/copilot/identity-setup-prompt.d.ts +4 -3
- package/dist/templates/copilot/identity-setup-prompt.d.ts.map +1 -1
- package/dist/templates/copilot/identity-setup-prompt.js +59 -269
- package/dist/templates/copilot/identity-setup-prompt.js.map +1 -1
- package/dist/templates/generated/embedded-markdown.d.ts +12 -0
- package/dist/templates/generated/embedded-markdown.d.ts.map +1 -0
- package/dist/templates/generated/embedded-markdown.js +14 -0
- package/dist/templates/generated/embedded-markdown.js.map +1 -0
- package/dist/templates/github-actions/extract-workflow.d.ts +0 -0
- package/dist/templates/github-actions/extract-workflow.d.ts.map +0 -0
- package/dist/templates/github-actions/extract-workflow.js +118 -118
- package/dist/templates/github-actions/extract-workflow.js.map +0 -0
- package/dist/templates/github-actions/publish-workflow.d.ts +0 -0
- package/dist/templates/github-actions/publish-workflow.d.ts.map +1 -1
- package/dist/templates/github-actions/publish-workflow.js +104 -90
- package/dist/templates/github-actions/publish-workflow.js.map +1 -1
- package/package.json +69 -66
|
@@ -112,6 +112,7 @@ class InitServiceImpl {
|
|
|
112
112
|
const extractPipeline = path.join(config.outputDir, '.azdo/pipelines/run-apim-extractor.yml');
|
|
113
113
|
const publishPipeline = path.join(config.outputDir, '.azdo/pipelines/run-apim-publisher.yml');
|
|
114
114
|
const identityGuide = path.join(config.outputDir, 'IDENTITY-SETUP-AZDO.md');
|
|
115
|
+
const promptFile = path.join(config.outputDir, '.github/prompts/apiops-setup-identity.prompt.md');
|
|
115
116
|
if (await this.fileExists(extractPipeline)) {
|
|
116
117
|
conflictingFiles.push(extractPipeline);
|
|
117
118
|
}
|
|
@@ -121,14 +122,12 @@ class InitServiceImpl {
|
|
|
121
122
|
if (await this.fileExists(identityGuide)) {
|
|
122
123
|
conflictingFiles.push(identityGuide);
|
|
123
124
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (await this.fileExists(packageJsonPath)) {
|
|
128
|
-
conflictingFiles.push(packageJsonPath);
|
|
125
|
+
if (await this.fileExists(promptFile)) {
|
|
126
|
+
conflictingFiles.push(promptFile);
|
|
127
|
+
}
|
|
129
128
|
}
|
|
130
129
|
// Check for config files
|
|
131
|
-
const filterConfig = path.join(config.outputDir, 'configuration.
|
|
130
|
+
const filterConfig = path.join(config.outputDir, 'configuration.extractor.yaml');
|
|
132
131
|
if (await this.fileExists(filterConfig)) {
|
|
133
132
|
conflictingFiles.push(filterConfig);
|
|
134
133
|
}
|
|
@@ -189,7 +188,7 @@ class InitServiceImpl {
|
|
|
189
188
|
packageJsonContent = generatePackageJson({ mode: 'npm' });
|
|
190
189
|
}
|
|
191
190
|
const packageJsonPath = path.join(config.outputDir, 'package.json');
|
|
192
|
-
await
|
|
191
|
+
await this.writeOrMergePackageJson(packageJsonPath, packageJsonContent);
|
|
193
192
|
generatedFiles.configs.push('package.json');
|
|
194
193
|
// Generate pipeline files
|
|
195
194
|
if (config.ciProvider === 'github-actions') {
|
|
@@ -225,15 +224,7 @@ class InitServiceImpl {
|
|
|
225
224
|
const publishPath = path.join(workflowsDir, 'run-apim-publisher.yml');
|
|
226
225
|
await fs.writeFile(publishPath, publishContent);
|
|
227
226
|
generatedFiles.pipelines.push('.github/workflows/run-apim-publisher.yml');
|
|
228
|
-
|
|
229
|
-
const promptContent = generateIdentitySetupPrompt({
|
|
230
|
-
environments: config.environments,
|
|
231
|
-
});
|
|
232
|
-
const promptsDir = path.join(config.outputDir, '.github/prompts');
|
|
233
|
-
await fs.mkdir(promptsDir, { recursive: true });
|
|
234
|
-
const promptPath = path.join(promptsDir, 'apiops-setup-identity.prompt.md');
|
|
235
|
-
await fs.writeFile(promptPath, promptContent);
|
|
236
|
-
generatedFiles.configs.push('.github/prompts/apiops-setup-identity.prompt.md');
|
|
227
|
+
await this.generateCopilotIdentitySetupPrompt(config, generatedFiles);
|
|
237
228
|
}
|
|
238
229
|
/**
|
|
239
230
|
* Generate Azure DevOps pipeline files
|
|
@@ -244,6 +235,7 @@ class InitServiceImpl {
|
|
|
244
235
|
// Extract pipeline
|
|
245
236
|
const extractPipelineConfig = {
|
|
246
237
|
artifactDir: config.artifactDir,
|
|
238
|
+
environments: config.environments,
|
|
247
239
|
};
|
|
248
240
|
const extractContent = generateExtractPipeline(extractPipelineConfig);
|
|
249
241
|
const extractPath = path.join(pipelinesDir, 'run-apim-extractor.yml');
|
|
@@ -258,6 +250,18 @@ class InitServiceImpl {
|
|
|
258
250
|
const publishPath = path.join(pipelinesDir, 'run-apim-publisher.yml');
|
|
259
251
|
await fs.writeFile(publishPath, publishContent);
|
|
260
252
|
generatedFiles.pipelines.push('.azdo/pipelines/run-apim-publisher.yml');
|
|
253
|
+
await this.generateCopilotIdentitySetupPrompt(config, generatedFiles);
|
|
254
|
+
}
|
|
255
|
+
async generateCopilotIdentitySetupPrompt(config, generatedFiles) {
|
|
256
|
+
const promptContent = generateIdentitySetupPrompt({
|
|
257
|
+
environments: config.environments,
|
|
258
|
+
ciProvider: config.ciProvider,
|
|
259
|
+
});
|
|
260
|
+
const promptsDir = path.join(config.outputDir, '.github/prompts');
|
|
261
|
+
await fs.mkdir(promptsDir, { recursive: true });
|
|
262
|
+
const promptPath = path.join(promptsDir, 'apiops-setup-identity.prompt.md');
|
|
263
|
+
await fs.writeFile(promptPath, promptContent);
|
|
264
|
+
generatedFiles.configs.push('.github/prompts/apiops-setup-identity.prompt.md');
|
|
261
265
|
}
|
|
262
266
|
/**
|
|
263
267
|
* Generate configuration files
|
|
@@ -265,9 +269,9 @@ class InitServiceImpl {
|
|
|
265
269
|
async generateConfigFiles(config, generatedFiles) {
|
|
266
270
|
// Filter config
|
|
267
271
|
const filterContent = generateFilterConfig();
|
|
268
|
-
const filterPath = path.join(config.outputDir, 'configuration.
|
|
272
|
+
const filterPath = path.join(config.outputDir, 'configuration.extractor.yaml');
|
|
269
273
|
await fs.writeFile(filterPath, filterContent);
|
|
270
|
-
generatedFiles.configs.push('configuration.
|
|
274
|
+
generatedFiles.configs.push('configuration.extractor.yaml');
|
|
271
275
|
// Override configs for each environment
|
|
272
276
|
for (const env of config.environments) {
|
|
273
277
|
const overrideContent = generateOverrideConfig(env);
|
|
@@ -288,7 +292,7 @@ class InitServiceImpl {
|
|
|
288
292
|
guide = identityGuideService.generateGitHubActionsGuide(subscriptionId, resourceGroup, config.environments);
|
|
289
293
|
}
|
|
290
294
|
else {
|
|
291
|
-
guide = identityGuideService.generateAzureDevOpsGuide(
|
|
295
|
+
guide = identityGuideService.generateAzureDevOpsGuide(config.environments);
|
|
292
296
|
}
|
|
293
297
|
// Save guide to file
|
|
294
298
|
const guideFileName = config.ciProvider === 'github-actions'
|
|
@@ -310,6 +314,34 @@ class InitServiceImpl {
|
|
|
310
314
|
return false;
|
|
311
315
|
}
|
|
312
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* Write package.json if missing, otherwise merge APIOps dependency into existing content.
|
|
319
|
+
*/
|
|
320
|
+
async writeOrMergePackageJson(packageJsonPath, generatedPackageJsonContent) {
|
|
321
|
+
const generatedPkg = JSON.parse(generatedPackageJsonContent);
|
|
322
|
+
if (!await this.fileExists(packageJsonPath)) {
|
|
323
|
+
await fs.writeFile(packageJsonPath, generatedPackageJsonContent);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const existingRaw = await fs.readFile(packageJsonPath, 'utf8');
|
|
327
|
+
let existingPkg;
|
|
328
|
+
try {
|
|
329
|
+
existingPkg = JSON.parse(existingRaw);
|
|
330
|
+
}
|
|
331
|
+
catch {
|
|
332
|
+
throw new Error(`Existing package.json is not valid JSON: ${packageJsonPath}`);
|
|
333
|
+
}
|
|
334
|
+
const existingDeps = (typeof existingPkg.dependencies === 'object' &&
|
|
335
|
+
existingPkg.dependencies !== null
|
|
336
|
+
? existingPkg.dependencies
|
|
337
|
+
: {});
|
|
338
|
+
const generatedDeps = generatedPkg.dependencies ?? {};
|
|
339
|
+
existingPkg.dependencies = {
|
|
340
|
+
...existingDeps,
|
|
341
|
+
...generatedDeps,
|
|
342
|
+
};
|
|
343
|
+
await fs.writeFile(packageJsonPath, `${JSON.stringify(existingPkg, null, 2)}\n`);
|
|
344
|
+
}
|
|
313
345
|
}
|
|
314
346
|
export const initService = new InitServiceImpl();
|
|
315
347
|
//# sourceMappingURL=init-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-service.js","sourceRoot":"","sources":["../../src/services/init-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init-service.js","sourceRoot":"","sources":["../../src/services/init-service.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* T033: Override merger service
|
|
3
3
|
* Apply environment-specific overrides from OverrideConfig to resource JSON payloads.
|
|
4
|
-
* Deep-merges with case-insensitive key matching;
|
|
4
|
+
* Deep-merges with case-insensitive key matching; supports nested sub-resource overrides.
|
|
5
|
+
* Handles all Toolkit override sections with generic property passthrough.
|
|
5
6
|
*/
|
|
6
7
|
import { ResourceDescriptor } from '../models/types.js';
|
|
7
8
|
import { OverrideConfig } from '../models/config.js';
|
|
8
9
|
/**
|
|
9
10
|
* Apply environment overrides from OverrideConfig to a resource JSON payload.
|
|
10
11
|
* Deep-merges matching override properties using case-insensitive key matching.
|
|
11
|
-
*
|
|
12
|
+
* Supports both direct overrides and nested sub-resource overrides.
|
|
12
13
|
* Returns a new object (does not mutate input).
|
|
13
|
-
*
|
|
14
|
-
* @param descriptor - Resource descriptor (type + name identify the resource)
|
|
15
|
-
* @param json - Original resource JSON payload
|
|
16
|
-
* @param overrides - Environment-specific override configuration
|
|
17
|
-
* @returns New JSON object with overrides applied
|
|
18
14
|
*/
|
|
19
15
|
export declare function applyOverrides(descriptor: ResourceDescriptor, json: Record<string, unknown>, overrides: OverrideConfig | undefined): Record<string, unknown>;
|
|
20
16
|
//# sourceMappingURL=override-merger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"override-merger.d.ts","sourceRoot":"","sources":["../../src/services/override-merger.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"override-merger.d.ts","sourceRoot":"","sources":["../../src/services/override-merger.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAkC,MAAM,qBAAqB,CAAC;AAiDrF;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,cAAc,GAAG,SAAS,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BzB"}
|
|
@@ -3,67 +3,227 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* T033: Override merger service
|
|
5
5
|
* Apply environment-specific overrides from OverrideConfig to resource JSON payloads.
|
|
6
|
-
* Deep-merges with case-insensitive key matching;
|
|
6
|
+
* Deep-merges with case-insensitive key matching; supports nested sub-resource overrides.
|
|
7
|
+
* Handles all Toolkit override sections with generic property passthrough.
|
|
7
8
|
*/
|
|
8
|
-
import { ResourceType } from '../models/resource-types.js';
|
|
9
|
+
import { ResourceType, RESOURCE_TYPE_METADATA } from '../models/resource-types.js';
|
|
9
10
|
import { logger } from '../lib/logger.js';
|
|
10
|
-
import { getNameFromNameParts } from '../lib/resource-path.js';
|
|
11
|
+
import { getNameFromNameParts, isSingletonType } from '../lib/resource-path.js';
|
|
12
|
+
/**
|
|
13
|
+
* Map resource types to their top-level override config section key.
|
|
14
|
+
*/
|
|
15
|
+
const OVERRIDE_SECTION_MAP = {
|
|
16
|
+
[ResourceType.NamedValue]: 'namedValues',
|
|
17
|
+
[ResourceType.Backend]: 'backends',
|
|
18
|
+
[ResourceType.Api]: 'apis',
|
|
19
|
+
[ResourceType.Diagnostic]: 'diagnostics',
|
|
20
|
+
[ResourceType.Logger]: 'loggers',
|
|
21
|
+
[ResourceType.ServicePolicy]: 'policies',
|
|
22
|
+
[ResourceType.Gateway]: 'gateways',
|
|
23
|
+
[ResourceType.VersionSet]: 'versionSets',
|
|
24
|
+
[ResourceType.Group]: 'groups',
|
|
25
|
+
[ResourceType.Subscription]: 'subscriptions',
|
|
26
|
+
[ResourceType.Product]: 'products',
|
|
27
|
+
[ResourceType.Tag]: 'tags',
|
|
28
|
+
[ResourceType.PolicyFragment]: 'policyFragments',
|
|
29
|
+
[ResourceType.Workspace]: 'workspaces',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Map child resource types to their parent section and child key within the parent's children.
|
|
33
|
+
* Used for nested override lookup (e.g., ApiDiagnostic → apis.children.diagnostics).
|
|
34
|
+
* `namePartIndex` indicates which name part identifies the child (default: 1).
|
|
35
|
+
*/
|
|
36
|
+
const CHILD_OVERRIDE_MAP = {
|
|
37
|
+
[ResourceType.ApiDiagnostic]: { parentSection: 'apis', childKey: 'diagnostics' },
|
|
38
|
+
[ResourceType.ApiOperation]: { parentSection: 'apis', childKey: 'operations' },
|
|
39
|
+
[ResourceType.ApiPolicy]: { parentSection: 'apis', childKey: 'policies' },
|
|
40
|
+
[ResourceType.ApiRelease]: { parentSection: 'apis', childKey: 'releases' },
|
|
41
|
+
[ResourceType.ProductPolicy]: { parentSection: 'products', childKey: 'policies' },
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Map grandchild resource types for 3-level override lookup.
|
|
45
|
+
* E.g., ApiOperationPolicy → apis.children.operations[op].children.policies[policy]
|
|
46
|
+
*/
|
|
47
|
+
const GRANDCHILD_OVERRIDE_MAP = {
|
|
48
|
+
[ResourceType.ApiOperationPolicy]: { parentSection: 'apis', childKey: 'operations', grandchildKey: 'policies' },
|
|
49
|
+
};
|
|
11
50
|
/**
|
|
12
51
|
* Apply environment overrides from OverrideConfig to a resource JSON payload.
|
|
13
52
|
* Deep-merges matching override properties using case-insensitive key matching.
|
|
14
|
-
*
|
|
53
|
+
* Supports both direct overrides and nested sub-resource overrides.
|
|
15
54
|
* Returns a new object (does not mutate input).
|
|
16
|
-
*
|
|
17
|
-
* @param descriptor - Resource descriptor (type + name identify the resource)
|
|
18
|
-
* @param json - Original resource JSON payload
|
|
19
|
-
* @param overrides - Environment-specific override configuration
|
|
20
|
-
* @returns New JSON object with overrides applied
|
|
21
55
|
*/
|
|
22
56
|
export function applyOverrides(descriptor, json, overrides) {
|
|
23
57
|
if (!overrides) {
|
|
24
58
|
return { ...json };
|
|
25
59
|
}
|
|
26
|
-
//
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
|
|
60
|
+
// Try direct override lookup first
|
|
61
|
+
const directSection = OVERRIDE_SECTION_MAP[descriptor.type];
|
|
62
|
+
if (directSection) {
|
|
63
|
+
const section = overrides[directSection];
|
|
64
|
+
if (!section)
|
|
65
|
+
return { ...json };
|
|
66
|
+
return applyFromSection(descriptor, json, section);
|
|
67
|
+
}
|
|
68
|
+
// Try nested child override lookup
|
|
69
|
+
const childMapping = CHILD_OVERRIDE_MAP[descriptor.type];
|
|
70
|
+
if (childMapping) {
|
|
71
|
+
return applyNestedOverride(descriptor, json, overrides, childMapping);
|
|
30
72
|
}
|
|
31
|
-
//
|
|
32
|
-
const
|
|
33
|
-
if (
|
|
73
|
+
// Try grandchild (3-level) override lookup
|
|
74
|
+
const grandchildMapping = GRANDCHILD_OVERRIDE_MAP[descriptor.type];
|
|
75
|
+
if (grandchildMapping) {
|
|
76
|
+
return applyGrandchildOverride(descriptor, json, overrides, grandchildMapping);
|
|
77
|
+
}
|
|
78
|
+
return { ...json };
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Apply override from a direct section match.
|
|
82
|
+
* For singleton resources (e.g., ServicePolicy with nameParts: []),
|
|
83
|
+
* uses the fixed singleton name from the ARM path (e.g., "policy").
|
|
84
|
+
*/
|
|
85
|
+
function applyFromSection(descriptor, json, section) {
|
|
86
|
+
const resourceName = getSingletonOrNamePartName(descriptor);
|
|
87
|
+
const entry = findEntryByName(section, resourceName);
|
|
88
|
+
if (!entry) {
|
|
34
89
|
return { ...json };
|
|
35
90
|
}
|
|
36
|
-
|
|
37
|
-
if (overrideValues === null || overrideValues === undefined || typeof overrideValues !== 'object') {
|
|
91
|
+
if (Object.keys(entry.properties).length === 0) {
|
|
38
92
|
return { ...json };
|
|
39
93
|
}
|
|
40
94
|
// ARM resources have all overridable fields inside 'properties'
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
//
|
|
95
|
+
let overrideProperties = entry.properties;
|
|
96
|
+
// Strip apiRevision and isCurrent from API overrides — matches Toolkit behavior.
|
|
97
|
+
// These fields should not be overridden per environment.
|
|
98
|
+
if (descriptor.type === ResourceType.Api) {
|
|
99
|
+
const { apiRevision, isCurrent, ...rest } = overrideProperties;
|
|
100
|
+
if (apiRevision !== undefined || isCurrent !== undefined) {
|
|
101
|
+
logger.warn(`Ignoring 'apiRevision' and/or 'isCurrent' in API override for '${resourceName}'; ` +
|
|
102
|
+
`these fields cannot be overridden (matching Toolkit behavior).`);
|
|
103
|
+
}
|
|
104
|
+
overrideProperties = rest;
|
|
105
|
+
if (Object.keys(overrideProperties).length === 0) {
|
|
106
|
+
return { ...json };
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const wrappedOverride = { properties: overrideProperties };
|
|
44
110
|
const result = deepMerge(json, wrappedOverride);
|
|
45
|
-
logger.debug(`Applied overrides to ${descriptor.type} '${descriptor.nameParts.join('/')}'`, { overrideKeys: Object.keys(
|
|
111
|
+
logger.debug(`Applied overrides to ${descriptor.type} '${descriptor.nameParts.join('/')}'`, { overrideKeys: Object.keys(entry.properties) });
|
|
46
112
|
return result;
|
|
47
113
|
}
|
|
48
114
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
115
|
+
* Apply nested child override (e.g., ApiDiagnostic under apis.children.diagnostics).
|
|
116
|
+
*
|
|
117
|
+
* nameParts layout varies by resource type:
|
|
118
|
+
* - Named children (ApiDiagnostic, ApiOperation, ApiRelease): [parentName, childName]
|
|
119
|
+
* - Singleton children (ApiPolicy, ProductPolicy): [parentName] (child name is always "policy")
|
|
51
120
|
*/
|
|
52
|
-
function
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
121
|
+
function applyNestedOverride(descriptor, json, overrides, mapping) {
|
|
122
|
+
const parentSection = overrides[mapping.parentSection];
|
|
123
|
+
if (!parentSection)
|
|
124
|
+
return { ...json };
|
|
125
|
+
const parentName = descriptor.nameParts[0];
|
|
126
|
+
if (!parentName)
|
|
127
|
+
return { ...json };
|
|
128
|
+
const parentEntry = findEntryByName(parentSection, parentName);
|
|
129
|
+
if (!parentEntry?.children)
|
|
130
|
+
return { ...json };
|
|
131
|
+
const childSection = parentEntry.children[mapping.childKey];
|
|
132
|
+
if (!childSection)
|
|
133
|
+
return { ...json };
|
|
134
|
+
// For singleton children (e.g., ApiPolicy), the name is fixed (e.g., "policy"),
|
|
135
|
+
// NOT in nameParts. For named children, it's nameParts[1].
|
|
136
|
+
const childName = isSingletonType(descriptor.type)
|
|
137
|
+
? getSingletonName(descriptor.type)
|
|
138
|
+
: descriptor.nameParts[1];
|
|
139
|
+
if (!childName)
|
|
140
|
+
return { ...json };
|
|
141
|
+
const childEntry = findEntryByName(childSection, childName);
|
|
142
|
+
if (!childEntry || Object.keys(childEntry.properties).length === 0) {
|
|
143
|
+
return { ...json };
|
|
66
144
|
}
|
|
145
|
+
const wrappedOverride = { properties: childEntry.properties };
|
|
146
|
+
const result = deepMerge(json, wrappedOverride);
|
|
147
|
+
logger.debug(`Applied nested overrides to ${descriptor.type} '${descriptor.nameParts.join('/')}'`, { overrideKeys: Object.keys(childEntry.properties) });
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Apply grandchild (3-level) override.
|
|
152
|
+
* E.g., ApiOperationPolicy: apis[apiName].children.operations[opName].children.policies[policy]
|
|
153
|
+
*
|
|
154
|
+
* nameParts layout for ApiOperationPolicy: [apiName, operationName]
|
|
155
|
+
* The grandchild name is always the fixed singleton name (e.g., "policy").
|
|
156
|
+
*/
|
|
157
|
+
function applyGrandchildOverride(descriptor, json, overrides, mapping) {
|
|
158
|
+
const parentSection = overrides[mapping.parentSection];
|
|
159
|
+
if (!parentSection)
|
|
160
|
+
return { ...json };
|
|
161
|
+
const parentName = descriptor.nameParts[0];
|
|
162
|
+
if (!parentName)
|
|
163
|
+
return { ...json };
|
|
164
|
+
const parentEntry = findEntryByName(parentSection, parentName);
|
|
165
|
+
if (!parentEntry?.children)
|
|
166
|
+
return { ...json };
|
|
167
|
+
const childSection = parentEntry.children[mapping.childKey];
|
|
168
|
+
if (!childSection)
|
|
169
|
+
return { ...json };
|
|
170
|
+
const childName = descriptor.nameParts[1];
|
|
171
|
+
if (!childName)
|
|
172
|
+
return { ...json };
|
|
173
|
+
const childEntry = findEntryByName(childSection, childName);
|
|
174
|
+
if (!childEntry?.children)
|
|
175
|
+
return { ...json };
|
|
176
|
+
const grandchildSection = childEntry.children[mapping.grandchildKey];
|
|
177
|
+
if (!grandchildSection)
|
|
178
|
+
return { ...json };
|
|
179
|
+
// Grandchild is always a singleton (e.g., "policy") — name is NOT in nameParts
|
|
180
|
+
const grandchildName = getSingletonName(descriptor.type);
|
|
181
|
+
if (!grandchildName)
|
|
182
|
+
return { ...json };
|
|
183
|
+
const grandchildEntry = findEntryByName(grandchildSection, grandchildName);
|
|
184
|
+
if (!grandchildEntry || Object.keys(grandchildEntry.properties).length === 0) {
|
|
185
|
+
return { ...json };
|
|
186
|
+
}
|
|
187
|
+
const wrappedOverride = { properties: grandchildEntry.properties };
|
|
188
|
+
const result = deepMerge(json, wrappedOverride);
|
|
189
|
+
logger.debug(`Applied grandchild overrides to ${descriptor.type} '${descriptor.nameParts.join('/')}'`, { overrideKeys: Object.keys(grandchildEntry.properties) });
|
|
190
|
+
return result;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Get the resource name for override lookup, handling singletons correctly.
|
|
194
|
+
* - Top-level singletons (ServicePolicy with nameParts: []) use the fixed singleton name
|
|
195
|
+
* - Named resources use the last element of nameParts
|
|
196
|
+
*/
|
|
197
|
+
function getSingletonOrNamePartName(descriptor) {
|
|
198
|
+
if (descriptor.nameParts.length === 0) {
|
|
199
|
+
// Top-level singleton (e.g., ServicePolicy)
|
|
200
|
+
const name = getSingletonName(descriptor.type);
|
|
201
|
+
if (!name) {
|
|
202
|
+
throw new RangeError(`getSingletonOrNamePartName: ${descriptor.type} has empty nameParts ` +
|
|
203
|
+
`but no known singleton name`);
|
|
204
|
+
}
|
|
205
|
+
return name;
|
|
206
|
+
}
|
|
207
|
+
return getNameFromNameParts(descriptor.nameParts);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Get the fixed singleton name for a resource type from its ARM path.
|
|
211
|
+
* E.g., ServicePolicy → "policy", ApiPolicy → "policy", ApiWiki → "default"
|
|
212
|
+
* Returns undefined if the resource type is not a singleton.
|
|
213
|
+
*/
|
|
214
|
+
function getSingletonName(type) {
|
|
215
|
+
if (!isSingletonType(type))
|
|
216
|
+
return undefined;
|
|
217
|
+
const meta = RESOURCE_TYPE_METADATA[type];
|
|
218
|
+
return meta.armPathSuffix.split('/').pop();
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Find an override entry by name using case-insensitive matching.
|
|
222
|
+
*/
|
|
223
|
+
function findEntryByName(section, name) {
|
|
224
|
+
const lowerName = name.toLowerCase();
|
|
225
|
+
const matchingKey = Object.keys(section).find((key) => key.toLowerCase() === lowerName);
|
|
226
|
+
return matchingKey ? section[matchingKey] : undefined;
|
|
67
227
|
}
|
|
68
228
|
/**
|
|
69
229
|
* Deep-merge two objects recursively.
|
|
@@ -71,30 +231,21 @@ function getOverrideSectionForType(type, overrides) {
|
|
|
71
231
|
* - Arrays are replaced (not merged)
|
|
72
232
|
* - Primitives from source override target
|
|
73
233
|
* - Returns a new object (immutable)
|
|
74
|
-
*
|
|
75
|
-
* @param target - Base object
|
|
76
|
-
* @param source - Override object
|
|
77
|
-
* @returns New merged object
|
|
78
234
|
*/
|
|
79
235
|
function deepMerge(target, source) {
|
|
80
236
|
const result = { ...target };
|
|
81
237
|
for (const [key, sourceValue] of Object.entries(source)) {
|
|
82
238
|
const targetValue = result[key];
|
|
83
|
-
// If both are plain objects, merge recursively
|
|
84
239
|
if (isPlainObject(sourceValue) &&
|
|
85
240
|
isPlainObject(targetValue)) {
|
|
86
241
|
result[key] = deepMerge(targetValue, sourceValue);
|
|
87
242
|
}
|
|
88
243
|
else {
|
|
89
|
-
// Otherwise replace (arrays, primitives, or type mismatch)
|
|
90
244
|
result[key] = sourceValue;
|
|
91
245
|
}
|
|
92
246
|
}
|
|
93
247
|
return result;
|
|
94
248
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Check if a value is a plain object (not an array, null, or other special object).
|
|
97
|
-
*/
|
|
98
249
|
function isPlainObject(value) {
|
|
99
250
|
return (typeof value === 'object' &&
|
|
100
251
|
value !== null &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"override-merger.js","sourceRoot":"","sources":["../../src/services/override-merger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC
|
|
1
|
+
{"version":3,"file":"override-merger.js","sourceRoot":"","sources":["../../src/services/override-merger.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,4 +23,24 @@ export interface ProductExtractionResult {
|
|
|
23
23
|
* This includes API associations, group associations, policies, and wikis.
|
|
24
24
|
*/
|
|
25
25
|
export declare function extractProductResources(client: IApimClient, store: IArtifactStore, context: ApimServiceContext, productDescriptor: ResourceDescriptor, outputDir: string, _filter?: FilterConfig, _workspace?: string): Promise<ProductExtractionResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Extract product tag associations in workspace scope using the tag-centric
|
|
28
|
+
* `tags/{tag}/productLinks` endpoint.
|
|
29
|
+
*
|
|
30
|
+
* In workspace scope the classic `products/{product}/tags` endpoint is
|
|
31
|
+
* undocumented and at risk of future removal. Instead, tag-to-product
|
|
32
|
+
* associations are exposed via each tag's `productLinks` collection.
|
|
33
|
+
*
|
|
34
|
+
* @param client - APIM REST client
|
|
35
|
+
* @param store - Artifact file store
|
|
36
|
+
* @param context - Workspace-scoped APIM context
|
|
37
|
+
* @param extractedTagNames - Tag names already extracted for this workspace
|
|
38
|
+
* @param extractedProducts - Extracted product descriptors
|
|
39
|
+
* @param outputDir - Output directory
|
|
40
|
+
* @param workspace - Workspace name
|
|
41
|
+
* @returns Number of product-tag associations discovered
|
|
42
|
+
*/
|
|
43
|
+
export declare function extractWorkspaceProductTags(client: IApimClient, store: IArtifactStore, context: ApimServiceContext, extractedTagNames: string[], extractedProducts: Array<{
|
|
44
|
+
descriptor: ResourceDescriptor;
|
|
45
|
+
}>, outputDir: string, _workspace: string): Promise<number>;
|
|
26
46
|
//# sourceMappingURL=product-extractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-extractor.d.ts","sourceRoot":"","sources":["../../src/services/product-extractor.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"product-extractor.d.ts","sourceRoot":"","sources":["../../src/services/product-extractor.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,iBAAiB,EAAE,kBAAkB,EACrC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CA8ClC;AAyKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,kBAAkB,CAAA;CAAE,CAAC,EAC5D,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAgDjB"}
|