diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 98ee1e5..dac6616 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -29,10 +29,10 @@ jobs: fail-fast: false matrix: include: - - name: pmpa-app + - name: soffit-order-admin-app path: ./packages/app context: . - - name: pmpa-api + - name: soffit-order-admin-api path: ./packages/api context: . @@ -101,7 +101,7 @@ jobs: labels: | org.opencontainers.image.title="alwatr/${{matrix.name}}" org.opencontainers.image.vendor="Alwatr" - org.opencontainers.image.documentation="https://github.com/Alwatr/pmpa" + org.opencontainers.image.documentation="https://github.com/Alwatr/soffit-order-admin" org.opencontainers.image.authors="S. Ali Mihandoost (https://ali.mihandoost.com), S. Amir Mohammad Najafi (https://www.njfamirm.ir)" - name: 🚀 Build and push container image diff --git a/.vscode/settings.json b/.vscode/settings.json index 1a19838..b130a15 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -50,6 +50,7 @@ "typescript.enablePromptUseWorkspaceTsdk": true, "typescript.tsdk": ".yarn/sdks/typescript/lib", "cSpell.words": [ + "alpinejs", "alwatr", "cssnano", "fract", @@ -59,5 +60,8 @@ "tailwindcss", "tsbuildinfo", "vazirmatn" - ] + ], + "[html]": { + "editor.defaultFormatter": "vscode.html-language-features" + } } diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 5aebd18..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,120 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [1.1.1](https://github.com/Alwatr/pmpa/compare/v1.1.0...v1.1.1) (2024-01-16) - -### Bug Fixes - -* **app:** debugMode in logger ([a86cf76](https://github.com/Alwatr/pmpa/commit/a86cf76bbbbe9b669b64703f66342876dcb7a7d7)) by @njfamirm -* **app:** start script ([d577af7](https://github.com/Alwatr/pmpa/commit/d577af7fd4064e76ccac82afd9a0242952015a38)) by @MM25Zamanian -* define package scope ([335bfa2](https://github.com/Alwatr/pmpa/commit/335bfa29f9330bbbaebeffa17fbe038336e13ae6)) by @njfamirm - -### Code Refactoring - -* **app/keep-scroll:** ensure deployment mode from platform info package ([d83a60d](https://github.com/Alwatr/pmpa/commit/d83a60d4bd81a887a7e0ad3d9c56f92215087378)) by @njfamirm -* update env name for logger enable mode ([d317dce](https://github.com/Alwatr/pmpa/commit/d317dce979a3b5cb311a44c787f5ff077e9f6c80)) by @njfamirm -* use definePackage logger ([cc0d017](https://github.com/Alwatr/pmpa/commit/cc0d017b11644c501080f708785ab80fcc476f23)) by @njfamirm - -### Miscellaneous Chores - -* **app:** build logger name ([731b13a](https://github.com/Alwatr/pmpa/commit/731b13ad5ec5598f9396344af190ca043c8e0872)) by @njfamirm -* **dependabot:** change commit message format ([45a922d](https://github.com/Alwatr/pmpa/commit/45a922d0a017b008d922c01e73f3a424631c230e)) by @njfamirm -* **deps:** update all deps using upd command ([ebb6d7a](https://github.com/Alwatr/pmpa/commit/ebb6d7aa0115706d42009f770c76f9a40d31db09)) by @njfamirm -* **lerna:** remove commit message prefix rule for dockers ([5f1a64e](https://github.com/Alwatr/pmpa/commit/5f1a64e44c1c1cf5bdc5cb261c09fc25470b9ed7)) by @njfamirm -* **lerna:** remove generateReleaseNotes ([d14837c](https://github.com/Alwatr/pmpa/commit/d14837cddf2d0bcacc6fff8e9d6dae7ee2ed39dc)) by @njfamirm -* **lerna:** update changelog preset ([ba6338b](https://github.com/Alwatr/pmpa/commit/ba6338b955391736212670f44686b18c6b8cd3f5)) by @njfamirm -* remove tsconfig outDir ([e713b0a](https://github.com/Alwatr/pmpa/commit/e713b0a48ace5b1ea9185e7fff42f240af40c0f4)) by @njfamirm -* **vscode:** enable checkJs ([a0ad2a6](https://github.com/Alwatr/pmpa/commit/a0ad2a64f5f2668263d9db1a0b52f64180980994)) by @njfamirm - -# [1.1.0](https://github.com/Alwatr/pmpa/compare/v1.0.0...v1.1.0) (2023-12-24) - -### Features - -* **app/11ty:** slugify filter ([8af2631](https://github.com/Alwatr/pmpa/commit/8af26310b687e518d9d42c01187fef2438e15707)) by @njfamirm -* **app/script:** dynamic font copy ([e34f3e4](https://github.com/Alwatr/pmpa/commit/e34f3e49149497053b4874e3eef5cb1b1b47e052)) by @njfamirm - -# 1.0.0 (2023-12-23) - -### Bug Fixes - -* **api/docker:** label ([04e8e66](https://github.com/Alwatr/pmpa/commit/04e8e666914c65f364cdcc16d7604461d2cc9f79)) by @AliMD -* **app/11ty:** use config ([dc65bc3](https://github.com/Alwatr/pmpa/commit/dc65bc30417fc7438cd6a8d7bcf5c5cc3825f57a)) by @njfamirm -* **app/build:** change esbuld target ([8754aa7](https://github.com/Alwatr/pmpa/commit/8754aa784780bad705c5f858e34471af5999cb9b)) by @njfamirm -* **app/deploy:** dockerfile ([69ae72d](https://github.com/Alwatr/pmpa/commit/69ae72d8528a64edf83ff417090e922703875b19)) by @AliMD -* **app/include:** prerender data ([0967cdf](https://github.com/Alwatr/pmpa/commit/0967cdf5626f85cd66203566bb4f97d54e8a031d)) by @njfamirm -* **app/layout:** remove crossorigin from preload link ([e3dd492](https://github.com/Alwatr/pmpa/commit/e3dd492bd5b0b9c3573b6d57c3cb037400762a0b)) by @njfamirm -* **app:** browser list ([5c1eb90](https://github.com/Alwatr/pmpa/commit/5c1eb903f5f369caef04c340c80ccc64a5242f31)) by @njfamirm -* **app:** import path ([72897ed](https://github.com/Alwatr/pmpa/commit/72897ed7923b5e4ca522c28d5f0c24a841f1e183)) by @njfamirm -* **app:** tsconfig root ([96dbe6f](https://github.com/Alwatr/pmpa/commit/96dbe6fe23dde862a2078483179f63f7b704bc3c)) by @njfamirm -* **build:** move devMode to logger ([dadcce1](https://github.com/Alwatr/pmpa/commit/dadcce168c21640b182cc50924850df9ccae4063)) by @njfamirm -* **deploy:** compose and envs ([c2b9262](https://github.com/Alwatr/pmpa/commit/c2b9262b8d4eb276aa7a2ab2d6f9525929859764)) by @njfamirm -* **deploy:** envs ([a53aa3f](https://github.com/Alwatr/pmpa/commit/a53aa3f2a9152ad8aa35a99441d776803cbc8692)) by @njfamirm -* **deploy:** image name ([78f0842](https://github.com/Alwatr/pmpa/commit/78f0842b329dab4d5687daf0652bca4fa5e9a83a)) by @njfamirm -* revert home route ([699a960](https://github.com/Alwatr/pmpa/commit/699a96073bf654c6cf908033d729585ff9abe865)) by @njfamirm - -### Features - -* **api:** base package ([942b034](https://github.com/Alwatr/pmpa/commit/942b034a2790960fb3568fb63e8bc99581c10466)) by @njfamirm -* **api:** build scripts ([e279980](https://github.com/Alwatr/pmpa/commit/e279980144a26232989a3a797d61ac9660cf740b)) by @njfamirm -* **api:** build scripts ([8b54c83](https://github.com/Alwatr/pmpa/commit/8b54c8382fced0798e3fb48788da7db22f5ebe74)) by @njfamirm -* **api:** build using nano-build ([bf4293a](https://github.com/Alwatr/pmpa/commit/bf4293afdcbf9f3348b679e5bcd2a911d486b422)) by @njfamirm -* **api:** home route ([5abed49](https://github.com/Alwatr/pmpa/commit/5abed493199364ebda68790431b6bf87a4892a99)) by @njfamirm -* **app:** .html suffix for urls ([647146a](https://github.com/Alwatr/pmpa/commit/647146ab1f65dcfaf03d3a0486e244ef1fe3526e)) by @njfamirm -* **app/11ty:** add directory output plugin ([a8966b3](https://github.com/Alwatr/pmpa/commit/a8966b3b06f1d90199143b1c57f969be584572d5)) by @njfamirm -* **app/11ty:** add directory output plugin ([2785ff3](https://github.com/Alwatr/pmpa/commit/2785ff3673777ae7731158f4f3fe01b7feb58df2)) by @njfamirm -* **app/11ty:** add utils ([5bbaef8](https://github.com/Alwatr/pmpa/commit/5bbaef867638a6513ce4d6f5c4a0b57b3948923c)) by @njfamirm -* **app/11ty:** add watch target ([9e31bef](https://github.com/Alwatr/pmpa/commit/9e31bef1c4adfb719be46947082b18150dd84532)) by @njfamirm -* **app/11ty:** support 11.cjs file ([189fb97](https://github.com/Alwatr/pmpa/commit/189fb979ea73ff5ce1c3d994f0f62e610dd2c485)) by @njfamirm -* **app/assets:** add meta images ([15069cc](https://github.com/Alwatr/pmpa/commit/15069ccd70577885c50d9b34b483443dd3e8e374)) by @njfamirm -* **app/build:** add esbuild before ([aceefb2](https://github.com/Alwatr/pmpa/commit/aceefb29a3802b0edbf09c63d6a81aa48d5d190c)) by @njfamirm -* **app/build:** add postcss before eleventy ([0cf82cb](https://github.com/Alwatr/pmpa/commit/0cf82cb8af84d21a29108eb01bb26ef25cf0afdf)) by @njfamirm -* **app/build:** enhance build ([c69f2aa](https://github.com/Alwatr/pmpa/commit/c69f2aa5da8639467a2711b7e0e47a833a2ba1e9)) by @njfamirm -* **app/build:** minify html ([85dca6e](https://github.com/Alwatr/pmpa/commit/85dca6e493da2378065a5c44602d322a7af2fba4)) by @njfamirm -* **app/build:** move postcss into eleventy ([097f3b8](https://github.com/Alwatr/pmpa/commit/097f3b8935241562c53ee8a81f0aa00c5ad6d0cc)) by @njfamirm -* **app/build:** watch mode ([0c2e4f1](https://github.com/Alwatr/pmpa/commit/0c2e4f111de023459e299819b0cc8bc66ebb1cd1)) by @njfamirm -* **app/data:** add site ([e685cae](https://github.com/Alwatr/pmpa/commit/e685cae5cf09a3619efa2a7b19567d1711c21d95)) by @njfamirm -* **app/global-util:** add i18n ([05c35b7](https://github.com/Alwatr/pmpa/commit/05c35b7d15f79acf26ddd15f05c104358c7c099c)) by @njfamirm -* **app/home:** improve and use logo ([ea5e858](https://github.com/Alwatr/pmpa/commit/ea5e858f81e98561c11d5a57bfc1aed1121c3ef5)) by @njfamirm -* **app/home:** improve and use logo ([f68e19e](https://github.com/Alwatr/pmpa/commit/f68e19e1dc6f540eb259ac072141c741efa7c19d)) by @njfamirm -* **app/include:** prerender ([7eb4901](https://github.com/Alwatr/pmpa/commit/7eb49011898415cc323a8017b55c3c25b3672ee3)) by @njfamirm -* **app/manifest:** add all icons ([c627376](https://github.com/Alwatr/pmpa/commit/c62737607a8873306d798e98335abf087946acb6)) by @njfamirm -* **app/postcss:** log info like esbuild ([d4c9169](https://github.com/Alwatr/pmpa/commit/d4c9169044af4b7df0c5c33b0b15a0942b60df39)) by @njfamirm -* **app/script:** add some useful for base ([37c8ddd](https://github.com/Alwatr/pmpa/commit/37c8ddd36c78f33c906cc825cf3c144fad49691c)) by @njfamirm -* **app/script:** add some useful for base ([4ff4167](https://github.com/Alwatr/pmpa/commit/4ff4167065f5ccb0e9b038df7954834f6000fe04)) by @njfamirm -* **app/shortcode:** add alwatr icon ([0653a92](https://github.com/Alwatr/pmpa/commit/0653a92bb90de6cb1d4c31903de618f392314eff)) by @njfamirm -* **app/shortcode:** add alwatr icon ([b89ffc1](https://github.com/Alwatr/pmpa/commit/b89ffc1f8ae81224dc04edfbecb9a0751de8d547)) by @njfamirm -* **app/wds:** disable clearTerminalOnReload ([cdd63c5](https://github.com/Alwatr/pmpa/commit/cdd63c54dc6357c1e199628b8b74a539dec379b7)) by @njfamirm -* **app:** 11ty.js data ([e830dac](https://github.com/Alwatr/pmpa/commit/e830dac10052661b7e466f46459945fc2351a929)) by @njfamirm -* **app:** add alpine ([062e3e5](https://github.com/Alwatr/pmpa/commit/062e3e570ed7d10ef36251bfb584c5fe64d3690d)) by @njfamirm -* **app:** add vazirmatn font ([5f94e4e](https://github.com/Alwatr/pmpa/commit/5f94e4e91c10e9bb95a3affb8d95998c349c5c02)) by @njfamirm -* **app:** base 11ty structure ([99fdd52](https://github.com/Alwatr/pmpa/commit/99fdd52021cb4f62006a8c642543acf7207b8fca)) by @njfamirm -* **app:** build script ([ab2d1fa](https://github.com/Alwatr/pmpa/commit/ab2d1fa8728a95b717c80d8fe36f9ea5984fbc0c)) by @njfamirm -* **app:** build using nano-build ([3e1c7b1](https://github.com/Alwatr/pmpa/commit/3e1c7b13f44a3933d8e9d11fdf8bde95379bc583)) by @njfamirm -* **app:** color palette ([2f27c31](https://github.com/Alwatr/pmpa/commit/2f27c31772dd5bd8480140855d879066dfe111e8)) by @njfamirm -* **app:** copy fonts from packages ([265ee2b](https://github.com/Alwatr/pmpa/commit/265ee2b42579764e869a53b92477640118c86bf5)) by @njfamirm -* **app:** disable minification on deployment ([ebb00c5](https://github.com/Alwatr/pmpa/commit/ebb00c565be01c446546eb4679fe2c66bf257cdf)) by @njfamirm -* **app:** dockerfile ([19657a4](https://github.com/Alwatr/pmpa/commit/19657a4456dff1241481e4f03ed19d008e2f2301)) by @njfamirm -* **app:** dockerfile ([e94a33c](https://github.com/Alwatr/pmpa/commit/e94a33c56dded0e3bc36d381a43071fa54e0d4e2)) by @njfamirm -* **app:** eleventy config ([5b5034a](https://github.com/Alwatr/pmpa/commit/5b5034a5aaaf4de42b8a305aa36c190984dcd20a)) by @njfamirm -* **app:** git and env global data ([47cd400](https://github.com/Alwatr/pmpa/commit/47cd400cd6a3e5c72d595feadfd04534519bc0ec)) by @njfamirm -* **app:** improve build system for esbuild ([42352b6](https://github.com/Alwatr/pmpa/commit/42352b6881acf0c709e3e908050139130c03552a)) by @njfamirm -* **app:** improve home page ([55c9f21](https://github.com/Alwatr/pmpa/commit/55c9f21aa9402dd38d344b9652abaa5038a0a972)) by @njfamirm -* **app:** make postcss config esm ([84ecb2a](https://github.com/Alwatr/pmpa/commit/84ecb2aad654dfe56ac347f8c339f6ad9f993392)) by @njfamirm -* **app:** nunjucks prerender ([d2750a5](https://github.com/Alwatr/pmpa/commit/d2750a579f3a37c5693c5dc0f50e4b588120dd7a)) by @njfamirm -* **app:** postcss ([cdfa364](https://github.com/Alwatr/pmpa/commit/cdfa3643d72d2c8402f2b075f778212c92ce91e0)) by @njfamirm -* **app:** sample 11tydata file ([c9de5b9](https://github.com/Alwatr/pmpa/commit/c9de5b93be68d96ba6c10b1ffc2cedd337980f81)) by @njfamirm -* **app:** serve using web dev server ([62bb145](https://github.com/Alwatr/pmpa/commit/62bb145814c19586349e104926ded394055b8b7f)) by @njfamirm -* **app:** sitmep, rss, manifest ([79c2afc](https://github.com/Alwatr/pmpa/commit/79c2afcf50438d8e7cff21d31275c24e46f9702b)) by @njfamirm -* **app:** sitmep, rss, manifest ([2827063](https://github.com/Alwatr/pmpa/commit/282706343d9881c301e00da65ce7307acaae22a4)) by @njfamirm -* **app:** use base alwatr/style ([f10959f](https://github.com/Alwatr/pmpa/commit/f10959f169f4a1e2e7d6b24842a231ee0b2109e4)) by @njfamirm -* base layout ([e423fd0](https://github.com/Alwatr/pmpa/commit/e423fd093eb5df9662a4b2f729816244debae2f9)) by @njfamirm -* **cloud:** add containers ([26835cd](https://github.com/Alwatr/pmpa/commit/26835cd7afcf8de544d97d5ea992bbd2d84536ca)) by @njfamirm -* **cloud:** deployment compose and env ([7cf6ceb](https://github.com/Alwatr/pmpa/commit/7cf6ceb239e40c2906ab670317a37284870fa108)) by @njfamirm -* **dependabot:** add weekly update schedule ([87b8806](https://github.com/Alwatr/pmpa/commit/87b8806a131e2c788b8e945ca78918328b6f43a9)) by @njfamirm -* **deploy:** envs ([4ee335d](https://github.com/Alwatr/pmpa/commit/4ee335d6127ccf5210e57bb374c86a903e958c3e)) by @njfamirm -* initial structure ([660709f](https://github.com/Alwatr/pmpa/commit/660709f191a88940358292f83e90bd50fba24fba)) by @njfamirm -* maximum browser support ([75f3759](https://github.com/Alwatr/pmpa/commit/75f3759a4ab0cf4d9edc4dc23f5cfa011fb57cb6)) by @AliMD -* update all configs ([5ebc1e6](https://github.com/Alwatr/pmpa/commit/5ebc1e61d0175804f88a37bd4a897ba2b84fc118)) by @njfamirm -* Update Dockerfile build process ([0a0c545](https://github.com/Alwatr/pmpa/commit/0a0c5458cdc8022ce53eef21ea397e29e4cf00ee)) by @AliMD diff --git a/README.md b/README.md index 374a455..d9191c9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Alwatr PMPA +# Soffit Order Admin Progressive Multi Page (Web) Application. diff --git a/deploy/env/production.env b/deploy/env/production.env index ebb8abd..079ec9d 100644 --- a/deploy/env/production.env +++ b/deploy/env/production.env @@ -1,16 +1,16 @@ -appId='pmpa' +appId='soffit-order-admin' deployHost='mci2.alwatr.ir' deployPath="/srv/${appId}" -appForceDomain='pmpa.alwatr.ir' -domain="pmpa.alwatr.ir" +appForceDomain='admin.order.soffit.co' +domain="admin.order.soffit.co" -appImage='ghcr.io/alwatr/pmpa-app:next' -apiImage='ghcr.io/alwatr/pmpa-api:next' +appImage='ghcr.io/alwatr/soffit-order-admin-app:next' +# apiImage='ghcr.io/alwatr/soffit-order-admin-api:next' -storageAccessToken='your_secret_token' +# storageAccessToken='your_secret_token' -apiDebug=1 -storageApiDebug=1 +# apiDebug=1 +# storageApiDebug=1 # appAccessLog=off # storageAccessLog=off diff --git a/package.json b/package.json index 2b2f45f..79385e8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "@alwatr/pmpa-monorepo", + "name": "@alwatr/soffit-order-admin-monorepo", "description": "Progressive Multi Page (Web) Application.", - "repository": "https://github.com/Alwatr/pmpa", + "repository": "https://github.com/Alwatr/soffit-order-admin", "author": "S. Ali Mihandoost (https://ali.mihandoost.com)", "license": "MIT", "type": "module", diff --git a/packages/api/package.json b/packages/api/package.json index 9fd602e..5d74f1f 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { - "name": "@alwatr/pmpa-api", - "version": "1.1.1", + "name": "@alwatr/soffit-order-admin-api", + "version": "0.0.0", "description": "Alwatr Progressive Multi Page (Web) Application.", "author": "S. Ali Mihandoost ", "private": true, @@ -12,12 +12,12 @@ }, "repository": { "type": "git", - "url": "https://github.com/Alwatr/pmpa", + "url": "https://github.com/Alwatr/soffit-order-admin", "directory": "packages/api" }, - "homepage": "https://github.com/Alwatr/pmpa#readme", + "homepage": "https://github.com/Alwatr/soffit-order-admin#readme", "bugs": { - "url": "https://github.com/Alwatr/pmpa/issues" + "url": "https://github.com/Alwatr/soffit-order-admin/issues" }, "prettier": "@alwatr/prettier-config", "nano-build-development": { diff --git a/packages/api/src/lib/config.ts b/packages/api/src/lib/config.ts index c3c70e9..b34b345 100644 --- a/packages/api/src/lib/config.ts +++ b/packages/api/src/lib/config.ts @@ -2,7 +2,7 @@ import {definePackage} from '@alwatr/logger'; import type {} from '@alwatr/nano-build' -export const logger = definePackage('@alwatr/pmpa-api', __package_version__); +export const logger = definePackage('@alwatr/soffit-order-admin-api', __package_version__); if (process.env.NODE_ENV === 'production') { if (process.env.STORAGE_TOKEN == null) { diff --git a/packages/api/src/route/home.ts b/packages/api/src/route/home.ts index 415e30b..d14135f 100644 --- a/packages/api/src/route/home.ts +++ b/packages/api/src/route/home.ts @@ -5,7 +5,7 @@ import type {StringifyableRecord} from '@alwatr/type'; nanoServer.route('GET', '/', () => ({ ok: true, data: { - app: '..:: Alwatr PMPA API ::..', + app: '..:: Soffit Order Admin API ::..', message: 'Hello ;)', }, })); diff --git a/packages/app/.prettierrc.mjs b/packages/app/.prettierrc.mjs new file mode 100644 index 0000000..8d43715 --- /dev/null +++ b/packages/app/.prettierrc.mjs @@ -0,0 +1,3 @@ +module.exports = { + plugins: [require.resolve('prettier-plugin-tailwindcss')], +} diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md deleted file mode 100644 index df90d40..0000000 --- a/packages/app/CHANGELOG.md +++ /dev/null @@ -1,103 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [1.1.1](https://github.com/Alwatr/pmpa/compare/v1.1.0...v1.1.1) (2024-01-16) - -### Bug Fixes - -* **app:** debugMode in logger ([a86cf76](https://github.com/Alwatr/pmpa/commit/a86cf76bbbbe9b669b64703f66342876dcb7a7d7)) by @njfamirm -* **app:** start script ([d577af7](https://github.com/Alwatr/pmpa/commit/d577af7fd4064e76ccac82afd9a0242952015a38)) by @MM25Zamanian -* define package scope ([335bfa2](https://github.com/Alwatr/pmpa/commit/335bfa29f9330bbbaebeffa17fbe038336e13ae6)) by @njfamirm - -### Code Refactoring - -* **app/keep-scroll:** ensure deployment mode from platform info package ([d83a60d](https://github.com/Alwatr/pmpa/commit/d83a60d4bd81a887a7e0ad3d9c56f92215087378)) by @njfamirm -* update env name for logger enable mode ([d317dce](https://github.com/Alwatr/pmpa/commit/d317dce979a3b5cb311a44c787f5ff077e9f6c80)) by @njfamirm -* use definePackage logger ([cc0d017](https://github.com/Alwatr/pmpa/commit/cc0d017b11644c501080f708785ab80fcc476f23)) by @njfamirm - -### Miscellaneous Chores - -* **app:** build logger name ([731b13a](https://github.com/Alwatr/pmpa/commit/731b13ad5ec5598f9396344af190ca043c8e0872)) by @njfamirm -* **deps:** update all deps using upd command ([ebb6d7a](https://github.com/Alwatr/pmpa/commit/ebb6d7aa0115706d42009f770c76f9a40d31db09)) by @njfamirm -* remove tsconfig outDir ([e713b0a](https://github.com/Alwatr/pmpa/commit/e713b0a48ace5b1ea9185e7fff42f240af40c0f4)) by @njfamirm - -# [1.1.0](https://github.com/Alwatr/pmpa/compare/v1.0.0...v1.1.0) (2023-12-24) - -### Features - -* **app/11ty:** slugify filter ([8af2631](https://github.com/Alwatr/pmpa/commit/8af26310b687e518d9d42c01187fef2438e15707)) by @njfamirm -* **app/script:** dynamic font copy ([e34f3e4](https://github.com/Alwatr/pmpa/commit/e34f3e49149497053b4874e3eef5cb1b1b47e052)) by @njfamirm - -# 1.0.0 (2023-12-23) - -### Bug Fixes - -* **api/docker:** label ([04e8e66](https://github.com/Alwatr/pmpa/commit/04e8e666914c65f364cdcc16d7604461d2cc9f79)) by @AliMD -* **app/11ty:** use config ([dc65bc3](https://github.com/Alwatr/pmpa/commit/dc65bc30417fc7438cd6a8d7bcf5c5cc3825f57a)) by @njfamirm -* **app/build:** change esbuld target ([8754aa7](https://github.com/Alwatr/pmpa/commit/8754aa784780bad705c5f858e34471af5999cb9b)) by @njfamirm -* **app/deploy:** dockerfile ([69ae72d](https://github.com/Alwatr/pmpa/commit/69ae72d8528a64edf83ff417090e922703875b19)) by @AliMD -* **app/include:** prerender data ([0967cdf](https://github.com/Alwatr/pmpa/commit/0967cdf5626f85cd66203566bb4f97d54e8a031d)) by @njfamirm -* **app/layout:** remove crossorigin from preload link ([e3dd492](https://github.com/Alwatr/pmpa/commit/e3dd492bd5b0b9c3573b6d57c3cb037400762a0b)) by @njfamirm -* **app:** browser list ([5c1eb90](https://github.com/Alwatr/pmpa/commit/5c1eb903f5f369caef04c340c80ccc64a5242f31)) by @njfamirm -* **app:** import path ([72897ed](https://github.com/Alwatr/pmpa/commit/72897ed7923b5e4ca522c28d5f0c24a841f1e183)) by @njfamirm -* **app:** tsconfig root ([96dbe6f](https://github.com/Alwatr/pmpa/commit/96dbe6fe23dde862a2078483179f63f7b704bc3c)) by @njfamirm -* **build:** move devMode to logger ([dadcce1](https://github.com/Alwatr/pmpa/commit/dadcce168c21640b182cc50924850df9ccae4063)) by @njfamirm - -### Features - -* **api:** build scripts ([8b54c83](https://github.com/Alwatr/pmpa/commit/8b54c8382fced0798e3fb48788da7db22f5ebe74)) by @njfamirm -* **app:** .html suffix for urls ([647146a](https://github.com/Alwatr/pmpa/commit/647146ab1f65dcfaf03d3a0486e244ef1fe3526e)) by @njfamirm -* **app/11ty:** add directory output plugin ([a8966b3](https://github.com/Alwatr/pmpa/commit/a8966b3b06f1d90199143b1c57f969be584572d5)) by @njfamirm -* **app/11ty:** add directory output plugin ([2785ff3](https://github.com/Alwatr/pmpa/commit/2785ff3673777ae7731158f4f3fe01b7feb58df2)) by @njfamirm -* **app/11ty:** add utils ([5bbaef8](https://github.com/Alwatr/pmpa/commit/5bbaef867638a6513ce4d6f5c4a0b57b3948923c)) by @njfamirm -* **app/11ty:** add watch target ([9e31bef](https://github.com/Alwatr/pmpa/commit/9e31bef1c4adfb719be46947082b18150dd84532)) by @njfamirm -* **app/11ty:** support 11.cjs file ([189fb97](https://github.com/Alwatr/pmpa/commit/189fb979ea73ff5ce1c3d994f0f62e610dd2c485)) by @njfamirm -* **app/assets:** add meta images ([15069cc](https://github.com/Alwatr/pmpa/commit/15069ccd70577885c50d9b34b483443dd3e8e374)) by @njfamirm -* **app/build:** add esbuild before ([aceefb2](https://github.com/Alwatr/pmpa/commit/aceefb29a3802b0edbf09c63d6a81aa48d5d190c)) by @njfamirm -* **app/build:** add postcss before eleventy ([0cf82cb](https://github.com/Alwatr/pmpa/commit/0cf82cb8af84d21a29108eb01bb26ef25cf0afdf)) by @njfamirm -* **app/build:** enhance build ([c69f2aa](https://github.com/Alwatr/pmpa/commit/c69f2aa5da8639467a2711b7e0e47a833a2ba1e9)) by @njfamirm -* **app/build:** minify html ([85dca6e](https://github.com/Alwatr/pmpa/commit/85dca6e493da2378065a5c44602d322a7af2fba4)) by @njfamirm -* **app/build:** move postcss into eleventy ([097f3b8](https://github.com/Alwatr/pmpa/commit/097f3b8935241562c53ee8a81f0aa00c5ad6d0cc)) by @njfamirm -* **app/build:** watch mode ([0c2e4f1](https://github.com/Alwatr/pmpa/commit/0c2e4f111de023459e299819b0cc8bc66ebb1cd1)) by @njfamirm -* **app/data:** add site ([e685cae](https://github.com/Alwatr/pmpa/commit/e685cae5cf09a3619efa2a7b19567d1711c21d95)) by @njfamirm -* **app/global-util:** add i18n ([05c35b7](https://github.com/Alwatr/pmpa/commit/05c35b7d15f79acf26ddd15f05c104358c7c099c)) by @njfamirm -* **app/home:** improve and use logo ([ea5e858](https://github.com/Alwatr/pmpa/commit/ea5e858f81e98561c11d5a57bfc1aed1121c3ef5)) by @njfamirm -* **app/home:** improve and use logo ([f68e19e](https://github.com/Alwatr/pmpa/commit/f68e19e1dc6f540eb259ac072141c741efa7c19d)) by @njfamirm -* **app/include:** prerender ([7eb4901](https://github.com/Alwatr/pmpa/commit/7eb49011898415cc323a8017b55c3c25b3672ee3)) by @njfamirm -* **app/manifest:** add all icons ([c627376](https://github.com/Alwatr/pmpa/commit/c62737607a8873306d798e98335abf087946acb6)) by @njfamirm -* **app/postcss:** log info like esbuild ([d4c9169](https://github.com/Alwatr/pmpa/commit/d4c9169044af4b7df0c5c33b0b15a0942b60df39)) by @njfamirm -* **app/script:** add some useful for base ([37c8ddd](https://github.com/Alwatr/pmpa/commit/37c8ddd36c78f33c906cc825cf3c144fad49691c)) by @njfamirm -* **app/script:** add some useful for base ([4ff4167](https://github.com/Alwatr/pmpa/commit/4ff4167065f5ccb0e9b038df7954834f6000fe04)) by @njfamirm -* **app/shortcode:** add alwatr icon ([0653a92](https://github.com/Alwatr/pmpa/commit/0653a92bb90de6cb1d4c31903de618f392314eff)) by @njfamirm -* **app/shortcode:** add alwatr icon ([b89ffc1](https://github.com/Alwatr/pmpa/commit/b89ffc1f8ae81224dc04edfbecb9a0751de8d547)) by @njfamirm -* **app/wds:** disable clearTerminalOnReload ([cdd63c5](https://github.com/Alwatr/pmpa/commit/cdd63c54dc6357c1e199628b8b74a539dec379b7)) by @njfamirm -* **app:** 11ty.js data ([e830dac](https://github.com/Alwatr/pmpa/commit/e830dac10052661b7e466f46459945fc2351a929)) by @njfamirm -* **app:** add alpine ([062e3e5](https://github.com/Alwatr/pmpa/commit/062e3e570ed7d10ef36251bfb584c5fe64d3690d)) by @njfamirm -* **app:** add vazirmatn font ([5f94e4e](https://github.com/Alwatr/pmpa/commit/5f94e4e91c10e9bb95a3affb8d95998c349c5c02)) by @njfamirm -* **app:** base 11ty structure ([99fdd52](https://github.com/Alwatr/pmpa/commit/99fdd52021cb4f62006a8c642543acf7207b8fca)) by @njfamirm -* **app:** build script ([ab2d1fa](https://github.com/Alwatr/pmpa/commit/ab2d1fa8728a95b717c80d8fe36f9ea5984fbc0c)) by @njfamirm -* **app:** build using nano-build ([3e1c7b1](https://github.com/Alwatr/pmpa/commit/3e1c7b13f44a3933d8e9d11fdf8bde95379bc583)) by @njfamirm -* **app:** color palette ([2f27c31](https://github.com/Alwatr/pmpa/commit/2f27c31772dd5bd8480140855d879066dfe111e8)) by @njfamirm -* **app:** copy fonts from packages ([265ee2b](https://github.com/Alwatr/pmpa/commit/265ee2b42579764e869a53b92477640118c86bf5)) by @njfamirm -* **app:** disable minification on deployment ([ebb00c5](https://github.com/Alwatr/pmpa/commit/ebb00c565be01c446546eb4679fe2c66bf257cdf)) by @njfamirm -* **app:** dockerfile ([19657a4](https://github.com/Alwatr/pmpa/commit/19657a4456dff1241481e4f03ed19d008e2f2301)) by @njfamirm -* **app:** dockerfile ([e94a33c](https://github.com/Alwatr/pmpa/commit/e94a33c56dded0e3bc36d381a43071fa54e0d4e2)) by @njfamirm -* **app:** eleventy config ([5b5034a](https://github.com/Alwatr/pmpa/commit/5b5034a5aaaf4de42b8a305aa36c190984dcd20a)) by @njfamirm -* **app:** git and env global data ([47cd400](https://github.com/Alwatr/pmpa/commit/47cd400cd6a3e5c72d595feadfd04534519bc0ec)) by @njfamirm -* **app:** improve build system for esbuild ([42352b6](https://github.com/Alwatr/pmpa/commit/42352b6881acf0c709e3e908050139130c03552a)) by @njfamirm -* **app:** improve home page ([55c9f21](https://github.com/Alwatr/pmpa/commit/55c9f21aa9402dd38d344b9652abaa5038a0a972)) by @njfamirm -* **app:** make postcss config esm ([84ecb2a](https://github.com/Alwatr/pmpa/commit/84ecb2aad654dfe56ac347f8c339f6ad9f993392)) by @njfamirm -* **app:** nunjucks prerender ([d2750a5](https://github.com/Alwatr/pmpa/commit/d2750a579f3a37c5693c5dc0f50e4b588120dd7a)) by @njfamirm -* **app:** postcss ([cdfa364](https://github.com/Alwatr/pmpa/commit/cdfa3643d72d2c8402f2b075f778212c92ce91e0)) by @njfamirm -* **app:** sample 11tydata file ([c9de5b9](https://github.com/Alwatr/pmpa/commit/c9de5b93be68d96ba6c10b1ffc2cedd337980f81)) by @njfamirm -* **app:** serve using web dev server ([62bb145](https://github.com/Alwatr/pmpa/commit/62bb145814c19586349e104926ded394055b8b7f)) by @njfamirm -* **app:** sitmep, rss, manifest ([79c2afc](https://github.com/Alwatr/pmpa/commit/79c2afcf50438d8e7cff21d31275c24e46f9702b)) by @njfamirm -* **app:** sitmep, rss, manifest ([2827063](https://github.com/Alwatr/pmpa/commit/282706343d9881c301e00da65ce7307acaae22a4)) by @njfamirm -* **app:** use base alwatr/style ([f10959f](https://github.com/Alwatr/pmpa/commit/f10959f169f4a1e2e7d6b24842a231ee0b2109e4)) by @njfamirm -* base layout ([e423fd0](https://github.com/Alwatr/pmpa/commit/e423fd093eb5df9662a4b2f729816244debae2f9)) by @njfamirm -* initial structure ([660709f](https://github.com/Alwatr/pmpa/commit/660709f191a88940358292f83e90bd50fba24fba)) by @njfamirm -* maximum browser support ([75f3759](https://github.com/Alwatr/pmpa/commit/75f3759a4ab0cf4d9edc4dc23f5cfa011fb57cb6)) by @AliMD -* update all configs ([5ebc1e6](https://github.com/Alwatr/pmpa/commit/5ebc1e61d0175804f88a37bd4a897ba2b84fc118)) by @njfamirm -* Update Dockerfile build process ([0a0c545](https://github.com/Alwatr/pmpa/commit/0a0c5458cdc8022ce53eef21ea397e29e4cf00ee)) by @AliMD diff --git a/packages/app/assets/img/home-1.jpeg b/packages/app/assets/img/home-1.jpeg new file mode 100644 index 0000000..f4290c8 Binary files /dev/null and b/packages/app/assets/img/home-1.jpeg differ diff --git a/packages/app/assets/img/meta/favicon.ico b/packages/app/assets/img/meta/favicon.ico index 4a865c6..9da7cf6 100644 Binary files a/packages/app/assets/img/meta/favicon.ico and b/packages/app/assets/img/meta/favicon.ico differ diff --git a/packages/app/assets/img/meta/icon-16-v2.png b/packages/app/assets/img/meta/icon-16-v2.png new file mode 100644 index 0000000..702b71e Binary files /dev/null and b/packages/app/assets/img/meta/icon-16-v2.png differ diff --git a/packages/app/assets/img/meta/icon-16.png b/packages/app/assets/img/meta/icon-16.png deleted file mode 100644 index cf9bc03..0000000 Binary files a/packages/app/assets/img/meta/icon-16.png and /dev/null differ diff --git a/packages/app/assets/img/meta/icon-180-v2.png b/packages/app/assets/img/meta/icon-180-v2.png new file mode 100644 index 0000000..59db93f Binary files /dev/null and b/packages/app/assets/img/meta/icon-180-v2.png differ diff --git a/packages/app/assets/img/meta/icon-180.png b/packages/app/assets/img/meta/icon-180.png deleted file mode 100644 index e79cfc5..0000000 Binary files a/packages/app/assets/img/meta/icon-180.png and /dev/null differ diff --git a/packages/app/assets/img/meta/icon-192-maskable-v2.png b/packages/app/assets/img/meta/icon-192-maskable-v2.png new file mode 100644 index 0000000..dfe9b0c Binary files /dev/null and b/packages/app/assets/img/meta/icon-192-maskable-v2.png differ diff --git a/packages/app/assets/img/meta/icon-192-maskable.png b/packages/app/assets/img/meta/icon-192-maskable.png deleted file mode 100644 index c3d566f..0000000 Binary files a/packages/app/assets/img/meta/icon-192-maskable.png and /dev/null differ diff --git a/packages/app/assets/img/meta/icon-192-v2.png b/packages/app/assets/img/meta/icon-192-v2.png new file mode 100644 index 0000000..0fce9f1 Binary files /dev/null and b/packages/app/assets/img/meta/icon-192-v2.png differ diff --git a/packages/app/assets/img/meta/icon-192.png b/packages/app/assets/img/meta/icon-192.png deleted file mode 100644 index 7d45fd3..0000000 Binary files a/packages/app/assets/img/meta/icon-192.png and /dev/null differ diff --git a/packages/app/assets/img/meta/icon-32-v2.png b/packages/app/assets/img/meta/icon-32-v2.png new file mode 100644 index 0000000..004a6e3 Binary files /dev/null and b/packages/app/assets/img/meta/icon-32-v2.png differ diff --git a/packages/app/assets/img/meta/icon-32.png b/packages/app/assets/img/meta/icon-32.png deleted file mode 100644 index ff2be33..0000000 Binary files a/packages/app/assets/img/meta/icon-32.png and /dev/null differ diff --git a/packages/app/assets/img/meta/icon-512-maskable-v2.png b/packages/app/assets/img/meta/icon-512-maskable-v2.png new file mode 100644 index 0000000..d343725 Binary files /dev/null and b/packages/app/assets/img/meta/icon-512-maskable-v2.png differ diff --git a/packages/app/assets/img/meta/icon-512-maskable.png b/packages/app/assets/img/meta/icon-512-maskable.png deleted file mode 100644 index 8b49673..0000000 Binary files a/packages/app/assets/img/meta/icon-512-maskable.png and /dev/null differ diff --git a/packages/app/assets/img/meta/icon-512-v2.png b/packages/app/assets/img/meta/icon-512-v2.png new file mode 100644 index 0000000..3b628c6 Binary files /dev/null and b/packages/app/assets/img/meta/icon-512-v2.png differ diff --git a/packages/app/assets/img/meta/icon-512.png b/packages/app/assets/img/meta/icon-512.png deleted file mode 100644 index 7e69f3e..0000000 Binary files a/packages/app/assets/img/meta/icon-512.png and /dev/null differ diff --git a/packages/app/assets/img/meta/social-v2.jpg b/packages/app/assets/img/meta/social-v2.jpg new file mode 100644 index 0000000..17e070b Binary files /dev/null and b/packages/app/assets/img/meta/social-v2.jpg differ diff --git a/packages/app/assets/img/meta/social-v2.png b/packages/app/assets/img/meta/social-v2.png new file mode 100644 index 0000000..d343725 Binary files /dev/null and b/packages/app/assets/img/meta/social-v2.png differ diff --git a/packages/app/assets/img/meta/social.png b/packages/app/assets/img/meta/social.png deleted file mode 100644 index 8b49673..0000000 Binary files a/packages/app/assets/img/meta/social.png and /dev/null differ diff --git a/packages/app/assets/img/user-avatar-v1.jpg b/packages/app/assets/img/user-avatar-v1.jpg new file mode 100644 index 0000000..705df2d Binary files /dev/null and b/packages/app/assets/img/user-avatar-v1.jpg differ diff --git a/packages/app/package.json b/packages/app/package.json index 5b0e49c..c8ebb9d 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { - "name": "@alwatr/pmpa-app", - "version": "1.1.1", + "name": "@alwatr/soffit-order-admin-app", + "version": "0.0.0", "description": "Alwatr Progressive Multi Page (Web) Application.", "author": "S. Ali Mihandoost ", "private": true, @@ -14,12 +14,12 @@ }, "repository": { "type": "git", - "url": "https://github.com/Alwatr/pmpa", + "url": "https://github.com/Alwatr/soffit-order-admin", "directory": "packages/app" }, - "homepage": "https://github.com/Alwatr/pmpa#readme", + "homepage": "https://github.com/Alwatr/soffit-order-admin#readme", "bugs": { - "url": "https://github.com/Alwatr/pmpa/issues" + "url": "https://github.com/Alwatr/soffit-order-admin/issues" }, "prettier": "@alwatr/prettier-config", "nano-build-development": { @@ -49,29 +49,39 @@ "@11ty/eleventy-plugin-rss": "^1.2.0", "@alwatr/fetch": "^2.2.1", "@alwatr/font": "^1.2.0", + "@alwatr/fsm": "^2.0.5", "@alwatr/i18n": "^2.0.3", "@alwatr/icon-set-extra": "^0.4.0", + "@alwatr/icon-set-ionic": "^0.4.1", "@alwatr/icon-set-material": "^2.0.1", - "@alwatr/logger": "^3.2.2", - "@alwatr/nano-build": "^1.3.1", - "@alwatr/platform-info": "^1.1.2", + "@alwatr/local-storage": "^1.0.0", + "@alwatr/logger": "^3.2.1", + "@alwatr/math": "^1.3.1", + "@alwatr/nano-build": "^1.3.0", + "@alwatr/node-fs": "^1.0.0-beta.0", "@alwatr/prettier-config": "^1.0.4", "@alwatr/server-context": "^1.2.6", + "@alwatr/soffit-order-types": "workspace:^", + "@alwatr/store-engine": "^5.1.0", "@alwatr/style": "^2.0.3", - "@alwatr/tsconfig-base": "^1.1.1", + "@alwatr/tsconfig-base": "^1.1.0", + "@alwatr/type": "^1.2.4", + "@alwatr/type-helper": "^1.0.3", "@alwatr/util": "^1.4.1", + "@alwatr/wait": "^1.1.4", "@swc/html": "^0.0.28", "@types/alpinejs": "^3.13.6", + "@types/node": "^20.11.1", "@web/dev-server": "^0.4.1", "alpinejs": "^3.13.3", "cssnano": "^6.0.3", "esbuild": "^0.19.11", - "npm-run-all": "^4.1.5", "postcss": "^8.4.33", "postcss-import": "^16.0.0", "postcss-preset-env": "^9.3.0", "postcss-variable-compress": "^3.0.0", "tailwindcss": "^3.4.1", - "typescript": "^5.3.3" + "typescript": "^5.3.3", + "workbox-build": "^7.0.0" } } diff --git a/packages/app/script/logger.mjs b/packages/app/script/logger.mjs index e62630f..7f08b09 100644 --- a/packages/app/script/logger.mjs +++ b/packages/app/script/logger.mjs @@ -1,6 +1,6 @@ import {definePackage} from '@alwatr/logger'; -export const logger = definePackage('@alwatr/pmpa-app-build', '1.x', true); +export const logger = definePackage('@alwatr/soffit-order-admin-app-build', '1.x', true); export const devMode = process.env.NODE_ENV !== 'production'; logger.logProperty?.('devMode', devMode); diff --git a/packages/app/shortcode/alwatr-icon.cjs b/packages/app/shortcode/alwatr-icon.cjs index f5c6aac..a114be3 100644 --- a/packages/app/shortcode/alwatr-icon.cjs +++ b/packages/app/shortcode/alwatr-icon.cjs @@ -4,7 +4,7 @@ const {readFile} = require('fs/promises'); async function alwatrIcon(icon, customClass = '') { if (icon.indexOf('/') === -1) { - icon = 'material/' + icon; + icon = 'ionic/' + icon; } if (icon.indexOf(':') === -1) { diff --git a/packages/app/site/_css/main.css b/packages/app/site/_css/main.css index 22f3299..af724c7 100644 --- a/packages/app/site/_css/main.css +++ b/packages/app/site/_css/main.css @@ -1,3 +1,7 @@ @import '@alwatr/style/main.css'; @import './lib/color-palette.css'; @import './lib/vazirmatn-font.css'; + +::selection { + @apply bg-primary text-onPrimary; +} diff --git a/packages/app/site/_data/site.json b/packages/app/site/_data/site.json index 2012e6c..0716e61 100644 --- a/packages/app/site/_data/site.json +++ b/packages/app/site/_data/site.json @@ -1,7 +1,7 @@ { - "title": "مجموعه‌ی الوتر", - "description": "یک تیم نرم‌افزاری.", - "author": {"name": "Alwatr", "email": "info@alwatr.ir", "url": "https://github.com/alwatr"}, + "title": "پنل ادمین سفارشگیر مجموعه‌ی سافیت", + "description": "پنل ادمین سفارشگیر مجموعه‌ی سافیت.", + "author": {"name": "Soffit", "email": "info@soffit.co", "url": "https://www.soffit.co"}, "defaultSocialImage": "/img/meta/social.jpeg", "defaultLocale": "fa-IR", "orientation": "portrait", diff --git a/packages/app/site/_include/navigation-drawer.njk b/packages/app/site/_include/navigation-drawer.njk new file mode 100644 index 0000000..025826a --- /dev/null +++ b/packages/app/site/_include/navigation-drawer.njk @@ -0,0 +1,84 @@ + + +
diff --git a/packages/app/site/_include/prerender.11ty.cjs b/packages/app/site/_include/prerender.11ty.cjs deleted file mode 100644 index f06d263..0000000 --- a/packages/app/site/_include/prerender.11ty.cjs +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = (data) => { - const urls = data.collections.all.map((page) => { - if (page.data.prerender === 'none') { - return; - } - return page.url; - }); - - const prerender = { - prerender: [ - { - source: 'list', - urls: urls, - }, - ], - }; - - return ``; -}; diff --git a/packages/app/site/_layout/base.njk b/packages/app/site/_layout/base.njk index 886b865..326f351 100644 --- a/packages/app/site/_layout/base.njk +++ b/packages/app/site/_layout/base.njk @@ -11,9 +11,15 @@ - {{ content | safe }} +
+ {% include "navigation-drawer.njk" %} + +
+ {{ content | safe }} +
+
{% include "prerender.njk" %} diff --git a/packages/app/site/_manifest.njk b/packages/app/site/_manifest.njk index c4f935e..33151cb 100644 --- a/packages/app/site/_manifest.njk +++ b/packages/app/site/_manifest.njk @@ -14,13 +14,13 @@ eleventyExcludeFromCollections: true "orientation": "{{ site.orientation | default('any') }}", "default_locale": "{{ site.defaultLocale }}", "icons": [ - {"src": "/img/meta/icon-16.png", "type": "image/png", "sizes": "16x16"}, - {"src": "/img/meta/icon-32.png", "type": "image/png", "sizes": "32x32"}, - {"src": "/img/meta/icon-180.png", "type": "image/png", "sizes": "180x180"}, - {# {"src": "/img/meta/icon-192-maskable.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable"}, - {"src": "/img/meta/icon-512-maskable.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable"}, #} - {"src": "/img/meta/icon-192.png", "type": "image/png", "sizes": "192x192"}, - {"src": "/img/meta/icon-512.png", "type": "image/png", "sizes": "512x512"} + {"src": "/img/meta/icon-16-v2.png", "type": "image/png", "sizes": "16x16"}, + {"src": "/img/meta/icon-32-v2.png", "type": "image/png", "sizes": "32x32"}, + {"src": "/img/meta/icon-180-v2.png", "type": "image/png", "sizes": "180x180"}, + {# {"src": "/img/meta/icon-192-maskable-v2.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable"}, + {"src": "/img/meta/icon-512-maskable-v2.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable"}, #} + {"src": "/img/meta/icon-192-v2.png", "type": "image/png", "sizes": "192x192"}, + {"src": "/img/meta/icon-512-v2.png", "type": "image/png", "sizes": "512x512"} ] {# "screenshots": [ { diff --git a/packages/app/site/_robots.njk b/packages/app/site/_robots.njk index 2b77587..a8336e7 100644 --- a/packages/app/site/_robots.njk +++ b/packages/app/site/_robots.njk @@ -2,12 +2,5 @@ permalink: "/robots.txt" eleventyExcludeFromCollections: true --- -{%- if env.noIndex == true -%} User-agent: * Disallow: / -{%- else -%} -User-agent: * -Allow: / - -Sitemap: {{ env.siteUrl }}/sitemap.xml -{%- endif -%} diff --git a/packages/app/site/_ts/lib/config.ts b/packages/app/site/_ts/lib/config.ts index cf104da..a74474e 100644 --- a/packages/app/site/_ts/lib/config.ts +++ b/packages/app/site/_ts/lib/config.ts @@ -1,25 +1,40 @@ +import {localJsonStorage} from '@alwatr/local-storage'; import {definePackage} from '@alwatr/logger'; -import {getLocalStorageItem} from '@alwatr/util'; -import type {} from '@alwatr/nano-build' +import type {} from '@alwatr/nano-build'; import type {ServerRequestConfig} from '@alwatr/server-context'; -export const logger = definePackage('@alwatr/pmpa-app', __package_version__); +export const logger = definePackage('@alwatr/soffit-order-app', __package_version__); /** * Debug API. * * ```ts - * localStorage.setItem('debugApi', '"https://alwatr.ir/"'); + * localStorage.setItem('debugApi.v1', JSON.stringify({url: "https://order4.soffit.co/"})); * ``` */ -const srvBaseUrl = getLocalStorageItem('debugApi', '/'); -const apiBaseUrl = srvBaseUrl + 'api/v0/'; +const srvBaseUrl = localJsonStorage.getItem<{url: string}>('debugApi', {url: '/'}, 1).url; +const apiBaseUrl = srvBaseUrl + 'api/v1/'; +const storeBaseUrl = apiBaseUrl + 'store/'; export const config = { api: { base: srvBaseUrl, cdn: apiBaseUrl + 'cdn', + + // public access + productList: `${storeBaseUrl}p/product/`, + + // user access + tokenInfo: `${storeBaseUrl}t/token-info.doc.asj`, + userInfo: `${storeBaseUrl}u/user-info.doc.asj`, + orderList: `${storeBaseUrl}u/order.col.asj`, + newOrder: `${apiBaseUrl}order`, + updateOrder: `${apiBaseUrl}admin/order`, + + commentList: `${srvBaseUrl}api/v0/storage`, + sendComment: `${srvBaseUrl}api/v0/`, + commentToken: 'Dy3Q4WOzj32XvSUriz7VXrN-sNjGx0KOk8s4gNBvSjIHz1Jj6XbmjNjieRHIEfFlGfmI_Uui3jifk59MUT5xg9RAvnsyd', } as const, fetchOptions: { diff --git a/packages/app/site/_ts/lib/context/admin/request.update-order.ts b/packages/app/site/_ts/lib/context/admin/request.update-order.ts new file mode 100644 index 0000000..6cabbbc --- /dev/null +++ b/packages/app/site/_ts/lib/context/admin/request.update-order.ts @@ -0,0 +1,18 @@ +import {AlwatrApiRequest} from '@alwatr/server-context'; + +import {config, logger} from '../../config'; + +import type {Order} from '@alwatr/soffit-order-types'; +import type {AlwatrServiceResponse} from '@alwatr/type'; + +logger.logModule?.('request.admin.change-order-status'); + +/** + * Api request with fsm for update order for admin. + */ +export const adminUpdateOrderRequest = new AlwatrApiRequest>({ + ...config.fetchOptions, + name: 'update-order-request', + method: 'PATCH', + url: config.api.admin.updateOrder, +}); diff --git a/packages/app/site/_ts/lib/context/context.comment-list.ts b/packages/app/site/_ts/lib/context/context.comment-list.ts new file mode 100644 index 0000000..7311534 --- /dev/null +++ b/packages/app/site/_ts/lib/context/context.comment-list.ts @@ -0,0 +1,17 @@ +import {AlwatrServerContext} from '@alwatr/server-context'; + +import {config, logger} from '../config'; + +import type {ChatStorage} from '@alwatr/type'; + +logger.logModule?.('context.comment-list'); + +/** + * Api request with fsm for load user comment list. + */ +export const commentListContext = new AlwatrServerContext({ + ...config.fetchOptions, + name: 'comment-list-context', + url: config.api.commentList, + token: config.api.commentToken, +}); diff --git a/packages/app/site/_ts/lib/context/request.product-list.ts b/packages/app/site/_ts/lib/context/request.product-list.ts new file mode 100644 index 0000000..1164e46 --- /dev/null +++ b/packages/app/site/_ts/lib/context/request.product-list.ts @@ -0,0 +1,35 @@ +import {AlwatrServerContext} from '@alwatr/server-context'; + +import {config, logger} from '../config'; + +import type {Product} from '@alwatr/soffit-order-types'; +import type {CollectionContext} from '@alwatr/store-engine'; + +logger.logModule?.('context.product-list'); + +/** + * Context with fsm for load tile product list. + */ +export const productListTileContext = new AlwatrServerContext>({ + ...config.fetchOptions, + name: 'product-list-tile-request', + url: config.api.productList + 'tile.col.asj', +}); + +/** + * Context with fsm for load lighting product list. + */ +export const productListLightingContext = new AlwatrServerContext>({ + ...config.fetchOptions, + name: 'product-list-lighting-request', + url: config.api.productList + 'lighting.col.asj', +}); + +/** + * Context with fsm for connection product list. + */ +export const productListConnectionContext = new AlwatrServerContext>({ + ...config.fetchOptions, + name: 'product-list-connection-request', + url: config.api.productList + 'connection.col.asj', +}); diff --git a/packages/app/site/_ts/lib/context/request.send-comment.ts b/packages/app/site/_ts/lib/context/request.send-comment.ts new file mode 100644 index 0000000..c382c20 --- /dev/null +++ b/packages/app/site/_ts/lib/context/request.send-comment.ts @@ -0,0 +1,18 @@ +import {AlwatrApiRequest} from '@alwatr/server-context'; + +import {config, logger} from '../config'; + +import type {ChatMessage, AlwatrServiceResponse} from '@alwatr/type'; + +logger.logModule?.('request.send-comment'); + +/** + * Api request with fsm for send comment. + */ +export const sendCommentRequest = new AlwatrApiRequest>({ + ...config.fetchOptions, + name: 'send-comment-request', + method: 'PATCH', + url: config.api.sendComment, + token: config.api.commentToken, +}); diff --git a/packages/app/site/_ts/lib/context/request.user-profile.ts b/packages/app/site/_ts/lib/context/request.user-profile.ts new file mode 100644 index 0000000..838bb5d --- /dev/null +++ b/packages/app/site/_ts/lib/context/request.user-profile.ts @@ -0,0 +1,26 @@ +import {AlwatrApiRequest} from '@alwatr/server-context'; + +import {config, logger} from '../config'; + +import type {TokenInfo, User} from '@alwatr/soffit-order-types'; +import type {DocumentContext} from '@alwatr/store-engine'; + +logger.logModule?.('request.user-profile'); + +/** + * Api request with fsm for load token info. + */ +export const tokenInfoRequest = new AlwatrApiRequest>({ + ...config.fetchOptions, + name: 'token-info-context', + url: config.api.tokenInfo, +}); + +/** + * Api request with fsm for load user info. + */ +export const userInfoRequest = new AlwatrApiRequest>({ + ...config.fetchOptions, + name: 'user-info-context', + url: config.api.userInfo, +}); diff --git a/packages/app/site/_ts/lib/data/data.product-item.ts b/packages/app/site/_ts/lib/data/data.product-item.ts new file mode 100644 index 0000000..1ff0d40 --- /dev/null +++ b/packages/app/site/_ts/lib/data/data.product-item.ts @@ -0,0 +1,18 @@ +import alpine from 'alpinejs'; + +import {logger} from '../config'; +import {cartStorage} from '../store/store.cart'; + +logger.logModule?.('data.product-item'); + +alpine.data('productItem', (category: unknown, productId: unknown) => { + let selected = false; + if (typeof category !== 'string' || typeof productId !== 'string') { + logger.accident('productItem', 'invalid_argument', `category: ${category}, productId: ${productId}`); + return {selected: false}; + } + selected = cartStorage.findIndex(category, productId) !== -1; + return { + selected, + }; +}); diff --git a/packages/app/site/_ts/lib/data/data.product-list.ts b/packages/app/site/_ts/lib/data/data.product-list.ts new file mode 100644 index 0000000..a8c0ab5 --- /dev/null +++ b/packages/app/site/_ts/lib/data/data.product-list.ts @@ -0,0 +1,43 @@ +import {createLogger} from '@alwatr/logger'; +import alpine from 'alpinejs'; + +import {productMachine, type ProductMachineState} from '../product-fsm'; + +const logger = createLogger('data.productList'); + +declare global { + interface Window { + animationDelay: number; + } +} + +logger.logModule?.('data.product-list'); + +window.animationDelay = 0; + +alpine.data('productList', () => ({ + state: productMachine.state, + category: '', + productList: [], + + async init() { + logger.logMethod?.('init'); + productMachine.subscribe(this.onProductListStateChange_.bind(this)); + }, + + onProductListStateChange_(state: ProductMachineState) { + logger.logMethodArgs?.('onProductListStateChange_', state); + this.state = state; + + if (state === 'complete' || state === 'reloading') { + this.category = productMachine.category; + this.productList = productMachine.productList[this.category]; + + const productContainer = document.querySelector('main.overflow-y-scroll'); + productContainer?.scrollTo({ + top: 0, + behavior: 'smooth', + }); + } + }, +})); diff --git a/packages/app/site/_ts/lib/define-store.ts b/packages/app/site/_ts/lib/define-store.ts new file mode 100644 index 0000000..7b21801 --- /dev/null +++ b/packages/app/site/_ts/lib/define-store.ts @@ -0,0 +1,68 @@ +import {localJsonStorage} from '@alwatr/local-storage'; +import {createLogger, type AlwatrLogger} from '@alwatr/logger'; +import alpine from 'alpinejs'; + +import {logger} from './config'; + +import type {Dictionary} from '@alwatr/type-helper'; + +logger.logModule?.('define-store'); + +export interface StoreConfig extends Record { + readonly name: string; + readonly version: number; + localStorageKey?: string; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + data: Dictionary | null; + + logger?: AlwatrLogger; + init?(): void; + load?(force?: true): void; + save?(): void; +} + +/** + * Define a alpine based store. + */ +export function defineStore(config: T): T { + config.logger = createLogger(`store.${config.name}`); + config.localStorageKey ??= `store.${config.name}`; + + config.logger.logMethodArgs?.('define', config); + + config.load = function (this: T, force?: true) { + this.logger!.logMethod?.('load'); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const newData = localJsonStorage.getItem | null>(config.localStorageKey!, null, this.version); + if (newData === null) return; // data not parsed. + if (!force && newData._rev === this.data?._rev) return; // data not modified. + + this.logger!.logOther?.('loaded modified data', newData); + this.data = newData; + }; + + config.save = function (this: T) { + this.logger!.logMethodArgs?.('save', this.data); + if (this.data != null) { + this.data._rev = Math.random(); + localJsonStorage.setItem(this.localStorageKey!, this.data, this.version); + } + else { + localStorage.removeItem(this.localStorageKey!); + } + }; + + config.load(); + + alpine.store(config.name, config); + + const store = alpine.store(config.name) as T; + + requestAnimationFrame(() => { + // after preload and page activated. + store.load!(); + }); + + return store; +} diff --git a/packages/app/site/_ts/lib/global-util.ts b/packages/app/site/_ts/lib/global-util.ts index 01bd6b3..7681f79 100644 --- a/packages/app/site/_ts/lib/global-util.ts +++ b/packages/app/site/_ts/lib/global-util.ts @@ -1,4 +1,5 @@ import {l10n} from '@alwatr/i18n'; +import {calcDiscount} from '@alwatr/math'; import {logger} from './config'; @@ -6,12 +7,21 @@ logger.logModule?.('global-util'); declare global { interface Window { - l10n: typeof l10n; + calcDiscount: typeof calcDiscount; clearLocalStorage: typeof clearLocalStorage; + l10n: typeof l10n; devMode: typeof devMode; } } +window.calcDiscount = calcDiscount; +window.l10n = l10n; +window.clearLocalStorage = clearLocalStorage; +window.devMode = devMode; + +/** + * Set l10n resource loader. + */ l10n.setResourceLoader((locale) => { return { ok: true, @@ -19,12 +29,44 @@ l10n.setResourceLoader((locale) => { code: locale.code, rev: 0, }, - data: {}, + data: { + order_status_draft: 'پیش‌نویس', + order_status_registered: 'ثبت شده', + order_status_processing: 'در حال پردازش', + order_status_payment_pending: 'در انتظار پرداخت', + order_status_preparing: 'در حال آماده‌سازی', + order_status_shipping: 'در حال ارسال', + order_status_delayed: 'تاخیر', + order_status_on_hold: 'معلق', + order_status_canceled: 'لغو شده', + order_status_refunded: 'بازپرداخت شده', + gender_male: 'آقای', + gender_woman: 'خانم', + lading_type_hand: 'دستی', + lading_type_pallet: 'پالت', + car_type_trailer_truck: 'تریلی', + car_type_camion_dual: 'کامیون دوگانه', + car_type_camion_solo: 'کامیون تک', + car_type_camion_911: 'کامیون 911', + car_type_camion_800: 'کامیون 800', + car_type_camion_600: 'کامیون 600', + car_type_camion_mini: 'کامیون کوچک', + car_type_nissan: 'نیسان', + time_period_auto: 'بهترین زمان ممکن', + time_period_3_4w: '۳ تا ۴ هفته', + time_period_2_3w: '۲ تا ۳ هفته', + time_period_1_2w: '۱ تا ۲ هفته', + }, }; }); l10n.setLocale('auto'); +/** + * Clear local storage. + * + * Set `debug` to `1` if `debugMode` is `true` in debug mode + */ export function clearLocalStorage() { logger.logMethod?.('clearLocalStorage'); localStorage.clear(); @@ -33,12 +75,11 @@ export function clearLocalStorage() { } } +/** + * Set `debug` to `1` if `debugMode` is `true` in debug mode + */ export function devMode() { - logger.logMethod?.('devMode'); localStorage.setItem('debug', '1'); + localStorage.setItem('debugApi', JSON.stringify('https://order4.soffit.co/')); location.reload(); } - -window.l10n = l10n; -window.clearLocalStorage = clearLocalStorage; -window.devMode = devMode; diff --git a/packages/app/site/_ts/lib/keep-scroll.ts b/packages/app/site/_ts/lib/keep-scroll.ts index 5815328..43a44d0 100644 --- a/packages/app/site/_ts/lib/keep-scroll.ts +++ b/packages/app/site/_ts/lib/keep-scroll.ts @@ -1,4 +1,3 @@ -import {platformInfo} from '@alwatr/platform-info' import {untilNextFrame} from '@alwatr/util'; import {logger} from './config'; @@ -25,4 +24,4 @@ async function keepScroll() { }); } -if (platformInfo.development === true) keepScroll(); +if (logger.debugMode) keepScroll(); diff --git a/packages/app/site/_ts/lib/product-fsm.ts b/packages/app/site/_ts/lib/product-fsm.ts new file mode 100644 index 0000000..ffed12e --- /dev/null +++ b/packages/app/site/_ts/lib/product-fsm.ts @@ -0,0 +1,235 @@ +import {FiniteStateMachine, type ActionRecord, type StateRecord} from '@alwatr/fsm'; + +import {logger} from './config'; +import {productListConnectionContext, productListLightingContext, productListTileContext} from './context/request.product-list'; + +import type {ServerContextState} from '@alwatr/server-context'; +import type {Product, ProductCategory} from '@alwatr/soffit-order-types'; +import type {CollectionContext} from '@alwatr/store-engine'; + +/** + * Product finite state machine state. + */ +export type ProductMachineState = 'initial' | 'loading' | 'loadingFailed' | 'reloading' | 'reloadingFailed' | 'complete'; + +/** + * Product finite state machine event. + */ +type ProductFiniteStateMachineMachineEvent = 'request' | 'offlineCacheFound' | 'complete' | 'failed' | 'categoryChanged'; + +class ProductFiniteStateMachine extends FiniteStateMachine { + constructor(name__: string) { + super({name: name__, initialState: 'initial'}); + + this.hashUpdateHandler__(); + window.addEventListener('hashchange', this.hashUpdateHandler__.bind(this)); + + productListLightingContext.subscribe(this.handleContextStateChange__.bind(this)); + productListTileContext.subscribe(this.handleContextStateChange__.bind(this)); + productListConnectionContext.subscribe(this.handleContextStateChange__.bind(this)); + } + + /** + * The product record. + * + * Useful for looking up products by id. + */ + productRecord: Record> = { + tile: {}, + lighting: {}, + connection: {}, + }; + + /** + * The product list. + * + * Useful for iterating over products. + */ + productList: Record = { + tile: [], + lighting: [], + connection: [], + }; + + /** + * The current product category. + */ + category: ProductCategory = 'tile'; + + /** + * The product meta record. + * + * Useful for guarded updates. + */ + private productMeta__: Record> = { + tile: {}, + lighting: {}, + connection: {}, + }; + + /** + * Make request transition to load or reload product list. + */ + request() { + this._logger.logMethod?.('request'); + this.transition('request'); + } + + get(category: string, productId: string): Product | null { + this._logger.logMethodArgs?.('productList.get', {category, productId}); + logger.logMethodArgs?.('productList.get', {category, productId}); + return this.productRecord[category][productId] ?? null; + } + + /** + * The state record. + */ + protected override _stateRecord: StateRecord = { + initial: { + request: 'loading', + }, + loading: { + offlineCacheFound: 'reloading', + failed: 'loadingFailed', + complete: 'complete', + }, + loadingFailed: { + request: 'loading', + failed: 'reloadingFailed', + }, + reloadingFailed: { + request: 'reloading', + }, + reloading: { + complete: 'complete', + failed: 'reloadingFailed', + }, + complete: { + request: 'reloading', + }, + }; + + /** + * The action record. + */ + protected override _actionRecord: ActionRecord = { + _on_loading_enter: this.requestContext__.bind(this), + }; + + /** + * Update product category from hash. + */ + private hashUpdateHandler__() { + this._logger.logMethod?.('hashUpdateHandler__'); + const hash = location.hash.substring(1); + if (hash !== '' && this.productList[hash] != null) { + this.category = hash as ProductCategory; + } + else { + this.category = 'tile'; + } + window.animationDelay = 0; + + // notify subscribers to render + this._notify(this.state); + } + + /** + * Bake data from context with guard against reassignment. + */ + private bakeData__() { + this._logger.logMethod?.('bakeData__'); + + // tile category + if (productListTileContext.context?.meta.updated !== this.productMeta__.tile.updated) { + this.productMeta__.tile = productListTileContext.context!.meta; + + this.productRecord.tile = Object.fromEntries( + Object.entries(productListTileContext.context!.data).map(([key, value]) => [key, value.data]), + ); + + this.productList.tile = Object.values(this.productRecord.tile); + + this._logger.logMethodArgs?.('bakeData__.updated', {category: 'tile'}); + } + + // lighting category + if (productListLightingContext.context?.meta.updated !== this.productMeta__.lighting.updated) { + this.productMeta__.lighting = productListLightingContext.context!.meta; + + this.productRecord.lighting = Object.fromEntries( + Object.entries(productListLightingContext.context!.data).map(([key, value]) => [key, value.data]), + ); + + this.productList.lighting = Object.values(this.productRecord.lighting); + + this._logger.logMethodArgs?.('bakeData__.updated', {category: 'lighting'}); + } + + // connection category + if (productListConnectionContext.context?.meta.updated !== this.productMeta__.connection.updated) { + this.productMeta__.connection = productListConnectionContext.context!.meta; + + this.productRecord.connection = Object.fromEntries( + Object.entries(productListConnectionContext.context!.data).map(([key, value]) => [key, value.data]), + ); + + this.productList.connection = Object.values(this.productRecord.connection); + + this._logger.logMethodArgs?.('bakeData__.updated', {category: 'connection'}); + } + } + + /** + * Request all context. + */ + private requestContext__() { + this._logger.logMethod?.('requestContext__'); + productListTileContext.request(); + productListLightingContext.request(); + productListConnectionContext.request(); + } + + private handleContextStateChange__(state: ServerContextState) { + this._logger.logMethodArgs?.('handleContextStateChange__', {state, context: productListTileContext.context?.data}); + if (state === 'complete') { + if ( + productListTileContext.state === 'complete' && + productListLightingContext.state === 'complete' && + productListConnectionContext.state === 'complete' + ) { + logger.logOther?.('handleContextStateChange__.complete'); + this.bakeData__(); + this.transition('complete'); + } + // else ignore + } + + // offline cache found + else if (state === 'reloading') { + if ( + productListTileContext.state === 'reloading' && + productListLightingContext.state === 'reloading' && + productListConnectionContext.state === 'reloading' + ) { + logger.logOther?.('handleContextStateChange__.reloading'); + this.bakeData__(); + this.transition('offlineCacheFound'); + } + // else ignore + } + else if (state === 'failed' || state === 'reloadingFailed') { + this.transition('failed'); + } + } +} + +export const productMachine = new ProductFiniteStateMachine('product-machine'); + +declare global { + interface Window { + productMachine: Pick; + } +} + +window.productMachine = productMachine diff --git a/packages/app/site/_ts/lib/register-service-worker.ts b/packages/app/site/_ts/lib/register-service-worker.ts deleted file mode 100644 index 0995510..0000000 --- a/packages/app/site/_ts/lib/register-service-worker.ts +++ /dev/null @@ -1,22 +0,0 @@ -import {logger} from './config'; - -logger.logModule?.('register-service-worker'); - -const serviceWorkerPath = '/es/service-worker'; - -function registerServiceWorker(serviceWorkerPath: string) { - logger.logMethod?.('registerServiceWorker'); - - navigator.serviceWorker - .register(serviceWorkerPath) - .then(() => { - logger.logOther?.('Service worker registered.'); - }) - .catch((error) => { - logger.error('registerServiceWorker', 'registration_failed ', {error}); - }); -} - -if ('serviceWorker' in navigator) { - registerServiceWorker(serviceWorkerPath); -} diff --git a/packages/app/site/_ts/lib/service-worker.ts b/packages/app/site/_ts/lib/service-worker.ts new file mode 100644 index 0000000..c5a2d82 --- /dev/null +++ b/packages/app/site/_ts/lib/service-worker.ts @@ -0,0 +1,69 @@ +import { createLogger } from '@alwatr/logger'; + +import {logger as logger_} from './config'; + +logger_.logModule?.('register-service-worker'); + +const logger = createLogger('service-worker') + +const serviceWorkerPath = '/service-worker.js'; + +/** + * Register the service worker and listen for the 'updatefound' event + * + * @param serviceWorkerPath The path to the service worker + * + * @returns A promise that resolves to the service worker registration + */ +async function registerServiceWorker(serviceWorkerPath: string) { + logger.logMethod?.('registerServiceWorker'); + + try { + const swRegistration = await navigator.serviceWorker.register(serviceWorkerPath); + logger.logOther?.('Service worker registered.'); + swRegistration.addEventListener('updatefound', () => serviceWorkerUpdateFoundHandler(swRegistration.installing)); + } + catch (error) { + logger.error('registerServiceWorker', 'registration_failed ', {error}); + } +} + +/** + * Handle the 'updatefound' event + * + * @param serviceWorker The service worker + */ +function serviceWorkerUpdateFoundHandler(serviceWorker: ServiceWorker | null): void { + if (serviceWorker == null) return; + logger.logMethod?.('swUpdateFound'); + serviceWorker.addEventListener('statechange', () => serviceWorkerStateChangeHandler(serviceWorker)); +} + +/** + * Handle the 'statechange' event + * + * If the service worker state is 'installed' then it is either a new install or an update + * If the service worker state is 'redundant' then the service worker is redundant + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state + * + * @param serviceWorker The service worker + */ +function serviceWorkerStateChangeHandler(serviceWorker: ServiceWorker): void { + logger.logMethodArgs?.('serviceWorkerStateChangeHandler', serviceWorker.state); + if (serviceWorker.state === 'installed') { + // if old controller available then its update else its new install + if (navigator.serviceWorker.controller) { + // reload to update + // TODO: snackbar to user before and after reload + location.reload() + } + } + else if (serviceWorker.state === 'redundant') { + logger.accident('serviceWorkerStateChangeHandler', 'sw_redundant', 'Service worker redundant'); + } +} + +if ('serviceWorker' in navigator) { + registerServiceWorker(serviceWorkerPath); +} diff --git a/packages/app/site/_ts/lib/store/store.comment-list.ts b/packages/app/site/_ts/lib/store/store.comment-list.ts new file mode 100644 index 0000000..a0c2079 --- /dev/null +++ b/packages/app/site/_ts/lib/store/store.comment-list.ts @@ -0,0 +1,137 @@ +import {untilNextFrame} from '@alwatr/util'; + +import {userProfileStorage} from './store.user-profile'; +import {logger} from '../config'; +import {commentListContext} from '../context/context.comment-list'; +import {sendCommentRequest} from '../context/request.send-comment'; +import {userInfoRequest} from '../context/request.user-profile'; +import {defineStore, type StoreConfig} from '../define-store'; + +import type {ServerRequestState, ServerContextState} from '@alwatr/server-context'; +import type {AlwatrStorageMeta, ChatTextMessage} from '@alwatr/type'; + +logger.logModule?.('store.comment-list'); + +export interface CommentListStorage extends StoreConfig { + loadingState: ServerContextState; + sendingState: ServerRequestState; + + data: { + draftMessage: string; + list: ChatTextMessage[]; + meta?: AlwatrStorageMeta; + }; + + request(): void; + sendMessage(): void; + _onLoadingStateChange(state: ServerContextState): Promise; + _onSendingStateChange(state: ServerRequestState): void; + _onUserProfileStateChange(state: ServerRequestState): void; +} + +const _commentListStorage: CommentListStorage = { + name: 'commentList', + version: 0, + data: { + list: [], + draftMessage: '', + }, + + request() { + this.logger!.logMethod?.('request'); + + const userId = userProfileStorage.data?.data.id; + + if (!userId) { + this.logger!.incident?.('submit', 'user_profile_not_found', ''); + this.loadingState = 'failed'; + return; + } + + commentListContext.request({queryParameters: {name: userId}}); + }, + + sendMessage(this: CommentListStorage) { + this.logger!.logMethodArgs?.('sendMessage', this.data.draftMessage); + + const draftMessage = this.data.draftMessage.trim(); + if (draftMessage.length === 0) return; + + const userId = userProfileStorage.data?.data.id; // also comment storage name + if (userId == null) { + logger.accident?.('sendMessage', 'null_comment_storage', 'User token null, so comment storage in null.'); + this.sendingState = 'failed'; + return; + } + + sendCommentRequest.request({ + queryParameters: {storage: userId}, + bodyJson: { + id: 'auto_increment', + type: 'text', + from: 'user', + text: draftMessage, + }, + }); + }, + + loadingState: 'initial', + + async _onLoadingStateChange(this: CommentListStorage, state: ServerContextState) { + this.logger!.logMethodArgs?.('_onLoadingStateChange', state); + this.loadingState = state; + + const _commentListContext = commentListContext.context; + if (_commentListContext == null) { + // loading or failed + if (this.data.list.length > 0) this.data.list = []; + return; + } + + if (_commentListContext.meta?.lastUpdated === this.data.meta?.lastUpdated) return; // not modified + + this.data.meta = _commentListContext.meta; + this.data.list = Object.values(_commentListContext.data); + this.logger!.logOther?.('_onLoadingStateChange.updated', this.data.meta); + + await untilNextFrame(); // wait to paint + + // scroll $el to end with animation + const chatContainer = document.querySelector('main.overflow-y-scroll'); + chatContainer?.scrollTo({ + top: chatContainer.scrollHeight, + behavior: 'smooth', + }); + }, + + sendingState: 'initial', + + _onSendingStateChange(this: CommentListStorage, state: ServerRequestState) { + this.logger!.logMethodArgs?.('_onSendingStateChange', state); + this.sendingState = state; + + if (state === 'complete') { + this.data.draftMessage = ''; + this.request(); + } + }, + + _onUserProfileStateChange(this: CommentListStorage, state: ServerRequestState) { + if (state !== 'complete') return; + this.logger!.logMethodArgs?.('_onUserProfileStateChange', state); + + if (this.sendingState === 'failed') { + this.sendMessage(); + } + + if (this.loadingState === 'failed' || this.loadingState === 'reloadingFailed') { + this.request(); + } + }, +}; + +export const commentListStorage = defineStore(_commentListStorage); + +commentListContext.subscribe(commentListStorage._onLoadingStateChange.bind(commentListStorage)); +sendCommentRequest.subscribe(commentListStorage._onSendingStateChange.bind(commentListStorage)); +userInfoRequest.subscribe(commentListStorage._onUserProfileStateChange.bind(commentListStorage)); diff --git a/packages/app/site/_ts/lib/store/store.product-list.ts b/packages/app/site/_ts/lib/store/store.product-list.ts new file mode 100644 index 0000000..a67cd9f --- /dev/null +++ b/packages/app/site/_ts/lib/store/store.product-list.ts @@ -0,0 +1,51 @@ +import {logger} from '../config'; +import {defineStore, type StoreConfig} from '../define-store'; +import {productMachine, type ProductMachineState} from '../product-fsm'; + +import type {Product, ProductCategory} from '@alwatr/soffit-order-types'; + +logger.logModule?.('store.product-list'); + +export interface ProductListStorage extends StoreConfig { + data: Record> | null; + loadingState: ProductMachineState; + + request(): void; + get(category: string, productId: string): Product | null; + _onLoadingStateChange(state: ProductMachineState): void; +} + +const productListStorage_: ProductListStorage = { + name: 'productList', + version: 0, + data: null, + + init() { + logger.logMethod?.('init'); + this.request(); + }, + + request() { + return productMachine.request(); + }, + + get(this: ProductListStorage, category: string, productId: string): Product | null { + return productMachine.get(category, productId); + }, + + loadingState: 'initial', + + async _onLoadingStateChange(this: ProductListStorage, state: ProductMachineState) { + this.logger!.logMethodArgs?.('_onLoadingStateChange', state); + this.loadingState = state; + + if (state === 'complete' || state === 'reloading') { + const _productList = productMachine.productRecord; + this.data = _productList; + } + }, +}; + +export const productListStorage = defineStore(productListStorage_); + +productMachine.subscribe(productListStorage._onLoadingStateChange.bind(productListStorage)); diff --git a/packages/app/site/_ts/lib/store/store.user-profile.ts b/packages/app/site/_ts/lib/store/store.user-profile.ts new file mode 100644 index 0000000..488a53b --- /dev/null +++ b/packages/app/site/_ts/lib/store/store.user-profile.ts @@ -0,0 +1,135 @@ +import {waitForIdle} from '@alwatr/wait'; + +import {logger} from '../config'; +import {tokenInfoRequest, userInfoRequest} from '../context/request.user-profile'; +import {defineStore, type StoreConfig} from '../define-store'; +import {clearLocalStorage} from '../global-util'; + +import type {ServerRequestState} from '@alwatr/server-context'; +import type {User} from '@alwatr/soffit-order-types'; +import type {DocumentContext} from '@alwatr/store-engine'; + +logger.logModule?.('store.user'); + +export type signOutAction = 'redirect' | 'reload' | 'none'; + +export interface UserProfileStorage extends StoreConfig { + data: DocumentContext | null; + signInState: ServerRequestState; + + signIn(token?: string, id?: string): void; + signOut(action: signOutAction): void; + require(): boolean; + _onGetTokenInfoStateChange(state: ServerRequestState): void; + _onSignInStateChange(state: ServerRequestState): void; +} + +const _userProfileStorage: UserProfileStorage = { + name: 'userProfile', + version: 0, + + data: null, + + init() { + logger.logMethod?.('init'); + if (this.data?.data.token != null) { + // loaded from localStorage + this.signInState = 'complete'; + + waitForIdle().then(() => { + this.signIn(this.data!.data.token!, this.data!.data.id); // update profile from server + }); + } + }, + + signIn(this: UserProfileStorage, token: string = location.hash.substring(1), id?: string) { + logger.logMethod?.('signIn'); + if (token == null || String(token).trim() === '') { + this.require(); + return; + } + + if (id == null) { + tokenInfoRequest.request({ + headers: { + 'user-token': token, + }, + }); + } + else { + userInfoRequest.request({ + headers: { + 'user-id': id, + 'user-token': token, + }, + }); + } + }, + + signOut(this: UserProfileStorage, action: signOutAction) { + this.logger?.logMethod?.('signOut'); + this.data = null; + this.signInState = 'initial'; + // this.save!(); + clearLocalStorage(); + if (action === 'redirect') { + location.href = '/'; + } + else if (action === 'reload') { + location.reload(); + } + }, + + require(this: UserProfileStorage) { + this.logger?.logMethodArgs?.('require', this.data); + if (this.data?.data.token != null) { + return true; + } + else { + location.href = '/fa/require-sign-in.html'; + return false; + } + }, + + signInState: 'initial', + + _onGetTokenInfoStateChange(this: UserProfileStorage, state: ServerRequestState) { + if (state === 'complete') { + const userId = tokenInfoRequest.response!.data.userId; + userInfoRequest.request({ + headers: { + 'user-id': userId, + 'user-token': tokenInfoRequest.response!.meta.ownerId!, + }, + }); + } + }, + + _onSignInStateChange(this: UserProfileStorage, state: ServerRequestState) { + this.logger?.logMethodArgs?.('_onSignInStateChange', state); + this.signInState = state; + + if (state === 'complete') { + const _userProfile = userInfoRequest.response; + if (_userProfile?.data == null) return; + if (_userProfile.meta.updated === this.data?.meta.updated) return; // not modified + + this.data = { + ..._userProfile, + data: { + ..._userProfile.data, + token: tokenInfoRequest.response!.meta.ownerId!, + }, + }; + this.logger!.logOther?.('_onSignInStateChange.dataUpdated'); + this.save!(); + + location.href = '/'; + } + }, +}; + +export const userProfileStorage = defineStore(_userProfileStorage); + +tokenInfoRequest.subscribe(userProfileStorage._onGetTokenInfoStateChange.bind(userProfileStorage)); +userInfoRequest.subscribe(userProfileStorage._onSignInStateChange.bind(userProfileStorage)); diff --git a/packages/app/site/_ts/lib/type.ts b/packages/app/site/_ts/lib/type.ts deleted file mode 100644 index e69de29..0000000 diff --git a/packages/app/site/_ts/lib/user-fsm.ts b/packages/app/site/_ts/lib/user-fsm.ts new file mode 100644 index 0000000..7834e23 --- /dev/null +++ b/packages/app/site/_ts/lib/user-fsm.ts @@ -0,0 +1,206 @@ +import {FiniteStateMachine, type ActionRecord, type StateRecord} from '@alwatr/fsm'; +import {getLocalStorageItem, setLocalStorageItem} from '@alwatr/util'; + +import {userInfoRequest} from './context/request.user-profile'; +import {clearLocalStorage} from './global-util'; + +import type {User} from '@alwatr/soffit-order-types'; + +declare global { + interface Window { + userMachine: UserFiniteStateMachine; + } +} + +/** + * User finite state machine state. + */ +type UserMachineState = 'notLoggedIn' | 'loggedIn' | 'loginFailed' | 'loginInvalid' | 'loginLoading'; + +/** + * User finite state machine event. + */ +type UserMachineEvent = 'login' | 'logout' | 'login-failed' | 'login-valid' | 'login-invalid'; + +// /** +// * Sign out action. +// */ +// type signOutAction = 'redirect' | 'reload' | 'none'; + +class UserFiniteStateMachine extends FiniteStateMachine { + /** + * Local storage key version. + * + * Increment this number when the local storage key needs to be invalidated. + */ + static readonly version_ = 0; + + /** + * Local storage key. + */ + private localStorageKey__ = `data.${this.name_}.v${UserFiniteStateMachine.version_}`; + + constructor(protected name_: string) { + super({name: name_, initialState: 'notLoggedIn'}); + } + + /** + * User profile. + */ + profile = getLocalStorageItem(this.localStorageKey__, null) as User | null; + + /** + * True Whether the user is logged in. + * + * Check fsm state to be `loggedIn`. + */ + get isLoggedIn() { + return this.state === 'loggedIn'; + } + + /** + * Transition to `login`. + */ + login() { + this.transition('login'); + } + + /** + * Transition to `logout`. + */ + logout() { + this.transition('logout'); + // if (action === 'redirect') { + // location.href = '/'; + // } + // else if (action === 'reload') { + // location.reload(); + // } + } + + /** + * Require login. + * + * If the user is not logged in, redirect to `/fa/require-sign-in.html`. + * If user is logged in and in `/fa/require-sign-in.html`, redirect to `home`. + * + * @returns true if the user is logged in and false otherwise. + */ + requireLogin(): boolean { + const isLoginPageLocation = '/fa/require-sign-in.html'; + if (this.isLoggedIn === false) { + if (location.pathname !== isLoginPageLocation) { + location.href = isLoginPageLocation; + } + + return false; + } + + if (location.pathname === isLoginPageLocation) { + location.href = '/packages' + } + return true; + } + + /** + * Check if the user is super admin. + * + * @returns true if the user is super admin and false otherwise. + */ + get isSuperAdmin(): boolean { + return this.profile?.permissions === 'root'; + } + + + /** + * The state record. + */ + protected override _stateRecord = { + notLoggedIn: { + login: 'loginLoading', + 'login-valid': 'loggedIn', + }, + loginLoading: { + 'login-valid': 'loggedIn', + 'login-invalid': 'loginInvalid', + 'login-failed': 'loginFailed', + }, + loginFailed: { + login: 'loginLoading', + }, + loginInvalid: { + login: 'loginLoading', + }, + loggedIn: { + logout: 'notLoggedIn', + }, + } as StateRecord; + + /** + * The action record. + */ + protected override _actionRecord = { + /** + * Check if the user is logged in from local storage when the fsm is initialized. + * + * If the user is logged in, transition to `login-valid`. + */ + _on_notLoggedIn_enter: () => { + const userProfile = getLocalStorageItem(this.localStorageKey__, null); + if (userProfile !== null) { + this.transition('login-valid'); + } + }, + + /** + * Request user profile for login + * + * If the user profile request is successful, transition to `login-valid`. + * If the user profile request is failed, transition to `login-failed`. + * If the token or user id is invalid, transition to `login-invalid`. + */ + _on_loginLoading_enter: () => { + const userId = location.hash.substring(1).split('/')[0]; + const userToken = location.hash.substring(1).split('/')[1]; + + if (userId == null || userId.trim() === '' || userToken == null || userToken.trim() === '') { + this.transition('login-invalid'); + return; + } + + userInfoRequest.request({ + headers: { + 'user-id': userId, + 'user-token': userToken, + }, + }); + + userInfoRequest.subscribe((state) => { + if (state === 'complete') { + this.transition('login-valid'); + setLocalStorageItem(this.localStorageKey__, userInfoRequest.response!.data); + } + else if (state === 'failed') { + if (userInfoRequest.response?.ok === true) { + this.transition('login-invalid'); + } + else { + this.transition('login-failed'); + } + } + }); + }, + + /** + * Clear local storage to logged out the user. + */ + _on_loggedIn_logout: () => { + clearLocalStorage(); + }, + } as ActionRecord; +} + +export const userMachine = new UserFiniteStateMachine('user-machine'); + +// add to global scope for use in alpine +window.userMachine = userMachine; diff --git a/packages/app/site/_ts/main.ts b/packages/app/site/_ts/main.ts index 897bd54..47dc357 100644 --- a/packages/app/site/_ts/main.ts +++ b/packages/app/site/_ts/main.ts @@ -1,10 +1,22 @@ +/* eslint-disable import/order */ + import alpine from 'alpinejs'; import {logger} from './lib/config'; -import './lib/global-util'; -import './lib/keep-scroll'; -import './lib/type'; -logger.banner('@alwatr/pmpa'); +import './lib/store/store.user-profile'; + +// import './lib/data/data.product-item'; +// import './lib/data/data.product-list'; +// import './lib/global-util'; +// import './lib/keep-scroll'; +// import './lib/product-fsm'; +// import './lib/service-worker'; TODO: implement in pmpa +// import './lib/store/store.comment-list'; +// import './lib/store/store.product-list'; +// import './lib/user-fsm'; + +logger.banner?.('alwatr-pmpa'); +logger.logModule?.('main'); alpine.start(); diff --git a/packages/app/site/fa/fa.11tydata.cjs b/packages/app/site/fa/fa.11tydata.cjs deleted file mode 100644 index 0f94e2e..0000000 --- a/packages/app/site/fa/fa.11tydata.cjs +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = async function () { - return { - stargazers: 1, - }; -}; diff --git a/packages/app/site/fa/home.njk b/packages/app/site/fa/home.njk index f7d3e1f..ecb9dd3 100644 --- a/packages/app/site/fa/home.njk +++ b/packages/app/site/fa/home.njk @@ -1,17 +1,31 @@ --- -title: صفحه اصلی +title: خانه permalink: / +navId: home --- -
- Alwatr PMPA -

- Alwatr PMPA -

-

- {% alwatrIcon "sell:fill", "inline-block" %} v{{pkg.version}}+{{git.shortSha}} -

- -

- Stars count: {{stargazers}} -

+
+
{{ site.title + }}
+ + +
+ +
+ +
diff --git a/packages/app/site/fa/require-sign-in.njk b/packages/app/site/fa/require-sign-in.njk new file mode 100644 index 0000000..1d0f296 --- /dev/null +++ b/packages/app/site/fa/require-sign-in.njk @@ -0,0 +1,39 @@ +--- +title: عدم دسترسی +sitemap: false +--- + +
+ + +
+ {{ title }} +
+
+ +
+
+
+
{% alwatrIcon "lock-closed-outline", "inline-block" %}
+
لطفا با رمز آدرس ارسال شده وارد شوید.
+ {# + {% alwatrIcon "home-outline", "text-[1.125rem]" %} + بازگشت به صفحه اصلی + #} +
+
+
diff --git a/packages/app/site/fa/sign-in.njk b/packages/app/site/fa/sign-in.njk new file mode 100644 index 0000000..5979a4e --- /dev/null +++ b/packages/app/site/fa/sign-in.njk @@ -0,0 +1,114 @@ +--- +title: ورود با رمز آدرس +permalink: /s/ +sitemap: false +--- + +
+ +
+ {{ title }} +
+ + {% alwatrIcon "home-outline" %} + +
+ +
+
+
{% alwatrIcon "finger-print-outline", "inline-block" %}
+
در حال اعتبار سنجی...
+
+ +
+
{% alwatrIcon "finger-print-outline", "inline-block" %}
+ + + + {% alwatrIcon "log-in-outline", "text-[1.125rem]" %} + ورود با رمز آدرس + +
+ +
+
{% alwatrIcon "cloud-offline-outline", "inline-block" %}
+
خطا در اعتبارسنجی رمز آدرس!
+ +
+ +
+
{% alwatrIcon "checkmark-done-outline", "inline-block" %}
+
شما قبلا وارد شده‌اید.
+ + {% alwatrIcon "home-outline", "text-[1.125rem]" %} + بازگشت به صفحه اصلی + +
+ +
+
{% alwatrIcon "swap-horizontal-outline", "inline-block" %}
+
شما قبلا با حساب دیگری وارد شده‌اید!
+ +
+
diff --git a/packages/app/site/fa/users.njk b/packages/app/site/fa/users.njk new file mode 100644 index 0000000..f44961b --- /dev/null +++ b/packages/app/site/fa/users.njk @@ -0,0 +1,45 @@ +--- +title: نمایندگان +--- + +
+
+ {{ title }} +
+ + +
+ +
+
+ + + + + + + + + + + + +
نام و نام خانوادگیاستانشماره همراهابزار
+
+
diff --git a/packages/app/tsconfig.json b/packages/app/tsconfig.json index 92b783f..1147c16 100644 --- a/packages/app/tsconfig.json +++ b/packages/app/tsconfig.json @@ -5,5 +5,6 @@ // "outDir": "dist/es", "noEmit": true, }, - "include": ["site/_ts/**/*.ts"] + "include": ["site/_ts/**/*.ts"], + "references": [{"path": "../types"}] } diff --git a/packages/types/README.md b/packages/types/README.md new file mode 100644 index 0000000..8f797c4 --- /dev/null +++ b/packages/types/README.md @@ -0,0 +1,3 @@ +# Types + +Alwatr Progressive Multi Page (Web) Application types. diff --git a/packages/types/package.json b/packages/types/package.json new file mode 100644 index 0000000..0172926 --- /dev/null +++ b/packages/types/package.json @@ -0,0 +1,60 @@ +{ + "name": "@alwatr/soffit-order-types", + "version": "0.0.0", + "description": "Soffit order TYPES.", + "author": "S. Ali Mihandoost ", + "private": true, + "type": "module", + "main": "./dist/main.cjs", + "module": "./dist/main.mjs", + "types": "./dist/main.d.ts", + "exports": { + ".": { + "import": "./dist/main.mjs", + "require": "./dist/main.cjs", + "types": "./dist/main.d.ts" + } + }, + "license": "MIT", + "engines": { + "node": ">=18.16.0", + "yarn": ">=4.0.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/Alwatr/chemicis", + "directory": "packages/types" + }, + "homepage": "https://github.com/Alwatr/chemicis#readme", + "bugs": { + "url": "https://github.com/Alwatr/chemicis/issues" + }, + "prettier": "@alwatr/prettier-config", + "nano-build-development": { + "sourcemap": true, + "sourcesContent": true + }, + "scripts": { + "b": "yarn run build", + "w": "yarn run watch", + "c": "yarn run clean", + "cb": "yarn run clean && yarn run build", + "d": "yarn run build:es && ALWATR_DEBUG=1 yarn node", + "build": "yarn run build:ts & yarn run build:es", + "build:es": "nano-build --preset=module", + "build:ts": "tsc --build", + "watch": "yarn run watch:ts & yarn run watch:es", + "watch:es": "yarn run build:es --watch", + "watch:ts": "yarn run build:ts --watch --preserveWatchOutput", + "clean": "rm -rfv dist *.tsbuildinfo" + }, + "devDependencies": { + "@alwatr/nano-build": "^1.3.0", + "@alwatr/prettier-config": "^1.0.4", + "@alwatr/tsconfig-base": "^1.1.0", + "@alwatr/type-helper": "^1.0.3", + "@types/node": "^20.11.1", + "esbuild": "^0.19.11", + "typescript": "^5.3.3" + } +} diff --git a/packages/types/src/main.ts b/packages/types/src/main.ts new file mode 100644 index 0000000..48ded90 --- /dev/null +++ b/packages/types/src/main.ts @@ -0,0 +1,246 @@ +/* eslint-disable @typescript-eslint/consistent-type-definitions */ +export type UserAuth = { + id: string; + token: string; + deviceId: string; +} + +// cs type +export const ladingTypeCS = ['hand', 'pallet'] as const; +export type LadingType = (typeof ladingTypeCS)[number]; + +export const carTypeCS = [ + 'trailer_truck', + 'camion_dual', + 'camion_solo', + 'camion_911', + 'camion_800', + 'camion_600', + 'camion_mini', + 'nissan', +] as const; +export type CarType = (typeof carTypeCS)[number]; + +export const timePeriodCS = ['auto', '3_4w', '2_3w', '1_2w'] as const; +export type TimePeriod = (typeof timePeriodCS)[number]; + +export const discountTypeCS = ['number', 'percent'] as const; +export type DiscountType = (typeof discountTypeCS)[number]; + +export const orderStatusCS = [ + 'draft', + 'registered', + 'processing', + 'payment_pending', + 'preparing', + 'shipping', + 'delayed', + 'on_hold', + 'canceled', + 'refunded', +] as const; +export type OrderStatus = (typeof orderStatusCS)[number]; + +export const userPermissionsCS = ['user/post', 'product/post', 'user-list-inc-order/read', 'order-status/patch'] as const; +export type UserPermission = (typeof userPermissionsCS)[number]; + +export const genderCS = ['male', 'female'] as const; +export type Gender = (typeof genderCS)[number]; + +// base types + +/** + * Multi language string + * + * {fa: 'سلام', en: 'hello'} + */ +export type MultiLangStringObj = Record, string>; + +export type Photo = { + /** + * Primary Photo ID + * + * like full relative path (include extension) to image CDN (temporary) + */ + id: string; // path/file-name.png + + /** + * Photo extra meta information for future maintenances + */ + meta?: Record; // meta: {order: 1233, customer: 1334} +} + +export type Product = { + /** + * Product global unique id. + */ + id: string; + + /** + * Product title + */ + title: MultiLangStringObj; + + /** + * Product image + */ + image: Photo; + + /** + * Min order quantity + */ + minOrder: number; + + /** + * Count of product in a box + */ + countInBox: number; + + /** + * Price factor + */ + priceFactor: number; + + /** + * Price for each type of customer. + */ + priceA: number; + priceB: number; + priceC: number; + priceD: number; +} + +export type Order = { + /** + * Order auto incremental unique id. + */ + id: string | number; + + /** + * Order Status + */ + status: OrderStatus; + + /** + * Order cart list. + */ + itemList: { + tile: OrderItem[]; + lighting: OrderItem[]; + connection: OrderItem[]; + }; + + /** + * Delivery info + */ + shippingInfo: Partial; + + // discount: number; + // discountType: DiscountType; + + /** + * The total price of this order exclude shippings. + */ + // subTotalMarket: number; + + // subTotalAgency: number; + + /** + * The cost of lading the order. + */ + // ladingFee: number; + + /** + * The cost of pallet. + */ + // palletCost: number; + + /** + * The cost of shipping price. + */ + // shippingFee: number; + + /** + * Total shipping const. + */ + // totalShippingFee: number; + + sumDisplayPrice?: number; + sumSalePrice?: number; + + /** + * Customer device uuid. + */ + deviceId?: string; + + /** + * Customer device ip address. + */ + remoteAddress?: string; +} + +// -- child types -- + +export type OrderItem = { + /** + * The product id. + */ + productId: string; + + /** + * The selling price of single product in the market. + */ + marketPrice: number; + + /** + * The selling price of a product after any discounts to this buyer. + */ + agencyPrice: number; + + /** + * Quantity of this item. + */ + qty: number; +} + +export type OrderShippingInfo = { + recipientName: string; + recipientNationalCode: string; + address: string; + description: string; + ladingType: LadingType; + carType: CarType; + timePeriod: TimePeriod; +} + +export type BaseUser = { + id: string; + lpe: number; + fullName: string; + phoneNumber: number; + gender: Gender; + country: string; + token?: string; + permissions?: string[] | 'root'; + email?: string; + landlinePhone?: string; + province?: string; + city?: string; + address?: string; + postalCode?: string; +} + +export type User = BaseUser & { + permissions?: UserPermission[] | 'root'; + shopName?: string; + priceListName?: string; +} + +export type TokenInfo = { + userId: string; +} + +/** + * Product category. + */ +export type ProductCategory = 'tile' | 'lighting' | 'connection'; diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json new file mode 100644 index 0000000..5818534 --- /dev/null +++ b/packages/types/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@alwatr/tsconfig-base/tsconfig.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "emitDeclarationOnly": true, + "composite": true, + }, + "include": ["src/**/*.ts"] +} diff --git a/yarn.lock b/yarn.lock index 38fffc0..dd3be83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -142,6 +142,15 @@ __metadata: languageName: node linkType: hard +"@alwatr/async-queue@npm:^1.2.0": + version: 1.2.0 + resolution: "@alwatr/async-queue@npm:1.2.0" + dependencies: + "@alwatr/flatomise": "npm:^1.1.1" + checksum: 7c210754a1c260277c5404d262543c9b2eb906373ca59ad414eff6b64e99baa8503c2cbe916a46085590f27168a9b0ac7be3e0bac13fe30ee486555c22855c32 + languageName: node + linkType: hard + "@alwatr/crypto@npm:^3.0.4": version: 3.0.4 resolution: "@alwatr/crypto@npm:3.0.4" @@ -153,7 +162,7 @@ __metadata: languageName: node linkType: hard -"@alwatr/dedupe@npm:^1.0.2": +"@alwatr/dedupe@npm:^1.0.1, @alwatr/dedupe@npm:^1.0.2": version: 1.0.2 resolution: "@alwatr/dedupe@npm:1.0.2" checksum: 0f6da9dd4138f1104da64823d2511894c1eedceb13000d701664d656c41a14486abccbdbe3ee393519dd3f55c2fbe6c99f35cfaef938f59f8f46ef73629e8161 @@ -175,6 +184,13 @@ __metadata: languageName: node linkType: hard +"@alwatr/exit-hook@npm:^1.0.3": + version: 1.0.4 + resolution: "@alwatr/exit-hook@npm:1.0.4" + checksum: 72f438cd97a23cad5c19ffbcebd7328ea796d83ebe6c2d4140603cfc8fff736e6e5a30380e94fc16494c3f15c700082267bef54027e8daef36c3a5c11b5d51f0 + languageName: node + linkType: hard + "@alwatr/fetch@npm:^2.2.1": version: 2.2.1 resolution: "@alwatr/fetch@npm:2.2.1" @@ -185,6 +201,20 @@ __metadata: languageName: node linkType: hard +"@alwatr/flat-string@npm:^1.0.12, @alwatr/flat-string@npm:^1.0.13": + version: 1.0.13 + resolution: "@alwatr/flat-string@npm:1.0.13" + checksum: cb70e50e3cecec664a510b4f591b753c4a629ea96b937d9a62993941e0ef1e2b4ebd20055b5e97a3f79319cbb1db43021ae2d02140c72c3a3942dc3456f02d17 + languageName: node + linkType: hard + +"@alwatr/flatomise@npm:^1.1.1": + version: 1.1.1 + resolution: "@alwatr/flatomise@npm:1.1.1" + checksum: ad651bdcf01ad1171531b0a8f9205e927b85f07837e3c816271d70fd1035cf41b4fca3958fa90c2bd5560f1eb5e34b30ba8462fecb3b8aecfa884a3d376a231f + languageName: node + linkType: hard + "@alwatr/font@npm:^1.2.0": version: 1.2.0 resolution: "@alwatr/font@npm:1.2.0" @@ -204,6 +234,13 @@ __metadata: languageName: node linkType: hard +"@alwatr/global-scope@npm:^1.1.10": + version: 1.1.10 + resolution: "@alwatr/global-scope@npm:1.1.10" + checksum: a3dfccd81c9a846d60b18576a83a7e6dd09ee716f86e0337329e91f75100146c69292161a37724c10fceaf0528b52db52b65eb0eb8f76d0b0daf53a86171c7a2 + languageName: node + linkType: hard + "@alwatr/i18n@npm:^2.0.3": version: 2.0.3 resolution: "@alwatr/i18n@npm:2.0.3" @@ -223,6 +260,13 @@ __metadata: languageName: node linkType: hard +"@alwatr/icon-set-ionic@npm:^0.4.1": + version: 0.4.1 + resolution: "@alwatr/icon-set-ionic@npm:0.4.1" + checksum: 9e854a79b148ad94b0d4dd7ce373f60064811f181cd48c8d9d373a5cf921acc994c1adcb2adad9fab65bbfbd9a61a193f0fbd9879da01f75c8fb131940da7013 + languageName: node + linkType: hard + "@alwatr/icon-set-material@npm:^2.0.1": version: 2.0.1 resolution: "@alwatr/icon-set-material@npm:2.0.1" @@ -230,6 +274,13 @@ __metadata: languageName: node linkType: hard +"@alwatr/local-storage@npm:^1.0.0": + version: 1.0.0 + resolution: "@alwatr/local-storage@npm:1.0.0" + checksum: ad4e6fa8c8f5fe5f6b51f4ceb66bfc389ca347b35b011f991274541317e2b476fb8b8d334218c7a4b3282ecfe1f7a34b3b45e410e32d18aa4a4851960211eb8c + languageName: node + linkType: hard + "@alwatr/logger@npm:^2.4.1": version: 2.4.1 resolution: "@alwatr/logger@npm:2.4.1" @@ -237,7 +288,7 @@ __metadata: languageName: node linkType: hard -"@alwatr/logger@npm:^3.2.2": +"@alwatr/logger@npm:^3.2.1, @alwatr/logger@npm:^3.2.2": version: 3.2.2 resolution: "@alwatr/logger@npm:3.2.2" dependencies: @@ -256,7 +307,7 @@ __metadata: languageName: node linkType: hard -"@alwatr/nano-build@npm:^1.3.1": +"@alwatr/nano-build@npm:^1.3.0, @alwatr/nano-build@npm:^1.3.1": version: 1.3.1 resolution: "@alwatr/nano-build@npm:1.3.1" dependencies: @@ -278,6 +329,17 @@ __metadata: languageName: node linkType: hard +"@alwatr/node-fs@npm:^1.0.0-beta.0": + version: 1.0.1 + resolution: "@alwatr/node-fs@npm:1.0.1" + dependencies: + "@alwatr/async-queue": "npm:^1.2.0" + "@alwatr/flat-string": "npm:^1.0.13" + "@alwatr/logger": "npm:^3.2.2" + checksum: 35ded35c37e9a45c90d3464ec7cf0953503131292ee5a9763ce3e78c8521e7776fa7b3889caba6e16d1d45e8cb8cd90f2cebed759d0d9d8ed598bd546cc81a9a + languageName: node + linkType: hard + "@alwatr/platform-info@npm:^1.1.2": version: 1.1.2 resolution: "@alwatr/platform-info@npm:1.1.2" @@ -285,9 +347,43 @@ __metadata: languageName: node linkType: hard -"@alwatr/pmpa-api@workspace:packages/api": +"@alwatr/prettier-config@npm:^1.0.4": + version: 1.0.4 + resolution: "@alwatr/prettier-config@npm:1.0.4" + checksum: 3b3a3c24e656497c754190819ea0cefc6b19d4d1261e0a9a804e8233c99bf1e6925301b3b2354176918391fe88649d267b3fefd623d18323924654d599f20826 + languageName: node + linkType: hard + +"@alwatr/server-context@npm:^1.2.6": + version: 1.2.6 + resolution: "@alwatr/server-context@npm:1.2.6" + dependencies: + "@alwatr/fetch": "npm:^2.2.1" + "@alwatr/fsm": "npm:^2.0.5" + "@alwatr/logger": "npm:^2.4.1" + "@alwatr/signal": "npm:^2.0.5" + "@alwatr/type": "npm:^1.2.4" + "@alwatr/util": "npm:^1.4.1" + tslib: "npm:^2.6.2" + checksum: db19103221be28f0ce09658f01bc19a3dfcb77d8a787bf33402366712a98fdf965ca7a37397b2b7cdf900585aa9d46740e36c418ec1e8345709db6a3d3d50808 + languageName: node + linkType: hard + +"@alwatr/signal@npm:^2.0.5": + version: 2.0.5 + resolution: "@alwatr/signal@npm:2.0.5" + dependencies: + "@alwatr/logger": "npm:^2.4.1" + "@alwatr/type": "npm:^1.2.4" + "@alwatr/util": "npm:^1.4.1" + tslib: "npm:^2.6.2" + checksum: 30f24db5740f8a23889444e1416c78efaea4b6177b00c642e82650aecd516e08094df090c2a7d81b7d5d0a270d219520e67aba810b2349ec79b5ab04768bd7d0 + languageName: node + linkType: hard + +"@alwatr/soffit-order-admin-api@workspace:packages/api": version: 0.0.0-use.local - resolution: "@alwatr/pmpa-api@workspace:packages/api" + resolution: "@alwatr/soffit-order-admin-api@workspace:packages/api" dependencies: "@alwatr/crypto": "npm:^3.0.4" "@alwatr/logger": "npm:^3.2.2" @@ -305,45 +401,55 @@ __metadata: languageName: unknown linkType: soft -"@alwatr/pmpa-app@workspace:packages/app": +"@alwatr/soffit-order-admin-app@workspace:packages/app": version: 0.0.0-use.local - resolution: "@alwatr/pmpa-app@workspace:packages/app" + resolution: "@alwatr/soffit-order-admin-app@workspace:packages/app" dependencies: "@11ty/eleventy": "npm:^2.0.1" "@11ty/eleventy-plugin-directory-output": "npm:^1.0.1" "@11ty/eleventy-plugin-rss": "npm:^1.2.0" "@alwatr/fetch": "npm:^2.2.1" "@alwatr/font": "npm:^1.2.0" + "@alwatr/fsm": "npm:^2.0.5" "@alwatr/i18n": "npm:^2.0.3" "@alwatr/icon-set-extra": "npm:^0.4.0" + "@alwatr/icon-set-ionic": "npm:^0.4.1" "@alwatr/icon-set-material": "npm:^2.0.1" - "@alwatr/logger": "npm:^3.2.2" - "@alwatr/nano-build": "npm:^1.3.1" - "@alwatr/platform-info": "npm:^1.1.2" + "@alwatr/local-storage": "npm:^1.0.0" + "@alwatr/logger": "npm:^3.2.1" + "@alwatr/math": "npm:^1.3.1" + "@alwatr/nano-build": "npm:^1.3.0" + "@alwatr/node-fs": "npm:^1.0.0-beta.0" "@alwatr/prettier-config": "npm:^1.0.4" "@alwatr/server-context": "npm:^1.2.6" + "@alwatr/soffit-order-types": "workspace:^" + "@alwatr/store-engine": "npm:^5.1.0" "@alwatr/style": "npm:^2.0.3" - "@alwatr/tsconfig-base": "npm:^1.1.1" + "@alwatr/tsconfig-base": "npm:^1.1.0" + "@alwatr/type": "npm:^1.2.4" + "@alwatr/type-helper": "npm:^1.0.3" "@alwatr/util": "npm:^1.4.1" + "@alwatr/wait": "npm:^1.1.4" "@swc/html": "npm:^0.0.28" "@types/alpinejs": "npm:^3.13.6" + "@types/node": "npm:^20.11.1" "@web/dev-server": "npm:^0.4.1" alpinejs: "npm:^3.13.3" cssnano: "npm:^6.0.3" esbuild: "npm:^0.19.11" - npm-run-all: "npm:^4.1.5" postcss: "npm:^8.4.33" postcss-import: "npm:^16.0.0" postcss-preset-env: "npm:^9.3.0" postcss-variable-compress: "npm:^3.0.0" tailwindcss: "npm:^3.4.1" typescript: "npm:^5.3.3" + workbox-build: "npm:^7.0.0" languageName: unknown linkType: soft -"@alwatr/pmpa-monorepo@workspace:.": +"@alwatr/soffit-order-admin-monorepo@workspace:.": version: 0.0.0-use.local - resolution: "@alwatr/pmpa-monorepo@workspace:." + resolution: "@alwatr/soffit-order-admin-monorepo@workspace:." dependencies: "@alwatr/eslint-config": "npm:^1.0.9" "@alwatr/prettier-config": "npm:^1.0.4" @@ -366,130 +472,1434 @@ __metadata: languageName: unknown linkType: soft -"@alwatr/prettier-config@npm:^1.0.4": - version: 1.0.4 - resolution: "@alwatr/prettier-config@npm:1.0.4" - checksum: 3b3a3c24e656497c754190819ea0cefc6b19d4d1261e0a9a804e8233c99bf1e6925301b3b2354176918391fe88649d267b3fefd623d18323924654d599f20826 +"@alwatr/soffit-order-types@workspace:^, @alwatr/soffit-order-types@workspace:packages/types": + version: 0.0.0-use.local + resolution: "@alwatr/soffit-order-types@workspace:packages/types" + dependencies: + "@alwatr/nano-build": "npm:^1.3.0" + "@alwatr/prettier-config": "npm:^1.0.4" + "@alwatr/tsconfig-base": "npm:^1.1.0" + "@alwatr/type-helper": "npm:^1.0.3" + "@types/node": "npm:^20.11.1" + esbuild: "npm:^0.19.11" + typescript: "npm:^5.3.3" + languageName: unknown + linkType: soft + +"@alwatr/storage-sdk@npm:^4.1.0": + version: 4.1.0 + resolution: "@alwatr/storage-sdk@npm:4.1.0" + dependencies: + "@alwatr/fetch": "npm:^2.2.1" + "@alwatr/logger": "npm:^2.4.1" + checksum: 5b280d5ce407dc38bf67d19df3d6fbdb16b8ed30141e87e927f089c34bba472dfd4c4b252fa64fec85d142e9caea0b3e870bb29846e0a00dd7f8b85d647f935d + languageName: node + linkType: hard + +"@alwatr/store-engine@npm:^5.1.0": + version: 5.1.0 + resolution: "@alwatr/store-engine@npm:5.1.0" + dependencies: + "@alwatr/exit-hook": "npm:^1.0.3" + "@alwatr/flat-string": "npm:^1.0.12" + "@alwatr/logger": "npm:^3.2.1" + "@alwatr/node-fs": "npm:^1.0.0-beta.0" + "@alwatr/store-reference": "npm:^5.1.0" + "@alwatr/store-types": "npm:^5.1.0" + "@alwatr/wait": "npm:^1.1.4" + checksum: ed2e20117f195f8ba71fb1022ea5fca9e55aef6a1a63fe9e4826c87284d296096a93eccb2c04541046884686e80df74159ff5e939015494d3f91bc0749167c8d + languageName: node + linkType: hard + +"@alwatr/store-reference@npm:^5.1.0": + version: 5.1.0 + resolution: "@alwatr/store-reference@npm:5.1.0" + dependencies: + "@alwatr/flat-string": "npm:^1.0.12" + "@alwatr/logger": "npm:^3.2.1" + "@alwatr/store-types": "npm:^5.1.0" + "@alwatr/wait": "npm:^1.1.4" + checksum: c932167a198787e8c01b2bab752316ecc6b86bf48d06203e444f992facbc1b11b6af7f36fa7bbca14bd3273a9bee697b9fd35e305ec6b16b88dfdd180a5bd76a + languageName: node + linkType: hard + +"@alwatr/store-types@npm:^5.1.0": + version: 5.1.0 + resolution: "@alwatr/store-types@npm:5.1.0" + dependencies: + "@alwatr/dedupe": "npm:^1.0.1" + checksum: dcb886217dbdb3907e92a34645358c4b74110e15e1bfe775d356b6ba9f8e5ce61cb0accbdad442fa0dbe848ff9403993f8944424c084c6baf2ff65928aa7b7a9 + languageName: node + linkType: hard + +"@alwatr/style@npm:^2.0.3": + version: 2.0.3 + resolution: "@alwatr/style@npm:2.0.3" + dependencies: + tailwindcss: "npm:^3.3.7" + tslib: "npm:^2.6.2" + checksum: 62393db6b811e3cca05d39256ab34cb83c1cab34e4a1470bf4e9b1aeeb49057a4be3d5d791adee3d7175bdea26c89f811c0a9283c96efa9866045cb0ca643dc8 + languageName: node + linkType: hard + +"@alwatr/tsconfig-base@npm:^1.1.0, @alwatr/tsconfig-base@npm:^1.1.1": + version: 1.1.1 + resolution: "@alwatr/tsconfig-base@npm:1.1.1" + checksum: 98d4232542a5b429aa73885ce5fc698b4fa3aa2e33b27d328ae491d3e348559e1d316b8aa7b999f5c90829816e85bb0149ebfdf7dcd762f2b968306d919aa885 + languageName: node + linkType: hard + +"@alwatr/type-helper@npm:^1.0.3": + version: 1.1.0 + resolution: "@alwatr/type-helper@npm:1.1.0" + checksum: 726ba0032952d742aa0d6de3acecadc76731d4181fe0ee854d1228c5eed2a626a3a40238ace05a0c496265feccb8978d95dad4aad18bcb7bc648a857565d1458 + languageName: node + linkType: hard + +"@alwatr/type@npm:^1.2.4": + version: 1.2.4 + resolution: "@alwatr/type@npm:1.2.4" + checksum: 9835f61a768ea295a062d1ac50b5e935a4b6c0f175f0d37f55b9bd848cf48a0af3bb5633fc31408b636a2966f6c8dce36036d648a51de25c7d76aeacf0f804b3 + languageName: node + linkType: hard + +"@alwatr/util@npm:^1.4.1": + version: 1.4.1 + resolution: "@alwatr/util@npm:1.4.1" + dependencies: + "@alwatr/logger": "npm:^2.4.1" + "@alwatr/math": "npm:^1.3.1" + "@alwatr/type": "npm:^1.2.4" + checksum: 666bfc0880f08527f9cb37a5fb750137f4679cc995ff77bec3ea662f4aca2314a20b67f1deed12d9c5cfb62201fe09405ab351d701160cc55cc7359b549cf657 + languageName: node + linkType: hard + +"@alwatr/wait@npm:^1.1.4": + version: 1.1.5 + resolution: "@alwatr/wait@npm:1.1.5" + dependencies: + "@alwatr/global-scope": "npm:^1.1.10" + checksum: eb67775258c91e3882786e165fac2f1ece5a78216ca42cc55ffa0fd29c88b85fa415b381a74cd9d9ca9329c2158f29a61b221d94bf396849537c8fea04839bf6 + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.0": + version: 2.2.1 + resolution: "@ampproject/remapping@npm:2.2.1" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.0" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: 92ce5915f8901d8c7cd4f4e6e2fe7b9fd335a29955b400caa52e0e5b12ca3796ada7c2f10e78c9c5b0f9c2539dff0ffea7b19850a56e1487aa083531e1e46d43 + languageName: node + linkType: hard + +"@apideck/better-ajv-errors@npm:^0.3.1": + version: 0.3.6 + resolution: "@apideck/better-ajv-errors@npm:0.3.6" + dependencies: + json-schema: "npm:^0.4.0" + jsonpointer: "npm:^5.0.0" + leven: "npm:^3.1.0" + peerDependencies: + ajv: ">=8" + checksum: f89a1e16ecbc2ada91c56d4391c8345471e385f0b9c38d62c3bccac40ec94482cdfa496d4c2fe0af411e9851a9931c0d5042a8040f52213f603ba6b6fd7f949b + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.11, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.3, @babel/compat-data@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/compat-data@npm:7.23.5" + checksum: 081278ed46131a890ad566a59c61600a5f9557bd8ee5e535890c8548192532ea92590742fd74bd9db83d74c669ef8a04a7e1c85cdea27f960233e3b83c3a957c + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.1": + version: 7.23.7 + resolution: "@babel/core@npm:7.23.7" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helpers": "npm:^7.23.7" + "@babel/parser": "npm:^7.23.6" + "@babel/template": "npm:^7.22.15" + "@babel/traverse": "npm:^7.23.7" + "@babel/types": "npm:^7.23.6" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 38c9934973d384ed83369712978453eac91dc3f22167404dbdb272b64f602e74728a6f37012c53ee57e521b8ae2da60097f050497d9b6a212d28b59cdfb2cd1d + languageName: node + linkType: hard + +"@babel/generator@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/generator@npm:7.23.6" + dependencies: + "@babel/types": "npm:^7.23.6" + "@jridgewell/gen-mapping": "npm:^0.3.2" + "@jridgewell/trace-mapping": "npm:^0.3.17" + jsesc: "npm:^2.5.1" + checksum: 53540e905cd10db05d9aee0a5304e36927f455ce66f95d1253bb8a179f286b88fa7062ea0db354c566fe27f8bb96567566084ffd259f8feaae1de5eccc8afbda + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 5a80dc364ddda26b334bbbc0f6426cab647381555ef7d0cd32eb284e35b867c012ce6ce7d52a64672ed71383099c99d32765b3d260626527bb0e3470b0f58e45 + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" + dependencies: + "@babel/types": "npm:^7.22.15" + checksum: 2535e3824ca6337f65786bbac98e562f71699f25532cecd196f027d7698b4967a96953d64e36567956658ad1a05ccbdc62d1ba79ee751c79f4f1d2d3ecc2e01c + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/helper-compilation-targets@npm:7.23.6" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-validator-option": "npm:^7.23.5" + browserslist: "npm:^4.22.2" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.22.15": + version: 7.23.7 + resolution: "@babel/helper-create-class-features-plugin@npm:7.23.7" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-member-expression-to-functions": "npm:^7.23.0" + "@babel/helper-optimise-call-expression": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: f594e99f97211bda5530756712751c1c4ce6063bb376f1f38cc540309a086bd0f4b62aff969ddb29e7310e936c2d3745934a2b292c4710be8112e57fbe3f3381 + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": + version: 7.22.15 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + regexpu-core: "npm:^5.3.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 8eba4c1b7b94a83e7a82df5c3e504584ff0ba6ab8710a67ecc2c434a7fb841a29c2f5c94d2de51f25446119a1df538fa90b37bd570db22ddd5e7147fe98277c6 + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.4.4": + version: 0.4.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.4.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 60126f5f719b9e2114df62e3bf3ac0797b71d8dc733db60192eb169b004fde72ee309fa5848c5fdfe98b8e8863c46f55e16da5aa8a4e420b4d2670cd0c5dd708 + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" + dependencies: + "@babel/template": "npm:^7.22.15" + "@babel/types": "npm:^7.23.0" + checksum: d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428 + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-hoist-variables@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" + dependencies: + "@babel/types": "npm:^7.23.0" + checksum: b810daddf093ffd0802f1429052349ed9ea08ef7d0c56da34ffbcdecbdafac86f95bdea2fe30e0e0e629febc7dd41b56cb5eacc10d1a44336d37b755dac31fa4 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" + dependencies: + "@babel/types": "npm:^7.22.15" + checksum: 4e0d7fc36d02c1b8c8b3006dfbfeedf7a367d3334a04934255de5128115ea0bafdeb3e5736a2559917f0653e4e437400d54542da0468e08d3cbc86d3bbfa8f30 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-simple-access": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/helper-validator-identifier": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 31b41a764fc3c585196cf5b776b70cf4705c132e4ce9723f39871f215f2ddbfb2e28a62f9917610f67c8216c1080482b9b05f65dd195dae2a52cef461f2ac7b8 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.22.5 + resolution: "@babel/helper-plugin-utils@npm:7.22.5" + checksum: d2c4bfe2fa91058bcdee4f4e57a3f4933aed7af843acfd169cd6179fab8d13c1d636474ecabb2af107dc77462c7e893199aa26632bac1c6d7e025a17cbb9d20d + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-wrap-function": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: aa93aa74250b636d477e8d863fbe59d4071f8c2654841b7ac608909e480c1cf3ff7d7af5a4038568829ad09d810bb681668cbe497d9c89ba5c352793dc9edf1e + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-replace-supers@npm:7.22.20" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-member-expression-to-functions": "npm:^7.22.15" + "@babel/helper-optimise-call-expression": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 6b0858811ad46873817c90c805015d63300e003c5a85c147a17d9845fa2558a02047c3cc1f07767af59014b2dd0fa75b503e5bc36e917f360e9b67bb6f1e79f4 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-simple-access@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: f0cf81a30ba3d09a625fd50e5a9069e575c5b6719234e04ee74247057f8104beca89ed03e9217b6e9b0493434cedc18c5ecca4cea6244990836f1f893e140369 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: ab7fa2aa709ab49bb8cd86515a1e715a3108c4bb9a616965ba76b43dc346dee66d1004ccf4d222b596b6224e43e04cbc5c3a34459501b388451f8c589fbc3691 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-wrap-function@npm:7.22.20" + dependencies: + "@babel/helper-function-name": "npm:^7.22.5" + "@babel/template": "npm:^7.22.15" + "@babel/types": "npm:^7.22.19" + checksum: 97b5f42ff4d305318ff2f99a5f59d3e97feff478333b2d893c4f85456d3c66372070f71d7bf9141f598c8cf2741c49a15918193633c427a88d170d98eb8c46eb + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.23.7": + version: 7.23.8 + resolution: "@babel/helpers@npm:7.23.8" + dependencies: + "@babel/template": "npm:^7.22.15" + "@babel/traverse": "npm:^7.23.7" + "@babel/types": "npm:^7.23.6" + checksum: d9fce49278a31aaa017a40c1fcdaa450999c49e33582cce8138058c58b1acbe3a2d2488f010f28e91dedf0d35795ea32f0ee18745bbb6c7f54052ae0fd7e6a3f + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": + version: 7.23.6 + resolution: "@babel/parser@npm:7.23.6" + bin: + parser: ./bin/babel-parser.js + checksum: 6f76cd5ccae1fa9bcab3525b0865c6222e9c1d22f87abc69f28c5c7b2c8816a13361f5bd06bddbd5faf903f7320a8feba02545c981468acec45d12a03db7755e + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 356a4e9fc52d7ca761ce6857fc58e2295c2785d22565760e6a5680be86c6e5883ab86e0ba25ef572882c01713d3a31ae6cfa3e3222cdb95e6026671dab1fa415 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/plugin-transform-optional-chaining": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: a8785f099d55ca71ed89815e0f3a636a80c16031f80934cfec17c928d096ee0798964733320c8b145ef36ba429c5e19d5107b06231e0ab6777cfb0f01adfdc23 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.23.7" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 355746e21ad7f43e4f4daef54cfe2ef461ecd19446b2afedd53c39df1bf9aa2eeeeaabee2279b1321de89a97c9360e4f76e9ba950fee50ff1676c25f6929d625 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7db8b59f75667bada2293353bb66b9d5651a673b22c72f47da9f5c46e719142481601b745f9822212fd7522f92e26e8576af37116f85dae1b5e5967f80d0faab + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 99b40d33d79205a8e04bb5dea56fd72906ffc317513b20ca7319e7683e18fce8ea2eea5e9171056f92b979dc0ab1e31b2cb5171177a5ba61e05b54fe7850a606 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + languageName: node + linkType: hard + +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: b128315c058f5728d29b0b78723659b11de88247ea4d0388f0b935cddf60a80c40b9067acf45cbbe055bd796928faef152a09d9e4a0695465aca4394d9f109ca + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.7" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 63d314edc9fbeaf2700745ca0e19bf9840e87f2d7d1f6c5638e06d2aec3e7418d0d7493ed09087e2fe369cc15e9d96c113fb2cd367cb5e3ff922e3712c27b7d4 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.23.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: da3ffd413eef02a8e2cfee3e0bb0d5fc0fcb795c187bc14a5a8e8874cdbdc43bbf00089c587412d7752d97efc5967c3c18ff5398e3017b9a14a06126f017e7e9 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 82c12a11277528184a979163de7189ceb00129f60dd930b0d5313454310bf71205f302fb2bf0430247161c8a22aaa9fb9eec1459f9f7468206422c191978fd59 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 83006804dddf980ab1bcd6d67bc381e24b58c776507c34f990468f820d0da71dba3697355ca4856532fa2eeb2a1e3e73c780f03760b5507a511cbedb0308e276 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-class-properties@npm:7.23.3" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bca30d576f539eef216494b56d610f1a64aa9375de4134bc021d9660f1fa735b1d7cc413029f22abc0b7cb737e3a57935c8ae9d8bd1730921ccb1deebce51bfd + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-class-static-block@npm:7.23.4" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: fdca96640ef29d8641a7f8de106f65f18871b38cc01c0f7b696d2b49c76b77816b30a812c08e759d06dd10b4d9b3af6b5e4ac22a2017a88c4077972224b77ab0 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.23.8": + version: 7.23.8 + resolution: "@babel/plugin-transform-classes@npm:7.23.8" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 227ac5166501e04d9e7fbd5eda6869b084ffa4af6830ac12544ac6ea14953ca00eb1762b0df9349c0f6c8d2a799385910f558066cd0fb85b9ca437b1131a6043 + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-computed-properties@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/template": "npm:^7.22.15" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3ca8a006f8e652b58c21ecb84df1d01a73f0a96b1d216fd09a890b235dd90cb966b152b603b88f7e850ae238644b1636ce5c30b7c029c0934b43383932372e4a + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-destructuring@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 717e9a62c1b0c93c507f87b4eaf839ec08d3c3147f14d74ae240d8749488d9762a8b3950132be620a069bde70f4b3e4ee9867b226c973fcc40f3cdec975cde71 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6c89286d1277c2a63802a453c797c87c1203f89e4c25115f7b6620f5fce15d8c8d37af613222f6aa497aa98773577a6ec8752e79e13d59bc5429270677ea010b + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 7e2640e4e6adccd5e7b0615b6e9239d7c98363e21c52086ea13759dfa11cf7159b255fc5331c2de435639ea8eb6acefae115ae0d797a3d19d12587652f8052a5 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 19ae4a4a2ca86d35224734c41c48b2aa6a13139f3cfa1cbd18c0e65e461de8b65687dec7e52b7a72bb49db04465394c776aa1b13a2af5dc975b2a0cde3dcab67 + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.23.3" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5c33ee6a1bdc52fcdf0807f445b27e3fbdce33008531885e65a699762327565fffbcfde8395be7f21bcb22d582e425eddae45650c986462bb84ba68f43687516 + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 38bf04f851e36240bbe83ace4169da626524f4107bfb91f05b4ad93a5fb6a36d5b3d30b8883c1ba575ccfc1bac7938e90ca2e3cb227f7b3f4a9424beec6fd4a7 + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/plugin-transform-for-of@npm:7.23.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 46681b6ab10f3ca2d961f50d4096b62ab5d551e1adad84e64be1ee23e72eb2f26a1e30e617e853c74f1349fffe4af68d33921a128543b6f24b6d46c09a3e2aec + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-function-name@npm:7.23.3" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 89cb9747802118048115cf92a8f310752f02030549b26f008904990cbdc86c3d4a68e07ca3b5c46de8a46ed4df2cb576ac222c74c56de67253d2a3ddc2956083 + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-json-strings@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 39e82223992a9ad857722ae051291935403852ad24b0dd64c645ca1c10517b6bf9822377d88643fed8b3e61a4e3f7e5ae41cf90eb07c40a786505d47d5970e54 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 8292106b106201464c2bfdd5c014fe6a9ca1c0256eb0a8031deb20081e21906fe68b156186f77d993c23eeab6d8d6f5f66e8895eec7ed97ce6de5dbcafbcd7f4 + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 87b034dd13143904e405887e6125d76c27902563486efc66b7d9a9d8f9406b76c6ac42d7b37224014af5783d7edb465db0cdecd659fa3227baad0b3a6a35deff + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 687f24f3ec60b627fef6e87b9e2770df77f76727b9d5f54fa4c84a495bb24eb4a20f1a6240fa22d339d45aac5eaeb1b39882e941bfd00cf498f9c53478d1ec88 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-amd@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 9f7ec036f7cfc588833a4dd117a44813b64aa4c1fd5bfb6c78f60198c1d290938213090c93a46f97a68a2490fad909e21a82b2472e95da74d108c125df21c8d5 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-simple-access": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5c8840c5c9ecba39367ae17c973ed13dbc43234147b77ae780eec65010e2a9993c5d717721b23e8179f7cf49decdd325c509b241d69cfbf92aa647a1d8d5a37d + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.3" + dependencies: + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-validator-identifier": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0d55280a276510222c8896bf4e581acb84824aa5b14c824f7102242ad6bc5104aaffe5ab22fe4d27518f4ae2811bd59c36d0c0bfa695157f9cfce33f0517a069 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-umd@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f0d2f890a15b4367d0d8f160bed7062bdb145c728c24e9bfbc1211c7925aae5df72a88df3832c92dd2011927edfed4da1b1249e4c78402e893509316c0c2caa6 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: b0b072bef303670b5a98307bc37d1ac326cb7ad40ea162b89a03c2ffc465451be7ef05be95cb81ed28bfeb29670dc98fe911f793a67bceab18b4cb4c81ef48f3 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-new-target@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f489b9e1f17b42b2ba6312d58351e757cb23a8409f64f2bb6af4c09d015359588a5d68943b20756f141d0931a94431c782f3ed1225228a930a04b07be0c31b04 + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: bce490d22da5c87ff27fffaff6ad5a4d4979b8d7b72e30857f191e9c1e1824ba73bb8d7081166289369e388f94f0ce5383a593b1fc84d09464a062c75f824b0b + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e34902da4f5588dc4812c92cb1f6a5e3e3647baf7b4623e30942f551bf1297621abec4e322ebfa50b320c987c0f34d9eb4355b3d289961d9035e2126e3119c12 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.23.4" + dependencies: + "@babel/compat-data": "npm:^7.23.3" + "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-transform-parameters": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: b56017992ffe7fcd1dd9a9da67c39995a141820316266bcf7d77dc912980d228ccbd3f36191d234f5cc389b09157b5d2a955e33e8fb368319534affd1c72b262 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-object-super@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a6856fd8c0afbe5b3318c344d4d201d009f4051e2f6ff6237ff2660593e93c5997a58772b13d639077c3e29ced3440247b29c496cd77b13af1e7559a70009775 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4ef61812af0e4928485e28301226ce61139a8b8cea9e9a919215ebec4891b9fea2eb7a83dc3090e2679b7d7b2c8653da601fbc297d2addc54a908b315173991e + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.23.3, @babel/plugin-transform-optional-chaining@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 305b773c29ad61255b0e83ec1e92b2f7af6aa58be4cba1e3852bddaa14f7d2afd7b4438f41c28b179d6faac7eb8d4fb5530a17920294f25d459b8f84406bfbfb + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-parameters@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a8d4cbe0f6ba68d158f5b4215c63004fc37a1fdc539036eb388a9792017c8496ea970a1932ccb929308f61e53dc56676ed01d8df6f42bc0a85c7fd5ba82482b7 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-private-methods@npm:7.23.3" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 745a655edcd111b7f91882b921671ca0613079760d8c9befe336b8a9bc4ce6bb49c0c08941831c950afb1b225b4b2d3eaac8842e732db095b04db38efd8c34f4 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.23.4" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 8d31b28f24204b4d13514cd3a8f3033abf575b1a6039759ddd6e1d82dd33ba7281f9bc85c9f38072a665d69bfa26dc40737eefaf9d397b024654a483d2357bf5 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-property-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: b2549f23f90cf276c2e3058c2225c3711c2ad1c417e336d3391199445a9776dd791b83be47b2b9a7ae374b40652d74b822387e31fa5267a37bf49c122e1a9747 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-regenerator@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3b0e989ae5db78894ee300b24e07fbcec490c39ab48629c519377581cf94e90308f4ddc10a8914edc9f403e2d3ac7a7ae0ae09003629d852da03e2ba846299c6 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-reserved-words@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4e6d61f6c9757592661cfbd2c39c4f61551557b98cb5f0995ef10f5540f67e18dde8a42b09716d58943b6e4b7ef5c9bcf19902839e7328a4d49149e0fecdbfcd + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: c423c66fec0b6503f50561741754c84366ef9e9818442c8881fbaa90cc363fd137084b9431cdc00ed2f1fd8c8a1a5982c4a7e1f2af3769db4caf2ac7ea55d4f0 + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-spread@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a348e4ae47e4ceeceb760506ec7bf835ccc18a2cf70ec74ebfbe41bc172fa2412b05b7d1b86836f8aee375e41a04ff20486074778d0e2d19d668b33dc52e9dbb languageName: node linkType: hard -"@alwatr/server-context@npm:^1.2.6": - version: 1.2.6 - resolution: "@alwatr/server-context@npm:1.2.6" +"@babel/plugin-transform-sticky-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.23.3" dependencies: - "@alwatr/fetch": "npm:^2.2.1" - "@alwatr/fsm": "npm:^2.0.5" - "@alwatr/logger": "npm:^2.4.1" - "@alwatr/signal": "npm:^2.0.5" - "@alwatr/type": "npm:^1.2.4" - "@alwatr/util": "npm:^1.4.1" - tslib: "npm:^2.6.2" - checksum: db19103221be28f0ce09658f01bc19a3dfcb77d8a787bf33402366712a98fdf965ca7a37397b2b7cdf900585aa9d46740e36c418ec1e8345709db6a3d3d50808 + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: cd15c407906b41e4b924ea151e455c11274dba050771ee7154ad88a1a274140ac5e84efc8d08c4379f2f0cec8a09e4a0a3b2a3a954ba6a67d9fb35df1c714c56 languageName: node linkType: hard -"@alwatr/signal@npm:^2.0.5": - version: 2.0.5 - resolution: "@alwatr/signal@npm:2.0.5" +"@babel/plugin-transform-template-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-template-literals@npm:7.23.3" dependencies: - "@alwatr/logger": "npm:^2.4.1" - "@alwatr/type": "npm:^1.2.4" - "@alwatr/util": "npm:^1.4.1" - tslib: "npm:^2.6.2" - checksum: 30f24db5740f8a23889444e1416c78efaea4b6177b00c642e82650aecd516e08094df090c2a7d81b7d5d0a270d219520e67aba810b2349ec79b5ab04768bd7d0 + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 9b5f43788b9ffcb8f2b445a16b1aa40fcf23cb0446a4649445f098ec6b4cb751f243a535da623d59fefe48f4c40552f5621187a61811779076bab26863e3373d languageName: node linkType: hard -"@alwatr/storage-sdk@npm:^4.1.0": - version: 4.1.0 - resolution: "@alwatr/storage-sdk@npm:4.1.0" +"@babel/plugin-transform-typeof-symbol@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.23.3" dependencies: - "@alwatr/fetch": "npm:^2.2.1" - "@alwatr/logger": "npm:^2.4.1" - checksum: 5b280d5ce407dc38bf67d19df3d6fbdb16b8ed30141e87e927f089c34bba472dfd4c4b252fa64fec85d142e9caea0b3e870bb29846e0a00dd7f8b85d647f935d + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 50e81d84c6059878be2a0e41e0d790cab10882cfb8fa85e8c2665ccb0b3cd7233f49197f17427bc7c1b36c80e07076640ecf1b641888d78b9cb91bc16478d84a languageName: node linkType: hard -"@alwatr/style@npm:^2.0.3": - version: 2.0.3 - resolution: "@alwatr/style@npm:2.0.3" +"@babel/plugin-transform-unicode-escapes@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.23.3" dependencies: - tailwindcss: "npm:^3.3.7" - tslib: "npm:^2.6.2" - checksum: 62393db6b811e3cca05d39256ab34cb83c1cab34e4a1470bf4e9b1aeeb49057a4be3d5d791adee3d7175bdea26c89f811c0a9283c96efa9866045cb0ca643dc8 + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f1ed54742dc982666f471df5d087cfda9c6dbf7842bec2d0f7893ed359b142a38c0210358f297ab5c7a3e11ec0dfb0e523de2e2edf48b62f257aaadd5f068866 languageName: node linkType: hard -"@alwatr/tsconfig-base@npm:^1.1.1": - version: 1.1.1 - resolution: "@alwatr/tsconfig-base@npm:1.1.1" - checksum: 98d4232542a5b429aa73885ce5fc698b4fa3aa2e33b27d328ae491d3e348559e1d316b8aa7b999f5c90829816e85bb0149ebfdf7dcd762f2b968306d919aa885 +"@babel/plugin-transform-unicode-property-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: dca5702d43fac70351623a12e4dfa454fd028a67498888522b644fd1a02534fabd440106897e886ebcc6ce6a39c58094ca29953b6f51bc67372aa8845a5ae49f languageName: node linkType: hard -"@alwatr/type@npm:^1.2.4": - version: 1.2.4 - resolution: "@alwatr/type@npm:1.2.4" - checksum: 9835f61a768ea295a062d1ac50b5e935a4b6c0f175f0d37f55b9bd848cf48a0af3bb5633fc31408b636a2966f6c8dce36036d648a51de25c7d76aeacf0f804b3 +"@babel/plugin-transform-unicode-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: df824dcca2f6e731f61d69103e87d5dd974d8a04e46e28684a4ba935ae633d876bded09b8db890fd72d0caf7b9638e2672b753671783613cc78d472951e2df8c languageName: node linkType: hard -"@alwatr/util@npm:^1.4.1": - version: 1.4.1 - resolution: "@alwatr/util@npm:1.4.1" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.23.3" dependencies: - "@alwatr/logger": "npm:^2.4.1" - "@alwatr/math": "npm:^1.3.1" - "@alwatr/type": "npm:^1.2.4" - checksum: 666bfc0880f08527f9cb37a5fb750137f4679cc995ff77bec3ea662f4aca2314a20b67f1deed12d9c5cfb62201fe09405ab351d701160cc55cc7359b549cf657 + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 30fe1d29af8395a867d40a63a250ca89072033d9bc7d4587eeebeaf4ad7f776aab83064321bfdb1d09d7e29a1d392852361f4f60a353f0f4d1a3b435dcbf256b + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.11.0": + version: 7.23.8 + resolution: "@babel/preset-env@npm:7.23.8" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-validator-option": "npm:^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.7" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + "@babel/plugin-syntax-import-assertions": "npm:^7.23.3" + "@babel/plugin-syntax-import-attributes": "npm:^7.23.3" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.23.3" + "@babel/plugin-transform-async-generator-functions": "npm:^7.23.7" + "@babel/plugin-transform-async-to-generator": "npm:^7.23.3" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3" + "@babel/plugin-transform-block-scoping": "npm:^7.23.4" + "@babel/plugin-transform-class-properties": "npm:^7.23.3" + "@babel/plugin-transform-class-static-block": "npm:^7.23.4" + "@babel/plugin-transform-classes": "npm:^7.23.8" + "@babel/plugin-transform-computed-properties": "npm:^7.23.3" + "@babel/plugin-transform-destructuring": "npm:^7.23.3" + "@babel/plugin-transform-dotall-regex": "npm:^7.23.3" + "@babel/plugin-transform-duplicate-keys": "npm:^7.23.3" + "@babel/plugin-transform-dynamic-import": "npm:^7.23.4" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.23.3" + "@babel/plugin-transform-export-namespace-from": "npm:^7.23.4" + "@babel/plugin-transform-for-of": "npm:^7.23.6" + "@babel/plugin-transform-function-name": "npm:^7.23.3" + "@babel/plugin-transform-json-strings": "npm:^7.23.4" + "@babel/plugin-transform-literals": "npm:^7.23.3" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.23.4" + "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3" + "@babel/plugin-transform-modules-amd": "npm:^7.23.3" + "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" + "@babel/plugin-transform-modules-systemjs": "npm:^7.23.3" + "@babel/plugin-transform-modules-umd": "npm:^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" + "@babel/plugin-transform-new-target": "npm:^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.23.4" + "@babel/plugin-transform-numeric-separator": "npm:^7.23.4" + "@babel/plugin-transform-object-rest-spread": "npm:^7.23.4" + "@babel/plugin-transform-object-super": "npm:^7.23.3" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.23.4" + "@babel/plugin-transform-optional-chaining": "npm:^7.23.4" + "@babel/plugin-transform-parameters": "npm:^7.23.3" + "@babel/plugin-transform-private-methods": "npm:^7.23.3" + "@babel/plugin-transform-private-property-in-object": "npm:^7.23.4" + "@babel/plugin-transform-property-literals": "npm:^7.23.3" + "@babel/plugin-transform-regenerator": "npm:^7.23.3" + "@babel/plugin-transform-reserved-words": "npm:^7.23.3" + "@babel/plugin-transform-shorthand-properties": "npm:^7.23.3" + "@babel/plugin-transform-spread": "npm:^7.23.3" + "@babel/plugin-transform-sticky-regex": "npm:^7.23.3" + "@babel/plugin-transform-template-literals": "npm:^7.23.3" + "@babel/plugin-transform-typeof-symbol": "npm:^7.23.3" + "@babel/plugin-transform-unicode-escapes": "npm:^7.23.3" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.23.3" + "@babel/plugin-transform-unicode-regex": "npm:^7.23.3" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.7" + babel-plugin-polyfill-corejs3: "npm:^0.8.7" + babel-plugin-polyfill-regenerator: "npm:^0.5.4" + core-js-compat: "npm:^3.31.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: e602ad954645f1a509644e3d2c72b3c63bdc2273c377e7a83b78f076eca215887ea3624ffc36aaad03deb9ac8acd89e247fd4562b96e0f2b679485e20d8ff25f languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.11, @babel/code-frame@npm:^7.21.4": - version: 7.23.5 - resolution: "@babel/code-frame@npm:7.23.5" +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" dependencies: - "@babel/highlight": "npm:^7.23.4" - chalk: "npm:^2.4.2" - checksum: a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/helper-string-parser@npm:7.23.4" - checksum: f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac +"@babel/regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "@babel/regjsgen@npm:0.8.0" + checksum: 4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e +"@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.8.4": + version: 7.23.8 + resolution: "@babel/runtime@npm:7.23.8" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: ba5e8fbb32ef04f6cab5e89c54a0497c2fde7b730595cc1af93496270314f13ff2c6a9360fdb2f0bdd4d6b376752ce3cf85642bd6b876969a6a62954934c2df8 languageName: node linkType: hard -"@babel/highlight@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/highlight@npm:7.23.4" +"@babel/template@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/template@npm:7.22.15" dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - checksum: fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 + "@babel/code-frame": "npm:^7.22.13" + "@babel/parser": "npm:^7.22.15" + "@babel/types": "npm:^7.22.15" + checksum: 9312edd37cf1311d738907003f2aa321a88a42ba223c69209abe4d7111db019d321805504f606c7fd75f21c6cf9d24d0a8223104cd21ebd207e241b6c551f454 languageName: node linkType: hard -"@babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": - version: 7.23.6 - resolution: "@babel/parser@npm:7.23.6" - bin: - parser: ./bin/babel-parser.js - checksum: 6f76cd5ccae1fa9bcab3525b0865c6222e9c1d22f87abc69f28c5c7b2c8816a13361f5bd06bddbd5faf903f7320a8feba02545c981468acec45d12a03db7755e +"@babel/traverse@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/traverse@npm:7.23.7" + dependencies: + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.23.6" + "@babel/types": "npm:^7.23.6" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: e32fceb4249beec2bde83968ddffe17444221c1ee5cd18c543a2feaf94e3ca83f2a4dfbc2dcca87cf226e0105973e0fe3717063a21e982a9de9945615ab3f3f5 languageName: node linkType: hard -"@babel/types@npm:^7.6.1, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": +"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": version: 7.23.6 resolution: "@babel/types@npm:7.23.6" dependencies: @@ -1170,7 +2580,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2": +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": version: 0.3.3 resolution: "@jridgewell/gen-mapping@npm:0.3.3" dependencies: @@ -1195,6 +2605,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.5 + resolution: "@jridgewell/source-map@npm:0.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.0" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: b985d9ebd833a21a6e9ace820c8a76f60345a34d9e28d98497c16b6e93ce1f131bff0abd45f8585f14aa382cce678ed680d628c631b40a9616a19cfbc2049b68 + languageName: node + linkType: hard + "@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" @@ -1202,6 +2622,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.17": + version: 0.3.21 + resolution: "@jridgewell/trace-mapping@npm:0.3.21" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 4ae1c862ca0a12e1fb08ee48bb2fd65667a5258a97cc37a8708ff1e1d6a351e6a1166f2f806a9d9b9680f841da9fbde35fe6bd971eee3bdf1c10ea669ba5707a + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.20 resolution: "@jridgewell/trace-mapping@npm:0.3.20" @@ -1815,6 +3245,39 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-babel@npm:^5.2.0": + version: 5.3.1 + resolution: "@rollup/plugin-babel@npm:5.3.1" + dependencies: + "@babel/helper-module-imports": "npm:^7.10.4" + "@rollup/pluginutils": "npm:^3.1.0" + peerDependencies: + "@babel/core": ^7.0.0 + "@types/babel__core": ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + "@types/babel__core": + optional: true + checksum: 2766134dd5567c0d4fd6909d1f511ce9bf3bd9d727e1bc5ffdd6097a3606faca324107ae8e0961839ee4dbb45e5e579ae601efe472fc0a271259aea79920cafa + languageName: node + linkType: hard + +"@rollup/plugin-node-resolve@npm:^11.2.1": + version: 11.2.1 + resolution: "@rollup/plugin-node-resolve@npm:11.2.1" + dependencies: + "@rollup/pluginutils": "npm:^3.1.0" + "@types/resolve": "npm:1.17.1" + builtin-modules: "npm:^3.1.0" + deepmerge: "npm:^4.2.2" + is-module: "npm:^1.0.0" + resolve: "npm:^1.19.0" + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: a8226b01352ee1f7133b1b59b3906267e11c99020a55e3b7a313e03889f790d1cd94e7f7769d3963261e897c3265082533ba595976f8e3f08cf70aa88bf1ddd7 + languageName: node + linkType: hard + "@rollup/plugin-node-resolve@npm:^15.0.1": version: 15.2.3 resolution: "@rollup/plugin-node-resolve@npm:15.2.3" @@ -1834,6 +3297,31 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-replace@npm:^2.4.1": + version: 2.4.2 + resolution: "@rollup/plugin-replace@npm:2.4.2" + dependencies: + "@rollup/pluginutils": "npm:^3.1.0" + magic-string: "npm:^0.25.7" + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + checksum: ea3d27291c791661638b91809d0247dde1ee71be0b16fa7060078c2700db3669eada2c3978ea979b917b29ebe06f3fddc8797feae554da966264a22142b5771a + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^3.1.0": + version: 3.1.0 + resolution: "@rollup/pluginutils@npm:3.1.0" + dependencies: + "@types/estree": "npm:0.0.39" + estree-walker: "npm:^1.0.1" + picomatch: "npm:^2.2.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 7151753160d15ba2b259461a6c25b3932150994ea52dba8fd3144f634c7647c2e56733d986e2c15de67c4d96a9ee7d6278efa6d2e626a7169898fd64adc0f90c + languageName: node + linkType: hard + "@rollup/pluginutils@npm:^5.0.1": version: 5.1.0 resolution: "@rollup/pluginutils@npm:5.1.0" @@ -2024,6 +3512,18 @@ __metadata: languageName: node linkType: hard +"@surma/rollup-plugin-off-main-thread@npm:^2.2.3": + version: 2.2.3 + resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3" + dependencies: + ejs: "npm:^3.1.6" + json5: "npm:^2.2.0" + magic-string: "npm:^0.25.0" + string.prototype.matchall: "npm:^4.0.6" + checksum: 4f36a7488cdae2907053a48231430e8e9aa8f1903a96131bf8325786afba3224011f9120164cae75043558bd051881050b071958388fe477927d340b1cc1a066 + languageName: node + linkType: hard + "@swc/html-android-arm-eabi@npm:0.0.28": version: 0.0.28 resolution: "@swc/html-android-arm-eabi@npm:0.0.28" @@ -2238,6 +3738,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:0.0.39": + version: 0.0.39 + resolution: "@types/estree@npm:0.0.39" + checksum: f0af6c95ac1988c4827964bd9d3b51d24da442e2188943f6dfcb1e1559103d5d024d564b2e9d3f84c53714a02a0a7435c7441138eb63d9af5de4dfc66cdc0d92 + languageName: node + linkType: hard + "@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" @@ -2359,6 +3866,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^20.11.1": + version: 20.11.5 + resolution: "@types/node@npm:20.11.5" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 6d18cec852f5cfbed3ec42b5c01c026e7a3f9da540d6e3d6738d4cee9979fb308cf27b6df7ba40a6553e7bc82e678f0ef53ba6e6ad52e5b86bd97b7783c2a42c + languageName: node + linkType: hard + "@types/normalize-package-data@npm:^2.4.1": version: 2.4.3 resolution: "@types/normalize-package-data@npm:2.4.3" @@ -2387,6 +3903,15 @@ __metadata: languageName: node linkType: hard +"@types/resolve@npm:1.17.1": + version: 1.17.1 + resolution: "@types/resolve@npm:1.17.1" + dependencies: + "@types/node": "npm:*" + checksum: 6eeb9c27d99bf4b393bf168d43208f63e78cefca5644662a0bdb2bdbf8352386f4f3aca66add138fc41bce5f66fd48a0de430a1473f11b612fbed0375ae78031 + languageName: node + linkType: hard + "@types/resolve@npm:1.20.2": version: 1.20.2 resolution: "@types/resolve@npm:1.20.2" @@ -2422,6 +3947,13 @@ __metadata: languageName: node linkType: hard +"@types/trusted-types@npm:^2.0.2": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c + languageName: node + linkType: hard + "@types/ws@npm:^7.4.0": version: 7.4.7 resolution: "@types/ws@npm:7.4.7" @@ -2713,7 +4245,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.9.0": +"acorn@npm:^8.8.2, acorn@npm:^8.9.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -2760,6 +4292,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.6.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + languageName: node + linkType: hard + "alpinejs@npm:^3.13.3": version: 3.13.3 resolution: "alpinejs@npm:3.13.3" @@ -3069,6 +4613,13 @@ __metadata: languageName: node linkType: hard +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef + languageName: node + linkType: hard + "autoprefixer@npm:^10.4.16": version: 10.4.16 resolution: "autoprefixer@npm:10.4.16" @@ -3094,6 +4645,42 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs2@npm:^0.4.7": + version: 0.4.7 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.7" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.4.4" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: f80f7284ec72c63e7dd751e0bdf25e9978df195a79e0887470603bfdea13ee518d62573cf360bb1bc01b80819e54915dd5edce9cff14c52d0af5f984aa3d36a3 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.8.7": + version: 0.8.7 + resolution: "babel-plugin-polyfill-corejs3@npm:0.8.7" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.4.4" + core-js-compat: "npm:^3.33.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 094e40f4ab9f131408202063964d63740609fd4fdb70a5b6332b371761921b540ffbcee7a434c0199b8317dfb2ba4675eef674867215fd3b85e24054607c1501 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.5.4": + version: 0.5.4 + resolution: "babel-plugin-polyfill-regenerator@npm:0.5.4" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.4.4" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 0b903f5fe2f8c487b4260935dfe60bd9a95bcaee7ae63958f063045093b16d4e8288c232199d411261300aa21f6b106a3cb83c42cc996de013b337f5825a79fe + languageName: node + linkType: hard + "babel-walk@npm:3.0.0-canary-5": version: 3.0.0-canary-5 resolution: "babel-walk@npm:3.0.0-canary-5" @@ -3231,6 +4818,13 @@ __metadata: languageName: node linkType: hard +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + "buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -3241,7 +4835,7 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.3.0": +"builtin-modules@npm:^3.1.0, builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" checksum: 2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a @@ -3607,6 +5201,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + "commander@npm:^4.0.0": version: 4.1.1 resolution: "commander@npm:4.1.1" @@ -3635,6 +5236,13 @@ __metadata: languageName: node linkType: hard +"common-tags@npm:^1.8.0": + version: 1.8.2 + resolution: "common-tags@npm:1.8.2" + checksum: 23efe47ff0a1a7c91489271b3a1e1d2a171c12ec7f9b35b29b2fce51270124aff0ec890087e2bc2182c1cb746e232ab7561aaafe05f1e7452aea733d2bfe3f63 + languageName: node + linkType: hard + "compare-func@npm:^2.0.0": version: 2.0.0 resolution: "compare-func@npm:2.0.0" @@ -3791,6 +5399,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + "cookies@npm:~0.9.0": version: 0.9.1 resolution: "cookies@npm:0.9.1" @@ -3801,6 +5416,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.33.1": + version: 3.35.0 + resolution: "core-js-compat@npm:3.35.0" + dependencies: + browserslist: "npm:^4.22.2" + checksum: 8c4379240b8decb94b21e81d5ba6f768418721061923b28c9dfc97574680c35d778d39c010207402fc7c8308a68a4cf6d5e02bcbcb96e931c52e6e0dce29a68c + languageName: node + linkType: hard + "cosmiconfig@npm:^9.0.0": version: 9.0.0 resolution: "cosmiconfig@npm:9.0.0" @@ -3842,6 +5466,13 @@ __metadata: languageName: node linkType: hard +"crypto-random-string@npm:^2.0.0": + version: 2.0.0 + resolution: "crypto-random-string@npm:2.0.0" + checksum: 288589b2484fe787f9e146f56c4be90b940018f17af1b152e4dde12309042ff5a2bf69e949aab8b8ac253948381529cc6f3e5a2427b73643a71ff177fa122b37 + languageName: node + linkType: hard + "css-blank-pseudo@npm:^6.0.0": version: 6.0.1 resolution: "css-blank-pseudo@npm:6.0.1" @@ -4039,7 +5670,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -4350,7 +5981,7 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.9": +"ejs@npm:^3.1.6, ejs@npm:^3.1.9": version: 3.1.9 resolution: "ejs@npm:3.1.9" dependencies: @@ -4849,6 +6480,13 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^1.0.1": + version: 1.0.1 + resolution: "estree-walker@npm:1.0.1" + checksum: fa9e5f8c1bbe8d01e314c0f03067b64a4f22d4c58410fc5237060d0c15b81e58c23921c41acc60abbdab490f1fdfcbd6408ede2d03ca704454272e0244d61a55 + languageName: node + linkType: hard + "estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" @@ -4941,7 +6579,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0": +"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: 7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b @@ -5136,6 +6774,18 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^9.0.1": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: "npm:^1.0.0" + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 + languageName: node + linkType: hard + "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -5222,6 +6872,13 @@ __metadata: languageName: node linkType: hard +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + "get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" @@ -5241,6 +6898,13 @@ __metadata: languageName: node linkType: hard +"get-own-enumerable-property-symbols@npm:^3.0.0": + version: 3.0.2 + resolution: "get-own-enumerable-property-symbols@npm:3.0.2" + checksum: 103999855f3d1718c631472437161d76962cbddcd95cc642a34c07bfb661ed41b6c09a9c669ccdff89ee965beb7126b80eec7b2101e20e31e9cc6c4725305e10 + languageName: node + linkType: hard + "get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" @@ -5351,7 +7015,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3": +"glob@npm:^7.1.3, glob@npm:^7.1.6": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -5365,6 +7029,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + "globals@npm:^13.19.0": version: 13.24.0 resolution: "globals@npm:13.24.0" @@ -5662,6 +7333,13 @@ __metadata: languageName: node linkType: hard +"idb@npm:^7.0.1": + version: 7.1.1 + resolution: "idb@npm:7.1.1" + checksum: 72418e4397638797ee2089f97b45fc29f937b830bc0eb4126f4a9889ecf10320ceacf3a177fe5d7ffaf6b4fe38b20bbd210151549bfdc881db8081eed41c870d + languageName: node + linkType: hard + "ieee754@npm:^1.1.13": version: 1.2.1 resolution: "ieee754@npm:1.2.1" @@ -6024,6 +7702,13 @@ __metadata: languageName: node linkType: hard +"is-obj@npm:^1.0.1": + version: 1.0.1 + resolution: "is-obj@npm:1.0.1" + checksum: 5003acba0af7aa47dfe0760e545a89bbac89af37c12092c3efadc755372cdaec034f130e7a3653a59eb3c1843cfc72ca71eaf1a6c3bafe5a0bab3611a47f9945 + languageName: node + linkType: hard + "is-obj@npm:^2.0.0": version: 2.0.0 resolution: "is-obj@npm:2.0.0" @@ -6071,6 +7756,13 @@ __metadata: languageName: node linkType: hard +"is-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "is-regexp@npm:1.0.0" + checksum: 34cacda1901e00f6e44879378f1d2fa96320ea956c1bec27713130aaf1d44f6e7bd963eed28945bfe37e600cb27df1cf5207302680dad8bdd27b9baff8ecf611 + languageName: node + linkType: hard + "is-shared-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "is-shared-array-buffer@npm:1.0.2" @@ -6247,6 +7939,17 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^26.2.1": + version: 26.6.2 + resolution: "jest-worker@npm:26.6.2" + dependencies: + "@types/node": "npm:*" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^7.0.0" + checksum: 07e4dba650381604cda253ab6d5837fe0279c8d68c25884995b45bfe149a7a1e1b5a97f304b4518f257dac2a9ddc1808d57d650649c3ab855e9e60cf824d2970 + languageName: node + linkType: hard + "jiti@npm:^1.19.1": version: 1.21.0 resolution: "jiti@npm:1.21.0" @@ -6293,6 +7996,24 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + languageName: node + linkType: hard + +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 + languageName: node + linkType: hard + "json-buffer@npm:3.0.1": version: 3.0.1 resolution: "json-buffer@npm:3.0.1" @@ -6321,10 +8042,24 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-schema@npm:^0.4.0": + version: 0.4.0 + resolution: "json-schema@npm:0.4.0" + checksum: d4a637ec1d83544857c1c163232f3da46912e971d5bf054ba44fdb88f07d8d359a462b4aec46f2745efbc57053365608d88bc1d7b1729f7b4fc3369765639ed3 languageName: node linkType: hard @@ -6360,7 +8095,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.2.3": +"json5@npm:^2.2.0, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -6389,6 +8124,13 @@ __metadata: languageName: node linkType: hard +"jsonpointer@npm:^5.0.0": + version: 5.0.1 + resolution: "jsonpointer@npm:5.0.1" + checksum: 89929e58b400fcb96928c0504fcf4fc3f919d81e9543ceb055df125538470ee25290bb4984251e172e6ef8fcc55761eb998c118da763a82051ad89d4cb073fe7 + languageName: node + linkType: hard + "jstransformer@npm:1.0.0": version: 1.0.0 resolution: "jstransformer@npm:1.0.0" @@ -6530,6 +8272,13 @@ __metadata: languageName: node linkType: hard +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df + languageName: node + linkType: hard + "levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" @@ -6682,6 +8431,13 @@ __metadata: languageName: node linkType: hard +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + "lodash.deburr@npm:^4.1.0": version: 4.1.0 resolution: "lodash.deburr@npm:4.1.0" @@ -6703,6 +8459,13 @@ __metadata: languageName: node linkType: hard +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 + languageName: node + linkType: hard + "lodash.uniq@npm:^4.5.0": version: 4.5.0 resolution: "lodash.uniq@npm:4.5.0" @@ -6710,7 +8473,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.14, lodash@npm:^4.17.21": +"lodash@npm:^4.17.14, lodash@npm:^4.17.20, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c @@ -6734,6 +8497,15 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -6757,6 +8529,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": + version: 0.25.9 + resolution: "magic-string@npm:0.25.9" + dependencies: + sourcemap-codec: "npm:^1.4.8" + checksum: 37f5e01a7e8b19a072091f0b45ff127cda676232d373ce2c551a162dd4053c575ec048b9cbb4587a1f03adb6c5d0fd0dd49e8ab070cd2c83a4992b2182d9cb56 + languageName: node + linkType: hard + "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -8820,6 +10601,13 @@ __metadata: languageName: node linkType: hard +"pretty-bytes@npm:^5.3.0": + version: 5.6.0 + resolution: "pretty-bytes@npm:5.6.0" + checksum: f69f494dcc1adda98dbe0e4a36d301e8be8ff99bfde7a637b2ee2820e7cb583b0fc0f3a63b0e3752c01501185a5cf38602c7be60da41bdf84ef5b70e89c370f3 + languageName: node + linkType: hard + "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -9038,6 +10826,15 @@ __metadata: languageName: node linkType: hard +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + "read-cache@npm:^1.0.0": version: 1.0.0 resolution: "read-cache@npm:1.0.0" @@ -9147,7 +10944,39 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.1": +"regenerate-unicode-properties@npm:^10.1.0": + version: 10.1.1 + resolution: "regenerate-unicode-properties@npm:10.1.1" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 89adb5ee5ba081380c78f9057c02e156a8181969f6fcca72451efc45612e0c3df767b4333f8d8479c274d9c6fe52ec4854f0d8a22ef95dccbe87da8e5f2ac77d + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" + dependencies: + "@babel/runtime": "npm:^7.8.4" + checksum: 7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.1": version: 1.5.1 resolution: "regexp.prototype.flags@npm:1.5.1" dependencies: @@ -9158,6 +10987,31 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^5.3.1": + version: 5.3.2 + resolution: "regexpu-core@npm:5.3.2" + dependencies: + "@babel/regjsgen": "npm:^0.8.0" + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.1.0" + regjsparser: "npm:^0.9.1" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 7945d5ab10c8bbed3ca383d4274687ea825aee4ab93a9c51c6e31e1365edd5ea807f6908f800ba017b66c462944ba68011164e7055207747ab651f8111ef3770 + languageName: node + linkType: hard + +"regjsparser@npm:^0.9.1": + version: 0.9.1 + resolution: "regjsparser@npm:0.9.1" + dependencies: + jsesc: "npm:~0.5.0" + bin: + regjsparser: bin/parser + checksum: fe44fcf19a99fe4f92809b0b6179530e5ef313ff7f87df143b08ce9a2eb3c4b6189b43735d645be6e8f4033bfb015ed1ca54f0583bc7561bed53fd379feb8225 + languageName: node + linkType: hard + "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -9165,6 +11019,13 @@ __metadata: languageName: node linkType: hard +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -9205,7 +11066,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.15.1, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.4": +"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.19.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -9218,7 +11079,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.15.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.15.1#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -9277,6 +11138,34 @@ __metadata: languageName: node linkType: hard +"rollup-plugin-terser@npm:^7.0.0": + version: 7.0.2 + resolution: "rollup-plugin-terser@npm:7.0.2" + dependencies: + "@babel/code-frame": "npm:^7.10.4" + jest-worker: "npm:^26.2.1" + serialize-javascript: "npm:^4.0.0" + terser: "npm:^5.0.0" + peerDependencies: + rollup: ^2.0.0 + checksum: f79b851c6f7b06555d3a8ce7a4e32abd2b7cb8318e89fb8db73e662fa6e3af1a59920e881d111efc65a7437fd9582b61b1f4859b6fd839ba948616829d92432d + languageName: node + linkType: hard + +"rollup@npm:^2.43.1": + version: 2.79.1 + resolution: "rollup@npm:2.79.1" + dependencies: + fsevents: "npm:~2.3.2" + dependenciesMeta: + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 421418687f5dcd7324f4387f203c6bfc7118b7ace789e30f5da022471c43e037a76f5fd93837052754eeeae798a4fb266ac05ccee1e594406d912a59af98dde9 + languageName: node + linkType: hard + "rollup@npm:^4.4.0": version: 4.9.5 resolution: "rollup@npm:4.9.5" @@ -9368,7 +11257,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 @@ -9439,6 +11328,15 @@ __metadata: languageName: node linkType: hard +"serialize-javascript@npm:^4.0.0": + version: 4.0.0 + resolution: "serialize-javascript@npm:4.0.0" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 510dfe7f0311c0b2f7ab06311afa1668ba2969ab2f1faaac0a4924ede76b7f22ba85cfdeaa0052ec5a047bca42c8cd8ac8df8f0efe52f9bd290b3a39ae69fe9d + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -9643,13 +11541,39 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.1": +"source-map-support@npm:~0.5.20": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 languageName: node linkType: hard +"source-map@npm:^0.8.0-beta.0": + version: 0.8.0-beta.0 + resolution: "source-map@npm:0.8.0-beta.0" + dependencies: + whatwg-url: "npm:^7.0.0" + checksum: fb4d9bde9a9fdb2c29b10e5eae6c71d10e09ef467e1afb75fdec2eb7e11fa5b343a2af553f74f18b695dbc0b81f9da2e9fa3d7a317d5985e9939499ec6087835 + languageName: node + linkType: hard + +"sourcemap-codec@npm:^1.4.8": + version: 1.4.8 + resolution: "sourcemap-codec@npm:1.4.8" + checksum: f099279fdaae070ff156df7414bbe39aad69cdd615454947ed3e19136bfdfcb4544952685ee73f56e17038f4578091e12b17b283ed8ac013882916594d95b9e6 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.2.0 resolution: "spdx-correct@npm:3.2.0" @@ -9759,6 +11683,23 @@ __metadata: languageName: node linkType: hard +"string.prototype.matchall@npm:^4.0.6": + version: 4.0.10 + resolution: "string.prototype.matchall@npm:4.0.10" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + get-intrinsic: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.5" + regexp.prototype.flags: "npm:^1.5.0" + set-function-name: "npm:^2.0.0" + side-channel: "npm:^1.0.4" + checksum: cd7495fb0de16d43efeee3887b98701941f3817bd5f09351ad1825b023d307720c86394d56d56380563d97767ab25bf5448db239fcecbb85c28e2180f23e324a + languageName: node + linkType: hard + "string.prototype.padend@npm:^3.0.0": version: 3.1.5 resolution: "string.prototype.padend@npm:3.1.5" @@ -9812,6 +11753,17 @@ __metadata: languageName: node linkType: hard +"stringify-object@npm:^3.3.0": + version: 3.3.0 + resolution: "stringify-object@npm:3.3.0" + dependencies: + get-own-enumerable-property-symbols: "npm:^3.0.0" + is-obj: "npm:^1.0.1" + is-regexp: "npm:^1.0.0" + checksum: ba8078f84128979ee24b3de9a083489cbd3c62cb8572a061b47d4d82601a8ae4b4d86fa8c54dd955593da56bb7c16a6de51c27221fdc6b7139bb4f29d815f35b + languageName: node + linkType: hard + "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -9851,6 +11803,13 @@ __metadata: languageName: node linkType: hard +"strip-comments@npm:^2.0.1": + version: 2.0.1 + resolution: "strip-comments@npm:2.0.1" + checksum: 984321b1ec47a531bdcfddd87f217590934e2d2f142198a080ec88588280239a5b58a81ca780730679b6195e52afef83673c6d6466c07c2277f71f44d7d9553d + languageName: node + linkType: hard + "strip-final-newline@npm:^3.0.0": version: 3.0.0 resolution: "strip-final-newline@npm:3.0.0" @@ -9917,7 +11876,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0": +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -10021,6 +11980,13 @@ __metadata: languageName: node linkType: hard +"temp-dir@npm:^2.0.0": + version: 2.0.0 + resolution: "temp-dir@npm:2.0.0" + checksum: b1df969e3f3f7903f3426861887ed76ba3b495f63f6d0c8e1ce22588679d9384d336df6064210fda14e640ed422e2a17d5c40d901f60e161c99482d723f4d309 + languageName: node + linkType: hard + "temp-dir@npm:^3.0.0": version: 3.0.0 resolution: "temp-dir@npm:3.0.0" @@ -10028,6 +11994,32 @@ __metadata: languageName: node linkType: hard +"tempy@npm:^0.6.0": + version: 0.6.0 + resolution: "tempy@npm:0.6.0" + dependencies: + is-stream: "npm:^2.0.0" + temp-dir: "npm:^2.0.0" + type-fest: "npm:^0.16.0" + unique-string: "npm:^2.0.0" + checksum: ca0882276732d1313b85006b0427620cb4a8d7a57738a2311a72befae60ed152be7d5b41b951dcb447a01a35404bed76f33eb4e37c55263cd7f807eee1187f8f + languageName: node + linkType: hard + +"terser@npm:^5.0.0": + version: 5.26.0 + resolution: "terser@npm:5.26.0" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 3906289c6bacd75804a47a583cdafefbd76c5edb39435369755c7b1592e57586fb2f4bddf6eb37a807d6e782171dbf0aa7bbdc80fd5b77b2f2b62196cac49b62 + languageName: node + linkType: hard + "text-extensions@npm:^2.0.0": version: 2.4.0 resolution: "text-extensions@npm:2.4.0" @@ -10106,6 +12098,15 @@ __metadata: languageName: node linkType: hard +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 + languageName: node + linkType: hard + "tr46@npm:^3.0.0": version: 3.0.0 resolution: "tr46@npm:3.0.0" @@ -10184,6 +12185,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.16.0": + version: 0.16.0 + resolution: "type-fest@npm:0.16.0" + checksum: 6b4d846534e7bcb49a6160b068ffaed2b62570d989d909ac3f29df5ef1e993859f890a4242eebe023c9e923f96adbcb3b3e88a198c35a1ee9a731e147a6839c3 + languageName: node + linkType: hard + "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2" @@ -10354,6 +12362,37 @@ __metadata: languageName: node linkType: hard +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" + checksum: 0fe812641bcfa3ae433025178a64afb5d9afebc21a922dafa7cba971deebb5e4a37350423890750132a85c936c290fb988146d0b1bd86838ad4897f4fc5bd0de + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.1.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" + checksum: f5b9499b9e0ffdc6027b744d528f17ec27dd7c15da03254ed06851feec47e0531f20d410910c8a49af4a6a190f4978413794c8d75ce112950b56d583b5d5c7f2 + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + languageName: node + linkType: hard + "unicorn-magic@npm:^0.1.0": version: 0.1.0 resolution: "unicorn-magic@npm:0.1.0" @@ -10379,6 +12418,15 @@ __metadata: languageName: node linkType: hard +"unique-string@npm:^2.0.0": + version: 2.0.0 + resolution: "unique-string@npm:2.0.0" + dependencies: + crypto-random-string: "npm:^2.0.0" + checksum: 11820db0a4ba069d174bedfa96c588fc2c96b083066fafa186851e563951d0de78181ac79c744c1ed28b51f9d82ac5b8196ff3e4560d0178046ef455d8c2244b + languageName: node + linkType: hard + "universal-user-agent@npm:^6.0.0": version: 6.0.1 resolution: "universal-user-agent@npm:6.0.1" @@ -10400,6 +12448,13 @@ __metadata: languageName: node linkType: hard +"upath@npm:^1.2.0": + version: 1.2.0 + resolution: "upath@npm:1.2.0" + checksum: 3746f24099bf69dbf8234cecb671e1016e1f6b26bd306de4ff8966fb0bc463fa1014ffc48646b375de1ab573660e3a0256f6f2a87218b2dfa1779a84ef6992fa + languageName: node + linkType: hard + "upath@npm:^2.0.1": version: 2.0.1 resolution: "upath@npm:2.0.1" @@ -10502,6 +12557,13 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f + languageName: node + linkType: hard + "webidl-conversions@npm:^7.0.0": version: 7.0.0 resolution: "webidl-conversions@npm:7.0.0" @@ -10519,6 +12581,17 @@ __metadata: languageName: node linkType: hard +"whatwg-url@npm:^7.0.0": + version: 7.1.0 + resolution: "whatwg-url@npm:7.1.0" + dependencies: + lodash.sortby: "npm:^4.7.0" + tr46: "npm:^1.0.1" + webidl-conversions: "npm:^4.0.2" + checksum: 2785fe4647690e5a0225a79509ba5e21fdf4a71f9de3eabdba1192483fe006fc79961198e0b99f82751557309f17fc5a07d4d83c251aa5b2f85ba71e674cbee9 + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -10613,6 +12686,196 @@ __metadata: languageName: node linkType: hard +"workbox-background-sync@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-background-sync@npm:7.0.0" + dependencies: + idb: "npm:^7.0.1" + workbox-core: "npm:7.0.0" + checksum: 91eb064c608cfb4cf7aa4f062215d8217a99b93d67c4ae571e5abdda1b020c5ab45c7bddab99cb77d334aae8d259f0fe91b7c42ee6e7ad10db32b4a971991489 + languageName: node + linkType: hard + +"workbox-broadcast-update@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-broadcast-update@npm:7.0.0" + dependencies: + workbox-core: "npm:7.0.0" + checksum: 3c3a6e1e72c19d2971d187297b99b242f304b1ec442f6f1ec84ea9c6e125dc01cd626d51e6ecf1c8d89226e6a286dccaa9f950bd5ef6183518af10ba0f4f524e + languageName: node + linkType: hard + +"workbox-build@npm:^7.0.0": + version: 7.0.0 + resolution: "workbox-build@npm:7.0.0" + dependencies: + "@apideck/better-ajv-errors": "npm:^0.3.1" + "@babel/core": "npm:^7.11.1" + "@babel/preset-env": "npm:^7.11.0" + "@babel/runtime": "npm:^7.11.2" + "@rollup/plugin-babel": "npm:^5.2.0" + "@rollup/plugin-node-resolve": "npm:^11.2.1" + "@rollup/plugin-replace": "npm:^2.4.1" + "@surma/rollup-plugin-off-main-thread": "npm:^2.2.3" + ajv: "npm:^8.6.0" + common-tags: "npm:^1.8.0" + fast-json-stable-stringify: "npm:^2.1.0" + fs-extra: "npm:^9.0.1" + glob: "npm:^7.1.6" + lodash: "npm:^4.17.20" + pretty-bytes: "npm:^5.3.0" + rollup: "npm:^2.43.1" + rollup-plugin-terser: "npm:^7.0.0" + source-map: "npm:^0.8.0-beta.0" + stringify-object: "npm:^3.3.0" + strip-comments: "npm:^2.0.1" + tempy: "npm:^0.6.0" + upath: "npm:^1.2.0" + workbox-background-sync: "npm:7.0.0" + workbox-broadcast-update: "npm:7.0.0" + workbox-cacheable-response: "npm:7.0.0" + workbox-core: "npm:7.0.0" + workbox-expiration: "npm:7.0.0" + workbox-google-analytics: "npm:7.0.0" + workbox-navigation-preload: "npm:7.0.0" + workbox-precaching: "npm:7.0.0" + workbox-range-requests: "npm:7.0.0" + workbox-recipes: "npm:7.0.0" + workbox-routing: "npm:7.0.0" + workbox-strategies: "npm:7.0.0" + workbox-streams: "npm:7.0.0" + workbox-sw: "npm:7.0.0" + workbox-window: "npm:7.0.0" + checksum: a090aeee836f59d42ca9eda8b82aa5a0ee8f4ce3f3095b6fcbe157a9a154c492e4ba86b5c4d6aa50ef7c37ea1c38c965442b56d1404911fd0351d0fc9a859a3c + languageName: node + linkType: hard + +"workbox-cacheable-response@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-cacheable-response@npm:7.0.0" + dependencies: + workbox-core: "npm:7.0.0" + checksum: ddf123b3461070e215af51d88c672f3302b540b93ecf61ad5f3853f0a997194973eedb2c9ed21e849b7419f68804ef8a8d876dced3836a7eb2c697099e3d408f + languageName: node + linkType: hard + +"workbox-core@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-core@npm:7.0.0" + checksum: aaaf7b66978456bf5d6a90b1068b5acd82bf451f4a23c5a416201524b50ea4e0bc62a01365499bc088b4c18cddc513fdebbe8b048ab15aff960fe7cbbf55d5bd + languageName: node + linkType: hard + +"workbox-expiration@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-expiration@npm:7.0.0" + dependencies: + idb: "npm:^7.0.1" + workbox-core: "npm:7.0.0" + checksum: 990a6c2c9b177d796c012b0112913621e41b283e2736d83acb58cb9645591ddc7a6aef585145c5686f9b071d73ce12b4b1887765754624322545b0f4125d649f + languageName: node + linkType: hard + +"workbox-google-analytics@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-google-analytics@npm:7.0.0" + dependencies: + workbox-background-sync: "npm:7.0.0" + workbox-core: "npm:7.0.0" + workbox-routing: "npm:7.0.0" + workbox-strategies: "npm:7.0.0" + checksum: 7656ab4bff15fbcbc7f546d86628ccbc74736a99139ec70a166c465fc4ff59656aecd44cc0aef45b4690fd88a4980d6c9f27ce8c6606fd12d026162259a8069d + languageName: node + linkType: hard + +"workbox-navigation-preload@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-navigation-preload@npm:7.0.0" + dependencies: + workbox-core: "npm:7.0.0" + checksum: f29ac8364c7f7f392daa1f886134adc780057199b218ab6c6eef298841b8825d6cbc4bc88e655299929bdf14c700edfb9f217ca5c0b46094627247528f655011 + languageName: node + linkType: hard + +"workbox-precaching@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-precaching@npm:7.0.0" + dependencies: + workbox-core: "npm:7.0.0" + workbox-routing: "npm:7.0.0" + workbox-strategies: "npm:7.0.0" + checksum: 1b47cb151bb6ec7442b2dc8981203feff22527a4383510f2399730338b620ef0d03076bd3dbc1eb9a05272d5d6f4803fb4262f320bf5645f0818981e91077f39 + languageName: node + linkType: hard + +"workbox-range-requests@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-range-requests@npm:7.0.0" + dependencies: + workbox-core: "npm:7.0.0" + checksum: 909f0ed7a176e5dc55692792825e67b577dacf1015a3f3775389fcec34ff5b3441b15595109455fe226f0bc4dce4789a7c86e5e9c5963c13b4d6482f6d01d44f + languageName: node + linkType: hard + +"workbox-recipes@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-recipes@npm:7.0.0" + dependencies: + workbox-cacheable-response: "npm:7.0.0" + workbox-core: "npm:7.0.0" + workbox-expiration: "npm:7.0.0" + workbox-precaching: "npm:7.0.0" + workbox-routing: "npm:7.0.0" + workbox-strategies: "npm:7.0.0" + checksum: c024141f24b0778355bdfbfe2b4a24a3f74e279f6f7541635758533e79318e15986f9f556a899c97717a9c25a1738d9e112d17dd36aa19cebf901462ebeeb8e4 + languageName: node + linkType: hard + +"workbox-routing@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-routing@npm:7.0.0" + dependencies: + workbox-core: "npm:7.0.0" + checksum: 74ad651a0643506cfd3ca51eee754f5fe34e3f1460e6b772ed213e0422028cf002d70f91da32d13261bc5ee2160527ffb5436ac209fdbe8d0e7071784aa65190 + languageName: node + linkType: hard + +"workbox-strategies@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-strategies@npm:7.0.0" + dependencies: + workbox-core: "npm:7.0.0" + checksum: 4fe122b80e547b347bedf187aeb2c2eb34efc3fbde2733b7709530cccb6b6e03b29adcbccecf301e4fcaad0d5cd4a74e1e704f769d949c32439dca358130a613 + languageName: node + linkType: hard + +"workbox-streams@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-streams@npm:7.0.0" + dependencies: + workbox-core: "npm:7.0.0" + workbox-routing: "npm:7.0.0" + checksum: 9a1a9b8200f5b315523ac49c61a9b88791009377bbdedd44cf19c4b2258e710bd2fbc6f74ef53b72db7849da7ce9965ced5983f167785ccfc7efa1df761e3371 + languageName: node + linkType: hard + +"workbox-sw@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-sw@npm:7.0.0" + checksum: 06d9713398ca92d8b2cad70a7d302825ec7650e05e2e0c8e68f453442fdf9a9227350c856484f7b649df6cb429cc03a103f8ecd9596e83bfa52e845bf25ffbcd + languageName: node + linkType: hard + +"workbox-window@npm:7.0.0": + version: 7.0.0 + resolution: "workbox-window@npm:7.0.0" + dependencies: + "@types/trusted-types": "npm:^2.0.2" + workbox-core: "npm:7.0.0" + checksum: 8070fb80734a8543248ed6e3b186b8d3ee64419400a6d6d75f78809c44bf16321c5d9739bdf60ee62f631461ebb67a8a7dd78192504678d00bf2a9d3683f1324 + languageName: node + linkType: hard + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -10737,6 +13000,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0"