react-native-store-version 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +45 -48
- package/.github/FUNDING.yml +3 -0
- package/.github/workflows/pr.yml +24 -0
- package/.github/workflows/release.yml +31 -0
- package/.prettierrc.js +6 -0
- package/README.md +26 -8
- package/dist/android.d.ts +1 -2
- package/dist/android.js +4 -5
- package/dist/index.d.ts +2 -1
- package/dist/index.js +27 -10
- package/dist/ios.d.ts +1 -2
- package/dist/ios.js +7 -4
- package/package.json +26 -22
package/.eslintrc.js
CHANGED
|
@@ -1,54 +1,51 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"globals": {
|
|
10
|
-
"__DEV__": true
|
|
11
|
-
},
|
|
12
|
-
"plugins": [
|
|
13
|
-
"@typescript-eslint"
|
|
2
|
+
root: true,
|
|
3
|
+
parser: '@typescript-eslint/parser',
|
|
4
|
+
plugins: ['import', 'unused-imports'],
|
|
5
|
+
extends: [
|
|
6
|
+
'eslint:recommended',
|
|
7
|
+
'plugin:@typescript-eslint/recommended',
|
|
8
|
+
'prettier',
|
|
14
9
|
],
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
settings: {
|
|
11
|
+
'import/extensions': ['.js', '.jsx', '.ts', '.tsx'],
|
|
12
|
+
'import/core-modules': ['app'],
|
|
13
|
+
'import/resolver': {
|
|
14
|
+
node: {
|
|
15
|
+
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
'import/no-unresolved': [
|
|
19
|
+
2,
|
|
20
|
+
{
|
|
21
|
+
ignore: ['^app/.+$'],
|
|
22
|
+
},
|
|
21
23
|
],
|
|
22
|
-
"import/resolver": {
|
|
23
|
-
"node": {
|
|
24
|
-
"extensions": [
|
|
25
|
-
".js",
|
|
26
|
-
".jsx",
|
|
27
|
-
".ts",
|
|
28
|
-
".tsx"
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
24
|
},
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"import/no-extraneous-dependencies": [
|
|
40
|
-
"error",
|
|
25
|
+
rules: {
|
|
26
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
27
|
+
'@typescript-eslint/no-unused-vars': 'off',
|
|
28
|
+
'unused-imports/no-unused-imports': 'warn',
|
|
29
|
+
'import/order': [
|
|
30
|
+
'warn',
|
|
41
31
|
{
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
32
|
+
groups: [
|
|
33
|
+
'builtin',
|
|
34
|
+
'external',
|
|
35
|
+
'internal',
|
|
36
|
+
'parent',
|
|
37
|
+
'sibling',
|
|
38
|
+
'index',
|
|
39
|
+
'object',
|
|
40
|
+
'type',
|
|
41
|
+
],
|
|
42
|
+
'newlines-between': 'always',
|
|
43
|
+
pathGroupsExcludedImportTypes: ['internal'],
|
|
44
|
+
alphabetize: { order: 'asc', caseInsensitive: true },
|
|
45
|
+
pathGroups: [
|
|
46
|
+
{ pattern: 'app/**', group: 'external', position: 'after' },
|
|
47
|
+
],
|
|
48
|
+
},
|
|
46
49
|
],
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
".jsx",
|
|
50
|
-
".ts",
|
|
51
|
-
".tsx"
|
|
52
|
-
]
|
|
53
|
-
}
|
|
54
|
-
}
|
|
50
|
+
},
|
|
51
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: PR for master
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
types: ['opened', 'synchronize']
|
|
5
|
+
branches:
|
|
6
|
+
- 'master'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build_and_deploy:
|
|
10
|
+
name: build test
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout Repo
|
|
15
|
+
uses: actions/checkout@master
|
|
16
|
+
|
|
17
|
+
- name: Install Dependencies
|
|
18
|
+
run: npm install
|
|
19
|
+
|
|
20
|
+
- name: Test
|
|
21
|
+
run: npm run test
|
|
22
|
+
|
|
23
|
+
- name: Build
|
|
24
|
+
run: npm run build
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: publish package
|
|
2
|
+
on:
|
|
3
|
+
release:
|
|
4
|
+
types: [published]
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
build_and_deploy:
|
|
8
|
+
name: build test
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
|
|
11
|
+
steps:
|
|
12
|
+
- name: Checkout Repo
|
|
13
|
+
uses: actions/checkout@master
|
|
14
|
+
|
|
15
|
+
- uses: actions/setup-node@v3
|
|
16
|
+
with:
|
|
17
|
+
registry-url: 'https://registry.npmjs.org'
|
|
18
|
+
|
|
19
|
+
- name: Install Dependencies
|
|
20
|
+
run: npm install
|
|
21
|
+
|
|
22
|
+
- name: Test
|
|
23
|
+
run: npm run test
|
|
24
|
+
|
|
25
|
+
- name: Build
|
|
26
|
+
run: npm run build
|
|
27
|
+
|
|
28
|
+
- name: Pubish
|
|
29
|
+
run: npm publish
|
|
30
|
+
env:
|
|
31
|
+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
package/.prettierrc.js
ADDED
package/README.md
CHANGED
|
@@ -1,51 +1,67 @@
|
|
|
1
1
|
# react-native-store-version
|
|
2
|
+
|
|
2
3
|
This module check an app's version on google playstore or ios app store.
|
|
3
4
|
By writing code successfully, you can make a forced update.
|
|
4
5
|
|
|
5
6
|
## Installation
|
|
7
|
+
|
|
6
8
|
```bash
|
|
7
9
|
$ npm install --save react-native-store-version
|
|
8
10
|
```
|
|
9
11
|
|
|
10
12
|
## CHANGELOG
|
|
13
|
+
|
|
14
|
+
### v1.4.0
|
|
15
|
+
|
|
16
|
+
- Sorry for the long wait for an update.
|
|
17
|
+
- fix android.ts by [hussainimdad004](https://github.com/hussainimdad004)
|
|
18
|
+
- https://github.com/watanabeyu/react-native-store-version/issues/39
|
|
19
|
+
- use prettier
|
|
20
|
+
- move example to [snack](https://snack.expo.dev/@watanabe_yu/react-native-store-version-example)
|
|
21
|
+
|
|
11
22
|
### v1.3.0
|
|
23
|
+
|
|
12
24
|
- if failed, throw an error.
|
|
25
|
+
- add result detail.
|
|
13
26
|
|
|
14
27
|
## Usage
|
|
28
|
+
|
|
15
29
|
```tsx
|
|
16
30
|
import checkVersion from 'react-native-store-version';
|
|
17
31
|
|
|
18
32
|
export default function App() {
|
|
19
33
|
useEffect(() => {
|
|
20
34
|
const init = async () => {
|
|
21
|
-
try{
|
|
35
|
+
try {
|
|
22
36
|
const check = await checkVersion({
|
|
23
|
-
version:
|
|
37
|
+
version: '1.0.0', // app local version
|
|
24
38
|
iosStoreURL: 'ios app store url',
|
|
25
39
|
androidStoreURL: 'android app store url',
|
|
26
|
-
country: 'jp' // default value is 'jp'
|
|
40
|
+
country: 'jp', // default value is 'jp'
|
|
27
41
|
});
|
|
28
42
|
|
|
29
|
-
if(check.result ===
|
|
43
|
+
if (check.result === 'new') {
|
|
30
44
|
// if app store version is new
|
|
31
45
|
}
|
|
32
|
-
} catch(e) {
|
|
46
|
+
} catch (e) {
|
|
33
47
|
console.log(e);
|
|
34
48
|
}
|
|
35
49
|
};
|
|
36
50
|
|
|
37
51
|
init();
|
|
38
|
-
},[]);
|
|
52
|
+
}, []);
|
|
39
53
|
}
|
|
40
54
|
```
|
|
41
55
|
|
|
42
56
|
## Return value
|
|
57
|
+
|
|
43
58
|
```jsx
|
|
44
59
|
// correct
|
|
45
60
|
{
|
|
46
61
|
local: "1.0.0",
|
|
47
62
|
remote: "1.1.0",
|
|
48
|
-
result: "new" // "new" | "old" | "equal"
|
|
63
|
+
result: "new", // "new" | "old" | "equal"
|
|
64
|
+
detail: "remote > local", // "remote > local" | "remote < local" | "remote === local"
|
|
49
65
|
}
|
|
50
66
|
|
|
51
67
|
// catch error
|
|
@@ -53,8 +69,10 @@ export default function App() {
|
|
|
53
69
|
message: "string",
|
|
54
70
|
}
|
|
55
71
|
```
|
|
72
|
+
|
|
56
73
|
result compare from a `local` to `remote`.
|
|
57
74
|
If `local(1.0.0)` and `remote(1.1.0)`, result is new.
|
|
58
75
|
|
|
59
76
|
## Example
|
|
60
|
-
|
|
77
|
+
|
|
78
|
+
[Check out example on snack](https://snack.expo.dev/@watanabe_yu/react-native-store-version-example)
|
package/dist/android.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
declare const getAndroidVersion: (storeURL?: string) => Promise<string>;
|
|
2
|
-
export default getAndroidVersion;
|
|
1
|
+
export declare const getAndroidVersion: (storeURL?: string) => Promise<string>;
|
package/dist/android.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const getAndroidVersion = async (storeURL = '') => {
|
|
1
|
+
export const getAndroidVersion = async (storeURL = '') => {
|
|
2
2
|
if (!storeURL.match(/^https?:\/\/play\.google\.com\/store\/apps\/details\?id=[0-9a-zA-Z.]+/)) {
|
|
3
3
|
throw new Error('androidStoreURL is invalid.');
|
|
4
4
|
}
|
|
@@ -8,11 +8,10 @@ const getAndroidVersion = async (storeURL = '') => {
|
|
|
8
8
|
}
|
|
9
9
|
throw new Error('androidStoreURL is invalid.');
|
|
10
10
|
});
|
|
11
|
-
const matches = response.match(
|
|
11
|
+
const matches = response.match(/\[\[\[['"]((\d+\.)+\d+)['"]\]\],/);
|
|
12
12
|
if (!matches) {
|
|
13
|
-
throw new Error(
|
|
13
|
+
throw new Error("can't get android app version.");
|
|
14
14
|
}
|
|
15
15
|
return matches[1];
|
|
16
16
|
};
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5kcm9pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hbmRyb2lkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUFFLFdBQW1CLEVBQUUsRUFBbUIsRUFBRTtJQUN6RSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyx1RUFBdUUsQ0FBQyxFQUFFO1FBQzVGLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUNoRDtJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2hELElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakI7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLCtHQUErRyxDQUFDLENBQUM7SUFFaEosSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztLQUNwRDtJQUVELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLGVBQWUsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRBbmRyb2lkVmVyc2lvbiA9IGFzeW5jIChzdG9yZVVSTDogc3RyaW5nID0gJycpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICBpZiAoIXN0b3JlVVJMLm1hdGNoKC9eaHR0cHM/OlxcL1xcL3BsYXlcXC5nb29nbGVcXC5jb21cXC9zdG9yZVxcL2FwcHNcXC9kZXRhaWxzXFw/aWQ9WzAtOWEtekEtWi5dKy8pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdhbmRyb2lkU3RvcmVVUkwgaXMgaW52YWxpZC4nKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goc3RvcmVVUkwpLnRoZW4oKHIpID0+IHtcbiAgICBpZiAoci5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgcmV0dXJuIHIudGV4dCgpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignYW5kcm9pZFN0b3JlVVJMIGlzIGludmFsaWQuJyk7XG4gIH0pO1xuXG4gIGNvbnN0IG1hdGNoZXMgPSByZXNwb25zZS5tYXRjaCgvPHNwYW4gY2xhc3M9XCJodGxnYlwiPjxkaXYgY2xhc3M9XCJJUTF6MGRcIj48c3BhbiBjbGFzcz1cImh0bGdiXCI+KFswLTldK1xcLj9bMC05XSpcXC4/WzAtOV0qKTxcXC9zcGFuPjxcXC9kaXY+PFxcL3NwYW4+Lyk7XG5cbiAgaWYgKCFtYXRjaGVzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjYW5cXCd0IGdldCBhbmRyb2lkIGFwcCB2ZXJzaW9uLicpO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoZXNbMV07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZXRBbmRyb2lkVmVyc2lvbjtcbiJdfQ==
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5kcm9pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hbmRyb2lkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDdkQsSUFDRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQ2IsdUVBQXVFLENBQ3hFLEVBQ0Q7UUFDQSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7S0FDaEQ7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBRW5FLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7S0FDbkQ7SUFFRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2V0QW5kcm9pZFZlcnNpb24gPSBhc3luYyAoc3RvcmVVUkwgPSAnJykgPT4ge1xuICBpZiAoXG4gICAgIXN0b3JlVVJMLm1hdGNoKFxuICAgICAgL15odHRwcz86XFwvXFwvcGxheVxcLmdvb2dsZVxcLmNvbVxcL3N0b3JlXFwvYXBwc1xcL2RldGFpbHNcXD9pZD1bMC05YS16QS1aLl0rL1xuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdhbmRyb2lkU3RvcmVVUkwgaXMgaW52YWxpZC4nKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goc3RvcmVVUkwpLnRoZW4oKHIpID0+IHtcbiAgICBpZiAoci5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgcmV0dXJuIHIudGV4dCgpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignYW5kcm9pZFN0b3JlVVJMIGlzIGludmFsaWQuJyk7XG4gIH0pO1xuXG4gIGNvbnN0IG1hdGNoZXMgPSByZXNwb25zZS5tYXRjaCgvXFxbXFxbXFxbWydcIl0oKFxcZCtcXC4pK1xcZCspWydcIl1cXF1cXF0sLyk7XG5cbiAgaWYgKCFtYXRjaGVzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY2FuJ3QgZ2V0IGFuZHJvaWQgYXBwIHZlcnNpb24uXCIpO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoZXNbMV07XG59O1xuIl19
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,8 @@ declare type CheckVersionResponse = {
|
|
|
8
8
|
local: string;
|
|
9
9
|
remote: string;
|
|
10
10
|
result: 'new' | 'old' | 'equal';
|
|
11
|
+
detail: 'remote > local' | 'remote < local' | 'remote === local';
|
|
11
12
|
};
|
|
12
|
-
export declare const compareVersion: (local: string, remote: string) => '
|
|
13
|
+
export declare const compareVersion: (local: string, remote: string) => CheckVersionResponse['result'];
|
|
13
14
|
declare const checkVersion: (params: CheckVersionParams) => Promise<CheckVersionResponse>;
|
|
14
15
|
export default checkVersion;
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Platform } from 'react-native';
|
|
2
1
|
import compareVersions from 'compare-versions';
|
|
3
|
-
import
|
|
4
|
-
import getAndroidVersion from './android';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
3
|
+
import { getAndroidVersion } from './android';
|
|
4
|
+
import { getIOSVersion } from './ios';
|
|
5
5
|
export const compareVersion = (local, remote) => {
|
|
6
6
|
switch (compareVersions(local, remote)) {
|
|
7
7
|
case -1:
|
|
@@ -24,19 +24,36 @@ const checkVersion = async (params) => {
|
|
|
24
24
|
}
|
|
25
25
|
let remoteVersion;
|
|
26
26
|
try {
|
|
27
|
-
remoteVersion =
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
remoteVersion =
|
|
28
|
+
Platform.OS === 'ios'
|
|
29
|
+
? await getIOSVersion(params.iosStoreURL, params.country || 'jp')
|
|
30
|
+
: await getAndroidVersion(params.androidStoreURL);
|
|
30
31
|
}
|
|
31
32
|
catch (e) {
|
|
32
|
-
|
|
33
|
+
if (e instanceof Error) {
|
|
34
|
+
throw new Error(e.message);
|
|
35
|
+
}
|
|
36
|
+
throw new Error(`can't get ${Platform.OS} version`);
|
|
37
|
+
}
|
|
38
|
+
const result = compareVersion(params.version, remoteVersion);
|
|
39
|
+
let detail;
|
|
40
|
+
switch (result) {
|
|
41
|
+
case 'new':
|
|
42
|
+
detail = 'remote > local';
|
|
43
|
+
break;
|
|
44
|
+
case 'old':
|
|
45
|
+
detail = 'remote < local';
|
|
46
|
+
break;
|
|
47
|
+
default:
|
|
48
|
+
detail = 'remote === local';
|
|
49
|
+
break;
|
|
33
50
|
}
|
|
34
51
|
return {
|
|
35
|
-
error: false,
|
|
36
52
|
local: params.version,
|
|
37
53
|
remote: remoteVersion,
|
|
38
|
-
result
|
|
54
|
+
result,
|
|
55
|
+
detail,
|
|
39
56
|
};
|
|
40
57
|
};
|
|
41
58
|
export default checkVersion;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxlQUFlLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQWdCdEMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLEtBQWEsRUFDYixNQUFjLEVBQ2tCLEVBQUU7SUFDbEMsUUFBUSxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1FBQ3RDLEtBQUssQ0FBQyxDQUFDO1lBQ0wsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNmO1lBQ0UsT0FBTyxPQUFPLENBQUM7S0FDbEI7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLE1BQTBCLEVBQ0ssRUFBRTtJQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7S0FDOUM7SUFHRCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7S0FDNUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEtBQUssU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtRQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7S0FDaEQ7SUFHRCxJQUFJLGFBQXFCLENBQUM7SUFFMUIsSUFBSTtRQUNGLGFBQWE7WUFDWCxRQUFRLENBQUMsRUFBRSxLQUFLLEtBQUs7Z0JBQ25CLENBQUMsQ0FBQyxNQUFNLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDO2dCQUNqRSxDQUFDLENBQUMsTUFBTSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDdkQ7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztLQUNyRDtJQUVELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzdELElBQUksTUFBc0MsQ0FBQztJQUMzQyxRQUFRLE1BQU0sRUFBRTtRQUNkLEtBQUssS0FBSztZQUNSLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQztZQUMxQixNQUFNO1FBQ1IsS0FBSyxLQUFLO1lBQ1IsTUFBTSxHQUFHLGdCQUFnQixDQUFDO1lBQzFCLE1BQU07UUFDUjtZQUNFLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQztZQUM1QixNQUFNO0tBQ1Q7SUFHRCxPQUE2QjtRQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU87UUFDckIsTUFBTSxFQUFFLGFBQWE7UUFDckIsTUFBTTtRQUNOLE1BQU07S0FDUCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsZUFBZSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tcGFyZVZlcnNpb25zIGZyb20gJ2NvbXBhcmUtdmVyc2lvbnMnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5pbXBvcnQgeyBnZXRBbmRyb2lkVmVyc2lvbiB9IGZyb20gJy4vYW5kcm9pZCc7XG5pbXBvcnQgeyBnZXRJT1NWZXJzaW9uIH0gZnJvbSAnLi9pb3MnO1xuXG50eXBlIENoZWNrVmVyc2lvblBhcmFtcyA9IHtcbiAgY291bnRyeT86IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBpb3NTdG9yZVVSTD86IHN0cmluZztcbiAgYW5kcm9pZFN0b3JlVVJMPzogc3RyaW5nO1xufTtcblxudHlwZSBDaGVja1ZlcnNpb25SZXNwb25zZSA9IHtcbiAgbG9jYWw6IHN0cmluZztcbiAgcmVtb3RlOiBzdHJpbmc7XG4gIHJlc3VsdDogJ25ldycgfCAnb2xkJyB8ICdlcXVhbCc7XG4gIGRldGFpbDogJ3JlbW90ZSA+IGxvY2FsJyB8ICdyZW1vdGUgPCBsb2NhbCcgfCAncmVtb3RlID09PSBsb2NhbCc7XG59O1xuXG5leHBvcnQgY29uc3QgY29tcGFyZVZlcnNpb24gPSAoXG4gIGxvY2FsOiBzdHJpbmcsXG4gIHJlbW90ZTogc3RyaW5nXG4pOiBDaGVja1ZlcnNpb25SZXNwb25zZVsncmVzdWx0J10gPT4ge1xuICBzd2l0Y2ggKGNvbXBhcmVWZXJzaW9ucyhsb2NhbCwgcmVtb3RlKSkge1xuICAgIGNhc2UgLTE6XG4gICAgICByZXR1cm4gJ25ldyc7XG4gICAgY2FzZSAxOlxuICAgICAgcmV0dXJuICdvbGQnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ2VxdWFsJztcbiAgfVxufTtcblxuY29uc3QgY2hlY2tWZXJzaW9uID0gYXN5bmMgKFxuICBwYXJhbXM6IENoZWNrVmVyc2lvblBhcmFtc1xuKTogUHJvbWlzZTxDaGVja1ZlcnNpb25SZXNwb25zZT4gPT4ge1xuICBpZiAoIXBhcmFtcy52ZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdsb2NhbCB2ZXJzaW9uIGlzIG5vdCBzZXQuJyk7XG4gIH1cblxuICAvKiBjaGVjayBzdG9yZSB1cmwgKi9cbiAgaWYgKFBsYXRmb3JtLk9TID09PSAnaW9zJyAmJiAhcGFyYW1zLmlvc1N0b3JlVVJMKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpb3NTdG9yZVVSTCBpcyBub3Qgc2V0LicpO1xuICB9XG5cbiAgaWYgKFBsYXRmb3JtLk9TID09PSAnYW5kcm9pZCcgJiYgIXBhcmFtcy5hbmRyb2lkU3RvcmVVUkwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2FuZHJvaWRTdG9yZVVSTCBpcyBub3Qgc2V0LicpO1xuICB9XG5cbiAgLyogZ2V0IHZlcnNpb24gKi9cbiAgbGV0IHJlbW90ZVZlcnNpb246IHN0cmluZztcblxuICB0cnkge1xuICAgIHJlbW90ZVZlcnNpb24gPVxuICAgICAgUGxhdGZvcm0uT1MgPT09ICdpb3MnXG4gICAgICAgID8gYXdhaXQgZ2V0SU9TVmVyc2lvbihwYXJhbXMuaW9zU3RvcmVVUkwsIHBhcmFtcy5jb3VudHJ5IHx8ICdqcCcpXG4gICAgICAgIDogYXdhaXQgZ2V0QW5kcm9pZFZlcnNpb24ocGFyYW1zLmFuZHJvaWRTdG9yZVVSTCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZS5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYGNhbid0IGdldCAke1BsYXRmb3JtLk9TfSB2ZXJzaW9uYCk7XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBjb21wYXJlVmVyc2lvbihwYXJhbXMudmVyc2lvbiwgcmVtb3RlVmVyc2lvbik7XG4gIGxldCBkZXRhaWw6IENoZWNrVmVyc2lvblJlc3BvbnNlWydkZXRhaWwnXTtcbiAgc3dpdGNoIChyZXN1bHQpIHtcbiAgICBjYXNlICduZXcnOlxuICAgICAgZGV0YWlsID0gJ3JlbW90ZSA+IGxvY2FsJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ29sZCc6XG4gICAgICBkZXRhaWwgPSAncmVtb3RlIDwgbG9jYWwnO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGRldGFpbCA9ICdyZW1vdGUgPT09IGxvY2FsJztcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgLyogY29tcGFyZSB2ZXJzaW9uICovXG4gIHJldHVybiA8Q2hlY2tWZXJzaW9uUmVzcG9uc2U+e1xuICAgIGxvY2FsOiBwYXJhbXMudmVyc2lvbixcbiAgICByZW1vdGU6IHJlbW90ZVZlcnNpb24sXG4gICAgcmVzdWx0LFxuICAgIGRldGFpbCxcbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNoZWNrVmVyc2lvbjtcbiJdfQ==
|
package/dist/ios.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
declare const getIOSVersion: (storeURL?: string, country?: string) => Promise<string>;
|
|
2
|
-
export default getIOSVersion;
|
|
1
|
+
export declare const getIOSVersion: (storeURL?: string, country?: string) => Promise<string>;
|
package/dist/ios.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
const getIOSVersion = async (storeURL = '', country = 'jp') => {
|
|
1
|
+
export const getIOSVersion = async (storeURL = '', country = 'jp') => {
|
|
2
2
|
const appID = storeURL.match(/.+id([0-9]+)\??/);
|
|
3
3
|
if (!appID) {
|
|
4
4
|
throw new Error('iosStoreURL is invalid.');
|
|
5
5
|
}
|
|
6
|
-
const response = await fetch(`https://itunes.apple.com/lookup?id=${appID[1]}&country=${country}
|
|
6
|
+
const response = await fetch(`https://itunes.apple.com/lookup?id=${appID[1]}&country=${country}&${new Date().getTime()}`, {
|
|
7
|
+
headers: {
|
|
8
|
+
'cache-control': 'no-cache',
|
|
9
|
+
},
|
|
10
|
+
})
|
|
7
11
|
.then((r) => r.text())
|
|
8
12
|
.then((r) => JSON.parse(r));
|
|
9
13
|
if (response.results.length === 0) {
|
|
@@ -11,5 +15,4 @@ const getIOSVersion = async (storeURL = '', country = 'jp') => {
|
|
|
11
15
|
}
|
|
12
16
|
return response.results[0].version;
|
|
13
17
|
};
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsV0FBbUIsRUFBRSxFQUFFLFVBQWtCLElBQUksRUFBbUIsRUFBRTtJQUM3RixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFaEQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztLQUM1QztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLHNDQUFzQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksT0FBTyxFQUFFLENBQUM7U0FDOUYsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDckIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFOUIsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQUN4RDtJQUVELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDckMsQ0FBQyxDQUFDO0FBRUYsZUFBZSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRJT1NWZXJzaW9uID0gYXN5bmMgKHN0b3JlVVJMOiBzdHJpbmcgPSAnJywgY291bnRyeTogc3RyaW5nID0gJ2pwJyk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IGFwcElEID0gc3RvcmVVUkwubWF0Y2goLy4raWQoWzAtOV0rKVxcPz8vKTtcblxuICBpZiAoIWFwcElEKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpb3NTdG9yZVVSTCBpcyBpbnZhbGlkLicpO1xuICB9XG5cbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9pdHVuZXMuYXBwbGUuY29tL2xvb2t1cD9pZD0ke2FwcElEWzFdfSZjb3VudHJ5PSR7Y291bnRyeX1gKVxuICAgIC50aGVuKChyKSA9PiByLnRleHQoKSlcbiAgICAudGhlbigocikgPT4gSlNPTi5wYXJzZShyKSk7XG5cbiAgaWYgKHJlc3BvbnNlLnJlc3VsdHMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBhcHBJRCgke2FwcElEWzFdfSkgaXMgbm90IHJlbGVhc2VkLmApO1xuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdHNbMF0udmVyc2lvbjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGdldElPU1ZlcnNpb247XG4iXX0=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLFFBQVEsR0FBRyxFQUFFLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBRSxFQUFFO0lBQ25FLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVoRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQzVDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQzFCLHNDQUNFLEtBQUssQ0FBQyxDQUFDLENBQ1QsWUFBWSxPQUFPLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUM3QztRQUNFLE9BQU8sRUFBRTtZQUNQLGVBQWUsRUFBRSxVQUFVO1NBQzVCO0tBQ0YsQ0FDRjtTQUNFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3JCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlCLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FDeEQ7SUFFRCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBaUIsQ0FBQztBQUMvQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2V0SU9TVmVyc2lvbiA9IGFzeW5jIChzdG9yZVVSTCA9ICcnLCBjb3VudHJ5ID0gJ2pwJykgPT4ge1xuICBjb25zdCBhcHBJRCA9IHN0b3JlVVJMLm1hdGNoKC8uK2lkKFswLTldKylcXD8/Lyk7XG5cbiAgaWYgKCFhcHBJRCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW9zU3RvcmVVUkwgaXMgaW52YWxpZC4nKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgYGh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS9sb29rdXA/aWQ9JHtcbiAgICAgIGFwcElEWzFdXG4gICAgfSZjb3VudHJ5PSR7Y291bnRyeX0mJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gLFxuICAgIHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ2NhY2hlLWNvbnRyb2wnOiAnbm8tY2FjaGUnLFxuICAgICAgfSxcbiAgICB9XG4gIClcbiAgICAudGhlbigocikgPT4gci50ZXh0KCkpXG4gICAgLnRoZW4oKHIpID0+IEpTT04ucGFyc2UocikpO1xuXG4gIGlmIChyZXNwb25zZS5yZXN1bHRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgYXBwSUQoJHthcHBJRFsxXX0pIGlzIG5vdCByZWxlYXNlZC5gKTtcbiAgfVxuXG4gIHJldHVybiByZXNwb25zZS5yZXN1bHRzWzBdLnZlcnNpb24gYXMgc3RyaW5nO1xufTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-store-version",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,29 +25,31 @@
|
|
|
25
25
|
},
|
|
26
26
|
"homepage": "https://github.com/watanabeyu/react-native-store-version",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"compare-versions": "^
|
|
28
|
+
"compare-versions": "^4.1.3"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@types/jest": "^
|
|
32
|
-
"@types/react-native": "^0.
|
|
33
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
34
|
-
"@typescript-eslint/parser": "^
|
|
35
|
-
"babel-
|
|
36
|
-
"
|
|
37
|
-
"eslint": "^
|
|
38
|
-
"eslint-
|
|
39
|
-
"eslint-plugin-
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"typescript": "^3.9.5"
|
|
31
|
+
"@types/jest": "^28.1.6",
|
|
32
|
+
"@types/react-native": "^0.69.5",
|
|
33
|
+
"@typescript-eslint/eslint-plugin": "^5.32.0",
|
|
34
|
+
"@typescript-eslint/parser": "^5.32.0",
|
|
35
|
+
"babel-jest": "^28.1.3",
|
|
36
|
+
"eslint": "^8.21.0",
|
|
37
|
+
"eslint-config-prettier": "^8.5.0",
|
|
38
|
+
"eslint-plugin-import": "^2.26.0",
|
|
39
|
+
"eslint-plugin-unused-imports": "^2.0.0",
|
|
40
|
+
"jest": "^28.1.3",
|
|
41
|
+
"metro-react-native-babel-preset": "^0.72.0",
|
|
42
|
+
"node-fetch": "^3.2.10",
|
|
43
|
+
"prettier": "^2.7.1",
|
|
44
|
+
"react-native": "^0.69.3",
|
|
45
|
+
"ts-jest": "^28.0.7",
|
|
46
|
+
"typescript": "^4.7.4"
|
|
48
47
|
},
|
|
49
48
|
"jest": {
|
|
50
49
|
"preset": "react-native",
|
|
50
|
+
"moduleNameMapper": {
|
|
51
|
+
"^app(.*)$": "<rootDir>/$1"
|
|
52
|
+
},
|
|
51
53
|
"moduleFileExtensions": [
|
|
52
54
|
"ts",
|
|
53
55
|
"tsx",
|
|
@@ -58,15 +60,17 @@
|
|
|
58
60
|
},
|
|
59
61
|
"globals": {
|
|
60
62
|
"ts-jest": {
|
|
61
|
-
"
|
|
63
|
+
"tsconfig": "tsconfig.json",
|
|
62
64
|
"diagnostics": false
|
|
63
65
|
}
|
|
64
66
|
},
|
|
65
67
|
"testMatch": [
|
|
66
|
-
"**/__tests__/**/*.test.(ts|tsx|js)"
|
|
68
|
+
"**/__tests__/**/*.test.(ts|tsx|js)",
|
|
69
|
+
"**/src/**/*.test.(ts|tsx|js)"
|
|
67
70
|
],
|
|
68
71
|
"testPathIgnorePatterns": [
|
|
69
|
-
"node_modules"
|
|
72
|
+
"node_modules",
|
|
73
|
+
"dist"
|
|
70
74
|
]
|
|
71
75
|
}
|
|
72
76
|
}
|