Skip to content

Commit

Permalink
feat: add react-native polyfills (#1915)
Browse files Browse the repository at this point in the history
* make publishing from any branch

* feat: add @waku/pollyills package

* add package tracking

* up lock

* add peer dependencies and other improvements

* up lock

* up lock

* use es module syntax, remove usage of rollup

* rename to react-native-polyfills

* up command

* up lock
  • Loading branch information
weboko committed Apr 2, 2024
1 parent bf42c8f commit 9be942f
Show file tree
Hide file tree
Showing 11 changed files with 39,470 additions and 21,001 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ jobs:
pre-release:
name: pre-release
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master'
if: github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@v3
with:
Expand Down
60,365 changes: 39,367 additions & 20,998 deletions package-lock.json

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
"packages/sdk",
"packages/tests",
"packages/browser-tests",
"packages/build-utils"
"packages/build-utils",
"packages/react-native-polyfills"
],
"scripts": {
"prepare": "husky install",
Expand Down
6 changes: 6 additions & 0 deletions packages/react-native-polyfills/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
parserOptions: {
tsconfigRootDir: __dirname,
project: "./tsconfig.dev.json"
}
};
1 change: 1 addition & 0 deletions packages/react-native-polyfills/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Changelog
60 changes: 60 additions & 0 deletions packages/react-native-polyfills/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"name": "@waku/react-native-polyfills",
"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/react-native-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",
"check": "run-s check:*",
"check:tsc": "tsc -p tsconfig.dev.json",
"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"
]
}
3 changes: 3 additions & 0 deletions packages/react-native-polyfills/src/index.ts
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";
15 changes: 15 additions & 0 deletions packages/react-native-polyfills/src/metro.ts
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")
};
}
3 changes: 3 additions & 0 deletions packages/react-native-polyfills/tsconfig.dev.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "../../tsconfig.dev"
}
10 changes: 10 additions & 0 deletions packages/react-native-polyfills/tsconfig.json
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"]
}
3 changes: 2 additions & 1 deletion release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"packages/message-encryption": {},
"packages/sdk": {},
"packages/relay": {},
"packages/discovery": {}
"packages/discovery": {},
"packages/react-native-polyfills": {}
}
}

0 comments on commit 9be942f

Please sign in to comment.