diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..e30aa2cf
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,10 @@
+version: 2
+updates:
+ - package-ecosystem: 'npm'
+ directory: '/'
+ schedule:
+ interval: 'daily'
+ time: '21:00'
+ open-pull-requests-limit: 20
+ ignore:
+ - dependency-name: 'react-native'
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 00000000..9ef54c25
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,40 @@
+name: Git Checks
+
+on: [push]
+
+jobs:
+ build:
+ name: Run tests, linter, TS
+ runs-on: macOS-latest
+
+ steps:
+ - name: Check out Git repository
+ uses: actions/checkout@v2
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v1
+ with:
+ node-version: 12
+
+ - name: Install dependencies
+ run: yarn
+
+ - name: Pod Install
+ working-directory: ios
+ run: pod install
+
+ # TS
+ - name: Run TypeScript
+ run: yarn tsc
+
+ # Run linter
+ - name: Run linter
+ run: yarn lint
+
+ # Run Prettier
+ - name: Run prettier
+ run: yarn prettier
+
+ # Tests
+ - name: Run unit tests
+ run: yarn jest
\ No newline at end of file
diff --git a/.github/workflows/ts-ignore-counter.yml b/.github/workflows/ts-ignore-counter.yml
new file mode 100644
index 00000000..c1a00ac2
--- /dev/null
+++ b/.github/workflows/ts-ignore-counter.yml
@@ -0,0 +1,48 @@
+name: TypeScript '@ts-ignore' counter
+on: push
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Dump GitHub context
+ env:
+ GITHUB_CONTEXT: ${{ toJson(github) }}
+ run: echo "$GITHUB_CONTEXT"
+ - uses: actions/checkout@v2
+ with:
+ ref: master
+ - name: Count ts-ignore on master
+ id: before
+ run: |
+ export BEFORE=`find . -type f \( -name "*.ts" -or -name "*.tsx" \) -exec grep -o "@ts-ignore" {} \; |wc -l`
+ echo "::set-output name=count::$BEFORE"
+ - uses: actions/checkout@v2
+ - name: Count ts-ignore on this commit
+ id: after
+ run: |
+ export AFTER=`find . -type f \( -name "*.ts" -or -name "*.tsx" \) -exec grep -o "@ts-ignore" {} \; |wc -l`
+ echo "::set-output name=count::$AFTER"
+ - name: Do the math
+ id: result
+ run: |
+ export BEFORE="${{ steps.before.outputs.count }}"
+ export AFTER="${{ steps.after.outputs.count }}"
+ if [[ `expr $AFTER - $BEFORE` -gt 0 ]]; then
+ export DIFF=`expr $AFTER - $BEFORE`
+ export CHANGE="(went up by $DIFF) "
+ for n in $(seq $DIFF); do export CHANGE="$CHANGE:broken_heart:"; done
+ elif [[ `expr $BEFORE - $AFTER` -gt 0 ]]; then
+ export DIFF=`expr $BEFORE - $AFTER`
+ export CHANGE="(went down by $DIFF) "
+ for n in $(seq $DIFF); do export CHANGE="$CHANGE:sparkles:"; done
+ else
+ export CHANGE="(unchanged)"
+ fi
+ echo "::set-output name=comment::**ts-ignore**'s: $AFTER $CHANGE"
+ - name: Post issue comment
+ run: |
+ jq --arg msg "${{ steps.result.outputs.comment }}" -nc '{"body": $msg}' | \
+ curl -sL -X POST -d @- \
+ -H "Content-Type: application/json" \
+ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
+ "https://api.github.com/repos/$GITHUB_REPOSITORY/commits/$GITHUB_SHA/comments"
\ No newline at end of file
diff --git a/__mocks__/react-native-device-info.js b/__mocks__/react-native-device-info.js
new file mode 100644
index 00000000..250db168
--- /dev/null
+++ b/__mocks__/react-native-device-info.js
@@ -0,0 +1,32 @@
+module.exports = {
+ getUserAgent: () => "TestUser/Agent",
+ getManufacturer: () => "Apple",
+ getDeviceId: () => "DeviceId",
+ getSystemVersion: () => "10.0",
+ getReadableVersion: () => "1.0.0.1",
+ getApplicationName: () => "Mindful Chef (Dev)",
+ isEmulator: () => true,
+ isTablet: () => false,
+ getModel: () => "Mock iPhone 12",
+ getVersion: jest.fn(() => Promise.resolve("24.0")),
+ getBundleId: jest.fn(() => Promise.resolve("com.mindfulchef.uat")),
+ getBuildNumber: jest.fn(() => Promise.resolve("3.0.0")),
+ getIpAddress: jest.fn(() => Promise.resolve("10.158.70.93")),
+ getUniqueID: jest.fn(),
+ getBrand: jest.fn(),
+ getSystemName: jest.fn(),
+ getDeviceName: jest.fn(),
+ getDeviceLocale: jest.fn(),
+ getDeviceCountry: jest.fn(),
+ getTimezone: jest.fn(),
+ is24Hour: jest.fn(),
+ isPinOrFingerprintSet: jest.fn(),
+ getAPILevel: jest.fn(),
+ getInstanceID: jest.fn(),
+ getPhoneNumber: jest.fn(),
+ getFirstInstallTime: jest.fn(),
+ getLastUpdateTime: jest.fn(),
+ getSerialNumber: jest.fn(),
+ getMACAddress: jest.fn(),
+ getCarrier: jest.fn(),
+};
diff --git a/__mocks__/react-native-permissions.js b/__mocks__/react-native-permissions.js
new file mode 100644
index 00000000..bec05185
--- /dev/null
+++ b/__mocks__/react-native-permissions.js
@@ -0,0 +1,3 @@
+module.exports = {
+ checkNotifications: () => true,
+};
diff --git a/package.json b/package.json
index 40d9d570..06ef546f 100644
--- a/package.json
+++ b/package.json
@@ -59,7 +59,7 @@
"@types/react-redux": "^7.1.9",
"@types/redux-logger": "^3.0.7",
"@types/redux-saga": "^0.10.5",
- "@typescript-eslint/eslint-plugin": "^3.7.0",
+ "@typescript-eslint/eslint-plugin": "^4.0.0",
"@typescript-eslint/parser": "^3.7.0",
"babel-eslint": "^10.1.0",
"babel-jest": "~25.1.0",
diff --git a/src/components/__tests__/ButtonWithIcon.spec.tsx b/src/components/__tests__/ButtonWithIcon.spec.tsx
index d25b5d17..e48bbdb0 100644
--- a/src/components/__tests__/ButtonWithIcon.spec.tsx
+++ b/src/components/__tests__/ButtonWithIcon.spec.tsx
@@ -6,7 +6,7 @@ import ButtonWithIcon from "../ButtonWithIcon";
it(`renders correctly`, () => {
const defaultProps = {
label: "Google",
- icon: "Icon",
+ icon: "add",
onPress: () => {},
};
const tree = renderer.create().toJSON();
diff --git a/src/components/__tests__/__snapshots__/ButtonWithIcon.spec.tsx.snap b/src/components/__tests__/__snapshots__/ButtonWithIcon.spec.tsx.snap
index 210075f4..d7946203 100644
--- a/src/components/__tests__/__snapshots__/ButtonWithIcon.spec.tsx.snap
+++ b/src/components/__tests__/__snapshots__/ButtonWithIcon.spec.tsx.snap
@@ -72,7 +72,7 @@ exports[`renders correctly 1`] = `
]
}
>
- ?
+
+ Google.com
+
+
-
+ , ,
-
- Google.com
-
-
- , ,
-
+ "alignItems": "center",
+ "backgroundColor": "#f7f7f7",
+ "flex": 1,
+ "height": 100,
+ "justifyContent": "center",
+ "width": 100,
+ }
+ }
+ >
+
+
+
+
+
`;
diff --git a/src/screens/__tests__/__snapshots__/SettingsScreen.spec.tsx.snap b/src/screens/__tests__/__snapshots__/SettingsScreen.spec.tsx.snap
new file mode 100644
index 00000000..45b807ca
--- /dev/null
+++ b/src/screens/__tests__/__snapshots__/SettingsScreen.spec.tsx.snap
@@ -0,0 +1,501 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`SettingsScreen renders the SettingsScreen screen 1`] = `
+
+
+
+
+
+
+ Your details
+
+
+
+
+
+
+ Name
+
+
+ John
+
+ Doe
+
+
+
+
+ Email
+
+
+ test@test.com
+
+
+
+
+ App version
+
+
+
+
+
+
+
+ UUID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Terms & Conditions
+
+
+
+
+
+
+
+
+
+
+
+
+ Contact
+
+
+
+
+
+
+
+
+
+
+
+
+ Logout
+
+
+
+
+
+
+`;
diff --git a/src/store/reducers/__tests__/data.spec.tsx b/src/store/reducers/__tests__/data.spec.tsx
index 2b6fe68a..16ef6f05 100644
--- a/src/store/reducers/__tests__/data.spec.tsx
+++ b/src/store/reducers/__tests__/data.spec.tsx
@@ -9,7 +9,6 @@ describe("Data reducer", () => {
});
expect(state).toEqual({
- data: [],
universities: [],
});
});
@@ -22,7 +21,7 @@ describe("Data reducer", () => {
payload,
});
- expect(state).toEqual({ data: [], universities: ["mock"] });
+ expect(state).toEqual({ universities: ["mock"] });
});
it("DATA_FETCHED_FAILURE", () => {
@@ -33,6 +32,6 @@ describe("Data reducer", () => {
payload,
});
- expect(state).toEqual({ data: [], universities: [] });
+ expect(state).toEqual({ universities: [] });
});
});
diff --git a/yarn.lock b/yarn.lock
index 36ed8e43..df06d4c2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1264,6 +1264,27 @@
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
+"@nodelib/fs.scandir@2.1.4":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
+ integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.4"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655"
+ integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063"
+ integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.4"
+ fastq "^1.6.0"
+
"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
version "1.1.2"
resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
@@ -1859,11 +1880,13 @@
regexpp "^3.0.0"
tsutils "^3.17.1"
-"@typescript-eslint/eslint-plugin@^3.7.0":
- version "3.7.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.7.0.tgz#0f91aa3c83d019591719e597fbdb73a59595a263"
+"@typescript-eslint/eslint-plugin@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.0.0.tgz#99349a501447fed91de18346705c0c65cf603bee"
+ integrity sha512-5e6q1TR7gS2P+8W2xndCu7gBh3BzmYEo70OyIdsmCmknHha/yNbz2vdevl+tP1uoaMOcrzg4gyrAijuV3DDBHA==
dependencies:
- "@typescript-eslint/experimental-utils" "3.7.0"
+ "@typescript-eslint/experimental-utils" "4.0.0"
+ "@typescript-eslint/scope-manager" "4.0.0"
debug "^4.1.1"
functional-red-black-tree "^1.0.1"
regexpp "^3.0.0"
@@ -1889,6 +1912,18 @@
eslint-scope "^5.0.0"
eslint-utils "^2.0.0"
+"@typescript-eslint/experimental-utils@4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.0.0.tgz#fbec21a3b5ab59127edb6ce2e139ed378cc50eb5"
+ integrity sha512-hbX6zR+a/vcpFVNJYN/Nbd7gmaMosDTxHEKcvmhWeWcq/0UDifrqmCfkkodbAKL46Fn4ekSBMTyq2zlNDzcQxw==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/scope-manager" "4.0.0"
+ "@typescript-eslint/types" "4.0.0"
+ "@typescript-eslint/typescript-estree" "4.0.0"
+ eslint-scope "^5.0.0"
+ eslint-utils "^2.0.0"
+
"@typescript-eslint/parser@^2.25.0":
version "2.34.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8"
@@ -1908,10 +1943,23 @@
"@typescript-eslint/typescript-estree" "3.7.0"
eslint-visitor-keys "^1.1.0"
+"@typescript-eslint/scope-manager@4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.0.0.tgz#8c9e3b3b8cdf5a1fbe671d9fad73ff67bc027ea8"
+ integrity sha512-9gcWUPoWo7gk/+ZQPg7L1ySRmR5HLIy3Vu6/LfhQbuzIkGm6v2CGIjpVRISoDLFRovNRDImd4aP/sa8O4yIEBg==
+ dependencies:
+ "@typescript-eslint/types" "4.0.0"
+ "@typescript-eslint/visitor-keys" "4.0.0"
+
"@typescript-eslint/types@3.7.0":
version "3.7.0"
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.7.0.tgz#09897fab0cb95479c01166b10b2c03c224821077"
+"@typescript-eslint/types@4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.0.0.tgz#ec1f9fc06b8558a1d5afa6e337182d08beece7f5"
+ integrity sha512-bK+c2VLzznX2fUWLK6pFDv3cXGTp7nHIuBMq1B9klA+QCsqLHOOqe5TQReAQDl7DN2RfH+neweo0oC5hYlG7Rg==
+
"@typescript-eslint/typescript-estree@2.34.0":
version "2.34.0"
resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5"
@@ -1937,12 +1985,34 @@
semver "^7.3.2"
tsutils "^3.17.1"
+"@typescript-eslint/typescript-estree@4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.0.tgz#2244c63de2f2190bc5718eb0fb3fd2c437d42097"
+ integrity sha512-ewFMPi2pMLDNIXGMPdf8r7El2oPSZw9PEYB0j+WcpKd7AX2ARmajGa7RUHTukllWX2bj4vWX6JLE1Oih2BMokA==
+ dependencies:
+ "@typescript-eslint/types" "4.0.0"
+ "@typescript-eslint/visitor-keys" "4.0.0"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-glob "^4.0.1"
+ lodash "^4.17.15"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
"@typescript-eslint/visitor-keys@3.7.0":
version "3.7.0"
resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.7.0.tgz#ac0417d382a136e4571a0b0dcfe52088cb628177"
dependencies:
eslint-visitor-keys "^1.1.0"
+"@typescript-eslint/visitor-keys@4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.0.0.tgz#e2bbb69d98076d6a3f06abcb2048225a74362c33"
+ integrity sha512-sTouJbv6rjVJeTE4lpSBVYXq/u5K3gbB6LKt7ccFEZPTZB/VeQ0ssUz9q5Hx++sCqBbdF8PzrrgvEnicXAR6NQ==
+ dependencies:
+ "@typescript-eslint/types" "4.0.0"
+ eslint-visitor-keys "^2.0.0"
+
"@unimodules/core@~5.3.0":
version "5.3.0"
resolved "https://registry.npmjs.org/@unimodules/core/-/core-5.3.0.tgz#c425e59b1f9c1e2c91b235b6192e5f622a47d833"
@@ -2168,6 +2238,11 @@ array-slice@^0.2.3:
version "0.2.3"
resolved "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
@@ -3093,6 +3168,13 @@ diff-sequences@^25.2.6:
version "25.2.6"
resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd"
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
doctrine@1.5.0:
version "1.5.0"
resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
@@ -3500,6 +3582,11 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3
version "1.3.0"
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+eslint-visitor-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
+ integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
+
eslint@^7.5.0:
version "7.5.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-7.5.0.tgz#9ecbfad62216d223b82ac9ffea7ef3444671d135"
@@ -3747,6 +3834,18 @@ fast-diff@^1.1.2:
version "1.2.0"
resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
+fast-glob@^3.1.1:
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661"
+ integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.0"
+ merge2 "^1.3.0"
+ micromatch "^4.0.2"
+ picomatch "^2.2.1"
+
fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
@@ -3755,6 +3854,13 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
version "2.0.6"
resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+fastq@^1.6.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858"
+ integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==
+ dependencies:
+ reusify "^1.0.4"
+
faye-websocket@0.11.3:
version "0.11.3"
resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
@@ -4036,6 +4142,13 @@ glob-parent@^5.0.0:
dependencies:
is-glob "^4.0.1"
+glob-parent@^5.1.0:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
version "7.1.6"
resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
@@ -4061,6 +4174,18 @@ globals@^9.18.0:
version "9.18.0"
resolved "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+globby@^11.0.1:
+ version "11.0.2"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83"
+ integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
+
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
version "4.2.4"
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
@@ -4212,7 +4337,7 @@ ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
-ignore@^5.0.5, ignore@^5.1.1:
+ignore@^5.0.5, ignore@^5.1.1, ignore@^5.1.4:
version "5.1.8"
resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
@@ -5434,6 +5559,11 @@ merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+merge2@^1.3.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
metro-babel-register@0.58.0:
version "0.58.0"
resolved "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.58.0.tgz#5c44786d49a044048df56cf476a2263491d4f53a"
@@ -6547,11 +6677,16 @@ path-type@^2.0.0:
dependencies:
pify "^2.0.0"
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
-picomatch@^2.0.4, picomatch@^2.0.5:
+picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
version "2.2.2"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
@@ -6758,6 +6893,11 @@ querystringify@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
+queue-microtask@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3"
+ integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==
+
randombytes@^2.0.3:
version "2.1.0"
resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -7242,6 +7382,11 @@ ret@~0.1.10:
version "0.1.15"
resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
rimraf@2.6.3:
version "2.6.3"
resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
@@ -7272,6 +7417,13 @@ run-async@^2.2.0:
version "2.4.1"
resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
rx-lite-aggregates@^4.0.8:
version "4.0.8"
resolved "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"