diff --git a/api/card.js b/api/card.js
new file mode 100644
index 0000000..d0d2385
--- /dev/null
+++ b/api/card.js
@@ -0,0 +1,39 @@
+import request from '../utils/request'
+
+// card 卡片模块
+
+// 获取卡片列表
+export function getCardList(data) {
+ return request({
+ url: '/identityCard/list',
+ method: 'POST',
+ data
+ })
+}
+
+// 删除卡片
+export function deleteCardRequest(data) {
+ return request({
+ url: '/identityCard/delete',
+ method: 'POST',
+ data
+ })
+}
+
+// 检查卡片名称是否重复
+export function checkCardNameRequest(data) {
+ return request({
+ url: '/identityCard/checkIdentityCardName',
+ method: 'POST',
+ data
+ })
+}
+
+// 添加卡片
+export function addCardRequest(data) {
+ return request({
+ url: '/identityCard/add',
+ method: 'POST',
+ data
+ })
+}
diff --git a/api/fingerprint.js b/api/fingerprint.js
new file mode 100644
index 0000000..3876683
--- /dev/null
+++ b/api/fingerprint.js
@@ -0,0 +1,39 @@
+import request from '../utils/request'
+
+// fingerprint 指纹模块
+
+// 获取指纹列表
+export function getFingerprintList(data) {
+ return request({
+ url: '/fingerprint/list',
+ method: 'POST',
+ data
+ })
+}
+
+// 删除指纹
+export function deleteFingerprintRequest(data) {
+ return request({
+ url: '/fingerprint/delete',
+ method: 'POST',
+ data
+ })
+}
+
+// 检查指纹名称是否重复
+export function checkFingerprintNameRequest(data) {
+ return request({
+ url: '/fingerprint/checkFingerprintName',
+ method: 'POST',
+ data
+ })
+}
+
+// 添加指纹
+export function addFingerprintRequest(data) {
+ return request({
+ url: '/fingerprint/add',
+ method: 'POST',
+ data
+ })
+}
diff --git a/components/LockSwitch/LockSwitch.vue b/components/LockSwitch/LockSwitch.vue
new file mode 100644
index 0000000..f23e8a1
--- /dev/null
+++ b/components/LockSwitch/LockSwitch.vue
@@ -0,0 +1,48 @@
+
+
+
+ {{ title }}
+
+
+ {{ placeholder }}
+
+
+
+
+
+
diff --git a/main.js b/main.js
index 3b61e4d..01c2f92 100644
--- a/main.js
+++ b/main.js
@@ -1,6 +1,7 @@
import * as Pinia from 'pinia'
import { createSSRApp } from 'vue'
import { createUnistorage } from 'pinia-plugin-unistorage'
+import 'uno.css'
import uviewPlus, { setConfig } from 'uview-plus'
import App from './App'
diff --git a/package-lock.json b/package-lock.json
index 0d3eafb..5b5f008 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,11 +10,6 @@
"pinia": "^2.2.0",
"pinia-plugin-unistorage": "^0.1.2",
"sm-crypto": "^0.3.13",
- "star-cloud-uni": "file:../starCloud",
- "stylelint": "^16.14.1",
- "stylelint-config-recess-order": "^6.0.0",
- "stylelint-config-recommended-scss": "^14.1.0",
- "stylelint-config-standard": "^37.0.0",
"uview-plus": "^3.3.12"
},
"devDependencies": {
@@ -31,12 +26,19 @@
"husky": "^9.1.7",
"lint-staged": "^15.4.3",
"prettier": "^3.4.2",
+ "stylelint": "^16.14.1",
+ "stylelint-config-recess-order": "^6.0.0",
+ "stylelint-config-recommended-scss": "^14.1.0",
+ "stylelint-config-standard": "^37.0.0",
+ "unocss": "^65.4.3",
+ "unocss-preset-weapp": "^65.4.1",
"vite-plugin-eslint": "^1.8.1"
}
},
"../starCloud": {
"name": "star-cloud-uni",
"version": "1.0.4",
+ "extraneous": true,
"dependencies": {
"buffer": "^6.0.3",
"crc": "^4.3.2",
@@ -48,10 +50,49 @@
"javascript-obfuscator": "^4.1.1"
}
},
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@antfu/install-pkg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/@antfu/install-pkg/-/install-pkg-1.0.0.tgz",
+ "integrity": "sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "package-manager-detector": "^0.2.8",
+ "tinyexec": "^0.3.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@antfu/utils": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-8.1.0.tgz",
+ "integrity": "sha512-XPR7Jfwp0FFl/dFYPX8ZjpmU4/1mIXTjnZ1ba48BLMyKOV62/tiRjdsFcPs2hsYcSud4tzk7w3a3LjX8Fu3huA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
"node_modules/@babel/code-frame": {
"version": "7.26.2",
"resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz",
"integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.25.9",
@@ -62,6 +103,16 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-validator-identifier": {
"version": "7.25.9",
"resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
@@ -71,6 +122,36 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/parser": {
+ "version": "7.26.7",
+ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.7.tgz",
+ "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/types": "^7.26.7"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.26.7",
+ "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.7.tgz",
+ "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@commitlint/cli": {
"version": "19.7.1",
"resolved": "https://registry.npmmirror.com/@commitlint/cli/-/cli-19.7.1.tgz",
@@ -507,6 +588,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmmirror.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz",
"integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -529,6 +611,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz",
"integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -548,6 +631,7 @@
"version": "4.0.2",
"resolved": "https://registry.npmmirror.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz",
"integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -571,6 +655,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
"integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==",
+ "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -590,7 +675,6 @@
"os": [
"aix"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -608,7 +692,6 @@
"os": [
"android"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -626,7 +709,6 @@
"os": [
"android"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -644,7 +726,6 @@
"os": [
"android"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -662,7 +743,6 @@
"os": [
"darwin"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -680,7 +760,6 @@
"os": [
"darwin"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -698,7 +777,6 @@
"os": [
"freebsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -716,7 +794,6 @@
"os": [
"freebsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -734,7 +811,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -752,7 +828,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -770,7 +845,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -788,7 +862,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -806,7 +879,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -824,7 +896,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -842,7 +913,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -860,7 +930,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -878,7 +947,6 @@
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -896,7 +964,6 @@
"os": [
"netbsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -914,7 +981,6 @@
"os": [
"netbsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -932,7 +998,6 @@
"os": [
"openbsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -950,7 +1015,6 @@
"os": [
"openbsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -968,7 +1032,6 @@
"os": [
"sunos"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -986,7 +1049,6 @@
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -1004,7 +1066,6 @@
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -1022,7 +1083,6 @@
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -1128,19 +1188,123 @@
"dev": true,
"license": "BSD-3-Clause"
},
+ "node_modules/@iconify/types": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz",
+ "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@iconify/utils": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/@iconify/utils/-/utils-2.3.0.tgz",
+ "integrity": "sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@antfu/install-pkg": "^1.0.0",
+ "@antfu/utils": "^8.1.0",
+ "@iconify/types": "^2.0.0",
+ "debug": "^4.4.0",
+ "globals": "^15.14.0",
+ "kolorist": "^1.8.0",
+ "local-pkg": "^1.0.0",
+ "mlly": "^1.7.4"
+ }
+ },
+ "node_modules/@iconify/utils/node_modules/globals": {
+ "version": "15.14.0",
+ "resolved": "https://registry.npmmirror.com/globals/-/globals-15.14.0.tgz",
+ "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
"node_modules/@keyv/serialize": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/@keyv/serialize/-/serialize-1.0.2.tgz",
"integrity": "sha512-+E/LyaAeuABniD/RvUezWVXKpeuvwLEA9//nE9952zBaOdBd2mQ3pPoM8cUe2X6IcMByfuSLzmYqnYshG60+HQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"buffer": "^6.0.3"
}
},
+ "node_modules/@meoc/utils": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmmirror.com/@meoc/utils/-/utils-0.2.9.tgz",
+ "integrity": "sha512-vBSOxdzsb5Foyd+qqi+50O5J2rZWZrLqj4dJXatqcQlW5xnHXaZnVmakptoqH4tc+YjpZW37zzVXpD3PQ57rSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dayjs": "^1.11.13"
+ },
+ "funding": {
+ "url": "https://github.com/MellowCo/utils"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
@@ -1154,6 +1318,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
@@ -1163,6 +1328,7 @@
"version": "1.2.8",
"resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
@@ -1185,6 +1351,13 @@
"url": "https://opencollective.com/unts"
}
},
+ "node_modules/@polka/url": {
+ "version": "1.0.0-next.28",
+ "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.28.tgz",
+ "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@rollup/pluginutils": {
"version": "4.2.1",
"resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
@@ -1550,10 +1723,540 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/@unocss/astro": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/astro/-/astro-65.4.3.tgz",
+ "integrity": "sha512-yhPKH4CT2CFjvKR8lL6oS/7jarMWp4iSnYcNlTlZLmvTIS3dGxyhAsVy/xkdzdJ6sM+6FS0hUuQNv+NYvArRNg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "@unocss/reset": "65.4.3",
+ "@unocss/vite": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@unocss/cli": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/cli/-/cli-65.4.3.tgz",
+ "integrity": "sha512-pZESqf5tS5AjATkAP11M0ecIiias0//nir7MgUQLs/v2GX0x7K0KhVTJ50TiFePff0TnwTHheDNJGR3gesDiVg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.3.0",
+ "@rollup/pluginutils": "^5.1.4",
+ "@unocss/config": "65.4.3",
+ "@unocss/core": "65.4.3",
+ "@unocss/preset-uno": "65.4.3",
+ "cac": "^6.7.14",
+ "chokidar": "^3.6.0",
+ "colorette": "^2.0.20",
+ "consola": "^3.4.0",
+ "magic-string": "^0.30.17",
+ "pathe": "^2.0.2",
+ "perfect-debounce": "^1.0.0",
+ "tinyglobby": "^0.2.10"
+ },
+ "bin": {
+ "unocss": "bin/unocss.mjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/cli/node_modules/@rollup/pluginutils": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
+ "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@unocss/cli/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/@unocss/config": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/config/-/config-65.4.3.tgz",
+ "integrity": "sha512-Z3tnQ10UjM09Y1yVqfCYfZEh2pXFQlUQ1g188mMWxjXWEIXeei3f9dIApRBgC+xcPE6prqdu3fDC5emU+sqyxw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "unconfig": "~0.6.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/core": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/core/-/core-65.4.3.tgz",
+ "integrity": "sha512-luFgdcchSlNrYSaDvU2176T2PPQZdxqfREVbxEXNXlFEgyEFrx5hOSUXoJtJSZjRhAcE6zkWyLDf/JkQJ5Eeyw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/extractor-arbitrary-variants": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/extractor-arbitrary-variants/-/extractor-arbitrary-variants-65.4.3.tgz",
+ "integrity": "sha512-RhSOOzOxkNjJl9zeglaBe0U+o39jleCCNPWJ87DDJA3ckbyylIIf21ZwY1Xu76rmdar5DT9ob7ucuPfEpJLN9A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/inspector": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/inspector/-/inspector-65.4.3.tgz",
+ "integrity": "sha512-mj3K0WtnP0DuonQPzxkXhLMBU5qi13dpxaJcEOSv+EBMPlJbww0bj7K7uaFqXv8LPufs/hkQzI9yjOrEzR5WBQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "@unocss/rule-utils": "65.4.3",
+ "colorette": "^2.0.20",
+ "gzip-size": "^6.0.0",
+ "sirv": "^3.0.0",
+ "vue-flow-layout": "^0.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/postcss": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/postcss/-/postcss-65.4.3.tgz",
+ "integrity": "sha512-ZHlWfArfhhWBVhUeAETrtnD7nhqpfXv5muGrJCSDHmjgFJX8jtDa6rf52ICCFWEOe8p2dku7o27o26pGXYTYJg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/config": "65.4.3",
+ "@unocss/core": "65.4.3",
+ "@unocss/rule-utils": "65.4.3",
+ "css-tree": "^3.1.0",
+ "postcss": "^8.5.1",
+ "tinyglobby": "^0.2.10"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.21"
+ }
+ },
+ "node_modules/@unocss/preset-attributify": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/preset-attributify/-/preset-attributify-65.4.3.tgz",
+ "integrity": "sha512-kN8levkt+BwzzWKA6glthasuFt/Cplc70oxzAYd/gZcosxwDK5+MmxjGDG5aLLu2PA58tPHUZ+ltW/QG5BM+Xw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-icons": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/preset-icons/-/preset-icons-65.4.3.tgz",
+ "integrity": "sha512-g1WNamvYOIdD8YAOvZ5h4g3peel3rLTtKvB0wX4pVL5exsYsoyc0tmiGm57k+ZmnIucqSzxoUZ/vjHDLAViahw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@iconify/utils": "^2.2.1",
+ "@unocss/core": "65.4.3",
+ "ofetch": "^1.4.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-mini": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/preset-mini/-/preset-mini-65.4.3.tgz",
+ "integrity": "sha512-JajAF18DKJRXgd9usrAYTcHUtZy606mD396ZswDgw/mUSu529tuiT6LOD43aJMYHgPEw7wKYjiGFHkeBTHijuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "@unocss/extractor-arbitrary-variants": "65.4.3",
+ "@unocss/rule-utils": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-tagify": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/preset-tagify/-/preset-tagify-65.4.3.tgz",
+ "integrity": "sha512-8/MbMbgdvj1A87XNVVzD8gFVqywaSJAD3Bv8RwjcFn0rwlgZY0PdTBYo3M3FH25axb4znzXBmLZdEBVZOGUosg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-typography": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/preset-typography/-/preset-typography-65.4.3.tgz",
+ "integrity": "sha512-DEo7GECG0AQ8FkzH/x8QCEL5BR1D+GNoxHGmNxc7rFKghJONVyJ3jROA9mDmWNAva8JygN4Up+lzPZG3mNYezQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "@unocss/preset-mini": "65.4.3"
+ }
+ },
+ "node_modules/@unocss/preset-uno": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/preset-uno/-/preset-uno-65.4.3.tgz",
+ "integrity": "sha512-gxELOQwR3YbMLR+WjYz3m/Zb6VXa8O0Xln0rfS2TI7OXXoQ1twak5zwYPrOI5fJF8lJ5yyKUiXiOR8UEPBpoCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "@unocss/preset-mini": "65.4.3",
+ "@unocss/preset-wind": "65.4.3",
+ "@unocss/rule-utils": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-web-fonts": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/preset-web-fonts/-/preset-web-fonts-65.4.3.tgz",
+ "integrity": "sha512-edkyohQ4+qjuOxIJf+NeQiEayB47A9eA2NhBLbcqZ0OfMpN8tRZPVW5cyB3b5Ef253NGMd4S8H/96vGTBpqOBA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "ofetch": "^1.4.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-wind": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/preset-wind/-/preset-wind-65.4.3.tgz",
+ "integrity": "sha512-KM13xIARNeZ/ZKJr33fZ89l79wgI+1Oo8VPJzmckLjbH9IGOhcH2GON7wVIxQqqqM9IM3vALEqw2KNdM6ontWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "@unocss/preset-mini": "65.4.3",
+ "@unocss/rule-utils": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/reset": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/reset/-/reset-65.4.3.tgz",
+ "integrity": "sha512-f9QnMtY1yPS1HEIkeKmSwUYcp4QS6zdo9ZcIFE9PDSLOcns3v+M1lTQg8mLChxJHVl73Cf6PofWVh5tmnxV53Q==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/rule-utils": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/rule-utils/-/rule-utils-65.4.3.tgz",
+ "integrity": "sha512-bzRRdb9mb82IvgOt3KiRyUh/njRfJC3hoV84lMyUPryT8YTEP/hl6kt2KQ2l1K3WDz7ZPQXVi2eqUbqc+AUpwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "^65.4.3",
+ "magic-string": "^0.30.17"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/transformer-attributify-jsx": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-65.4.3.tgz",
+ "integrity": "sha512-GI0joW6+jG3sLMzqDxT/Nr0lGarHKsXQzpKQt1LfBGEDgNSQZtDZ1IGlkdZeErRFvWcDLWU0xm2LikLS4Az8kw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/transformer-compile-class": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/transformer-compile-class/-/transformer-compile-class-65.4.3.tgz",
+ "integrity": "sha512-AzLeic0ESQ/yhLKfkSsQ72wQLkKEPsmX578+ZKcPSRh/HM5tfNz8RqffOHr6YOEKKTaZHN23OqbA511amRKC1w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/transformer-directives": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/transformer-directives/-/transformer-directives-65.4.3.tgz",
+ "integrity": "sha512-e3zZYjXqHSWb6YrC09/FnCsndhZdRzmYhPubTzOjnvb5K0ihIiLvHx9c2TRPWvMspXs0wHKQsLW5fAs8oyimeQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3",
+ "@unocss/rule-utils": "65.4.3",
+ "css-tree": "^3.1.0"
+ }
+ },
+ "node_modules/@unocss/transformer-variant-group": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/transformer-variant-group/-/transformer-variant-group-65.4.3.tgz",
+ "integrity": "sha512-nZNgKLclhIjfuqCaZTmJwhWSByL7vnhb3l/ChRX4qtWOweRLro79r6MvfcqQNrweK5nCw4yibsXCrFUWq7Jj5w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/core": "65.4.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/vite": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/@unocss/vite/-/vite-65.4.3.tgz",
+ "integrity": "sha512-YajF8Z2J/KvXdnC5BsGJjt3fm4D14vmYaHdlTyzi92Rkh/67JtaCz2OhElDoF6k4S4fm9B8uLRP10p+smRe9Fw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.3.0",
+ "@rollup/pluginutils": "^5.1.4",
+ "@unocss/config": "65.4.3",
+ "@unocss/core": "65.4.3",
+ "@unocss/inspector": "65.4.3",
+ "chokidar": "^3.6.0",
+ "magic-string": "^0.30.17",
+ "tinyglobby": "^0.2.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0"
+ }
+ },
+ "node_modules/@unocss/vite/node_modules/@rollup/pluginutils": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
+ "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@unocss/vite/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz",
+ "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/parser": "^7.25.3",
+ "@vue/shared": "3.5.13",
+ "entities": "^4.5.0",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz",
+ "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-core": "3.5.13",
+ "@vue/shared": "3.5.13"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz",
+ "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/parser": "^7.25.3",
+ "@vue/compiler-core": "3.5.13",
+ "@vue/compiler-dom": "3.5.13",
+ "@vue/compiler-ssr": "3.5.13",
+ "@vue/shared": "3.5.13",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.11",
+ "postcss": "^8.4.48",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz",
+ "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.13",
+ "@vue/shared": "3.5.13"
+ }
+ },
"node_modules/@vue/devtools-api": {
"version": "6.6.3",
"license": "MIT"
},
+ "node_modules/@vue/reactivity": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz",
+ "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@vue/shared": "3.5.13"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz",
+ "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@vue/reactivity": "3.5.13",
+ "@vue/shared": "3.5.13"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz",
+ "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@vue/reactivity": "3.5.13",
+ "@vue/runtime-core": "3.5.13",
+ "@vue/shared": "3.5.13",
+ "csstype": "^3.1.3"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz",
+ "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-ssr": "3.5.13",
+ "@vue/shared": "3.5.13"
+ },
+ "peerDependencies": {
+ "vue": "3.5.13"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz",
+ "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/acorn": {
"version": "8.14.0",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz",
@@ -1614,6 +2317,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -1623,6 +2327,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
@@ -1634,10 +2339,25 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
"license": "Python-2.0"
},
"node_modules/array-buffer-byte-length": {
@@ -1689,6 +2409,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz",
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -1779,6 +2500,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz",
"integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -1831,6 +2553,7 @@
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "devOptional": true,
"funding": [
{
"type": "github",
@@ -1847,6 +2570,19 @@
],
"license": "MIT"
},
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz",
@@ -1906,6 +2642,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
@@ -1918,6 +2655,7 @@
"version": "6.0.3",
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "devOptional": true,
"funding": [
{
"type": "github",
@@ -1938,10 +2676,37 @@
"ieee754": "^1.2.1"
}
},
+ "node_modules/bundle-require": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmmirror.com/bundle-require/-/bundle-require-5.1.0.tgz",
+ "integrity": "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "load-tsconfig": "^0.2.3"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "esbuild": ">=0.18"
+ }
+ },
+ "node_modules/cac": {
+ "version": "6.7.14",
+ "resolved": "https://registry.npmmirror.com/cac/-/cac-6.7.14.tgz",
+ "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/cacheable": {
"version": "1.8.8",
"resolved": "https://registry.npmmirror.com/cacheable/-/cacheable-1.8.8.tgz",
"integrity": "sha512-OE1/jlarWxROUIpd0qGBSKFLkNsotY8pt4GeiVErUYh/NUeTNrT+SBksUgllQv4m6a0W/VZsLuiHb88maavqEw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"hookified": "^1.7.0",
@@ -1952,6 +2717,7 @@
"version": "5.2.3",
"resolved": "https://registry.npmmirror.com/keyv/-/keyv-5.2.3.tgz",
"integrity": "sha512-AGKecUfzrowabUv0bH1RIR5Vf7w+l4S3xtQAypKaUpTdIR1EbrAcTxHCrpo9Q+IWeUlFE2palRtgIQcgm+PQJw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@keyv/serialize": "^1.0.2"
@@ -2021,6 +2787,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -2050,6 +2817,44 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/cli-cursor": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-5.0.0.tgz",
@@ -2261,6 +3066,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
@@ -2273,12 +3079,14 @@
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/colord": {
"version": "2.9.3",
"resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz",
"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/colorette": {
@@ -2367,6 +3175,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/confbox": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz",
+ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/confusing-browser-globals": {
"version": "1.0.11",
"resolved": "https://registry.npmmirror.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
@@ -2374,6 +3189,16 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/consola": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmmirror.com/consola/-/consola-3.4.0.tgz",
+ "integrity": "sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.18.0 || >=16.10.0"
+ }
+ },
"node_modules/conventional-changelog-angular": {
"version": "7.0.0",
"resolved": "https://registry.npmmirror.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz",
@@ -2443,6 +3268,7 @@
"version": "9.0.0",
"resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
"integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"env-paths": "^2.2.1",
@@ -2519,6 +3345,7 @@
"version": "3.2.3",
"resolved": "https://registry.npmmirror.com/css-functions-list/-/css-functions-list-3.2.3.tgz",
"integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=12 || >=16"
@@ -2528,6 +3355,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-3.1.0.tgz",
"integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"mdn-data": "2.12.2",
@@ -2541,6 +3369,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
"license": "MIT",
"bin": {
"cssesc": "bin/cssesc"
@@ -2549,6 +3378,13 @@
"node": ">=4"
}
},
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/cz-conventional-changelog": {
"version": "3.3.0",
"resolved": "https://registry.npmmirror.com/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz",
@@ -2726,15 +3562,16 @@
}
},
"node_modules/dayjs": {
- "version": "1.11.12",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz",
- "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==",
+ "version": "1.11.13",
+ "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
+ "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
"license": "MIT"
},
"node_modules/debug": {
"version": "4.4.0",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz",
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -2811,12 +3648,26 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/defu": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmmirror.com/defu/-/defu-6.1.4.tgz",
+ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
"license": "MIT"
},
+ "node_modules/destr": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmmirror.com/destr/-/destr-2.0.3.tgz",
+ "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/detect-file": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/detect-file/-/detect-file-1.0.0.tgz",
@@ -2841,6 +3692,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz",
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"path-type": "^4.0.0"
@@ -2890,16 +3742,38 @@
"node": ">= 0.4"
}
},
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
"license": "MIT"
},
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/env-paths": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -2922,6 +3796,7 @@
"version": "1.3.2",
"resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
@@ -3077,7 +3952,6 @@
"dev": true,
"hasInstallScript": true,
"license": "MIT",
- "peer": true,
"bin": {
"esbuild": "bin/esbuild"
},
@@ -3487,7 +4361,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true,
"license": "MIT"
},
"node_modules/esutils": {
@@ -3563,6 +4436,7 @@
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true,
"license": "MIT"
},
"node_modules/fast-diff": {
@@ -3576,6 +4450,7 @@
"version": "3.3.3",
"resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz",
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@@ -3592,6 +4467,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
@@ -3618,6 +4494,7 @@
"version": "3.0.6",
"resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.0.6.tgz",
"integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -3634,6 +4511,7 @@
"version": "1.0.16",
"resolved": "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 4.9.1"
@@ -3643,6 +4521,7 @@
"version": "1.19.0",
"resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.19.0.tgz",
"integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
@@ -3691,6 +4570,7 @@
"version": "7.1.1",
"resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -3769,6 +4649,7 @@
"version": "3.3.2",
"resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.2.tgz",
"integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
+ "dev": true,
"license": "ISC"
},
"node_modules/for-each": {
@@ -3959,6 +4840,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-tsconfig": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmmirror.com/get-tsconfig/-/get-tsconfig-4.10.0.tgz",
+ "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve-pkg-maps": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
+ }
+ },
"node_modules/git-raw-commits": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/git-raw-commits/-/git-raw-commits-4.0.0.tgz",
@@ -4055,6 +4949,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-2.0.0.tgz",
"integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"global-prefix": "^3.0.0"
@@ -4067,6 +4962,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-3.0.0.tgz",
"integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ini": "^1.3.5",
@@ -4081,6 +4977,7 @@
"version": "1.3.1",
"resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
@@ -4126,6 +5023,7 @@
"version": "11.1.0",
"resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz",
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"array-union": "^2.1.0",
@@ -4146,6 +5044,7 @@
"version": "0.1.4",
"resolved": "https://registry.npmmirror.com/globjoin/-/globjoin-0.1.4.tgz",
"integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
+ "dev": true,
"license": "MIT"
},
"node_modules/good-listener": {
@@ -4184,6 +5083,22 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/gzip-size": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz",
+ "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "duplexer": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/has-bigints": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.1.0.tgz",
@@ -4201,6 +5116,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -4294,12 +5210,14 @@
"version": "1.7.0",
"resolved": "https://registry.npmmirror.com/hookified/-/hookified-1.7.0.tgz",
"integrity": "sha512-XQdMjqC1AyeOzfs+17cnIk7Wdfu1hh2JtcyNfBf5u9jHrT3iZUlGHxLTntFBuk5lwkqJ6l3+daeQdHK5yByHVA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/html-tags": {
"version": "3.3.1",
"resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz",
"integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -4351,6 +5269,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "devOptional": true,
"funding": [
{
"type": "github",
@@ -4371,6 +5290,7 @@
"version": "5.3.2",
"resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz",
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 4"
@@ -4380,6 +5300,7 @@
"version": "3.3.1",
"resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz",
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
@@ -4403,10 +5324,36 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/importx": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmmirror.com/importx/-/importx-0.5.1.tgz",
+ "integrity": "sha512-YrRaigAec1sC2CdIJjf/hCH1Wp9Ii8Cq5ROw4k5nJ19FVl2FcJUHZ5gGIb1vs8+JNYIyOJpc2fcufS2330bxDw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bundle-require": "^5.0.0",
+ "debug": "^4.4.0",
+ "esbuild": "^0.20.2 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0",
+ "jiti": "^2.4.1",
+ "pathe": "^1.1.2",
+ "tsx": "^4.19.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/importx/node_modules/pathe": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz",
+ "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.8.19"
@@ -4435,6 +5382,7 @@
"version": "1.3.8",
"resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true,
"license": "ISC"
},
"node_modules/inquirer": {
@@ -4608,6 +5556,7 @@
"version": "0.2.1",
"resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "dev": true,
"license": "MIT"
},
"node_modules/is-async-function": {
@@ -4646,6 +5595,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-boolean-object": {
"version": "1.2.2",
"resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
@@ -4731,6 +5693,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -4756,6 +5719,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -4784,6 +5748,7 @@
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
@@ -4819,6 +5784,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
@@ -4865,6 +5831,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -5082,6 +6049,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
"license": "ISC"
},
"node_modules/jiti": {
@@ -5104,12 +6072,14 @@
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -5135,6 +6105,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true,
"license": "MIT"
},
"node_modules/json-schema-traverse": {
@@ -5218,6 +6189,7 @@
"version": "6.0.3",
"resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -5227,6 +6199,14 @@
"version": "0.35.0",
"resolved": "https://registry.npmmirror.com/known-css-properties/-/known-css-properties-0.35.0.tgz",
"integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/kolorist": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz",
+ "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/levn": {
@@ -5260,6 +6240,7 @@
"version": "1.2.4",
"resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true,
"license": "MIT"
},
"node_modules/lint-staged": {
@@ -5321,6 +6302,33 @@
"node": ">=18.0.0"
}
},
+ "node_modules/load-tsconfig": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmmirror.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz",
+ "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/local-pkg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.0.0.tgz",
+ "integrity": "sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mlly": "^1.7.3",
+ "pkg-types": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz",
@@ -5404,6 +6412,7 @@
"version": "4.4.2",
"resolved": "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/lodash.uniq": {
@@ -5542,6 +6551,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/magic-string": {
+ "version": "0.30.17",
+ "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz",
+ "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0"
+ }
+ },
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -5556,6 +6574,7 @@
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
"integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
+ "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -5566,12 +6585,14 @@
"version": "2.12.2",
"resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.12.2.tgz",
"integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
+ "dev": true,
"license": "CC0-1.0"
},
"node_modules/meow": {
"version": "13.2.0",
"resolved": "https://registry.npmmirror.com/meow/-/meow-13.2.0.tgz",
"integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
@@ -5598,6 +6619,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
@@ -5607,6 +6629,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"braces": "^3.0.3",
@@ -5665,10 +6688,34 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/mlly": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.7.4.tgz",
+ "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.14.0",
+ "pathe": "^2.0.1",
+ "pkg-types": "^1.3.0",
+ "ufo": "^1.5.4"
+ }
+ },
+ "node_modules/mrmime": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.0.tgz",
+ "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/mute-stream": {
@@ -5703,10 +6750,18 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/node-fetch-native": {
+ "version": "1.6.6",
+ "resolved": "https://registry.npmmirror.com/node-fetch-native/-/node-fetch-native-1.6.6.tgz",
+ "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -5866,6 +6921,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/ofetch": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/ofetch/-/ofetch-1.4.1.tgz",
+ "integrity": "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "destr": "^2.0.3",
+ "node-fetch-native": "^1.6.4",
+ "ufo": "^1.5.4"
+ }
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
@@ -6054,10 +7121,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/package-manager-detector": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmmirror.com/package-manager-detector/-/package-manager-detector-0.2.9.tgz",
+ "integrity": "sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
@@ -6070,6 +7145,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.0.0",
@@ -6135,11 +7211,26 @@
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
+ "node_modules/pathe": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.2.tgz",
+ "integrity": "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/perfect-debounce": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
+ "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
@@ -6150,6 +7241,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -6203,6 +7295,18 @@
"integrity": "sha512-WXit2cGnm5rG6CDTcLSLehNWhyJS/Yq7WEeeXAapZbCnqoPJxlszqg7rT8S+OP47az0h5nlajGo+LuyMxUQ2uw==",
"license": "MIT"
},
+ "node_modules/pkg-types": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz",
+ "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "confbox": "^0.1.8",
+ "mlly": "^1.7.4",
+ "pathe": "^2.0.1"
+ }
+ },
"node_modules/possible-typed-array-names": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
@@ -6245,18 +7349,21 @@
"version": "0.2.3",
"resolved": "https://registry.npmmirror.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
"integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
+ "dev": true,
"license": "MIT"
},
"node_modules/postcss-resolve-nested-selector": {
"version": "0.1.6",
"resolved": "https://registry.npmmirror.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz",
"integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/postcss-safe-parser": {
"version": "7.0.1",
"resolved": "https://registry.npmmirror.com/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz",
"integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -6283,6 +7390,7 @@
"version": "4.0.9",
"resolved": "https://registry.npmmirror.com/postcss-scss/-/postcss-scss-4.0.9.tgz",
"integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -6323,6 +7431,7 @@
"version": "8.0.2",
"resolved": "https://registry.npmmirror.com/postcss-sorting/-/postcss-sorting-8.0.2.tgz",
"integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==",
+ "dev": true,
"license": "MIT",
"peerDependencies": {
"postcss": "^8.4.20"
@@ -6332,6 +7441,7 @@
"version": "4.2.0",
"resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/prelude-ls": {
@@ -6387,6 +7497,7 @@
"version": "1.2.3",
"resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -6418,6 +7529,19 @@
"node": ">= 6"
}
},
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
"node_modules/reflect.getprototypeof": {
"version": "1.0.10",
"resolved": "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
@@ -6476,6 +7600,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6565,11 +7690,22 @@
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=4"
}
},
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ }
+ },
"node_modules/restore-cursor": {
"version": "5.1.0",
"resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-5.1.0.tgz",
@@ -6607,6 +7743,7 @@
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
"license": "MIT",
"engines": {
"iojs": ">=1.0.0",
@@ -6691,6 +7828,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -6971,6 +8109,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=14"
@@ -6979,10 +8118,26 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/sirv": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/sirv/-/sirv-3.0.0.tgz",
+ "integrity": "sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@polka/url": "^1.0.0-next.24",
+ "mrmime": "^2.0.0",
+ "totalist": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -6992,6 +8147,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz",
"integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -7033,10 +8189,6 @@
"node": ">= 10.x"
}
},
- "node_modules/star-cloud-uni": {
- "resolved": "../starCloud",
- "link": true
- },
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -7061,6 +8213,7 @@
"version": "4.2.3",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -7134,6 +8287,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -7182,6 +8336,7 @@
"version": "16.14.1",
"resolved": "https://registry.npmmirror.com/stylelint/-/stylelint-16.14.1.tgz",
"integrity": "sha512-oqCL7AC3786oTax35T/nuLL8p2C3k/8rHKAooezrPGRvUX0wX+qqs5kMWh5YYT4PHQgVDobHT4tw55WgpYG6Sw==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -7244,6 +8399,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/stylelint-config-recess-order/-/stylelint-config-recess-order-6.0.0.tgz",
"integrity": "sha512-1KqrttqpIrCYFAVQ1/bbgXo7EvvcjmkxxmnzVr+U66Xr2OlrNZqQ5+44Tmct6grCWY6wGTIBh2tSANqcmwIM2g==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"stylelint-order": "^6.0.4"
@@ -7256,6 +8412,7 @@
"version": "14.0.1",
"resolved": "https://registry.npmmirror.com/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz",
"integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -7278,6 +8435,7 @@
"version": "14.1.0",
"resolved": "https://registry.npmmirror.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.1.0.tgz",
"integrity": "sha512-bhaMhh1u5dQqSsf6ri2GVWWQW5iUjBYgcHkh7SgDDn92ijoItC/cfO/W+fpXshgTQWhwFkP1rVcewcv4jaftRg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"postcss-scss": "^4.0.9",
@@ -7301,6 +8459,7 @@
"version": "37.0.0",
"resolved": "https://registry.npmmirror.com/stylelint-config-standard/-/stylelint-config-standard-37.0.0.tgz",
"integrity": "sha512-+6eBlbSTrOn/il2RlV0zYGQwRTkr+WtzuVSs1reaWGObxnxLpbcspCUYajVQHonVfxVw2U+h42azGhrBvcg8OA==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -7326,6 +8485,7 @@
"version": "15.0.0",
"resolved": "https://registry.npmmirror.com/stylelint-config-recommended/-/stylelint-config-recommended-15.0.0.tgz",
"integrity": "sha512-9LejMFsat7L+NXttdHdTq94byn25TD+82bzGRiV1Pgasl99pWnwipXS5DguTpp3nP1XjvLXVnEJIuYBfsRjRkA==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -7348,6 +8508,7 @@
"version": "6.0.4",
"resolved": "https://registry.npmmirror.com/stylelint-order/-/stylelint-order-6.0.4.tgz",
"integrity": "sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"postcss": "^8.4.32",
@@ -7361,6 +8522,7 @@
"version": "6.11.0",
"resolved": "https://registry.npmmirror.com/stylelint-scss/-/stylelint-scss-6.11.0.tgz",
"integrity": "sha512-AvJ6LVzz2iXHxPlPTR9WVy73FC/vmohH54VySNlCKX1NIXNAeuzy/VbIkMJLMyw/xKYqkgY4kAgB+qy5BfCaCg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"css-tree": "^3.0.1",
@@ -7383,12 +8545,14 @@
"version": "2.15.0",
"resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.15.0.tgz",
"integrity": "sha512-KIrS0lFPOqA4DgeO16vI5fkAsy8p++WBlbXtB5P1EQs8ubBgguAInNd1DnrCeTRfGchY0kgThgDOOIPyOLH2dQ==",
+ "dev": true,
"license": "CC0-1.0"
},
"node_modules/stylelint-scss/node_modules/postcss-selector-parser": {
"version": "7.0.0",
"resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz",
"integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
@@ -7402,6 +8566,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
"integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -7424,12 +8589,14 @@
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-2.0.0.tgz",
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/stylelint/node_modules/file-entry-cache": {
"version": "10.0.6",
"resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-10.0.6.tgz",
"integrity": "sha512-0wvv16mVo9nN0Md3k7DMjgAPKG/TY4F/gYMBVb/wMThFRJvzrpaqBFqF6km9wf8QfYTN+mNg5aeaBLfy8k35uA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"flat-cache": "^6.1.6"
@@ -7439,6 +8606,7 @@
"version": "6.1.6",
"resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-6.1.6.tgz",
"integrity": "sha512-F+CKgSwp0pzLx67u+Zy1aCueVWFAHWbXepvXlZ+bWVTaASbm5SyCnSJ80Fp1ePEmS57wU+Bf6cx6525qtMZ4lQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"cacheable": "^1.8.8",
@@ -7450,6 +8618,7 @@
"version": "7.0.3",
"resolved": "https://registry.npmmirror.com/ignore/-/ignore-7.0.3.tgz",
"integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 4"
@@ -7459,6 +8628,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz",
"integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
@@ -7472,6 +8642,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -7481,6 +8652,7 @@
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
@@ -7493,6 +8665,7 @@
"version": "3.2.0",
"resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz",
"integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0",
@@ -7521,7 +8694,8 @@
"node_modules/svg-tags": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz",
- "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA=="
+ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
+ "dev": true
},
"node_modules/synckit": {
"version": "0.9.2",
@@ -7544,6 +8718,7 @@
"version": "6.9.0",
"resolved": "https://registry.npmmirror.com/table/-/table-6.9.0.tgz",
"integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==",
+ "dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"ajv": "^8.0.1",
@@ -7560,6 +8735,7 @@
"version": "8.17.1",
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz",
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
@@ -7576,6 +8752,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true,
"license": "MIT"
},
"node_modules/text-extensions": {
@@ -7618,6 +8795,48 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/tinyglobby": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.10.tgz",
+ "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.4.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.4.3",
+ "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.4.3.tgz",
+ "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz",
@@ -7635,6 +8854,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
@@ -7643,6 +8863,16 @@
"node": ">=8.0"
}
},
+ "node_modules/totalist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz",
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -7663,6 +8893,474 @@
"dev": true,
"license": "0BSD"
},
+ "node_modules/tsx": {
+ "version": "4.19.2",
+ "resolved": "https://registry.npmmirror.com/tsx/-/tsx-4.19.2.tgz",
+ "integrity": "sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "~0.23.0",
+ "get-tsconfig": "^4.7.5"
+ },
+ "bin": {
+ "tsx": "dist/cli.mjs"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz",
+ "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/android-arm": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.23.1.tgz",
+ "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/android-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz",
+ "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/android-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.23.1.tgz",
+ "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz",
+ "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/darwin-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz",
+ "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz",
+ "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz",
+ "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-arm": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz",
+ "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz",
+ "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-ia32": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz",
+ "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-loong64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz",
+ "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz",
+ "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz",
+ "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz",
+ "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-s390x": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz",
+ "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/linux-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz",
+ "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz",
+ "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz",
+ "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz",
+ "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/sunos-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz",
+ "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/win32-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz",
+ "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/win32-ia32": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz",
+ "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/@esbuild/win32-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz",
+ "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/tsx/node_modules/esbuild": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.23.1.tgz",
+ "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.23.1",
+ "@esbuild/android-arm": "0.23.1",
+ "@esbuild/android-arm64": "0.23.1",
+ "@esbuild/android-x64": "0.23.1",
+ "@esbuild/darwin-arm64": "0.23.1",
+ "@esbuild/darwin-x64": "0.23.1",
+ "@esbuild/freebsd-arm64": "0.23.1",
+ "@esbuild/freebsd-x64": "0.23.1",
+ "@esbuild/linux-arm": "0.23.1",
+ "@esbuild/linux-arm64": "0.23.1",
+ "@esbuild/linux-ia32": "0.23.1",
+ "@esbuild/linux-loong64": "0.23.1",
+ "@esbuild/linux-mips64el": "0.23.1",
+ "@esbuild/linux-ppc64": "0.23.1",
+ "@esbuild/linux-riscv64": "0.23.1",
+ "@esbuild/linux-s390x": "0.23.1",
+ "@esbuild/linux-x64": "0.23.1",
+ "@esbuild/netbsd-x64": "0.23.1",
+ "@esbuild/openbsd-arm64": "0.23.1",
+ "@esbuild/openbsd-x64": "0.23.1",
+ "@esbuild/sunos-x64": "0.23.1",
+ "@esbuild/win32-arm64": "0.23.1",
+ "@esbuild/win32-ia32": "0.23.1",
+ "@esbuild/win32-x64": "0.23.1"
+ }
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz",
@@ -7782,6 +9480,13 @@
"node": ">=14.17"
}
},
+ "node_modules/ufo": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.5.4.tgz",
+ "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/unbox-primitive": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
@@ -7801,6 +9506,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/unconfig": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmmirror.com/unconfig/-/unconfig-0.6.1.tgz",
+ "integrity": "sha512-cVU+/sPloZqOyJEAfNwnQSFCzFrZm85vcVkryH7lnlB/PiTycUkAjt5Ds79cfIshGOZ+M5v3PBDnKgpmlE5DtA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@antfu/utils": "^8.1.0",
+ "defu": "^6.1.4",
+ "importx": "^0.5.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
"node_modules/undici-types": {
"version": "6.20.0",
"resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.20.0.tgz",
@@ -7831,6 +9551,224 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/unocss": {
+ "version": "65.4.3",
+ "resolved": "https://registry.npmmirror.com/unocss/-/unocss-65.4.3.tgz",
+ "integrity": "sha512-mwSVi0ovPxaDv58yFB7Vm5v1x/q/pUc7aTh7SJbeYoRrpbUGdKiVf20YSQfMqmBNXV9CFDr4o6tabP/58as6RQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unocss/astro": "65.4.3",
+ "@unocss/cli": "65.4.3",
+ "@unocss/core": "65.4.3",
+ "@unocss/postcss": "65.4.3",
+ "@unocss/preset-attributify": "65.4.3",
+ "@unocss/preset-icons": "65.4.3",
+ "@unocss/preset-mini": "65.4.3",
+ "@unocss/preset-tagify": "65.4.3",
+ "@unocss/preset-typography": "65.4.3",
+ "@unocss/preset-uno": "65.4.3",
+ "@unocss/preset-web-fonts": "65.4.3",
+ "@unocss/preset-wind": "65.4.3",
+ "@unocss/transformer-attributify-jsx": "65.4.3",
+ "@unocss/transformer-compile-class": "65.4.3",
+ "@unocss/transformer-directives": "65.4.3",
+ "@unocss/transformer-variant-group": "65.4.3",
+ "@unocss/vite": "65.4.3"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@unocss/webpack": "65.4.3",
+ "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "@unocss/webpack": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unocss-preset-weapp": {
+ "version": "65.4.1",
+ "resolved": "https://registry.npmmirror.com/unocss-preset-weapp/-/unocss-preset-weapp-65.4.1.tgz",
+ "integrity": "sha512-CXUCvkw0IWUjykvQwxc/+mrgAWLobjasBu/Z93c7L9RITkW7Y1QWs5vc5CB+T1bVcuMLwoaglNqDkXZObMtqPA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.1.4",
+ "@unocss/core": "^65.4.2",
+ "@unocss/extractor-arbitrary-variants": "^65.4.2",
+ "@unocss/rule-utils": "^65.4.2",
+ "unplugin-attributify-to-class": "^0.2.5",
+ "unplugin-transform-class": "^0.5.3"
+ }
+ },
+ "node_modules/unocss-preset-weapp/node_modules/@rollup/pluginutils": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
+ "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unocss-preset-weapp/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/unplugin": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.16.1.tgz",
+ "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.14.0",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/unplugin-attributify-to-class": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmmirror.com/unplugin-attributify-to-class/-/unplugin-attributify-to-class-0.2.5.tgz",
+ "integrity": "sha512-0lTUi01mI19PmTTX4420QO6gJFic1wK4LqNnHeBNDrthQEKI0xw/lYg0bGnWYgPmyqXz88hAdLG+ibaypibXqg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.5",
+ "unplugin": "^1.5.0",
+ "unplugin-transform-class": "^0.5.1"
+ }
+ },
+ "node_modules/unplugin-attributify-to-class/node_modules/@rollup/pluginutils": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
+ "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-attributify-to-class/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/unplugin-transform-class": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmmirror.com/unplugin-transform-class/-/unplugin-transform-class-0.5.3.tgz",
+ "integrity": "sha512-4xBvfoeBDqlqi9aD0Hv3TTs8JpRs2h9l8LBMXIRXFNTf8biRk6hAQir+zEM/GpBKoMzvt7JqqbMIYzMazQZysQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@meoc/utils": "^0.2.8",
+ "@rollup/pluginutils": "^5.1.0",
+ "unplugin": "1.7.1"
+ }
+ },
+ "node_modules/unplugin-transform-class/node_modules/@rollup/pluginutils": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
+ "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-transform-class/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/unplugin-transform-class/node_modules/unplugin": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.7.1.tgz",
+ "integrity": "sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.3",
+ "chokidar": "^3.5.3",
+ "webpack-sources": "^3.2.3",
+ "webpack-virtual-modules": "^0.6.1"
+ }
+ },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
@@ -7845,6 +9783,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/uview-plus": {
@@ -7965,12 +9904,26 @@
}
},
"node_modules/vue": {
- "version": "2.6.14",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz",
- "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==",
- "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.",
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz",
+ "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
"license": "MIT",
- "peer": true
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.13",
+ "@vue/compiler-sfc": "3.5.13",
+ "@vue/runtime-dom": "3.5.13",
+ "@vue/server-renderer": "3.5.13",
+ "@vue/shared": "3.5.13"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
},
"node_modules/vue-demi": {
"version": "0.14.10",
@@ -8034,6 +9987,16 @@
"node": ">=10"
}
},
+ "node_modules/vue-flow-layout": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmmirror.com/vue-flow-layout/-/vue-flow-layout-0.1.1.tgz",
+ "integrity": "sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "vue": "^3.4.37"
+ }
+ },
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz",
@@ -8044,6 +10007,23 @@
"defaults": "^1.0.3"
}
},
+ "node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
@@ -8254,6 +10234,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
"integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
diff --git a/package.json b/package.json
index b489020..4aaa5cb 100644
--- a/package.json
+++ b/package.json
@@ -5,11 +5,6 @@
"pinia": "^2.2.0",
"pinia-plugin-unistorage": "^0.1.2",
"sm-crypto": "^0.3.13",
- "star-cloud-uni": "file:../starCloud",
- "stylelint": "^16.14.1",
- "stylelint-config-recess-order": "^6.0.0",
- "stylelint-config-recommended-scss": "^14.1.0",
- "stylelint-config-standard": "^37.0.0",
"uview-plus": "^3.3.12"
},
"devDependencies": {
@@ -26,6 +21,12 @@
"husky": "^9.1.7",
"lint-staged": "^15.4.3",
"prettier": "^3.4.2",
+ "stylelint": "^16.14.1",
+ "stylelint-config-recess-order": "^6.0.0",
+ "stylelint-config-recommended-scss": "^14.1.0",
+ "stylelint-config-standard": "^37.0.0",
+ "unocss": "^65.4.3",
+ "unocss-preset-weapp": "^65.4.1",
"vite-plugin-eslint": "^1.8.1"
}
}
diff --git a/pages.json b/pages.json
index 342e554..d6d4f97 100644
--- a/pages.json
+++ b/pages.json
@@ -141,6 +141,62 @@
"navigationBarTitleText": "添加锁",
"disableScroll": true
}
+ },
+ {
+ "path": "pages/cardList/cardList",
+ "style": {
+ "navigationBarTitleText": "卡",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/createCard/createCard",
+ "style": {
+ "navigationBarTitleText": "添加卡",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/bindCard/bindCard",
+ "style": {
+ "navigationBarTitleText": "添加卡",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/cardDetail/cardDetail",
+ "style": {
+ "navigationBarTitleText": "卡详情",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/fingerprintList/fingerprintList",
+ "style": {
+ "navigationBarTitleText": "指纹",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/createFingerprint/createFingerprint",
+ "style": {
+ "navigationBarTitleText": "添加指纹",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/fingerprintDetail/fingerprintDetail",
+ "style": {
+ "navigationBarTitleText": "指纹详情",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/bindFingerprint/bindFingerprint",
+ "style": {
+ "navigationBarTitleText": "添加指纹",
+ "disableScroll": true
+ }
}
],
"globalStyle": {
diff --git a/pages/bindCard/bindCard.vue b/pages/bindCard/bindCard.vue
new file mode 100644
index 0000000..a4435cd
--- /dev/null
+++ b/pages/bindCard/bindCard.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
+
+
diff --git a/pages/bindFingerprint/bindFingerprint.vue b/pages/bindFingerprint/bindFingerprint.vue
new file mode 100644
index 0000000..5f4608f
--- /dev/null
+++ b/pages/bindFingerprint/bindFingerprint.vue
@@ -0,0 +1,91 @@
+
+
+
+
+ {{ text }}
+
+ ({{ process }}/5)
+
+ 根据提示,抬起手指后再进行下一次指纹采集
+
+
+
+
+
diff --git a/pages/cardDetail/cardDetail.vue b/pages/cardDetail/cardDetail.vue
new file mode 100644
index 0000000..e5ad46d
--- /dev/null
+++ b/pages/cardDetail/cardDetail.vue
@@ -0,0 +1,111 @@
+
+
+
+
+ 卡号
+ {{ info.cardNumber }}
+
+
+ 姓名
+ {{ info.cardName }}
+
+
+ 有效期
+ 永久
+
+ {{ timeFormat(info.startDate, 'yyyy-mm-dd h:M') }}
+ {{ timeFormat(info.endDate, 'yyyy-mm-dd h:M') }}
+
+
+ {{ timeFormat(info.startDate, 'yyyy-mm-dd') }}
+ {{ timeFormat(info.endDate, 'yyyy-mm-dd') }}
+
+
+
+ 有效日
+ {{ $lock.convertWeekDaysToChineseString(info.weekDay) }}
+
+
+ 有效时间
+
+ {{ timeFormat(info.startDate, 'h:M') }} - {{ timeFormat(info.endDate, 'h:M') }}
+
+
+
+ 添加者
+ {{ info.senderUsername }}
+
+
+ 添加时间
+ {{ timeFormat(info.createDate, 'yyyy-mm-dd h:M') }}
+
+
+ 删除
+
+
+
+
+
+
+
+
+
diff --git a/pages/cardList/cardList.vue b/pages/cardList/cardList.vue
new file mode 100644
index 0000000..a6ab2f5
--- /dev/null
+++ b/pages/cardList/cardList.vue
@@ -0,0 +1,463 @@
+
+
+
+
+
+
+
+
+
+ 暂无数据
+
+
+
+
+
+
+
+
+ {{ item.cardName }}
+
+ {{ item.statusText }}
+
+
+ {{ item.timeText }}
+
+
+
+
+
+
+
+
+
+ 重置卡片
+ 添加卡片
+
+
+
+
+
+
+
+
+
diff --git a/pages/createCard/createCard.vue b/pages/createCard/createCard.vue
new file mode 100644
index 0000000..97fc646
--- /dev/null
+++ b/pages/createCard/createCard.vue
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/createFingerprint/createFingerprint.vue b/pages/createFingerprint/createFingerprint.vue
new file mode 100644
index 0000000..920fbb0
--- /dev/null
+++ b/pages/createFingerprint/createFingerprint.vue
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/fingerprintDetail/fingerprintDetail.vue b/pages/fingerprintDetail/fingerprintDetail.vue
new file mode 100644
index 0000000..2246aa2
--- /dev/null
+++ b/pages/fingerprintDetail/fingerprintDetail.vue
@@ -0,0 +1,111 @@
+
+
+
+
+ 指纹号
+ {{ info.fingerprintNumber }}
+
+
+ 姓名
+ {{ info.fingerprintName }}
+
+
+ 有效期
+ 永久
+
+ {{ timeFormat(info.startDate, 'yyyy-mm-dd h:M') }}
+ {{ timeFormat(info.endDate, 'yyyy-mm-dd h:M') }}
+
+
+ {{ timeFormat(info.startDate, 'yyyy-mm-dd') }}
+ {{ timeFormat(info.endDate, 'yyyy-mm-dd') }}
+
+
+
+ 有效日
+ {{ $lock.convertWeekDaysToChineseString(info.weekDay) }}
+
+
+ 有效时间
+
+ {{ timeFormat(info.startDate, 'h:M') }} - {{ timeFormat(info.endDate, 'h:M') }}
+
+
+
+ 添加者
+ {{ info.senderUsername }}
+
+
+ 添加时间
+ {{ timeFormat(info.createDate, 'yyyy-mm-dd h:M') }}
+
+
+ 删除
+
+
+
+
+
+
+
+
+
diff --git a/pages/fingerprintList/fingerprintList.vue b/pages/fingerprintList/fingerprintList.vue
new file mode 100644
index 0000000..df9a781
--- /dev/null
+++ b/pages/fingerprintList/fingerprintList.vue
@@ -0,0 +1,463 @@
+
+
+
+
+
+
+
+
+
+ 暂无数据
+
+
+
+
+
+
+
+
+ {{ item.fingerprintName }}
+
+ {{ item.statusText }}
+
+
+ {{ item.timeText }}
+
+
+
+
+
+
+
+
+
+ 重置指纹
+ 添加指纹
+
+
+
+
+
+
+
+
+
diff --git a/pages/lockDetail/lockDetail.vue b/pages/lockDetail/lockDetail.vue
index e587973..6464437 100644
--- a/pages/lockDetail/lockDetail.vue
+++ b/pages/lockDetail/lockDetail.vue
@@ -68,6 +68,30 @@
密码
+
+
+ 卡
+
+
+
+ 指纹
+
+
+
+ 授权管理员
+
+
+
+ 操作记录
+
@@ -113,6 +137,9 @@
import { deleteKeyRequest } from '@/api/key'
export default {
+ components: {
+ SwitchLoading
+ },
data() {
return {
time: 0,
@@ -127,9 +154,6 @@
...mapState(useUserStore, ['userInfo']),
...mapState(useLockStore, ['lockSearch'])
},
- components: {
- SwitchLoading
- },
onLoad() {
this.getServeTime()
},
@@ -428,7 +452,6 @@
.menu {
margin-top: 32rpx;
margin-left: 32rpx;
- padding-bottom: 32rpx;
width: 686rpx;
background-color: #ffffff;
border-radius: 32rpx;
@@ -449,16 +472,16 @@
.menu-main {
padding-top: 32rpx;
- padding-bottom: 32rpx;
display: flex;
align-items: center;
- font-size: 32rpx;
+ font-size: 28rpx;
flex-wrap: wrap;
text-align: center;
margin-left: 43rpx;
.menu-main-view {
width: 150rpx;
+ margin-bottom: 48rpx;
.menu-main-image {
filter: sepia(100%) saturate(10000%) hue-rotate(180deg) brightness(0.1);
diff --git a/static/images/icon_add_blue.png b/static/images/icon_add_blue.png
new file mode 100644
index 0000000..d08fc12
Binary files /dev/null and b/static/images/icon_add_blue.png differ
diff --git a/static/images/icon_add_card.png b/static/images/icon_add_card.png
new file mode 100755
index 0000000..0e25497
Binary files /dev/null and b/static/images/icon_add_card.png differ
diff --git a/static/images/icon_admin_black.png b/static/images/icon_admin_black.png
new file mode 100644
index 0000000..c431086
Binary files /dev/null and b/static/images/icon_admin_black.png differ
diff --git a/static/images/icon_card.png b/static/images/icon_card.png
new file mode 100644
index 0000000..b660629
Binary files /dev/null and b/static/images/icon_card.png differ
diff --git a/static/images/icon_card_white.png b/static/images/icon_card_white.png
new file mode 100755
index 0000000..355b5c0
Binary files /dev/null and b/static/images/icon_card_white.png differ
diff --git a/static/images/icon_fingerprint.png b/static/images/icon_fingerprint.png
new file mode 100644
index 0000000..19e66bd
Binary files /dev/null and b/static/images/icon_fingerprint.png differ
diff --git a/static/images/icon_fingerprint_0.png b/static/images/icon_fingerprint_0.png
new file mode 100755
index 0000000..ffc2d97
Binary files /dev/null and b/static/images/icon_fingerprint_0.png differ
diff --git a/static/images/icon_fingerprint_1.png b/static/images/icon_fingerprint_1.png
new file mode 100755
index 0000000..ba603bf
Binary files /dev/null and b/static/images/icon_fingerprint_1.png differ
diff --git a/static/images/icon_fingerprint_2.png b/static/images/icon_fingerprint_2.png
new file mode 100755
index 0000000..89dea31
Binary files /dev/null and b/static/images/icon_fingerprint_2.png differ
diff --git a/static/images/icon_fingerprint_3.png b/static/images/icon_fingerprint_3.png
new file mode 100755
index 0000000..a106ee5
Binary files /dev/null and b/static/images/icon_fingerprint_3.png differ
diff --git a/static/images/icon_fingerprint_4.png b/static/images/icon_fingerprint_4.png
new file mode 100755
index 0000000..0c45326
Binary files /dev/null and b/static/images/icon_fingerprint_4.png differ
diff --git a/static/images/icon_fingerprint_5.png b/static/images/icon_fingerprint_5.png
new file mode 100644
index 0000000..a1e9b54
Binary files /dev/null and b/static/images/icon_fingerprint_5.png differ
diff --git a/static/images/icon_fingerprint_white.png b/static/images/icon_fingerprint_white.png
new file mode 100755
index 0000000..5a328b7
Binary files /dev/null and b/static/images/icon_fingerprint_white.png differ
diff --git a/static/images/icon_record.png b/static/images/icon_record.png
new file mode 100644
index 0000000..3050172
Binary files /dev/null and b/static/images/icon_record.png differ
diff --git a/stores/basic.js b/stores/basic.js
index e74af09..869ff81 100644
--- a/stores/basic.js
+++ b/stores/basic.js
@@ -111,6 +111,46 @@ const pages = [
name: 'addLockGuid',
path: '/pages/addLockGuid/addLockGuid',
tabBar: false
+ },
+ {
+ name: 'cardList',
+ path: '/pages/cardList/cardList',
+ tabBar: false
+ },
+ {
+ name: 'createCard',
+ path: '/pages/createCard/createCard',
+ tabBar: false
+ },
+ {
+ name: 'cardDetail',
+ path: '/pages/cardDetail/cardDetail',
+ tabBar: false
+ },
+ {
+ name: 'bindCard',
+ path: '/pages/bindCard/bindCard',
+ tabBar: false
+ },
+ {
+ name: 'fingerprintList',
+ path: '/pages/fingerprintList/fingerprintList',
+ tabBar: false
+ },
+ {
+ name: 'createFingerprint',
+ path: '/pages/createFingerprint/createFingerprint',
+ tabBar: false
+ },
+ {
+ name: 'fingerprintDetail',
+ path: '/pages/fingerprintDetail/fingerprintDetail',
+ tabBar: false
+ },
+ {
+ name: 'bindFingerprint',
+ path: '/pages/bindFingerprint/bindFingerprint',
+ tabBar: false
}
]
@@ -134,10 +174,27 @@ export const useBasicStore = defineStore('basic', {
return page.name === data.name
})
if (page) {
- uni.$u.route({
- url: page.path,
- ...data
- })
+ if (!data.type || data.type === 'navigateTo' || data.type === 'to') {
+ let url = `${page.path}?`
+ if (data.params) {
+ Object.keys(data.params).forEach((key, index) => {
+ if (index === 0) {
+ url += `${key}=${data.params[key]}`
+ } else {
+ url += `&${key}=${data.params[key]}`
+ }
+ })
+ }
+ uni.navigateTo({
+ url,
+ ...data
+ })
+ } else {
+ uni.$u.route({
+ url: page.path,
+ ...data
+ })
+ }
}
},
// 获取当前网络状态
diff --git a/stores/bluetooth.js b/stores/bluetooth.js
index 45cccd8..7e7ecd7 100644
--- a/stores/bluetooth.js
+++ b/stores/bluetooth.js
@@ -47,7 +47,33 @@ const subCmdIds = {
// 设置开锁密码
setLockPassword: 3,
// 重置开锁密码
- resetLockPassword: 19
+ resetLockPassword: 19,
+ // 注册卡片
+ registerCard: 24,
+ // 注册卡片确认
+ registerCardConfirm: 22,
+ // 注册卡片取消
+ registerCardCancel: 25,
+ // 注册指纹
+ registerFingerprint: 36,
+ // 注册指纹确认
+ registerFingerprintConfirm: 32,
+ // 注册指纹取消
+ registerFingerprintCancel: 37,
+ // 注册指纹过程
+ registerFingerprintProcess: 33,
+ // 注册人脸
+ registerFace: 81,
+ // 注册人脸确认
+ registerFaceConfirm: 82,
+ // 注册人脸取消
+ registerFaceCancel: 86,
+ // 注册遥控
+ registerRemote: 26,
+ // 注册遥控确认
+ registerRemoteConfirm: 27,
+ // 注册遥控取消
+ registerRemoteCancel: 28
}
export const useBluetoothStore = defineStore('ble', {
@@ -102,10 +128,12 @@ export const useBluetoothStore = defineStore('ble', {
// 更新服务端时间戳
async updateServerTimestamp() {
const { code, data, message } = await getServerDatetime({})
+ let timestamp = new Date().getTime()
if (code === 0) {
this.serverTimestamp = parseInt(data.date / 1000, 10)
+ timestamp = data.date
}
- return { code, data, message }
+ return { code, data: { ...data, timestamp }, message }
},
// 关闭全部蓝牙监听并关闭蓝牙模拟
closeAllBluetooth() {
@@ -368,6 +396,40 @@ export const useBluetoothStore = defineStore('ble', {
}
})
break
+ case subCmdIds.registerCard:
+ case subCmdIds.registerFingerprint:
+ case subCmdIds.registerFace:
+ case subCmdIds.registerRemote:
+ that.updateCurrentLockInfo({
+ ...that.currentLockInfo,
+ token: decrypted.slice(5, 9)
+ })
+ characteristicValueCallback({
+ code: decrypted[2],
+ data: {
+ status: decrypted[9],
+ no: decrypted[10] * 256 + decrypted[11]
+ }
+ })
+ break
+ case subCmdIds.registerCardConfirm:
+ uni.$emit('registerCardConfirm', {
+ status: decrypted[5],
+ cardNumber: decrypted[6] * 256 + decrypted[7]
+ })
+ break
+ case subCmdIds.registerFingerprintConfirm:
+ uni.$emit('registerFingerprintConfirm', {
+ status: decrypted[5],
+ fingerprintNumber: decrypted[6] * 256 + decrypted[7]
+ })
+ break
+ case subCmdIds.registerFingerprintProcess:
+ uni.$emit('registerFingerprintProcess', {
+ status: decrypted[5],
+ process: decrypted[6]
+ })
+ break
}
break
case cmdIds.openDoor:
@@ -787,8 +849,7 @@ export const useBluetoothStore = defineStore('ble', {
// 倒序 weekStr
weekStr = weekStr.split('').reverse().join('')
- const weekRound = parseInt(weekStr, 2)
- return weekRound
+ return parseInt(weekStr, 2)
},
// 查找设备并连接
async searchAndConnectDevice() {
@@ -1078,11 +1139,11 @@ export const useBluetoothStore = defineStore('ble', {
return headArray
},
// 生成包尾 头部数据+内容数据
- createPackageEnd(headArray, conentArray) {
+ createPackageEnd(headArray, contentArray) {
// 拼接头部和内容
- let mergerArray = new Uint8Array(headArray.length + conentArray.length)
+ let mergerArray = new Uint8Array(headArray.length + contentArray.length)
mergerArray.set(headArray)
- mergerArray.set(conentArray, headArray.length)
+ mergerArray.set(contentArray, headArray.length)
// crc加密
const crcResult = crc.crc16kermit(mergerArray)
@@ -1107,13 +1168,13 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code !== 0) {
- return srerchResult
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -1126,16 +1187,16 @@ export const useBluetoothStore = defineStore('ble', {
}
const headArray = this.createPackageHeader(0, 42)
- const conentArray = new Uint8Array(42)
+ const contentArray = new Uint8Array(42)
- conentArray[0] = cmdIds.getPublicKey / 256
- conentArray[1] = cmdIds.getPublicKey % 256
+ contentArray[0] = cmdIds.getPublicKey / 256
+ contentArray[1] = cmdIds.getPublicKey % 256
for (let i = 0; i < name.length; i++) {
- conentArray[i + 2] = name.charCodeAt(i)
+ contentArray[i + 2] = name.charCodeAt(i)
}
- const packageArray = this.createPackageEnd(headArray, conentArray)
+ const packageArray = this.createPackageEnd(headArray, contentArray)
await this.writeBLECharacteristicValue(packageArray)
return this.getWriteResult()
@@ -1153,13 +1214,13 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code !== 0) {
- return srerchResult
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -1173,36 +1234,36 @@ export const useBluetoothStore = defineStore('ble', {
const length = 2 + 40 + 40 + 20 + 4 + 1 + 16
const headArray = this.createPackageHeader(2, length)
- const conentArray = new Uint8Array(length)
+ const contentArray = new Uint8Array(length)
- conentArray[0] = cmdIds.getCommKey / 256
- conentArray[1] = cmdIds.getCommKey % 256
+ contentArray[0] = cmdIds.getCommKey / 256
+ contentArray[1] = cmdIds.getCommKey % 256
for (let i = 0; i < name.length; i++) {
- conentArray[i + 2] = name.charCodeAt(i)
+ contentArray[i + 2] = name.charCodeAt(i)
}
for (let i = 0; i < keyId.length; i++) {
- conentArray[i + 42] = keyId.charCodeAt(i)
+ contentArray[i + 42] = keyId.charCodeAt(i)
}
for (let i = 0; i < authUid.length; i++) {
- conentArray[i + 82] = authUid.charCodeAt(i)
+ contentArray[i + 82] = authUid.charCodeAt(i)
}
- conentArray.set(this.timestampToArray(nowTime), 102)
+ contentArray.set(this.timestampToArray(nowTime), 102)
- conentArray[106] = 16
+ contentArray[106] = 16
const md5Array = this.md5Encrypte(
authUid + keyId,
- conentArray.slice(102, 106),
+ contentArray.slice(102, 106),
this.currentLockInfo.publicKey
)
- conentArray.set(md5Array, 107)
+ contentArray.set(md5Array, 107)
- const cebArray = sm4.encrypt(conentArray, conentArray.slice(2, 18), {
+ const cebArray = sm4.encrypt(contentArray, contentArray.slice(2, 18), {
mode: 'ecb',
output: 'array'
})
@@ -1240,13 +1301,13 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code !== 0) {
- return srerchResult
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -1262,19 +1323,19 @@ export const useBluetoothStore = defineStore('ble', {
const length = 2 + 40 + 20 + 4 + 4
const headArray = this.createPackageHeader(3, length)
- const conentArray = new Uint8Array(length)
- conentArray[0] = cmdIds.getLockStatus / 256
- conentArray[1] = cmdIds.getLockStatus % 256
+ const contentArray = new Uint8Array(length)
+ contentArray[0] = cmdIds.getLockStatus / 256
+ contentArray[1] = cmdIds.getLockStatus % 256
for (let i = 0; i < name.length; i++) {
- conentArray[i + 2] = name.charCodeAt(i)
+ contentArray[i + 2] = name.charCodeAt(i)
}
for (let i = 0; i < uid.length; i++) {
- conentArray[i + 42] = uid.charCodeAt(i)
+ contentArray[i + 42] = uid.charCodeAt(i)
}
- conentArray.set(this.timestampToArray(nowTime), 62)
- conentArray.set(this.timestampToArray(localTime), 66)
+ contentArray.set(this.timestampToArray(nowTime), 62)
+ contentArray.set(this.timestampToArray(localTime), 66)
- const cebArray = sm4.encrypt(conentArray, this.currentLockInfo.commKey, {
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
mode: 'ecb',
output: 'array'
})
@@ -1312,13 +1373,13 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code !== 0) {
- return srerchResult
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -1352,51 +1413,51 @@ export const useBluetoothStore = defineStore('ble', {
const length =
2 + 40 + 20 + 40 + 20 + 1 + 1 + 4 + 4 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 20 + 4 + 1 + 16
const headArray = this.createPackageHeader(3, length)
- const conentArray = new Uint8Array(length)
+ const contentArray = new Uint8Array(length)
- conentArray[0] = cmdIds.addUser / 256
- conentArray[1] = cmdIds.addUser % 256
+ contentArray[0] = cmdIds.addUser / 256
+ contentArray[1] = cmdIds.addUser % 256
for (let i = 0; i < name.length; i++) {
- conentArray[i + 2] = name.charCodeAt(i)
+ contentArray[i + 2] = name.charCodeAt(i)
}
for (let i = 0; i < authUid.length; i++) {
- conentArray[i + 42] = authUid.charCodeAt(i)
+ contentArray[i + 42] = authUid.charCodeAt(i)
}
for (let i = 0; i < keyId.length; i++) {
- conentArray[i + 62] = keyId.charCodeAt(i)
+ contentArray[i + 62] = keyId.charCodeAt(i)
}
for (let i = 0; i < uid.length; i++) {
- conentArray[i + 102] = uid.charCodeAt(i)
+ contentArray[i + 102] = uid.charCodeAt(i)
}
- conentArray[122] = openMode
- conentArray[123] = keyType
+ contentArray[122] = openMode
+ contentArray[123] = keyType
- conentArray.set(this.timestampToArray(startDate), 124)
- conentArray.set(this.timestampToArray(expireDate), 128)
+ contentArray.set(this.timestampToArray(startDate), 124)
+ contentArray.set(this.timestampToArray(expireDate), 128)
- conentArray[132] = useCountLimit / 256
- conentArray[133] = useCountLimit % 256
+ contentArray[132] = useCountLimit / 256
+ contentArray[133] = useCountLimit % 256
- conentArray[134] = isRound
- conentArray[135] = weekRound
- conentArray[136] = startHour
- conentArray[137] = startMin
- conentArray[138] = endHour
- conentArray[139] = endMin
- conentArray[140] = role
+ contentArray[134] = isRound
+ contentArray[135] = weekRound
+ contentArray[136] = startHour
+ contentArray[137] = startMin
+ contentArray[138] = endHour
+ contentArray[139] = endMin
+ contentArray[140] = role
for (let i = 0; i < password.length; i++) {
- conentArray[i + 141] = password.charCodeAt(i)
+ contentArray[i + 141] = password.charCodeAt(i)
}
- conentArray.set(this.currentLockInfo.token || this.timestampToArray(startDate), 161)
+ contentArray.set(this.currentLockInfo.token || this.timestampToArray(startDate), 161)
- conentArray[165] = 16
+ contentArray[165] = 16
const md5Array = this.md5Encrypte(
authUid + keyId,
@@ -1404,9 +1465,9 @@ export const useBluetoothStore = defineStore('ble', {
this.currentLockInfo.publicKey
)
- conentArray.set(md5Array, 166)
+ contentArray.set(md5Array, 166)
- const cebArray = sm4.encrypt(conentArray, this.currentLockInfo.commKey, {
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
mode: 'ecb',
output: 'array'
})
@@ -1418,7 +1479,6 @@ export const useBluetoothStore = defineStore('ble', {
// 获取写入结果
getWriteResult(request, params) {
const $user = useUserStore()
- const that = this
return new Promise(resolve => {
const getWriteResultTimer = setTimeout(() => {
log.info({
@@ -1452,27 +1512,6 @@ export const useBluetoothStore = defineStore('ble', {
})
clearTimeout(getWriteResultTimer)
resolve(await request(params))
- } else if (data.code === 4) {
- log.info({
- code: 4,
- message: `锁端数据返回,无操作权限,添加用户后重新执行`,
- data: {
- lockName: this.currentLockInfo.name,
- lockId: this.currentLockInfo.lockId,
- uid: $user.userInfo.uid,
- nickname: $user.userInfo.nickname,
- mobile: $user.userInfo.mobile,
- email: $user.userInfo.email
- }
- })
- const checkResult = await that.checkLockUser(true)
- if (checkResult) {
- clearTimeout(getWriteResultTimer)
- resolve(await request(params))
- } else {
- clearTimeout(getWriteResultTimer)
- resolve(data)
- }
} else {
clearTimeout(getWriteResultTimer)
resolve(data)
@@ -1573,10 +1612,10 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code === 0) {
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code === 0) {
log.info({
- code: srerchResult.code,
+ code: searchResult.code,
message: `开门中,已搜索到设备`,
data: {
lockName: this.currentLockInfo.name,
@@ -1587,9 +1626,9 @@ export const useBluetoothStore = defineStore('ble', {
email: $user.userInfo.email
}
})
- } else if (srerchResult.code === -1) {
+ } else if (searchResult.code === -1) {
log.info({
- code: srerchResult.code,
+ code: searchResult.code,
message: `开门失败,搜索失败`,
data: {
lockName: this.currentLockInfo.name,
@@ -1600,9 +1639,9 @@ export const useBluetoothStore = defineStore('ble', {
email: $user.userInfo.email
}
})
- } else if (srerchResult.code === -2) {
+ } else if (searchResult.code === -2) {
log.info({
- code: srerchResult.code,
+ code: searchResult.code,
message: `开门失败,锁已被重置`,
data: {
lockName: this.currentLockInfo.name,
@@ -1613,9 +1652,9 @@ export const useBluetoothStore = defineStore('ble', {
email: $user.userInfo.email
}
})
- } else if (srerchResult.code === -3) {
+ } else if (searchResult.code === -3) {
log.info({
- code: srerchResult.code,
+ code: searchResult.code,
message: `开门失败,设备已找到但uuid异常`,
data: {
lockName: this.currentLockInfo.name,
@@ -1626,9 +1665,9 @@ export const useBluetoothStore = defineStore('ble', {
email: $user.userInfo.email
}
})
- } else if (srerchResult.code === -4) {
+ } else if (searchResult.code === -4) {
log.info({
- code: srerchResult.code,
+ code: searchResult.code,
message: `开门失败,未搜索到操作设备`,
data: {
lockName: this.currentLockInfo.name,
@@ -1639,9 +1678,9 @@ export const useBluetoothStore = defineStore('ble', {
email: $user.userInfo.email
}
})
- } else if (srerchResult.code === -22) {
+ } else if (searchResult.code === -22) {
log.info({
- code: srerchResult.code,
+ code: searchResult.code,
message: `开门失败,微信附近设备权限未开启`,
data: {
lockName: this.currentLockInfo.name,
@@ -1652,9 +1691,9 @@ export const useBluetoothStore = defineStore('ble', {
email: $user.userInfo.email
}
})
- } else if (srerchResult.code === -23) {
+ } else if (searchResult.code === -23) {
log.info({
- code: srerchResult.code,
+ code: searchResult.code,
message: `开门失败,微信定位权限未开启`,
data: {
lockName: this.currentLockInfo.name,
@@ -1666,12 +1705,12 @@ export const useBluetoothStore = defineStore('ble', {
}
})
}
- if (srerchResult.code !== 0) {
+ if (searchResult.code !== 0) {
return { code: -1 }
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -1760,27 +1799,27 @@ export const useBluetoothStore = defineStore('ble', {
const length = 2 + 40 + 20 + 1 + 4 + 4 + 1 + 16 + 16
const headArray = this.createPackageHeader(3, length)
- const conentArray = new Uint8Array(length)
- conentArray[0] = cmdIds.openDoor / 256
- conentArray[1] = cmdIds.openDoor % 256
+ const contentArray = new Uint8Array(length)
+ contentArray[0] = cmdIds.openDoor / 256
+ contentArray[1] = cmdIds.openDoor % 256
for (let i = 0; i < name.length; i++) {
- conentArray[i + 2] = name.charCodeAt(i)
+ contentArray[i + 2] = name.charCodeAt(i)
}
for (let i = 0; i < uid.length; i++) {
- conentArray[i + 42] = uid.charCodeAt(i)
+ contentArray[i + 42] = uid.charCodeAt(i)
}
- conentArray[62] = openMode
+ contentArray[62] = openMode
- conentArray.set(this.timestampToArray(openTime), 63)
+ contentArray.set(this.timestampToArray(openTime), 63)
console.log('开门时token', this.currentLockInfo.token)
- conentArray.set(this.currentLockInfo.token || this.timestampToArray(openTime), 67)
+ contentArray.set(this.currentLockInfo.token || this.timestampToArray(openTime), 67)
- conentArray[71] = 16
+ contentArray[71] = 16
const md5Array = this.md5Encrypte(
name + uid,
@@ -1788,13 +1827,13 @@ export const useBluetoothStore = defineStore('ble', {
this.currentLockInfo.signKey
)
- conentArray.set(md5Array, 72)
+ contentArray.set(md5Array, 72)
for (let i = 0; i < onlineToken.length; i++) {
- conentArray[i + 88] = onlineToken.charCodeAt(i)
+ contentArray[i + 88] = onlineToken.charCodeAt(i)
}
- const cebArray = sm4.encrypt(conentArray, this.currentLockInfo.commKey, {
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
mode: 'ecb',
output: 'array'
})
@@ -1839,13 +1878,13 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code !== 0) {
- return srerchResult
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -1861,40 +1900,40 @@ export const useBluetoothStore = defineStore('ble', {
const length = 2 + 40 + 20 + 40 + 20 + 2 + userNoList.length + 4 + 1 + 16
const headArray = this.createPackageHeader(3, length)
- const conentArray = new Uint8Array(length)
+ const contentArray = new Uint8Array(length)
- conentArray[0] = cmdIds.cleanUser / 256
- conentArray[1] = cmdIds.cleanUser % 256
+ contentArray[0] = cmdIds.cleanUser / 256
+ contentArray[1] = cmdIds.cleanUser % 256
for (let i = 0; i < name.length; i++) {
- conentArray[i + 2] = name.charCodeAt(i)
+ contentArray[i + 2] = name.charCodeAt(i)
}
for (let i = 0; i < authUid.length; i++) {
- conentArray[i + 42] = authUid.charCodeAt(i)
+ contentArray[i + 42] = authUid.charCodeAt(i)
}
for (let i = 0; i < keyId.length; i++) {
- conentArray[i + 62] = keyId.charCodeAt(i)
+ contentArray[i + 62] = keyId.charCodeAt(i)
}
for (let i = 0; i < uid.length; i++) {
- conentArray[i + 102] = uid.charCodeAt(i)
+ contentArray[i + 102] = uid.charCodeAt(i)
}
- conentArray[122] = userNoList.length / 256
- conentArray[123] = userNoList.length % 256
+ contentArray[122] = userNoList.length / 256
+ contentArray[123] = userNoList.length % 256
for (let i = 0; i < userNoList.length; i++) {
- conentArray[i + 124] = userNoList[i]
+ contentArray[i + 124] = userNoList[i]
}
- conentArray.set(
+ contentArray.set(
this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]),
124 + userNoList.length
)
- conentArray[128 + userNoList.length] = 16
+ contentArray[128 + userNoList.length] = 16
const md5Array = this.md5Encrypte(
authUid + keyId,
@@ -1902,9 +1941,9 @@ export const useBluetoothStore = defineStore('ble', {
this.currentLockInfo.publicKey
)
- conentArray.set(md5Array, 129 + userNoList.length)
+ contentArray.set(md5Array, 129 + userNoList.length)
- const cebArray = sm4.encrypt(conentArray, this.currentLockInfo.commKey, {
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
mode: 'ecb',
output: 'array'
})
@@ -1928,13 +1967,13 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code !== 0) {
- return srerchResult
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -1957,29 +1996,29 @@ export const useBluetoothStore = defineStore('ble', {
const { name, authUid } = data
const length = 2 + 40 + 20 + 4 + 1 + 16
const headArray = this.createPackageHeader(3, length)
- const conentArray = new Uint8Array(length)
+ const contentArray = new Uint8Array(length)
- conentArray[0] = cmdIds.resetDevice / 256
- conentArray[1] = cmdIds.resetDevice % 256
+ contentArray[0] = cmdIds.resetDevice / 256
+ contentArray[1] = cmdIds.resetDevice % 256
for (let i = 0; i < name.length; i++) {
- conentArray[i + 2] = name.charCodeAt(i)
+ contentArray[i + 2] = name.charCodeAt(i)
}
for (let i = 0; i < authUid.length; i++) {
- conentArray[i + 42] = authUid.charCodeAt(i)
+ contentArray[i + 42] = authUid.charCodeAt(i)
}
- conentArray.set(this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]), 62)
- conentArray[66] = 16
+ contentArray.set(this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]), 62)
+ contentArray[66] = 16
const md5Array = this.md5Encrypte(
name,
this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]),
this.currentLockInfo.publicKey
)
- conentArray.set(md5Array, 67)
+ contentArray.set(md5Array, 67)
- const cebArray = sm4.encrypt(conentArray, this.currentLockInfo.commKey, {
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
mode: 'ecb',
output: 'array'
})
@@ -2003,13 +2042,13 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code !== 0) {
- return srerchResult
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -2032,27 +2071,27 @@ export const useBluetoothStore = defineStore('ble', {
const { keyId, uid } = data
const length = 2 + 1 + 1 + 40 + 20 + 4 + 1 + 16
const headArray = this.createPackageHeader(3, length)
- const conentArray = new Uint8Array(length)
+ const contentArray = new Uint8Array(length)
- conentArray[0] = cmdIds.expandCmd / 256
- conentArray[1] = cmdIds.expandCmd % 256
+ contentArray[0] = cmdIds.expandCmd / 256
+ contentArray[1] = cmdIds.expandCmd % 256
// 子命令
- conentArray[2] = subCmdIds.resetLockPassword
+ contentArray[2] = subCmdIds.resetLockPassword
- conentArray[3] = length - 4
+ contentArray[3] = length - 4
for (let i = 0; i < keyId.length; i++) {
- conentArray[i + 4] = keyId.charCodeAt(i)
+ contentArray[i + 4] = keyId.charCodeAt(i)
}
for (let i = 0; i < uid.length; i++) {
- conentArray[i + 44] = uid.charCodeAt(i)
+ contentArray[i + 44] = uid.charCodeAt(i)
}
- conentArray.set(this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]), 64)
+ contentArray.set(this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]), 64)
- conentArray[68] = 16
+ contentArray[68] = 16
const md5Array = this.md5Encrypte(
keyId + uid,
@@ -2060,9 +2099,9 @@ export const useBluetoothStore = defineStore('ble', {
this.currentLockInfo.signKey
)
- conentArray.set(md5Array, 69)
+ contentArray.set(md5Array, 69)
- const cebArray = sm4.encrypt(conentArray, this.currentLockInfo.commKey, {
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
mode: 'ecb',
output: 'array'
})
@@ -2086,13 +2125,13 @@ export const useBluetoothStore = defineStore('ble', {
// 确认设备连接正常
if (!this.currentLockInfo.connected) {
- const srerchResult = await this.searchAndConnectDevice()
- if (srerchResult.code !== 0) {
- return srerchResult
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
}
this.updateCurrentLockInfo({
...this.currentLockInfo,
- deviceId: srerchResult.data.deviceId
+ deviceId: searchResult.data.deviceId
})
console.log('设备ID:', this.currentLockInfo.deviceId)
const result = await this.connectBluetoothDevice()
@@ -2115,43 +2154,43 @@ export const useBluetoothStore = defineStore('ble', {
const { keyId, uid, pwdNo, operate, isAdmin, pwd, userCountLimit, startTime, endTime } = data
const length = 2 + 1 + 1 + 40 + 20 + 2 + 1 + 1 + 20 + 2 + 4 + 4 + 4 + 1 + 16
const headArray = this.createPackageHeader(3, length)
- const conentArray = new Uint8Array(length)
+ const contentArray = new Uint8Array(length)
- conentArray[0] = cmdIds.expandCmd / 256
- conentArray[1] = cmdIds.expandCmd % 256
+ contentArray[0] = cmdIds.expandCmd / 256
+ contentArray[1] = cmdIds.expandCmd % 256
// 子命令
- conentArray[2] = subCmdIds.setLockPassword
+ contentArray[2] = subCmdIds.setLockPassword
- conentArray[3] = length - 3
+ contentArray[3] = length - 3
for (let i = 0; i < keyId.length; i++) {
- conentArray[i + 4] = keyId.charCodeAt(i)
+ contentArray[i + 4] = keyId.charCodeAt(i)
}
for (let i = 0; i < uid.length; i++) {
- conentArray[i + 44] = uid.charCodeAt(i)
+ contentArray[i + 44] = uid.charCodeAt(i)
}
- conentArray[64] = pwdNo / 256
- conentArray[65] = pwdNo % 256
+ contentArray[64] = pwdNo / 256
+ contentArray[65] = pwdNo % 256
- conentArray[66] = operate
- conentArray[67] = isAdmin
+ contentArray[66] = operate
+ contentArray[67] = isAdmin
for (let i = 0; i < pwd.length; i++) {
- conentArray[i + 68] = pwd.charCodeAt(i)
+ contentArray[i + 68] = pwd.charCodeAt(i)
}
- conentArray[88] = userCountLimit / 256
- conentArray[89] = userCountLimit % 256
+ contentArray[88] = userCountLimit / 256
+ contentArray[89] = userCountLimit % 256
- conentArray.set(this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]), 90)
+ contentArray.set(this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]), 90)
- conentArray.set(this.timestampToArray(startTime), 94)
- conentArray.set(this.timestampToArray(endTime), 98)
+ contentArray.set(this.timestampToArray(startTime), 94)
+ contentArray.set(this.timestampToArray(endTime), 98)
- conentArray[102] = 16
+ contentArray[102] = 16
const md5Array = this.md5Encrypte(
keyId + uid,
@@ -2159,9 +2198,9 @@ export const useBluetoothStore = defineStore('ble', {
this.currentLockInfo.signKey
)
- conentArray.set(md5Array, 103)
+ contentArray.set(md5Array, 103)
- const cebArray = sm4.encrypt(conentArray, this.currentLockInfo.commKey, {
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
mode: 'ecb',
output: 'array'
})
@@ -2171,6 +2210,203 @@ export const useBluetoothStore = defineStore('ble', {
await this.writeBLECharacteristicValue(packageArray)
return this.getWriteResult(this.setLockPassword, data)
+ },
+ parseTimeToList(timeString) {
+ let timeList = [0, 0, 0, 0]
+
+ if (timeString.includes(':')) {
+ let timeParts = timeString.split(':')
+ timeList[2] = parseInt(timeParts[0], 10)
+ timeList[3] = parseInt(timeParts[1], 10)
+ }
+
+ return new Uint8Array(timeList)
+ },
+ // 注册身份认证
+ async registerAuthentication(data) {
+ // 确认蓝牙状态正常
+ if (this.bluetoothStatus !== 0) {
+ console.log('写入未执行', this.bluetoothStatus)
+ this.getBluetoothStatus()
+ return {
+ code: -1
+ }
+ }
+
+ // 确认设备连接正常
+ if (!this.currentLockInfo.connected) {
+ const searchResult = await this.searchAndConnectDevice()
+ if (searchResult.code !== 0) {
+ return searchResult
+ }
+ this.updateCurrentLockInfo({
+ ...this.currentLockInfo,
+ deviceId: searchResult.data.deviceId
+ })
+ console.log('设备ID:', this.currentLockInfo.deviceId)
+ const result = await this.connectBluetoothDevice()
+ console.log('连接结果', result)
+ if (!result) {
+ return {
+ code: -1
+ }
+ }
+ }
+
+ // 检查是否已添加为用户
+ const checkResult = await this.checkLockUser()
+ if (!checkResult) {
+ return {
+ code: -1
+ }
+ }
+
+ const {
+ type,
+ keyId,
+ uid,
+ no,
+ operate,
+ isAdmin,
+ userCountLimit,
+ isForce,
+ isRound,
+ weekDays,
+ startDate,
+ endDate,
+ startTime,
+ endTime
+ } = data
+
+ const length = 2 + 1 + 1 + 40 + 20 + 2 + 2 + 1 + 1 + 1 + 4 + 1 + 1 + 4 + 4 + 4 + 4 + 1 + 16
+ const headArray = this.createPackageHeader(3, length)
+ const contentArray = new Uint8Array(length)
+
+ contentArray[0] = cmdIds.expandCmd / 256
+ contentArray[1] = cmdIds.expandCmd % 256
+
+ // 子命令
+ if (type === 'card') {
+ contentArray[2] = subCmdIds.registerCard
+ } else if (type === 'fingerprint') {
+ contentArray[2] = subCmdIds.registerFingerprint
+ } else if (type === 'face') {
+ contentArray[2] = subCmdIds.registerFace
+ } else {
+ contentArray[2] = subCmdIds.registerRemote
+ }
+
+ contentArray[3] = length - 3
+
+ for (let i = 0; i < keyId.length; i++) {
+ contentArray[i + 4] = keyId.charCodeAt(i)
+ }
+
+ for (let i = 0; i < uid.length; i++) {
+ contentArray[i + 44] = uid.charCodeAt(i)
+ }
+
+ contentArray[64] = (no || 0) / 256
+ contentArray[65] = (no || 0) % 256
+
+ contentArray[66] = (userCountLimit || 0xffff) / 256
+ contentArray[67] = (userCountLimit || 0xffff) % 256
+
+ contentArray[68] = operate
+ contentArray[69] = isAdmin || 0
+ contentArray[70] = isForce || 0
+
+ contentArray.set(this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]), 71)
+
+ contentArray[75] = isRound
+ contentArray[76] = this.convertWeekdaysToNumber(weekDays)
+
+ contentArray.set(this.timestampToArray(startDate), 77)
+ contentArray.set(this.timestampToArray(endDate), 81)
+
+ if (isRound) {
+ contentArray.set(this.parseTimeToList(startTime), 85)
+ contentArray.set(this.parseTimeToList(endTime), 89)
+ } else {
+ contentArray.set(new Uint8Array([0, 0, 0, 0]), 85)
+ contentArray.set(new Uint8Array([0, 0, 0, 0]), 89)
+ }
+
+ contentArray[93] = 16
+
+ const md5Array = this.md5Encrypte(
+ keyId + uid,
+ this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]),
+ this.currentLockInfo.signKey
+ )
+
+ contentArray.set(md5Array, 94)
+
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
+ mode: 'ecb',
+ output: 'array'
+ })
+
+ const packageArray = this.createPackageEnd(headArray, cebArray)
+
+ await this.writeBLECharacteristicValue(packageArray)
+
+ return this.getWriteResult(this.registerAuthentication, data)
+ },
+ // 注册身份认证取消
+ async registerAuthenticationCancel(data) {
+ const { type, keyId, uid } = data
+
+ const length = 2 + 1 + 1 + 40 + 20 + 4 + 1 + 16
+ const headArray = this.createPackageHeader(3, length)
+ const contentArray = new Uint8Array(length)
+
+ contentArray[0] = cmdIds.expandCmd / 256
+ contentArray[1] = cmdIds.expandCmd % 256
+
+ // 子命令
+ if (type === 'card') {
+ contentArray[2] = subCmdIds.registerCardCancel
+ } else if (type === 'fingerprint') {
+ contentArray[2] = subCmdIds.registerFingerprintCancel
+ } else if (type === 'face') {
+ contentArray[2] = subCmdIds.registerFaceCancel
+ } else {
+ contentArray[2] = subCmdIds.registerRemoteCancel
+ }
+
+ contentArray[3] = length - 3
+
+ for (let i = 0; i < keyId.length; i++) {
+ contentArray[i + 4] = keyId.charCodeAt(i)
+ }
+
+ for (let i = 0; i < uid.length; i++) {
+ contentArray[i + 44] = uid.charCodeAt(i)
+ }
+
+ contentArray.set(this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]), 64)
+
+ contentArray[68] = 16
+
+ const md5Array = this.md5Encrypte(
+ keyId + uid,
+ this.currentLockInfo.token || new Uint8Array([0, 0, 0, 0]),
+ this.currentLockInfo.signKey
+ )
+
+ contentArray.set(md5Array, 69)
+
+ const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
+ mode: 'ecb',
+ output: 'array'
+ })
+
+ const packageArray = this.createPackageEnd(headArray, cebArray)
+
+ await this.writeBLECharacteristicValue(packageArray)
+
+ return this.getWriteResult(this.registerAuthenticationCancel, data)
}
}
})
diff --git a/unocss.config.js b/unocss.config.js
new file mode 100644
index 0000000..7528dde
--- /dev/null
+++ b/unocss.config.js
@@ -0,0 +1,27 @@
+import presetWeapp from 'unocss-preset-weapp'
+import { extractorAttributify, transformerClass } from 'unocss-preset-weapp/transformer'
+
+const { presetWeappAttributify, transformerAttributify } = extractorAttributify()
+
+export default {
+ presets: [
+ // https://github.com/MellowCo/unocss-preset-weapp
+ presetWeapp(),
+ // attributify autocomplete
+ presetWeappAttributify()
+ ],
+ shortcuts: [
+ {
+ 'border-base': 'border border-gray-500_10',
+ center: 'flex justify-center items-center'
+ }
+ ],
+
+ transformers: [
+ // https://github.com/MellowCo/unocss-preset-weapp/tree/main/src/transformer/transformerAttributify
+ transformerAttributify(),
+
+ // https://github.com/MellowCo/unocss-preset-weapp/tree/main/src/transformer/transformerClass
+ transformerClass()
+ ]
+}
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..556e66f
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,16 @@
+import { defineConfig } from 'vite'
+import uni from '@dcloudio/vite-plugin-uni'
+
+// https://vitejs.dev/config/
+export default defineConfig(async () => {
+ const UnoCss = await import('unocss/vite').then(i => i.default)
+
+ return {
+ plugins: [
+ uni(),
+
+ // https://github.com/unocss/unocss
+ UnoCss()
+ ]
+ }
+})