I have installed craco
using yarn add @craco/craco
I have also replaced the scritps
and have created a craco.config.js
JavaScript
x
8
1
module.exports = {
2
webpack: {
3
experiments: {
4
topLevelAwait: true
5
}
6
}
7
}
8
but when I’m trying to use await at top level I’m still getting this error in my react app
JavaScript
1
20
20
1
ERROR in ./src/Enforcer.js
2
3
Module parse failed: The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enabled it)
4
File was processed with these loaders:
5
* ./node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/index.js
6
* ./node_modules/babel-loader/lib/index.js
7
* ./node_modules/source-map-loader/dist/cjs.js
8
You may need an additional loader to handle the result of these loaders.
9
Error: The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enabled it)
10
at /home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/webpack/lib/dependencies/HarmonyDetectionParserPlugin.js:54:11
11
at Hook.eval [as call] (eval at create (/home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:7:16)
12
at Hook.CALL_DELEGATE [as _call] (/home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/tapable/lib/Hook.js:14:14)
13
at JavascriptParser.walkAwaitExpression (/home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/webpack/lib/javascript/JavascriptParser.js:2337:29)
14
at JavascriptParser.walkExpression (/home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/webpack/lib/javascript/JavascriptParser.js:2267:10)
15
at JavascriptParser.walkVariableDeclaration (/home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/webpack/lib/javascript/JavascriptParser.js:2121:33)
16
at JavascriptParser.walkStatement (/home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/webpack/lib/javascript/JavascriptParser.js:1615:10)
17
at JavascriptParser.walkStatements (/home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/webpack/lib/javascript/JavascriptParser.js:1476:9)
18
at JavascriptParser.parse (/home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/webpack/lib/javascript/JavascriptParser.js:3370:9)
19
at /home/shivansh/Desktop/dev/os-2/casbin-core/test/reactjs/node_modules/webpack/lib/NormalModule.js:1087:26
20
Advertisement
Answer
In the craco
docs, it says you need to add a configure
block to handle any webpack configuration options
`
What happens if you change
JavaScript
1
8
1
module.exports = {
2
webpack: {
3
experiments: {
4
topLevelAwait: true
5
}
6
}
7
}
8
to
JavaScript
1
11
11
1
module.exports = {
2
// ...
3
webpack: {
4
configure: {
5
experiments: {
6
topLevelAwait: true
7
}
8
}
9
}
10
}
11