diff options
Diffstat (limited to 'packages/renderers/renderer-react')
-rw-r--r-- | packages/renderers/renderer-react/client.js | 16 | ||||
-rw-r--r-- | packages/renderers/renderer-react/index.js | 52 | ||||
-rw-r--r-- | packages/renderers/renderer-react/server.js | 90 | ||||
-rw-r--r-- | packages/renderers/renderer-react/static-html.js | 4 |
4 files changed, 81 insertions, 81 deletions
diff --git a/packages/renderers/renderer-react/client.js b/packages/renderers/renderer-react/client.js index aa29d1ba9..a6bc7d3bc 100644 --- a/packages/renderers/renderer-react/client.js +++ b/packages/renderers/renderer-react/client.js @@ -3,11 +3,11 @@ import { hydrate } from 'react-dom'; import StaticHtml from './static-html.js'; export default (element) => (Component, props, children) => - hydrate( - createElement( - Component, - { ...props, suppressHydrationWarning: true }, - children != null ? createElement(StaticHtml, { value: children, suppressHydrationWarning: true }) : children - ), - element - ); + hydrate( + createElement( + Component, + { ...props, suppressHydrationWarning: true }, + children != null ? createElement(StaticHtml, { value: children, suppressHydrationWarning: true }) : children + ), + element + ); diff --git a/packages/renderers/renderer-react/index.js b/packages/renderers/renderer-react/index.js index fdebd3fcb..e73dd622a 100644 --- a/packages/renderers/renderer-react/index.js +++ b/packages/renderers/renderer-react/index.js @@ -1,28 +1,28 @@ export default { - name: '@astrojs/renderer-react', - client: './client.js', - server: './server.js', - jsxImportSource: 'react', - jsxTransformOptions: async () => { - const { - default: { default: jsx }, - } = await import('@babel/plugin-transform-react-jsx'); - return { - plugins: [jsx({}, { runtime: 'automatic', importSource: 'react' })], - }; - }, - viteConfig() { - return { - optimizeDeps: { - include: ['@astrojs/renderer-react/client.js', 'react', 'react/jsx-runtime', 'react/jsx-dev-runtime', 'react-dom'], - exclude: ['@astrojs/renderer-react/server.js'], - }, - resolve: { - dedupe: ['react', 'react-dom'], - }, - ssr: { - external: ['react-dom/server.js'], - }, - }; - }, + name: '@astrojs/renderer-react', + client: './client.js', + server: './server.js', + jsxImportSource: 'react', + jsxTransformOptions: async () => { + const { + default: { default: jsx }, + } = await import('@babel/plugin-transform-react-jsx'); + return { + plugins: [jsx({}, { runtime: 'automatic', importSource: 'react' })], + }; + }, + viteConfig() { + return { + optimizeDeps: { + include: ['@astrojs/renderer-react/client.js', 'react', 'react/jsx-runtime', 'react/jsx-dev-runtime', 'react-dom'], + exclude: ['@astrojs/renderer-react/server.js'], + }, + resolve: { + dedupe: ['react', 'react-dom'], + }, + ssr: { + external: ['react-dom/server.js'], + }, + }; + }, }; diff --git a/packages/renderers/renderer-react/server.js b/packages/renderers/renderer-react/server.js index 2660c8762..1c0c41286 100644 --- a/packages/renderers/renderer-react/server.js +++ b/packages/renderers/renderer-react/server.js @@ -5,63 +5,63 @@ import StaticHtml from './static-html.js'; const reactTypeof = Symbol.for('react.element'); function errorIsComingFromPreactComponent(err) { - return err.message && (err.message.startsWith("Cannot read property '__H'") || err.message.includes("(reading '__H')")); + return err.message && (err.message.startsWith("Cannot read property '__H'") || err.message.includes("(reading '__H')")); } function check(Component, props, children) { - // Note: there are packages that do some unholy things to create "components". - // Checking the $$typeof property catches most of these patterns. - if (typeof Component === 'object') { - const $$typeof = Component['$$typeof']; - return $$typeof && $$typeof.toString().slice('Symbol('.length).startsWith('react'); - } - if (typeof Component !== 'function') return false; + // Note: there are packages that do some unholy things to create "components". + // Checking the $$typeof property catches most of these patterns. + if (typeof Component === 'object') { + const $$typeof = Component['$$typeof']; + return $$typeof && $$typeof.toString().slice('Symbol('.length).startsWith('react'); + } + if (typeof Component !== 'function') return false; - if (Component.prototype != null && typeof Component.prototype.render === 'function') { - return React.Component.isPrototypeOf(Component) || React.PureComponent.isPrototypeOf(Component); - } + if (Component.prototype != null && typeof Component.prototype.render === 'function') { + return React.Component.isPrototypeOf(Component) || React.PureComponent.isPrototypeOf(Component); + } - let error = null; - let isReactComponent = false; - function Tester(...args) { - try { - const vnode = Component(...args); - if (vnode && vnode['$$typeof'] === reactTypeof) { - isReactComponent = true; - } - } catch (err) { - if (!errorIsComingFromPreactComponent(err)) { - error = err; - } - } + let error = null; + let isReactComponent = false; + function Tester(...args) { + try { + const vnode = Component(...args); + if (vnode && vnode['$$typeof'] === reactTypeof) { + isReactComponent = true; + } + } catch (err) { + if (!errorIsComingFromPreactComponent(err)) { + error = err; + } + } - return React.createElement('div'); - } + return React.createElement('div'); + } - renderToStaticMarkup(Tester, props, children, {}); + renderToStaticMarkup(Tester, props, children, {}); - if (error) { - throw error; - } - return isReactComponent; + if (error) { + throw error; + } + return isReactComponent; } function renderToStaticMarkup(Component, props, children, metadata) { - delete props['class']; - const vnode = React.createElement(Component, { - ...props, - children: children != null ? React.createElement(StaticHtml, { value: children }) : undefined, - }); - let html; - if (metadata && metadata.hydrate) { - html = ReactDOM.renderToString(vnode); - } else { - html = ReactDOM.renderToStaticMarkup(vnode); - } - return { html }; + delete props['class']; + const vnode = React.createElement(Component, { + ...props, + children: children != null ? React.createElement(StaticHtml, { value: children }) : undefined, + }); + let html; + if (metadata && metadata.hydrate) { + html = ReactDOM.renderToString(vnode); + } else { + html = ReactDOM.renderToStaticMarkup(vnode); + } + return { html }; } export default { - check, - renderToStaticMarkup, + check, + renderToStaticMarkup, }; diff --git a/packages/renderers/renderer-react/static-html.js b/packages/renderers/renderer-react/static-html.js index 1efc625d0..47130d786 100644 --- a/packages/renderers/renderer-react/static-html.js +++ b/packages/renderers/renderer-react/static-html.js @@ -8,8 +8,8 @@ import { createElement as h } from 'react'; * entirely static and will never change via `shouldComponentUpdate`. */ const StaticHtml = ({ value }) => { - if (!value) return null; - return h('astro-fragment', { suppressHydrationWarning: true, dangerouslySetInnerHTML: { __html: value } }); + if (!value) return null; + return h('astro-fragment', { suppressHydrationWarning: true, dangerouslySetInnerHTML: { __html: value } }); }; /** |