@axinom/mosaic-cli 0.43.2 → 0.44.0-rc.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.
|
@@ -29,6 +29,7 @@ const uploadDeploymentManifest = (args) => tslib_1.__awaiter(void 0, void 0, voi
|
|
|
29
29
|
console.log(`Error occurred while trying to read the Deployment Manifest at ${args.deploymentManifestPath}.`);
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
+
manifestToUpload = replaceDynamicVariables(manifestToUpload);
|
|
32
33
|
if (manifestToUpload.serviceId !== args.serviceId) {
|
|
33
34
|
console.log(`Service ID in the given Deployment Manifest does not match with the argument value. Please make sure the value of the argument given for Service ID matches the value in the Deployment Manifest.`);
|
|
34
35
|
return;
|
|
@@ -147,4 +148,19 @@ const findManifestToUpload = (deploymentManifestPath) => {
|
|
|
147
148
|
console.log(`Deployment Manifest found at ${manifestFile}.`);
|
|
148
149
|
return doc;
|
|
149
150
|
};
|
|
151
|
+
const replaceDynamicVariables = (manifestToUpload) => {
|
|
152
|
+
const matcher = /\${__ax_hosted__\.dynamic\.([\w\d_]+)}/g;
|
|
153
|
+
const stringifiedManifestToUpload = JSON.stringify(manifestToUpload).replace(matcher, (match, variableName) => {
|
|
154
|
+
const envVarName = variableName.trim();
|
|
155
|
+
const envVarValue = process.env[envVarName];
|
|
156
|
+
if (envVarValue !== undefined) {
|
|
157
|
+
return envVarValue;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
console.error(`\n Could not find the environment variable [${envVarName}] used in the placeholder [${match}].\n`);
|
|
161
|
+
process.exit(common_1.exitCode);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
return JSON.parse(stringifiedManifestToUpload);
|
|
165
|
+
};
|
|
150
166
|
//# sourceMappingURL=upload-manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-manifest.js","sourceRoot":"","sources":["../../../../src/commands/hosting/manifest/upload-manifest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"upload-manifest.js","sourceRoot":"","sources":["../../../../src/commands/hosting/manifest/upload-manifest.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axinom/mosaic-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.0-rc.0",
|
|
4
4
|
"description": "The Axinom Mosaic CLI",
|
|
5
5
|
"author": "Axinom",
|
|
6
6
|
"license": "PROPRIETARY",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"@asyncapi/diff": "^0.4.1",
|
|
35
35
|
"@asyncapi/modelina": "^1.8.4",
|
|
36
36
|
"@asyncapi/parser": "^2.0.2",
|
|
37
|
-
"@axinom/mosaic-id-link-be": "^0.31.
|
|
38
|
-
"@axinom/mosaic-service-common": "^0.59.
|
|
37
|
+
"@axinom/mosaic-id-link-be": "^0.31.3-rc.1",
|
|
38
|
+
"@axinom/mosaic-service-common": "^0.59.3-rc.1",
|
|
39
39
|
"@graphql-inspector/core": "^3.1.2",
|
|
40
40
|
"@inquirer/prompts": "^4.3.0",
|
|
41
41
|
"@stoplight/spectral-core": "^1.18.3",
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"publishConfig": {
|
|
78
78
|
"access": "public"
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "78c7e35d6f1fc1d2283d846f7d4042b22e796548"
|
|
81
81
|
}
|
|
@@ -39,6 +39,8 @@ export const uploadDeploymentManifest = async (
|
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
manifestToUpload = replaceDynamicVariables(manifestToUpload);
|
|
43
|
+
|
|
42
44
|
if (manifestToUpload.serviceId !== args.serviceId) {
|
|
43
45
|
console.log(
|
|
44
46
|
`Service ID in the given Deployment Manifest does not match with the argument value. Please make sure the value of the argument given for Service ID matches the value in the Deployment Manifest.`,
|
|
@@ -186,3 +188,26 @@ const findManifestToUpload = (deploymentManifestPath: string): unknown => {
|
|
|
186
188
|
|
|
187
189
|
return doc;
|
|
188
190
|
};
|
|
191
|
+
|
|
192
|
+
const replaceDynamicVariables = (manifestToUpload: object): string => {
|
|
193
|
+
const matcher = /\${__ax_hosted__\.dynamic\.([\w\d_]+)}/g;
|
|
194
|
+
|
|
195
|
+
const stringifiedManifestToUpload = JSON.stringify(manifestToUpload).replace(
|
|
196
|
+
matcher,
|
|
197
|
+
(match, variableName) => {
|
|
198
|
+
const envVarName = variableName.trim();
|
|
199
|
+
const envVarValue = process.env[envVarName];
|
|
200
|
+
|
|
201
|
+
if (envVarValue !== undefined) {
|
|
202
|
+
return envVarValue;
|
|
203
|
+
} else {
|
|
204
|
+
console.error(
|
|
205
|
+
`\n Could not find the environment variable [${envVarName}] used in the placeholder [${match}].\n`,
|
|
206
|
+
);
|
|
207
|
+
process.exit(exitCode);
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
);
|
|
211
|
+
|
|
212
|
+
return JSON.parse(stringifiedManifestToUpload);
|
|
213
|
+
};
|