diff --git a/package.json b/package.json index 87deb83..33e20c4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "azon-seeker", "displayName": "Azon Seeker", - "version": "0.5.0", + "version": "0.6.0", "private": true, "description": "Starter modify by honestfox101", "scripts": { @@ -45,6 +45,7 @@ "esno": "^4.8.0", "exceljs": "^4.4.0", "fs-extra": "^11.3.0", + "github-markdown-css": "^5.8.1", "husky": "^9.1.7", "jsdom": "^26.1.0", "kolorist": "^1.8.0", @@ -59,6 +60,7 @@ "unplugin-icons": "^22.1.0", "unplugin-vue-components": "^28.8.0", "vite": "^7.0.2", + "vite-plugin-md": "^0.21.5", "vitest": "^3.2.4", "vue": "^3.5.17", "vue-demi": "^0.14.10", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f166ad6..d654bd5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,6 +61,9 @@ importers: fs-extra: specifier: ^11.3.0 version: 11.3.0 + github-markdown-css: + specifier: ^5.8.1 + version: 5.8.1 husky: specifier: ^9.1.7 version: 9.1.7 @@ -103,9 +106,12 @@ importers: vite: specifier: ^7.0.2 version: 7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0) + vite-plugin-md: + specifier: ^0.21.5 + version: 0.21.5(@vitejs/plugin-vue@6.0.0(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))(happy-dom@8.9.0)(jsdom@26.1.0)(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.16.0)(jsdom@26.1.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0) + version: 3.2.4(@types/node@22.16.0)(happy-dom@8.9.0)(jsdom@26.1.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0) vue: specifier: ^3.5.17 version: 3.5.17(typescript@5.8.3) @@ -461,6 +467,15 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.18.20': + resolution: + { + integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==, + } + engines: { node: '>=12' } + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.25.5': resolution: { @@ -470,6 +485,15 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm@0.18.20': + resolution: + { + integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==, + } + engines: { node: '>=12' } + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.25.5': resolution: { @@ -479,6 +503,15 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-x64@0.18.20': + resolution: + { + integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.25.5': resolution: { @@ -488,6 +521,15 @@ packages: cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.18.20': + resolution: + { + integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==, + } + engines: { node: '>=12' } + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.25.5': resolution: { @@ -497,6 +539,15 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.18.20': + resolution: + { + integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.25.5': resolution: { @@ -506,6 +557,15 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': + resolution: + { + integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==, + } + engines: { node: '>=12' } + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.25.5': resolution: { @@ -515,6 +575,15 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': + resolution: + { + integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.5': resolution: { @@ -524,6 +593,15 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.18.20': + resolution: + { + integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==, + } + engines: { node: '>=12' } + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.25.5': resolution: { @@ -533,6 +611,15 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.18.20': + resolution: + { + integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==, + } + engines: { node: '>=12' } + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.25.5': resolution: { @@ -542,6 +629,15 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.18.20': + resolution: + { + integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==, + } + engines: { node: '>=12' } + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.25.5': resolution: { @@ -551,6 +647,15 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.18.20': + resolution: + { + integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==, + } + engines: { node: '>=12' } + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.25.5': resolution: { @@ -560,6 +665,15 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.18.20': + resolution: + { + integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==, + } + engines: { node: '>=12' } + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.25.5': resolution: { @@ -569,6 +683,15 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.18.20': + resolution: + { + integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==, + } + engines: { node: '>=12' } + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.25.5': resolution: { @@ -578,6 +701,15 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.18.20': + resolution: + { + integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==, + } + engines: { node: '>=12' } + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.25.5': resolution: { @@ -587,6 +719,15 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.18.20': + resolution: + { + integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==, + } + engines: { node: '>=12' } + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.25.5': resolution: { @@ -596,6 +737,15 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.18.20': + resolution: + { + integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.25.5': resolution: { @@ -614,6 +764,15 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.18.20': + resolution: + { + integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.5': resolution: { @@ -632,6 +791,15 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.18.20': + resolution: + { + integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.5': resolution: { @@ -641,6 +809,15 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.18.20': + resolution: + { + integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.25.5': resolution: { @@ -650,6 +827,15 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.18.20': + resolution: + { + integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==, + } + engines: { node: '>=12' } + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.25.5': resolution: { @@ -659,6 +845,15 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.18.20': + resolution: + { + integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==, + } + engines: { node: '>=12' } + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.25.5': resolution: { @@ -668,6 +863,15 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.18.20': + resolution: + { + integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.25.5': resolution: { @@ -819,6 +1023,13 @@ packages: integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==, } + '@jsdevtools/ez-spawn@3.0.4': + resolution: + { + integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==, + } + engines: { node: '>=10' } + '@juggle/resize-observer@3.4.0': resolution: { @@ -1069,6 +1280,20 @@ packages: cpu: [x64] os: [win32] + '@types/chai-subset@1.3.6': + resolution: + { + integrity: sha512-m8lERkkQj+uek18hXOZuec3W/fCRTrU4hrnXjH3qhHy96ytuPaPiWGgu7sJb7tZxZonO75vYAjCvpe/e4VUwRw==, + } + peerDependencies: + '@types/chai': <5.2.0 + + '@types/chai@4.3.20': + resolution: + { + integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==, + } + '@types/chai@5.2.2': resolution: { @@ -1111,6 +1336,12 @@ packages: integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==, } + '@types/linkify-it@5.0.0': + resolution: + { + integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==, + } + '@types/lodash-es@4.17.12': resolution: { @@ -1123,6 +1354,18 @@ packages: integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==, } + '@types/markdown-it@12.2.3': + resolution: + { + integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==, + } + + '@types/mdurl@2.0.0': + resolution: + { + integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==, + } + '@types/minimatch@3.0.5': resolution: { @@ -1346,6 +1589,25 @@ packages: integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==, } + '@yankeeinlondon/builder-api@1.4.1': + resolution: + { + integrity: sha512-qc6HyfqtuS06FvA5rK0L62Nmc1LnarVOt8/V/mTX2DBZlpTfIDpudpbE/7/kxjme9pP4PFMCk7cPSrprLEorjw==, + } + + '@yankeeinlondon/gray-matter@6.2.1': + resolution: + { + integrity: sha512-ZrHqB3PAin0QmxeNV3Ly3c6IDXKelGGLmGJGWoqwxI1jJjXNU80i6KWsJ0sAhzTg/UIsAtgBFcJkXS7F1ZM6eQ==, + } + engines: { node: '>=14.0' } + + '@yankeeinlondon/happy-wrapper@2.10.1': + resolution: + { + integrity: sha512-kS3HT26QSQqcZa8Me2yrb6oc/j0BTmTRR76ITRGcYlO8G1snz9wii1eCrBTx+gAo58P+e3UkxB8PTVrmjTowVA==, + } + '@zumer/snapdom@1.8.0': resolution: { @@ -1374,6 +1636,13 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-walk@8.3.4: + resolution: + { + integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==, + } + engines: { node: '>=0.4.0' } + acorn@8.15.0: resolution: { @@ -1559,6 +1828,12 @@ packages: } engines: { node: '>= 0.4' } + assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + assertion-error@2.0.1: resolution: { @@ -1687,6 +1962,13 @@ packages: } engines: { node: '>=8' } + brilliant-errors@0.7.3: + resolution: + { + integrity: sha512-WT9BkAze4SUOJfr7LUwJWNDAvynEAvUMvMPuFKu8QQKnRq+WMx3DAtHfOBJjHmHRxf748JY3CNVytSk6HH2yGg==, + } + engines: { node: '>=14.0.0' } + browserslist@4.25.1: resolution: { @@ -1739,6 +2021,14 @@ packages: } engines: { node: '>=0.2.0' } + bumpp@8.2.1: + resolution: + { + integrity: sha512-4tHKsWC2mqHQvdjZ4AXgVhS2xMsz8qQ4zYt87vGRXW5tqAjrYa/UJqy7s/dGYI2OIe9ghBdiFhKpyKEX9SXffg==, + } + engines: { node: '>=10' } + hasBin: true + bundle-name@4.1.0: resolution: { @@ -1774,6 +2064,12 @@ packages: } engines: { node: '>= 0.4' } + call-me-maybe@1.0.2: + resolution: + { + integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==, + } + callsites@3.1.0: resolution: { @@ -1781,6 +2077,13 @@ packages: } engines: { node: '>=6' } + callsites@4.2.0: + resolution: + { + integrity: sha512-kfzR4zzQtAE9PC7CzZsjl3aBNbXWuXiSeOCdLcPpBfGW8YuCqQHcRPFDbr/BPVmd3EEPVpuFzLyuT/cUhPr4OQ==, + } + engines: { node: '>=12.20' } + camelcase@8.0.0: resolution: { @@ -1794,6 +2097,13 @@ packages: integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==, } + chai@4.5.0: + resolution: + { + integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==, + } + engines: { node: '>=4' } + chai@5.2.0: resolution: { @@ -1828,6 +2138,12 @@ packages: } engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + check-error@2.1.1: resolution: { @@ -2103,6 +2419,12 @@ packages: } engines: { node: '>= 6' } + css.escape@1.5.1: + resolution: + { + integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==, + } + cssstyle@4.6.0: resolution: { @@ -2224,6 +2546,13 @@ packages: integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==, } + deep-eql@4.1.4: + resolution: + { + integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==, + } + engines: { node: '>=6' } + deep-eql@5.0.2: resolution: { @@ -2395,6 +2724,13 @@ packages: integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==, } + entities@3.0.1: + resolution: + { + integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==, + } + engines: { node: '>=0.12' } + entities@4.5.0: resolution: { @@ -2476,6 +2812,14 @@ packages: integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, } + esbuild@0.18.20: + resolution: + { + integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==, + } + engines: { node: '>=12' } + hasBin: true + esbuild@0.25.5: resolution: { @@ -2672,6 +3016,13 @@ packages: integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==, } + extend-shallow@2.0.1: + resolution: + { + integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==, + } + engines: { node: '>=0.10.0' } + fast-csv@4.3.6: resolution: { @@ -2685,6 +3036,13 @@ packages: integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, } + fast-glob@3.3.3: + resolution: + { + integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==, + } + engines: { node: '>=8.6.0' } + fast-json-patch@3.1.1: resolution: { @@ -2802,6 +3160,12 @@ packages: } engines: { node: '>=14' } + fp-ts@2.16.10: + resolution: + { + integrity: sha512-vuROzbNVfCmUkZSUbnWSltR1sbheyQbTzug7LB/46fEa1c0EucLeBaCEUE0gF3ZGUGBt9lVUiziGOhhj6K1ORA==, + } + fs-constants@1.0.0: resolution: { @@ -2884,6 +3248,12 @@ packages: } engines: { node: '>=18' } + get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + get-intrinsic@1.3.0: resolution: { @@ -2911,6 +3281,13 @@ packages: integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==, } + github-markdown-css@5.8.1: + resolution: + { + integrity: sha512-8G+PFvqigBQSWLQjyzgpa2ThD9bo7+kDsriUIidGcRhXgmcaAWUIpCZf8DavJgc+xifjbCG+GvMyWr0XMXmc7g==, + } + engines: { node: '>=10' } + glob-parent@5.1.2: resolution: { @@ -3018,6 +3395,12 @@ packages: integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==, } + happy-dom@8.9.0: + resolution: + { + integrity: sha512-JZwJuGdR7ko8L61136YzmrLv7LgTh5b8XaEM3P709mLjyQuXJ3zHTDXvUtBBahRjGlcYW0zGjIiEWizoTUGKfA==, + } + has-bigints@1.1.0: resolution: { @@ -3073,6 +3456,13 @@ packages: } engines: { node: '>= 0.4' } + he@1.2.0: + resolution: + { + integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, + } + hasBin: true + highlight.js@11.11.1: resolution: { @@ -3175,6 +3565,12 @@ packages: } engines: { node: '>=0.8.19' } + inferred-types@0.37.6: + resolution: + { + integrity: sha512-CfL5g1wR5rVwX2K5S6wSL+h9eODScum/LBwlhGRrcBIvfYppvUQM0aeRJ1BZS+QE38kGzd3v+U526+nQR7ZUkg==, + } + inflight@1.0.6: resolution: { @@ -3307,6 +3703,13 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } hasBin: true + is-extendable@0.1.1: + resolution: + { + integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==, + } + engines: { node: '>=0.10.0' } + is-extglob@2.1.1: resolution: { @@ -3690,6 +4093,27 @@ packages: integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, } + kind-of@6.0.3: + resolution: + { + integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, + } + engines: { node: '>=0.10.0' } + + kleur@3.0.3: + resolution: + { + integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, + } + engines: { node: '>=6' } + + kleur@4.1.5: + resolution: + { + integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, + } + engines: { node: '>=6' } + kolorist@1.8.0: resolution: { @@ -3750,6 +4174,12 @@ packages: } engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + linkify-it@4.0.1: + resolution: + { + integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==, + } + lint-staged@16.1.2: resolution: { @@ -3778,6 +4208,13 @@ packages: } engines: { node: '>=4' } + local-pkg@0.4.3: + resolution: + { + integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==, + } + engines: { node: '>=14' } + local-pkg@1.1.1: resolution: { @@ -3896,6 +4333,12 @@ packages: } engines: { node: '>=18' } + loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + loupe@3.1.4: resolution: { @@ -3933,6 +4376,13 @@ packages: integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, } + markdown-it@13.0.2: + resolution: + { + integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==, + } + hasBin: true + marky@1.3.0: resolution: { @@ -3946,6 +4396,12 @@ packages: } engines: { node: '>= 0.4' } + mdurl@1.0.1: + resolution: + { + integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==, + } + memorystream@0.3.1: resolution: { @@ -3953,6 +4409,13 @@ packages: } engines: { node: '>= 0.10.0' } + merge2@1.4.1: + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + } + engines: { node: '>= 8' } + micromatch@4.0.8: resolution: { @@ -4069,6 +4532,12 @@ packages: engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true + native-dash@1.25.0: + resolution: + { + integrity: sha512-vJy1ZEfR/9jpAtuvsbPE/PuaeaJLIS+p7tl/bKEMHutRzMHnmgLv1fSmbyVvL04s2qzg0rCKZX5yfX74uiPLyA==, + } + natural-compare@1.4.0: resolution: { @@ -4081,6 +4550,18 @@ packages: integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==, } + node-fetch@2.7.0: + resolution: + { + integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, + } + engines: { node: 4.x || >=6.0.0 } + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + node-forge@1.3.1: resolution: { @@ -4349,6 +4830,12 @@ packages: integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, } + pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + pathval@2.0.1: resolution: { @@ -4516,6 +5003,13 @@ packages: } engines: { node: '>=6' } + prompts@2.4.2: + resolution: + { + integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, + } + engines: { node: '>= 6' } + proto-list@1.2.4: resolution: { @@ -4728,6 +5222,14 @@ packages: engines: { node: 20 || >=22 } hasBin: true + rollup@3.29.5: + resolution: + { + integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==, + } + engines: { node: '>=14.18.0', npm: '>=8.0.0' } + hasBin: true + rollup@4.44.2: resolution: { @@ -4985,6 +5487,13 @@ packages: integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==, } + section-matter@1.0.0: + resolution: + { + integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==, + } + engines: { node: '>=4' } + seemly@0.3.10: resolution: { @@ -5128,6 +5637,12 @@ packages: } engines: { node: '>=14' } + sisteransi@1.0.5: + resolution: + { + integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, + } + slice-ansi@5.0.0: resolution: { @@ -5332,6 +5847,13 @@ packages: } engines: { node: '>=8' } + strip-bom-string@1.0.0: + resolution: + { + integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==, + } + engines: { node: '>=0.10.0' } + strip-bom@3.0.0: resolution: { @@ -5367,6 +5889,12 @@ packages: } engines: { node: '>=14.16' } + strip-literal@1.3.0: + resolution: + { + integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==, + } + strip-literal@3.0.0: resolution: { @@ -5491,6 +6019,13 @@ packages: } engines: { node: '>=12.0.0' } + tinypool@0.3.1: + resolution: + { + integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==, + } + engines: { node: '>=14.0.0' } + tinypool@1.1.1: resolution: { @@ -5505,6 +6040,13 @@ packages: } engines: { node: '>=14.0.0' } + tinyspy@1.1.1: + resolution: + { + integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==, + } + engines: { node: '>=14.0.0' } + tinyspy@4.0.3: resolution: { @@ -5546,6 +6088,12 @@ packages: } engines: { node: '>=16' } + tr46@0.0.3: + resolution: + { + integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, + } + tr46@5.1.1: resolution: { @@ -5586,6 +6134,13 @@ packages: } engines: { node: '>= 0.8.0' } + type-detect@4.1.0: + resolution: + { + integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==, + } + engines: { node: '>=4' } + type-fest@0.20.2: resolution: { @@ -5649,6 +6204,12 @@ packages: engines: { node: '>=14.17' } hasBin: true + uc.micro@1.0.6: + resolution: + { + integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==, + } + ufo@1.6.1: resolution: { @@ -5829,6 +6390,54 @@ packages: engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } hasBin: true + vite-plugin-md@0.21.5: + resolution: + { + integrity: sha512-gxiiSq2PmU2zUY5ZAFLEGmDFRV6J6gF85ns3hcvtgERibNST4gWxRSabqSZbGbHp3LEBwwK7C1CRLsl46yEiWg==, + } + peerDependencies: + vite: ^4.0.0 + + vite-plugin-md@0.22.5: + resolution: + { + integrity: sha512-ex6yQfan2teBT2uMzoIlDHRhKTOsNiyvblA9eLU/+uygpg4KikJPFeyBX300LqQ3pZ9qGHz35qoGJ0oLw47eZg==, + } + peerDependencies: + '@vitejs/plugin-vue': '>=2.3.4' + vite: ^4.0.0 || ^3.0.0 + + vite@4.5.14: + resolution: + { + integrity: sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vite@7.0.2: resolution: { @@ -5872,6 +6481,31 @@ packages: yaml: optional: true + vitest@0.25.8: + resolution: + { + integrity: sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==, + } + engines: { node: '>=v14.16.0' } + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vitest@3.2.4: resolution: { @@ -5992,6 +6626,12 @@ packages: integrity: sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q==, } + webidl-conversions@3.0.1: + resolution: + { + integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, + } + webidl-conversions@7.0.0: resolution: { @@ -6005,6 +6645,13 @@ packages: integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==, } + whatwg-encoding@2.0.0: + resolution: + { + integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==, + } + engines: { node: '>=12' } + whatwg-encoding@3.1.1: resolution: { @@ -6012,6 +6659,13 @@ packages: } engines: { node: '>=18' } + whatwg-mimetype@3.0.0: + resolution: + { + integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==, + } + engines: { node: '>=12' } + whatwg-mimetype@4.0.0: resolution: { @@ -6026,6 +6680,12 @@ packages: } engines: { node: '>=18' } + whatwg-url@5.0.0: + resolution: + { + integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, + } + when-exit@2.1.4: resolution: { @@ -6496,75 +7156,141 @@ snapshots: '@esbuild/aix-ppc64@0.25.5': optional: true + '@esbuild/android-arm64@0.18.20': + optional: true + '@esbuild/android-arm64@0.25.5': optional: true + '@esbuild/android-arm@0.18.20': + optional: true + '@esbuild/android-arm@0.25.5': optional: true + '@esbuild/android-x64@0.18.20': + optional: true + '@esbuild/android-x64@0.25.5': optional: true + '@esbuild/darwin-arm64@0.18.20': + optional: true + '@esbuild/darwin-arm64@0.25.5': optional: true + '@esbuild/darwin-x64@0.18.20': + optional: true + '@esbuild/darwin-x64@0.25.5': optional: true + '@esbuild/freebsd-arm64@0.18.20': + optional: true + '@esbuild/freebsd-arm64@0.25.5': optional: true + '@esbuild/freebsd-x64@0.18.20': + optional: true + '@esbuild/freebsd-x64@0.25.5': optional: true + '@esbuild/linux-arm64@0.18.20': + optional: true + '@esbuild/linux-arm64@0.25.5': optional: true + '@esbuild/linux-arm@0.18.20': + optional: true + '@esbuild/linux-arm@0.25.5': optional: true + '@esbuild/linux-ia32@0.18.20': + optional: true + '@esbuild/linux-ia32@0.25.5': optional: true + '@esbuild/linux-loong64@0.18.20': + optional: true + '@esbuild/linux-loong64@0.25.5': optional: true + '@esbuild/linux-mips64el@0.18.20': + optional: true + '@esbuild/linux-mips64el@0.25.5': optional: true + '@esbuild/linux-ppc64@0.18.20': + optional: true + '@esbuild/linux-ppc64@0.25.5': optional: true + '@esbuild/linux-riscv64@0.18.20': + optional: true + '@esbuild/linux-riscv64@0.25.5': optional: true + '@esbuild/linux-s390x@0.18.20': + optional: true + '@esbuild/linux-s390x@0.25.5': optional: true + '@esbuild/linux-x64@0.18.20': + optional: true + '@esbuild/linux-x64@0.25.5': optional: true '@esbuild/netbsd-arm64@0.25.5': optional: true + '@esbuild/netbsd-x64@0.18.20': + optional: true + '@esbuild/netbsd-x64@0.25.5': optional: true '@esbuild/openbsd-arm64@0.25.5': optional: true + '@esbuild/openbsd-x64@0.18.20': + optional: true + '@esbuild/openbsd-x64@0.25.5': optional: true + '@esbuild/sunos-x64@0.18.20': + optional: true + '@esbuild/sunos-x64@0.25.5': optional: true + '@esbuild/win32-arm64@0.18.20': + optional: true + '@esbuild/win32-arm64@0.25.5': optional: true + '@esbuild/win32-ia32@0.18.20': + optional: true + '@esbuild/win32-ia32@0.25.5': optional: true + '@esbuild/win32-x64@0.18.20': + optional: true + '@esbuild/win32-x64@0.25.5': optional: true @@ -6675,6 +7401,13 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.4 + '@jsdevtools/ez-spawn@3.0.4': + dependencies: + call-me-maybe: 1.0.2 + cross-spawn: 7.0.6 + string-argv: 0.3.2 + type-detect: 4.1.0 + '@juggle/resize-observer@3.4.0': {} '@mdn/browser-compat-data@6.0.23': {} @@ -6772,6 +7505,12 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.44.2': optional: true + '@types/chai-subset@1.3.6(@types/chai@4.3.20)': + dependencies: + '@types/chai': 4.3.20 + + '@types/chai@4.3.20': {} + '@types/chai@5.2.2': dependencies: '@types/deep-eql': 4.0.2 @@ -6796,12 +7535,21 @@ snapshots: '@types/katex@0.16.7': {} + '@types/linkify-it@5.0.0': {} + '@types/lodash-es@4.17.12': dependencies: '@types/lodash': 4.17.20 '@types/lodash@4.17.20': {} + '@types/markdown-it@12.2.3': + dependencies: + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 + + '@types/mdurl@2.0.0': {} + '@types/minimatch@3.0.5': {} '@types/node@14.18.63': {} @@ -6986,6 +7734,71 @@ snapshots: transitivePeerDependencies: - typescript + '@yankeeinlondon/builder-api@1.4.1(@vitejs/plugin-vue@6.0.0(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))(happy-dom@8.9.0)(jsdom@26.1.0)(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@types/markdown-it': 12.2.3 + '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@26.1.0) + fp-ts: 2.16.10 + inferred-types: 0.37.6(happy-dom@8.9.0)(jsdom@26.1.0) + markdown-it: 13.0.2 + vite-plugin-md: 0.22.5(@vitejs/plugin-vue@6.0.0(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))(happy-dom@8.9.0)(jsdom@26.1.0)(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0)) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitejs/plugin-vue' + - '@vitest/browser' + - '@vitest/ui' + - encoding + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + - vite + + '@yankeeinlondon/gray-matter@6.2.1(happy-dom@8.9.0)(jsdom@26.1.0)': + dependencies: + inferred-types: 0.37.6(happy-dom@8.9.0)(jsdom@26.1.0) + js-yaml: 4.1.0 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + '@yankeeinlondon/happy-wrapper@2.10.1(jsdom@26.1.0)': + dependencies: + fp-ts: 2.16.10 + happy-dom: 8.9.0 + native-dash: 1.25.0(happy-dom@8.9.0)(jsdom@26.1.0) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vitest/ui' + - encoding + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + '@zumer/snapdom@1.8.0': {} abbrev@2.0.0: {} @@ -6998,6 +7811,10 @@ snapshots: dependencies: acorn: 8.15.0 + acorn-walk@8.3.4: + dependencies: + acorn: 8.15.0 + acorn@8.15.0: {} addons-linter@7.15.0: @@ -7152,6 +7969,8 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 + assertion-error@1.1.0: {} + assertion-error@2.0.1: {} async-function@1.0.0: {} @@ -7220,6 +8039,26 @@ snapshots: dependencies: fill-range: 7.1.1 + brilliant-errors@0.7.3(happy-dom@8.9.0)(jsdom@26.1.0): + dependencies: + bumpp: 8.2.1 + callsites: 4.2.0 + inferred-types: 0.37.6(happy-dom@8.9.0)(jsdom@26.1.0) + vitest: 0.25.8(happy-dom@8.9.0)(jsdom@26.1.0) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + browserslist@4.25.1: dependencies: caniuse-lite: 1.0.30001727 @@ -7247,6 +8086,15 @@ snapshots: buffers@0.1.1: {} + bumpp@8.2.1: + dependencies: + '@jsdevtools/ez-spawn': 3.0.4 + cac: 6.7.14 + fast-glob: 3.3.3 + kleur: 4.1.5 + prompts: 2.4.2 + semver: 7.7.2 + bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 @@ -7270,12 +8118,26 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 + call-me-maybe@1.0.2: {} + callsites@3.1.0: {} + callsites@4.2.0: {} + camelcase@8.0.0: {} caniuse-lite@1.0.30001727: {} + chai@4.5.0: + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.4 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.1.0 + chai@5.2.0: dependencies: assertion-error: 2.0.1 @@ -7301,6 +8163,10 @@ snapshots: chalk@5.4.1: {} + check-error@1.0.3: + dependencies: + get-func-name: 2.0.2 + check-error@2.1.1: {} cheerio-select@2.1.0: @@ -7477,6 +8343,8 @@ snapshots: css-what@6.2.2: {} + css.escape@1.5.1: {} + cssstyle@4.6.0: dependencies: '@asamuzakjp/css-color': 3.2.0 @@ -7535,6 +8403,10 @@ snapshots: decimal.js@10.6.0: {} + deep-eql@4.1.4: + dependencies: + type-detect: 4.1.0 + deep-eql@5.0.2: {} deep-extend@0.6.0: {} @@ -7627,6 +8499,8 @@ snapshots: dependencies: once: 1.4.0 + entities@3.0.1: {} + entities@4.5.0: {} entities@6.0.1: {} @@ -7719,6 +8593,31 @@ snapshots: es6-error@4.1.1: {} + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + esbuild@0.25.5: optionalDependencies: '@esbuild/aix-ppc64': 0.25.5 @@ -7873,6 +8772,10 @@ snapshots: exsolve@1.0.7: {} + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + fast-csv@4.3.6: dependencies: '@fast-csv/format': 4.3.5 @@ -7880,6 +8783,14 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-json-patch@3.1.1: {} fast-json-stable-stringify@2.1.0: {} @@ -7942,6 +8853,8 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + fp-ts@2.16.10: {} + fs-constants@1.0.0: {} fs-extra@11.3.0: @@ -7990,6 +8903,8 @@ snapshots: get-east-asian-width@1.3.0: {} + get-func-name@2.0.2: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -8018,6 +8933,8 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + github-markdown-css@5.8.1: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -8082,6 +8999,18 @@ snapshots: growly@1.3.0: {} + happy-dom@8.9.0: + dependencies: + css.escape: 1.5.1 + he: 1.2.0 + iconv-lite: 0.6.3 + node-fetch: 2.7.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + transitivePeerDependencies: + - encoding + has-bigints@1.1.0: {} has-flag@3.0.0: {} @@ -8106,6 +9035,8 @@ snapshots: dependencies: function-bind: 1.1.2 + he@1.2.0: {} + highlight.js@11.11.1: {} hosted-git-info@2.8.9: {} @@ -8158,6 +9089,23 @@ snapshots: imurmurhash@0.1.4: {} + inferred-types@0.37.6(happy-dom@8.9.0)(jsdom@26.1.0): + dependencies: + brilliant-errors: 0.7.3(happy-dom@8.9.0)(jsdom@26.1.0) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + inflight@1.0.6: dependencies: once: 1.4.0 @@ -8231,6 +9179,8 @@ snapshots: is-docker@3.0.0: {} + is-extendable@0.1.1: {} + is-extglob@2.1.1: {} is-finalizationregistry@1.1.1: @@ -8439,6 +9389,12 @@ snapshots: dependencies: json-buffer: 3.0.1 + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + kleur@4.1.5: {} + kolorist@1.8.0: {} ky@1.8.1: {} @@ -8471,6 +9427,10 @@ snapshots: lines-and-columns@2.0.4: {} + linkify-it@4.0.1: + dependencies: + uc.micro: 1.0.6 + lint-staged@16.1.2: dependencies: chalk: 5.4.1 @@ -8504,6 +9464,8 @@ snapshots: pify: 3.0.0 strip-bom: 3.0.0 + local-pkg@0.4.3: {} + local-pkg@1.1.1: dependencies: mlly: 1.7.4 @@ -8554,6 +9516,10 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.0 + loupe@2.3.7: + dependencies: + get-func-name: 2.0.2 + loupe@3.1.4: {} lru-cache@10.4.3: {} @@ -8570,12 +9536,24 @@ snapshots: make-error@1.3.6: {} + markdown-it@13.0.2: + dependencies: + argparse: 2.0.1 + entities: 3.0.1 + linkify-it: 4.0.1 + mdurl: 1.0.1 + uc.micro: 1.0.6 + marky@1.3.0: {} math-intrinsics@1.1.0: {} + mdurl@1.0.1: {} + memorystream@0.3.1: {} + merge2@1.4.1: {} + micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -8656,10 +9634,32 @@ snapshots: nanoid@3.3.11: {} + native-dash@1.25.0(happy-dom@8.9.0)(jsdom@26.1.0): + dependencies: + brilliant-errors: 0.7.3(happy-dom@8.9.0)(jsdom@26.1.0) + inferred-types: 0.37.6(happy-dom@8.9.0)(jsdom@26.1.0) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + natural-compare@1.4.0: {} nice-try@1.0.5: {} + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + node-forge@1.3.1: {} node-notifier@10.0.1: @@ -8826,6 +9826,8 @@ snapshots: pathe@2.0.3: {} + pathval@1.1.1: {} + pathval@2.0.1: {} pend@1.2.0: {} @@ -8919,6 +9921,11 @@ snapshots: dependencies: make-error: 1.3.6 + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + proto-list@1.2.4: {} punycode@2.3.1: {} @@ -9048,6 +10055,10 @@ snapshots: glob: 11.0.3 package-json-from-dist: 1.0.1 + rollup@3.29.5: + optionalDependencies: + fsevents: 2.3.3 + rollup@4.44.2: dependencies: '@types/estree': 1.0.8 @@ -9201,6 +10212,11 @@ snapshots: scule@1.3.0: {} + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + seemly@0.3.10: {} semver@5.7.2: {} @@ -9283,6 +10299,8 @@ snapshots: signal-exit@4.1.0: {} + sisteransi@1.0.5: {} + slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 @@ -9419,6 +10437,8 @@ snapshots: first-chunk-stream: 3.0.0 strip-bom-buf: 2.0.0 + strip-bom-string@1.0.0: {} + strip-bom@3.0.0: {} strip-bom@5.0.0: {} @@ -9429,6 +10449,10 @@ snapshots: strip-json-comments@5.0.2: {} + strip-literal@1.3.0: + dependencies: + acorn: 8.15.0 + strip-literal@3.0.0: dependencies: js-tokens: 9.0.1 @@ -9495,10 +10519,14 @@ snapshots: fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 + tinypool@0.3.1: {} + tinypool@1.1.1: {} tinyrainbow@2.0.0: {} + tinyspy@1.1.1: {} + tinyspy@4.0.3: {} tldts-core@6.1.86: {} @@ -9517,6 +10545,8 @@ snapshots: dependencies: tldts: 6.1.86 + tr46@0.0.3: {} + tr46@5.1.1: dependencies: punycode: 2.3.1 @@ -9538,6 +10568,8 @@ snapshots: dependencies: prelude-ls: 1.2.1 + type-detect@4.1.0: {} + type-fest@0.20.2: {} type-fest@3.13.1: {} @@ -9581,6 +10613,8 @@ snapshots: typescript@5.8.3: {} + uc.micro@1.0.6: {} + ufo@1.6.1: {} unbox-primitive@1.1.0: @@ -9736,6 +10770,63 @@ snapshots: - tsx - yaml + vite-plugin-md@0.21.5(@vitejs/plugin-vue@6.0.0(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))(happy-dom@8.9.0)(jsdom@26.1.0)(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0)): + dependencies: + '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@6.0.0(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))(happy-dom@8.9.0)(jsdom@26.1.0)(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0)) + '@yankeeinlondon/gray-matter': 6.2.1(happy-dom@8.9.0)(jsdom@26.1.0) + '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@26.1.0) + markdown-it: 13.0.2 + source-map-js: 1.2.1 + vite: 7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitejs/plugin-vue' + - '@vitest/browser' + - '@vitest/ui' + - encoding + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vite-plugin-md@0.22.5(@vitejs/plugin-vue@6.0.0(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))(happy-dom@8.9.0)(jsdom@26.1.0)(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0)): + dependencies: + '@vitejs/plugin-vue': 6.0.0(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) + '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@6.0.0(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)))(happy-dom@8.9.0)(jsdom@26.1.0)(vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0)) + '@yankeeinlondon/gray-matter': 6.2.1(happy-dom@8.9.0)(jsdom@26.1.0) + '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@26.1.0) + markdown-it: 13.0.2 + source-map-js: 1.2.1 + vite: 7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vitest/ui' + - encoding + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vite@4.5.14(@types/node@22.16.0): + dependencies: + esbuild: 0.18.20 + postcss: 8.5.6 + rollup: 3.29.5 + optionalDependencies: + '@types/node': 22.16.0 + fsevents: 2.3.3 + vite@7.0.2(@types/node@22.16.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0): dependencies: esbuild: 0.25.5 @@ -9751,7 +10842,35 @@ snapshots: tsx: 4.20.3 yaml: 2.8.0 - vitest@3.2.4(@types/node@22.16.0)(jsdom@26.1.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0): + vitest@0.25.8(happy-dom@8.9.0)(jsdom@26.1.0): + dependencies: + '@types/chai': 4.3.20 + '@types/chai-subset': 1.3.6(@types/chai@4.3.20) + '@types/node': 22.16.0 + acorn: 8.15.0 + acorn-walk: 8.3.4 + chai: 4.5.0 + debug: 4.4.1 + local-pkg: 0.4.3 + source-map: 0.6.1 + strip-literal: 1.3.0 + tinybench: 2.9.0 + tinypool: 0.3.1 + tinyspy: 1.1.1 + vite: 4.5.14(@types/node@22.16.0) + optionalDependencies: + happy-dom: 8.9.0 + jsdom: 26.1.0 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vitest@3.2.4(@types/node@22.16.0)(happy-dom@8.9.0)(jsdom@26.1.0)(sass-embedded@1.89.2)(tsx@4.20.3)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 @@ -9778,6 +10897,7 @@ snapshots: why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.16.0 + happy-dom: 8.9.0 jsdom: 26.1.0 transitivePeerDependencies: - jiti @@ -9881,14 +11001,22 @@ snapshots: webextension-polyfill@0.12.0: {} + webidl-conversions@3.0.1: {} + webidl-conversions@7.0.0: {} webpack-virtual-modules@0.6.2: {} + whatwg-encoding@2.0.0: + dependencies: + iconv-lite: 0.6.3 + whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3 + whatwg-mimetype@3.0.0: {} + whatwg-mimetype@4.0.0: {} whatwg-url@14.2.0: @@ -9896,6 +11024,11 @@ snapshots: tr46: 5.1.1 webidl-conversions: 7.0.0 + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + when-exit@2.1.4: {} when@3.7.7: {} diff --git a/src/components/OptionalButton.vue b/src/components/OptionalButton.vue index e9ca863..f5da602 100644 --- a/src/components/OptionalButton.vue +++ b/src/components/OptionalButton.vue @@ -1,7 +1,7 @@ @@ -48,6 +48,10 @@ const emit = defineEmits<{ click: [ev: MouseEvent] }>(); > button:first-of-type { width: 85%; + + &:hover { + width: 88%; + } } > button:last-of-type { @@ -61,6 +65,10 @@ const emit = defineEmits<{ click: [ev: MouseEvent] }>(); &:has(> button:last-of-type:hover) > button:first-of-type { width: 80%; } + + &:has(> button:first-of-type:hover) > button:last-of-type { + width: 12%; + } } } diff --git a/src/components/README.md b/src/components/README.md deleted file mode 100644 index a59cc25..0000000 --- a/src/components/README.md +++ /dev/null @@ -1,11 +0,0 @@ -## Components - -Components in this dir will be auto-registered and on-demand, powered by [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components). - -Components can be shared in all views. - -### Icons - -You can use icons from almost any icon sets by the power of [Iconify](https://iconify.design/). - -It will only bundle the icons you use. Check out [unplugin-icons](https://github.com/unplugin/unplugin-icons) for more details. diff --git a/src/components/ResultTable.vue b/src/components/ResultTable.vue index 18421ad..ca6eccf 100644 --- a/src/components/ResultTable.vue +++ b/src/components/ResultTable.vue @@ -1,4 +1,5 @@ - + @@ -81,13 +93,8 @@ function generateUUID() { diff --git a/src/options/main.ts b/src/options/main.ts index 98b63a3..48bf626 100644 --- a/src/options/main.ts +++ b/src/options/main.ts @@ -1,6 +1,6 @@ import App from './App.vue'; import { setupApp } from '~/logic/common-setup'; -import '../styles'; +import '~/styles'; // This is the options page of the extension. Object.assign(self, { appContext: 'options' }); diff --git a/src/options/views/AmazonResultTable.vue b/src/options/views/AmazonResultTable.vue index 667b8d2..e21732b 100644 --- a/src/options/views/AmazonResultTable.vue +++ b/src/options/views/AmazonResultTable.vue @@ -150,6 +150,19 @@ const extraHeaders: Header[] = [ prop: 'aplus', label: 'A+截图', }, + { prop: 'shipFrom', label: '发货快递' }, + { prop: 'soldBy', label: '卖家' }, + { prop: 'brand', label: '品牌名称' }, + { prop: 'flavor', label: '商品口味' }, + { prop: 'unitCount', label: '商品单位数量' }, + { prop: 'itemForm', label: '商品形态' }, + { prop: 'productDimensions', label: '商品尺寸' }, + { + prop: 'abouts', + label: '关于', + formatOutputValue: (val?: string[]) => val?.join('\n'), + parseImportValue: (val?: string) => val?.split('\n'), + }, ]; const getItemHeaders = () => { @@ -223,45 +236,39 @@ const handleClearData = async () => { - - - - - Amazon Items - - 详情 - 全部 - - - - - - - - - - - - - 筛选器 - - - + + + Amazon Items + + 详情 + 全部 + + + + + + + + + + + + + 筛选器 + + + - - - - - - - - - (itemColumnSettings = new Set(val) as any)" - > - - - - - - - - - - - - - - - - - - + /> + + + + + + + + + (itemColumnSettings = new Set(val) as any)" + > + + + + + + + + + + + + + + + + + diff --git a/src/sidepanel/views/AmazonEntries/ReviewPageEntry.vue b/src/sidepanel/views/AmazonEntries/ReviewPageEntry.vue index 960107a..47dbf48 100644 --- a/src/sidepanel/views/AmazonEntries/ReviewPageEntry.vue +++ b/src/sidepanel/views/AmazonEntries/ReviewPageEntry.vue @@ -65,8 +65,15 @@ const handleInterrupt = () => { Amazon Review - - + + + @@ -78,19 +85,11 @@ const handleInterrupt = () => { - - - + - + 开始 - + diff --git a/src/sidepanel/views/HomedepotSidepanel.vue b/src/sidepanel/views/HomedepotSidepanel.vue index 68de8e9..336f030 100644 --- a/src/sidepanel/views/HomedepotSidepanel.vue +++ b/src/sidepanel/views/HomedepotSidepanel.vue @@ -74,7 +74,6 @@ const handleInterrupt = () => { - 设置 @@ -128,11 +127,4 @@ const handleInterrupt = () => { margin-top: 10px; width: 95%; } - -.setting-panel { - > *:first-of-type { - font-size: larger; - margin-bottom: 5px; - } -} diff --git a/src/storages/amazon.ts b/src/storages/amazon.ts index 2905406..3cc7bae 100644 --- a/src/storages/amazon.ts +++ b/src/storages/amazon.ts @@ -10,15 +10,14 @@ export const itemColumnSettings = useWebExtensionStorage< Set> >('itemColumnSettings', new Set(['keywords', 'page', 'rank', 'createTime'])); -export const detailWorkerSettings = useWebExtensionStorage<{ aplus: boolean }>( - 'amazon-detail-worker-settings', - { aplus: false }, -); +export const detailWorkerSettings = useWebExtensionStorage('amazon-detail-worker-settings', { + aplus: false, + extra: false, +}); -export const reviewWorkerSettings = useWebExtensionStorage<{ recent: boolean }>( - 'amazon-review-worker-settings', - { recent: true }, -); +export const reviewWorkerSettings = useWebExtensionStorage('amazon-review-worker-settings', { + recent: true, +}); export const searchItems = useWebExtensionStorage('searchItems', []); diff --git a/src/storages/global.ts b/src/storages/global.ts index f75479d..2c0da65 100644 --- a/src/storages/global.ts +++ b/src/storages/global.ts @@ -1,3 +1,3 @@ import { useWebExtensionStorage } from '~/composables/useWebExtensionStorage'; -export const site = useWebExtensionStorage('site', 'amazon'); +export const site = useWebExtensionStorage('site', 'amazon', { flush: 'sync' }); diff --git a/src/styles/index.ts b/src/styles/index.ts index f1ad40f..f7b1332 100644 --- a/src/styles/index.ts +++ b/src/styles/index.ts @@ -1 +1,2 @@ import './main.scss'; +import 'github-markdown-css'; diff --git a/src/types/amazon.d.ts b/src/types/amazon.d.ts index f363960..f0faf7a 100644 --- a/src/types/amazon.d.ts +++ b/src/types/amazon.d.ts @@ -54,8 +54,22 @@ declare type AmazonDetailItem = { aplus?: string; // /** 顶部评论数组 */ // topReviews?: AmazonReview[]; + /** 发货快递 */ + shipFrom?: string; + /** 卖家 */ + soldBy?: string; /**关于信息 */ abouts?: string[]; + /** 品牌名称 */ + brand?: string; + /** 商品口味/风味 */ + flavor?: string; + /** 商品单位数量 */ + unitCount?: string; + /** 商品形态/剂型 */ + itemForm?: string; + /** 商品尺寸 */ + productDimensions?: string; }; declare type AmazonReview = BaseReview & { diff --git a/src/types/misc.ts b/src/types/misc.ts index 9864f35..3123b5d 100644 --- a/src/types/misc.ts +++ b/src/types/misc.ts @@ -4,11 +4,19 @@ declare const __DEV__: boolean; /** Extension name, defined in packageJson.name */ declare const __NAME__: string; +declare const __VERSION__: string; + declare module '*.vue' { const component: any; export default component; } +declare module '*.md' { + import type { ComponentOptions } from 'vue'; + const Component: ComponentOptions; + export default Component; +} + declare type AppContext = 'options' | 'sidepanel' | 'background' | 'content script'; declare type Website = 'amazon' | 'homedepot'; diff --git a/vite.config.background.mts b/vite.config.background.mts index ca37080..4088556 100644 --- a/vite.config.background.mts +++ b/vite.config.background.mts @@ -9,6 +9,7 @@ export default defineConfig({ define: { __DEV__: isDev, __NAME__: JSON.stringify(packageJson.name), + __VERSION__: JSON.stringify(packageJson.version), // https://github.com/vitejs/vite/issues/9320 // https://github.com/vitejs/vite/issues/9186 'process.env.NODE_ENV': JSON.stringify(isDev ? 'development' : 'production'), diff --git a/vite.config.content.mts b/vite.config.content.mts index d34edf9..b64a098 100644 --- a/vite.config.content.mts +++ b/vite.config.content.mts @@ -9,6 +9,7 @@ export default defineConfig({ define: { __DEV__: isDev, __NAME__: JSON.stringify(packageJson.name), + __VERSION__: JSON.stringify(packageJson.version), // https://github.com/vitejs/vite/issues/9320 // https://github.com/vitejs/vite/issues/9186 'process.env.NODE_ENV': JSON.stringify(isDev ? 'development' : 'production'), diff --git a/vite.config.mts b/vite.config.mts index c1f3d6f..9ada2f7 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -12,6 +12,7 @@ import AutoImport from 'unplugin-auto-import/vite'; import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'; import { isDev, outputDir, port, r } from './scripts/utils.js'; import packageJson from './package.json'; +import Markdown from 'vite-plugin-md'; export const sharedConfig: UserConfig = { root: r('src'), @@ -23,9 +24,13 @@ export const sharedConfig: UserConfig = { define: { __DEV__: isDev, __NAME__: JSON.stringify(packageJson.name), + __VERSION__: JSON.stringify(packageJson.version), }, plugins: [ - Vue(), + Vue({ + include: [/\.vue$/, /\.md$/], + }), + Markdown(), VueJsx(), AutoImport({ imports: [