@peterhauge/apiops-cli 0.1.7-alpha.0 → 0.2.1-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/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/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/iapim-client.d.ts +6 -0
- package/dist/clients/iapim-client.d.ts.map +1 -1
- 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/resource-path.d.ts.map +1 -1
- package/dist/lib/resource-path.js +20 -2
- package/dist/lib/resource-path.js.map +1 -1
- 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/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/resource-types.d.ts +14 -1
- package/dist/models/resource-types.d.ts.map +1 -1
- package/dist/models/resource-types.js +11 -3
- package/dist/models/resource-types.js.map +1 -1
- 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.map +1 -1
- package/dist/services/api-publisher.js +251 -60
- package/dist/services/api-publisher.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/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.map +1 -1
- package/dist/services/init-service.js +51 -19
- package/dist/services/init-service.js.map +1 -1
- 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.map +1 -1
- package/dist/services/product-publisher.js +23 -6
- package/dist/services/product-publisher.js.map +1 -1
- package/dist/services/publish-service.d.ts.map +1 -1
- package/dist/services/publish-service.js +55 -7
- package/dist/services/publish-service.js.map +1 -1
- package/dist/services/resource-extractor.d.ts.map +1 -1
- package/dist/services/resource-extractor.js +1 -52
- package/dist/services/resource-extractor.js.map +1 -1
- package/dist/services/resource-publisher.d.ts.map +1 -1
- package/dist/services/resource-publisher.js +179 -2
- package/dist/services/resource-publisher.js.map +1 -1
- 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.map +1 -1
- package/dist/services/workspace-extractor.js +50 -7
- 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.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.map +1 -1
- package/dist/templates/configs/override-config.js +90 -37
- package/dist/templates/configs/override-config.js.map +1 -1
- 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.js +118 -118
- 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
|
@@ -5,51 +5,63 @@
|
|
|
5
5
|
* Load FilterConfig, apply inclusive allowlist per resource type,
|
|
6
6
|
* case-insensitive matching, API root-name matching for revisions.
|
|
7
7
|
*/
|
|
8
|
-
import { ResourceType } from '../models/resource-types.js';
|
|
8
|
+
import { ResourceType, RESOURCE_TYPE_METADATA } from '../models/resource-types.js';
|
|
9
9
|
import { logger } from '../lib/logger.js';
|
|
10
10
|
import { getNamePart } from '../lib/resource-path.js';
|
|
11
11
|
/**
|
|
12
12
|
* Map resource types to their corresponding FilterConfig field names.
|
|
13
13
|
*/
|
|
14
14
|
const FILTER_FIELD_MAP = {
|
|
15
|
-
[ResourceType.Api]: '
|
|
16
|
-
[ResourceType.Backend]: '
|
|
17
|
-
[ResourceType.Product]: '
|
|
18
|
-
[ResourceType.NamedValue]: '
|
|
19
|
-
[ResourceType.Logger]: '
|
|
20
|
-
[ResourceType.Diagnostic]: '
|
|
21
|
-
[ResourceType.Tag]: '
|
|
22
|
-
[ResourceType.PolicyFragment]: '
|
|
23
|
-
[ResourceType.Gateway]: '
|
|
24
|
-
[ResourceType.VersionSet]: '
|
|
25
|
-
[ResourceType.Group]: '
|
|
26
|
-
[ResourceType.Subscription]: '
|
|
27
|
-
[ResourceType.GlobalSchema]: '
|
|
28
|
-
[ResourceType.
|
|
29
|
-
[ResourceType.
|
|
15
|
+
[ResourceType.Api]: 'apis',
|
|
16
|
+
[ResourceType.Backend]: 'backends',
|
|
17
|
+
[ResourceType.Product]: 'products',
|
|
18
|
+
[ResourceType.NamedValue]: 'namedValues',
|
|
19
|
+
[ResourceType.Logger]: 'loggers',
|
|
20
|
+
[ResourceType.Diagnostic]: 'diagnostics',
|
|
21
|
+
[ResourceType.Tag]: 'tags',
|
|
22
|
+
[ResourceType.PolicyFragment]: 'policyFragments',
|
|
23
|
+
[ResourceType.Gateway]: 'gateways',
|
|
24
|
+
[ResourceType.VersionSet]: 'versionSets',
|
|
25
|
+
[ResourceType.Group]: 'groups',
|
|
26
|
+
[ResourceType.Subscription]: 'subscriptions',
|
|
27
|
+
[ResourceType.GlobalSchema]: 'schemas',
|
|
28
|
+
[ResourceType.ServicePolicy]: 'policies',
|
|
29
|
+
[ResourceType.PolicyRestriction]: 'policyRestrictions',
|
|
30
|
+
[ResourceType.Documentation]: 'documentations',
|
|
31
|
+
[ResourceType.Workspace]: 'workspaces',
|
|
30
32
|
};
|
|
31
33
|
/**
|
|
32
34
|
* Child resource types that inherit filter status from their parent.
|
|
33
35
|
* If the parent (e.g., Api or Product) passes the filter, all children are included.
|
|
34
36
|
*/
|
|
35
37
|
const PARENT_FILTER_MAP = {
|
|
36
|
-
[ResourceType.ApiPolicy]: '
|
|
37
|
-
[ResourceType.ApiTag]: '
|
|
38
|
-
[ResourceType.ApiDiagnostic]: '
|
|
39
|
-
[ResourceType.ApiOperation]: '
|
|
40
|
-
[ResourceType.ApiOperationPolicy]: '
|
|
41
|
-
[ResourceType.ApiSchema]: '
|
|
42
|
-
[ResourceType.ApiRelease]: '
|
|
43
|
-
[ResourceType.ApiTagDescription]: '
|
|
44
|
-
[ResourceType.ApiWiki]: '
|
|
45
|
-
[ResourceType.GraphQLResolver]: '
|
|
46
|
-
[ResourceType.GraphQLResolverPolicy]: '
|
|
47
|
-
[ResourceType.ProductPolicy]: '
|
|
48
|
-
[ResourceType.ProductApi]: '
|
|
49
|
-
[ResourceType.ProductGroup]: '
|
|
50
|
-
[ResourceType.ProductTag]: '
|
|
51
|
-
[ResourceType.ProductWiki]: '
|
|
52
|
-
[ResourceType.GatewayApi]: '
|
|
38
|
+
[ResourceType.ApiPolicy]: 'apis',
|
|
39
|
+
[ResourceType.ApiTag]: 'apis',
|
|
40
|
+
[ResourceType.ApiDiagnostic]: 'apis',
|
|
41
|
+
[ResourceType.ApiOperation]: 'apis',
|
|
42
|
+
[ResourceType.ApiOperationPolicy]: 'apis',
|
|
43
|
+
[ResourceType.ApiSchema]: 'apis',
|
|
44
|
+
[ResourceType.ApiRelease]: 'apis',
|
|
45
|
+
[ResourceType.ApiTagDescription]: 'apis',
|
|
46
|
+
[ResourceType.ApiWiki]: 'apis',
|
|
47
|
+
[ResourceType.GraphQLResolver]: 'apis',
|
|
48
|
+
[ResourceType.GraphQLResolverPolicy]: 'apis',
|
|
49
|
+
[ResourceType.ProductPolicy]: 'products',
|
|
50
|
+
[ResourceType.ProductApi]: 'products',
|
|
51
|
+
[ResourceType.ProductGroup]: 'products',
|
|
52
|
+
[ResourceType.ProductTag]: 'products',
|
|
53
|
+
[ResourceType.ProductWiki]: 'products',
|
|
54
|
+
[ResourceType.GatewayApi]: 'gateways',
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Map API child resource types to their sub-filter key in ApiSubFilter.
|
|
58
|
+
*/
|
|
59
|
+
const API_SUB_FILTER_KEY_MAP = {
|
|
60
|
+
[ResourceType.ApiOperation]: 'operations',
|
|
61
|
+
[ResourceType.ApiOperationPolicy]: 'operations',
|
|
62
|
+
[ResourceType.ApiDiagnostic]: 'diagnostics',
|
|
63
|
+
[ResourceType.ApiSchema]: 'schemas',
|
|
64
|
+
[ResourceType.ApiRelease]: 'releases',
|
|
53
65
|
};
|
|
54
66
|
/**
|
|
55
67
|
* Determines if a resource should be included based on the filter config.
|
|
@@ -61,6 +73,7 @@ const PARENT_FILTER_MAP = {
|
|
|
61
73
|
* - Matching is case-insensitive.
|
|
62
74
|
* - API filter matches root name; all revisions of matching root are included.
|
|
63
75
|
* - Child resources inherit filter from their parent type.
|
|
76
|
+
* - API sub-resource filters (operations, diagnostics, schemas, releases) are applied when specified.
|
|
64
77
|
*/
|
|
65
78
|
export function shouldIncludeResource(descriptor, filter) {
|
|
66
79
|
if (!filter) {
|
|
@@ -69,23 +82,71 @@ export function shouldIncludeResource(descriptor, filter) {
|
|
|
69
82
|
// Check direct filter field for this resource type
|
|
70
83
|
const directField = FILTER_FIELD_MAP[descriptor.type];
|
|
71
84
|
if (directField) {
|
|
72
|
-
|
|
85
|
+
// Singleton resources (e.g., ServicePolicy) have nameParts: [] — use fixed name from ARM path
|
|
86
|
+
const resourceName = descriptor.nameParts.length > 0
|
|
87
|
+
? getNamePart(descriptor.nameParts, 0)
|
|
88
|
+
: getSingletonFilterName(descriptor.type);
|
|
89
|
+
return matchesFilter(resourceName, filter[directField]);
|
|
73
90
|
}
|
|
74
91
|
// Check parent-based filter for child resource types
|
|
75
92
|
const parentField = PARENT_FILTER_MAP[descriptor.type];
|
|
76
93
|
if (parentField) {
|
|
77
94
|
const parentName = getParentNameForFilter(descriptor);
|
|
78
95
|
if (parentName) {
|
|
79
|
-
|
|
96
|
+
// First check: is the parent included?
|
|
97
|
+
if (!matchesFilter(parentName, filter[parentField])) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
// Second check: does the parent have sub-resource filters?
|
|
101
|
+
if (parentField === 'apis' && filter.apiSubFilters) {
|
|
102
|
+
return matchesApiSubFilter(descriptor, parentName, filter.apiSubFilters);
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
80
105
|
}
|
|
81
106
|
}
|
|
82
|
-
// ServicePolicy has no filter — always included
|
|
83
|
-
if (descriptor.type === ResourceType.ServicePolicy) {
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
107
|
// Unknown types are included by default
|
|
87
108
|
return true;
|
|
88
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Get the fixed singleton name for a resource type from its ARM path.
|
|
112
|
+
* E.g., ServicePolicy → "policy"
|
|
113
|
+
*/
|
|
114
|
+
function getSingletonFilterName(type) {
|
|
115
|
+
const meta = RESOURCE_TYPE_METADATA[type];
|
|
116
|
+
return meta.armPathSuffix.split('/').pop() ?? '';
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Check if an API child resource passes the API sub-resource filter.
|
|
120
|
+
* If the parent API has no sub-filter entry, all children are included.
|
|
121
|
+
* If the parent API has a sub-filter, only specified children pass.
|
|
122
|
+
*/
|
|
123
|
+
function matchesApiSubFilter(descriptor, parentApiName, apiSubFilters) {
|
|
124
|
+
// Find matching sub-filter using case-insensitive API name
|
|
125
|
+
const lowerParent = parentApiName.toLowerCase();
|
|
126
|
+
const matchingKey = Object.keys(apiSubFilters).find((k) => k.toLowerCase() === lowerParent);
|
|
127
|
+
if (!matchingKey) {
|
|
128
|
+
// No sub-filter for this API — include all children
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
const subFilter = apiSubFilters[matchingKey];
|
|
132
|
+
const subFilterKey = API_SUB_FILTER_KEY_MAP[descriptor.type];
|
|
133
|
+
if (!subFilterKey) {
|
|
134
|
+
// This child type has no sub-filter support (e.g., ApiTag, ApiWiki) — include by default
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
const allowlist = subFilter[subFilterKey];
|
|
138
|
+
if (allowlist === undefined) {
|
|
139
|
+
// Sub-filter for this API doesn't specify this child type — include all
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
if (allowlist.length === 0) {
|
|
143
|
+
// Explicitly empty = exclude all of this child type
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
// Match the child's own name (second name part for ApiOperation, ApiDiagnostic, etc.)
|
|
147
|
+
const childName = getNamePart(descriptor.nameParts, 1);
|
|
148
|
+
return matchesFilter(childName, allowlist);
|
|
149
|
+
}
|
|
89
150
|
/**
|
|
90
151
|
* Get the parent name to use for filter matching.
|
|
91
152
|
* Uses PARENT_FILTER_MAP to determine which name-part is the parent, and
|
|
@@ -94,7 +155,7 @@ export function shouldIncludeResource(descriptor, filter) {
|
|
|
94
155
|
function getParentNameForFilter(descriptor) {
|
|
95
156
|
const parentName = getNamePart(descriptor.nameParts, 0);
|
|
96
157
|
// API children need revision suffix stripped (e.g. "my-api;rev=2" → "my-api")
|
|
97
|
-
return PARENT_FILTER_MAP[descriptor.type] === '
|
|
158
|
+
return PARENT_FILTER_MAP[descriptor.type] === 'apis'
|
|
98
159
|
? extractRootApiName(parentName)
|
|
99
160
|
: parentName;
|
|
100
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-service.js","sourceRoot":"","sources":["../../src/services/filter-service.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"filter-service.js","sourceRoot":"","sources":["../../src/services/filter-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export interface IdentityGuideService {
|
|
7
7
|
generateGitHubActionsGuide(subscriptionId: string, resourceGroup: string, environments: string[]): string;
|
|
8
|
-
generateAzureDevOpsGuide(
|
|
8
|
+
generateAzureDevOpsGuide(environments: string[]): string;
|
|
9
9
|
}
|
|
10
10
|
export declare const identityGuideService: IdentityGuideService;
|
|
11
11
|
//# sourceMappingURL=identity-guide-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-guide-service.d.ts","sourceRoot":"","sources":["../../src/services/identity-guide-service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"identity-guide-service.d.ts","sourceRoot":"","sources":["../../src/services/identity-guide-service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAQH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,CACxB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC;IAEV,wBAAwB,CACtB,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC;CACX;AA2DD,eAAO,MAAM,oBAAoB,EAAE,oBAAqD,CAAC"}
|