Skip to content

Commit 9336adc

Browse files
authored
Merge pull request #764 from jmwiese/api-host-default-2
feat: strf-9345: Fallback to API_HOST constant in the absense of a provided one
2 parents f46f9d0 + d138536 commit 9336adc

3 files changed

Lines changed: 16 additions & 5 deletions

File tree

lib/StencilConfigManager.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const fsModule = require('fs');
33
const path = require('path');
44

55
const fsUtilsModule = require('./utils/fsUtils');
6-
const { THEME_PATH } = require('../constants');
6+
const { THEME_PATH, API_HOST } = require('../constants');
77

88
class StencilConfigManager {
99
constructor({
@@ -99,14 +99,24 @@ class StencilConfigManager {
9999
* @param {boolean} ignoreMissingFields
100100
* @returns {object}
101101
*/
102-
_validateStencilConfig(config, ignoreMissingFields) {
102+
_validateStencilConfig(configFile, ignoreMissingFields) {
103+
const config = configFile;
104+
103105
if (!ignoreMissingFields && (!config.normalStoreUrl || !config.customLayouts)) {
104106
throw new Error(
105107
'Error: Your stencil config is outdated. Please run'.red +
106108
' $ stencil init'.cyan +
107109
' again.'.red,
108110
);
109111
}
112+
113+
if (!config.apiHost) {
114+
this._logger.log(
115+
`No api host found in config file, falling back to ${API_HOST}. You may need to run 'stencil init' again.`,
116+
);
117+
config.apiHost = API_HOST;
118+
}
119+
110120
return config;
111121
}
112122

lib/StencilConfigManager.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const getGeneralConfig = () => ({
1616
},
1717
product: {},
1818
},
19+
apiHost: 'https://api.bigcommerce.com',
1920
normalStoreUrl: 'https://url-from-stencilConfig.mybigcommerce.com',
2021
port: 3001,
2122
});
@@ -252,7 +253,7 @@ describe('StencilConfigManager unit tests', () => {
252253
expect(fsUtilsStub.parseJsonFile).toHaveBeenCalledTimes(1);
253254
expect(fsUtilsStub.parseJsonFile).toHaveBeenCalledWith(defaultOldConfigPath);
254255

255-
expect(loggerStub.log).toHaveBeenCalledTimes(2);
256+
expect(loggerStub.log).toHaveBeenCalledTimes(3);
256257
expect(loggerStub.log).toHaveBeenCalledWith(
257258
expect.stringMatching(`will be replaced`),
258259
);

lib/stencil-init.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ describe('StencilInit integration tests', () => {
9898

9999
expect(inquirerPromptStub).toHaveBeenCalledTimes(1);
100100
expect(consoleErrorStub).toHaveBeenCalledTimes(0);
101-
expect(consoleLogStub).toHaveBeenCalledTimes(2);
101+
expect(consoleLogStub).toHaveBeenCalledTimes(3);
102102
expect(saveStencilConfigStub).toHaveBeenCalledTimes(1);
103103

104104
expect(saveStencilConfigStub).toHaveBeenCalledWith(expectedResult);
@@ -134,7 +134,7 @@ describe('StencilInit integration tests', () => {
134134

135135
expect(inquirerPromptStub).toHaveBeenCalledTimes(0);
136136
expect(consoleErrorStub).toHaveBeenCalledTimes(0);
137-
expect(consoleLogStub).toHaveBeenCalledTimes(2);
137+
expect(consoleLogStub).toHaveBeenCalledTimes(3);
138138
expect(saveStencilConfigStub).toHaveBeenCalledTimes(1);
139139

140140
expect(saveStencilConfigStub).toHaveBeenCalledWith(expectedResult);

0 commit comments

Comments
 (0)