rsnext/examples/with-filbert/pages/_document.js
Steven 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

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;