From d8886e2788278c8fb610828009f71e0f157b2995 Mon Sep 17 00:00:00 2001 From: Sergei Khlupin Date: Sat, 7 Feb 2026 17:52:29 +0300 Subject: [PATCH] feat(FF-7911): add gulp icon building pack --- package-lock.json | 3281 +++++++++++++++-- packages/gulp-icon-builder/.gitignore | 1 + packages/gulp-icon-builder/CHANGELOG.md | 5 + packages/gulp-icon-builder/LICENSE | 201 + packages/gulp-icon-builder/README.md | 4 + packages/gulp-icon-builder/gulpfile.js | 25 + packages/gulp-icon-builder/package.json | 49 + packages/gulp-icon-builder/src/index.ts | 7 + .../src/svg-create-sprite.ts | 35 + packages/gulp-icon-builder/src/svg-fixer.ts | 19 + .../gulp-icon-builder/src/svg-index-file.ts | 68 + .../src/svg-size-validator.ts | 30 + packages/gulp-icon-builder/src/svg-svgr.ts | 35 + .../src/svg-uniq-validator.ts | 21 + .../src/utils/createPipeTransformer.ts | 36 + .../src/utils/index-template.ts | 35 + packages/gulp-icon-builder/src/utils/index.ts | 3 + packages/gulp-icon-builder/src/utils/name.ts | 10 + .../src/utils/svgr-template.ts | 58 + .../alarmFilled/alarm-filled-s.svg | 5 + .../alarmFilled/alarm-filled-xs.svg | 8 + .../arrowDown/arrow-down-s.svg | 3 + .../arrowDown/arrow-down-xs.svg | 3 + .../arrowLeft/arrow-left-s.svg | 3 + .../arrowLeft/arrow-left-xs.svg | 3 + .../arrowLinks/arrow-links-s.svg | 4 + .../arrowLinks/arrow-links-xs.svg | 4 + .../arrowRight/arrow-right-s.svg | 3 + .../arrowRight/arrow-right-xs.svg | 3 + .../interface-icons/arrowUp/arrow-up-s.svg | 3 + .../interface-icons/arrowUp/arrow-up-xs.svg | 3 + .../interface-icons/calendar/calendar-s.svg | 5 + .../interface-icons/calendar/calendar-xs.svg | 5 + .../icons/interface-icons/check/check-s.svg | 5 + .../icons/interface-icons/check/check-xs.svg | 5 + .../checkFilled/check-filled-s.svg | 5 + .../checkFilled/check-filled-xs.svg | 5 + .../chevronDown/chevron-down-s.svg | 3 + .../chevronDown/chevron-down-xs.svg | 3 + .../chevronLeft/chevron-left-s.svg | 3 + .../chevronLeft/chevron-left-xs.svg | 3 + .../chevronRight/chevron-right-s.svg | 3 + .../chevronRight/chevron-right-xs.svg | 3 + .../chevronUp/chevron-up-s.svg | 3 + .../chevronUp/chevron-up-xs.svg | 3 + .../icons/interface-icons/copy/copy-s.svg | 3 + .../icons/interface-icons/copy/copy-xs.svg | 3 + .../icons/interface-icons/cross/cross-s.svg | 4 + .../icons/interface-icons/cross/cross-xs.svg | 4 + .../crossFilled/cross-filled-s.svg | 5 + .../crossFilled/cross-filled-xs.svg | 5 + .../test/icons/interface-icons/day/day-s.svg | 11 + .../interface-icons/download/download-s.svg | 3 + .../interface-icons/download/download-xs.svg | 3 + .../interface-icons/dragDrop/drag-drop-s.svg | 14 + .../interface-icons/dragDrop/drag-drop-xs.svg | 14 + .../icons/interface-icons/email/email-s.svg | 3 + .../test/icons/interface-icons/eye/eye-s.svg | 4 + .../test/icons/interface-icons/eye/eye-xs.svg | 4 + .../eyeClosed/eye-closed-s.svg | 7 + .../eyeClosed/eye-closed-xs.svg | 7 + .../icons/interface-icons/file/file-s.svg | 3 + .../icons/interface-icons/file/file-xs.svg | 3 + .../icons/interface-icons/filter/filter-s.svg | 3 + .../icons/interface-icons/folder/folder-s.svg | 3 + .../interface-icons/folder/folder-xs.svg | 3 + .../folderOpen/folder-open-s.svg | 3 + .../folderOpen/folder-open-xs.svg | 3 + .../functionSettings/function-settings-s.svg | 3 + .../functionSettings/function-settings-xs.svg | 3 + .../icons/interface-icons/heart/heart-s.svg | 3 + .../heartFilled/heart-filled-s.svg | 3 + .../heartFilled/heart-filled-xs.svg | 3 + .../icons/interface-icons/home/home-s.svg | 5 + .../icons/interface-icons/home/home-xs.svg | 3 + .../infoFilled/info-filled-s.svg | 3 + .../infoFilled/info-filled-xs.svg | 8 + .../icons/interface-icons/kebab/kebab-s.svg | 8 + .../icons/interface-icons/kebab/kebab-xs.svg | 12 + .../laptopPhone/laptop-phone-s.svg | 3 + .../laptopPhone/laptop-phone-xs.svg | 3 + .../icons/interface-icons/minus/minus-s.svg | 3 + .../icons/interface-icons/minus/minus-xs.svg | 3 + .../icons/interface-icons/more/more-s.svg | 8 + .../icons/interface-icons/more/more-xs.svg | 8 + .../icons/interface-icons/night/night-s.svg | 3 + .../icons/interface-icons/pause/pause-s.svg | 8 + .../icons/interface-icons/pause/pause-xs.svg | 8 + .../icons/interface-icons/pinned/pinned-s.svg | 3 + .../interface-icons/pinned/pinned-xs.svg | 3 + .../placeholder/placeholder-s.svg | 3 + .../placeholder/placeholder-xs.svg | 3 + .../icons/interface-icons/play/play-s.svg | 5 + .../icons/interface-icons/play/play-xs.svg | 5 + .../icons/interface-icons/plus/plus-s.svg | 5 + .../icons/interface-icons/plus/plus-xs.svg | 4 + .../interface-icons/question/question-s.svg | 5 + .../interface-icons/question/question-xs.svg | 5 + .../icons/interface-icons/resize/resize-s.svg | 5 + .../interface-icons/resize/resize-xs.svg | 3 + .../scalableLeft/scalable-left-s.svg | 3 + .../scalableLeft/scalable-left-xs.svg | 3 + .../scalableRight/scalable-right-s.svg | 3 + .../scalableRight/scalable-right-xs.svg | 3 + .../icons/interface-icons/search/search-s.svg | 3 + .../interface-icons/search/search-xs.svg | 3 + .../interface-icons/settings/settings-s.svg | 4 + .../interface-icons/settings/settings-xs.svg | 4 + .../icons/interface-icons/star/star-s.svg | 3 + .../icons/interface-icons/star/star-xs.svg | 3 + .../starFilled/star-filled-s.svg | 3 + .../starFilled/star-filled-xs.svg | 3 + .../icons/interface-icons/stop/stop-s.svg | 5 + .../icons/interface-icons/stop/stop-xs.svg | 5 + .../themeContrast/theme-contrast-s.svg | 5 + .../themeContrast/theme-contrast-xs.svg | 5 + .../icons/interface-icons/trash/trash-s.svg | 5 + .../interface-icons/unPinned/un-pinned-s.svg | 3 + .../interface-icons/unPinned/un-pinned-xs.svg | 3 + .../icons/interface-icons/update/update-s.svg | 3 + .../icons/interface-icons/upload/upload-s.svg | 3 + .../interface-icons/upload/upload-xs.svg | 3 + .../interface-icons/warning/warning-s.svg | 5 + .../interface-icons/warning/warning-xs.svg | 4 + .../icons/interface-icons/watch/watch-s.svg | 3 + .../icons/interface-icons/watch/watch-xs.svg | 3 + packages/gulp-icon-builder/tsconfig.cjs.json | 9 + packages/gulp-icon-builder/tsconfig.esm.json | 9 + packages/tsconfig.cjs.json | 3 + packages/tsconfig.esm.json | 3 + 130 files changed, 4152 insertions(+), 252 deletions(-) create mode 100644 packages/gulp-icon-builder/.gitignore create mode 100644 packages/gulp-icon-builder/CHANGELOG.md create mode 100644 packages/gulp-icon-builder/LICENSE create mode 100644 packages/gulp-icon-builder/README.md create mode 100644 packages/gulp-icon-builder/gulpfile.js create mode 100644 packages/gulp-icon-builder/package.json create mode 100644 packages/gulp-icon-builder/src/index.ts create mode 100644 packages/gulp-icon-builder/src/svg-create-sprite.ts create mode 100644 packages/gulp-icon-builder/src/svg-fixer.ts create mode 100644 packages/gulp-icon-builder/src/svg-index-file.ts create mode 100644 packages/gulp-icon-builder/src/svg-size-validator.ts create mode 100644 packages/gulp-icon-builder/src/svg-svgr.ts create mode 100644 packages/gulp-icon-builder/src/svg-uniq-validator.ts create mode 100644 packages/gulp-icon-builder/src/utils/createPipeTransformer.ts create mode 100644 packages/gulp-icon-builder/src/utils/index-template.ts create mode 100644 packages/gulp-icon-builder/src/utils/index.ts create mode 100644 packages/gulp-icon-builder/src/utils/name.ts create mode 100644 packages/gulp-icon-builder/src/utils/svgr-template.ts create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/alarmFilled/alarm-filled-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/alarmFilled/alarm-filled-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowDown/arrow-down-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowDown/arrow-down-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowLeft/arrow-left-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowLeft/arrow-left-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowLinks/arrow-links-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowLinks/arrow-links-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowRight/arrow-right-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowRight/arrow-right-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowUp/arrow-up-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/arrowUp/arrow-up-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/calendar/calendar-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/calendar/calendar-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/check/check-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/check/check-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/checkFilled/check-filled-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/checkFilled/check-filled-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/chevronDown/chevron-down-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/chevronDown/chevron-down-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/chevronLeft/chevron-left-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/chevronLeft/chevron-left-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/chevronRight/chevron-right-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/chevronRight/chevron-right-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/chevronUp/chevron-up-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/chevronUp/chevron-up-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/copy/copy-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/copy/copy-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/cross/cross-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/cross/cross-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/crossFilled/cross-filled-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/crossFilled/cross-filled-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/day/day-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/download/download-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/download/download-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/dragDrop/drag-drop-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/dragDrop/drag-drop-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/email/email-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/eye/eye-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/eye/eye-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/eyeClosed/eye-closed-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/eyeClosed/eye-closed-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/file/file-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/file/file-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/filter/filter-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/folder/folder-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/folder/folder-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/folderOpen/folder-open-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/folderOpen/folder-open-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/functionSettings/function-settings-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/functionSettings/function-settings-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/heart/heart-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/heartFilled/heart-filled-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/heartFilled/heart-filled-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/home/home-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/home/home-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/infoFilled/info-filled-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/infoFilled/info-filled-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/kebab/kebab-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/kebab/kebab-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/laptopPhone/laptop-phone-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/laptopPhone/laptop-phone-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/minus/minus-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/minus/minus-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/more/more-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/more/more-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/night/night-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/pause/pause-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/pause/pause-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/pinned/pinned-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/pinned/pinned-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/placeholder/placeholder-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/placeholder/placeholder-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/play/play-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/play/play-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/plus/plus-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/plus/plus-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/question/question-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/question/question-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/resize/resize-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/resize/resize-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/scalableLeft/scalable-left-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/scalableLeft/scalable-left-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/scalableRight/scalable-right-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/scalableRight/scalable-right-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/search/search-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/search/search-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/settings/settings-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/settings/settings-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/star/star-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/star/star-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/starFilled/star-filled-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/starFilled/star-filled-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/stop/stop-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/stop/stop-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/themeContrast/theme-contrast-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/themeContrast/theme-contrast-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/trash/trash-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/unPinned/un-pinned-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/unPinned/un-pinned-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/update/update-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/upload/upload-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/upload/upload-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/warning/warning-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/warning/warning-xs.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/watch/watch-s.svg create mode 100644 packages/gulp-icon-builder/test/icons/interface-icons/watch/watch-xs.svg create mode 100644 packages/gulp-icon-builder/tsconfig.cjs.json create mode 100644 packages/gulp-icon-builder/tsconfig.esm.json diff --git a/package-lock.json b/package-lock.json index 944361b..7345f81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -157,6 +157,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/generator": "^7.28.6", @@ -1917,6 +1918,10 @@ "resolved": "packages/formatters", "link": true }, + "node_modules/@cloud-ru/ft-gulp-icon-builder": { + "resolved": "packages/gulp-icon-builder", + "link": true + }, "node_modules/@cloud-ru/ft-lerna-changelog-generator": { "resolved": "packages/lerna-changelog-generator", "link": true @@ -2057,6 +2062,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2098,6 +2104,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -2118,6 +2125,17 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.8.tgz", + "integrity": "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==", + "license": "MIT", + "dependencies": { + "@so-ric/colorspace": "^1.1.6", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, "node_modules/@emnapi/core": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", @@ -2158,7 +2176,6 @@ "os": [ "aix" ], - "peer": true, "engines": { "node": ">=18" } @@ -2175,7 +2192,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -2192,7 +2208,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -2209,7 +2224,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -2226,7 +2240,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=18" } @@ -2243,7 +2256,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=18" } @@ -2260,7 +2272,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -2277,7 +2288,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -2294,7 +2304,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2311,7 +2320,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2328,7 +2336,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2345,7 +2352,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2362,7 +2368,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2379,7 +2384,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2396,7 +2400,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2413,7 +2416,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2430,7 +2432,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -2447,7 +2448,6 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -2464,7 +2464,6 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -2481,7 +2480,6 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -2498,7 +2496,6 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -2515,7 +2512,6 @@ "os": [ "openharmony" ], - "peer": true, "engines": { "node": ">=18" } @@ -2532,7 +2528,6 @@ "os": [ "sunos" ], - "peer": true, "engines": { "node": ">=18" } @@ -2549,7 +2544,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -2566,7 +2560,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -2583,7 +2576,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -2837,6 +2829,15 @@ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", "license": "MIT" }, + "node_modules/@gulpjs/messages": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@gulpjs/messages/-/messages-1.1.0.tgz", + "integrity": "sha512-Ys9sazDatyTgZVb4xPlDufLweJ/Os2uHWOv+Caxvy2O85JcnT4M3vc73bi8pdLWlv3fdWQz3pdI9tVwo8rQQSg==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", @@ -3050,6 +3051,433 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jimp/bmp": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.12.tgz", + "integrity": "sha512-aeI64HD0npropd+AR76MCcvvRaa+Qck6loCOS03CkkxGHN5/r336qTM5HPUdHKMDOGzqknuVPA8+kK1t03z12g==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12", + "bmp-js": "^0.1.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/core": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.12.tgz", + "integrity": "sha512-l0RR0dOPyzMKfjUW1uebzueFEDtCOj9fN6pyTYWWOM/VS4BciXQ1VVrJs8pO3kycGYZxncRKhCoygbNr8eEZQA==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "exif-parser": "^0.1.12", + "file-type": "^16.5.4", + "isomorphic-fetch": "^3.0.0", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.6.0" + } + }, + "node_modules/@jimp/custom": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.12.tgz", + "integrity": "sha512-xcmww1O/JFP2MrlGUMd3Q78S3Qu6W3mYTXYuIqFq33EorgYHV/HqymHfXy9GjiCJ7OI+7lWx6nYFOzU7M4rd1Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jimp/core": "^0.22.12" + } + }, + "node_modules/@jimp/gif": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.12.tgz", + "integrity": "sha512-y6BFTJgch9mbor2H234VSjd9iwAhaNf/t3US5qpYIs0TSbAvM02Fbc28IaDETj9+4YB4676sz4RcN/zwhfu1pg==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12", + "gifwrap": "^0.10.1", + "omggif": "^1.0.9" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/jpeg": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.12.tgz", + "integrity": "sha512-Rq26XC/uQWaQKyb/5lksCTCxXhtY01NJeBN+dQv5yNYedN0i7iYu+fXEoRsfaJ8xZzjoANH8sns7rVP4GE7d/Q==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12", + "jpeg-js": "^0.4.4" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blit": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.12.tgz", + "integrity": "sha512-xslz2ZoFZOPLY8EZ4dC29m168BtDx95D6K80TzgUi8gqT7LY6CsajWO0FAxDwHz6h0eomHMfyGX0stspBrTKnQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blur": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.12.tgz", + "integrity": "sha512-S0vJADTuh1Q9F+cXAwFPlrKWzDj2F9t/9JAbUvaaDuivpyWuImEKXVz5PUZw2NbpuSHjwssbTpOZ8F13iJX4uw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-circle": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.12.tgz", + "integrity": "sha512-SWVXx1yiuj5jZtMijqUfvVOJBwOifFn0918ou4ftoHgegc5aHWW5dZbYPjvC9fLpvz7oSlptNl2Sxr1zwofjTg==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-color": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.12.tgz", + "integrity": "sha512-xImhTE5BpS8xa+mAN6j4sMRWaUgUDLoaGHhJhpC+r7SKKErYDR0WQV4yCE4gP+N0gozD0F3Ka1LUSaMXrn7ZIA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jimp/utils": "^0.22.12", + "tinycolor2": "^1.6.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-contain": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.12.tgz", + "integrity": "sha512-Eo3DmfixJw3N79lWk8q/0SDYbqmKt1xSTJ69yy8XLYQj9svoBbyRpSnHR+n9hOw5pKXytHwUW6nU4u1wegHNoQ==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-cover": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.12.tgz", + "integrity": "sha512-z0w/1xH/v/knZkpTNx+E8a7fnasQ2wHG5ze6y5oL2dhH1UufNua8gLQXlv8/W56+4nJ1brhSd233HBJCo01BXA==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-crop": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.12.tgz", + "integrity": "sha512-FNuUN0OVzRCozx8XSgP9MyLGMxNHHJMFt+LJuFjn1mu3k0VQxrzqbN06yIl46TVejhyAhcq5gLzqmSCHvlcBVw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-displace": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.12.tgz", + "integrity": "sha512-qpRM8JRicxfK6aPPqKZA6+GzBwUIitiHaZw0QrJ64Ygd3+AsTc7BXr+37k2x7QcyCvmKXY4haUrSIsBug4S3CA==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-dither": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.12.tgz", + "integrity": "sha512-jYgGdSdSKl1UUEanX8A85v4+QUm+PE8vHFwlamaKk89s+PXQe7eVE3eNeSZX4inCq63EHL7cX580dMqkoC3ZLw==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-fisheye": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.12.tgz", + "integrity": "sha512-LGuUTsFg+fOp6KBKrmLkX4LfyCy8IIsROwoUvsUPKzutSqMJnsm3JGDW2eOmWIS/jJpPaeaishjlxvczjgII+Q==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-flip": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.12.tgz", + "integrity": "sha512-m251Rop7GN8W0Yo/rF9LWk6kNclngyjIJs/VXHToGQ6EGveOSTSQaX2Isi9f9lCDLxt+inBIb7nlaLLxnvHX8Q==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-rotate": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-gaussian": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.12.tgz", + "integrity": "sha512-sBfbzoOmJ6FczfG2PquiK84NtVGeScw97JsCC3rpQv1PHVWyW+uqWFF53+n3c8Y0P2HWlUjflEla2h/vWShvhg==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-invert": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.12.tgz", + "integrity": "sha512-N+6rwxdB+7OCR6PYijaA/iizXXodpxOGvT/smd/lxeXsZ/empHmFFFJ/FaXcYh19Tm04dGDaXcNF/dN5nm6+xQ==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-mask": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.12.tgz", + "integrity": "sha512-4AWZg+DomtpUA099jRV8IEZUfn1wLv6+nem4NRJC7L/82vxzLCgXKTxvNvBcNmJjT9yS1LAAmiJGdWKXG63/NA==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-normalize": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.12.tgz", + "integrity": "sha512-0So0rexQivnWgnhacX4cfkM2223YdExnJTTy6d06WbkfZk5alHUx8MM3yEzwoCN0ErO7oyqEWRnEkGC+As1FtA==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-print": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.12.tgz", + "integrity": "sha512-c7TnhHlxm87DJeSnwr/XOLjJU/whoiKYY7r21SbuJ5nuH+7a78EW1teOaj5gEr2wYEd7QtkFqGlmyGXY/YclyQ==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12", + "load-bmfont": "^1.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-resize": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.12.tgz", + "integrity": "sha512-3NyTPlPbTnGKDIbaBgQ3HbE6wXbAlFfxHVERmrbqAi8R3r6fQPxpCauA8UVDnieg5eo04D0T8nnnNIX//i/sXg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-rotate": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.12.tgz", + "integrity": "sha512-9YNEt7BPAFfTls2FGfKBVgwwLUuKqy+E8bDGGEsOqHtbuhbshVGxN2WMZaD4gh5IDWvR+emmmPPWGgaYNYt1gA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-scale": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.12.tgz", + "integrity": "sha512-dghs92qM6MhHj0HrV2qAwKPMklQtjNpoYgAB94ysYpsXslhRTiPisueSIELRwZGEr0J0VUxpUY7HgJwlSIgGZw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-shadow": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.12.tgz", + "integrity": "sha512-FX8mTJuCt7/3zXVoeD/qHlm4YH2bVqBuWQHXSuBK054e7wFRnRnbSLPUqAwSeYP3lWqpuQzJtgiiBxV3+WWwTg==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blur": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-threshold": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.12.tgz", + "integrity": "sha512-4x5GrQr1a/9L0paBC/MZZJjjgjxLYrqSmWd+e+QfAEPvmRxdRoQ5uKEuNgXnm9/weHQBTnQBQsOY2iFja+XGAw==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-color": ">=0.8.0", + "@jimp/plugin-resize": ">=0.8.0" + } + }, + "node_modules/@jimp/plugins": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.12.tgz", + "integrity": "sha512-yBJ8vQrDkBbTgQZLty9k4+KtUQdRjsIDJSPjuI21YdVeqZxYywifHl4/XWILoTZsjTUASQcGoH0TuC0N7xm3ww==", + "license": "MIT", + "dependencies": { + "@jimp/plugin-blit": "^0.22.12", + "@jimp/plugin-blur": "^0.22.12", + "@jimp/plugin-circle": "^0.22.12", + "@jimp/plugin-color": "^0.22.12", + "@jimp/plugin-contain": "^0.22.12", + "@jimp/plugin-cover": "^0.22.12", + "@jimp/plugin-crop": "^0.22.12", + "@jimp/plugin-displace": "^0.22.12", + "@jimp/plugin-dither": "^0.22.12", + "@jimp/plugin-fisheye": "^0.22.12", + "@jimp/plugin-flip": "^0.22.12", + "@jimp/plugin-gaussian": "^0.22.12", + "@jimp/plugin-invert": "^0.22.12", + "@jimp/plugin-mask": "^0.22.12", + "@jimp/plugin-normalize": "^0.22.12", + "@jimp/plugin-print": "^0.22.12", + "@jimp/plugin-resize": "^0.22.12", + "@jimp/plugin-rotate": "^0.22.12", + "@jimp/plugin-scale": "^0.22.12", + "@jimp/plugin-shadow": "^0.22.12", + "@jimp/plugin-threshold": "^0.22.12", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/png": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.12.tgz", + "integrity": "sha512-Mrp6dr3UTn+aLK8ty/dSKELz+Otdz1v4aAXzV5q53UDD2rbB5joKVJ/ChY310B+eRzNxIovbUF1KVrUsYdE8Hg==", + "license": "MIT", + "dependencies": { + "@jimp/utils": "^0.22.12", + "pngjs": "^6.0.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/tiff": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.12.tgz", + "integrity": "sha512-E1LtMh4RyJsoCAfAkBRVSYyZDTtLq9p9LUiiYP0vPtXyxX4BiYBUYihTLSBlCQg5nF2e4OpQg7SPrLdJ66u7jg==", + "license": "MIT", + "dependencies": { + "utif2": "^4.0.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/types": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.12.tgz", + "integrity": "sha512-wwKYzRdElE1MBXFREvCto5s699izFHNVvALUv79GXNbsOVqlwlOxlWJ8DuyOGIXoLP4JW/m30YyuTtfUJgMRMA==", + "license": "MIT", + "dependencies": { + "@jimp/bmp": "^0.22.12", + "@jimp/gif": "^0.22.12", + "@jimp/jpeg": "^0.22.12", + "@jimp/png": "^0.22.12", + "@jimp/tiff": "^0.22.12", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/utils": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.12.tgz", + "integrity": "sha512-yJ5cWUknGnilBq97ZXOyOS0HhsHOyAyjHwYfHxGbSyMTohgQI6sVyE8KPgDwH8HHW/nMKXk8TrSwAE71zt716Q==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.3" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -3224,19 +3652,324 @@ "node": ">=10.13.0" } }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", - "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", "license": "MIT", - "dependencies": { - "@emnapi/core": "^1.1.0", - "@emnapi/runtime": "^1.1.0", - "@tybys/wasm-util": "^0.9.0" + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "license": "MIT", + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "license": "MIT", @@ -3870,6 +4603,7 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz", "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==", "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -4033,51 +4767,266 @@ "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/pkgr" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@resvg/resvg-js": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.6.2.tgz", + "integrity": "sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==", + "license": "MPL-2.0", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@resvg/resvg-js-android-arm-eabi": "2.6.2", + "@resvg/resvg-js-android-arm64": "2.6.2", + "@resvg/resvg-js-darwin-arm64": "2.6.2", + "@resvg/resvg-js-darwin-x64": "2.6.2", + "@resvg/resvg-js-linux-arm-gnueabihf": "2.6.2", + "@resvg/resvg-js-linux-arm64-gnu": "2.6.2", + "@resvg/resvg-js-linux-arm64-musl": "2.6.2", + "@resvg/resvg-js-linux-x64-gnu": "2.6.2", + "@resvg/resvg-js-linux-x64-musl": "2.6.2", + "@resvg/resvg-js-win32-arm64-msvc": "2.6.2", + "@resvg/resvg-js-win32-ia32-msvc": "2.6.2", + "@resvg/resvg-js-win32-x64-msvc": "2.6.2" + } + }, + "node_modules/@resvg/resvg-js-android-arm-eabi": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.2.tgz", + "integrity": "sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-android-arm64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.6.2.tgz", + "integrity": "sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-darwin-arm64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.6.2.tgz", + "integrity": "sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-darwin-x64": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.6.2.tgz", + "integrity": "sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm-gnueabihf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.6.2.tgz", + "integrity": "sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm64-gnu": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.6.2.tgz", + "integrity": "sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm64-musl": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.6.2.tgz", + "integrity": "sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-x64-gnu": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.6.2.tgz", + "integrity": "sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-x64-musl": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.6.2.tgz", + "integrity": "sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "license": "MIT", + "node_modules/@resvg/resvg-js-win32-arm64-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.6.2.tgz", + "integrity": "sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=12.22.0" + "node": ">= 10" } }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "4.2.10" - }, + "node_modules/@resvg/resvg-js-win32-ia32-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.6.2.tgz", + "integrity": "sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==", + "cpu": [ + "ia32" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=12.22.0" + "node": ">= 10" } }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "license": "ISC" - }, - "node_modules/@pnpm/npm-conf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", - "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", - "license": "MIT", - "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - }, + "node_modules/@resvg/resvg-js-win32-x64-msvc": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.6.2.tgz", + "integrity": "sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=12" + "node": ">= 10" } }, "node_modules/@rollup/rollup-android-arm-eabi": { @@ -4619,6 +5568,7 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -4842,6 +5792,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -5647,7 +6598,6 @@ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.6.15.tgz", "integrity": "sha512-VFpKcphNurJpSC4fpUfKL3GTXVoL53oytghGR30QIw5jKWwaT50HVbTyb41BLOUuZjmMhUQA8weiQEew6RX0gw==", "license": "MIT", - "peer": true, "dependencies": { "@storybook/theming": "8.6.15", "better-opn": "^3.0.2", @@ -5666,119 +6616,378 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "prettier": "^2 || ^3" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - } + "prettier": "^2 || ^3" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/@storybook/core-events": { + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.6.14.tgz", + "integrity": "sha512-RrJ95u3HuIE4Nk8VmZP0tc/u0vYoE2v9fYlMw6K2GUSExzKDITs3voy6WMIY7Q3qbQun8XUXVlmqkuFzTEy/pA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" + } + }, + "node_modules/@storybook/core/node_modules/@storybook/theming": { + "version": "8.6.15", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.6.15.tgz", + "integrity": "sha512-dAbL0XOekyT6XsF49R6Etj3WxQ/LpdJDIswUUeHgVJ6/yd2opZOGbPxnwA3zlmAh1c0tvpPyhSDXxSG79u8e4Q==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" + } + }, + "node_modules/@storybook/csf": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.13.tgz", + "integrity": "sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==", + "license": "MIT", + "dependencies": { + "type-fest": "^2.19.0" + } + }, + "node_modules/@storybook/csf/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/global": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", + "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", + "license": "MIT" + }, + "node_modules/@storybook/icons": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.6.0.tgz", + "integrity": "sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" + } + }, + "node_modules/@storybook/manager-api": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.3.6.tgz", + "integrity": "sha512-Xt5VFZcL+G/9uzaHjzWFhxRNrP+4rPhSRKEvCZorAbC9+Hv+ZDs1JSZS5wMb4WKpXBZ0rwDVOLwngqbVtfRHuQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^8.3.6" + } + }, + "node_modules/@storybook/theming": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.6.tgz", + "integrity": "sha512-LQjUk6GXRW9ELkoBKuqzQKFUW+ajfGPfVELcfs3/VQX61VhthJ4olov4bGPc04wsmmFMgN/qODxT485IwOHfPQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^8.3.6" + } + }, + "node_modules/@storybook/types": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.3.6.tgz", + "integrity": "sha512-EY+bjIxxmKkFrL7CyDQb3EXbmy0+Y9OieaPrNNM7QXTfGgp81lXhfqMX3HLMMjplk+rcxVJLyzXSBx0nIn91fQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^8.3.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@storybook/core-events": { - "version": "8.6.14", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.6.14.tgz", - "integrity": "sha512-RrJ95u3HuIE4Nk8VmZP0tc/u0vYoE2v9fYlMw6K2GUSExzKDITs3voy6WMIY7Q3qbQun8XUXVlmqkuFzTEy/pA==", + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", "license": "MIT", + "engines": { + "node": ">=14" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "type": "github", + "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@storybook/core/node_modules/@storybook/theming": { - "version": "8.6.15", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.6.15.tgz", - "integrity": "sha512-dAbL0XOekyT6XsF49R6Etj3WxQ/LpdJDIswUUeHgVJ6/yd2opZOGbPxnwA3zlmAh1c0tvpPyhSDXxSG79u8e4Q==", + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", "license": "MIT", - "peer": true, + "engines": { + "node": ">=12" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "type": "github", + "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@storybook/csf": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.13.tgz", - "integrity": "sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==", + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", "license": "MIT", "dependencies": { - "type-fest": "^2.19.0" - } - }, - "node_modules/@storybook/csf/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, "engines": { - "node": ">=12.20" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@storybook/global": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", - "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", - "license": "MIT" - }, - "node_modules/@storybook/icons": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.6.0.tgz", - "integrity": "sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw==", + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, "engines": { - "node": ">=14.0.0" + "node": ">=14" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@storybook/manager-api": { + "node_modules/@svgr/core/node_modules/cosmiconfig": { "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.3.6.tgz", - "integrity": "sha512-Xt5VFZcL+G/9uzaHjzWFhxRNrP+4rPhSRKEvCZorAbC9+Hv+ZDs1JSZS5wMb4WKpXBZ0rwDVOLwngqbVtfRHuQ==", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://github.com/sponsors/d-fischer" }, "peerDependencies": { - "storybook": "^8.3.6" + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@storybook/theming": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.6.tgz", - "integrity": "sha512-LQjUk6GXRW9ELkoBKuqzQKFUW+ajfGPfVELcfs3/VQX61VhthJ4olov4bGPc04wsmmFMgN/qODxT485IwOHfPQ==", + "node_modules/@svgr/core/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" }, - "peerDependencies": { - "storybook": "^8.3.6" + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/@storybook/types": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.3.6.tgz", - "integrity": "sha512-EY+bjIxxmKkFrL7CyDQb3EXbmy0+Y9OieaPrNNM7QXTfGgp81lXhfqMX3HLMMjplk+rcxVJLyzXSBx0nIn91fQ==", - "dev": true, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "type": "github", + "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "storybook": "^8.3.6" + "@svgr/core": "*" } }, "node_modules/@tsconfig/node10": { @@ -5994,6 +7203,7 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz", "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==", "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.16.0" } @@ -6027,6 +7237,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.45.tgz", "integrity": "sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==", "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -6070,12 +7281,29 @@ "@types/node": "*" } }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "license": "MIT" + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, "node_modules/@types/yargs": { "version": "17.0.35", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", @@ -6135,6 +7363,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.1.tgz", "integrity": "sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==", "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.53.1", "@typescript-eslint/types": "8.53.1", @@ -6344,6 +7573,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -6892,6 +8122,15 @@ "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==", "license": "MIT" }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz", + "integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", @@ -6954,11 +8193,24 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -7079,6 +8331,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==", + "license": "MIT" + }, "node_modules/any-observable": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", @@ -7167,6 +8425,15 @@ "node": ">=8" } }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -7204,6 +8471,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -7356,7 +8632,6 @@ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", "license": "MIT", - "peer": true, "dependencies": { "tslib": "^2.0.1" }, @@ -7508,6 +8783,20 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -7548,7 +8837,6 @@ "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", "license": "MIT", - "peer": true, "dependencies": { "open": "^8.0.4" }, @@ -7591,6 +8879,12 @@ "readable-stream": "^3.4.0" } }, + "node_modules/bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==", + "license": "MIT" + }, "node_modules/bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", @@ -7622,8 +8916,7 @@ "node_modules/browser-assert": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", - "peer": true + "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==" }, "node_modules/browserslist": { "version": "4.28.1", @@ -7644,6 +8937,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -7682,6 +8976,15 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -8201,6 +9504,18 @@ "node": ">=10" } }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cli-spinners": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", @@ -8380,18 +9695,74 @@ "node": ">=0.8" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "license": "MIT" + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/cloneable-readable/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/cloneable-readable/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/cloneable-readable/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" + "safe-buffer": "~5.1.0" } }, "node_modules/cmd-shim": { @@ -8730,6 +10101,28 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "license": "MIT" }, + "node_modules/copy-props": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-4.0.0.tgz", + "integrity": "sha512-bVWtw1wQLzzKiYROtvNlbJgxgBYt2bMJpkCbKmXM3xyijvcjjWXEk5nyrrT3bgJ7ODb19ZohE2T0Y3FgNPyoTw==", + "license": "MIT", + "dependencies": { + "each-props": "^3.0.0", + "is-plain-object": "^5.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/copy-props/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/copy-to-clipboard": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", @@ -8915,6 +10308,24 @@ "node": ">=4" } }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "license": "MIT" + }, "node_modules/cssstyle": { "version": "5.3.7", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.7.tgz", @@ -8950,6 +10361,7 @@ "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.30.3.tgz", "integrity": "sha512-HncJ9gGJbVtw7YXtIs3+6YAFSSiKsom0amWc33Z7QbylbY2JGMrA0yz4EwrdTScZxnwclXeEZHzO5pxoy0ZE4g==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10" } @@ -9586,6 +10998,17 @@ "node": ">=0.10.0" } }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/domino": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", + "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==", + "license": "BSD-2-Clause" + }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -9678,6 +11101,28 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/each-props": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-3.0.0.tgz", + "integrity": "sha512-IYf1hpuWrdzse/s/YJOrFmU15lyhSzxelNVAHTEG3DtP4QsLTWZUzcUL3HMXmKQxXpa4EIrBPpwRgj0aehdvAw==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^5.0.0", + "object.defaults": "^1.1.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/each-props/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -9726,28 +11171,11 @@ "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", "license": "MIT" }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "license": "MIT" }, "node_modules/end-of-stream": { "version": "1.4.5", @@ -10199,7 +11627,6 @@ "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", "license": "MIT", - "peer": true, "dependencies": { "debug": "^4.3.4" }, @@ -10230,6 +11657,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -10289,6 +11717,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "license": "MIT", + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -10399,6 +11828,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -10453,6 +11883,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -10953,12 +12384,39 @@ "node": ">=0.10.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/eventemitter3": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", "license": "MIT" }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, "node_modules/execa": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", @@ -10982,6 +12440,11 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" + }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -11043,6 +12506,12 @@ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "license": "Apache-2.0" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", @@ -11087,6 +12556,24 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fast-xml-parser": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.3.tgz", + "integrity": "sha512-2O3dkPAAC6JavuMm8+4+pgTk+5hoAs+CjZ+sWcQLkX9+/tHRuTkQh/Oaifr8qDmZ8iEHb771Ea6G8CdwkrgvYA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^2.1.0" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -11118,6 +12605,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -11145,6 +12638,23 @@ "node": ">=16.0.0" } }, + "node_modules/file-type": { + "version": "16.5.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", + "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", + "license": "MIT", + "dependencies": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.2.4", + "token-types": "^4.1.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -11271,6 +12781,12 @@ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "license": "ISC" }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "license": "MIT" + }, "node_modules/follow-redirects": { "version": "1.15.11", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", @@ -11306,6 +12822,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "license": "MIT", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -11538,6 +13075,19 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/fs-mkdirp-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-2.0.1.tgz", + "integrity": "sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.8", + "streamx": "^2.12.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -11834,6 +13384,16 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/gifwrap": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", + "integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==", + "license": "MIT", + "dependencies": { + "image-q": "^4.0.0", + "omggif": "^1.0.10" + } + }, "node_modules/git-log-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.1.tgz", @@ -11984,6 +13544,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "license": "MIT", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, "node_modules/global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -12119,6 +13689,18 @@ "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "license": "MIT" }, + "node_modules/glogg": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz", + "integrity": "sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==", + "license": "MIT", + "dependencies": { + "sparkles": "^2.1.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/gluegun": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-4.7.1.tgz", @@ -12450,46 +14032,166 @@ "type-fest": "^4.26.1" }, "engines": { - "node": ">=20" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/keyv": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/got/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/gulp": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.1.tgz", + "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", + "license": "MIT", + "dependencies": { + "glob-watcher": "^6.0.0", + "gulp-cli": "^3.1.0", + "undertaker": "^2.0.0", + "vinyl-fs": "^4.0.2" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/gulp-cli": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.1.0.tgz", + "integrity": "sha512-zZzwlmEsTfXcxRKiCHsdyjZZnFvXWM4v1NqBJSYbuApkvVKivjcmOS2qruAJ+PkEHLFavcDKH40DPc1+t12a9Q==", + "license": "MIT", + "dependencies": { + "@gulpjs/messages": "^1.1.0", + "chalk": "^4.1.2", + "copy-props": "^4.0.0", + "gulplog": "^2.2.0", + "interpret": "^3.1.1", + "liftoff": "^5.0.1", + "mute-stdout": "^2.0.0", + "replace-homedir": "^2.0.0", + "semver-greatest-satisfied-range": "^2.0.0", + "string-width": "^4.2.3", + "v8flags": "^4.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/gulp-cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/gulp-cli/node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/gulp-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/got/node_modules/keyv": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", - "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", + "node_modules/gulp-cli/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "license": "MIT", "dependencies": { - "@keyv/serialize": "^1.1.1" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "node_modules/got/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", - "license": "(MIT OR CC0-1.0)", + "node_modules/gulp-cli/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/graphlib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", - "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "node_modules/gulplog": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-2.2.0.tgz", + "integrity": "sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==", "license": "MIT", "dependencies": { - "lodash": "^4.17.15" + "glogg": "^2.2.0" + }, + "engines": { + "node": ">= 10.13.0" } }, "node_modules/handlebars": { @@ -13022,6 +14724,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.28.4" }, @@ -13133,6 +14836,21 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/image-q": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz", + "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==", + "license": "MIT", + "dependencies": { + "@types/node": "16.9.1" + } + }, + "node_modules/image-q/node_modules/@types/node": { + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", + "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==", + "license": "MIT" + }, "node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", @@ -13380,7 +15098,6 @@ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", "license": "MIT", - "peer": true, "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" @@ -13610,6 +15327,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", + "license": "MIT" + }, "node_modules/is-generator-function": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", @@ -13904,6 +15627,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", @@ -13992,6 +15724,16 @@ "node": ">=0.10.0" } }, + "node_modules/isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" + } + }, "node_modules/issue-parser": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", @@ -14090,6 +15832,24 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jimp": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.22.12.tgz", + "integrity": "sha512-R5jZaYDnfkxKJy1dwLpj/7cvyjxiclxU3F4TrI/J4j2rS0niq6YDUMoPn5hs8GDpO+OZGo7Ky057CRtWesyhfg==", + "license": "MIT", + "dependencies": { + "@jimp/custom": "^0.22.12", + "@jimp/plugins": "^0.22.12", + "@jimp/types": "^0.22.12", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/jpeg-js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", + "license": "BSD-3-Clause" + }, "node_modules/js-base64": { "version": "3.7.5", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz", @@ -14119,7 +15879,6 @@ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.8.0.tgz", "integrity": "sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==", "license": "MIT", - "peer": true, "engines": { "node": ">=12.0.0" } @@ -14339,6 +16098,12 @@ "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==", "license": "MIT" }, + "node_modules/kebab-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/kebab-case/-/kebab-case-2.0.2.tgz", + "integrity": "sha512-NhIP7vecGtqJfNZ85ct0yRQfx//gCJHapJCBZP6/BBcBw/U218Jw7YX7rO6TI5/cCp5dJvlIjN3vbcRTqq7nWA==", + "license": "MIT" + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -14363,6 +16128,12 @@ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==", "license": "MIT" }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "license": "MIT" + }, "node_modules/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", @@ -14381,6 +16152,15 @@ "node": ">=0.10" } }, + "node_modules/lead": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-4.0.0.tgz", + "integrity": "sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/lerna": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/lerna/-/lerna-8.2.4.tgz", @@ -14708,6 +16488,7 @@ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.7.tgz", "integrity": "sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==", "license": "MIT", + "peer": true, "dependencies": { "commander": "^14.0.2", "listr2": "^9.0.5", @@ -15307,6 +17088,34 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/load-bmfont": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.2.tgz", + "integrity": "sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==", + "license": "MIT", + "dependencies": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^3.7.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "node_modules/load-bmfont/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/load-json-file": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", @@ -15373,6 +17182,12 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "license": "MIT" }, + "node_modules/lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==", + "license": "MIT" + }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", @@ -15686,6 +17501,32 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/logform": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", + "license": "MIT", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/logform/node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", @@ -15855,6 +17696,7 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "license": "MIT", + "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -17075,6 +18917,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/min-document": { + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.2.tgz", + "integrity": "sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==", + "license": "MIT", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -17309,6 +19160,24 @@ "node": ">=8" } }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/mute-stdout": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-2.0.0.tgz", + "integrity": "sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==", + "license": "MIT", + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -17591,6 +19460,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/now-and-later": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-3.0.0.tgz", + "integrity": "sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/npm": { "version": "11.8.0", "resolved": "https://registry.npmjs.org/npm/-/npm-11.8.0.tgz", @@ -19517,6 +21398,7 @@ "version": "4.0.3", "inBundle": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -19652,6 +21534,7 @@ "integrity": "sha512-/++x0OM3/UTmDR+wmPeV13tSxeTr+QGzj3flgtH9DiOPmQnn2CjHWAMZiOhcSh/hHoE/V3ySL4757InQUsVtjQ==", "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "@napi-rs/wasm-runtime": "0.2.4", "@yarnpkg/lockfile": "^1.1.0", @@ -19813,6 +21696,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "license": "MIT", + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.entries": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", @@ -19897,6 +21795,15 @@ "wrappy": "1" } }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" + } + }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -19969,33 +21876,144 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "license": "MIT", + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/oslllo-potrace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/oslllo-potrace/-/oslllo-potrace-3.0.0.tgz", + "integrity": "sha512-ruH77xpa31SGnXuBJB54XYmlvZnsHlfrUgLFiEK6NxvTgsEZ6IAlfVxOkGnzhJq/73H5Nz9feoa4tLkJRsxYAg==", + "license": "GPL-2.0", + "dependencies": { + "jimp": "^0.22.12" + } + }, + "node_modules/oslllo-svg-fixer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/oslllo-svg-fixer/-/oslllo-svg-fixer-6.0.1.tgz", + "integrity": "sha512-I7s0ofAf0Y4U2JzSHTePATg8txiqOY7Fc+dX1m+PeXZqPuUs42708lgUhDSX9JmoHta3THvugW8Mi4fQtkbBPA==", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.3", + "cli-progress": "^3.12.0", + "fast-glob": "^3.3.1", + "oslllo-potrace": "^3.0.0", + "oslllo-svg2": "^3.0.0", + "oslllo-validator": "^3.1.0", + "piscina": "^4.1.0", + "yargs": "^16.2.0" + }, + "bin": { + "oslllo-svg-fixer": "src/cli.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/oslllo-svg-fixer/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/oslllo-svg-fixer/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/oslllo-svg-fixer/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/oslllo-svg-fixer/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "node_modules/oslllo-svg2": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/oslllo-svg2/-/oslllo-svg2-3.0.0.tgz", + "integrity": "sha512-XrWzbiR1su45NFWycBoMnN/T/UWY+V+ebe4uoJHTIv0HU9PSJnURZZmtIc2b8wOf0J+WKUhPZuTcmT3WVxybMA==", "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@resvg/resvg-js": "^2.1.0", + "domino": "^2.1.6", + "jimp": "^0.22.12", + "oslllo-validator": "3.1.0" } }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "deprecated": "This package is no longer supported.", - "license": "ISC", + "node_modules/oslllo-validator": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/oslllo-validator/-/oslllo-validator-3.1.0.tgz", + "integrity": "sha512-eqaVuDxnxDO55+pncqTTphbeq6O5XHMyrSfWQoL48mG2rUjr2ZBzvkFkcxIiG3l7IaIY6/L1oX1AJIDdZyzuPQ==", + "license": "MIT", "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "domino": "^2.1.6", + "validator": "^13.7.0" + }, + "engines": { + "node": ">= 10.0" } }, "node_modules/own-keys": { @@ -20287,6 +22305,28 @@ "node": ">=6" } }, + "node_modules/parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==", + "license": "MIT" + }, + "node_modules/parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==", + "license": "MIT" + }, + "node_modules/parse-bmfont-xml": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz", + "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==", + "license": "MIT", + "dependencies": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.5.0" + } + }, "node_modules/parse-conflict-json": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz", @@ -20326,6 +22366,12 @@ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, + "node_modules/parse-headers": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.6.tgz", + "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==", + "license": "MIT" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -20561,6 +22607,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/piscina": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.9.2.tgz", + "integrity": "sha512-Fq0FERJWFEUpB4eSY59wSNwXD4RYqR+nR/WiEVcZW8IWfVBxJJafcgTEZDQo8k3w0sUarJ8RyVbbUF4GQ2LGbQ==", + "license": "MIT", + "optionalDependencies": { + "@napi-rs/nice": "^1.0.1" + } + }, + "node_modules/pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", + "license": "ISC", + "dependencies": { + "pngjs": "^3.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", @@ -20717,6 +22793,15 @@ "node": ">=4" } }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "license": "MIT", + "engines": { + "node": ">=12.13.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -20745,6 +22830,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -20813,6 +22899,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -20841,6 +22928,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -20904,6 +22992,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/prettysize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prettysize/-/prettysize-2.0.0.tgz", + "integrity": "sha512-VVtxR7sOh0VsG8o06Ttq5TrI1aiZKmC+ClSn4eBPaNf4SHr5lzbYW+kYGX3HocBL/MfpVrRfFZ9V3vCbLaiplg==" + }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -20927,7 +23020,6 @@ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "license": "MIT", - "peer": true, "engines": { "node": ">= 0.6.0" } @@ -21136,6 +23228,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -21148,6 +23241,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" @@ -21696,6 +23790,62 @@ "node": ">= 6" } }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.4.tgz", + "integrity": "sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==", + "license": "MIT", + "dependencies": { + "readable-stream": "^4.7.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readable-web-to-node-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/readdir-scoped-modules": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", @@ -21726,7 +23876,6 @@ "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", "license": "MIT", - "peer": true, "dependencies": { "ast-types": "^0.16.1", "esprima": "~4.0.0", @@ -21807,6 +23956,12 @@ "node": ">=4" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", @@ -21955,6 +24110,30 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC" + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/replace-homedir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-2.0.0.tgz", + "integrity": "sha512-bgEuQQ/BHW0XkkJtawzrfzHFSN70f/3cNOiHa2QsYxqrjaC30X1k74FJ6xswVBP0sr0SpGIdVFuPwfrYziVeyw==", + "license": "MIT", + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -22039,6 +24218,18 @@ "node": ">=8" } }, + "node_modules/resolve-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-2.0.0.tgz", + "integrity": "sha512-/FopbmmFOQCfsCx77BRFdKOniglTiHumLgwvd6IDPihy1GKkadZbgQJBcTb2lMzSR1pndzd96b1nZrreZ7+9/A==", + "license": "MIT", + "dependencies": { + "value-or-function": "^4.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", @@ -22373,12 +24564,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, + "node_modules/sax": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", + "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", + "license": "BlueOak-1.0.0" + }, "node_modules/saxes": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", @@ -22405,6 +24611,7 @@ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.2.tgz", "integrity": "sha512-6qGjWccl5yoyugHt3jTgztJ9Y0JVzyH8/Voc/D8PlLat9pwxQYXz7W1Dpnq5h0/G5GCYGUaDSlYcyk3AMh5A6g==", "license": "MIT", + "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/error": "^4.0.0", @@ -22859,6 +25066,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semver-greatest-satisfied-range": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-2.0.0.tgz", + "integrity": "sha512-lH3f6kMbwyANB7HuOWRMlLCa2itaCrZJ+SAqqkSZrZKO/cAsk2EOyaKHUtNkVLFyFW9pct22SFesFp3Z7zpA0g==", + "license": "MIT", + "dependencies": { + "sver": "^1.8.3" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/semver-regex": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", @@ -23266,6 +25485,16 @@ "npm": ">= 3.0.0" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/socks": { "version": "2.8.7", "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", @@ -23365,6 +25594,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/sparkles": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz", + "integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==", + "license": "MIT", + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/spawn-error-forwarder": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", @@ -23470,6 +25708,13 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" + }, "node_modules/stable-hash-x": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/stable-hash-x/-/stable-hash-x-0.2.0.tgz", @@ -23479,6 +25724,15 @@ "node": ">=12.0.0" } }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -23587,6 +25841,26 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/stream-composer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-composer/-/stream-composer-1.0.2.tgz", + "integrity": "sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==", + "license": "MIT", + "dependencies": { + "streamx": "^2.13.2" + } + }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -23840,6 +26114,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", + "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/strtok3": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", + "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^4.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/style-search": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", @@ -23869,6 +26172,7 @@ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz", "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==", "license": "MIT", + "peer": true, "dependencies": { "@csstools/selector-specificity": "^2.0.2", "balanced-match": "^2.0.0", @@ -24364,38 +26668,150 @@ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sver": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/sver/-/sver-1.8.4.tgz", + "integrity": "sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==", + "license": "MIT", + "optionalDependencies": { + "semver": "^6.3.0" + } + }, + "node_modules/sver/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svg-sprite": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-sprite/-/svg-sprite-2.0.4.tgz", + "integrity": "sha512-kjDoATgr4k6tdtfQczpkbuFW6RE7tPUPe/rbRd1n2NV92kdwaXEZMIxJqAZfMGOMfU/Kp1u89SUYsfHCbAvVHg==", + "license": "MIT", + "dependencies": { + "@resvg/resvg-js": "^2.6.0", + "@xmldom/xmldom": "^0.8.10", + "async": "^3.2.5", + "css-selector-parser": "^1.4.1", + "csso": "^4.2.0", + "cssom": "^0.5.0", + "glob": "^7.2.3", + "js-yaml": "^4.1.0", + "lodash.escape": "^4.0.1", + "lodash.merge": "^4.6.2", + "mustache": "^4.2.0", + "prettysize": "^2.0.0", + "svgo": "^2.8.0", + "vinyl": "^2.2.1", + "winston": "^3.11.0", + "xpath": "^0.0.34", + "yargs": "^17.7.2" + }, + "bin": { + "svg-sprite": "bin/svg-sprite.js" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/supports-hyperlinks": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", - "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", + "node_modules/svg-sprite/node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/svg-sprite/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=14.18" + "node": "*" }, "funding": { - "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/svg-sprite/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 0.10" + } + }, + "node_modules/svg-sprite/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "license": "MIT", + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.10" } }, "node_modules/svg-tags": { @@ -24403,6 +26819,36 @@ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==" }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", @@ -24733,12 +27179,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/timm": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==", + "license": "MIT" + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/tinybench": { "version": "2.9.0", @@ -24746,6 +27197,12 @@ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "license": "MIT" }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "license": "MIT" + }, "node_modules/tinyexec": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", @@ -24793,6 +27250,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -24848,12 +27306,41 @@ "node": ">=8.0" } }, + "node_modules/to-through": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-3.0.0.tgz", + "integrity": "sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/toggle-selection": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", "license": "MIT" }, + "node_modules/token-types": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", + "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/tough-cookie": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", @@ -24921,6 +27408,15 @@ "node": ">=8" } }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/trough": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", @@ -25147,6 +27643,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -25444,6 +27941,7 @@ "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "napi-postinstall": "^0.3.0" }, @@ -25541,7 +28039,6 @@ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -25587,6 +28084,15 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "license": "MIT" }, + "node_modules/v8flags": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.1.tgz", + "integrity": "sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==", + "license": "MIT", + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -25606,6 +28112,24 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/validator": { + "version": "13.15.26", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.26.tgz", + "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/value-or-function": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-4.0.0.tgz", + "integrity": "sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==", + "license": "MIT", + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -25648,11 +28172,138 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "license": "MIT", + "dependencies": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/vinyl-contents": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-contents/-/vinyl-contents-2.0.0.tgz", + "integrity": "sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==", + "license": "MIT", + "dependencies": { + "bl": "^5.0.0", + "vinyl": "^3.0.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/vinyl-contents/node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/vinyl-contents/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/vinyl-fs": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.2.tgz", + "integrity": "sha512-XRFwBLLTl8lRAOYiBqxY279wY46tVxLaRhSwo3GzKEuLz1giffsOquWWboD/haGf5lx+JyTigCFfe7DWHoARIA==", + "license": "MIT", + "dependencies": { + "fs-mkdirp-stream": "^2.0.1", + "glob-stream": "^8.0.3", + "graceful-fs": "^4.2.11", + "iconv-lite": "^0.6.3", + "is-valid-glob": "^1.0.0", + "lead": "^4.0.0", + "normalize-path": "3.0.0", + "resolve-options": "^2.0.0", + "stream-composer": "^1.0.2", + "streamx": "^2.14.0", + "to-through": "^3.0.0", + "value-or-function": "^4.0.0", + "vinyl": "^3.0.1", + "vinyl-sourcemap": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/vinyl-fs/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vinyl-sourcemap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-2.0.0.tgz", + "integrity": "sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==", + "license": "MIT", + "dependencies": { + "convert-source-map": "^2.0.0", + "graceful-fs": "^4.2.10", + "now-and-later": "^3.0.0", + "streamx": "^2.12.5", + "vinyl": "^3.0.0", + "vinyl-contents": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/vinyl/node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/vite": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -26201,6 +28852,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -26323,6 +28975,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -26554,6 +29207,51 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/winston": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.19.0.tgz", + "integrity": "sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==", + "license": "MIT", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.8", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.7.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.9.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", + "license": "MIT", + "dependencies": { + "logform": "^2.7.0", + "readable-stream": "^3.6.2", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston/node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -26735,6 +29433,18 @@ } } }, + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "license": "MIT", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, "node_modules/xml-name-validator": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", @@ -26744,12 +29454,49 @@ "node": ">=18" } }, + "node_modules/xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==", + "license": "MIT" + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "license": "MIT" }, + "node_modules/xpath": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.34.tgz", + "integrity": "sha512-FxF6+rkr1rNSQrhUNYrAFJpRXNzlDoMxeXN5qI84939ylEv3qqPFKa85Oxr6tDaJKqwW6KKyo2v26TSv3k6LeA==", + "license": "MIT", + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -26854,6 +29601,7 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -27236,6 +29984,35 @@ "url": "https://opencollective.com/date-fns" } }, + "packages/gulp-icon-builder": { + "name": "@cloud-ru/ft-gulp-icon-builder", + "version": "1.0.0", + "license": "Apache-2.0", + "dependencies": { + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "camelcase": "5.3.1", + "fast-xml-parser": "5.3.3", + "gulp": "5.0.1", + "kebab-case": "2.0.2", + "oslllo-svg-fixer": "6.0.1", + "svg-sprite": "2.0.4", + "vinyl": "3.0.1" + }, + "devDependencies": { + "@types/vinyl": "2.0.12", + "gulp-cli": "3.1.0" + } + }, + "packages/gulp-icon-builder/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "packages/lerna-changelog-generator": { "name": "@cloud-ru/ft-lerna-changelog-generator", "version": "1.2.3", diff --git a/packages/gulp-icon-builder/.gitignore b/packages/gulp-icon-builder/.gitignore new file mode 100644 index 0000000..a23860b --- /dev/null +++ b/packages/gulp-icon-builder/.gitignore @@ -0,0 +1 @@ +test/dest \ No newline at end of file diff --git a/packages/gulp-icon-builder/CHANGELOG.md b/packages/gulp-icon-builder/CHANGELOG.md new file mode 100644 index 0000000..3ddadbb --- /dev/null +++ b/packages/gulp-icon-builder/CHANGELOG.md @@ -0,0 +1,5 @@ +## CHANGELOG + +### v0.0.0 + +- Initial version diff --git a/packages/gulp-icon-builder/LICENSE b/packages/gulp-icon-builder/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/packages/gulp-icon-builder/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/gulp-icon-builder/README.md b/packages/gulp-icon-builder/README.md new file mode 100644 index 0000000..7be9e0b --- /dev/null +++ b/packages/gulp-icon-builder/README.md @@ -0,0 +1,4 @@ +# @cloud-ru/frontend-tools-gulp-icon-builder + +## Installation +`npm i @cloud-ru/frontend-tools-gulp-icon-builder` diff --git a/packages/gulp-icon-builder/gulpfile.js b/packages/gulp-icon-builder/gulpfile.js new file mode 100644 index 0000000..2ba114b --- /dev/null +++ b/packages/gulp-icon-builder/gulpfile.js @@ -0,0 +1,25 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { dest, src } = require('gulp'); + +const { + gulpFixSvg, + gulpSvgUniqValidator, + gulpSvgSizeValidator, + gulpCreateSvgSprite, + gulpSvgr, + getTemplate, + gulpSvgIndexFile, + getTestId, +} = require('./dist/cjs'); + +const idPrefix = 'snack-uikit'; + +module.exports.default = () => + src('./test/icons/**/*.svg') + .pipe(gulpSvgSizeValidator()) + .pipe(gulpSvgUniqValidator()) + .pipe(gulpFixSvg()) // FIXME: the slowest part of pipe: 12sec with and 1.2sec without + .pipe(gulpCreateSvgSprite({ filePath: './test/dest/sprite.svg', idPrefix })) + .pipe(gulpSvgr({ template: getTemplate({ idPrefix, generateDataTestId: getTestId }) })) + .pipe(gulpSvgIndexFile({ src: './test/icons', dest: './test/dest' })) + .pipe(dest('./test/dest')); diff --git a/packages/gulp-icon-builder/package.json b/packages/gulp-icon-builder/package.json new file mode 100644 index 0000000..180663d --- /dev/null +++ b/packages/gulp-icon-builder/package.json @@ -0,0 +1,49 @@ +{ + "name": "@cloud-ru/ft-gulp-icon-builder", + "version": "1.0.0", + "description": "", + "keywords": [ + "" + ], + "publishConfig": { + "access": "public" + }, + "scripts": { + "gulp": "gulp" + }, + "author": "yetihead ", + "license": "Apache-2.0", + "types": "./dist/esm/index.d.ts", + "exports": { + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js" + }, + "files": [ + "dist/esm", + "dist/cjs", + "src", + "./CHANGELOG.md", + "LICENSE" + ], + "homepage": "https://github.com/cloud-ru-tech/frontend-toolspackages/gulp-icon-builder", + "repository": { + "type": "git", + "url": "https://github.com/cloud-ru-tech/frontend-tools.git", + "directory": "packages/gulp-icon-builder" + }, + "dependencies": { + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "camelcase": "5.3.1", + "fast-xml-parser": "5.3.3", + "gulp": "5.0.1", + "kebab-case": "2.0.2", + "oslllo-svg-fixer": "6.0.1", + "svg-sprite": "2.0.4", + "vinyl": "3.0.1" + }, + "devDependencies": { + "@types/vinyl": "2.0.12", + "gulp-cli": "3.1.0" + } +} diff --git a/packages/gulp-icon-builder/src/index.ts b/packages/gulp-icon-builder/src/index.ts new file mode 100644 index 0000000..563a859 --- /dev/null +++ b/packages/gulp-icon-builder/src/index.ts @@ -0,0 +1,7 @@ +export { gulpFixSvg } from './svg-fixer'; +export { gulpSvgSizeValidator } from './svg-size-validator'; +export { gulpSvgUniqValidator } from './svg-uniq-validator'; +export { gulpCreateSvgSprite } from './svg-create-sprite'; +export { gulpSvgr, type GulpSvgrParams } from './svg-svgr'; +export { gulpSvgIndexFile } from './svg-index-file'; +export * from './utils'; diff --git a/packages/gulp-icon-builder/src/svg-create-sprite.ts b/packages/gulp-icon-builder/src/svg-create-sprite.ts new file mode 100644 index 0000000..c59cb15 --- /dev/null +++ b/packages/gulp-icon-builder/src/svg-create-sprite.ts @@ -0,0 +1,35 @@ +import fs from 'node:fs'; +import path from 'node:path'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import SVGSprite from 'svg-sprite'; + +import { createPipeTransformer } from './utils/createPipeTransformer'; + +export function gulpCreateSvgSprite({ filePath, idPrefix }: { idPrefix: string; filePath: string }) { + const sprite = new SVGSprite({ + dest: path.resolve(process.cwd(), filePath), + mode: { + symbol: true, + }, + }); + + return createPipeTransformer({ + transformer: (file, _encoding, callback) => { + const content = file.contents.toString(); + + const name = (idPrefix + '-' + path.basename(file.path)).split('.')[0]; + + sprite.add(name, null, content.replace(/fill="[A-Za-z0-9#]+"/g, 'fill="inherit"')); + + callback(null, file); + }, + + onEnd: async () => { + const { result } = await sprite.compileAsync(); + const fullFilePath = path.resolve(process.cwd(), filePath); + fs.mkdirSync(path.dirname(fullFilePath), { recursive: true }); + fs.writeFileSync(fullFilePath, result.symbol.sprite.contents.toString()); + }, + }); +} diff --git a/packages/gulp-icon-builder/src/svg-fixer.ts b/packages/gulp-icon-builder/src/svg-fixer.ts new file mode 100644 index 0000000..4d37e27 --- /dev/null +++ b/packages/gulp-icon-builder/src/svg-fixer.ts @@ -0,0 +1,19 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-expect-error +import svgFixer from 'oslllo-svg-fixer'; + +import { createPipeTransformer } from './utils/createPipeTransformer'; + +type SvgFixer = { fixString: (svg: string | Buffer) => Promise }; + +const fixSvg = (svgFixer as unknown as SvgFixer).fixString; + +export function gulpFixSvg() { + return createPipeTransformer({ + transformer: async (file, encoding, callback) => { + const fixedSvg = await fixSvg(file.contents); + file.contents = Buffer.from(fixedSvg, encoding); + return callback(null, file); + }, + }); +} diff --git a/packages/gulp-icon-builder/src/svg-index-file.ts b/packages/gulp-icon-builder/src/svg-index-file.ts new file mode 100644 index 0000000..aaa9aeb --- /dev/null +++ b/packages/gulp-icon-builder/src/svg-index-file.ts @@ -0,0 +1,68 @@ +import fs from 'node:fs'; +import path from 'node:path'; + +import { createPipeTransformer } from './utils/createPipeTransformer'; +import { getComponent } from './utils/index-template'; + +type Params = { + src: string; + dest: string; + getComponentName?: (fileName: string) => string; +}; + +const capitalizeFirstLetter = (str: string): string => { + if (!str) return str; + return str.charAt(0).toUpperCase() + str.slice(1); +}; + +const removeLeadingSlash = (str: string): string => str.replace(/^\/+/, ''); + +export function gulpSvgIndexFile({ src, dest, getComponentName = capitalizeFirstLetter }: Params) { + const folders: Record = {}; + + const getTail = (fullPath: string) => removeLeadingSlash(fullPath.replace(path.resolve(process.cwd(), src), '')); + + return createPipeTransformer({ + transformer: (file, _encoding, callback) => { + const folder = file.dirname; + const files = folders[folder] || []; + files.push(file.basename); + folders[folder] = files; + + callback(null, file); + }, + + onEnd: async () => { + const imports: string[] = []; + let indexFile: string | undefined; + + for (const [folder, files] of Object.entries(folders)) { + if (files.length !== 1 && files.length !== 2) { + throw new Error(`Unexpected count of files in folder: ${folder}`); + } + + { + // index file for icon folder + const component = + files.length === 2 + ? getComponent(files, 'Component') + : `export { default } from './${files[0].split('.')[0]}';`; + const finalFilePath = path.resolve(dest, getTail(folder), 'index.tsx'); + fs.writeFileSync(finalFilePath, component); + } + + { + // index file for all + const folderName = path.basename(folder); + const componentName = getComponentName(folderName); + imports.push(`export { default as ${componentName} } from './${folderName}';`); + if (!indexFile) { + indexFile = path.resolve(dest, getTail(path.dirname(folder)), 'index.tsx'); + } + } + } + + fs.writeFileSync(indexFile as string, imports.join('\n')); + }, + }); +} diff --git a/packages/gulp-icon-builder/src/svg-size-validator.ts b/packages/gulp-icon-builder/src/svg-size-validator.ts new file mode 100644 index 0000000..1e0a1a6 --- /dev/null +++ b/packages/gulp-icon-builder/src/svg-size-validator.ts @@ -0,0 +1,30 @@ +import { XMLParser } from 'fast-xml-parser'; + +import { createPipeTransformer } from './utils/createPipeTransformer'; + +export function gulpSvgSizeValidator(maxSize: number = 24) { + const parser = new XMLParser({ + ignoreAttributes: false, + attributeNamePrefix: '@_', + }); + + return createPipeTransformer({ + transformer: (file, _encoding, callback) => { + const content = file.contents.toString(); + /* + А че, если мы не будем здесь стопать парсингом xml пайп, а вместо этого отложим парсинг и проверку в асинхронный пул? + А дожидаться разгребания этого пула будем в колбеке закрытия стрима, когда вся основная работа уже сделана. + */ + const xml = parser.parse(content); + + const width = xml.svg['@_width']; + const height = xml.svg['@_height']; + + if ((width && Number(width) > maxSize) || (height && Number(height) > maxSize)) { + return callback(new Error(`Icon size is bigger than ${maxSize}px, please make it smaller:\n\t${file.path}\n`)); + } + + return callback(null, file); + }, + }); +} diff --git a/packages/gulp-icon-builder/src/svg-svgr.ts b/packages/gulp-icon-builder/src/svg-svgr.ts new file mode 100644 index 0000000..40ad019 --- /dev/null +++ b/packages/gulp-icon-builder/src/svg-svgr.ts @@ -0,0 +1,35 @@ +import { Config, transform } from '@svgr/core'; + +import { getComponentName } from './utils'; +import { createPipeTransformer } from './utils/createPipeTransformer'; + +export type GulpSvgrParams = Config; + +export function gulpSvgr(params: GulpSvgrParams) { + return createPipeTransformer({ + transformer: (file, _encoding, callback) => { + const content = file.contents.toString(); + + const componentName = getComponentName(file.basename); + + const result = transform.sync( + content, + { + icon: true, + typescript: true, + expandProps: 'end', + jsxRuntime: 'classic', + exportType: 'default', + plugins: ['@svgr/plugin-jsx'], + ...params, + }, + { componentName, caller: { name: 'gulp-svgr' }, filePath: file.path }, + ); + + file.contents = Buffer.from(result); + file.extname = '.tsx'; + + callback(null, file); + }, + }); +} diff --git a/packages/gulp-icon-builder/src/svg-uniq-validator.ts b/packages/gulp-icon-builder/src/svg-uniq-validator.ts new file mode 100644 index 0000000..907a300 --- /dev/null +++ b/packages/gulp-icon-builder/src/svg-uniq-validator.ts @@ -0,0 +1,21 @@ +import { createPipeTransformer } from './utils/createPipeTransformer'; + +export function gulpSvgUniqValidator() { + const storage = new Map(); + + return createPipeTransformer({ + transformer: (file, _encoding, callback) => { + const content = file.contents.toString(); + const alreadyHaveIcon = storage.get(content); + const iconPath = file.path; + + if (alreadyHaveIcon) { + return callback(new Error(`There are duplicating icons:\n\t${alreadyHaveIcon} \n\t${iconPath}\n`)); + } + + storage.set(content, iconPath); + + callback(null, file); + }, + }); +} diff --git a/packages/gulp-icon-builder/src/utils/createPipeTransformer.ts b/packages/gulp-icon-builder/src/utils/createPipeTransformer.ts new file mode 100644 index 0000000..9c9064d --- /dev/null +++ b/packages/gulp-icon-builder/src/utils/createPipeTransformer.ts @@ -0,0 +1,36 @@ +import { Transform } from 'node:stream'; +import type File from 'vinyl'; + +type TransformCallback = (err?: Error | null, data?: File) => void; + +type Transformer = (file: File.BufferFile, _encoding: BufferEncoding, callback: TransformCallback) => void; + +export type PipeTransformerParams = { + transformer: Transformer; + onEnd?: () => void; +}; + +export function createPipeTransformer({ transformer, onEnd }: PipeTransformerParams) { + const stream = new Transform({ + objectMode: true, + async transform(file: File, _encoding: BufferEncoding, callback: TransformCallback) { + if (file.isNull()) { + return callback(null, file); + } + + if (file.isStream()) { + return callback(new Error('Streaming not supported')); + } + + if (file.isBuffer()) { + return transformer(file, _encoding, callback); + } + + return callback(null, file); + }, + }); + + if (onEnd) stream.on('end', onEnd); + + return stream; +} diff --git a/packages/gulp-icon-builder/src/utils/index-template.ts b/packages/gulp-icon-builder/src/utils/index-template.ts new file mode 100644 index 0000000..f8d9e0a --- /dev/null +++ b/packages/gulp-icon-builder/src/utils/index-template.ts @@ -0,0 +1,35 @@ +const ICON_PROPS = ` +export interface ISvgIconProps extends SVGProps { + className?: string; + size?: number; + style?: React.CSSProperties; +} +`; +const REACT_IMPORT = "import { SVGProps, forwardRef, Ref } from 'react';"; +const DEFAULT_SIZE = 24; + +const getExportName = (fileName: string) => (fileName.endsWith('xs.tsx') ? 'XsSVG' : 'SSVG'); + +const withoutExtension = (fileName: string) => fileName.split('.')[0]; + +export const getComponent = (iconFiles: string[], componentName: string) => { + const iconImports = iconFiles + .map(file => `import { default as ${getExportName(file)} } from './${withoutExtension(file)}';`) + .join('\n'); + + const finalComponentName = `${componentName}SVG`; + + return ` + ${REACT_IMPORT} + ${iconImports} + + ${ICON_PROPS} + + const ${finalComponentName} = forwardRef(({ size = ${DEFAULT_SIZE}, ...props }: ISvgIconProps, ref: Ref) => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return Number(size) >= 20 ? : ; + }); + + export default ${finalComponentName};`; +}; diff --git a/packages/gulp-icon-builder/src/utils/index.ts b/packages/gulp-icon-builder/src/utils/index.ts new file mode 100644 index 0000000..fc8cbd4 --- /dev/null +++ b/packages/gulp-icon-builder/src/utils/index.ts @@ -0,0 +1,3 @@ +export { getTemplate } from './svgr-template'; +export { getComponent } from './index-template'; +export * from './name'; diff --git a/packages/gulp-icon-builder/src/utils/name.ts b/packages/gulp-icon-builder/src/utils/name.ts new file mode 100644 index 0000000..0a448ee --- /dev/null +++ b/packages/gulp-icon-builder/src/utils/name.ts @@ -0,0 +1,10 @@ +import camelcase from 'camelcase'; +import kebabCase from 'kebab-case'; + +export function getTestId(componentName: string) { + return kebabCase(componentName.replace('Svg', ''), false); +} + +export function getComponentName(fileName: string) { + return camelcase(fileName); +} diff --git a/packages/gulp-icon-builder/src/utils/svgr-template.ts b/packages/gulp-icon-builder/src/utils/svgr-template.ts new file mode 100644 index 0000000..5d239e2 --- /dev/null +++ b/packages/gulp-icon-builder/src/utils/svgr-template.ts @@ -0,0 +1,58 @@ +import type { Template } from '@svgr/babel-plugin-transform-svg-component'; + +const size = 24; + +type getTemplateParams = { + idPrefix: string; + generateDataTestId: (fileName: string) => string; +}; + +export const getTemplate = + ({ idPrefix, generateDataTestId }: getTemplateParams): Template => + ({ imports, interfaces, componentName, exports }, { tpl }) => { + const testId = generateDataTestId(componentName); + const componentProp = size ? `{ size = ${size}, ...props }: ISvgIconProps` : `{ size, ...props }: ISvgIconProps`; + + return tpl` + // DO NOT EDIT IT MANUALLY + ${imports} + ${interfaces} + + export interface ISvgIconProps extends SVGProps { + className?: string; + size?: number; + style?: React.CSSProperties; + } + + const ${componentName} = React.forwardRef((${componentProp}, ref: React.Ref) => { + props.width = undefined; + props.height = undefined; + + const testId = ${JSON.stringify(testId)}; + const isCustomSize = typeof size === 'number'; + + if(isCustomSize) { + if(!props.style) props.style = {}; + props.style.width = size+"px"; + props.style.height = size+"px"; + } + + return ( + + + + ); + }); + + ${exports} + `; + }; diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/alarmFilled/alarm-filled-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/alarmFilled/alarm-filled-s.svg new file mode 100644 index 0000000..4adb017 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/alarmFilled/alarm-filled-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/alarmFilled/alarm-filled-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/alarmFilled/alarm-filled-xs.svg new file mode 100644 index 0000000..a6999a6 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/alarmFilled/alarm-filled-xs.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowDown/arrow-down-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowDown/arrow-down-s.svg new file mode 100644 index 0000000..ea0a1e1 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowDown/arrow-down-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowDown/arrow-down-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowDown/arrow-down-xs.svg new file mode 100644 index 0000000..74e115f --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowDown/arrow-down-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowLeft/arrow-left-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowLeft/arrow-left-s.svg new file mode 100644 index 0000000..224f303 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowLeft/arrow-left-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowLeft/arrow-left-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowLeft/arrow-left-xs.svg new file mode 100644 index 0000000..cac942b --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowLeft/arrow-left-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowLinks/arrow-links-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowLinks/arrow-links-s.svg new file mode 100644 index 0000000..fddb89a --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowLinks/arrow-links-s.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowLinks/arrow-links-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowLinks/arrow-links-xs.svg new file mode 100644 index 0000000..072c43a --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowLinks/arrow-links-xs.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowRight/arrow-right-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowRight/arrow-right-s.svg new file mode 100644 index 0000000..214ec4d --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowRight/arrow-right-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowRight/arrow-right-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowRight/arrow-right-xs.svg new file mode 100644 index 0000000..dfb87ac --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowRight/arrow-right-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowUp/arrow-up-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowUp/arrow-up-s.svg new file mode 100644 index 0000000..85e3c33 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowUp/arrow-up-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/arrowUp/arrow-up-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/arrowUp/arrow-up-xs.svg new file mode 100644 index 0000000..61a088e --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/arrowUp/arrow-up-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/calendar/calendar-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/calendar/calendar-s.svg new file mode 100644 index 0000000..0aa571b --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/calendar/calendar-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/calendar/calendar-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/calendar/calendar-xs.svg new file mode 100644 index 0000000..eb87cc1 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/calendar/calendar-xs.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/check/check-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/check/check-s.svg new file mode 100644 index 0000000..031a7b3 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/check/check-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/check/check-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/check/check-xs.svg new file mode 100644 index 0000000..28adbcd --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/check/check-xs.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/checkFilled/check-filled-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/checkFilled/check-filled-s.svg new file mode 100644 index 0000000..68594e0 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/checkFilled/check-filled-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/checkFilled/check-filled-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/checkFilled/check-filled-xs.svg new file mode 100644 index 0000000..cd4a6d0 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/checkFilled/check-filled-xs.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/chevronDown/chevron-down-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/chevronDown/chevron-down-s.svg new file mode 100644 index 0000000..9245bcc --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/chevronDown/chevron-down-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/chevronDown/chevron-down-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/chevronDown/chevron-down-xs.svg new file mode 100644 index 0000000..a5d86a1 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/chevronDown/chevron-down-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/chevronLeft/chevron-left-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/chevronLeft/chevron-left-s.svg new file mode 100644 index 0000000..f150144 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/chevronLeft/chevron-left-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/chevronLeft/chevron-left-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/chevronLeft/chevron-left-xs.svg new file mode 100644 index 0000000..9ddb681 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/chevronLeft/chevron-left-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/chevronRight/chevron-right-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/chevronRight/chevron-right-s.svg new file mode 100644 index 0000000..994fed1 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/chevronRight/chevron-right-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/chevronRight/chevron-right-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/chevronRight/chevron-right-xs.svg new file mode 100644 index 0000000..e0e5037 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/chevronRight/chevron-right-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/chevronUp/chevron-up-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/chevronUp/chevron-up-s.svg new file mode 100644 index 0000000..36ef114 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/chevronUp/chevron-up-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/chevronUp/chevron-up-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/chevronUp/chevron-up-xs.svg new file mode 100644 index 0000000..1f7561f --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/chevronUp/chevron-up-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/copy/copy-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/copy/copy-s.svg new file mode 100644 index 0000000..157f093 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/copy/copy-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/copy/copy-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/copy/copy-xs.svg new file mode 100644 index 0000000..4fbaa4a --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/copy/copy-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/cross/cross-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/cross/cross-s.svg new file mode 100644 index 0000000..b090a12 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/cross/cross-s.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/cross/cross-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/cross/cross-xs.svg new file mode 100644 index 0000000..0a0a220 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/cross/cross-xs.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/crossFilled/cross-filled-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/crossFilled/cross-filled-s.svg new file mode 100644 index 0000000..e78be00 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/crossFilled/cross-filled-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/crossFilled/cross-filled-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/crossFilled/cross-filled-xs.svg new file mode 100644 index 0000000..d1bcb42 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/crossFilled/cross-filled-xs.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/day/day-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/day/day-s.svg new file mode 100644 index 0000000..d4a8750 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/day/day-s.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/download/download-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/download/download-s.svg new file mode 100644 index 0000000..afba844 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/download/download-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/download/download-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/download/download-xs.svg new file mode 100644 index 0000000..d3a9673 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/download/download-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/dragDrop/drag-drop-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/dragDrop/drag-drop-s.svg new file mode 100644 index 0000000..3bbc43b --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/dragDrop/drag-drop-s.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/dragDrop/drag-drop-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/dragDrop/drag-drop-xs.svg new file mode 100644 index 0000000..f2f1943 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/dragDrop/drag-drop-xs.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/email/email-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/email/email-s.svg new file mode 100644 index 0000000..ccf70e7 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/email/email-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/eye/eye-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/eye/eye-s.svg new file mode 100644 index 0000000..66c6f20 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/eye/eye-s.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/eye/eye-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/eye/eye-xs.svg new file mode 100644 index 0000000..2464bb8 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/eye/eye-xs.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/eyeClosed/eye-closed-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/eyeClosed/eye-closed-s.svg new file mode 100644 index 0000000..4b24ed1 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/eyeClosed/eye-closed-s.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/eyeClosed/eye-closed-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/eyeClosed/eye-closed-xs.svg new file mode 100644 index 0000000..a258575 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/eyeClosed/eye-closed-xs.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/file/file-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/file/file-s.svg new file mode 100644 index 0000000..cc27c02 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/file/file-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/file/file-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/file/file-xs.svg new file mode 100644 index 0000000..20c361b --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/file/file-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/filter/filter-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/filter/filter-s.svg new file mode 100644 index 0000000..413cf62 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/filter/filter-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/folder/folder-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/folder/folder-s.svg new file mode 100644 index 0000000..3e87cde --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/folder/folder-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/folder/folder-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/folder/folder-xs.svg new file mode 100644 index 0000000..611557b --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/folder/folder-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/folderOpen/folder-open-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/folderOpen/folder-open-s.svg new file mode 100644 index 0000000..179d81c --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/folderOpen/folder-open-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/folderOpen/folder-open-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/folderOpen/folder-open-xs.svg new file mode 100644 index 0000000..551ee0a --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/folderOpen/folder-open-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/functionSettings/function-settings-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/functionSettings/function-settings-s.svg new file mode 100644 index 0000000..bb1cafc --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/functionSettings/function-settings-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/functionSettings/function-settings-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/functionSettings/function-settings-xs.svg new file mode 100644 index 0000000..108050e --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/functionSettings/function-settings-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/heart/heart-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/heart/heart-s.svg new file mode 100644 index 0000000..ed43ae9 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/heart/heart-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/heartFilled/heart-filled-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/heartFilled/heart-filled-s.svg new file mode 100644 index 0000000..5d7ded1 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/heartFilled/heart-filled-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/heartFilled/heart-filled-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/heartFilled/heart-filled-xs.svg new file mode 100644 index 0000000..3e90160 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/heartFilled/heart-filled-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/home/home-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/home/home-s.svg new file mode 100644 index 0000000..14eb7d6 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/home/home-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/home/home-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/home/home-xs.svg new file mode 100644 index 0000000..263c292 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/home/home-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/infoFilled/info-filled-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/infoFilled/info-filled-s.svg new file mode 100644 index 0000000..b1da21b --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/infoFilled/info-filled-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/infoFilled/info-filled-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/infoFilled/info-filled-xs.svg new file mode 100644 index 0000000..1f7d8ff --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/infoFilled/info-filled-xs.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/kebab/kebab-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/kebab/kebab-s.svg new file mode 100644 index 0000000..4be9b06 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/kebab/kebab-s.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/kebab/kebab-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/kebab/kebab-xs.svg new file mode 100644 index 0000000..2c52d8a --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/kebab/kebab-xs.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/laptopPhone/laptop-phone-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/laptopPhone/laptop-phone-s.svg new file mode 100644 index 0000000..679fcb2 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/laptopPhone/laptop-phone-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/laptopPhone/laptop-phone-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/laptopPhone/laptop-phone-xs.svg new file mode 100644 index 0000000..0048e32 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/laptopPhone/laptop-phone-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/minus/minus-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/minus/minus-s.svg new file mode 100644 index 0000000..63aad40 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/minus/minus-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/minus/minus-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/minus/minus-xs.svg new file mode 100644 index 0000000..12d17c3 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/minus/minus-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/more/more-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/more/more-s.svg new file mode 100644 index 0000000..ed16e12 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/more/more-s.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/more/more-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/more/more-xs.svg new file mode 100644 index 0000000..e68157b --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/more/more-xs.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/night/night-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/night/night-s.svg new file mode 100644 index 0000000..fa0458e --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/night/night-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/pause/pause-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/pause/pause-s.svg new file mode 100644 index 0000000..efdc9ac --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/pause/pause-s.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/pause/pause-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/pause/pause-xs.svg new file mode 100644 index 0000000..e4e0566 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/pause/pause-xs.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/pinned/pinned-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/pinned/pinned-s.svg new file mode 100644 index 0000000..b6c05a6 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/pinned/pinned-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/pinned/pinned-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/pinned/pinned-xs.svg new file mode 100644 index 0000000..aa839e7 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/pinned/pinned-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/placeholder/placeholder-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/placeholder/placeholder-s.svg new file mode 100644 index 0000000..6827208 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/placeholder/placeholder-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/placeholder/placeholder-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/placeholder/placeholder-xs.svg new file mode 100644 index 0000000..4e8d490 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/placeholder/placeholder-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/play/play-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/play/play-s.svg new file mode 100644 index 0000000..05e42f8 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/play/play-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/play/play-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/play/play-xs.svg new file mode 100644 index 0000000..cc2bc71 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/play/play-xs.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/plus/plus-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/plus/plus-s.svg new file mode 100644 index 0000000..8bc22ec --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/plus/plus-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/plus/plus-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/plus/plus-xs.svg new file mode 100644 index 0000000..ecce8a9 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/plus/plus-xs.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/question/question-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/question/question-s.svg new file mode 100644 index 0000000..7c6835b --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/question/question-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/question/question-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/question/question-xs.svg new file mode 100644 index 0000000..4852d82 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/question/question-xs.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/resize/resize-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/resize/resize-s.svg new file mode 100644 index 0000000..e04f466 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/resize/resize-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/resize/resize-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/resize/resize-xs.svg new file mode 100644 index 0000000..6e368b0 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/resize/resize-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/scalableLeft/scalable-left-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/scalableLeft/scalable-left-s.svg new file mode 100644 index 0000000..2d6418f --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/scalableLeft/scalable-left-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/scalableLeft/scalable-left-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/scalableLeft/scalable-left-xs.svg new file mode 100644 index 0000000..a087d9e --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/scalableLeft/scalable-left-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/scalableRight/scalable-right-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/scalableRight/scalable-right-s.svg new file mode 100644 index 0000000..72164d5 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/scalableRight/scalable-right-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/scalableRight/scalable-right-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/scalableRight/scalable-right-xs.svg new file mode 100644 index 0000000..30e74f6 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/scalableRight/scalable-right-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/search/search-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/search/search-s.svg new file mode 100644 index 0000000..d5e8df9 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/search/search-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/search/search-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/search/search-xs.svg new file mode 100644 index 0000000..93147e6 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/search/search-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/settings/settings-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/settings/settings-s.svg new file mode 100644 index 0000000..4c3be16 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/settings/settings-s.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/settings/settings-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/settings/settings-xs.svg new file mode 100644 index 0000000..fae4404 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/settings/settings-xs.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/star/star-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/star/star-s.svg new file mode 100644 index 0000000..13de14f --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/star/star-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/star/star-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/star/star-xs.svg new file mode 100644 index 0000000..fe9b46d --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/star/star-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/starFilled/star-filled-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/starFilled/star-filled-s.svg new file mode 100644 index 0000000..bc1f5f9 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/starFilled/star-filled-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/starFilled/star-filled-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/starFilled/star-filled-xs.svg new file mode 100644 index 0000000..cd62740 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/starFilled/star-filled-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/stop/stop-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/stop/stop-s.svg new file mode 100644 index 0000000..59f9499 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/stop/stop-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/stop/stop-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/stop/stop-xs.svg new file mode 100644 index 0000000..3702157 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/stop/stop-xs.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/themeContrast/theme-contrast-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/themeContrast/theme-contrast-s.svg new file mode 100644 index 0000000..5c1ba14 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/themeContrast/theme-contrast-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/themeContrast/theme-contrast-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/themeContrast/theme-contrast-xs.svg new file mode 100644 index 0000000..0b2890c --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/themeContrast/theme-contrast-xs.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/trash/trash-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/trash/trash-s.svg new file mode 100644 index 0000000..7310a9d --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/trash/trash-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/unPinned/un-pinned-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/unPinned/un-pinned-s.svg new file mode 100644 index 0000000..3740679 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/unPinned/un-pinned-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/unPinned/un-pinned-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/unPinned/un-pinned-xs.svg new file mode 100644 index 0000000..a6a4d2f --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/unPinned/un-pinned-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/update/update-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/update/update-s.svg new file mode 100644 index 0000000..f8130b4 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/update/update-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/upload/upload-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/upload/upload-s.svg new file mode 100644 index 0000000..0adb9d8 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/upload/upload-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/upload/upload-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/upload/upload-xs.svg new file mode 100644 index 0000000..94af040 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/upload/upload-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/warning/warning-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/warning/warning-s.svg new file mode 100644 index 0000000..d0edc02 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/warning/warning-s.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/warning/warning-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/warning/warning-xs.svg new file mode 100644 index 0000000..74b5b84 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/warning/warning-xs.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/watch/watch-s.svg b/packages/gulp-icon-builder/test/icons/interface-icons/watch/watch-s.svg new file mode 100644 index 0000000..96e50af --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/watch/watch-s.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/test/icons/interface-icons/watch/watch-xs.svg b/packages/gulp-icon-builder/test/icons/interface-icons/watch/watch-xs.svg new file mode 100644 index 0000000..4460132 --- /dev/null +++ b/packages/gulp-icon-builder/test/icons/interface-icons/watch/watch-xs.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/gulp-icon-builder/tsconfig.cjs.json b/packages/gulp-icon-builder/tsconfig.cjs.json new file mode 100644 index 0000000..7260caf --- /dev/null +++ b/packages/gulp-icon-builder/tsconfig.cjs.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.cjs.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/cjs" + }, + "include": ["./src"], + "exclude": ["./dist"] +} diff --git a/packages/gulp-icon-builder/tsconfig.esm.json b/packages/gulp-icon-builder/tsconfig.esm.json new file mode 100644 index 0000000..df4fd1d --- /dev/null +++ b/packages/gulp-icon-builder/tsconfig.esm.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.esm.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist/esm" + }, + "include": ["./src"], + "exclude": ["./dist"] +} diff --git a/packages/tsconfig.cjs.json b/packages/tsconfig.cjs.json index 9128e66..25c5ecf 100644 --- a/packages/tsconfig.cjs.json +++ b/packages/tsconfig.cjs.json @@ -57,6 +57,9 @@ }, { "path": "./deps-validator/tsconfig.cjs.json" + }, + { + "path": "./gulp-icon-builder/tsconfig.cjs.json" } ], "compilerOptions": { diff --git a/packages/tsconfig.esm.json b/packages/tsconfig.esm.json index 7889385..026cff4 100644 --- a/packages/tsconfig.esm.json +++ b/packages/tsconfig.esm.json @@ -57,6 +57,9 @@ }, { "path": "./deps-validator/tsconfig.esm.json" + }, + { + "path": "./gulp-icon-builder/tsconfig.esm.json" } ], "compilerOptions": {