@ordergroove/smi-serve 1.6.1 → 1.6.2
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/CHANGELOG.md +11 -0
- package/package.json +2 -2
- package/src/init.js +27 -18
- package/src/utils.js +23 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.6.2](https://github.com/ordergroove/plush-toys/compare/@ordergroove/smi-serve@1.6.1...@ordergroove/smi-serve@1.6.2) (2024-04-18)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **smi-serve:** Don't return 'latest', rather actual value ([70053a4](https://github.com/ordergroove/plush-toys/commit/70053a421c6f6ada54709cedf0bea26801b330af))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [1.6.1](https://github.com/ordergroove/plush-toys/compare/@ordergroove/smi-serve@1.6.0...@ordergroove/smi-serve@1.6.1) (2024-04-17)
|
|
7
18
|
|
|
8
19
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ordergroove/smi-serve",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"description": "Utility to serve a SMI template locally",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Eugenio Lattanzio <eugenio.lattanzio@ordergroove.com>",
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"ora": "^5.4.1",
|
|
33
33
|
"yargs": "^17.7.2"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "08e75f787367ce639b591f9e2f2402cfb8badfe6"
|
|
36
36
|
}
|
package/src/init.js
CHANGED
|
@@ -3,8 +3,15 @@ const fetch = require('node-fetch');
|
|
|
3
3
|
const path = require('path');
|
|
4
4
|
const inquirer = require('inquirer');
|
|
5
5
|
|
|
6
|
-
const { getRC3Url } = require('./auth');
|
|
7
|
-
const {
|
|
6
|
+
const { chooseMerchant, getRC3Url } = require('./auth');
|
|
7
|
+
const {
|
|
8
|
+
getcwd,
|
|
9
|
+
exec,
|
|
10
|
+
unzip,
|
|
11
|
+
getAuthorNameFromToken,
|
|
12
|
+
packageJsonKeys,
|
|
13
|
+
getMerchantTemplatesVersion
|
|
14
|
+
} = require('./utils');
|
|
8
15
|
const { serve } = require('./serve');
|
|
9
16
|
const { getValidSettings } = require('./select-merchant');
|
|
10
17
|
|
|
@@ -79,11 +86,14 @@ async function init(args) {
|
|
|
79
86
|
|
|
80
87
|
let { token, merchant } = await getValidSettings(args);
|
|
81
88
|
|
|
82
|
-
const {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
89
|
+
const { configs: msiConfigs, meta_fields } = await getConfigs(
|
|
90
|
+
args,
|
|
91
|
+
SUBSCRIPTION_MANAGEMENT_ENDPOINT,
|
|
92
|
+
merchant,
|
|
93
|
+
token
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
let smiVersion = meta_fields?.dependencies['@ordergroove/smi-core'] || 'latest';
|
|
87
97
|
|
|
88
98
|
const { useMerchantSpecific } = args.yes
|
|
89
99
|
? { useMerchantSpecific: true }
|
|
@@ -99,7 +109,7 @@ async function init(args) {
|
|
|
99
109
|
}
|
|
100
110
|
]);
|
|
101
111
|
|
|
102
|
-
let
|
|
112
|
+
let smiTemplateVersion;
|
|
103
113
|
|
|
104
114
|
if (useMerchantSpecific && msiConfigs.smi && msiConfigs.smi.files) {
|
|
105
115
|
if (msiConfigs.provisioned_with && SMI_TEMPLATES_NAME in msiConfigs.provisioned_with) {
|
|
@@ -112,24 +122,23 @@ async function init(args) {
|
|
|
112
122
|
fs.writeFileSync(filepath, content, { encoding: 'utf8' });
|
|
113
123
|
});
|
|
114
124
|
|
|
115
|
-
if (!meta_fields_default) {
|
|
116
|
-
smiVersion = (meta_fields.dependencies || {})[SMI_CORE_NAME];
|
|
117
|
-
}
|
|
118
|
-
|
|
119
125
|
console.log('Templates initialized');
|
|
120
126
|
} else {
|
|
121
127
|
console.log('Configs not found, defaulting to latest.');
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
await downloadAndExtract(
|
|
128
|
+
|
|
129
|
+
smiTemplateVersion = await getMerchantTemplatesVersion(smiVersion);
|
|
130
|
+
|
|
131
|
+
await downloadAndExtract(
|
|
132
|
+
`https://static.ordergroove.com/@ordergroove/smi-templates/${smiTemplateVersion}/dist/smi-template.zip`
|
|
133
|
+
);
|
|
126
134
|
}
|
|
135
|
+
|
|
136
|
+
console.log(`Using templates version ${smiTemplateVersion}`);
|
|
137
|
+
|
|
127
138
|
if (!smiVersion) {
|
|
128
139
|
smiVersion = 'latest';
|
|
129
140
|
}
|
|
130
141
|
|
|
131
|
-
console.log(`Using templates version ${smiTemplateVersion}`);
|
|
132
|
-
|
|
133
142
|
// skip this for now
|
|
134
143
|
const installEntrypoint = args.entrypoint;
|
|
135
144
|
|
package/src/utils.js
CHANGED
|
@@ -4,7 +4,9 @@ const util = require('util');
|
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const { spawn } = require('child_process');
|
|
6
6
|
const ora = require('ora');
|
|
7
|
+
const semver = require('semver');
|
|
7
8
|
const AdmZip = require('adm-zip');
|
|
9
|
+
const fetch = require('node-fetch');
|
|
8
10
|
|
|
9
11
|
exports.glob = util.promisify(require('glob'));
|
|
10
12
|
|
|
@@ -173,6 +175,27 @@ function getAuthorNameFromToken(rawToken) {
|
|
|
173
175
|
|
|
174
176
|
exports.getAuthorNameFromToken = getAuthorNameFromToken;
|
|
175
177
|
|
|
178
|
+
async function getMerchantTemplatesVersion(coreVersion) {
|
|
179
|
+
let templatesDevDependencies;
|
|
180
|
+
const coreJson = `https://static.ordergroove.com/@ordergroove/smi-core/${coreVersion}/package.json`;
|
|
181
|
+
const response = await fetch(coreJson);
|
|
182
|
+
|
|
183
|
+
if (response.ok) {
|
|
184
|
+
const registryJson = await response.json();
|
|
185
|
+
templatesDevDependencies = registryJson.devDependencies['@ordergroove/smi-templates'];
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (templatesDevDependencies) {
|
|
189
|
+
return semver.minVersion(templatesDevDependencies).raw;
|
|
190
|
+
} else {
|
|
191
|
+
const response = await fetch('https://static.ordergroove.com/@ordergroove/smi-templates/latest/package.json');
|
|
192
|
+
const json = await response.json();
|
|
193
|
+
return json.version;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
exports.getMerchantTemplatesVersion = getMerchantTemplatesVersion;
|
|
198
|
+
|
|
176
199
|
exports.packageJsonKeys = {
|
|
177
200
|
OG_SECTION: 'ordergroove',
|
|
178
201
|
CORE_VERSION: 'coreVersion',
|