@peterhauge/apiops-cli 0.2.1-alpha.0 → 0.3.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.
Files changed (126) hide show
  1. package/README.md +167 -169
  2. package/dist/cli/extract-command.d.ts +2 -2
  3. package/dist/cli/extract-command.d.ts.map +1 -1
  4. package/dist/cli/extract-command.js +3 -5
  5. package/dist/cli/extract-command.js.map +1 -1
  6. package/dist/cli/index.js +2 -3
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/cli/init-command.d.ts +1 -1
  9. package/dist/cli/init-command.js +1 -1
  10. package/dist/cli/publish-command.d.ts +2 -2
  11. package/dist/cli/publish-command.js +3 -3
  12. package/dist/clients/apim-client.d.ts +16 -5
  13. package/dist/clients/apim-client.d.ts.map +1 -1
  14. package/dist/clients/apim-client.js +22 -7
  15. package/dist/clients/apim-client.js.map +1 -1
  16. package/dist/clients/artifact-store.d.ts +4 -4
  17. package/dist/clients/artifact-store.d.ts.map +1 -1
  18. package/dist/clients/artifact-store.js +10 -4
  19. package/dist/clients/artifact-store.js.map +1 -1
  20. package/dist/clients/iapim-client.d.ts +14 -2
  21. package/dist/clients/iapim-client.d.ts.map +1 -1
  22. package/dist/clients/iapim-client.js +1 -1
  23. package/dist/clients/iartifact-store.d.ts +10 -5
  24. package/dist/clients/iartifact-store.d.ts.map +1 -1
  25. package/dist/clients/iartifact-store.js +1 -1
  26. package/dist/lib/cloud-config.d.ts +1 -1
  27. package/dist/lib/cloud-config.js +1 -1
  28. package/dist/lib/config-loader.d.ts +2 -7
  29. package/dist/lib/config-loader.d.ts.map +1 -1
  30. package/dist/lib/config-loader.js +3 -22
  31. package/dist/lib/config-loader.js.map +1 -1
  32. package/dist/lib/dependency-graph.d.ts +1 -1
  33. package/dist/lib/dependency-graph.js +1 -1
  34. package/dist/lib/exit-codes.d.ts +1 -1
  35. package/dist/lib/exit-codes.js +1 -1
  36. package/dist/lib/logger.js +1 -1
  37. package/dist/lib/parallel-runner.d.ts +2 -2
  38. package/dist/lib/parallel-runner.js +2 -2
  39. package/dist/lib/resource-path.d.ts +1 -1
  40. package/dist/lib/resource-path.js +1 -1
  41. package/dist/lib/resource-uri.d.ts +1 -1
  42. package/dist/lib/resource-uri.js +1 -1
  43. package/dist/lib/workspace-link.d.ts +31 -3
  44. package/dist/lib/workspace-link.d.ts.map +1 -1
  45. package/dist/lib/workspace-link.js +49 -3
  46. package/dist/lib/workspace-link.js.map +1 -1
  47. package/dist/models/config.d.ts +2 -4
  48. package/dist/models/config.d.ts.map +1 -1
  49. package/dist/models/config.js +1 -1
  50. package/dist/models/resource-types.d.ts +1 -1
  51. package/dist/models/resource-types.d.ts.map +1 -1
  52. package/dist/models/resource-types.js +5 -3
  53. package/dist/models/resource-types.js.map +1 -1
  54. package/dist/models/types.d.ts +22 -1
  55. package/dist/models/types.d.ts.map +1 -1
  56. package/dist/models/types.js +1 -1
  57. package/dist/services/api-extractor.d.ts +1 -1
  58. package/dist/services/api-extractor.d.ts.map +1 -1
  59. package/dist/services/api-extractor.js +29 -127
  60. package/dist/services/api-extractor.js.map +1 -1
  61. package/dist/services/api-publisher.d.ts +1 -1
  62. package/dist/services/api-publisher.d.ts.map +1 -1
  63. package/dist/services/api-publisher.js +50 -18
  64. package/dist/services/api-publisher.js.map +1 -1
  65. package/dist/services/delete-unmatched-service.d.ts +1 -1
  66. package/dist/services/delete-unmatched-service.js +1 -1
  67. package/dist/services/dry-run-reporter.d.ts +1 -1
  68. package/dist/services/dry-run-reporter.js +1 -1
  69. package/dist/services/extract-service.d.ts +1 -1
  70. package/dist/services/extract-service.js +1 -1
  71. package/dist/services/filter-service.d.ts +19 -1
  72. package/dist/services/filter-service.d.ts.map +1 -1
  73. package/dist/services/filter-service.js +40 -2
  74. package/dist/services/filter-service.js.map +1 -1
  75. package/dist/services/git-diff-service.d.ts +1 -1
  76. package/dist/services/git-diff-service.js +1 -1
  77. package/dist/services/identity-guide-service.d.ts +1 -1
  78. package/dist/services/identity-guide-service.js +12 -12
  79. package/dist/services/init-service.d.ts +1 -1
  80. package/dist/services/init-service.js +1 -1
  81. package/dist/services/override-merger.d.ts +1 -1
  82. package/dist/services/override-merger.js +1 -1
  83. package/dist/services/product-extractor.d.ts +1 -1
  84. package/dist/services/product-extractor.d.ts.map +1 -1
  85. package/dist/services/product-extractor.js +27 -26
  86. package/dist/services/product-extractor.js.map +1 -1
  87. package/dist/services/product-publisher.d.ts.map +1 -1
  88. package/dist/services/product-publisher.js +25 -9
  89. package/dist/services/product-publisher.js.map +1 -1
  90. package/dist/services/prompt-service.d.ts +1 -1
  91. package/dist/services/prompt-service.js +1 -1
  92. package/dist/services/publish-service.d.ts +1 -1
  93. package/dist/services/publish-service.js +1 -1
  94. package/dist/services/resource-extractor.d.ts +1 -1
  95. package/dist/services/resource-extractor.js +1 -1
  96. package/dist/services/resource-publisher.d.ts +9 -1
  97. package/dist/services/resource-publisher.d.ts.map +1 -1
  98. package/dist/services/resource-publisher.js +30 -9
  99. package/dist/services/resource-publisher.js.map +1 -1
  100. package/dist/services/secret-redactor.d.ts +1 -1
  101. package/dist/services/secret-redactor.js +1 -1
  102. package/dist/services/transitive-resolver.d.ts +1 -1
  103. package/dist/services/transitive-resolver.js +1 -1
  104. package/dist/services/workspace-extractor.d.ts +7 -1
  105. package/dist/services/workspace-extractor.d.ts.map +1 -1
  106. package/dist/services/workspace-extractor.js +75 -10
  107. package/dist/services/workspace-extractor.js.map +1 -1
  108. package/dist/templates/azure-devops/extract-pipeline.d.ts +1 -1
  109. package/dist/templates/azure-devops/extract-pipeline.js +142 -142
  110. package/dist/templates/azure-devops/publish-pipeline.d.ts +1 -1
  111. package/dist/templates/azure-devops/publish-pipeline.js +114 -114
  112. package/dist/templates/configs/filter-config.d.ts +1 -1
  113. package/dist/templates/configs/filter-config.d.ts.map +1 -1
  114. package/dist/templates/configs/filter-config.js +118 -109
  115. package/dist/templates/configs/filter-config.js.map +1 -1
  116. package/dist/templates/configs/override-config.d.ts +1 -1
  117. package/dist/templates/configs/override-config.d.ts.map +1 -1
  118. package/dist/templates/configs/override-config.js +92 -91
  119. package/dist/templates/configs/override-config.js.map +1 -1
  120. package/dist/templates/github-actions/extract-workflow.d.ts +1 -1
  121. package/dist/templates/github-actions/extract-workflow.js +119 -119
  122. package/dist/templates/github-actions/publish-workflow.d.ts +1 -1
  123. package/dist/templates/github-actions/publish-workflow.d.ts.map +1 -1
  124. package/dist/templates/github-actions/publish-workflow.js +147 -104
  125. package/dist/templates/github-actions/publish-workflow.js.map +1 -1
  126. package/package.json +69 -69
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * T044: GitHub Actions publish workflow template
4
+ * GitHub Actions publish workflow template
5
5
  * Push-to-main trigger with commit ID choice, environment selection, and multi-env stages
6
6
  */
7
7
  export function generatePublishWorkflow(config) {
@@ -9,113 +9,156 @@ export function generatePublishWorkflow(config) {
9
9
  const envJobs = config.environments.map((env, idx) => {
10
10
  const envUpper = env.toUpperCase();
11
11
  const autoDeployComment = idx === 0
12
- ? ` # To enable automatic deployment on push to main, uncomment the condition below:
12
+ ? ` # To enable automatic deployment on push to main, uncomment the condition below:
13
13
  # if: github.event.inputs.ENVIRONMENT == '${env}' || github.event_name == 'push'`
14
- : ` # To enable automatic deployment on push to main, uncomment the condition below:
15
- # if: github.event.inputs.ENVIRONMENT == '${env}' || github.event_name == 'push'
14
+ : ` # To enable automatic deployment on push to main, uncomment the condition below:
15
+ # if: github.event.inputs.ENVIRONMENT == '${env}' || github.event_name == 'push'
16
16
  # And change needs to: needs: [get-commit, publish-${config.environments[idx - 1]}]`;
17
- return ` publish-${env}:
18
- ${autoDeployComment}
19
- if: github.event.inputs.ENVIRONMENT == '${env}'
20
- runs-on: ubuntu-latest
21
- environment: ${env}
22
- needs: get-commit
23
- steps:
24
- - name: Checkout repository
25
- uses: actions/checkout@v4
26
- with:
27
- fetch-depth: 2
28
-
29
- - name: Setup Node.js
30
- uses: actions/setup-node@v4
31
- with:
32
- node-version: '22'
33
-
34
- - name: Install dependencies
35
- run: npm install
36
-
37
- - name: Azure Login (Federated Credential)
38
- uses: azure/login@v2
39
- with:
40
- client-id: \${{ secrets.AZURE_CLIENT_ID }}
41
- tenant-id: \${{ secrets.AZURE_TENANT_ID }}
42
- subscription-id: \${{ secrets.AZURE_SUBSCRIPTION_ID }}
43
-
44
- - name: Substitute tokens in configuration.${env}.yaml
45
- uses: cschleiden/replace-tokens@v1.3
46
- with:
47
- tokenPrefix: '{#['
48
- tokenSuffix: ']#}'
49
- files: '["configuration.${env}.yaml"]'
50
- # Example token mapping for ${env} (uncomment and customize when needed):
51
- # env:
52
- # MY_SECRET: \${{ secrets.MY_SECRET_${envUpper} }}
53
- # ANOTHER_TOKEN: \${{ secrets.ANOTHER_TOKEN_${envUpper} }}
54
-
55
- - name: Publish to ${env} (incremental - last commit only)
56
- if: \${{ github.event.inputs.COMMIT_ID_CHOICE != 'publish-all-artifacts-in-repo' }}
57
- run: |
58
- npx apiops publish \\
59
- --subscription-id \${{ secrets.AZURE_SUBSCRIPTION_ID }} \\
60
- --resource-group \${{ secrets.APIM_RESOURCE_GROUP_${envUpper} }} \\
61
- --service-name \${{ secrets.APIM_SERVICE_NAME_${envUpper} }} \\
62
- --source ${config.artifactDir} \\
63
- --overrides configuration.${env}.yaml \\
64
- --commit-id \${{ needs.get-commit.outputs.commit_id }}
65
-
66
- - name: Publish to ${env} (all artifacts)
67
- if: \${{ github.event.inputs.COMMIT_ID_CHOICE == 'publish-all-artifacts-in-repo' }}
68
- run: |
69
- npx apiops publish \\
70
- --subscription-id \${{ secrets.AZURE_SUBSCRIPTION_ID }} \\
71
- --resource-group \${{ secrets.APIM_RESOURCE_GROUP_${envUpper} }} \\
72
- --service-name \${{ secrets.APIM_SERVICE_NAME_${envUpper} }} \\
73
- --source ${config.artifactDir} \\
74
- --overrides configuration.${env}.yaml
17
+ return ` publish-${env}:
18
+ ${autoDeployComment}
19
+ if: github.event.inputs.ENVIRONMENT == '${env}'
20
+ runs-on: ubuntu-latest
21
+ environment: ${env}
22
+ needs: get-commit
23
+ steps:
24
+ - name: Checkout repository
25
+ uses: actions/checkout@v4
26
+ with:
27
+ fetch-depth: 2
28
+
29
+ - name: Setup Node.js
30
+ uses: actions/setup-node@v4
31
+ with:
32
+ node-version: '22'
33
+
34
+ - name: Install dependencies
35
+ run: npm install
36
+
37
+ - name: Azure Login (Federated Credential)
38
+ uses: azure/login@v2
39
+ with:
40
+ client-id: \${{ secrets.AZURE_CLIENT_ID }}
41
+ tenant-id: \${{ secrets.AZURE_TENANT_ID }}
42
+ subscription-id: \${{ secrets.AZURE_SUBSCRIPTION_ID }}
43
+
44
+ - name: Validate token source values (${env})
45
+ env:
46
+ AVAILABLE_SECRETS_JSON: \${{ toJSON(secrets) }}
47
+ run: |
48
+ missing=0
49
+ tokens=$(grep -o '{#\\[[^]]*\\]#}' configuration.${env}.yaml | sed -E 's/^\\{#\\[([^]]+)\\]#\\}$/\\1/' | sort -u || true)
50
+
51
+ if [ -z "$tokens" ]; then
52
+ echo "No tokens found in configuration.${env}.yaml"
53
+ exit 0
54
+ fi
55
+
56
+ while IFS= read -r token; do
57
+ if [ -z "$token" ]; then
58
+ continue
59
+ fi
60
+
61
+ if ! echo "$token" | grep -Eq '^[A-Za-z_][A-Za-z0-9_]*$'; then
62
+ echo "::error::Token '$token' is not a valid environment variable name. Use letters, numbers, and underscores only."
63
+ missing=1
64
+ continue
65
+ fi
66
+
67
+ value=$(jq -r --arg token "$token" '.[$token] // empty' <<< "$AVAILABLE_SECRETS_JSON")
68
+ if [ -z "$value" ]; then
69
+ echo "::error::Missing secret for token '$token'"
70
+ missing=1
71
+ continue
72
+ fi
73
+
74
+ printf '%s=%s\\n' "$token" "$value" >> "$GITHUB_ENV"
75
+ done <<< "$tokens"
76
+
77
+ if [ "$missing" -ne 0 ]; then
78
+ exit 1
79
+ fi
80
+
81
+ - name: Substitute tokens in configuration.${env}.yaml
82
+ uses: cschleiden/replace-tokens@v1.3
83
+ with:
84
+ tokenPrefix: '{#['
85
+ tokenSuffix: ']#}'
86
+ files: '["configuration.${env}.yaml"]'
87
+ # Token values are injected in the previous step based on token names.
88
+ # Ensure tokens in configuration.${env}.yaml match secret names exactly.
89
+
90
+ - name: Validate token substitution (${env})
91
+ run: |
92
+ if grep -q '{#\\[' configuration.${env}.yaml; then
93
+ echo "Unresolved tokens remain in configuration.${env}.yaml"
94
+ grep -o '{#\\[[^]]*\\]#}' configuration.${env}.yaml | sort -u
95
+ exit 1
96
+ fi
97
+
98
+ - name: Publish to ${env} (incremental - last commit only)
99
+ if: \${{ github.event.inputs.COMMIT_ID_CHOICE != 'publish-all-artifacts-in-repo' }}
100
+ run: |
101
+ npx apiops publish \\
102
+ --subscription-id \${{ secrets.AZURE_SUBSCRIPTION_ID }} \\
103
+ --resource-group \${{ secrets.APIM_RESOURCE_GROUP_${envUpper} }} \\
104
+ --service-name \${{ secrets.APIM_SERVICE_NAME_${envUpper} }} \\
105
+ --source ${config.artifactDir} \\
106
+ --overrides configuration.${env}.yaml \\
107
+ --commit-id \${{ needs.get-commit.outputs.commit_id }}
108
+
109
+ - name: Publish to ${env} (all artifacts)
110
+ if: \${{ github.event.inputs.COMMIT_ID_CHOICE == 'publish-all-artifacts-in-repo' }}
111
+ run: |
112
+ npx apiops publish \\
113
+ --subscription-id \${{ secrets.AZURE_SUBSCRIPTION_ID }} \\
114
+ --resource-group \${{ secrets.APIM_RESOURCE_GROUP_${envUpper} }} \\
115
+ --service-name \${{ secrets.APIM_SERVICE_NAME_${envUpper} }} \\
116
+ --source ${config.artifactDir} \\
117
+ --overrides configuration.${env}.yaml
75
118
  `;
76
119
  }).join('\n');
77
- return `name: Run APIM Publisher
78
-
79
- on:
80
- push:
81
- branches:
82
- - main
83
- paths:
84
- - '${config.artifactDir}/**'
85
- - 'configuration.*.yaml'
86
- workflow_dispatch:
87
- inputs:
88
- COMMIT_ID_CHOICE:
89
- description: 'Choose "publish-all-artifacts-in-repo" only when you want to force republishing all artifacts (e.g. after build failure). Otherwise stick with the default behavior of "publish-artifacts-in-last-commit"'
90
- required: true
91
- type: choice
92
- default: publish-artifacts-in-last-commit
93
- options:
94
- - publish-artifacts-in-last-commit
95
- - publish-all-artifacts-in-repo
96
- ENVIRONMENT:
97
- description: 'Choose which environment to publish to'
98
- required: true
99
- type: choice
100
- default: ${config.environments[0]}
101
- options:
102
- ${envChoices}
103
-
104
- permissions:
105
- id-token: write
106
- contents: read
107
-
108
- jobs:
109
- get-commit:
110
- runs-on: ubuntu-latest
111
- outputs:
112
- commit_id: \${{ steps.commit.outputs.commit_id }}
113
- steps:
114
- - name: Set the Commit Id
115
- id: commit
116
- run: echo "commit_id=\${GITHUB_SHA}" >> $GITHUB_OUTPUT
117
-
118
- ${envJobs}
120
+ return `name: Run APIM Publisher
121
+
122
+ on:
123
+ push:
124
+ branches:
125
+ - main
126
+ paths:
127
+ - '${config.artifactDir}/**'
128
+ - 'configuration.*.yaml'
129
+ workflow_dispatch:
130
+ inputs:
131
+ COMMIT_ID_CHOICE:
132
+ description: 'Choose "publish-all-artifacts-in-repo" only when you want to force republishing all artifacts (e.g. after build failure). Otherwise stick with the default behavior of "publish-artifacts-in-last-commit"'
133
+ required: true
134
+ type: choice
135
+ default: publish-artifacts-in-last-commit
136
+ options:
137
+ - publish-artifacts-in-last-commit
138
+ - publish-all-artifacts-in-repo
139
+ ENVIRONMENT:
140
+ description: 'Choose which environment to publish to'
141
+ required: true
142
+ type: choice
143
+ default: ${config.environments[0]}
144
+ options:
145
+ ${envChoices}
146
+
147
+ permissions:
148
+ id-token: write
149
+ contents: read
150
+
151
+ jobs:
152
+ get-commit:
153
+ runs-on: ubuntu-latest
154
+ outputs:
155
+ commit_id: \${{ steps.commit.outputs.commit_id }}
156
+ steps:
157
+ - name: Set the Commit Id
158
+ id: commit
159
+ run: echo "commit_id=\${GITHUB_SHA}" >> $GITHUB_OUTPUT
160
+
161
+ ${envJobs}
119
162
  `;
120
163
  }
121
164
  //# sourceMappingURL=publish-workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish-workflow.js","sourceRoot":"","sources":["../../../src/templates/github-actions/publish-workflow.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC;;;GAGG;AAOH,MAAM,UAAU,uBAAuB,CAAC,MAA6B;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAErF,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,iBAAiB,GAAG,GAAG,KAAK,CAAC;YACjC,CAAC,CAAC;gDACwC,GAAG,kCAAkC;YAC/E,CAAC,CAAC;gDACwC,GAAG;yDACM,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAErF,OAAO,aAAa,GAAG;EACzB,iBAAiB;8CAC2B,GAAG;;mBAE9B,GAAG;;;;;;;;;;;;;;;;;;;;;;;mDAuB6B,GAAG;;;;;oCAKlB,GAAG;wCACC,GAAG;;kDAEO,QAAQ;0DACA,QAAQ;;2BAEvC,GAAG;;;;;gEAKkC,QAAQ;4DACZ,QAAQ;uBAC7C,MAAM,CAAC,WAAW;wCACD,GAAG;;;2BAGhB,GAAG;;;;;gEAKkC,QAAQ;4DACZ,QAAQ;uBAC7C,MAAM,CAAC,WAAW;wCACD,GAAG;CAC1C,CAAC;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;;;WAOE,MAAM,CAAC,WAAW;;;;;;;;;;;;;;;;mBAgBV,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;;EAEvC,UAAU;;;;;;;;;;;;;;;;EAgBV,OAAO;CACR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"publish-workflow.js","sourceRoot":"","sources":["../../../src/templates/github-actions/publish-workflow.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC;;;GAGG;AAOH,MAAM,UAAU,uBAAuB,CAAC,MAA6B;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAErF,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,iBAAiB,GAAG,GAAG,KAAK,CAAC;YACjC,CAAC,CAAC;gDACwC,GAAG,kCAAkC;YAC/E,CAAC,CAAC;gDACwC,GAAG;yDACM,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAErF,OAAO,aAAa,GAAG;EACzB,iBAAiB;8CAC2B,GAAG;;mBAE9B,GAAG;;;;;;;;;;;;;;;;;;;;;;;8CAuBwB,GAAG;;;;;6DAKY,GAAG;;;qDAGX,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA6BL,GAAG;;;;;oCAKlB,GAAG;;6CAEM,GAAG;;6CAEH,GAAG;;6CAEH,GAAG;8DACc,GAAG;sDACX,GAAG;;;;2BAI9B,GAAG;;;;;gEAKkC,QAAQ;4DACZ,QAAQ;uBAC7C,MAAM,CAAC,WAAW;wCACD,GAAG;;;2BAGhB,GAAG;;;;;gEAKkC,QAAQ;4DACZ,QAAQ;uBAC7C,MAAM,CAAC,WAAW;wCACD,GAAG;CAC1C,CAAC;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;;;WAOE,MAAM,CAAC,WAAW;;;;;;;;;;;;;;;;mBAgBV,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;;EAEvC,UAAU;;;;;;;;;;;;;;;;EAgBV,OAAO;CACR,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,69 +1,69 @@
1
- {
2
- "name": "@peterhauge/apiops-cli",
3
- "version": "0.2.1-alpha.0",
4
- "description": "CLI tool for Azure API Management configuration-as-code",
5
- "type": "module",
6
- "private": false,
7
- "main": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "bin": {
10
- "apiops": "dist/cli/index.js"
11
- },
12
- "files": [
13
- "dist"
14
- ],
15
- "readme": "README.md",
16
- "scripts": {
17
- "prelint": "node scripts/embed-markdown-templates.mjs",
18
- "prebuild": "node scripts/embed-markdown-templates.mjs",
19
- "pretest": "node scripts/embed-markdown-templates.mjs",
20
- "build": "tsc",
21
- "test": "vitest run",
22
- "test:watch": "vitest",
23
- "lint": "eslint src tests",
24
- "start": "tsx src/cli/index.ts"
25
- },
26
- "engines": {
27
- "node": ">=22.0.0"
28
- },
29
- "repository": {
30
- "type": "git",
31
- "url": "git+https://github.com/Azure/apiops-cli.git"
32
- },
33
- "keywords": [
34
- "azure",
35
- "api-management",
36
- "apim",
37
- "cli",
38
- "gitops",
39
- "configuration-as-code"
40
- ],
41
- "author": "",
42
- "license": "MIT",
43
- "bugs": {
44
- "url": "https://github.com/Azure/apiops-cli/issues"
45
- },
46
- "homepage": "https://github.com/Azure/apiops-cli#readme",
47
- "dependencies": {
48
- "@azure/identity": "^4.13.1",
49
- "any-ascii": "^0.3.3",
50
- "commander": "^14.0.3",
51
- "he": "^1.2.0",
52
- "js-yaml": "^4.1.1",
53
- "simple-git": "^3.35.2"
54
- },
55
- "devDependencies": {
56
- "@eslint/js": "^10.0.1",
57
- "@types/he": "^1.2.3",
58
- "@types/js-yaml": "^4.0.9",
59
- "@types/node": "^25.5.2",
60
- "@typescript-eslint/eslint-plugin": "^8.58.1",
61
- "@typescript-eslint/parser": "^8.58.1",
62
- "@vitest/coverage-v8": "^4.1.4",
63
- "eslint": "^10.2.0",
64
- "tsx": "^4.21.0",
65
- "typescript": "^6.0.2",
66
- "typescript-eslint": "^8.58.1",
67
- "vitest": "^4.1.3"
68
- }
69
- }
1
+ {
2
+ "name": "@peterhauge/apiops-cli",
3
+ "version": "0.3.0-alpha.0",
4
+ "description": "CLI tool for Azure API Management configuration-as-code",
5
+ "type": "module",
6
+ "private": false,
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "bin": {
10
+ "apiops": "dist/cli/index.js"
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "readme": "README.md",
16
+ "scripts": {
17
+ "prelint": "node scripts/embed-markdown-templates.mjs",
18
+ "prebuild": "node scripts/embed-markdown-templates.mjs",
19
+ "pretest": "node scripts/embed-markdown-templates.mjs",
20
+ "build": "tsc",
21
+ "test": "vitest run",
22
+ "test:watch": "vitest",
23
+ "lint": "eslint src tests",
24
+ "start": "tsx src/cli/index.ts"
25
+ },
26
+ "engines": {
27
+ "node": ">=22.0.0"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/Azure/apiops-cli.git"
32
+ },
33
+ "keywords": [
34
+ "azure",
35
+ "api-management",
36
+ "apim",
37
+ "cli",
38
+ "gitops",
39
+ "configuration-as-code"
40
+ ],
41
+ "author": "",
42
+ "license": "MIT",
43
+ "bugs": {
44
+ "url": "https://github.com/Azure/apiops-cli/issues"
45
+ },
46
+ "homepage": "https://github.com/Azure/apiops-cli#readme",
47
+ "dependencies": {
48
+ "@azure/identity": "^4.13.1",
49
+ "any-ascii": "^0.3.3",
50
+ "commander": "^14.0.3",
51
+ "he": "^1.2.0",
52
+ "js-yaml": "^4.1.1",
53
+ "simple-git": "^3.35.2"
54
+ },
55
+ "devDependencies": {
56
+ "@eslint/js": "^10.0.1",
57
+ "@types/he": "^1.2.3",
58
+ "@types/js-yaml": "^4.0.9",
59
+ "@types/node": "^25.5.2",
60
+ "@typescript-eslint/eslint-plugin": "^8.58.1",
61
+ "@typescript-eslint/parser": "^8.58.1",
62
+ "@vitest/coverage-v8": "^4.1.4",
63
+ "eslint": "^10.2.0",
64
+ "tsx": "^4.21.0",
65
+ "typescript": "^6.0.2",
66
+ "typescript-eslint": "^8.58.1",
67
+ "vitest": "^4.1.3"
68
+ }
69
+ }