check version using semver

This commit is contained in:
Vikeo
2024-05-22 00:10:16 +02:00
parent c23509ae26
commit 3e38332a68
3 changed files with 107 additions and 82 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "life-trinket",
"private": true,
"version": "0.9.8",
"version": "0.9.9",
"type": "commonjs",
"engines": {
"node": ">=20",
@@ -24,6 +24,7 @@
"react-screen-wake-lock": "^3.0.2",
"react-swipeable": "^7.0.1",
"react-twc": "^1.3.0",
"semver": "^7.6.2",
"zod": "^3.22.4"
},
"devDependencies": {

178
pnpm-lock.yaml generated
View File

@@ -29,6 +29,9 @@ importers:
react-twc:
specifier: ^1.3.0
version: 1.4.1(@types/react@18.3.1)(react@18.2.0)
semver:
specifier: ^7.6.2
version: 7.6.2
zod:
specifier: ^3.22.4
version: 3.22.4
@@ -38,7 +41,7 @@ importers:
version: 11.11.4(@types/react@18.3.1)(react@18.2.0)
'@emotion/styled':
specifier: ^11.11.5
version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.1)(react@18.2.0)
version: 11.11.5(@emotion/react@11.11.4(@types/react@18.3.1)(react@18.2.0))(@types/react@18.3.1)(react@18.2.0)
'@savvywombat/tailwindcss-grid-areas':
specifier: ^4.0.0
version: 4.0.0(tailwindcss@3.4.3)
@@ -53,13 +56,13 @@ importers:
version: 18.3.0
'@typescript-eslint/eslint-plugin':
specifier: ^7.8.0
version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5)
version: 7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
'@typescript-eslint/parser':
specifier: ^7.8.0
version: 7.8.0(eslint@8.57.0)(typescript@5.4.5)
'@vitejs/plugin-react-swc':
specifier: ^3.6.0
version: 3.6.0(vite@5.2.10)
version: 3.6.0(vite@5.2.10(@types/node@20.12.2)(terser@5.30.0))
autoprefixer:
specifier: ^10.4.19
version: 10.4.19(postcss@8.4.38)
@@ -74,7 +77,7 @@ importers:
version: 0.4.6(eslint@8.57.0)
firebase-tools:
specifier: ^13.7.5
version: 13.7.5
version: 13.7.5(encoding@0.1.13)
install:
specifier: ^0.13.0
version: 0.13.0
@@ -95,10 +98,10 @@ importers:
version: 5.4.5
vite:
specifier: ^5.2.10
version: 5.2.10
version: 5.2.10(@types/node@20.12.2)(terser@5.30.0)
vite-plugin-pwa:
specifier: ^0.20.0
version: 0.20.0(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.1.0)
version: 0.20.0(vite@5.2.10(@types/node@20.12.2)(terser@5.30.0))(workbox-build@7.1.0)(workbox-window@7.1.0)
packages:
@@ -4192,8 +4195,8 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
semver@7.6.0:
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
semver@7.6.2:
resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
engines: {node: '>=10'}
hasBin: true
@@ -5734,9 +5737,10 @@ snapshots:
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
'@emotion/utils': 1.2.1
'@emotion/weak-memoize': 0.3.1
'@types/react': 18.3.1
hoist-non-react-statics: 3.3.2
react: 18.2.0
optionalDependencies:
'@types/react': 18.3.1
'@emotion/serialize@1.1.4':
dependencies:
@@ -5748,7 +5752,7 @@ snapshots:
'@emotion/sheet@1.2.2': {}
'@emotion/styled@11.11.5(@emotion/react@11.11.4)(@types/react@18.3.1)(react@18.2.0)':
'@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.1)(react@18.2.0))(@types/react@18.3.1)(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.1
'@emotion/babel-plugin': 11.11.0
@@ -5757,8 +5761,9 @@ snapshots:
'@emotion/serialize': 1.1.4
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
'@emotion/utils': 1.2.1
'@types/react': 18.3.1
react: 18.2.0
optionalDependencies:
'@types/react': 18.3.1
'@emotion/unitless@0.8.1': {}
@@ -6178,7 +6183,7 @@ snapshots:
'@google-cloud/promisify@2.0.4': {}
'@google-cloud/pubsub@3.7.5':
'@google-cloud/pubsub@3.7.5(encoding@0.1.13)':
dependencies:
'@google-cloud/paginator': 4.0.1
'@google-cloud/precise-date': 3.0.1
@@ -6190,8 +6195,8 @@ snapshots:
'@types/long': 4.0.2
arrify: 2.0.1
extend: 3.0.2
google-auth-library: 8.9.0
google-gax: 3.6.1
google-auth-library: 8.9.0(encoding@0.1.13)
google-gax: 3.6.1(encoding@0.1.13)
heap-js: 2.5.0
is-stream-ended: 0.1.4
lodash.snakecase: 4.1.1
@@ -6291,7 +6296,7 @@ snapshots:
'@npmcli/fs@3.1.0':
dependencies:
semver: 7.6.0
semver: 7.6.2
optional: true
'@opentelemetry/api@1.8.0': {}
@@ -6339,15 +6344,17 @@ snapshots:
'@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.1)(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.1
'@types/react': 18.3.1
react: 18.2.0
optionalDependencies:
'@types/react': 18.3.1
'@radix-ui/react-slot@1.0.2(@types/react@18.3.1)(react@18.2.0)':
dependencies:
'@babel/runtime': 7.24.1
'@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0)
'@types/react': 18.3.1
react: 18.2.0
optionalDependencies:
'@types/react': 18.3.1
'@rollup/plugin-babel@5.3.1(@babel/core@7.24.5)(rollup@2.79.1)':
dependencies:
@@ -6364,6 +6371,7 @@ snapshots:
is-builtin-module: 3.2.1
is-module: 1.0.0
resolve: 1.22.8
optionalDependencies:
rollup: 2.79.1
'@rollup/plugin-replace@2.4.2(rollup@2.79.1)':
@@ -6374,10 +6382,11 @@ snapshots:
'@rollup/plugin-terser@0.4.4(rollup@2.79.1)':
dependencies:
rollup: 2.79.1
serialize-javascript: 6.0.2
smob: 1.5.0
terser: 5.30.0
optionalDependencies:
rollup: 2.79.1
'@rollup/pluginutils@3.1.0(rollup@2.79.1)':
dependencies:
@@ -6391,6 +6400,7 @@ snapshots:
'@types/estree': 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
optionalDependencies:
rollup: 2.79.1
'@rollup/rollup-android-arm-eabi@4.13.2':
@@ -6496,9 +6506,9 @@ snapshots:
'@svgr/cli@8.1.0(typescript@5.4.5)':
dependencies:
'@svgr/core': 8.1.0(typescript@5.4.5)
'@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0)
'@svgr/plugin-prettier': 8.1.0(@svgr/core@8.1.0)
'@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0)(typescript@5.4.5)
'@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.4.5))
'@svgr/plugin-prettier': 8.1.0(@svgr/core@8.1.0(typescript@5.4.5))
'@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.4.5))(typescript@5.4.5)
camelcase: 6.3.0
chalk: 4.1.2
commander: 9.5.0
@@ -6525,7 +6535,7 @@ snapshots:
'@babel/types': 7.24.0
entities: 4.5.0
'@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0)':
'@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.4.5))':
dependencies:
'@babel/core': 7.24.3
'@svgr/babel-preset': 8.1.0(@babel/core@7.24.3)
@@ -6535,13 +6545,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@svgr/plugin-prettier@8.1.0(@svgr/core@8.1.0)':
'@svgr/plugin-prettier@8.1.0(@svgr/core@8.1.0(typescript@5.4.5))':
dependencies:
'@svgr/core': 8.1.0(typescript@5.4.5)
deepmerge: 4.3.1
prettier: 2.8.8
'@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0)(typescript@5.4.5)':
'@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.4.5))(typescript@5.4.5)':
dependencies:
'@svgr/core': 8.1.0(typescript@5.4.5)
cosmiconfig: 8.3.6(typescript@5.4.5)
@@ -6664,7 +6674,7 @@ snapshots:
'@types/trusted-types@2.0.7': {}
'@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5)':
'@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
@@ -6677,8 +6687,9 @@ snapshots:
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
semver: 7.6.0
semver: 7.6.2
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -6691,6 +6702,7 @@ snapshots:
'@typescript-eslint/visitor-keys': 7.8.0
debug: 4.3.4
eslint: 8.57.0
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -6707,6 +6719,7 @@ snapshots:
debug: 4.3.4
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -6721,8 +6734,9 @@ snapshots:
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.4
semver: 7.6.0
semver: 7.6.2
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -6736,7 +6750,7 @@ snapshots:
'@typescript-eslint/types': 7.8.0
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
eslint: 8.57.0
semver: 7.6.0
semver: 7.6.2
transitivePeerDependencies:
- supports-color
- typescript
@@ -6748,10 +6762,10 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
'@vitejs/plugin-react-swc@3.6.0(vite@5.2.10)':
'@vitejs/plugin-react-swc@3.6.0(vite@5.2.10(@types/node@20.12.2)(terser@5.30.0))':
dependencies:
'@swc/core': 1.4.11
vite: 5.2.10
vite: 5.2.10(@types/node@20.12.2)(terser@5.30.0)
transitivePeerDependencies:
- '@swc/helpers'
@@ -6792,7 +6806,7 @@ snapshots:
optional: true
ajv-formats@2.1.1(ajv@8.12.0):
dependencies:
optionalDependencies:
ajv: 8.12.0
ajv@6.12.6:
@@ -7304,6 +7318,7 @@ snapshots:
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
typescript: 5.4.5
crc-32@1.2.2: {}
@@ -7773,7 +7788,7 @@ snapshots:
pump: 3.0.0
qs: 6.12.0
raw-body: 2.5.2
semver: 7.6.0
semver: 7.6.2
transitivePeerDependencies:
- supports-color
@@ -7903,9 +7918,9 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
firebase-tools@13.7.5:
firebase-tools@13.7.5(encoding@0.1.13):
dependencies:
'@google-cloud/pubsub': 3.7.5
'@google-cloud/pubsub': 3.7.5(encoding@0.1.13)
abort-controller: 3.0.0
ajv: 6.12.6
archiver: 5.3.2
@@ -7930,7 +7945,7 @@ snapshots:
fs-extra: 10.1.0
fuzzy: 0.1.3
glob: 7.2.3
google-auth-library: 7.14.1
google-auth-library: 7.14.1(encoding@0.1.13)
inquirer: 8.2.6
inquirer-autocomplete-prompt: 2.0.1(inquirer@8.2.6)
jsonwebtoken: 9.0.2
@@ -7942,7 +7957,7 @@ snapshots:
mime: 2.6.0
minimatch: 3.1.2
morgan: 1.10.0
node-fetch: 2.7.0
node-fetch: 2.7.0(encoding@0.1.13)
open: 6.4.0
ora: 5.4.1
p-limit: 3.1.0
@@ -7951,17 +7966,17 @@ snapshots:
proxy-agent: 6.4.0
retry: 0.13.1
rimraf: 3.0.2
semver: 7.6.0
semver: 7.6.2
stream-chain: 2.2.5
stream-json: 1.8.0
strip-ansi: 6.0.1
superstatic: 9.0.3
superstatic: 9.0.3(encoding@0.1.13)
tar: 6.2.1
tcp-port-used: 1.0.2
tmp: 0.2.3
triple-beam: 1.4.1
universal-analytics: 0.5.3
update-notifier-cjs: 5.1.6
update-notifier-cjs: 5.1.6(encoding@0.1.13)
uuid: 8.3.2
winston: 3.13.0
winston-transport: 4.7.0
@@ -8085,38 +8100,38 @@ snapshots:
ga-4-react@0.1.281: {}
gaxios@4.3.3:
gaxios@4.3.3(encoding@0.1.13):
dependencies:
abort-controller: 3.0.0
extend: 3.0.2
https-proxy-agent: 5.0.1
is-stream: 2.0.1
node-fetch: 2.7.0
node-fetch: 2.7.0(encoding@0.1.13)
transitivePeerDependencies:
- encoding
- supports-color
gaxios@5.1.3:
gaxios@5.1.3(encoding@0.1.13):
dependencies:
extend: 3.0.2
https-proxy-agent: 5.0.1
is-stream: 2.0.1
node-fetch: 2.7.0
node-fetch: 2.7.0(encoding@0.1.13)
transitivePeerDependencies:
- encoding
- supports-color
gcp-metadata@4.3.1:
gcp-metadata@4.3.1(encoding@0.1.13):
dependencies:
gaxios: 4.3.3
gaxios: 4.3.3(encoding@0.1.13)
json-bigint: 1.0.0
transitivePeerDependencies:
- encoding
- supports-color
gcp-metadata@5.3.0:
gcp-metadata@5.3.0(encoding@0.1.13):
dependencies:
gaxios: 5.1.3
gaxios: 5.1.3(encoding@0.1.13)
json-bigint: 1.0.0
transitivePeerDependencies:
- encoding
@@ -8215,37 +8230,37 @@ snapshots:
merge2: 1.4.1
slash: 3.0.0
google-auth-library@7.14.1:
google-auth-library@7.14.1(encoding@0.1.13):
dependencies:
arrify: 2.0.1
base64-js: 1.5.1
ecdsa-sig-formatter: 1.0.11
fast-text-encoding: 1.0.6
gaxios: 4.3.3
gcp-metadata: 4.3.1
gtoken: 5.3.2
gaxios: 4.3.3(encoding@0.1.13)
gcp-metadata: 4.3.1(encoding@0.1.13)
gtoken: 5.3.2(encoding@0.1.13)
jws: 4.0.0
lru-cache: 6.0.0
transitivePeerDependencies:
- encoding
- supports-color
google-auth-library@8.9.0:
google-auth-library@8.9.0(encoding@0.1.13):
dependencies:
arrify: 2.0.1
base64-js: 1.5.1
ecdsa-sig-formatter: 1.0.11
fast-text-encoding: 1.0.6
gaxios: 5.1.3
gcp-metadata: 5.3.0
gtoken: 6.1.2
gaxios: 5.1.3(encoding@0.1.13)
gcp-metadata: 5.3.0(encoding@0.1.13)
gtoken: 6.1.2(encoding@0.1.13)
jws: 4.0.0
lru-cache: 6.0.0
transitivePeerDependencies:
- encoding
- supports-color
google-gax@3.6.1:
google-gax@3.6.1(encoding@0.1.13):
dependencies:
'@grpc/grpc-js': 1.8.21
'@grpc/proto-loader': 0.7.12
@@ -8254,9 +8269,9 @@ snapshots:
abort-controller: 3.0.0
duplexify: 4.1.3
fast-text-encoding: 1.0.6
google-auth-library: 8.9.0
google-auth-library: 8.9.0(encoding@0.1.13)
is-stream-ended: 0.1.4
node-fetch: 2.7.0
node-fetch: 2.7.0(encoding@0.1.13)
object-hash: 3.0.0
proto3-json-serializer: 1.1.1
protobufjs: 7.2.4
@@ -8284,18 +8299,18 @@ snapshots:
graphemer@1.4.0: {}
gtoken@5.3.2:
gtoken@5.3.2(encoding@0.1.13):
dependencies:
gaxios: 4.3.3
gaxios: 4.3.3(encoding@0.1.13)
google-p12-pem: 3.1.4
jws: 4.0.0
transitivePeerDependencies:
- encoding
- supports-color
gtoken@6.1.2:
gtoken@6.1.2(encoding@0.1.13):
dependencies:
gaxios: 5.1.3
gaxios: 5.1.3(encoding@0.1.13)
google-p12-pem: 4.0.1
jws: 4.0.0
transitivePeerDependencies:
@@ -8589,9 +8604,9 @@ snapshots:
isexe@3.1.1:
optional: true
isomorphic-fetch@3.0.0:
isomorphic-fetch@3.0.0(encoding@0.1.13):
dependencies:
node-fetch: 2.7.0
node-fetch: 2.7.0(encoding@0.1.13)
whatwg-fetch: 3.6.20
transitivePeerDependencies:
- encoding
@@ -8696,7 +8711,7 @@ snapshots:
lodash.isstring: 4.0.1
lodash.once: 4.1.1
ms: 2.1.3
semver: 7.6.0
semver: 7.6.2
jwa@1.4.1:
dependencies:
@@ -9037,9 +9052,11 @@ snapshots:
dependencies:
lodash: 4.17.21
node-fetch@2.7.0:
node-fetch@2.7.0(encoding@0.1.13):
dependencies:
whatwg-url: 5.0.0
optionalDependencies:
encoding: 0.1.13
node-forge@1.3.1: {}
@@ -9052,7 +9069,7 @@ snapshots:
make-fetch-happen: 13.0.0
nopt: 7.2.0
proc-log: 3.0.0
semver: 7.6.0
semver: 7.6.2
tar: 6.2.1
which: 4.0.0
transitivePeerDependencies:
@@ -9253,8 +9270,9 @@ snapshots:
postcss-load-config@4.0.2(postcss@8.4.38):
dependencies:
lilconfig: 3.1.1
postcss: 8.4.38
yaml: 2.4.1
optionalDependencies:
postcss: 8.4.38
postcss-nested@6.0.1(postcss@8.4.38):
dependencies:
@@ -9321,7 +9339,7 @@ snapshots:
jsdoc: 4.0.2
minimist: 1.2.8
protobufjs: 7.2.4
semver: 7.6.0
semver: 7.6.2
tmp: 0.2.3
uglify-js: 3.17.4
@@ -9646,9 +9664,7 @@ snapshots:
semver@6.3.1: {}
semver@7.6.0:
dependencies:
lru-cache: 6.0.0
semver@7.6.2: {}
send@0.18.0:
dependencies:
@@ -9878,7 +9894,7 @@ snapshots:
pirates: 4.0.6
ts-interface-checker: 0.1.13
superstatic@9.0.3:
superstatic@9.0.3(encoding@0.1.13):
dependencies:
basic-auth-connect: 1.0.0
commander: 10.0.1
@@ -9897,7 +9913,7 @@ snapshots:
on-headers: 1.0.2
path-to-regexp: 1.8.0
router: 1.3.8
update-notifier-cjs: 5.1.6
update-notifier-cjs: 5.1.6(encoding@0.1.13)
optionalDependencies:
re2: 1.20.10
transitivePeerDependencies:
@@ -10166,7 +10182,7 @@ snapshots:
escalade: 3.1.2
picocolors: 1.0.0
update-notifier-cjs@5.1.6:
update-notifier-cjs@5.1.6(encoding@0.1.13):
dependencies:
boxen: 5.1.2
chalk: 4.1.2
@@ -10177,11 +10193,11 @@ snapshots:
is-installed-globally: 0.4.0
is-npm: 5.0.0
is-yarn-global: 0.3.0
isomorphic-fetch: 3.0.0
isomorphic-fetch: 3.0.0(encoding@0.1.13)
pupa: 2.1.1
registry-auth-token: 5.0.2
registry-url: 5.1.0
semver: 7.6.0
semver: 7.6.2
semver-diff: 3.1.1
xdg-basedir: 4.0.0
transitivePeerDependencies:
@@ -10203,24 +10219,26 @@ snapshots:
vary@1.1.2: {}
vite-plugin-pwa@0.20.0(vite@5.2.10)(workbox-build@7.1.0)(workbox-window@7.1.0):
vite-plugin-pwa@0.20.0(vite@5.2.10(@types/node@20.12.2)(terser@5.30.0))(workbox-build@7.1.0)(workbox-window@7.1.0):
dependencies:
debug: 4.3.4
fast-glob: 3.3.2
pretty-bytes: 6.1.1
vite: 5.2.10
vite: 5.2.10(@types/node@20.12.2)(terser@5.30.0)
workbox-build: 7.1.0
workbox-window: 7.1.0
transitivePeerDependencies:
- supports-color
vite@5.2.10:
vite@5.2.10(@types/node@20.12.2)(terser@5.30.0):
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.13.2
optionalDependencies:
'@types/node': 20.12.2
fsevents: 2.3.3
terser: 5.30.0
wcwidth@1.0.1:
dependencies:

View File

@@ -14,6 +14,7 @@ import {
initialGameSettingsSchema,
settingsSchema,
} from '../Types/Settings';
import { gte as semverGreaterThanOrEqual } from 'semver';
export const GlobalSettingsProvider = ({
children,
@@ -244,7 +245,12 @@ export const GlobalSettingsProvider = ({
setRemoteVersion(data.name);
if (data.name === import.meta.env.VITE_APP_VERSION) {
const isLatest = semverGreaterThanOrEqual(
import.meta.env.VITE_APP_VERSION,
data.name
);
if (isLatest) {
setIsLatestVersion(true);
return;
}