import { ConfigPlugin, JssConfig } from ".."; /** * This plugin will set config props based on scjssconfig.json. * scjssconfig.json may not exist if you've never run `jss setup` (development) * or are depending on environment variables instead (production). */ class ScJssConfigPlugin implements ConfigPlugin { order = 1; async exec(config: JssConfig) { let scJssConfig; try { scJssConfig = require("scjssconfig.json"); } catch (e) { return config; } if (!scJssConfig) return config; return Object.assign({}, config, { sitecoreApiKey: config.sitecoreApiKey || scJssConfig.sitecore?.apiKey, sitecoreApiHost: config.sitecoreApiHost || scJssConfig.sitecore?.layoutServiceHost, }); } } export const scjssconfigPlugin = new ScJssConfigPlugin();