-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add react-native polyfills #1915
Changes from 9 commits
359b197
7117fab
fc79ff1
003b25e
23fc08d
bd3b5a7
97cb092
80d34e1
5647f0d
716310c
35e802d
aef5690
eef46e5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
module.exports = { | ||
parserOptions: { | ||
tsconfigRootDir: __dirname, | ||
project: "./tsconfig.dev.json" | ||
} | ||
}; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Changelog | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: do we need this file? 🤔 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we do as it gets populated by |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
{ | ||
"name": "@waku/polyfills", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @waku-org/js-waku-developers how do you like the name? It is intended for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ah, considering it's just for react-native, i would personally prefer to have that part of the package name for max verbosity maybe in the future when we have different kinds of polyfills, this name would make more sense :D There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. renamed to |
||
"version": "0.0.1", | ||
"description": "Set of polyfills for Waku for React Native environment", | ||
"module": "./dist/index.js", | ||
"exports": { | ||
".": "./dist/index.js", | ||
"./metro": "./dist/metro.js" | ||
}, | ||
"type": "module", | ||
"homepage": "https://github.com/waku-org/js-waku/tree/master/packages/polyfills#readme", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/waku-org/js-waku.git" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/waku-org/js-waku/issues" | ||
}, | ||
"license": "MIT OR Apache-2.0", | ||
"keywords": [ | ||
"waku", | ||
"decentralised", | ||
"communication", | ||
"web3", | ||
"ethereum", | ||
"dapps" | ||
], | ||
"scripts": { | ||
"build": "run-s build:**", | ||
"build:esm": "tsc", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. important to note that |
||
"fix": "run-s fix:*", | ||
"fix:lint": "eslint src *.js --fix", | ||
"check": "run-s check:*", | ||
"check:tsc": "tsc -p tsconfig.dev.json", | ||
"check:lint": "eslint src *.js", | ||
"check:spelling": "cspell \"{README.md,src/**/*.ts}\"", | ||
"prepublish": "npm run build" | ||
}, | ||
"engines": { | ||
"node": ">=18" | ||
}, | ||
"dependencies": { | ||
"event-target-polyfill": "^0.0.4", | ||
"react-native-url-polyfill": "^2.0.0", | ||
"text-encoding-polyfill": "^0.6.7" | ||
}, | ||
"devDependencies": { | ||
"expo": "~50.0.13" | ||
}, | ||
"peerDependencies": { | ||
"expo": "~50.0.13", | ||
"react-native": "0.73.6" | ||
}, | ||
"files": [ | ||
"dist", | ||
"bundle", | ||
"src/**/*.ts", | ||
"!**/*.json", | ||
"CHANGELOG.md", | ||
"LICENSE", | ||
"README.md" | ||
] | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import "event-target-polyfill"; | ||
import "text-encoding-polyfill"; | ||
import "react-native-url-polyfill/auto"; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import path, { dirname } from "path"; | ||
import { fileURLToPath } from "url"; | ||
|
||
import type { MetroConfig } from "expo/metro-config"; | ||
|
||
const __dirname = dirname(fileURLToPath(import.meta.url)); | ||
|
||
type Writeable<T> = { -readonly [P in keyof T]: Writeable<T[P]> }; | ||
|
||
export function setupWakuMetroConfig(config: Writeable<MetroConfig>): void { | ||
config.resolver.unstable_enablePackageExports = true; | ||
config.resolver.extraNodeModules = { | ||
url: path.resolve(__dirname, "node_modules", "react-native-url-polyfill") | ||
}; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"extends": "../../tsconfig.dev" | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"extends": "../../tsconfig", | ||
"compilerOptions": { | ||
"outDir": "dist/", | ||
"rootDir": "src", | ||
"tsBuildInfoFile": "dist/.tsbuildinfo" | ||
}, | ||
"include": ["src"], | ||
"exclude": ["src/**/*.spec.ts", "src/test_utils"] | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
side change to allow publishing from other branches