Skip to content

Commit 7005e3a

Browse files
committed
Add mock for the "bindings" package
1 parent 2831eca commit 7005e3a

File tree

6 files changed

+26
-2
lines changed

6 files changed

+26
-2
lines changed

eslint.config.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ export default tseslint.config(
1111
tseslint.configs.recommended,
1212
{
1313
files: [
14-
"apps/test-app/*.js"
14+
"apps/test-app/*.js",
15+
"packages/node-addon-examples/*.js",
16+
"packages/react-native-node-api-modules/metro-resolver.js",
17+
"packages/react-native-node-api-modules/bindings-polyfill.js",
1518
],
1619
languageOptions: {
1720
parserOptions: {
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require("./dist/bindings-polyfill/index.js");

packages/react-native-node-api-modules/package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
"./metro-resolver": {
1717
"types": "./dist/metro-resolver/index.d.ts",
1818
"default": "./dist/metro-resolver/index.js"
19+
},
20+
"./bindings-polyfill": {
21+
"types": "./dist/bindings-polyfill/index.d.ts",
22+
"default": "./dist/bindings-polyfill/index.js"
1923
}
2024
},
2125
"scripts": {
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { requireNodeAddon } from "../host";
2+
3+
function binding(moduleName: string): unknown {
4+
return requireNodeAddon(moduleName);
5+
}
6+
7+
export = binding;

packages/react-native-node-api-modules/src/metro-resolver/index.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,14 @@ export const resolveRequest: CustomResolver = (
77
moduleName,
88
platform
99
) => {
10+
// Mock the "bindings" module
11+
if (moduleName === "bindings") {
12+
return {
13+
filePath: require.resolve(
14+
"react-native-node-api-modules/bindings-polyfill"
15+
),
16+
type: "sourceFile",
17+
};
18+
}
1019
return context.resolveRequest(context, moduleName, platform);
1120
};

packages/react-native-node-api-modules/tsconfig.react-native.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
"rootDir": "src",
99
"types": ["react-native"]
1010
},
11-
"include": ["src/host"]
11+
"include": ["src/host", "src/bindings-polyfill"]
1212
}

0 commit comments

Comments
 (0)