From 2a48997be7ccfdcde7d1198c4ad4d3a372d7df46 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Mon, 27 Jan 2025 17:34:11 +0000 Subject: [PATCH 01/65] Fix issues found during release process (#2293) * prevent angular cli from prompting about analytics during release * replace usage of word 'master' with 'main' * test: :white_check_mark: update kotlin version to 1.6.0 * update pinned version of concurrent-ruby in fixture gemfiles --- .github/workflows/codeql.yml | 2 +- CONTRIBUTING.md | 12 ++++++------ docker-compose.yml | 1 + packages/plugin-angular/angular.json | 3 +++ scripts/generate-react-native-fixture.js | 2 +- .../features/fixtures/rn0_66/android/build.gradle | 2 +- .../features/fixtures/rn0_67/android/build.gradle | 2 +- .../fixtures/rn0_67_hermes/android/build.gradle | 2 +- 8 files changed, 15 insertions(+), 11 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index af2e0091a1..fb9f50914e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -13,7 +13,7 @@ name: "CodeQL" on: push: - branches: [ "next", integration/*, master ] + branches: [ "next", integration/*, main ] pull_request: # The branches below must be a subset of the branches above branches: [ "next" ] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cfae7bae4d..30b85b2cc0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -68,13 +68,13 @@ To start a release: - create a new release branch from `next` with the version number in the branch name `git checkout -b release/vX.Y.Z` - update the version number and date in the changelog -- make a PR from your release branch to `master` entitled `Release vX.Y.Z` +- make a PR from your release branch to `main` entitled `Release vX.Y.Z` - get the release PR reviewed – all code changes should have been reviewed already, this should be a review of the integration of all changes to be shipped and the changelog - consider shipping a [prerelease](#prereleases) to aid testing the release Once the release PR has been approved: -- merge the PR into master +- merge the PR into main You are now ready to make the release. Releases are done using Docker and Docker compose. You do not need to have the release branch checked out on your local machine to make a release – the container pulls a fresh clone of the repo down from GitHub. Prerequisites: @@ -95,7 +95,7 @@ GITHUB_USER= \ GITHUB_ACCESS_TOKEN= \ AWS_ACCESS_KEY_ID=xxx \ AWS_SECRET_ACCESS_KEY=xxx \ -RELEASE_BRANCH=master \ +RELEASE_BRANCH=main \ VERSION=patch \ DIST_TAG=latest \ docker-compose run release @@ -116,7 +116,7 @@ Finally: - update and push `next`: ``` git checkout next - git merge master + git merge main git push ``` @@ -141,7 +141,7 @@ GITHUB_USER= \ GITHUB_ACCESS_TOKEN= \ AWS_ACCESS_KEY_ID=xxx \ AWS_SECRET_ACCESS_KEY=xxx \ -RELEASE_BRANCH=master \ +RELEASE_BRANCH=main \ VERSION=preminor \ DIST_TAG=next \ docker-compose run release @@ -166,7 +166,7 @@ GITHUB_USER= \ GITHUB_ACCESS_TOKEN= \ AWS_ACCESS_KEY_ID=xxx \ AWS_SECRET_ACCESS_KEY=xxx \ -RELEASE_BRANCH=master \ +RELEASE_BRANCH=main \ VERSION=patch \ DIST_TAG=latest \ RETRY_PUBLISH=1 \ diff --git a/docker-compose.yml b/docker-compose.yml index e4b1b9478f..9a41ca54ab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -225,6 +225,7 @@ services: AWS_SECRET_ACCESS_KEY: VERSION: DIST_TAG: + NG_CLI_ANALYTICS: false PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 volumes: - ~/.gitconfig:/home/releaser/.gitconfig diff --git a/packages/plugin-angular/angular.json b/packages/plugin-angular/angular.json index 347b60dac6..5588710205 100644 --- a/packages/plugin-angular/angular.json +++ b/packages/plugin-angular/angular.json @@ -24,5 +24,8 @@ } } } + }, + "cli": { + "analytics": false } } diff --git a/scripts/generate-react-native-fixture.js b/scripts/generate-react-native-fixture.js index e334d2909d..20c7b70ab9 100644 --- a/scripts/generate-react-native-fixture.js +++ b/scripts/generate-react-native-fixture.js @@ -203,7 +203,7 @@ function configureIOSProject () { if (fs.existsSync(gemfilePath)) { let gemfileContents = fs.readFileSync(gemfilePath, 'utf8') gemfileContents += '\ngem \'xcodeproj\', \'< 1.26.0\'' - gemfileContents += '\ngem \'concurrent-ruby\', \'1.3.4\'' + gemfileContents += '\ngem \'concurrent-ruby\', \'<= 1.3.4\'' fs.writeFileSync(gemfilePath, gemfileContents) } diff --git a/test/react-native-cli/features/fixtures/rn0_66/android/build.gradle b/test/react-native-cli/features/fixtures/rn0_66/android/build.gradle index 48b698620a..d52fa0a1e2 100644 --- a/test/react-native-cli/features/fixtures/rn0_66/android/build.gradle +++ b/test/react-native-cli/features/fixtures/rn0_66/android/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - kotlin_version = "1.4.30" + kotlin_version = "1.6.0" RNNKotlinVersion = kotlin_version buildToolsVersion = "30.0.2" minSdkVersion = 21 diff --git a/test/react-native-cli/features/fixtures/rn0_67/android/build.gradle b/test/react-native-cli/features/fixtures/rn0_67/android/build.gradle index 02ec45ab8c..d1853e8669 100644 --- a/test/react-native-cli/features/fixtures/rn0_67/android/build.gradle +++ b/test/react-native-cli/features/fixtures/rn0_67/android/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - kotlin_version = "1.4.30" + kotlin_version = "1.6.0" RNNKotlinVersion = kotlin_version buildToolsVersion = "30.0.2" minSdkVersion = 21 diff --git a/test/react-native-cli/features/fixtures/rn0_67_hermes/android/build.gradle b/test/react-native-cli/features/fixtures/rn0_67_hermes/android/build.gradle index 02ec45ab8c..d1853e8669 100644 --- a/test/react-native-cli/features/fixtures/rn0_67_hermes/android/build.gradle +++ b/test/react-native-cli/features/fixtures/rn0_67_hermes/android/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - kotlin_version = "1.4.30" + kotlin_version = "1.6.0" RNNKotlinVersion = kotlin_version buildToolsVersion = "30.0.2" minSdkVersion = 21 From 71d3c93eff8a8968f582bd47728a75270444e71a Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Mon, 27 Jan 2025 17:44:53 +0000 Subject: [PATCH 02/65] Remove node-fetch dependency (#2281) * chore: :lock: override node-fetch version * chore: :heavy_minus_sign: remove node-fetch dependency --- package-lock.json | 353 ++++++++++++++++++++++++++++++++-------------- package.json | 1 - 2 files changed, 244 insertions(+), 110 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea7454d2e3..36d2db0b2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -68,7 +68,6 @@ "lerna": "^8.1.8", "metro-react-native-babel-preset": "^0.58.0", "ncp": "^2.0.0", - "node-fetch": "^2.6.0", "playwright": "^1.10.0", "proxyquire": "^2.1.3", "ps-list": "^7.2.0", @@ -8414,6 +8413,7 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -8625,7 +8625,8 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@lerna/create/node_modules/tslib": { "version": "2.7.0", @@ -8674,13 +8675,15 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/@lerna/create/node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -10279,6 +10282,52 @@ "node": ">=0.10.0" } }, + "node_modules/@octokit/request/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@octokit/request/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/request/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@octokit/request/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/@octokit/rest": { "version": "19.0.11", "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", @@ -11155,6 +11204,27 @@ "node": ">=8" } }, + "node_modules/@react-native-community/cli-tools/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11167,6 +11237,31 @@ "node": ">=8" } }, + "node_modules/@react-native-community/cli-tools/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@react-native-community/cli-tools/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@react-native-community/cli-tools/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/@react-native-community/cli-types": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-4.10.1.tgz", @@ -25145,6 +25240,7 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "dev": true, + "license": "MIT", "dependencies": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -32134,6 +32230,7 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -32377,7 +32474,8 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lerna/node_modules/tslib": { "version": "2.7.0", @@ -32424,13 +32522,15 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/lerna/node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -35486,6 +35586,27 @@ "node": ">= 0.6" } }, + "node_modules/metro/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/metro/node_modules/normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", @@ -35612,6 +35733,31 @@ "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", "dev": true }, + "node_modules/metro/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/metro/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/metro/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/metro/node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -36621,57 +36767,6 @@ "node": ">= 0.10.5" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, "node_modules/node-gyp": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", @@ -44447,13 +44542,6 @@ "defaults": "^1.0.3" } }, - "node_modules/weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true, - "optional": true - }, "node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", @@ -65353,6 +65441,37 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } } } }, @@ -66232,6 +66351,15 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -66240,6 +66368,28 @@ "requires": { "has-flag": "^4.0.0" } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } } } }, @@ -84287,6 +84437,15 @@ "mime-db": "~1.23.0" } }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", @@ -84381,6 +84540,28 @@ "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", "dev": true }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -85813,45 +85994,6 @@ "minimatch": "^3.0.2" } }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - }, - "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true - }, "node-gyp": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", @@ -91816,13 +91958,6 @@ "defaults": "^1.0.3" } }, - "weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true, - "optional": true - }, "webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", diff --git a/package.json b/package.json index a72d57775e..4e7a9f5304 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,6 @@ "lerna": "^8.1.8", "metro-react-native-babel-preset": "^0.58.0", "ncp": "^2.0.0", - "node-fetch": "^2.6.0", "playwright": "^1.10.0", "proxyquire": "^2.1.3", "ps-list": "^7.2.0", From 8bc743dec3343ce73f444cc71add152032583a34 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Tue, 28 Jan 2025 16:51:29 +0000 Subject: [PATCH 03/65] Added a null check to BugsnagErrorHandler (#2295) * fix: :bug: fail quietly when client is null * docs: :memo: update CHANGELOG.md --- CHANGELOG.md | 6 +++ .../src/lib/bugsnag-error-handler.ts | 48 ++++++++++--------- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e044d36ff7..674f3d6770 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [Unreleased] + +### Fixed + +- (plugin-angular) Added a null check so BugsnagErrorHandler fails silently when misconfigured [#2295](https://github.com/bugsnag/bugsnag-js/pull/2295) + ## [8.2.0] - 2025-01-27 ### Added diff --git a/packages/plugin-angular/src/lib/bugsnag-error-handler.ts b/packages/plugin-angular/src/lib/bugsnag-error-handler.ts index f10fb53634..1e969a59a4 100644 --- a/packages/plugin-angular/src/lib/bugsnag-error-handler.ts +++ b/packages/plugin-angular/src/lib/bugsnag-error-handler.ts @@ -2,11 +2,11 @@ import { ErrorHandler, VERSION } from '@angular/core' import Bugsnag, { Client } from '@bugsnag/js' type BugsnagWithInternals = typeof Bugsnag & { - _client: Client + _client: Client | null } class BugsnagErrorHandler implements ErrorHandler { - public bugsnagClient: Client; + public bugsnagClient: Client | null; constructor (client?: Client) { if (client) { @@ -17,31 +17,35 @@ class BugsnagErrorHandler implements ErrorHandler { // Add angular runtime to device metadata const device = { runtimeVersions: { angular: VERSION.full } } - this.bugsnagClient.addOnSession(session => { - session.device = { ...session.device, ...device } - }) - this.bugsnagClient.addOnError((event) => { - event.device = { ...event.device, ...device } - }) + if (this.bugsnagClient) { + this.bugsnagClient.addOnSession(session => { + session.device = { ...session.device, ...device } + }) + this.bugsnagClient.addOnError((event) => { + event.device = { ...event.device, ...device } + }) + } } handleError (error: any): void { - const handledState = { - severity: 'error', - severityReason: { type: 'unhandledException' }, - unhandled: true + if (this.bugsnagClient) { + const handledState = { + severity: 'error', + severityReason: { type: 'unhandledException' }, + unhandled: true + } + + const event = this.bugsnagClient.Event.create( + error, + true, + handledState, + 'angular error handler', + 1 + ) + + this.bugsnagClient._notify(event) } - const event = this.bugsnagClient.Event.create( - error, - true, - handledState, - 'angular error handler', - 1 - ) - - this.bugsnagClient._notify(event) - // Replicate the default behaviour of the angular error handler by calling console.error // previously this called ErrorHandler.prototype.handleError but this caused a mismatch between // the compiled code and the angular version used in the application. From 58ba11daf95b5cd978fea1149da788b04673de99 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Wed, 29 Jan 2025 17:19:56 +0000 Subject: [PATCH 04/65] chore: :package: update package-lock file --- package-lock.json | 60 +++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36d2db0b2a..65873a858d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3704,19 +3704,18 @@ } }, "node_modules/@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.5.tgz", + "integrity": "sha512-/vyCWhET0ktav/mUeBqJRYTwmjFPIKPRYb3COAw7qORULgipGSUO2vL32lQKki3UxDKJ8BvuEbokaoyCA6YlWw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.3", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, @@ -3725,9 +3724,9 @@ } }, "node_modules/@inquirer/core/node_modules/@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.3.tgz", + "integrity": "sha512-I4VIHFxUuY1bshGbXZTxCmhwaaEst9s/lll3ekok+o1Z26/ZUKdx8y1b7lsoG6rtsBDwEGfiBJ2SfirjoISLpg==", "dev": true, "license": "MIT", "engines": { @@ -3738,9 +3737,9 @@ } }, "node_modules/@inquirer/core/node_modules/@types/node": { - "version": "22.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", - "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", + "version": "22.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz", + "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==", "dev": true, "license": "MIT", "peer": true, @@ -3855,9 +3854,9 @@ } }, "node_modules/@inquirer/figures": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.9.tgz", - "integrity": "sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.10.tgz", + "integrity": "sha512-Ey6176gZmeqZuY/W/nZiUyvmb1/qInjcpiZjXWi6nON+nxJpD1bxtSoBxNliGISae32n6OwbY+TSXPZ1CfS4bw==", "dev": true, "license": "MIT", "engines": { @@ -52432,6 +52431,7 @@ "packages/plugin-electron-app": { "name": "@bugsnag/plugin-electron-app", "version": "8.2.0", + "hasInstallScript": true, "license": "MIT", "dependencies": { "bindings": "^1.5.0" @@ -52473,6 +52473,7 @@ "packages/plugin-electron-client-state-persistence": { "name": "@bugsnag/plugin-electron-client-state-persistence", "version": "8.2.0", + "hasInstallScript": true, "license": "MIT", "dependencies": { "bindings": "^1.5.0" @@ -60561,33 +60562,32 @@ "dev": true }, "@inquirer/core": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.4.tgz", - "integrity": "sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==", + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.5.tgz", + "integrity": "sha512-/vyCWhET0ktav/mUeBqJRYTwmjFPIKPRYb3COAw7qORULgipGSUO2vL32lQKki3UxDKJ8BvuEbokaoyCA6YlWw==", "dev": true, "requires": { - "@inquirer/figures": "^1.0.9", - "@inquirer/type": "^3.0.2", + "@inquirer/figures": "^1.0.10", + "@inquirer/type": "^3.0.3", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "dependencies": { "@inquirer/type": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.2.tgz", - "integrity": "sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.3.tgz", + "integrity": "sha512-I4VIHFxUuY1bshGbXZTxCmhwaaEst9s/lll3ekok+o1Z26/ZUKdx8y1b7lsoG6rtsBDwEGfiBJ2SfirjoISLpg==", "dev": true, "requires": {} }, "@types/node": { - "version": "22.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", - "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", + "version": "22.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz", + "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==", "dev": true, "peer": true, "requires": { @@ -60672,9 +60672,9 @@ } }, "@inquirer/figures": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.9.tgz", - "integrity": "sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.10.tgz", + "integrity": "sha512-Ey6176gZmeqZuY/W/nZiUyvmb1/qInjcpiZjXWi6nON+nxJpD1bxtSoBxNliGISae32n6OwbY+TSXPZ1CfS4bw==", "dev": true }, "@isaacs/cliui": { From 00bfcd9d743abbcc0d56c64049d814b5f365b7e9 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Wed, 29 Jan 2025 17:10:53 +0000 Subject: [PATCH 05/65] chore: :fire: remove all instances of Gemfile.lock --- test/node/Gemfile.lock | 127 ---------- .../features/fixtures/rn0_67/Gemfile.lock | 100 -------- .../fixtures/rn0_67_hermes/Gemfile.lock | 100 -------- test/react-native/Gemfile.lock | 227 ------------------ .../features/fixtures/rn0.67/Gemfile.lock | 100 -------- .../fixtures/rn0.68-hermes/Gemfile.lock | 100 -------- 6 files changed, 754 deletions(-) delete mode 100644 test/node/Gemfile.lock delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/Gemfile.lock delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/Gemfile.lock delete mode 100644 test/react-native/Gemfile.lock delete mode 100644 test/react-native/features/fixtures/rn0.67/Gemfile.lock delete mode 100644 test/react-native/features/fixtures/rn0.68-hermes/Gemfile.lock diff --git a/test/node/Gemfile.lock b/test/node/Gemfile.lock deleted file mode 100644 index 33bef7a589..0000000000 --- a/test/node/Gemfile.lock +++ /dev/null @@ -1,127 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - appium_lib (12.0.1) - appium_lib_core (~> 5.0) - nokogiri (~> 1.8, >= 1.8.1) - tomlrb (>= 1.1, < 3.0) - appium_lib_core (5.4.0) - faye-websocket (~> 0.11.0) - selenium-webdriver (~> 4.2, < 4.6) - bugsnag (6.26.0) - concurrent-ruby (~> 1.0) - bugsnag-maze-runner (8.13.1) - appium_lib (~> 12.0.0) - appium_lib_core (~> 5.4.0) - bugsnag (~> 6.24) - cucumber (~> 7.1) - cucumber-expressions (~> 6.0.0) - curb (~> 0.9.6) - dogstatsd-ruby (~> 5.5.0) - json_schemer (~> 0.2.24) - optimist (~> 3.0.1) - os (~> 1.0.0) - rack (~> 2.2) - rake (~> 12.3.3) - rubyzip (~> 2.3.2) - selenium-webdriver (~> 4.0) - test-unit (~> 3.5.2) - webrick (~> 1.7.0) - builder (3.2.4) - childprocess (4.1.0) - concurrent-ruby (1.2.2) - cucumber (7.1.0) - builder (~> 3.2, >= 3.2.4) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-create-meta (~> 6.0, >= 6.0.1) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-html-formatter (~> 17.0, >= 17.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-wire (~> 6.2, >= 6.2.0) - diff-lcs (~> 1.4, >= 1.4.4) - mime-types (~> 3.3, >= 3.3.1) - multi_test (~> 0.1, >= 0.1.2) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-core (10.1.1) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-create-meta (6.0.4) - cucumber-messages (~> 17.1, >= 17.1.1) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-cucumber-expressions (14.0.0) - cucumber-expressions (6.0.1) - cucumber-gherkin (22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-html-formatter (17.0.0) - cucumber-messages (~> 17.1, >= 17.1.0) - cucumber-messages (17.1.1) - cucumber-tag-expressions (4.1.0) - cucumber-wire (6.2.1) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - curb (0.9.11) - diff-lcs (1.5.0) - dogstatsd-ruby (5.5.0) - ecma-re-validator (0.4.0) - regexp_parser (~> 2.2) - eventmachine (1.2.7) - faye-websocket (0.11.3) - eventmachine (>= 0.12.0) - websocket-driver (>= 0.5.1) - ffi (1.16.3) - hana (1.3.7) - json_schemer (0.2.25) - ecma-re-validator (~> 0.3) - hana (~> 1.3) - regexp_parser (~> 2.0) - simpleidn (~> 0.2) - uri_template (~> 0.7) - mime-types (3.5.1) - mime-types-data (~> 3.2015) - mime-types-data (3.2023.1003) - mini_portile2 (2.8.5) - multi_test (0.1.2) - nokogiri (1.15.5) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) - optimist (3.0.1) - os (1.0.1) - power_assert (2.0.3) - racc (1.7.3) - rack (2.2.8) - rake (12.3.3) - regexp_parser (2.8.2) - rexml (3.2.6) - rubyzip (2.3.2) - selenium-webdriver (4.5.0) - childprocess (>= 0.5, < 5.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - simpleidn (0.2.1) - unf (~> 0.1.4) - sys-uname (1.2.3) - ffi (~> 1.1) - test-unit (3.5.9) - power_assert - tomlrb (2.0.3) - unf (0.1.4) - unf_ext - unf_ext (0.0.9.1) - uri_template (0.7.0) - webrick (1.7.0) - websocket (1.2.10) - websocket-driver (0.7.6) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - -PLATFORMS - ruby - -DEPENDENCIES - bugsnag-maze-runner (~> 8.0) - -BUNDLED WITH - 2.2.20 diff --git a/test/react-native-cli/features/fixtures/rn0_67/Gemfile.lock b/test/react-native-cli/features/fixtures/rn0_67/Gemfile.lock deleted file mode 100644 index 99e810cbd5..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_67/Gemfile.lock +++ /dev/null @@ -1,100 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.5) - rexml - activesupport (6.1.5) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - atomos (0.1.3) - claide (1.1.0) - cocoapods (1.11.3) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.11.3) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.4.0, < 2.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.4.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 1.0, < 3.0) - xcodeproj (>= 1.21.0, < 2.0) - cocoapods-core (1.11.3) - activesupport (>= 5.0, < 7) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-downloader (1.5.1) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.1.9) - escape (0.0.4) - ethon (0.15.0) - ffi (>= 1.15.0) - ffi (1.15.5) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - httpclient (2.8.3) - i18n (1.10.0) - concurrent-ruby (~> 1.0) - json (2.6.1) - minitest (5.15.0) - molinillo (0.8.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - public_suffix (4.0.6) - rexml (3.2.5) - ruby-macho (2.5.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (2.0.4) - concurrent-ruby (~> 1.0) - xcodeproj (1.21.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) - zeitwerk (2.5.4) - -PLATFORMS - ruby - -DEPENDENCIES - cocoapods (~> 1.11, >= 1.11.2) - -RUBY VERSION - ruby 2.7.4p191 - -BUNDLED WITH - 2.2.27 diff --git a/test/react-native-cli/features/fixtures/rn0_67_hermes/Gemfile.lock b/test/react-native-cli/features/fixtures/rn0_67_hermes/Gemfile.lock deleted file mode 100644 index 99e810cbd5..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_67_hermes/Gemfile.lock +++ /dev/null @@ -1,100 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.5) - rexml - activesupport (6.1.5) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - atomos (0.1.3) - claide (1.1.0) - cocoapods (1.11.3) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.11.3) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.4.0, < 2.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.4.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 1.0, < 3.0) - xcodeproj (>= 1.21.0, < 2.0) - cocoapods-core (1.11.3) - activesupport (>= 5.0, < 7) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-downloader (1.5.1) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.1.9) - escape (0.0.4) - ethon (0.15.0) - ffi (>= 1.15.0) - ffi (1.15.5) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - httpclient (2.8.3) - i18n (1.10.0) - concurrent-ruby (~> 1.0) - json (2.6.1) - minitest (5.15.0) - molinillo (0.8.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - public_suffix (4.0.6) - rexml (3.2.5) - ruby-macho (2.5.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (2.0.4) - concurrent-ruby (~> 1.0) - xcodeproj (1.21.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) - zeitwerk (2.5.4) - -PLATFORMS - ruby - -DEPENDENCIES - cocoapods (~> 1.11, >= 1.11.2) - -RUBY VERSION - ruby 2.7.4p191 - -BUNDLED WITH - 2.2.27 diff --git a/test/react-native/Gemfile.lock b/test/react-native/Gemfile.lock deleted file mode 100644 index 70eb737499..0000000000 --- a/test/react-native/Gemfile.lock +++ /dev/null @@ -1,227 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.7) - base64 - nkf - rexml - activesupport (7.1.2) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - addressable (2.8.5) - public_suffix (>= 2.0.2, < 6.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - appium_lib (12.0.1) - appium_lib_core (~> 5.0) - nokogiri (~> 1.8, >= 1.8.1) - tomlrb (>= 1.1, < 3.0) - appium_lib_core (5.4.0) - faye-websocket (~> 0.11.0) - selenium-webdriver (~> 4.2, < 4.6) - atomos (0.1.3) - base64 (0.2.0) - bigdecimal (3.1.4) - bugsnag (6.27.1) - concurrent-ruby (~> 1.0) - bugsnag-maze-runner (9.15.0) - appium_lib (~> 12.0.0) - appium_lib_core (~> 5.4.0) - base64 (~> 0.2.0) - bigdecimal (~> 3.1) - bugsnag (~> 6.24) - cucumber (~> 7.1) - cucumber-expressions (~> 6.0.0) - curb (~> 1.0.5) - dogstatsd-ruby (~> 5.5.0) - json_schemer (~> 0.2.24) - logger (~> 1.6) - optimist (~> 3.0.1) - os (~> 1.0.0) - ostruct (~> 0.6.0) - rack (~> 2.2) - rake (~> 12.3.3) - rubyzip (~> 2.3.2) - selenium-webdriver (~> 4.0) - test-unit (~> 3.5.2) - webrick (~> 1.7.0) - builder (3.3.0) - childprocess (4.1.0) - claide (1.1.0) - cocoapods (1.14.3) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.14.3) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 2.1, < 3.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.6.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 2.3.0, < 3.0) - xcodeproj (>= 1.23.0, < 2.0) - cocoapods-core (1.14.3) - activesupport (>= 5.0, < 8) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-downloader (2.1) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.2.2) - connection_pool (2.4.1) - cucumber (7.1.0) - builder (~> 3.2, >= 3.2.4) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-create-meta (~> 6.0, >= 6.0.1) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-html-formatter (~> 17.0, >= 17.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-wire (~> 6.2, >= 6.2.0) - diff-lcs (~> 1.4, >= 1.4.4) - mime-types (~> 3.3, >= 3.3.1) - multi_test (~> 0.1, >= 0.1.2) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-core (10.1.1) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-create-meta (6.0.4) - cucumber-messages (~> 17.1, >= 17.1.1) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-cucumber-expressions (14.0.0) - cucumber-expressions (6.0.1) - cucumber-gherkin (22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-html-formatter (17.0.0) - cucumber-messages (~> 17.1, >= 17.1.0) - cucumber-messages (17.1.1) - cucumber-tag-expressions (4.1.0) - cucumber-wire (6.2.1) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - curb (1.0.6) - diff-lcs (1.5.1) - dogstatsd-ruby (5.5.0) - drb (2.2.0) - ruby2_keywords - ecma-re-validator (0.4.0) - regexp_parser (~> 2.2) - escape (0.0.4) - ethon (0.16.0) - ffi (>= 1.15.0) - eventmachine (1.2.7) - faye-websocket (0.11.3) - eventmachine (>= 0.12.0) - websocket-driver (>= 0.5.1) - ffi (1.16.3) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - hana (1.3.7) - httpclient (2.8.3) - i18n (1.14.1) - concurrent-ruby (~> 1.0) - json (2.6.3) - json_schemer (0.2.25) - ecma-re-validator (~> 0.3) - hana (~> 1.3) - regexp_parser (~> 2.0) - simpleidn (~> 0.2) - uri_template (~> 0.7) - logger (1.6.1) - mime-types (3.6.0) - logger - mime-types-data (~> 3.2015) - mime-types-data (3.2024.1001) - mini_portile2 (2.8.7) - minitest (5.20.0) - molinillo (0.8.0) - multi_test (0.1.2) - mutex_m (0.2.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - nkf (0.2.0) - nokogiri (1.16.7) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) - optimist (3.0.1) - os (1.0.1) - ostruct (0.6.0) - power_assert (2.0.4) - public_suffix (4.0.7) - racc (1.8.1) - rack (2.2.10) - rake (12.3.3) - regexp_parser (2.9.2) - rexml (3.3.9) - ruby-macho (2.5.1) - ruby2_keywords (0.0.5) - rubyzip (2.3.2) - selenium-webdriver (4.5.0) - childprocess (>= 0.5, < 5.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - simpleidn (0.2.3) - sys-uname (1.3.0) - ffi (~> 1.1) - test-unit (3.5.9) - power_assert - tomlrb (2.0.3) - typhoeus (1.4.1) - ethon (>= 0.9.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - uri_template (0.7.0) - webrick (1.7.0) - websocket (1.2.11) - websocket-driver (0.7.6) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - xcodeproj (1.25.1) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (>= 3.3.6, < 4.0) - -PLATFORMS - ruby - -DEPENDENCIES - bugsnag-maze-runner (~> 9.0) - cocoapods - xcodeproj (= 1.25.1) - -BUNDLED WITH - 2.4.8 diff --git a/test/react-native/features/fixtures/rn0.67/Gemfile.lock b/test/react-native/features/fixtures/rn0.67/Gemfile.lock deleted file mode 100644 index 640d2f1ed1..0000000000 --- a/test/react-native/features/fixtures/rn0.67/Gemfile.lock +++ /dev/null @@ -1,100 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.5) - rexml - activesupport (6.1.4.6) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - atomos (0.1.3) - claide (1.1.0) - cocoapods (1.11.2) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.11.2) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.4.0, < 2.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.4.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 1.0, < 3.0) - xcodeproj (>= 1.21.0, < 2.0) - cocoapods-core (1.11.2) - activesupport (>= 5.0, < 7) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-downloader (1.5.1) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.1.9) - escape (0.0.4) - ethon (0.15.0) - ffi (>= 1.15.0) - ffi (1.15.5) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - httpclient (2.8.3) - i18n (1.10.0) - concurrent-ruby (~> 1.0) - json (2.6.1) - minitest (5.15.0) - molinillo (0.8.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - public_suffix (4.0.6) - rexml (3.2.5) - ruby-macho (2.5.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (2.0.4) - concurrent-ruby (~> 1.0) - xcodeproj (1.21.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) - zeitwerk (2.5.4) - -PLATFORMS - ruby - -DEPENDENCIES - cocoapods (~> 1.11, >= 1.11.2) - -RUBY VERSION - ruby 2.7.4p191 - -BUNDLED WITH - 2.2.27 diff --git a/test/react-native/features/fixtures/rn0.68-hermes/Gemfile.lock b/test/react-native/features/fixtures/rn0.68-hermes/Gemfile.lock deleted file mode 100644 index 089d06d0fa..0000000000 --- a/test/react-native/features/fixtures/rn0.68-hermes/Gemfile.lock +++ /dev/null @@ -1,100 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.5) - rexml - activesupport (6.1.5) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - atomos (0.1.3) - claide (1.1.0) - cocoapods (1.11.3) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.11.3) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.4.0, < 2.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.4.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 1.0, < 3.0) - xcodeproj (>= 1.21.0, < 2.0) - cocoapods-core (1.11.3) - activesupport (>= 5.0, < 7) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-downloader (1.6.2) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.1.10) - escape (0.0.4) - ethon (0.15.0) - ffi (>= 1.15.0) - ffi (1.15.5) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - httpclient (2.8.3) - i18n (1.10.0) - concurrent-ruby (~> 1.0) - json (2.6.1) - minitest (5.15.0) - molinillo (0.8.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - public_suffix (4.0.6) - rexml (3.2.5) - ruby-macho (2.5.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (2.0.4) - concurrent-ruby (~> 1.0) - xcodeproj (1.21.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) - zeitwerk (2.5.4) - -PLATFORMS - ruby - -DEPENDENCIES - cocoapods (~> 1.11, >= 1.11.2) - -RUBY VERSION - ruby 2.7.4p191 - -BUNDLED WITH - 2.2.27 From 95426cacf957b93596cde4a68ddd05a1ccdf403c Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Thu, 30 Jan 2025 10:42:49 +0000 Subject: [PATCH 06/65] test: :adhesive_bandage: fix location when packing plugin-angular --- bin/local-test-util | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/local-test-util b/bin/local-test-util index c17d3126fc..9b2cfc91bc 100755 --- a/bin/local-test-util +++ b/bin/local-test-util @@ -123,7 +123,9 @@ async function packNotifiers (notifier) { ? [ notifier ] : [ 'js', 'browser', 'node', 'web-worker', 'plugin-angular', 'plugin-react', 'plugin-vue' ] for (const n of notifiers) { - await ex(`npm`, [ `pack`, `--verbose`, `packages/${n}/` ]) + let packageLocation = `packages/${n}/` + if (n === 'plugin-angular') packageLocation += 'dist/' + await ex(`npm`, [ `pack`, `--verbose`, packageLocation ]) } } From 761f92ecdc12883091976015f5a1b3a6a3fe1df9 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Fri, 7 Feb 2025 14:37:09 +0000 Subject: [PATCH 07/65] concurrent-ruby override check (#2309) * check if concurrent ruby has already been overridden * pin react-native-navigation version in generate fixture script --- scripts/generate-react-native-fixture.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/generate-react-native-fixture.js b/scripts/generate-react-native-fixture.js index 20c7b70ab9..6e2c24f945 100644 --- a/scripts/generate-react-native-fixture.js +++ b/scripts/generate-react-native-fixture.js @@ -59,8 +59,9 @@ const REACT_NAVIGATION_PEER_DEPENDENCIES = [ `react-native-safe-area-context@${reactNativeSafeAreaContextVersion}` ] +const reactNativeNavigationVersion = '7.41.0' // Issue with 7.42.0 const REACT_NATIVE_NAVIGATION_PEER_DEPENDENCIES = [ - 'react-native-navigation' + `react-native-navigation@${reactNativeNavigationVersion}` ] // Generate the fixture @@ -203,7 +204,9 @@ function configureIOSProject () { if (fs.existsSync(gemfilePath)) { let gemfileContents = fs.readFileSync(gemfilePath, 'utf8') gemfileContents += '\ngem \'xcodeproj\', \'< 1.26.0\'' - gemfileContents += '\ngem \'concurrent-ruby\', \'<= 1.3.4\'' + if (!gemfileContents.includes('concurrent-ruby')) { + gemfileContents += '\ngem \'concurrent-ruby\', \'<= 1.3.4\'' + } fs.writeFileSync(gemfilePath, gemfileContents) } From 7383e594e1571baa281aee757be06653ca544574 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Thu, 6 Feb 2025 13:42:25 +0000 Subject: [PATCH 08/65] update react native fixture generation script --- scripts/generate-react-native-fixture.js | 19 +++++++ scripts/init-rn-cli.sh | 66 ++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100755 scripts/init-rn-cli.sh diff --git a/scripts/generate-react-native-fixture.js b/scripts/generate-react-native-fixture.js index 6e2c24f945..dda778cb67 100644 --- a/scripts/generate-react-native-fixture.js +++ b/scripts/generate-react-native-fixture.js @@ -48,6 +48,10 @@ const PEER_DEPENDENCIES = [ `@bugsnag/plugin-react-native-navigation@${notifierVersion}` ] +const SOURCE_MAP_DEPENDENCIES = [ + `@bugsnag/react-native-cli@${notifierVersion}` +] + const reactNavigationVersion = '6.1.18' const reactNavigationNativeStackVersion = '6.11.0' const reactNativeScreensVersion = '3.35.0' @@ -83,6 +87,10 @@ if (!process.env.SKIP_GENERATE_FIXTURE) { installFixtureDependencies() + if (process.env.ENABLE_SOURCE_MAPS === 'true' || process.env.ENABLE_SOURCE_MAPS === '1') { + enableSourceMaps() + } + // link react-native-navigation using rnn-link tool if (process.env.REACT_NATIVE_NAVIGATION === 'true' || process.env.REACT_NATIVE_NAVIGATION === '1') { execSync('npx rnn-link', { cwd: fixtureDir, stdio: 'inherit' }) @@ -146,6 +154,11 @@ function installFixtureDependencies () { PEER_DEPENDENCIES.push(...REACT_NAVIGATION_PEER_DEPENDENCIES) } + // add source map dependencies + if (process.env.ENABLE_SOURCE_MAPS === 'true' || process.env.ENABLE_SOURCE_MAPS === '1') { + PEER_DEPENDENCIES.push(...SOURCE_MAP_DEPENDENCIES) + } + const fixtureDependencyArgs = PEER_DEPENDENCIES.join(' ') // install test fixture dependencies @@ -290,3 +303,9 @@ class MainActivity : ReactActivity() { mainActivityContents = mainActivityContents.replace(mainActivityPattern, mainActivityReplacement) fs.writeFileSync(mainActivityPath, mainActivityContents) } + +function enableSourceMaps () { + common.changeDir(`${ROOT_DIR}/scripts`) + const initCommand = `./init-rn-cli.sh ${notifierVersion} ${reactNativeVersion} ${fixtureDir}` + common.run(initCommand, true) +} diff --git a/scripts/init-rn-cli.sh b/scripts/init-rn-cli.sh new file mode 100755 index 0000000000..d770488909 --- /dev/null +++ b/scripts/init-rn-cli.sh @@ -0,0 +1,66 @@ +#!/usr/bin/expect -f + +set timeout -1 +set notifierVersion [lindex $argv 0]; +set rnVersion [lindex $argv 1]; +set fixturePath [lindex $argv 2]; +set rnVersionInt "" +set substringToTrim ".expo.ejected" + +# Extract the substring starting from the third character +set rnVersionInt [string range $rnVersion 2 end] + +# Replace underscore (_) with a period (.) +set rnVersionInt2 [string map {_ .} $rnVersionInt] + +set rnVersionInt3 [string map [list $substringToTrim ""] $rnVersionInt2] + +# Convert float string to float value using bc +regsub -all {^0+} $rnVersionInt3 "" $rnVersionInt3 + +puts "Using notifier version: $notifierVersion" +puts "Using React Native version: $rnVersion" + +cd $fixturePath +spawn ./node_modules/.bin/bugsnag-react-native-cli init + +expect "Do you want to continue anyway?" +send -- "Y\r" + +expect "Are you using Bugsnag on-premise?" +send -- "Y\r" + +expect "What is your Bugsnag notify endpoint?" +send -- http://bs-local.com:9339/notify\r + +expect "What is your Bugsnag sessions endpoint?" +send -- http://bs-local.com:9339/sessions\r + +expect "What is your Bugsnag upload endpoint?" +send -- http://localhost:9339\r + +expect "What is your Bugsnag build endpoint?" +send -- http://localhost:9339/builds\r + +expect "Enter version of the Bugsnag Android Gradle plugin you want to use" +send -- r + +expect "What is your Bugsnag project API key?" +send -- "1234567890ABCDEF1234567890ABCDEF\r" + +expect "Do you want to install the BugSnag CLI to allow you to upload JavaScript source maps?" +send -- y + +expect "If you want the latest version of @bugsnag/cli hit enter, otherwise type the version you want" +send -- r + +expect "See https://docs.bugsnag.com/platforms/react-native/react-native/showing-full-stacktraces for details." +send -- r + +expect "Do you want to update your Xcode build phase to output JavaScript source maps?" +send -- y + +expect "This will enable you to see full native stacktraces. It can't be done automatically." +send -- r + +expect eof From 3c18a0acd6ba332867da8314d62ce8fb113bc2d2 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Fri, 7 Feb 2025 09:21:50 +0000 Subject: [PATCH 09/65] find and replace concurrent-ruby --- scripts/generate-react-native-fixture.js | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/generate-react-native-fixture.js b/scripts/generate-react-native-fixture.js index dda778cb67..fd52c5f883 100644 --- a/scripts/generate-react-native-fixture.js +++ b/scripts/generate-react-native-fixture.js @@ -221,6 +221,7 @@ function configureIOSProject () { gemfileContents += '\ngem \'concurrent-ruby\', \'<= 1.3.4\'' } fs.writeFileSync(gemfilePath, gemfileContents) + fs.writeFileSync(gemfilePath, gemfileContents.replace(/concurrent-ruby/, 'concurrent-ruby', '<= 1.3.4')) } // set NSAllowsArbitraryLoads to allow http traffic for all domains (bitbar public IP + bs-local.com) From c98472a7afb07f6efd661602660067a486f1ceda Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Fri, 7 Feb 2025 15:22:20 +0000 Subject: [PATCH 10/65] remove unnecessary find and replace --- scripts/generate-react-native-fixture.js | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/generate-react-native-fixture.js b/scripts/generate-react-native-fixture.js index fd52c5f883..dda778cb67 100644 --- a/scripts/generate-react-native-fixture.js +++ b/scripts/generate-react-native-fixture.js @@ -221,7 +221,6 @@ function configureIOSProject () { gemfileContents += '\ngem \'concurrent-ruby\', \'<= 1.3.4\'' } fs.writeFileSync(gemfilePath, gemfileContents) - fs.writeFileSync(gemfilePath, gemfileContents.replace(/concurrent-ruby/, 'concurrent-ruby', '<= 1.3.4')) } // set NSAllowsArbitraryLoads to allow http traffic for all domains (bitbar public IP + bs-local.com) From 15b9f1f17542810f1f092bbf2ee5f37ecc8913af Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Fri, 7 Feb 2025 16:35:18 +0000 Subject: [PATCH 11/65] Override node-fetch to ^2.6.7 (#2307) * update node-fetch to 2.6.7 --- package-lock.json | 114 +++++++++++++++++++++++++++++++++++----------- package.json | 1 + 2 files changed, 88 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index 65873a858d..8793455af7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8408,9 +8408,9 @@ "dev": true }, "node_modules/@lerna/create/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "license": "MIT", "dependencies": { @@ -20005,6 +20005,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, + "optional": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -20045,6 +20046,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -25235,14 +25237,49 @@ } }, "node_modules/isomorphic-fetch/node_modules/node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "license": "MIT", "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/isomorphic-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isomorphic-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/isomorphic-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "node_modules/isstream": { @@ -32225,9 +32262,9 @@ "dev": true }, "node_modules/lerna/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "license": "MIT", "dependencies": { @@ -63865,7 +63902,7 @@ "make-dir": "4.0.0", "minimatch": "3.0.5", "multimatch": "5.0.0", - "node-fetch": "2.6.7", + "node-fetch": "^2.6.7", "npm-package-arg": "11.0.2", "npm-packlist": "8.0.2", "npm-registry-fetch": "^17.1.0", @@ -64209,9 +64246,9 @@ "dev": true }, "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "requires": { "whatwg-url": "^5.0.0" @@ -66306,7 +66343,7 @@ "chalk": "^3.0.0", "lodash": "^4.17.15", "mime": "^2.4.1", - "node-fetch": "^2.6.0", + "node-fetch": "^2.6.7", "open": "^6.2.0", "shell-quote": "^1.7.3" }, @@ -73045,6 +73082,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, + "optional": true, "requires": { "iconv-lite": "^0.6.2" }, @@ -73054,6 +73092,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -77047,18 +77086,39 @@ "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", "dev": true, "requires": { - "node-fetch": "^1.0.1", + "node-fetch": "^2.6.7", "whatwg-fetch": ">=0.10.0" }, "dependencies": { "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "whatwg-url": "^5.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } } } @@ -82062,7 +82122,7 @@ "make-dir": "4.0.0", "minimatch": "3.0.5", "multimatch": "5.0.0", - "node-fetch": "2.6.7", + "node-fetch": "^2.6.7", "npm-package-arg": "11.0.2", "npm-packlist": "8.0.2", "npm-registry-fetch": "^17.1.0", @@ -82439,9 +82499,9 @@ "dev": true }, "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "requires": { "whatwg-url": "^5.0.0" @@ -84081,7 +84141,7 @@ "metro-symbolicate": "0.59.0", "mime-types": "2.1.11", "mkdirp": "^0.5.1", - "node-fetch": "^2.2.0", + "node-fetch": "^2.6.7", "nullthrows": "^1.1.1", "resolve": "^1.5.0", "rimraf": "^2.5.4", diff --git a/package.json b/package.json index 4e7a9f5304..3f7035792f 100644 --- a/package.json +++ b/package.json @@ -103,6 +103,7 @@ "@types/express-serve-static-core": "4.17.28", "@types/prettier": "2.6.0", "@types/yargs": "17.0.10", + "node-fetch": "^2.6.7", "hermes-engine": "^0.10.0", "json-schema": "^0.4.0", "shell-quote": "^1.7.3", From ff4ebcdd0abd99be741c9a9566e75bc7f5c27ffc Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Fri, 7 Feb 2025 16:46:01 +0000 Subject: [PATCH 12/65] Configure OpenSSF workflow (#2306) * docs: :memo: update README.md * ci: :stethoscope: add ossf scorecard workflow * add osv-scanner.toml to example apps (symlink from config) * add osv-scanner.toml to test fixtures * docs: :memo: update README * chore: :lock: pin dependencies Co-authored-by: Tom Longridge --------- Co-authored-by: Tom Longridge --- .github/workflows/codeql.yml | 8 +- .github/workflows/pr-diff.yml | 8 +- .github/workflows/scorecard.yml | 73 +++++++ .github/workflows/signing.yml | 2 +- .github/workflows/test-electron.yml | 8 +- .github/workflows/update-dependencies.yml | 4 +- README.md | 13 +- config/osv-scanner.ignore.toml | 186 ++++++++++++++++++ .../electron/electron-basic/osv-scanner.toml | 1 + .../electron-bundled/osv-scanner.toml | 1 + examples/js/browser-cdn/osv-scanner.toml | 1 + examples/js/express/osv-scanner.toml | 1 + examples/js/gatsby/osv-scanner.toml | 1 + examples/js/koa/osv-scanner.toml | 1 + examples/js/nextjs/osv-scanner.toml | 1 + examples/js/nuxtjs/osv-scanner.toml | 1 + examples/js/plain-node/osv-scanner.toml | 1 + examples/js/react/osv-scanner.toml | 1 + examples/js/restify/osv-scanner.toml | 1 + examples/js/vue/osv-scanner.toml | 1 + examples/js/web-worker/osv-scanner.toml | 1 + .../reactnative/rn063example/osv-scanner.toml | 1 + .../reactnative/rn071example/osv-scanner.toml | 1 + examples/ts/angular/osv-scanner.toml | 1 + examples/ts/plain-node/osv-scanner.toml | 1 + test/electron/fixtures/app/osv-scanner.toml | 1 + .../fixtures/express/osv-scanner.toml | 1 + .../features/fixtures/koa/osv-scanner.toml | 1 + .../fixtures/restify/osv-scanner.toml | 1 + .../fixtures/webpack/osv-scanner.toml | 1 + .../features/fixtures/rn0.66/osv-scanner.toml | 1 + .../features/fixtures/rn0.67/osv-scanner.toml | 1 + .../fixtures/rn0.68-hermes/osv-scanner.toml | 1 + .../features/fixtures/rn0.69/osv-scanner.toml | 1 + 34 files changed, 312 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/scorecard.yml create mode 100644 config/osv-scanner.ignore.toml create mode 120000 examples/electron/electron-basic/osv-scanner.toml create mode 120000 examples/electron/electron-bundled/osv-scanner.toml create mode 120000 examples/js/browser-cdn/osv-scanner.toml create mode 120000 examples/js/express/osv-scanner.toml create mode 120000 examples/js/gatsby/osv-scanner.toml create mode 120000 examples/js/koa/osv-scanner.toml create mode 120000 examples/js/nextjs/osv-scanner.toml create mode 120000 examples/js/nuxtjs/osv-scanner.toml create mode 120000 examples/js/plain-node/osv-scanner.toml create mode 120000 examples/js/react/osv-scanner.toml create mode 120000 examples/js/restify/osv-scanner.toml create mode 120000 examples/js/vue/osv-scanner.toml create mode 120000 examples/js/web-worker/osv-scanner.toml create mode 120000 examples/reactnative/rn063example/osv-scanner.toml create mode 120000 examples/reactnative/rn071example/osv-scanner.toml create mode 120000 examples/ts/angular/osv-scanner.toml create mode 120000 examples/ts/plain-node/osv-scanner.toml create mode 120000 test/electron/fixtures/app/osv-scanner.toml create mode 120000 test/node/features/fixtures/express/osv-scanner.toml create mode 120000 test/node/features/fixtures/koa/osv-scanner.toml create mode 120000 test/node/features/fixtures/restify/osv-scanner.toml create mode 120000 test/node/features/fixtures/webpack/osv-scanner.toml create mode 120000 test/react-native/features/fixtures/rn0.66/osv-scanner.toml create mode 120000 test/react-native/features/fixtures/rn0.67/osv-scanner.toml create mode 120000 test/react-native/features/fixtures/rn0.68-hermes/osv-scanner.toml create mode 120000 test/react-native/features/fixtures/rn0.69/osv-scanner.toml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index fb9f50914e..acc8b471a9 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -42,11 +42,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@b8d3b6e8af63cde30bdc382c0bc28114f4346c88 # v2.28.1 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -60,7 +60,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@b8d3b6e8af63cde30bdc382c0bc28114f4346c88 # v2.28.1 # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -73,6 +73,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@b8d3b6e8af63cde30bdc382c0bc28114f4346c88 # v2.28.1 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/pr-diff.yml b/.github/workflows/pr-diff.yml index 47eed0d147..469f2209db 100644 --- a/.github/workflows/pr-diff.yml +++ b/.github/workflows/pr-diff.yml @@ -7,12 +7,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Setup node - uses: actions/setup-node@v1 + uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1.4.6 with: node-version: 18.x - name: Checkout base branch - uses: actions/checkout@v1 + uses: actions/checkout@50fbc622fc4ef5163becd7fab6573eac35f8462e # v1.2.0 with: ref: ${{ github.base_ref }} @@ -27,7 +27,7 @@ jobs: cat packages/browser/dist/bugsnag.min.js | gzip | wc -c > .diff/size-before-gzipped - name: Checkout PR branch - uses: actions/checkout@v1 + uses: actions/checkout@50fbc622fc4ef5163becd7fab6573eac35f8462e # v1.2.0 with: clean: false @@ -41,6 +41,6 @@ jobs: cat packages/browser/dist/bugsnag.min.js | gzip | wc -c > .diff/size-after-gzipped - name: Run danger - uses: danger/danger-js@9.1.6 + uses: danger/danger-js@eaab0aa05301018d1a6d2d63ef493109616bb120 # 9.1.6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml new file mode 100644 index 0000000000..709ce1ee26 --- /dev/null +++ b/.github/workflows/scorecard.yml @@ -0,0 +1,73 @@ +# This workflow uses actions that are not certified by GitHub. They are provided +# by a third-party and are governed by separate terms of service, privacy +# policy, and support documentation. + +name: OpenSSF Scorecard +on: + # For Branch-Protection check. Only the default branch is supported. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection + branch_protection_rule: + # To guarantee Maintained check is occasionally updated. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained + schedule: + - cron: '0 0 * * 0' + push: + branches: [ "next" ] + +# Declare default permissions as read only. +permissions: read-all + +jobs: + analysis: + name: Scorecard analysis + runs-on: ubuntu-latest + permissions: + # Needed to upload the results to code-scanning dashboard. + security-events: write + # Needed to publish results and get a badge (see publish_results below). + id-token: write + # Uncomment the permissions below if installing in a private repository. + # contents: read + # actions: read + + steps: + - name: "Checkout code" + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + + - name: "Run analysis" + uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0 + with: + results_file: results.sarif + results_format: sarif + # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: + # - you want to enable the Branch-Protection check on a *public* repository, or + # - you are installing Scorecard on a *private* repository + # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional. + # repo_token: ${{ secrets.SCORECARD_TOKEN }} + + # Public repositories: + # - Publish results to OpenSSF REST API for easy access by consumers + # - Allows the repository to include the Scorecard badge. + # - See https://github.com/ossf/scorecard-action#publishing-results. + # For private repositories: + # - `publish_results` will always be set to `false`, regardless + # of the value entered here. + publish_results: true + + # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF + # format to the repository Actions tab. + - name: "Upload artifact" + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: SARIF file + path: results.sarif + retention-days: 5 + + # Upload the results to GitHub's code scanning dashboard (optional). + # Commenting out will disable upload of results to your repo's Code Scanning dashboard + - name: "Upload to code-scanning" + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: results.sarif diff --git a/.github/workflows/signing.yml b/.github/workflows/signing.yml index ec28f82d84..ca7cc34c34 100644 --- a/.github/workflows/signing.yml +++ b/.github/workflows/signing.yml @@ -23,7 +23,7 @@ jobs: run: | echo "${{ secrets.PLATFORMS_GPG_KEY_BASE64 }}" | base64 --decode | gpg --batch --import - name: Sign assets - uses: bugsnag/platforms-release-signer@main + uses: bugsnag/platforms-release-signer@4d88944b11e503624f8a511cf6d0fa2901822b60 # main with: github_token: ${{ secrets.PLATFORMS_SIGNING_GITHUB_TOKEN }} full_repository: ${{ github.repository }} diff --git a/.github/workflows/test-electron.yml b/.github/workflows/test-electron.yml index ec091cc2ff..2016eabbec 100644 --- a/.github/workflows/test-electron.yml +++ b/.github/workflows/test-electron.yml @@ -13,8 +13,8 @@ jobs: os: [ ubuntu-latest ] steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: ${{ matrix.node-version }} - name: (Act) install build tools and dependencies @@ -29,7 +29,7 @@ jobs: if: ${{ !env.ACT }} run: | echo "::set-output name=dir::$(npm config get cache)" - - uses: actions/cache@v4 + - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 id: npm-cache if: ${{ !env.ACT }} with: @@ -65,7 +65,7 @@ jobs: START_LOCAL_NPM: 1 VERBOSE: 1 ELECTRON_VERSION: ${{ matrix.electron }} - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 if: failure() with: name: cucumber-failures diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 9d32e33350..a132da8bb0 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -24,7 +24,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} REVIEWER: gingerbenw steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: next @@ -35,7 +35,7 @@ jobs: - run: git fetch --prune --unshallow - name: Install ruby - uses: ruby/setup-ruby@v1 + uses: ruby/setup-ruby@8711a86ab6f9aa72890da4123b2ef7283b6b22b6 # v1.217.0 with: ruby-version: 2.7 diff --git a/README.md b/README.md index e37f9dfa4b..2ddf5f54fd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,15 @@ -# Bugsnag error monitoring & reporting for JavaScript +
+ + + + SmartBear BugSnag logo + + +

Error monitoring & reporting for JavaScript

+
+ +[![Documentation](https://img.shields.io/badge/documentation-latest-blue.svg)](https://docs.bugsnag.com/platforms/javascript/) +[![Build status](https://badge.buildkite.com/3d7b170ff1190e95999586fb4e2c67edfbe70484a5c0ecfa70.svg)](https://buildkite.com/bugsnag/bugsnag-js) Automatically detect JavaScript errors in the browser, Node.js and React Native, with plugins for React, Vue, Angular, Express, Restify and Koa. Get cross-platform error detection for handled and unhandled errors with real-time error alerts and detailed diagnostic reports. diff --git a/config/osv-scanner.ignore.toml b/config/osv-scanner.ignore.toml new file mode 100644 index 0000000000..3834f5c197 --- /dev/null +++ b/config/osv-scanner.ignore.toml @@ -0,0 +1,186 @@ +# Ignore all vulnerabilities in example and test apps +[[IgnoredVulns]] +id = "GHSA-fwr7-v2mv-hh25" + +[[IgnoredVulns]] +id = "GHSA-qwcr-r2fm-qrc7" + +[[IgnoredVulns]] +id = "GHSA-grv7-fg5c-xmjg" + +[[IgnoredVulns]] +id = "GHSA-pxg6-pf52-xh8x" + +[[IgnoredVulns]] +id = "GHSA-3xgq-45jj-v275" + +[[IgnoredVulns]] +id = "GHSA-rv95-896h-c2vc" + +[[IgnoredVulns]] +id = "GHSA-qw6h-vgh9-j6wx" + +[[IgnoredVulns]] +id = "GHSA-2p57-rm9w-gvfp" + +[[IgnoredVulns]] +id = "GHSA-8cf7-32gw-wr33" + +[[IgnoredVulns]] +id = "GHSA-hjrf-2m68-5959" + +[[IgnoredVulns]] +id = "GHSA-qwph-4952-7xr6" + +[[IgnoredVulns]] +id = "GHSA-5v2h-r2cx-5xgj" + +[[IgnoredVulns]] +id = "GHSA-rrrm-qjm4-v8hf" + +[[IgnoredVulns]] +id = "GHSA-952p-6rrq-rcjv" + +[[IgnoredVulns]] +id = "GHSA-f8q6-p94x-37v3" + +[[IgnoredVulns]] +id = "GHSA-r683-j2x4-v87g" + +[[IgnoredVulns]] +id = "GHSA-9wv6-86v2-598j" + +[[IgnoredVulns]] +id = "GHSA-rhx6-c78j-4q9w" + +[[IgnoredVulns]] +id = "GHSA-hrpp-h998-j3pp" + +[[IgnoredVulns]] +id = "GHSA-7f53-fmmv-mfjv" + +[[IgnoredVulns]] +id = "GHSA-p8p7-x288-28g6" + +[[IgnoredVulns]] +id = "GHSA-c2qf-rxjj-qqgw" + +[[IgnoredVulns]] +id = "GHSA-m6fv-jmcg-4jfg" + +[[IgnoredVulns]] +id = "GHSA-cm22-4g7w-348p" + +[[IgnoredVulns]] +id = "GHSA-72xf-g2v4-qvf3" + +[[IgnoredVulns]] +id = "GHSA-vg6x-rcgg-rjx6" + +[[IgnoredVulns]] +id = "GHSA-c7qv-q95q-8v27" + +[[IgnoredVulns]] +id = "GHSA-35jh-r3h4-6jhm" + +[[IgnoredVulns]] +id = "GHSA-4vvj-4cpr-p986" + +[[IgnoredVulns]] +id = "GHSA-3h5v-q93c-6h6q" + +[[IgnoredVulns]] +id = "GHSA-r95h-9x8f-r3f7" + +[[IgnoredVulns]] +id = "GHSA-vcc3-rw6f-jv97" + +[[IgnoredVulns]] +id = "GHSA-xc9x-jj77-9p9j" + +[[IgnoredVulns]] +id = "GHSA-22f2-v57c-j9cx" + +[[IgnoredVulns]] +id = "GHSA-54rr-7fvw-6x8f" + +[[IgnoredVulns]] +id = "GHSA-xj5v-6v4g-jfw6" + +[[IgnoredVulns]] +id = "GHSA-2rxp-v6pw-ch6m" + +[[IgnoredVulns]] +id = "GHSA-4xqq-m2hx-25v8" + +[[IgnoredVulns]] +id = "GHSA-5866-49gr-22v4" + +[[IgnoredVulns]] +id = "GHSA-r55c-59qm-vjw6" + +[[IgnoredVulns]] +id = "GHSA-vg3r-rm7w-2xgh" + +[[IgnoredVulns]] +id = "GHSA-vmwr-mc7x-5vc3" + +[[IgnoredVulns]] +id = "GHSA-6f62-3596-g6w7" + +[[IgnoredVulns]] +id = "GHSA-rrr8-f88r-h8q6" + +[[IgnoredVulns]] +id = "GHSA-434g-2637-qmqr" + +[[IgnoredVulns]] +id = "GHSA-49q7-c7j4-3p7m" + +[[IgnoredVulns]] +id = "GHSA-977x-g7h5-7qgw" + +[[IgnoredVulns]] +id = "GHSA-f7q4-pwc6-w24p" + +[[IgnoredVulns]] +id = "GHSA-fc9h-whq2-v747" + +[[IgnoredVulns]] +id = "GHSA-cr5q-6q9f-rq6q" + +[[IgnoredVulns]] +id = "GHSA-j6gc-792m-qgm2" + +[[IgnoredVulns]] +id = "GHSA-pj73-v5mw-pm9j" + +[[IgnoredVulns]] +id = "GHSA-7627-mp87-jf6q" + +[[IgnoredVulns]] +id = "GHSA-g397-v4w5-4m79" + +[[IgnoredVulns]] +id = "GHSA-67hx-6x53-jw92" + +[[IgnoredVulns]] +id = "GHSA-c2jc-4fpr-4vhg" + +[[IgnoredVulns]] +id = "GHSA-w573-4hg7-7wgq" + +[[IgnoredVulns]] +id = "GHSA-7mhc-prgv-r3q4" + +[[IgnoredVulns]] +id = "GHSA-78xj-cgh5-2h22" + +[[IgnoredVulns]] +id = "GHSA-9c47-m6qq-7p4h" + +[[IgnoredVulns]] +id = "GHSA-rxrc-rgv4-jpvx" + +[[IgnoredVulns]] +id = "GHSA-j8xg-fqg3-53r7" diff --git a/examples/electron/electron-basic/osv-scanner.toml b/examples/electron/electron-basic/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/electron/electron-basic/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/electron/electron-bundled/osv-scanner.toml b/examples/electron/electron-bundled/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/electron/electron-bundled/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/browser-cdn/osv-scanner.toml b/examples/js/browser-cdn/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/browser-cdn/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/express/osv-scanner.toml b/examples/js/express/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/express/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/gatsby/osv-scanner.toml b/examples/js/gatsby/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/gatsby/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/koa/osv-scanner.toml b/examples/js/koa/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/koa/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/nextjs/osv-scanner.toml b/examples/js/nextjs/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/nextjs/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/nuxtjs/osv-scanner.toml b/examples/js/nuxtjs/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/nuxtjs/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/plain-node/osv-scanner.toml b/examples/js/plain-node/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/plain-node/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/react/osv-scanner.toml b/examples/js/react/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/react/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/restify/osv-scanner.toml b/examples/js/restify/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/restify/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/vue/osv-scanner.toml b/examples/js/vue/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/vue/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/js/web-worker/osv-scanner.toml b/examples/js/web-worker/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/js/web-worker/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/reactnative/rn063example/osv-scanner.toml b/examples/reactnative/rn063example/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/reactnative/rn063example/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/reactnative/rn071example/osv-scanner.toml b/examples/reactnative/rn071example/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/reactnative/rn071example/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/ts/angular/osv-scanner.toml b/examples/ts/angular/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/ts/angular/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/examples/ts/plain-node/osv-scanner.toml b/examples/ts/plain-node/osv-scanner.toml new file mode 120000 index 0000000000..f57c7d8401 --- /dev/null +++ b/examples/ts/plain-node/osv-scanner.toml @@ -0,0 +1 @@ +../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/electron/fixtures/app/osv-scanner.toml b/test/electron/fixtures/app/osv-scanner.toml new file mode 120000 index 0000000000..704f02277d --- /dev/null +++ b/test/electron/fixtures/app/osv-scanner.toml @@ -0,0 +1 @@ +../../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/node/features/fixtures/express/osv-scanner.toml b/test/node/features/fixtures/express/osv-scanner.toml new file mode 120000 index 0000000000..b9ab24aad4 --- /dev/null +++ b/test/node/features/fixtures/express/osv-scanner.toml @@ -0,0 +1 @@ +../../../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/node/features/fixtures/koa/osv-scanner.toml b/test/node/features/fixtures/koa/osv-scanner.toml new file mode 120000 index 0000000000..b9ab24aad4 --- /dev/null +++ b/test/node/features/fixtures/koa/osv-scanner.toml @@ -0,0 +1 @@ +../../../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/node/features/fixtures/restify/osv-scanner.toml b/test/node/features/fixtures/restify/osv-scanner.toml new file mode 120000 index 0000000000..b9ab24aad4 --- /dev/null +++ b/test/node/features/fixtures/restify/osv-scanner.toml @@ -0,0 +1 @@ +../../../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/node/features/fixtures/webpack/osv-scanner.toml b/test/node/features/fixtures/webpack/osv-scanner.toml new file mode 120000 index 0000000000..b9ab24aad4 --- /dev/null +++ b/test/node/features/fixtures/webpack/osv-scanner.toml @@ -0,0 +1 @@ +../../../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/react-native/features/fixtures/rn0.66/osv-scanner.toml b/test/react-native/features/fixtures/rn0.66/osv-scanner.toml new file mode 120000 index 0000000000..b9ab24aad4 --- /dev/null +++ b/test/react-native/features/fixtures/rn0.66/osv-scanner.toml @@ -0,0 +1 @@ +../../../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/react-native/features/fixtures/rn0.67/osv-scanner.toml b/test/react-native/features/fixtures/rn0.67/osv-scanner.toml new file mode 120000 index 0000000000..b9ab24aad4 --- /dev/null +++ b/test/react-native/features/fixtures/rn0.67/osv-scanner.toml @@ -0,0 +1 @@ +../../../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/react-native/features/fixtures/rn0.68-hermes/osv-scanner.toml b/test/react-native/features/fixtures/rn0.68-hermes/osv-scanner.toml new file mode 120000 index 0000000000..b9ab24aad4 --- /dev/null +++ b/test/react-native/features/fixtures/rn0.68-hermes/osv-scanner.toml @@ -0,0 +1 @@ +../../../../../config/osv-scanner.ignore.toml \ No newline at end of file diff --git a/test/react-native/features/fixtures/rn0.69/osv-scanner.toml b/test/react-native/features/fixtures/rn0.69/osv-scanner.toml new file mode 120000 index 0000000000..b9ab24aad4 --- /dev/null +++ b/test/react-native/features/fixtures/rn0.69/osv-scanner.toml @@ -0,0 +1 @@ +../../../../../config/osv-scanner.ignore.toml \ No newline at end of file From 2881974f93a7d74a24bf24ecb3f82e669edff14b Mon Sep 17 00:00:00 2001 From: Tom Longridge Date: Mon, 10 Feb 2025 10:54:32 +0000 Subject: [PATCH 13/65] build: add dependabot config for dependency updates and pin existing GHA --- .github/dependabot.yml | 15 +++++++++++++++ .github/workflows/codeql.yml | 1 + .github/workflows/pr-diff.yml | 1 + .github/workflows/scorecard.yml | 2 +- .github/workflows/signing.yml | 2 +- .github/workflows/test-electron.yml | 1 + .github/workflows/update-dependencies.yml | 1 + 7 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..763b9fb5f6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,15 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "bundler" + directory: "/" + schedule: + interval: "weekly" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index acc8b471a9..d901688dee 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -10,6 +10,7 @@ # supported CodeQL languages. # name: "CodeQL" +permissions: read-all on: push: diff --git a/.github/workflows/pr-diff.yml b/.github/workflows/pr-diff.yml index 469f2209db..877fa4f3b2 100644 --- a/.github/workflows/pr-diff.yml +++ b/.github/workflows/pr-diff.yml @@ -1,5 +1,6 @@ name: "PR diff bot" on: [pull_request] +permissions: read-all jobs: build: diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 709ce1ee26..189fdccf1d 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -68,6 +68,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard (optional). # Commenting out will disable upload of results to your repo's Code Scanning dashboard - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@v3 + uses: github/codeql-action/upload-sarif@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # v3.28.9 with: sarif_file: results.sarif diff --git a/.github/workflows/signing.yml b/.github/workflows/signing.yml index ca7cc34c34..c1497c4076 100644 --- a/.github/workflows/signing.yml +++ b/.github/workflows/signing.yml @@ -23,7 +23,7 @@ jobs: run: | echo "${{ secrets.PLATFORMS_GPG_KEY_BASE64 }}" | base64 --decode | gpg --batch --import - name: Sign assets - uses: bugsnag/platforms-release-signer@4d88944b11e503624f8a511cf6d0fa2901822b60 # main + uses: bugsnag/platforms-release-signer@4d88944b11e503624f8a511cf6d0fa2901822b60 # v1.0.0 with: github_token: ${{ secrets.PLATFORMS_SIGNING_GITHUB_TOKEN }} full_repository: ${{ github.repository }} diff --git a/.github/workflows/test-electron.yml b/.github/workflows/test-electron.yml index 2016eabbec..7caebad2cd 100644 --- a/.github/workflows/test-electron.yml +++ b/.github/workflows/test-electron.yml @@ -1,6 +1,7 @@ name: '@bugsnag/electron' on: push +permissions: read-all jobs: test: diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index a132da8bb0..9a22956dcf 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -1,4 +1,5 @@ name: update-dependencies +permissions: read-all on: repository_dispatch: From cf7d19413f64745aa8aa3f20b2c41749815a9988 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:07:46 +0000 Subject: [PATCH 14/65] build(deps): bump actions/checkout from 1.2.0 to 4.2.2 Bumps [actions/checkout](https://github.com/actions/checkout) from 1.2.0 to 4.2.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v1.2.0...11bd71901bbe5b1630ceea73d27597364c9af683) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 2 +- .github/workflows/pr-diff.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d901688dee..52c587fff7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -43,7 +43,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/pr-diff.yml b/.github/workflows/pr-diff.yml index 877fa4f3b2..315b9ee4cb 100644 --- a/.github/workflows/pr-diff.yml +++ b/.github/workflows/pr-diff.yml @@ -13,7 +13,7 @@ jobs: node-version: 18.x - name: Checkout base branch - uses: actions/checkout@50fbc622fc4ef5163becd7fab6573eac35f8462e # v1.2.0 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ github.base_ref }} @@ -28,7 +28,7 @@ jobs: cat packages/browser/dist/bugsnag.min.js | gzip | wc -c > .diff/size-before-gzipped - name: Checkout PR branch - uses: actions/checkout@50fbc622fc4ef5163becd7fab6573eac35f8462e # v1.2.0 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: clean: false From cddf5a60e3da7201d8c780deea50f674dcf9c9ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:07:49 +0000 Subject: [PATCH 15/65] build(deps): bump ruby/setup-ruby from 1.217.0 to 1.218.0 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.217.0 to 1.218.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/8711a86ab6f9aa72890da4123b2ef7283b6b22b6...d781c1b4ed31764801bfae177617bb0446f5ef8d) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/update-dependencies.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 9a22956dcf..80d6eea3d7 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -36,7 +36,7 @@ jobs: - run: git fetch --prune --unshallow - name: Install ruby - uses: ruby/setup-ruby@8711a86ab6f9aa72890da4123b2ef7283b6b22b6 # v1.217.0 + uses: ruby/setup-ruby@d781c1b4ed31764801bfae177617bb0446f5ef8d # v1.218.0 with: ruby-version: 2.7 From e547236849794c5e6dbe0fd43122ed2b16252087 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:07:53 +0000 Subject: [PATCH 16/65] build(deps): bump danger/danger-js from 9.1.6 to 12.3.3 Bumps [danger/danger-js](https://github.com/danger/danger-js) from 9.1.6 to 12.3.3. - [Release notes](https://github.com/danger/danger-js/releases) - [Changelog](https://github.com/danger/danger-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/danger/danger-js/compare/eaab0aa05301018d1a6d2d63ef493109616bb120...92d2525fe338bff16ae7d42794d0a835e2d27473) --- updated-dependencies: - dependency-name: danger/danger-js dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pr-diff.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-diff.yml b/.github/workflows/pr-diff.yml index 877fa4f3b2..19a5e329be 100644 --- a/.github/workflows/pr-diff.yml +++ b/.github/workflows/pr-diff.yml @@ -42,6 +42,6 @@ jobs: cat packages/browser/dist/bugsnag.min.js | gzip | wc -c > .diff/size-after-gzipped - name: Run danger - uses: danger/danger-js@eaab0aa05301018d1a6d2d63ef493109616bb120 # 9.1.6 + uses: danger/danger-js@92d2525fe338bff16ae7d42794d0a835e2d27473 # 12.3.3 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 0ebd858f9fe1bbd20315a568f132e538056d3a2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:08:03 +0000 Subject: [PATCH 17/65] build(deps): bump github/codeql-action from 2.28.1 to 3.28.9 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.28.1 to 3.28.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2.28.1...9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d901688dee..be248c0270 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -47,7 +47,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@b8d3b6e8af63cde30bdc382c0bc28114f4346c88 # v2.28.1 + uses: github/codeql-action/init@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # v3.28.9 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -61,7 +61,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@b8d3b6e8af63cde30bdc382c0bc28114f4346c88 # v2.28.1 + uses: github/codeql-action/autobuild@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # v3.28.9 # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -74,6 +74,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@b8d3b6e8af63cde30bdc382c0bc28114f4346c88 # v2.28.1 + uses: github/codeql-action/analyze@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # v3.28.9 with: category: "/language:${{matrix.language}}" From caa58ef762c60c25a41b04c3d49351c0057e18f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:08:06 +0000 Subject: [PATCH 18/65] build(deps): bump actions/setup-node from 1.4.6 to 4.2.0 Bumps [actions/setup-node](https://github.com/actions/setup-node) from 1.4.6 to 4.2.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v1.4.6...1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pr-diff.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-diff.yml b/.github/workflows/pr-diff.yml index 877fa4f3b2..9892521754 100644 --- a/.github/workflows/pr-diff.yml +++ b/.github/workflows/pr-diff.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Setup node - uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1.4.6 + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 18.x From ba9110260a9aa4be9375d30a76017b12bcd459a6 Mon Sep 17 00:00:00 2001 From: Josh <46817760+joshedney@users.noreply.github.com> Date: Wed, 12 Feb 2025 15:21:58 +0000 Subject: [PATCH 19/65] [PLAT-13608] Generate React Native CLI fixutres (#2320) --- .buildkite/full/pipeline.full.yml | 1 - .../full/react-native-cli-pipeline.full.yml | 325 +------- scripts/generate-react-native-cli-fixture.js | 102 +++ scripts/generate-react-native-fixture.js | 172 +---- scripts/init-rn-cli.sh | 83 +-- scripts/react-native/android-utils.js | 63 ++ scripts/react-native/ios-utils.js | 96 +++ .../features/fixtures/.gitignore | 1 - .../features/fixtures/Dockerfile | 14 - .../{ => app/dynamic/ios}/exportOptions.plist | 0 .../features/fixtures/docker-compose.yml | 50 -- .../features/fixtures/rn-cli-init-android.sh | 70 -- .../features/fixtures/rn-cli-init-ios.sh | 73 -- .../features/fixtures/rn0_66/.buckconfig | 6 - .../features/fixtures/rn0_66/.dockerignore | 3 - .../fixtures/rn0_66/.dockerignore copy | 3 - .../features/fixtures/rn0_66/.editorconfig | 3 - .../features/fixtures/rn0_66/.flowconfig | 65 -- .../features/fixtures/rn0_66/.gitattributes | 3 - .../features/fixtures/rn0_66/.gitignore | 64 -- .../features/fixtures/rn0_66/.npmrc | 1 - .../features/fixtures/rn0_66/.prettierrc.js | 7 - .../features/fixtures/rn0_66/.watchmanconfig | 1 - .../features/fixtures/rn0_66/App.js | 108 --- .../fixtures/rn0_66/android/app/_BUCK | 55 -- .../fixtures/rn0_66/android/app/build.gradle | 216 ------ .../rn0_66/android/app/build_defs.bzl | 19 - .../rn0_66/android/app/debug.keystore | Bin 2257 -> 0 bytes .../rn0_66/android/app/proguard-rules.pro | 10 - .../android/app/src/main/AndroidManifest.xml | 26 - .../java/com/reactnative/CrashyModule.java | 34 - .../java/com/reactnative/CrashyPackage.java | 34 - .../java/com/reactnative/MainActivity.java | 15 - .../java/com/reactnative/MainApplication.java | 65 -- .../main/java/com/reactnative/TestUtils.kt | 70 -- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3056 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2096 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4569 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6464 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 0 bytes .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/styles.xml | 8 - .../fixtures/rn0_66/android/build.gradle | 41 -- .../fixtures/rn0_66/android/gradle.properties | 25 - .../android/gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../features/fixtures/rn0_66/android/gradlew | 185 ----- .../fixtures/rn0_66/android/gradlew.bat | 89 --- .../fixtures/rn0_66/android/settings.gradle | 3 - .../features/fixtures/rn0_66/app.json | 4 - .../features/fixtures/rn0_66/babel.config.js | 3 - .../features/fixtures/rn0_66/index.js | 9 - .../features/fixtures/rn0_66/ios/Podfile | 32 - .../features/fixtures/rn0_66/ios/Podfile.lock | 414 ----------- .../ios/rn0_66.xcodeproj/project.pbxproj | 660 ----------------- .../xcshareddata/xcschemes/rn0_66.xcscheme | 88 --- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../fixtures/rn0_66/ios/rn0_66/AppDelegate.h | 8 - .../fixtures/rn0_66/ios/rn0_66/AppDelegate.m | 39 - .../fixtures/rn0_66/ios/rn0_66/CrashyCrashy.h | 14 - .../fixtures/rn0_66/ios/rn0_66/CrashyCrashy.m | 32 - .../AppIcon.appiconset/Contents.json | 38 - .../ios/rn0_66/Images.xcassets/Contents.json | 6 - .../fixtures/rn0_66/ios/rn0_66/Info.plist | 57 -- .../rn0_66/ios/rn0_66/LaunchScreen.storyboard | 47 -- .../fixtures/rn0_66/ios/rn0_66/main.m | 9 - .../rn0_66/ios/rn0_66Tests/Info.plist | 24 - .../rn0_66/ios/rn0_66Tests/rn0_66Tests.m | 65 -- .../features/fixtures/rn0_66/metro.config.js | 17 - .../features/fixtures/rn0_66/package.json | 31 - .../rn0_66/patches/react-native+0.66.5.patch | 13 - .../features/fixtures/rn0_67/.buckconfig | 6 - .../features/fixtures/rn0_67/.bundle/config | 2 - .../features/fixtures/rn0_67/.dockerignore | 3 - .../features/fixtures/rn0_67/.flowconfig | 65 -- .../features/fixtures/rn0_67/.gitignore | 64 -- .../features/fixtures/rn0_67/.npmrc | 1 - .../features/fixtures/rn0_67/.prettierrc.js | 7 - .../features/fixtures/rn0_67/.ruby-version | 1 - .../features/fixtures/rn0_67/.watchmanconfig | 1 - .../features/fixtures/rn0_67/App.js | 108 --- .../features/fixtures/rn0_67/Gemfile | 7 - .../fixtures/rn0_67/android/app/_BUCK | 55 -- .../fixtures/rn0_67/android/app/build.gradle | 216 ------ .../rn0_67/android/app/build_defs.bzl | 19 - .../rn0_67/android/app/debug.keystore | Bin 2257 -> 0 bytes .../rn0_67/android/app/proguard-rules.pro | 10 - .../android/app/src/main/AndroidManifest.xml | 26 - .../java/com/reactnative/CrashyModule.java | 34 - .../java/com/reactnative/CrashyPackage.java | 34 - .../java/com/reactnative/MainActivity.java | 15 - .../java/com/reactnative/MainApplication.java | 65 -- .../main/java/com/reactnative/TestUtils.kt | 70 -- .../res/drawable/rn_edit_text_material.xml | 36 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3056 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2096 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4569 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6464 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 0 bytes .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/styles.xml | 9 - .../fixtures/rn0_67/android/build.gradle | 45 -- .../fixtures/rn0_67/android/gradle.properties | 25 - .../android/gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../features/fixtures/rn0_67/android/gradlew | 185 ----- .../fixtures/rn0_67/android/gradlew.bat | 89 --- .../fixtures/rn0_67/android/settings.gradle | 3 - .../features/fixtures/rn0_67/app.json | 4 - .../features/fixtures/rn0_67/babel.config.js | 3 - .../features/fixtures/rn0_67/index.js | 9 - .../features/fixtures/rn0_67/ios/Podfile | 32 - .../features/fixtures/rn0_67/ios/Podfile.lock | 414 ----------- .../ios/rn0_67.xcodeproj/project.pbxproj | 658 ----------------- .../xcshareddata/xcschemes/rn0_67.xcscheme | 88 --- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../fixtures/rn0_67/ios/rn0_67/AppDelegate.h | 8 - .../fixtures/rn0_67/ios/rn0_67/AppDelegate.m | 39 - .../fixtures/rn0_67/ios/rn0_67/CrashyCrashy.h | 14 - .../fixtures/rn0_67/ios/rn0_67/CrashyCrashy.m | 32 - .../AppIcon.appiconset/Contents.json | 38 - .../ios/rn0_67/Images.xcassets/Contents.json | 6 - .../fixtures/rn0_67/ios/rn0_67/Info.plist | 57 -- .../rn0_67/ios/rn0_67/LaunchScreen.storyboard | 47 -- .../fixtures/rn0_67/ios/rn0_67/main.m | 9 - .../rn0_67/ios/rn0_67Tests/Info.plist | 24 - .../rn0_67/ios/rn0_67Tests/rn0_67Tests.m | 65 -- .../features/fixtures/rn0_67/metro.config.js | 17 - .../features/fixtures/rn0_67/package.json | 31 - .../rn0_67/patches/react-native+0.67.5.patch | 13 - .../fixtures/rn0_67_hermes/.buckconfig | 6 - .../fixtures/rn0_67_hermes/.bundle/config | 2 - .../fixtures/rn0_67_hermes/.dockerignore | 3 - .../fixtures/rn0_67_hermes/.flowconfig | 65 -- .../fixtures/rn0_67_hermes/.gitignore | 64 -- .../features/fixtures/rn0_67_hermes/.npmrc | 1 - .../fixtures/rn0_67_hermes/.prettierrc.js | 7 - .../fixtures/rn0_67_hermes/.ruby-version | 1 - .../fixtures/rn0_67_hermes/.watchmanconfig | 1 - .../features/fixtures/rn0_67_hermes/App.js | 108 --- .../features/fixtures/rn0_67_hermes/Gemfile | 7 - .../fixtures/rn0_67_hermes/android/app/_BUCK | 55 -- .../rn0_67_hermes/android/app/build.gradle | 216 ------ .../rn0_67_hermes/android/app/build_defs.bzl | 19 - .../rn0_67_hermes/android/app/debug.keystore | Bin 2257 -> 0 bytes .../android/app/proguard-rules.pro | 10 - .../android/app/src/main/AndroidManifest.xml | 26 - .../java/com/reactnative/CrashyModule.java | 34 - .../java/com/reactnative/CrashyPackage.java | 34 - .../java/com/reactnative/MainActivity.java | 15 - .../java/com/reactnative/MainApplication.java | 65 -- .../main/java/com/reactnative/TestUtils.kt | 70 -- .../res/drawable/rn_edit_text_material.xml | 36 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3056 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2096 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4569 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6464 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 0 bytes .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/styles.xml | 9 - .../rn0_67_hermes/android/build.gradle | 45 -- .../rn0_67_hermes/android/gradle.properties | 25 - .../android/gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../fixtures/rn0_67_hermes/android/gradlew | 185 ----- .../rn0_67_hermes/android/gradlew.bat | 89 --- .../rn0_67_hermes/android/settings.gradle | 3 - .../features/fixtures/rn0_67_hermes/app.json | 4 - .../fixtures/rn0_67_hermes/babel.config.js | 3 - .../features/fixtures/rn0_67_hermes/index.js | 9 - .../fixtures/rn0_67_hermes/ios/Podfile | 32 - .../fixtures/rn0_67_hermes/ios/Podfile.lock | 443 ----------- .../rn0_67_hermes.xcodeproj/project.pbxproj | 694 ------------------ .../xcschemes/rn0_67_hermes.xcscheme | 88 --- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../ios/rn0_67_hermes/AppDelegate.h | 8 - .../ios/rn0_67_hermes/AppDelegate.m | 39 - .../ios/rn0_67_hermes/CrashyCrashy.h | 14 - .../ios/rn0_67_hermes/CrashyCrashy.m | 32 - .../AppIcon.appiconset/Contents.json | 38 - .../Images.xcassets/Contents.json | 6 - .../ios/rn0_67_hermes/Info.plist | 57 -- .../ios/rn0_67_hermes/LaunchScreen.storyboard | 47 -- .../rn0_67_hermes/ios/rn0_67_hermes/main.m | 9 - .../ios/rn0_67_hermesTests/Info.plist | 24 - .../rn0_67_hermesTests/rn0_67_hermesTests.m | 65 -- .../fixtures/rn0_67_hermes/metro.config.js | 17 - .../fixtures/rn0_67_hermes/package.json | 31 - .../patches/react-native+0.67.5.patch | 13 - .../features/fixtures/rn0_69/.buckconfig | 6 - .../features/fixtures/rn0_69/.dockerignore | 3 - .../features/fixtures/rn0_69/.flowconfig | 66 -- .../features/fixtures/rn0_69/.gitignore | 65 -- .../features/fixtures/rn0_69/.npmrc | 1 - .../features/fixtures/rn0_69/.prettierrc.js | 7 - .../features/fixtures/rn0_69/.watchmanconfig | 1 - .../features/fixtures/rn0_69/App.js | 108 --- .../features/fixtures/rn0_69/Gemfile | 7 - .../features/fixtures/rn0_69/_bundle/config | 2 - .../features/fixtures/rn0_69/_ruby-version | 1 - .../fixtures/rn0_69/android/app/_BUCK | 55 -- .../fixtures/rn0_69/android/app/build.gradle | 309 -------- .../rn0_69/android/app/build_defs.bzl | 19 - .../rn0_69/android/app/debug.keystore | Bin 2257 -> 0 bytes .../rn0_69/android/app/proguard-rules.pro | 10 - .../android/app/src/main/AndroidManifest.xml | 27 - .../java/com/reactnative/CrashyModule.java | 34 - .../java/com/reactnative/CrashyPackage.java | 34 - .../java/com/reactnative/MainActivity.java | 48 -- .../java/com/reactnative/MainApplication.java | 77 -- .../main/java/com/reactnative/TestUtils.kt | 70 -- .../MainApplicationReactNativeHost.java | 116 --- .../components/MainComponentsRegistry.java | 36 - ...ApplicationTurboModuleManagerDelegate.java | 48 -- .../android/app/src/main/jni/Android.mk | 48 -- .../jni/MainApplicationModuleProvider.cpp | 24 - .../main/jni/MainApplicationModuleProvider.h | 16 - ...nApplicationTurboModuleManagerDelegate.cpp | 45 -- ...ainApplicationTurboModuleManagerDelegate.h | 38 - .../src/main/jni/MainComponentsRegistry.cpp | 61 -- .../app/src/main/jni/MainComponentsRegistry.h | 32 - .../android/app/src/main/jni/OnLoad.cpp | 11 - .../res/drawable/rn_edit_text_material.xml | 36 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3056 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2096 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4569 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6464 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 0 bytes .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/styles.xml | 9 - .../fixtures/rn0_69/android/build.gradle | 57 -- .../fixtures/rn0_69/android/gradle.properties | 37 - .../android/gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 - .../features/fixtures/rn0_69/android/gradlew | 234 ------ .../fixtures/rn0_69/android/gradlew.bat | 89 --- .../fixtures/rn0_69/android/settings.gradle | 11 - .../features/fixtures/rn0_69/app.json | 4 - .../features/fixtures/rn0_69/babel.config.js | 3 - .../features/fixtures/rn0_69/index.js | 9 - .../features/fixtures/rn0_69/ios/Podfile | 39 - .../features/fixtures/rn0_69/ios/Podfile.lock | 434 ----------- .../features/fixtures/rn0_69/ios/_xcode.env | 11 - .../ios/rn0_69.xcodeproj/project.pbxproj | 674 ----------------- .../xcshareddata/xcschemes/rn0_69.xcscheme | 88 --- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../fixtures/rn0_69/ios/rn0_69/AppDelegate.h | 8 - .../fixtures/rn0_69/ios/rn0_69/AppDelegate.mm | 133 ---- .../fixtures/rn0_69/ios/rn0_69/CrashyCrashy.h | 14 - .../fixtures/rn0_69/ios/rn0_69/CrashyCrashy.m | 32 - .../AppIcon.appiconset/Contents.json | 53 -- .../ios/rn0_69/Images.xcassets/Contents.json | 6 - .../fixtures/rn0_69/ios/rn0_69/Info.plist | 57 -- .../rn0_69/ios/rn0_69/LaunchScreen.storyboard | 47 -- .../fixtures/rn0_69/ios/rn0_69/main.m | 10 - .../rn0_69/ios/rn0_69Tests/Info.plist | 24 - .../rn0_69/ios/rn0_69Tests/rn0_69Tests.m | 66 -- .../features/fixtures/rn0_69/metro.config.js | 17 - .../features/fixtures/rn0_69/package.json | 31 - .../rn0_69/patches/react-native+0.69.7.patch | 13 - .../run-app-tests/run-and-notify.feature | 1 - test/react-native-cli/features/steps/steps.rb | 47 +- 286 files changed, 359 insertions(+), 12966 deletions(-) create mode 100644 scripts/generate-react-native-cli-fixture.js create mode 100644 scripts/react-native/android-utils.js create mode 100644 scripts/react-native/ios-utils.js delete mode 100644 test/react-native-cli/features/fixtures/.gitignore delete mode 100644 test/react-native-cli/features/fixtures/Dockerfile rename test/react-native-cli/features/fixtures/{ => app/dynamic/ios}/exportOptions.plist (100%) delete mode 100755 test/react-native-cli/features/fixtures/docker-compose.yml delete mode 100755 test/react-native-cli/features/fixtures/rn-cli-init-android.sh delete mode 100755 test/react-native-cli/features/fixtures/rn-cli-init-ios.sh delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.buckconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.dockerignore delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.dockerignore copy delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.editorconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.flowconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.gitattributes delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.gitignore delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.npmrc delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.prettierrc.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/.watchmanconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/App.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/_BUCK delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/build.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/build_defs.bzl delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/debug.keystore delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/proguard-rules.pro delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/AndroidManifest.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/java/com/reactnative/CrashyModule.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/java/com/reactnative/CrashyPackage.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/java/com/reactnative/MainActivity.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/java/com/reactnative/MainApplication.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/java/com/reactnative/TestUtils.kt delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/values/strings.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/app/src/main/res/values/styles.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/build.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/gradle.properties delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/gradle/wrapper/gradle-wrapper.jar delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/gradle/wrapper/gradle-wrapper.properties delete mode 100755 test/react-native-cli/features/fixtures/rn0_66/android/gradlew delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/gradlew.bat delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/android/settings.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/app.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/babel.config.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/index.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/Podfile delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/Podfile.lock delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66.xcodeproj/project.pbxproj delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66.xcodeproj/xcshareddata/xcschemes/rn0_66.xcscheme delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66.xcworkspace/contents.xcworkspacedata delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/AppDelegate.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/AppDelegate.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/CrashyCrashy.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/CrashyCrashy.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/Images.xcassets/Contents.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/Info.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/LaunchScreen.storyboard delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66/main.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66Tests/Info.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/ios/rn0_66Tests/rn0_66Tests.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/metro.config.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/package.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_66/patches/react-native+0.66.5.patch delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.buckconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.bundle/config delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.dockerignore delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.flowconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.gitignore delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.npmrc delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.prettierrc.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.ruby-version delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/.watchmanconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/App.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/Gemfile delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/_BUCK delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/build.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/build_defs.bzl delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/debug.keystore delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/proguard-rules.pro delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/AndroidManifest.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/java/com/reactnative/CrashyModule.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/java/com/reactnative/CrashyPackage.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/java/com/reactnative/MainActivity.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/java/com/reactnative/MainApplication.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/java/com/reactnative/TestUtils.kt delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/drawable/rn_edit_text_material.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/values/strings.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/app/src/main/res/values/styles.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/build.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/gradle.properties delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/gradle/wrapper/gradle-wrapper.jar delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/gradle/wrapper/gradle-wrapper.properties delete mode 100755 test/react-native-cli/features/fixtures/rn0_67/android/gradlew delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/gradlew.bat delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/android/settings.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/app.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/babel.config.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/index.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/Podfile delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/Podfile.lock delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67.xcodeproj/project.pbxproj delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67.xcodeproj/xcshareddata/xcschemes/rn0_67.xcscheme delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67.xcworkspace/contents.xcworkspacedata delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/AppDelegate.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/AppDelegate.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/CrashyCrashy.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/CrashyCrashy.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/Images.xcassets/Contents.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/Info.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/LaunchScreen.storyboard delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67/main.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67Tests/Info.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/ios/rn0_67Tests/rn0_67Tests.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/metro.config.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/package.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_67/patches/react-native+0.67.5.patch delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.buckconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.bundle/config delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.dockerignore delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.flowconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.gitignore delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.npmrc delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.prettierrc.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.ruby-version delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/.watchmanconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/App.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/Gemfile delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/_BUCK delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/build.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/build_defs.bzl delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/debug.keystore delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/proguard-rules.pro delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/AndroidManifest.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/java/com/reactnative/CrashyModule.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/java/com/reactnative/CrashyPackage.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/java/com/reactnative/MainActivity.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/java/com/reactnative/MainApplication.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/java/com/reactnative/TestUtils.kt delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/drawable/rn_edit_text_material.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/values/strings.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/app/src/main/res/values/styles.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/build.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/gradle.properties delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/gradle/wrapper/gradle-wrapper.jar delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/gradle/wrapper/gradle-wrapper.properties delete mode 100755 test/react-native-cli/features/fixtures/rn0_67_hermes/android/gradlew delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/gradlew.bat delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/android/settings.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/app.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/babel.config.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/index.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/Podfile delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/Podfile.lock delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes.xcodeproj/project.pbxproj delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes.xcodeproj/xcshareddata/xcschemes/rn0_67_hermes.xcscheme delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes.xcworkspace/contents.xcworkspacedata delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/AppDelegate.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/AppDelegate.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/CrashyCrashy.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/CrashyCrashy.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/Images.xcassets/Contents.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/Info.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/LaunchScreen.storyboard delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermes/main.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermesTests/Info.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/ios/rn0_67_hermesTests/rn0_67_hermesTests.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/metro.config.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/package.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_67_hermes/patches/react-native+0.67.5.patch delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/.buckconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/.dockerignore delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/.flowconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/.gitignore delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/.npmrc delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/.prettierrc.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/.watchmanconfig delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/App.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/Gemfile delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/_bundle/config delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/_ruby-version delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/_BUCK delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/build.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/build_defs.bzl delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/debug.keystore delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/proguard-rules.pro delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/AndroidManifest.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/java/com/reactnative/CrashyModule.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/java/com/reactnative/CrashyPackage.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/java/com/reactnative/MainActivity.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/java/com/reactnative/MainApplication.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/java/com/reactnative/TestUtils.kt delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/java/com/reactnative/newarchitecture/MainApplicationReactNativeHost.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/java/com/reactnative/newarchitecture/components/MainComponentsRegistry.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/java/com/reactnative/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/jni/Android.mk delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/jni/MainApplicationModuleProvider.cpp delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/jni/MainApplicationModuleProvider.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/jni/MainComponentsRegistry.cpp delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/jni/MainComponentsRegistry.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/jni/OnLoad.cpp delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/drawable/rn_edit_text_material.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/values/strings.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/app/src/main/res/values/styles.xml delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/build.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/gradle.properties delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/gradle/wrapper/gradle-wrapper.jar delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/gradle/wrapper/gradle-wrapper.properties delete mode 100755 test/react-native-cli/features/fixtures/rn0_69/android/gradlew delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/gradlew.bat delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/android/settings.gradle delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/app.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/babel.config.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/index.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/Podfile delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/Podfile.lock delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/_xcode.env delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69.xcodeproj/project.pbxproj delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69.xcodeproj/xcshareddata/xcschemes/rn0_69.xcscheme delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69.xcworkspace/contents.xcworkspacedata delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/AppDelegate.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/AppDelegate.mm delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/CrashyCrashy.h delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/CrashyCrashy.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/Images.xcassets/Contents.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/Info.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/LaunchScreen.storyboard delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69/main.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69Tests/Info.plist delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/ios/rn0_69Tests/rn0_69Tests.m delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/metro.config.js delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/package.json delete mode 100644 test/react-native-cli/features/fixtures/rn0_69/patches/react-native+0.69.7.patch diff --git a/.buildkite/full/pipeline.full.yml b/.buildkite/full/pipeline.full.yml index 21027353b1..30f6fd8054 100644 --- a/.buildkite/full/pipeline.full.yml +++ b/.buildkite/full/pipeline.full.yml @@ -46,7 +46,6 @@ steps: - label: ":large_blue_circle: :large_blue_circle: :large_blue_circle: REACT NATIVE CLI STEPS :large_blue_circle: :large_blue_circle: :large_blue_circle:" depends_on: - "publish-js" - - "android-builder-base-java-11" agents: queue: "macos" timeout_in_minutes: 5 diff --git a/.buildkite/full/react-native-cli-pipeline.full.yml b/.buildkite/full/react-native-cli-pipeline.full.yml index ef3c711375..b2455f524c 100644 --- a/.buildkite/full/react-native-cli-pipeline.full.yml +++ b/.buildkite/full/react-native-cli-pipeline.full.yml @@ -2,310 +2,55 @@ agents: queue: "opensource" steps: - - - group: "React Native CLI Tests" + - group: "React Native CLI Build Tests" steps: - # - # CLI tests - # - # TODO: These tests were removed for older RN versions and will be re-added for RN 0.71+ (see PLAT-12578) - - # - # Built app test fixtures - Android - # - - label: ":docker: Build RN CLI Android Builder image" - key: "android-builder-cli-image" - timeout_in_minutes: 30 - plugins: - - docker-compose#v4.12.0: - build: react-native-cli-android-builder - image-repository: 855461928731.dkr.ecr.us-west-1.amazonaws.com/js - cache-from: react-native-cli-android-builder:855461928731.dkr.ecr.us-west-1.amazonaws.com/js:ci-${BRANCH_NAME} - - docker-compose#v4.12.0: - push: react-native-cli-android-builder:855461928731.dkr.ecr.us-west-1.amazonaws.com/js:ci-${BRANCH_NAME} - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":android: Init and build RN CLI 0.66 apk" - key: "rn-cli-0-66-apk" - depends_on: - - "android-builder-cli-image" - timeout_in_minutes: 15 - env: - DEBUG: true - REACT_NATIVE_VERSION: rn0_66 - plugins: - - docker-compose#v4.12.0: - run: react-native-cli-android-builder - command: ["features/build-app-tests/build-android-app.feature"] - artifact_paths: - - build/rn0_66.apk - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":android: Init and build RN CLI 0.67 apk (Non-hermes)" - key: "rn-cli-0-67-apk" - depends_on: - - "android-builder-cli-image" - timeout_in_minutes: 15 - env: - DEBUG: true - REACT_NATIVE_VERSION: rn0_67 - plugins: - - docker-compose#v4.12.0: - run: react-native-cli-android-builder - command: ["features/build-app-tests/build-android-app.feature"] - artifact_paths: - - build/rn0_67.apk - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":android: Init and build RN CLI 0.69 apk (Non-hermes)" - key: "rn-cli-0-69-apk" - depends_on: - - "android-builder-cli-image" - timeout_in_minutes: 15 - env: - DEBUG: true - REACT_NATIVE_VERSION: rn0_69 - plugins: - - docker-compose#v4.12.0: - run: react-native-cli-android-builder - command: ["features/build-app-tests/build-android-app.feature"] - artifact_paths: - - build/rn0_69.apk - retry: - automatic: - - exit_status: "*" - limit: 1 - - # - # Built app test fixtures - iOS - # - - label: ":ios: Init and build RN CLI 0.66 ipa" - key: "rn-cli-0-66-ipa" - timeout_in_minutes: 15 - agents: - queue: "macos-12-arm" - env: - DEBUG: true - LANG: "en_US.UTF-8" - DEVELOPER_DIR: "/Applications/Xcode14.app" - artifact_paths: build/rn0_66.ipa - commands: - - test/react-native-cli/scripts/init-and-build-test.sh rn0_66 - retry: - automatic: - - exit_status: "*" - limit: 1 - - - label: ":ios: Init and build RN CLI 0.67 ipa (Non-hermes)" - key: "rn-cli-0-67-ipa" + - label: ':android: Build RN {{matrix}} CLI test fixture' + key: "build-react-native-cli-android-fixture" timeout_in_minutes: 15 agents: - queue: "macos-12-arm" + queue: macos-14 env: - DEBUG: true - LANG: "en_US.UTF-8" - DEVELOPER_DIR: "/Applications/Xcode14.app" - artifact_paths: build/rn0_67.ipa + JAVA_VERSION: "17" + NODE_VERSION: "18" + RN_VERSION: "{{matrix}}" + RCT_NEW_ARCH_ENABLED: "0" + BUILD_ANDROID: "true" + INIT_RN_CLI: "true" + artifact_paths: + - "test/react-native-cli/features/fixtures/generated/old-arch/**/reactnative.apk" commands: - - test/react-native-cli/scripts/init-and-build-test.sh rn0_67 + - "cd test/react-native-cli" + - "bundle install" + - "bundle exec maze-runner features/build-app-tests/build-android-app.feature" + matrix: + - "0.71" + - "0.72" retry: automatic: - exit_status: "*" limit: 1 - - label: ":ios: Init and build RN CLI 0.69 ipa (Non-hermes)" - key: "rn-cli-0-69-ipa" - timeout_in_minutes: 15 + - label: ':ios: Build RN {{matrix}} CLI test fixture' + key: "build-react-native-cli-ios-fixture" + timeout_in_minutes: 20 agents: - queue: "macos-12-arm" + queue: "macos-14" env: - DEBUG: true - LANG: "en_US.UTF-8" - DEVELOPER_DIR: "/Applications/Xcode14.app" - artifact_paths: build/rn0_69.ipa + NODE_VERSION: "18" + RN_VERSION: "{{matrix}}" + RCT_NEW_ARCH_ENABLED: "0" + BUILD_IOS: "true" + XCODE_VERSION: "15.3.0" + INIT_RN_CLI: "true" + EXPORT_ARCHIVE: "0" commands: - - test/react-native-cli/scripts/init-and-build-test.sh rn0_69 + - "cd test/react-native-cli" + - "bundle install" + - "bundle exec maze-runner features/build-app-tests/build-ios-app.feature" + matrix: + - "0.71" + - "0.72" retry: automatic: - exit_status: "*" limit: 1 - - # - # Init, build and notify end-to-end tests - Android - # - - label: ":bitbar: :android: RN CLI 0.66 Android end-to-end tests" - depends_on: "rn-cli-0-66-apk" - timeout_in_minutes: 10 - plugins: - artifacts#v1.9.0: - download: "build/rn0_66.apk" - upload: ./test/react-native-cli/maze_output/**/* - docker-compose#v4.12.0: - pull: react-native-cli-maze-runner - run: react-native-cli-maze-runner - service-ports: true - command: - - --app=build/rn0_66.apk - - --app-activity=com.reactnative.MainActivity - - --app-package=com.reactnative - - --farm=bb - - --device=ANDROID_10|ANDROID_11|ANDROID_12 - - --appium-version=1.22 - - --no-tunnel - - --aws-public-ip - - features/run-app-tests - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - api-token-env-name: "REACT_NATIVE_CLI_BUILDKITE_ANALYTICS_TOKEN" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - - - label: ":bitbar: :android: RN CLI 0.67 Android end-to-end tests (Non-hermes)" - depends_on: "rn-cli-0-67-apk" - timeout_in_minutes: 10 - plugins: - artifacts#v1.9.0: - download: "build/rn0_67.apk" - upload: ./test/react-native-cli/maze_output/**/* - docker-compose#v4.12.0: - pull: react-native-cli-maze-runner - run: react-native-cli-maze-runner - service-ports: true - command: - - --app=build/rn0_67.apk - - --app-activity=com.reactnative.MainActivity - - --app-package=com.reactnative - - --farm=bb - - --device=ANDROID_10|ANDROID_11|ANDROID_12 - - --appium-version=1.22 - - --no-tunnel - - --aws-public-ip - - features/run-app-tests - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - api-token-env-name: "REACT_NATIVE_CLI_BUILDKITE_ANALYTICS_TOKEN" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - - - label: ":runner: RN CLI 0.69 Android end-to-end tests (Non-hermes)" - depends_on: "rn-cli-0-69-apk" - timeout_in_minutes: 10 - plugins: - artifacts#v1.9.0: - download: "build/rn0_69.apk" - upload: ./test/react-native-cli/maze_output/**/* - docker-compose#v4.12.0: - pull: react-native-cli-maze-runner - run: react-native-cli-maze-runner - service-ports: true - command: - - --app=build/rn0_69.apk - - --app-activity=com.reactnative.MainActivity - - --app-package=com.reactnative - - --farm=bb - - --device=ANDROID_10|ANDROID_11|ANDROID_12 - - --appium-version=1.22 - - --no-tunnel - - --aws-public-ip - - features/run-app-tests - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - api-token-env-name: "REACT_NATIVE_CLI_BUILDKITE_ANALYTICS_TOKEN" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - - # - # Init, build and notify end-to-end tests - iOS - # - - label: ":browserstack: :ios: RN CLI 0.66 iOS end-to-end tests" - depends_on: "rn-cli-0-66-ipa" - timeout_in_minutes: 10 - plugins: - artifacts#v1.5.0: - download: "build/rn0_66.ipa" - upload: ./test/react-native-cli/maze_output/**/* - docker-compose#v4.12.0: - pull: react-native-cli-maze-runner - run: react-native-cli-maze-runner - use-aliases: true - command: - - --app=build/rn0_66.ipa - - --farm=bs - - --device=IOS_14 - - features/run-app-tests - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - api-token-env-name: "REACT_NATIVE_CLI_BUILDKITE_ANALYTICS_TOKEN" - concurrency: 5 - concurrency_group: "browserstack-app" - concurrency_method: eager - - - label: ":browserstack: :ios: RN CLI 0.67 iOS end-to-end tests (Non-hermes)" - depends_on: "rn-cli-0-67-ipa" - timeout_in_minutes: 10 - plugins: - artifacts#v1.5.0: - download: "build/rn0_67.ipa" - upload: ./test/react-native-cli/maze_output/**/* - docker-compose#v4.12.0: - pull: react-native-cli-maze-runner - run: react-native-cli-maze-runner - use-aliases: true - command: - - --app=build/rn0_67.ipa - - --farm=bs - - --device=IOS_14 - - features/run-app-tests - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - api-token-env-name: "REACT_NATIVE_CLI_BUILDKITE_ANALYTICS_TOKEN" - concurrency: 5 - concurrency_group: "browserstack-app" - concurrency_method: eager - - - label: ":browserstack: :ios: RN CLI 0.69 iOS end-to-end tests (Non-hermes)" - depends_on: "rn-cli-0-69-ipa" - timeout_in_minutes: 10 - plugins: - artifacts#v1.5.0: - download: "build/rn0_69.ipa" - upload: ./test/react-native-cli/maze_output/**/* - docker-compose#v4.12.0: - pull: react-native-cli-maze-runner - run: react-native-cli-maze-runner - use-aliases: true - command: - - --app=build/rn0_69.ipa - - --farm=bs - - --device=IOS_14 - - features/run-app-tests - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^main|next$$" - api-token-env-name: "REACT_NATIVE_CLI_BUILDKITE_ANALYTICS_TOKEN" - concurrency: 5 - concurrency_group: "browserstack-app" - concurrency_method: eager diff --git a/scripts/generate-react-native-cli-fixture.js b/scripts/generate-react-native-cli-fixture.js new file mode 100644 index 0000000000..d29e05402f --- /dev/null +++ b/scripts/generate-react-native-cli-fixture.js @@ -0,0 +1,102 @@ +#!/usr/bin/env node + +const { execFileSync, execSync } = require('child_process') +const { resolve } = require('path') +const fs = require('fs') +const common = require('./common') +const androidUtils = require('./react-native/android-utils') +const iosUtils = require('./react-native/ios-utils') + +if (!process.env.RN_VERSION) { + console.error('Please provide a React Native version') + process.exit(1) +} + +if (!process.env.REGISTRY_URL) { + console.error('Please provide a Registry URL') + process.exit(1) +} + +if (!process.env.RCT_NEW_ARCH_ENABLED || (process.env.RCT_NEW_ARCH_ENABLED !== '1' && process.env.RCT_NEW_ARCH_ENABLED !== '0')) { + console.error('RCT_NEW_ARCH_ENABLED must be set to 1 or 0') + process.exit(1) +} + +const notifierVersion = process.env.NOTIFIER_VERSION || common.getCommitId() + +const reactNativeVersion = process.env.RN_VERSION +const ROOT_DIR = resolve(__dirname, '../') + +const isNewArchEnabled = process.env.RCT_NEW_ARCH_ENABLED === '1' + +let exportArchive = true + +let fixturePath = process.env.FIXTURE_DIR || 'test/react-native-cli/features/fixtures/generated/' + +if (isNewArchEnabled) { + fixturePath += 'new-arch/' +} else { + fixturePath += 'old-arch/' +} + +const fixtureDir = resolve(ROOT_DIR, fixturePath, reactNativeVersion) + +const replacementFilesDir = resolve(ROOT_DIR, 'test/react-native-cli/features/fixtures/app/dynamic/') + +const PEER_DEPENDENCIES = [ + `@bugsnag/react-native-cli@${notifierVersion}` +] + +// Generate the fixture +if (!process.env.SKIP_GENERATE_FIXTURE) { + // remove the fixture directory if it already exists + if (fs.existsSync(fixtureDir)) { + fs.rmSync(fixtureDir, { recursive: true, force: true }) + } + + // create the test fixture + const RNInitArgs = ['@react-native-community/cli@latest', 'init', 'reactnative', '--directory', fixtureDir, '--version', reactNativeVersion, '--pm', 'npm', '--skip-install'] + execFileSync('npx', RNInitArgs, { stdio: 'inherit' }) + + replaceGeneratedFixtureFiles() + + androidUtils.configureAndroidProject(fixtureDir, isNewArchEnabled) + + iosUtils.configureIOSProject(fixtureDir) + + // install the peer dependencies + execSync(`npm install --save ${PEER_DEPENDENCIES} --registry ${process.env.REGISTRY_URL} --legacy-peer-deps`, { cwd: fixtureDir, stdio: 'inherit' }) + + if (process.env.INIT_RN_CLI === 'true' || process.env.INIT_RN_CLI === '1') { + enableSourceMaps() + } +} + +// Build the android fixture +if (process.env.BUILD_ANDROID === 'true' || process.env.BUILD_ANDROID === '1') { + // build the android app + androidUtils.buildAPK(fixtureDir) +} + +// Build the iOS fixture +if (process.env.BUILD_IOS === 'true' || process.env.BUILD_IOS === '1') { + if (process.env.EXPORT_ARCHIVE !== 'true' || process.env.EXPORT_ARCHIVE !== '1') { + exportArchive = false + } + iosUtils.buildIPA(fixtureDir, exportArchive) +} + +function enableSourceMaps () { + common.changeDir(`${ROOT_DIR}/scripts`) + const initCommand = `./init-rn-cli.sh ${notifierVersion} ${reactNativeVersion} ${fixtureDir}` + common.run(initCommand, true) +} + +/** Replace native files generated by react-native cli with pre-configured files */ +function replaceGeneratedFixtureFiles () { + // copy the exportOptions.plist file + fs.copyFileSync( + resolve(replacementFilesDir, 'ios/exportOptions.plist'), + resolve(fixtureDir, 'exportOptions.plist') + ) +} diff --git a/scripts/generate-react-native-fixture.js b/scripts/generate-react-native-fixture.js index dda778cb67..4d7417fbb4 100644 --- a/scripts/generate-react-native-fixture.js +++ b/scripts/generate-react-native-fixture.js @@ -1,7 +1,11 @@ +#!/usr/bin/env node + const { execFileSync, execSync } = require('child_process') const { resolve } = require('path') const fs = require('fs') const common = require('./common') +const androidUtils = require('./react-native/android-utils') +const iosUtils = require('./react-native/ios-utils') if (!process.env.RN_VERSION) { console.error('Please provide a React Native version') @@ -81,16 +85,17 @@ if (!process.env.SKIP_GENERATE_FIXTURE) { replaceGeneratedFixtureFiles() - configureAndroidProject() + androidUtils.configureAndroidProject(fixtureDir, isNewArchEnabled) + + if (!isNewArchEnabled) { + // react navigation setup + androidUtils.configureReactNavigationAndroid(fixtureDir, reactNativeVersion) + } - configureIOSProject() + iosUtils.configureIOSProject(fixtureDir) installFixtureDependencies() - if (process.env.ENABLE_SOURCE_MAPS === 'true' || process.env.ENABLE_SOURCE_MAPS === '1') { - enableSourceMaps() - } - // link react-native-navigation using rnn-link tool if (process.env.REACT_NATIVE_NAVIGATION === 'true' || process.env.REACT_NATIVE_NAVIGATION === '1') { execSync('npx rnn-link', { cwd: fixtureDir, stdio: 'inherit' }) @@ -100,49 +105,12 @@ if (!process.env.SKIP_GENERATE_FIXTURE) { // Build the android fixture if (process.env.BUILD_ANDROID === 'true' || process.env.BUILD_ANDROID === '1') { // build the android app - execFileSync('./gradlew', ['assembleRelease'], { cwd: `${fixtureDir}/android`, stdio: 'inherit' }) - fs.copyFileSync(`${fixtureDir}/android/app/build/outputs/apk/release/app-release.apk`, `${fixtureDir}/reactnative.apk`) + androidUtils.buildAPK(fixtureDir) } // Build the iOS fixture if (process.env.BUILD_IOS === 'true' || process.env.BUILD_IOS === '1') { - fs.rmSync(`${fixtureDir}/reactnative.xcarchive`, { recursive: true, force: true }) - - // install pods - execFileSync('bundle', ['install'], { cwd: `${fixtureDir}/ios`, stdio: 'inherit' }) - execFileSync('bundle', ['exec', 'pod', 'install', '--repo-update'], { cwd: `${fixtureDir}/ios`, stdio: 'inherit' }) - - // build the ios app - const archiveArgs = [ - 'xcodebuild', - 'DEVELOPMENT_TEAM=7W9PZ27Y5F', - '-workspace', - 'reactnative.xcworkspace', - '-scheme', - 'reactnative', - '-configuration', - 'Release', - '-archivePath', - `${fixtureDir}/reactnative.xcarchive`, - '-allowProvisioningUpdates', - 'archive' - ] - - execFileSync('xcrun', archiveArgs, { cwd: `${fixtureDir}/ios`, stdio: 'inherit' }) - - // export the archive - const exportArgs = [ - 'xcodebuild', - '-exportArchive', - '-archivePath', - 'reactnative.xcarchive', - '-exportPath', - 'output/', - '-exportOptionsPlist', - 'exportOptions.plist' - ] - - execFileSync('xcrun', exportArgs, { cwd: fixtureDir, stdio: 'inherit' }) + iosUtils.buildIPA(fixtureDir) } function installFixtureDependencies () { @@ -195,117 +163,3 @@ function replaceGeneratedFixtureFiles () { resolve(fixtureDir, 'exportOptions.plist') ) } - -function configureIOSProject () { - // update the bundle identifier in pbxproj - let pbxProjContents = fs.readFileSync(`${fixtureDir}/ios/reactnative.xcodeproj/project.pbxproj`, 'utf8') - pbxProjContents = pbxProjContents.replaceAll('org.reactjs.native.example', 'com.bugsnag.fixtures') - fs.writeFileSync(`${fixtureDir}/ios/reactnative.xcodeproj/project.pbxproj`, pbxProjContents) - - // disable Flipper - let podfileContents = fs.readFileSync(`${fixtureDir}/ios/Podfile`, 'utf8') - if (podfileContents.includes('use_flipper!')) { - podfileContents = podfileContents.replace(/use_flipper!/, '# use_flipper!') - } else if (podfileContents.includes(':flipper_configuration')) { - podfileContents = podfileContents.replace(/:flipper_configuration/, '# :flipper_configuration') - } - - fs.writeFileSync(`${fixtureDir}/ios/Podfile`, podfileContents) - - // pin xcodeproj version to < 1.26.0 - const gemfilePath = resolve(fixtureDir, 'Gemfile') - if (fs.existsSync(gemfilePath)) { - let gemfileContents = fs.readFileSync(gemfilePath, 'utf8') - gemfileContents += '\ngem \'xcodeproj\', \'< 1.26.0\'' - if (!gemfileContents.includes('concurrent-ruby')) { - gemfileContents += '\ngem \'concurrent-ruby\', \'<= 1.3.4\'' - } - fs.writeFileSync(gemfilePath, gemfileContents) - } - - // set NSAllowsArbitraryLoads to allow http traffic for all domains (bitbar public IP + bs-local.com) - const plistpath = `${fixtureDir}/ios/reactnative/Info.plist` - let plistContents = fs.readFileSync(plistpath, 'utf8') - const allowArbitraryLoads = 'NSAllowsArbitraryLoads\n\t\t' - let searchPattern, replacement - if (plistContents.includes('NSAllowsArbitraryLoads')) { - searchPattern = 'NSAllowsArbitraryLoads\n\t\t' - replacement = allowArbitraryLoads - } else { - searchPattern = 'NSAppTransportSecurity\n\t' - replacement = `${searchPattern}\n\t\t${allowArbitraryLoads}` - } - - // remove the NSAllowsLocalNetworking key if it exists as this causes NSAllowsArbitraryLoads to be ignored - const allowLocalNetworking = 'NSAllowsLocalNetworking\n\t\t' - plistContents = plistContents.replace(allowLocalNetworking, '') - - fs.writeFileSync(plistpath, plistContents.replace(searchPattern, replacement)) -} - -function configureAndroidProject () { - // set android:usesCleartextTraffic="true" in AndroidManifest.xml - const androidManifestPath = `${fixtureDir}/android/app/src/main/AndroidManifest.xml` - let androidManifestContents = fs.readFileSync(androidManifestPath, 'utf8') - androidManifestContents = androidManifestContents.replace('NSAllowsArbitraryLoads')) { + searchPattern = 'NSAllowsArbitraryLoads\n\t\t' + replacement = allowArbitraryLoads + } else { + searchPattern = 'NSAppTransportSecurity\n\t' + replacement = `${searchPattern}\n\t\t${allowArbitraryLoads}` + } + + // remove the NSAllowsLocalNetworking key if it exists as this causes NSAllowsArbitraryLoads to be ignored + const allowLocalNetworking = 'NSAllowsLocalNetworking\n\t\t' + plistContents = plistContents.replace(allowLocalNetworking, '') + + fs.writeFileSync(plistpath, plistContents.replace(searchPattern, replacement)) + }, + buildIPA: function buildIPA (fixtureDir, exportArchive = true) { + fs.rmSync(`${fixtureDir}/reactnative.xcarchive`, { recursive: true, force: true }) + + // install pods + execFileSync('bundle', ['install'], { cwd: `${fixtureDir}/ios`, stdio: 'inherit' }) + execFileSync('bundle', ['exec', 'pod', 'install', '--repo-update'], { cwd: `${fixtureDir}/ios`, stdio: 'inherit' }) + + // build the ios app + const archiveArgs = [ + 'xcodebuild', + 'DEVELOPMENT_TEAM=7W9PZ27Y5F', + '-workspace', + 'reactnative.xcworkspace', + '-scheme', + 'reactnative', + '-configuration', + 'Release', + '-allowProvisioningUpdates', + 'archive' + ] + + if (exportArchive) { + archiveArgs.splice(8, 0, '-archivePath', `${fixtureDir}/reactnative.xcarchive`) + } + + execFileSync('xcrun', archiveArgs, { cwd: `${fixtureDir}/ios`, stdio: 'inherit' }) + + if (exportArchive) { + // export the archive + const exportArgs = [ + 'xcodebuild', + '-exportArchive', + '-archivePath', + 'reactnative.xcarchive', + '-exportPath', + 'output/', + '-exportOptionsPlist', + 'exportOptions.plist' + ] + + execFileSync('xcrun', exportArgs, { cwd: fixtureDir, stdio: 'inherit' }) + } + } + +} diff --git a/test/react-native-cli/features/fixtures/.gitignore b/test/react-native-cli/features/fixtures/.gitignore deleted file mode 100644 index 53752db253..0000000000 --- a/test/react-native-cli/features/fixtures/.gitignore +++ /dev/null @@ -1 +0,0 @@ -output diff --git a/test/react-native-cli/features/fixtures/Dockerfile b/test/react-native-cli/features/fixtures/Dockerfile deleted file mode 100644 index 33f8f473c9..0000000000 --- a/test/react-native-cli/features/fixtures/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM node:18-alpine - -RUN apk add git - -RUN git config --global user.email "noone@example.com" -RUN git config --global user.name "No One" - -COPY . /app - -WORKDIR /app - -RUN npm i -g bugsnag-react-native-cli-*.tgz - -ENTRYPOINT ["/bin/sh"] diff --git a/test/react-native-cli/features/fixtures/exportOptions.plist b/test/react-native-cli/features/fixtures/app/dynamic/ios/exportOptions.plist similarity index 100% rename from test/react-native-cli/features/fixtures/exportOptions.plist rename to test/react-native-cli/features/fixtures/app/dynamic/ios/exportOptions.plist diff --git a/test/react-native-cli/features/fixtures/docker-compose.yml b/test/react-native-cli/features/fixtures/docker-compose.yml deleted file mode 100755 index 4600d7897a..0000000000 --- a/test/react-native-cli/features/fixtures/docker-compose.yml +++ /dev/null @@ -1,50 +0,0 @@ -version: '3.6' -services: - - rn0_66: - build: - context: rn0_66 - dockerfile: ../Dockerfile - environment: - DEBUG: - networks: - default: - aliases: - - maze-runner - - rn0_67: - build: - context: rn0_67 - dockerfile: ../Dockerfile - environment: - DEBUG: - networks: - default: - aliases: - - maze-runner - - rn0_67_hermes: - build: - context: rn0_67_hermes - dockerfile: ../Dockerfile - environment: - DEBUG: - networks: - default: - aliases: - - maze-runner - - rn0_69: - build: - context: rn0_69 - dockerfile: ../Dockerfile - environment: - DEBUG: - networks: - default: - aliases: - - maze-runner - -networks: - default: - name: ${NETWORK_NAME:-react-native-cli-maze-runner} diff --git a/test/react-native-cli/features/fixtures/rn-cli-init-android.sh b/test/react-native-cli/features/fixtures/rn-cli-init-android.sh deleted file mode 100755 index efaa8e8ff3..0000000000 --- a/test/react-native-cli/features/fixtures/rn-cli-init-android.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/expect -f - -set timeout -1 -set notifierVersion [lindex $argv 0]; -set rnVersion [lindex $argv 1]; -set rnVersionInt "" -set substringToTrim ".expo.ejected" - -# Extract the substring starting from the third character -set rnVersionInt [string range $rnVersion 2 end] - -# Replace underscore (_) with a period (.) -set rnVersionInt2 [string map {_ .} $rnVersionInt] - -set rnVersionInt3 [string map [list $substringToTrim ""] $rnVersionInt2] - -# Convert float string to float value using bc -regsub -all {^0+} $rnVersionInt3 "" $rnVersionInt3 - -puts "Using notifier version: $notifierVersion" -puts "Using React Native version: $rnVersion" - -cd $rnVersion -spawn ./node_modules/.bin/bugsnag-react-native-cli init - -expect "Do you want to continue anyway?" -send -- "Y\r" - -expect "Are you using Bugsnag on-premise?" -send -- "Y\r" - -expect "What is your Bugsnag notify endpoint?" -send -- http://bs-local.com:9339/notify\r - -expect "What is your Bugsnag sessions endpoint?" -send -- http://bs-local.com:9339/sessions\r - -expect "What is your Bugsnag upload endpoint?" -send -- http://localhost:9339\r - -expect "What is your Bugsnag build endpoint?" -send -- http://localhost:9339/builds\r - -expect "If you want the latest version of @bugsnag/react-native hit enter, otherwise type the version you want" -send -- $notifierVersion\r - -expect "Enter version of the Bugsnag Android Gradle plugin you want to use" -send -- \r - -expect "What is your Bugsnag project API key?" -send -- "1234567890ABCDEF1234567890ABCDEF\r" - -expect "Do you want to install the BugSnag CLI to allow you to upload JavaScript source maps?" -send -- y - -expect "If you want the latest version of @bugsnag/cli hit enter, otherwise type the version you want" -send -- 2.1.1\r - -if {[expr $rnVersionInt3 < 0.68]} { - expect "or follow the manual integration instructions in our online docs: https://docs.bugsnag.com/platforms/react-native/react-native/manual-setup/')" - send -- \r -} - -expect "See https://docs.bugsnag.com/platforms/react-native/react-native/showing-full-stacktraces for details." -send -- \r - -expect "Do you want to update your Xcode build phase to output JavaScript source maps?" -send -- n - -expect eof diff --git a/test/react-native-cli/features/fixtures/rn-cli-init-ios.sh b/test/react-native-cli/features/fixtures/rn-cli-init-ios.sh deleted file mode 100755 index 9c35f718d2..0000000000 --- a/test/react-native-cli/features/fixtures/rn-cli-init-ios.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/expect -f - -set timeout -1 -set notifierVersion [lindex $argv 0]; -set rnVersion [lindex $argv 1]; -set rnVersionInt "" -set substringToTrim ".expo.ejected" - -# Extract the substring starting from the third character -set rnVersionInt [string range $rnVersion 2 end] - -# Replace underscore (_) with a period (.) -set rnVersionInt2 [string map {_ .} $rnVersionInt] - -set rnVersionInt3 [string map [list $substringToTrim ""] $rnVersionInt2] - -# Convert float string to float value using bc -regsub -all {^0+} $rnVersionInt3 "" $rnVersionInt3 - -puts "Using notifier version: $notifierVersion" -puts "Using React Native version: $rnVersion" - -cd $rnVersion -spawn ./node_modules/.bin/bugsnag-react-native-cli init - -expect "Do you want to continue anyway?" -send -- "Y\r" - -expect "Are you using Bugsnag on-premise?" -send -- "Y\r" - -expect "What is your Bugsnag notify endpoint?" -send -- http://bs-local.com:9339/notify\r - -expect "What is your Bugsnag sessions endpoint?" -send -- http://bs-local.com:9339/sessions\r - -expect "What is your Bugsnag upload endpoint?" -send -- http://localhost:9339\r - -expect "What is your Bugsnag build endpoint?" -send -- http://localhost:9339/builds\r - -expect "If you want the latest version of @bugsnag/react-native hit enter, otherwise type the version you want" -send -- $notifierVersion\r - -expect "Enter version of the Bugsnag Android Gradle plugin you want to use" -send -- \r - -expect "What is your Bugsnag project API key?" -send -- "1234567890ABCDEF1234567890ABCDEF\r" - -expect "Do you want to install the BugSnag CLI to allow you to upload JavaScript source maps?" -send -- y - -expect "If you want the latest version of @bugsnag/cli hit enter, otherwise type the version you want" -send -- 2.1.1\r - -if {[expr $rnVersionInt3 < 0.68]} { - expect "or follow the manual integration instructions in our online docs: https://docs.bugsnag.com/platforms/react-native/react-native/manual-setup/')" - send -- \r -} - -expect "See https://docs.bugsnag.com/platforms/react-native/react-native/showing-full-stacktraces for details." -send -- \r - -expect "Do you want to update your Xcode build phase to output JavaScript source maps?" -send -- y - -expect "This will enable you to see full native stacktraces. It can't be done automatically." -send -- \r - -expect eof diff --git a/test/react-native-cli/features/fixtures/rn0_66/.buckconfig b/test/react-native-cli/features/fixtures/rn0_66/.buckconfig deleted file mode 100644 index 934256cb29..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.buckconfig +++ /dev/null @@ -1,6 +0,0 @@ - -[android] - target = Google Inc.:Google APIs:23 - -[maven_repositories] - central = https://repo1.maven.org/maven2 diff --git a/test/react-native-cli/features/fixtures/rn0_66/.dockerignore b/test/react-native-cli/features/fixtures/rn0_66/.dockerignore deleted file mode 100644 index 02f7caec52..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -# Ignore lockfiles as they can influence test runs -package-lock.json -yarn.lock diff --git a/test/react-native-cli/features/fixtures/rn0_66/.dockerignore copy b/test/react-native-cli/features/fixtures/rn0_66/.dockerignore copy deleted file mode 100644 index 02f7caec52..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.dockerignore copy +++ /dev/null @@ -1,3 +0,0 @@ -# Ignore lockfiles as they can influence test runs -package-lock.json -yarn.lock diff --git a/test/react-native-cli/features/fixtures/rn0_66/.editorconfig b/test/react-native-cli/features/fixtures/rn0_66/.editorconfig deleted file mode 100644 index 7c286132fe..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.editorconfig +++ /dev/null @@ -1,3 +0,0 @@ -# Windows files -[*.bat] -end_of_line = crlf diff --git a/test/react-native-cli/features/fixtures/rn0_66/.flowconfig b/test/react-native-cli/features/fixtures/rn0_66/.flowconfig deleted file mode 100644 index 4320b7070e..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.flowconfig +++ /dev/null @@ -1,65 +0,0 @@ -[ignore] -; We fork some components by platform -.*/*[.]android.js - -; Ignore "BUCK" generated dirs -/\.buckd/ - -; Ignore polyfills -node_modules/react-native/Libraries/polyfills/.* - -; Flow doesn't support platforms -.*/Libraries/Utilities/LoadingView.js - -[untyped] -.*/node_modules/@react-native-community/cli/.*/.* - -[include] - -[libs] -node_modules/react-native/interface.js -node_modules/react-native/flow/ - -[options] -emoji=true - -exact_by_default=true - -format.bracket_spacing=false - -module.file_ext=.js -module.file_ext=.json -module.file_ext=.ios.js - -munge_underscores=true - -module.name_mapper='^react-native/\(.*\)$' -> '/node_modules/react-native/\1' -module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '/node_modules/react-native/Libraries/Image/RelativeImageStub' - -suppress_type=$FlowIssue -suppress_type=$FlowFixMe -suppress_type=$FlowFixMeProps -suppress_type=$FlowFixMeState - -[lints] -sketchy-null-number=warn -sketchy-null-mixed=warn -sketchy-number=warn -untyped-type-import=warn -nonstrict-import=warn -deprecated-type=warn -unsafe-getters-setters=warn -unnecessary-invariant=warn -signature-verification-failure=warn - -[strict] -deprecated-type -nonstrict-import -sketchy-null -unclear-type -unsafe-getters-setters -untyped-import -untyped-type-import - -[version] -^0.158.0 diff --git a/test/react-native-cli/features/fixtures/rn0_66/.gitattributes b/test/react-native-cli/features/fixtures/rn0_66/.gitattributes deleted file mode 100644 index 45a3dcb2a2..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -# Windows files should use crlf line endings -# https://help.github.com/articles/dealing-with-line-endings/ -*.bat text eol=crlf diff --git a/test/react-native-cli/features/fixtures/rn0_66/.gitignore b/test/react-native-cli/features/fixtures/rn0_66/.gitignore deleted file mode 100644 index 9478ef4731..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.gitignore +++ /dev/null @@ -1,64 +0,0 @@ -# OSX -# -.DS_Store - -# Xcode -# -build/ -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata -*.xccheckout -*.moved-aside -DerivedData -*.hmap -*.ipa -*.xcuserstate - -# Android/IntelliJ -# -build/ -.idea -.gradle -local.properties -*.iml -*.hprof - -# node.js -# -node_modules/ -npm-debug.log -yarn-error.log - -# BUCK -buck-out/ -\.buckd/ -*.keystore -!debug.keystore - -# fastlane -# -# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the -# screenshots whenever they are needed. -# For more information about the recommended setup visit: -# https://docs.fastlane.tools/best-practices/source-control/ - -*/fastlane/report.xml -*/fastlane/Preview.html -*/fastlane/screenshots - -# Bundle artifact -*.jsbundle - -# CocoaPods -/ios/Pods/ - -# Ignore lockfiles as they can influence test runs -package-lock.json -yarn.lock diff --git a/test/react-native-cli/features/fixtures/rn0_66/.npmrc b/test/react-native-cli/features/fixtures/rn0_66/.npmrc deleted file mode 100644 index e9ee3cb4d0..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.npmrc +++ /dev/null @@ -1 +0,0 @@ -legacy-peer-deps=true \ No newline at end of file diff --git a/test/react-native-cli/features/fixtures/rn0_66/.prettierrc.js b/test/react-native-cli/features/fixtures/rn0_66/.prettierrc.js deleted file mode 100644 index 84196d95f4..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.prettierrc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - bracketSpacing: false, - jsxBracketSameLine: true, - singleQuote: true, - trailingComma: 'all', - arrowParens: 'avoid', -}; diff --git a/test/react-native-cli/features/fixtures/rn0_66/.watchmanconfig b/test/react-native-cli/features/fixtures/rn0_66/.watchmanconfig deleted file mode 100644 index 9e26dfeeb6..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/.watchmanconfig +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/test/react-native-cli/features/fixtures/rn0_66/App.js b/test/react-native-cli/features/fixtures/rn0_66/App.js deleted file mode 100644 index 2651b3979f..0000000000 --- a/test/react-native-cli/features/fixtures/rn0_66/App.js +++ /dev/null @@ -1,108 +0,0 @@ -import React from 'react'; -import Bugsnag from "@bugsnag/react-native"; -import { - SafeAreaView, - StyleSheet, - ScrollView, - View, - Text, - StatusBar, - Button, NativeModules -} from 'react-native'; - -import { - Colors -} from 'react-native/Libraries/NewAppScreen'; - -function jsNotify() { - try { // execute crashy code - iMadeThisUp(); - } catch (error) { - console.log('Bugsnag.notify JS error') - Bugsnag.notify(error); - } -} - -function nativeNotify() { - console.log('Bugsnag.notify native error') - NativeModules.CrashyCrashy.handledError() -} - -const App: () => React$Node = () => { - return ( - <> - - - - {global.HermesInternal == null ? null : ( - - Engine: Hermes - - )} - - React Native CLI end-to-end test app -