Skip to content

Commit 6940aad

Browse files
- Lint
- Bug fixes - crypto polyfill fixes - updates to bundling - better global installation
1 parent 628c592 commit 6940aad

File tree

12 files changed

+4665
-5038
lines changed

12 files changed

+4665
-5038
lines changed
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
module.exports = {
2-
arrowParens: 'avoid',
3-
bracketSameLine: true,
4-
bracketSpacing: false,
5-
singleQuote: true,
6-
trailingComma: 'all',
2+
singleQuote: false,
3+
semi: true,
4+
trailingComma: 'es5',
5+
printWidth: 150,
76
};
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module.exports = {
2-
presets: ['module:@react-native/babel-preset'],
2+
presets: ["module:@react-native/babel-preset"],
33
};

demo/rn-bare-example/globals.js

Lines changed: 0 additions & 14 deletions
This file was deleted.

demo/rn-bare-example/globals.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { install } from "react-native-quick-crypto";
2+
3+
install();
4+
5+
// Needed so that 'stream-http' chooses the right default protocol.
6+
// @ts-ignore
7+
global.location = {
8+
protocol: "file:",
9+
};
10+
// @ts-ignore
11+
global.process.version = "v16.0.0";
12+
if (!global.process.version) {
13+
global.process = require("process");
14+
console.log({ process: global.process });
15+
}
16+
// @ts-ignore
17+
process.browser = true;
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { AppRegistry } from "react-native";
2-
import "react-native-get-random-values";
32
import "./globals";
43
import App from "./App";
54
import { name as appName } from "./app.json";
6-
AppRegistry.registerComponent(appName, () => App);
5+
AppRegistry.registerComponent(appName, () => App);
Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,29 @@
1-
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
1+
const { getDefaultConfig, mergeConfig } = require("@react-native/metro-config");
22

33
const defaultConfig = getDefaultConfig(__dirname);
44

55
const config = {
6-
resolver: {
7-
extraNodeModules: {
8-
assert: require.resolve("empty-module"), // assert can be polyfilled here if needed
9-
http: require.resolve("empty-module"), // stream-http can be polyfilled here if needed
10-
https: require.resolve("empty-module"), // https-browserify can be polyfilled here if needed
11-
os: require.resolve("empty-module"), // os-browserify can be polyfilled here if needed
12-
url: require.resolve("empty-module"), // url can be polyfilled here if needed
13-
zlib: require.resolve("empty-module"), // browserify-zlib can be polyfilled here if needed
14-
path: require.resolve("empty-module"),
15-
crypto: require.resolve("crypto-browserify"),
16-
stream: require.resolve("readable-stream"),
17-
},
18-
sourceExts: [...defaultConfig.resolver.sourceExts, 'svg'],
6+
resolver: {
7+
extraNodeModules: {
8+
assert: require.resolve("empty-module"), // assert can be polyfilled here if needed
9+
http: require.resolve("empty-module"), // stream-http can be polyfilled here if needed
10+
https: require.resolve("empty-module"), // https-browserify can be polyfilled here if needed
11+
os: require.resolve("empty-module"), // os-browserify can be polyfilled here if needed
12+
url: require.resolve("empty-module"), // url can be polyfilled here if needed
13+
zlib: require.resolve("empty-module"), // browserify-zlib can be polyfilled here if needed
14+
path: require.resolve("empty-module"),
15+
stream: require.resolve("readable-stream"),
1916
},
17+
sourceExts: [...defaultConfig.resolver.sourceExts, "svg"],
18+
resolveRequest: (context, moduleName, platform) => {
19+
if (moduleName === "crypto") {
20+
// when importing crypto, resolve to react-native-quick-crypto
21+
return context.resolveRequest(context, "react-native-quick-crypto", platform);
22+
}
23+
// otherwise chain to the standard Metro resolver.
24+
return context.resolveRequest(context, moduleName, platform);
25+
},
26+
},
2027
};
2128

2229
module.exports = mergeConfig(defaultConfig, config);

0 commit comments

Comments
 (0)