Skip to content

Commit 2bab65c

Browse files
committed
Ban top-level await for node compat
1 parent 51ad543 commit 2bab65c

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

eslint.config.mjs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,22 @@ export default tsEslint.config(
4848
"prefer-const": "off",
4949
},
5050
},
51+
52+
// ban top-level await in our source files
53+
// Node's commonjs require() of ESM syntax requires that they be synchronous
54+
{
55+
files: ["packages/*/index.ts", "packages/*/lib/**/*.ts"],
56+
rules: {
57+
"no-restricted-syntax": [
58+
"error",
59+
{
60+
selector:
61+
"AwaitExpression[argument.type!='AwaitExpression'][parent.type!='FunctionExpression'][parent.type!='FunctionDeclaration'][parent.type!='ArrowFunctionExpression']",
62+
message: "Top-level await is not allowed.",
63+
},
64+
],
65+
},
66+
},
5167
{
5268
files: ["packages/*/types.ts", "packages/*/test.ts"],
5369

0 commit comments

Comments
 (0)