Hi folks!
I have been trying to get Sage 10 to use React 18.2 but so far nothing. I added @bud-react to see if it would make it easy, but can’t get it to run. I keep getting the same error:
TypeError: (0 , react_dom__WEBPACK_IMPORTED_MODULE_2__.createRoot) is not a function
If it helps here’s my package.json and the app.js file.
// package.json
{
"name": "sage",
"private": true,
"browserslist": [
"extends @roots/browserslist-config"
],
"engines": {
"node": ">=16.0.0"
},
"type": "module",
"scripts": {
"dev": "bud dev",
"build": "bud build",
"translate": "yarn translate:pot && yarn translate:update",
"translate:pot": "wp i18n make-pot . ./resources/lang/sage.pot --include=\"app,resources\"",
"translate:update": "for filename in ./resources/lang/*.po; do msgmerge -U $filename ./resources/lang/sage.pot; done; rm -f ./resources/lang/*.po~",
"translate:compile": "yarn translate:mo && yarn translate:js",
"translate:js": "wp i18n make-json ./resources/lang --pretty-print",
"translate:mo": "wp i18n make-mo ./resources/lang ./resources/lang"
},
"devDependencies": {
"@roots/bud": "6.8.0",
"@roots/bud-react": "6.8.0",
"@roots/bud-tailwindcss": "6.8.0",
"@roots/sage": "6.8.0"
}
}
// app.js
import domReady from '@roots/sage/client/dom-ready';
import React from 'react';
import { createRoot } from 'react-dom';
/**
* Application entrypoint
*/
domReady(async () => {
const App = () => <div>Hello world</div>;
createRoot(document.getElementById('root')).render(<App />);
});
/**
* @see {@link https://webpack.js.org/api/hot-module-replacement/}
*/
import.meta.webpackHot?.accept(console.error);
And I’m using the default configuration from sage on my bud.config.js I just really updated the proxy origin.
Any help would be appreciated.