Files
StevenandGitHub 4466ba436b chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00

30 lines
815 B
TypeScript

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();