4466ba436b
## 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
34 lines
833 B
JavaScript
34 lines
833 B
JavaScript
import Document from "next/document";
|
|
import { createStylesheet } from "@filbert-js/server-stylesheet";
|
|
|
|
class MyDocument extends Document {
|
|
static async getInitialProps(ctx) {
|
|
const sheet = createStylesheet();
|
|
const originalRenderPage = ctx.renderPage;
|
|
try {
|
|
ctx.renderPage = () =>
|
|
originalRenderPage({
|
|
enhanceApp: (App) => {
|
|
return (props) => {
|
|
return sheet.collectStyles(<App {...props} />);
|
|
};
|
|
},
|
|
});
|
|
const initialProps = await Document.getInitialProps(ctx);
|
|
|
|
const styleTags = sheet.getReactElements();
|
|
return {
|
|
...initialProps,
|
|
styles: (
|
|
<>
|
|
{styleTags}
|
|
{initialProps.styles}
|
|
</>
|
|
),
|
|
};
|
|
} finally {
|
|
}
|
|
}
|
|
}
|
|
|
|
export default MyDocument;
|