Running preact 10.0.5 with preact-compat 3.19.0 in a fable 2.4.10 results in error
TypeError: VNode is undefined
{
"private": true,
"scripts": {
"start": "webpack-dev-server",
"build": "webpack"
},
"dependencies": {
"preact": "10.0.5",
"preact-compat": "3.19.0"
},
"devDependencies": {
"@babel/core": "^7.7.5",
"fable-compiler": "^2.4.10",
"fable-loader": "^2.1.8",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0"
}
}
var path = require('path')
module.exports = {
mode: 'development',
entry: './src/App.fsproj',
resolve: {
alias: {
react: 'preact-compat',
'react-dom': 'preact-compat'
}
},
output: {
path: path.join(__dirname, './public'),
filename: 'bundle.js',
},
devServer: {
contentBase: './public',
port: 8080,
},
module: {
rules: [{
test: /\.fs(x|proj)?$/,
use: 'fable-loader'
}]
}
}
preact 8.5.3 works fine.
You need to alias to preact/compat instead of preact-compat. The latter is meant for 8.x while the former is meant for 10.
Thanks a lot @JoviDeCroock !
Most helpful comment
You need to alias to preact/compat instead of preact-compat. The latter is meant for 8.x while the former is meant for 10.