chore(icons): update icon names to match naming guidelines no. 7 to 9 (#1906)

* Update icon names to match naming guidelines no. 7 to 9
Update and extend rename icon helper script.

* Ran prettier

* Refactor rename scripts so that simplegit import doesn't cause other helper script usages to crash.

* Revert renaming key-square

* Revert renaming message-circle|square

* Fix square-dashed-kanban

* Optimize circle power

* pnpm rename square-dashed-bottom-scissors square-bottom-dashed-scissors

* Fix linting

* Fix file name linting issues via cspell configuration

* Rename unlock => lock-open

* Rename (square|circle)-check-2 => (square|circle)-check-small

* pnpm rename code-2 code-xml
pnpm rename contact-2 contact-round

* rename test-tube-2 test-tube-diagonal
rename mic-2 mic-vocal
rename loader-2 loader-circle
rename test-tube-2 test-tube-diagonal
rename school-2 university

* fix icons linting

* rename ice-cream => ice-cream-cone
rename ice-cream-2 => ice-cream-bowl
rename laptop-2 => laptop-abstract

* renamePattern "^(square|circle)-arrow-([a-z-]+)-from$" "\\1-arrow-out-\\2"

* rename wand-2 => wand-sparkles

* Update university.json tags.

* fix(icons): renamePattern '^(.+)-abstract$' '\1-minimal' --add-alias=false
feat(scripts): added yargs option parsing to renamePattern

* fix(packages): Remove protractor and puppeteer from lucide-angular, they are no longer in use but cause pnpm install to fail

* Lint fix, this is starting to get ridiculous.

* fix(packages): fix lucide-angular karma config.

* chore(icons): renamePattern '^(square|circle)-check$' '\1-check-big'
chore(icons): renamePattern '^(square|circle)-check-small$' '\1-check'

---------

Co-authored-by: Karsa <karsa@sztaki.hu>

authored by Karsa Karsa and committed by GitHub 6fbd5ee0 d8773827

Changed files
+513 -726
.cspell
categories
icons
packages
lucide-angular
scripts
+15
.cspell/custom-words.txt
··· 1 + # Custom words 2 + fullscreen 3 + gamepad 4 + gantt 5 + kanban 6 + pilcrow 7 + squircle 8 + strikethrough 9 + touchpad 10 + ungroup 11 + 12 + # Brands 13 + codepen 14 + codesandbox 15 + dribbble
+1 -1
categories/development.json
··· 1 1 { 2 2 "$schema": "../category.schema.json", 3 3 "title": "Coding & development", 4 - "icon": "code-2" 4 + "icon": "code-xml" 5 5 }
+1 -1
categories/multimedia.json
··· 1 1 { 2 2 "$schema": "../category.schema.json", 3 3 "title": "Multimedia", 4 - "icon": "play-circle" 4 + "icon": "circle-play" 5 5 }
+1 -1
categories/notifications.json
··· 1 1 { 2 2 "$schema": "../category.schema.json", 3 3 "title": "Notifications", 4 - "icon": "alert-triangle" 4 + "icon": "triangle-alert" 5 5 }
+10
cspell.json
··· 1 + { 2 + "dictionaries": ["en-us", "custom-words"], 3 + "dictionaryDefinitions": [ 4 + { 5 + "name": "custom-words", 6 + "path": "./.cspell/custom-words.txt", 7 + "addWords": true 8 + } 9 + ] 10 + }
+3
icons/activity-square.json icons/square-activity.json
··· 39 39 "science", 40 40 "multimedia", 41 41 "shapes" 42 + ], 43 + "aliases": [ 44 + "activity-square" 42 45 ] 43 46 }
icons/activity-square.svg icons/square-activity.svg
+3
icons/alert-circle.json icons/octagon-alert.json
··· 13 13 "categories": [ 14 14 "notifications", 15 15 "shapes" 16 + ], 17 + "aliases": [ 18 + "alert-octagon" 16 19 ] 17 20 }
icons/alert-circle.svg icons/circle-alert.svg
+3
icons/alert-octagon.json icons/circle-alert.json
··· 13 13 "categories": [ 14 14 "notifications", 15 15 "shapes" 16 + ], 17 + "aliases": [ 18 + "alert-circle" 16 19 ] 17 20 }
icons/alert-octagon.svg icons/octagon-alert.svg
+3
icons/alert-triangle.json icons/triangle-alert.json
··· 17 17 "notifications", 18 18 "shapes", 19 19 "development" 20 + ], 21 + "aliases": [ 22 + "alert-triangle" 20 23 ] 21 24 }
+1 -1
icons/alert-triangle.svg icons/triangle-alert.svg
··· 9 9 stroke-linecap="round" 10 10 stroke-linejoin="round" 11 11 > 12 - <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" /> 12 + <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" /> 13 13 <path d="M12 9v4" /> 14 14 <path d="M12 17h.01" /> 15 15 </svg>
+3
icons/arrow-down-circle.json icons/circle-arrow-down.json
··· 17 17 "navigation", 18 18 "shapes", 19 19 "gaming" 20 + ], 21 + "aliases": [ 22 + "arrow-down-circle" 20 23 ] 21 24 }
icons/arrow-down-circle.svg icons/circle-arrow-down.svg
+3
icons/arrow-down-left-from-circle.json icons/circle-arrow-out-down-left.json
··· 13 13 "arrows", 14 14 "navigation", 15 15 "maps" 16 + ], 17 + "aliases": [ 18 + "arrow-down-left-from-circle" 16 19 ] 17 20 }
icons/arrow-down-left-from-circle.svg icons/circle-arrow-out-down-left.svg
+3
icons/arrow-down-left-from-square.json icons/square-arrow-out-down-left.json
··· 12 12 "categories": [ 13 13 "arrows", 14 14 "navigation" 15 + ], 16 + "aliases": [ 17 + "arrow-down-left-from-square" 15 18 ] 16 19 }
icons/arrow-down-left-from-square.svg icons/square-arrow-out-down-left.svg
+3
icons/arrow-down-left-square.json icons/square-arrow-down-left.json
··· 17 17 "navigation", 18 18 "shapes", 19 19 "gaming" 20 + ], 21 + "aliases": [ 22 + "arrow-down-left-square" 20 23 ] 21 24 }
icons/arrow-down-left-square.svg icons/square-arrow-down-left.svg
+3
icons/arrow-down-right-from-circle.json icons/circle-arrow-out-down-right.json
··· 13 13 "arrows", 14 14 "navigation", 15 15 "maps" 16 + ], 17 + "aliases": [ 18 + "arrow-down-right-from-circle" 16 19 ] 17 20 }
icons/arrow-down-right-from-circle.svg icons/circle-arrow-out-down-right.svg
+3
icons/arrow-down-right-from-square.json icons/square-arrow-out-down-right.json
··· 12 12 "categories": [ 13 13 "arrows", 14 14 "navigation" 15 + ], 16 + "aliases": [ 17 + "arrow-down-right-from-square" 15 18 ] 16 19 }
icons/arrow-down-right-from-square.svg icons/square-arrow-out-down-right.svg
+3
icons/arrow-down-right-square.json icons/square-arrow-down-right.json
··· 17 17 "navigation", 18 18 "shapes", 19 19 "gaming" 20 + ], 21 + "aliases": [ 22 + "arrow-down-right-square" 20 23 ] 21 24 }
icons/arrow-down-right-square.svg icons/square-arrow-down-right.svg
+3
icons/arrow-down-square.json icons/square-arrow-down.json
··· 18 18 "navigation", 19 19 "shapes", 20 20 "gaming" 21 + ], 22 + "aliases": [ 23 + "arrow-down-square" 21 24 ] 22 25 }
icons/arrow-down-square.svg icons/square-arrow-down.svg
+3
icons/arrow-left-circle.json icons/circle-arrow-left.json
··· 19 19 "navigation", 20 20 "shapes", 21 21 "gaming" 22 + ], 23 + "aliases": [ 24 + "arrow-left-circle" 22 25 ] 23 26 }
icons/arrow-left-circle.svg icons/circle-arrow-left.svg
+3
icons/arrow-left-square.json icons/square-arrow-left.json
··· 18 18 "arrows", 19 19 "navigation", 20 20 "shapes" 21 + ], 22 + "aliases": [ 23 + "arrow-left-square" 21 24 ] 22 25 }
icons/arrow-left-square.svg icons/square-arrow-left.svg
+3
icons/arrow-right-circle.json icons/circle-arrow-right.json
··· 19 19 "navigation", 20 20 "shapes", 21 21 "gaming" 22 + ], 23 + "aliases": [ 24 + "arrow-right-circle" 22 25 ] 23 26 }
icons/arrow-right-circle.svg icons/circle-arrow-right.svg
+3
icons/arrow-right-square.json icons/square-arrow-right.json
··· 18 18 "arrows", 19 19 "navigation", 20 20 "shapes" 21 + ], 22 + "aliases": [ 23 + "arrow-right-square" 21 24 ] 22 25 }
icons/arrow-right-square.svg icons/square-arrow-right.svg
+3
icons/arrow-up-circle.json icons/circle-arrow-up.json
··· 16 16 "navigation", 17 17 "shapes", 18 18 "gaming" 19 + ], 20 + "aliases": [ 21 + "arrow-up-circle" 19 22 ] 20 23 }
icons/arrow-up-circle.svg icons/circle-arrow-up.svg
+3
icons/arrow-up-left-from-circle.json icons/circle-arrow-out-up-left.json
··· 17 17 "navigation", 18 18 "maps", 19 19 "development" 20 + ], 21 + "aliases": [ 22 + "arrow-up-left-from-circle" 20 23 ] 21 24 }
icons/arrow-up-left-from-circle.svg icons/circle-arrow-out-up-left.svg
+3
icons/arrow-up-left-from-square.json icons/square-arrow-out-up-left.json
··· 12 12 "categories": [ 13 13 "arrows", 14 14 "navigation" 15 + ], 16 + "aliases": [ 17 + "arrow-up-left-from-square" 15 18 ] 16 19 }
icons/arrow-up-left-from-square.svg icons/square-arrow-out-up-left.svg
+3
icons/arrow-up-left-square.json icons/square-arrow-up-left.json
··· 15 15 "arrows", 16 16 "navigation", 17 17 "shapes" 18 + ], 19 + "aliases": [ 20 + "arrow-up-left-square" 18 21 ] 19 22 }
icons/arrow-up-left-square.svg icons/square-arrow-up-left.svg
+3
icons/arrow-up-right-from-circle.json icons/circle-arrow-out-up-right.json
··· 13 13 "arrows", 14 14 "navigation", 15 15 "maps" 16 + ], 17 + "aliases": [ 18 + "arrow-up-right-from-circle" 16 19 ] 17 20 }
icons/arrow-up-right-from-circle.svg icons/circle-arrow-out-up-right.svg
+3
icons/arrow-up-right-from-square.json icons/square-arrow-out-up-right.json
··· 17 17 "arrows", 18 18 "navigation", 19 19 "social" 20 + ], 21 + "aliases": [ 22 + "arrow-up-right-from-square" 20 23 ] 21 24 }
icons/arrow-up-right-from-square.svg icons/square-arrow-out-up-right.svg
+3
icons/arrow-up-right-square.json icons/square-arrow-up-right.json
··· 17 17 "navigation", 18 18 "shapes", 19 19 "social" 20 + ], 21 + "aliases": [ 22 + "arrow-up-right-square" 20 23 ] 21 24 }
icons/arrow-up-right-square.svg icons/square-arrow-up-right.svg
+3
icons/arrow-up-square.json icons/square-arrow-up.json
··· 16 16 "arrows", 17 17 "navigation", 18 18 "shapes" 19 + ], 20 + "aliases": [ 21 + "arrow-up-square" 19 22 ] 20 23 }
icons/arrow-up-square.svg icons/square-arrow-up.svg
+1 -1
icons/asterisk-square.json icons/square-asterisk.json
··· 22 22 "development" 23 23 ], 24 24 "aliases": [ 25 - "square-asterisk" 25 + "asterisk-square" 26 26 ] 27 27 }
icons/asterisk-square.svg icons/square-asterisk.svg
+3
icons/check-circle-2.json icons/circle-check.json
··· 14 14 "categories": [ 15 15 "notifications", 16 16 "shapes" 17 + ], 18 + "aliases": [ 19 + "check-circle-2" 17 20 ] 18 21 }
icons/check-circle-2.svg icons/circle-check.svg
+3
icons/check-circle.json icons/circle-check-big.json
··· 15 15 "categories": [ 16 16 "notifications", 17 17 "shapes" 18 + ], 19 + "aliases": [ 20 + "check-circle" 18 21 ] 19 22 }
icons/check-circle.svg icons/circle-check-big.svg
+3
icons/check-square-2.json icons/square-check.json
··· 13 13 "categories": [ 14 14 "notifications", 15 15 "shapes" 16 + ], 17 + "aliases": [ 18 + "check-square-2" 16 19 ] 17 20 }
icons/check-square-2.svg icons/square-check.svg
+3
icons/check-square.json icons/square-check-big.json
··· 15 15 "categories": [ 16 16 "notifications", 17 17 "shapes" 18 + ], 19 + "aliases": [ 20 + "check-square" 18 21 ] 19 22 }
icons/check-square.svg icons/square-check-big.svg
+3
icons/chevron-down-circle.json icons/circle-chevron-down.json
··· 12 12 "arrows", 13 13 "navigation", 14 14 "shapes" 15 + ], 16 + "aliases": [ 17 + "chevron-down-circle" 15 18 ] 16 19 }
icons/chevron-down-circle.svg icons/circle-chevron-down.svg
+3
icons/chevron-down-square.json icons/square-chevron-down.json
··· 13 13 "arrows", 14 14 "navigation", 15 15 "shapes" 16 + ], 17 + "aliases": [ 18 + "chevron-down-square" 16 19 ] 17 20 }
icons/chevron-down-square.svg icons/square-chevron-down.svg
+3
icons/chevron-left-circle.json icons/circle-chevron-left.json
··· 15 15 "arrows", 16 16 "navigation", 17 17 "shapes" 18 + ], 19 + "aliases": [ 20 + "chevron-left-circle" 18 21 ] 19 22 }
icons/chevron-left-circle.svg icons/circle-chevron-left.svg
+3
icons/chevron-left-square.json icons/square-chevron-left.json
··· 19 19 "arrows", 20 20 "navigation", 21 21 "shapes" 22 + ], 23 + "aliases": [ 24 + "chevron-left-square" 22 25 ] 23 26 }
icons/chevron-left-square.svg icons/square-chevron-left.svg
+3
icons/chevron-right-circle.json icons/circle-chevron-right.json
··· 14 14 "arrows", 15 15 "navigation", 16 16 "shapes" 17 + ], 18 + "aliases": [ 19 + "chevron-right-circle" 17 20 ] 18 21 }
icons/chevron-right-circle.svg icons/circle-chevron-right.svg
+3
icons/chevron-right-square.json icons/square-chevron-right.json
··· 25 25 "navigation", 26 26 "shapes", 27 27 "development" 28 + ], 29 + "aliases": [ 30 + "chevron-right-square" 28 31 ] 29 32 }
icons/chevron-right-square.svg icons/square-chevron-right.svg
+3
icons/chevron-up-circle.json icons/circle-chevron-up.json
··· 13 13 "arrows", 14 14 "navigation", 15 15 "shapes" 16 + ], 17 + "aliases": [ 18 + "chevron-up-circle" 16 19 ] 17 20 }
icons/chevron-up-circle.svg icons/circle-chevron-up.svg
+3
icons/chevron-up-square.json icons/square-chevron-up.json
··· 24 24 "navigation", 25 25 "maths", 26 26 "shapes" 27 + ], 28 + "aliases": [ 29 + "chevron-up-square" 27 30 ] 28 31 }
icons/chevron-up-square.svg icons/square-chevron-up.svg
+3
icons/code-2.json icons/code-xml.json
··· 13 13 "categories": [ 14 14 "text", 15 15 "development" 16 + ], 17 + "aliases": [ 18 + "code-2" 16 19 ] 17 20 }
icons/code-2.svg icons/code-xml.svg
+1 -1
icons/code-square.json icons/square-code.json
··· 16 16 "development" 17 17 ], 18 18 "aliases": [ 19 - "square-code" 19 + "code-square" 20 20 ] 21 21 }
icons/code-square.svg icons/square-code.svg
+3
icons/contact-2.json icons/contact-round.json
··· 17 17 "connectivity", 18 18 "communication", 19 19 "social" 20 + ], 21 + "aliases": [ 22 + "contact-2" 20 23 ] 21 24 }
icons/contact-2.svg icons/contact-round.svg
+3
icons/divide-circle.json icons/square-divide.json
··· 13 13 "categories": [ 14 14 "maths", 15 15 "shapes" 16 + ], 17 + "aliases": [ 18 + "divide-square" 16 19 ] 17 20 }
icons/divide-circle.svg icons/circle-divide.svg
+3
icons/divide-square.json icons/circle-divide.json
··· 13 13 "categories": [ 14 14 "maths", 15 15 "shapes" 16 + ], 17 + "aliases": [ 18 + "divide-circle" 16 19 ] 17 20 }
icons/divide-square.svg icons/square-divide.svg
+1 -1
icons/dot-square.json icons/square-dot.json
··· 15 15 "development" 16 16 ], 17 17 "aliases": [ 18 - "square-dot" 18 + "dot-square" 19 19 ] 20 20 }
icons/dot-square.svg icons/square-dot.svg
+3
icons/download-cloud.json icons/cloud-download.json
··· 12 12 "categories": [ 13 13 "arrows", 14 14 "files" 15 + ], 16 + "aliases": [ 17 + "download-cloud" 15 18 ] 16 19 }
icons/download-cloud.svg icons/cloud-download.svg
+1 -1
icons/equal-square.json icons/square-equal.json
··· 13 13 "shapes" 14 14 ], 15 15 "aliases": [ 16 - "square-equal" 16 + "equal-square" 17 17 ] 18 18 }
icons/equal-square.svg icons/square-equal.svg
+3
icons/function-square.json icons/square-function.json
··· 14 14 "development", 15 15 "shapes", 16 16 "maths" 17 + ], 18 + "aliases": [ 19 + "function-square" 17 20 ] 18 21 }
icons/function-square.svg icons/square-function.svg
+1 -2
icons/gantt-chart-square.json icons/square-gantt-chart.json
··· 31 31 "design" 32 32 ], 33 33 "aliases": [ 34 - "gantt-square", 35 - "square-gantt" 34 + "gantt-chart-square" 36 35 ] 37 36 }
icons/gantt-chart-square.svg icons/square-gantt-chart.svg
+3
icons/gauge-circle.json icons/circle-gauge.json
··· 17 17 "transportation", 18 18 "sports", 19 19 "science" 20 + ], 21 + "aliases": [ 22 + "gauge-circle" 20 23 ] 21 24 }
icons/gauge-circle.svg icons/circle-gauge.svg
+3
icons/help-circle.json icons/circle-help.json
··· 15 15 "text", 16 16 "shapes", 17 17 "notifications" 18 + ], 19 + "aliases": [ 20 + "help-circle" 18 21 ] 19 22 }
icons/help-circle.svg icons/circle-help.svg
+3
icons/ice-cream-2.json icons/ice-cream-bowl.json
··· 17 17 ], 18 18 "categories": [ 19 19 "food-beverage" 20 + ], 21 + "aliases": [ 22 + "ice-cream-2" 20 23 ] 21 24 }
+1 -1
icons/ice-cream-2.svg icons/ice-cream-bowl.svg
··· 9 9 stroke-linecap="round" 10 10 stroke-linejoin="round" 11 11 > 12 - <path d="M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6Zm-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0" /> 12 + <path d="M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0" /> 13 13 <path d="M12.14 11a3.5 3.5 0 1 1 6.71 0" /> 14 14 <path d="M15.5 6.5a3.5 3.5 0 1 0-7 0" /> 15 15 </svg>
+3
icons/ice-cream.json icons/ice-cream-cone.json
··· 9 9 ], 10 10 "categories": [ 11 11 "food-beverage" 12 + ], 13 + "aliases": [ 14 + "ice-cream" 12 15 ] 13 16 }
icons/ice-cream.svg icons/ice-cream-cone.svg
+3
icons/indent.json icons/indent-decrease.json
··· 11 11 "categories": [ 12 12 "text", 13 13 "development" 14 + ], 15 + "aliases": [ 16 + "outdent" 14 17 ] 15 18 }
icons/indent.svg icons/indent-increase.svg
+1 -1
icons/kanban-square-dashed.json icons/square-dashed-kanban.json
··· 28 28 "design" 29 29 ], 30 30 "aliases": [ 31 - "square-kanban-dashed" 31 + "kanban-square-dashed" 32 32 ] 33 33 }
icons/kanban-square-dashed.svg icons/square-dashed-kanban.svg
+1 -1
icons/kanban-square.json icons/square-kanban.json
··· 27 27 "design" 28 28 ], 29 29 "aliases": [ 30 - "square-kanban" 30 + "kanban-square" 31 31 ] 32 32 }
icons/kanban-square.svg icons/square-kanban.svg
+1 -1
icons/keyboard.svg
··· 17 17 <path d="M6 8h.01" /> 18 18 <path d="M7 16h10" /> 19 19 <path d="M8 12h.01" /> 20 - <rect x="2" y="4" width="20" height="16" rx="2" /> 20 + <rect width="20" height="16" x="2" y="4" rx="2" /> 21 21 </svg>
+3
icons/laptop-2.json icons/laptop-minimal.json
··· 10 10 ], 11 11 "categories": [ 12 12 "devices" 13 + ], 14 + "aliases": [ 15 + "laptop-2" 13 16 ] 14 17 }
icons/laptop-2.svg icons/laptop-minimal.svg
+3
icons/library-square.json icons/square-library.json
··· 34 34 "multimedia", 35 35 "maps", 36 36 "development" 37 + ], 38 + "aliases": [ 39 + "library-square" 37 40 ] 38 41 }
icons/library-square.svg icons/square-library.svg
+3
icons/loader-2.json icons/loader-circle.json
··· 12 12 "categories": [ 13 13 "multimedia", 14 14 "layout" 15 + ], 16 + "aliases": [ 17 + "loader-2" 15 18 ] 16 19 }
icons/loader-2.svg icons/loader-circle.svg
+3
icons/m-square.json icons/square-m.json
··· 14 14 "transportation", 15 15 "maps", 16 16 "navigation" 17 + ], 18 + "aliases": [ 19 + "m-square" 17 20 ] 18 21 }
icons/m-square.svg icons/square-m.svg
+3
icons/menu-square.json icons/square-menu.json
··· 14 14 "categories": [ 15 15 "layout", 16 16 "account" 17 + ], 18 + "aliases": [ 19 + "menu-square" 17 20 ] 18 21 }
icons/menu-square.svg icons/square-menu.svg
+1 -1
icons/messages-square.svg
··· 9 9 stroke-linecap="round" 10 10 stroke-linejoin="round" 11 11 > 12 - <path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v5Z" /> 12 + <path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z" /> 13 13 <path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1" /> 14 14 </svg>
+3
icons/mic-2.json icons/mic-vocal.json
··· 20 20 "categories": [ 21 21 "devices", 22 22 "multimedia" 23 + ], 24 + "aliases": [ 25 + "mic-2" 23 26 ] 24 27 }
icons/mic-2.svg icons/mic-vocal.svg
+3
icons/minus-circle.json icons/circle-minus.json
··· 21 21 "categories": [ 22 22 "maths", 23 23 "shapes" 24 + ], 25 + "aliases": [ 26 + "minus-circle" 24 27 ] 25 28 }
icons/minus-circle.svg icons/circle-minus.svg
+3
icons/minus-square.json icons/square-minus.json
··· 35 35 "tools", 36 36 "devices", 37 37 "shapes" 38 + ], 39 + "aliases": [ 40 + "minus-square" 38 41 ] 39 42 }
icons/minus-square.svg icons/square-minus.svg
+3
icons/mouse-pointer-square-dashed.json icons/square-dashed-mouse-pointer.json
··· 21 21 "cursors", 22 22 "development", 23 23 "tools" 24 + ], 25 + "aliases": [ 26 + "mouse-pointer-square-dashed" 24 27 ] 25 28 }
icons/mouse-pointer-square-dashed.svg icons/square-dashed-mouse-pointer.svg
icons/mouse-pointer-square.json icons/square-mouse-pointer.json
icons/mouse-pointer-square.svg icons/square-mouse-pointer.svg
+3
icons/outdent.json icons/indent-increase.json
··· 11 11 "categories": [ 12 12 "text", 13 13 "development" 14 + ], 15 + "aliases": [ 16 + "indent" 14 17 ] 15 18 }
icons/outdent.svg icons/indent-decrease.svg
+3
icons/palmtree.json icons/tree-palm.json
··· 10 10 ], 11 11 "categories": [ 12 12 "nature" 13 + ], 14 + "aliases": [ 15 + "palmtree" 13 16 ] 14 17 }
+1 -1
icons/palmtree.svg icons/tree-palm.svg
··· 11 11 > 12 12 <path d="M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4" /> 13 13 <path d="M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3" /> 14 - <path d="M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35z" /> 14 + <path d="M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35" /> 15 15 <path d="M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14" /> 16 16 </svg>
+3
icons/parking-circle-off.json icons/circle-parking-off.json
··· 13 13 "categories": [ 14 14 "transportation", 15 15 "maps" 16 + ], 17 + "aliases": [ 18 + "parking-circle-off" 16 19 ] 17 20 }
icons/parking-circle-off.svg icons/circle-parking-off.svg
+3
icons/parking-circle.json icons/circle-parking.json
··· 11 11 "categories": [ 12 12 "transportation", 13 13 "maps" 14 + ], 15 + "aliases": [ 16 + "parking-circle" 14 17 ] 15 18 }
icons/parking-circle.svg icons/circle-parking.svg
+3
icons/parking-square-off.json icons/square-parking-off.json
··· 13 13 "categories": [ 14 14 "transportation", 15 15 "maps" 16 + ], 17 + "aliases": [ 18 + "parking-square-off" 16 19 ] 17 20 }
icons/parking-square-off.svg icons/square-parking-off.svg
+3
icons/parking-square.json icons/square-parking.json
··· 12 12 "categories": [ 13 13 "transportation", 14 14 "maps" 15 + ], 16 + "aliases": [ 17 + "parking-square" 15 18 ] 16 19 }
icons/parking-square.svg icons/square-parking.svg
+3
icons/pause-circle.json icons/circle-pause.json
··· 12 12 "categories": [ 13 13 "multimedia", 14 14 "shapes" 15 + ], 16 + "aliases": [ 17 + "pause-circle" 15 18 ] 16 19 }
icons/pause-circle.svg icons/circle-pause.svg
+3
icons/pause-octagon.json icons/octagon-pause.json
··· 11 11 "categories": [ 12 12 "multimedia", 13 13 "shapes" 14 + ], 15 + "aliases": [ 16 + "pause-octagon" 14 17 ] 15 18 }
+1 -1
icons/pause-octagon.svg icons/octagon-pause.svg
··· 11 11 > 12 12 <path d="M10 15V9" /> 13 13 <path d="M14 15V9" /> 14 - <path d="M7.714 2h8.572L22 7.714v8.572L16.286 22H7.714L2 16.286V7.714L7.714 2z" /> 14 + <path d="M7.714 2h8.572L22 7.714v8.572L16.286 22H7.714L2 16.286V7.714z" /> 15 15 </svg>
+3
icons/percent-circle.json icons/circle-percent.json
··· 20 20 "shopping", 21 21 "maths", 22 22 "shapes" 23 + ], 24 + "aliases": [ 25 + "percent-circle" 23 26 ] 24 27 }
icons/percent-circle.svg icons/circle-percent.svg
+3
icons/percent-diamond.json icons/square-percent.json
··· 20 20 "shopping", 21 21 "maths", 22 22 "shapes" 23 + ], 24 + "aliases": [ 25 + "percent-square" 23 26 ] 24 27 }
icons/percent-diamond.svg icons/diamond-percent.svg
+3
icons/percent-square.json icons/diamond-percent.json
··· 20 20 "shopping", 21 21 "maths", 22 22 "shapes" 23 + ], 24 + "aliases": [ 25 + "percent-diamond" 23 26 ] 24 27 }
icons/percent-square.svg icons/square-percent.svg
+3
icons/pi-square.json icons/square-pi.json
··· 17 17 "development", 18 18 "maths", 19 19 "shapes" 20 + ], 21 + "aliases": [ 22 + "pi-square" 20 23 ] 21 24 }
icons/pi-square.svg icons/square-pi.svg
+3
icons/pilcrow-square.json icons/square-pilcrow.json
··· 16 16 ], 17 17 "categories": [ 18 18 "text" 19 + ], 20 + "aliases": [ 21 + "pilcrow-square" 19 22 ] 20 23 }
icons/pilcrow-square.svg icons/square-pilcrow.svg
+3
icons/play-circle.json icons/circle-play.json
··· 11 11 "categories": [ 12 12 "shapes", 13 13 "multimedia" 14 + ], 15 + "aliases": [ 16 + "play-circle" 14 17 ] 15 18 }
icons/play-circle.svg icons/circle-play.svg
+3
icons/play-square.json icons/square-play.json
··· 14 14 "categories": [ 15 15 "arrows", 16 16 "multimedia" 17 + ], 18 + "aliases": [ 19 + "play-square" 17 20 ] 18 21 }
icons/play-square.svg icons/square-play.svg
+3
icons/plus-circle.json icons/circle-plus.json
··· 33 33 "shapes", 34 34 "cursors", 35 35 "gaming" 36 + ], 37 + "aliases": [ 38 + "plus-circle" 36 39 ] 37 40 }
icons/plus-circle.svg icons/circle-plus.svg
+3
icons/plus-square.json icons/square-plus.json
··· 31 31 "development", 32 32 "text", 33 33 "shapes" 34 + ], 35 + "aliases": [ 36 + "plus-square" 34 37 ] 35 38 }
icons/plus-square.svg icons/square-plus.svg
+3
icons/power-circle.json icons/circle-power.json
··· 19 19 ], 20 20 "categories": [ 21 21 "connectivity" 22 + ], 23 + "aliases": [ 24 + "power-circle" 22 25 ] 23 26 }
+2 -2
icons/power-circle.svg icons/circle-power.svg
··· 10 10 stroke-linejoin="round" 11 11 > 12 12 <circle cx="12" cy="12" r="10" /> 13 - <path d="M12 12V6" /> 14 - <path d="M8 7.5A6.1 6.1 0 0 0 12 18a6 6 0 0 0 4-10.5" /> 13 + <path d="M12 12V7" /> 14 + <path d="M16 9a5 5 0 1 1-8 0" /> 15 15 </svg>
+3
icons/power-square.json icons/square-power.json
··· 19 19 ], 20 20 "categories": [ 21 21 "connectivity" 22 + ], 23 + "aliases": [ 24 + "power-square" 22 25 ] 23 26 }
icons/power-square.svg icons/square-power.svg
+4 -1
icons/school-2.json icons/university.json
··· 7 7 "building", 8 8 "education", 9 9 "childhood", 10 - "university" 10 + "school" 11 11 ], 12 12 "categories": [ 13 13 "buildings", 14 14 "maps" 15 + ], 16 + "aliases": [ 17 + "school-2" 15 18 ] 16 19 }
+1 -1
icons/school-2.svg icons/university.svg
··· 10 10 stroke-linejoin="round" 11 11 > 12 12 <circle cx="12" cy="10" r="1" /> 13 - <path d="M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z" /> 13 + <path d="M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2" /> 14 14 <path d="M6 17v.01" /> 15 15 <path d="M6 13v.01" /> 16 16 <path d="M18 17v.01" />
+3
icons/scissors-square-dashed-bottom.json icons/square-bottom-dashed-scissors.json
··· 16 16 "tools", 17 17 "files", 18 18 "development" 19 + ], 20 + "aliases": [ 21 + "scissors-square-dashed-bottom" 19 22 ] 20 23 }
icons/scissors-square-dashed-bottom.svg icons/square-bottom-dashed-scissors.svg
+3
icons/scissors-square.json icons/square-scissors.json
··· 18 18 "tools", 19 19 "files", 20 20 "development" 21 + ], 22 + "aliases": [ 23 + "scissors-square" 21 24 ] 22 25 }
icons/scissors-square.svg icons/square-scissors.svg
+3
icons/sigma-square.json icons/square-sigma.json
··· 14 14 "categories": [ 15 15 "text", 16 16 "maths" 17 + ], 18 + "aliases": [ 19 + "sigma-square" 17 20 ] 18 21 }
icons/sigma-square.svg icons/square-sigma.svg
+1 -1
icons/slash-square.json icons/square-slash.json
··· 20 20 "maths" 21 21 ], 22 22 "aliases": [ 23 - "square-slash" 23 + "slash-square" 24 24 ] 25 25 }
icons/slash-square.svg icons/square-slash.svg
+3
icons/sliders.json icons/sliders-vertical.json
··· 11 11 ], 12 12 "categories": [ 13 13 "account" 14 + ], 15 + "aliases": [ 16 + "sliders" 14 17 ] 15 18 }
icons/sliders.svg icons/sliders-vertical.svg
+3
icons/split-square-horizontal.json icons/square-split-horizontal.json
··· 10 10 ], 11 11 "categories": [ 12 12 "layout" 13 + ], 14 + "aliases": [ 15 + "split-square-horizontal" 13 16 ] 14 17 }
icons/split-square-horizontal.svg icons/square-split-horizontal.svg
+3
icons/split-square-vertical.json icons/square-split-vertical.json
··· 10 10 ], 11 11 "categories": [ 12 12 "layout" 13 + ], 14 + "aliases": [ 15 + "split-square-vertical" 13 16 ] 14 17 }
icons/split-square-vertical.svg icons/square-split-vertical.svg
+3
icons/stop-circle.json icons/circle-stop.json
··· 11 11 "categories": [ 12 12 "multimedia", 13 13 "shapes" 14 + ], 15 + "aliases": [ 16 + "stop-circle" 14 17 ] 15 18 }
icons/stop-circle.svg icons/circle-stop.svg
+3
icons/terminal-square.json icons/square-terminal.json
··· 13 13 "categories": [ 14 14 "development", 15 15 "shapes" 16 + ], 17 + "aliases": [ 18 + "terminal-square" 16 19 ] 17 20 }
icons/terminal-square.svg icons/square-terminal.svg
+3
icons/test-tube-2.json icons/test-tube-diagonal.json
··· 18 18 ], 19 19 "categories": [ 20 20 "science" 21 + ], 22 + "aliases": [ 23 + "test-tube-2" 21 24 ] 22 25 }
icons/test-tube-2.svg icons/test-tube-diagonal.svg
+3
icons/unlock-keyhole.json icons/lock-keyhole-open.json
··· 13 13 ], 14 14 "categories": [ 15 15 "security" 16 + ], 17 + "aliases": [ 18 + "unlock-keyhole" 16 19 ] 17 20 }
+1 -1
icons/unlock-keyhole.svg icons/lock-keyhole-open.svg
··· 10 10 stroke-linejoin="round" 11 11 > 12 12 <circle cx="12" cy="16" r="1" /> 13 - <rect x="3" y="10" width="18" height="12" rx="2" /> 13 + <rect width="18" height="12" x="3" y="10" rx="2" /> 14 14 <path d="M7 10V7a5 5 0 0 1 9.33-2.5" /> 15 15 </svg>
+3
icons/unlock.json icons/lock-open.json
··· 10 10 ], 11 11 "categories": [ 12 12 "security" 13 + ], 14 + "aliases": [ 15 + "unlock" 13 16 ] 14 17 }
icons/unlock.svg icons/lock-open.svg
+3
icons/upload-cloud.json icons/cloud-upload.json
··· 12 12 "categories": [ 13 13 "arrows", 14 14 "files" 15 + ], 16 + "aliases": [ 17 + "upload-cloud" 15 18 ] 16 19 }
icons/upload-cloud.svg icons/cloud-upload.svg
+3
icons/wallet-2.json icons/wallet-minimal.json
··· 10 10 "categories": [ 11 11 "account", 12 12 "money" 13 + ], 14 + "aliases": [ 15 + "wallet-2" 13 16 ] 14 17 }
icons/wallet-2.svg icons/wallet-minimal.svg
+5 -1
icons/wand-2.json icons/wand-sparkles.json
··· 5 5 ], 6 6 "tags": [ 7 7 "magic", 8 - "wizard" 8 + "wizard", 9 + "magician" 9 10 ], 10 11 "categories": [ 11 12 "design", 12 13 "gaming", 13 14 "cursors", 14 15 "photography" 16 + ], 17 + "aliases": [ 18 + "wand-2" 15 19 ] 16 20 }
+1 -1
icons/wand-2.svg icons/wand-sparkles.svg
··· 9 9 stroke-linecap="round" 10 10 stroke-linejoin="round" 11 11 > 12 - <path d="m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72Z" /> 12 + <path d="m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72" /> 13 13 <path d="m14 7 3 3" /> 14 14 <path d="M5 6v4" /> 15 15 <path d="M19 14v4" />
+3
icons/x-circle.json icons/circle-x.json
··· 24 24 "maths", 25 25 "shapes", 26 26 "development" 27 + ], 28 + "aliases": [ 29 + "x-circle" 27 30 ] 28 31 }
icons/x-circle.svg icons/circle-x.svg
+3
icons/x-octagon.json icons/octagon-x.json
··· 17 17 "maths", 18 18 "shapes", 19 19 "notifications" 20 + ], 21 + "aliases": [ 22 + "x-octagon" 20 23 ] 21 24 }
icons/x-octagon.svg icons/octagon-x.svg
+3
icons/x-square.json icons/square-x.json
··· 19 19 "maths", 20 20 "shapes", 21 21 "notifications" 22 + ], 23 + "aliases": [ 24 + "x-square" 22 25 ] 23 26 }
icons/x-square.svg icons/square-x.svg
+6 -2
package.json
··· 37 37 "lint": "pnpm lint:es && pnpm lint:format && pnpm lint:json", 38 38 "format": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --write", 39 39 "prepare": "husky install", 40 - "gi": "node ./scripts/generate/generateIcons.mjs" 40 + "gi": "node ./scripts/generate/generateIcons.mjs", 41 + "rename": "node scripts/rename/renameIcon.mjs", 42 + "renamePattern": "node scripts/rename/renamePattern.mjs" 41 43 }, 42 44 "devDependencies": { 43 45 "@html-eslint/eslint-plugin": "^0.19.1", 44 46 "@html-eslint/parser": "^0.19.1", 45 47 "@octokit/rest": "^19.0.13", 48 + "@types/yargs": "^17.0.32", 46 49 "@typescript-eslint/eslint-plugin": "^6.14.0", 47 50 "@typescript-eslint/parser": "^6.14.0", 48 51 "ajv-cli": "^5.0.0", ··· 63 66 "semver": "^7.5.4", 64 67 "simple-git": "^3.21.0", 65 68 "svgo": "^3.1.0", 66 - "svgson": "^5.3.1" 69 + "svgson": "^5.3.1", 70 + "yargs": "^17.7.2" 67 71 }, 68 72 "packageManager": "pnpm@8.14.0+sha256.9cebf61abd83f68177b29484da72da9751390eaad46dfc3072d266bfbb1ba7bf", 69 73 "pnpm": {
-1
packages/lucide-angular/karma.conf.js
··· 1 1 /* eslint-disable global-require, func-names */ 2 2 // Karma configuration file, see link for more information 3 3 // https://karma-runner.github.io/1.0/config/configuration-file.html 4 - process.env.CHROME_BIN = require('puppeteer').executablePath(); 5 4 6 5 module.exports = function (config) { 7 6 config.set({
-2
packages/lucide-angular/package.json
··· 67 67 "karma-jasmine-html-reporter": "~1.7.0", 68 68 "ng-packagr": "^13.3.0", 69 69 "prettier": "^2.8.4", 70 - "protractor": "~7.0.0", 71 - "puppeteer": "^8.0.0", 72 70 "rxjs": "~7.5.0", 73 71 "ts-node": "~10.9.1", 74 72 "tslib": "^2.3.0",
+20 -621
pnpm-lock.yaml
··· 19 19 '@octokit/rest': 20 20 specifier: ^19.0.13 21 21 version: 19.0.13 22 + '@types/yargs': 23 + specifier: ^17.0.32 24 + version: 17.0.32 22 25 '@typescript-eslint/eslint-plugin': 23 26 specifier: ^6.14.0 24 27 version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@4.9.5) ··· 82 85 svgson: 83 86 specifier: ^5.3.1 84 87 version: 5.3.1 88 + yargs: 89 + specifier: ^17.7.2 90 + version: 17.7.2 85 91 86 92 docs: 87 93 dependencies: ··· 214 220 devDependencies: 215 221 '@angular-devkit/build-angular': 216 222 specifier: ~13.3.11 217 - version: 13.3.11(@angular/compiler-cli@13.3.12)(karma@6.3.20)(ng-packagr@13.3.1)(protractor@7.0.0)(typescript@4.6.4) 223 + version: 13.3.11(@angular/compiler-cli@13.3.12)(karma@6.3.20)(ng-packagr@13.3.1)(typescript@4.6.4) 218 224 '@angular-eslint/builder': 219 225 specifier: ~13.0.0 220 226 version: 13.0.1(eslint@8.46.0)(typescript@4.6.4) ··· 299 305 prettier: 300 306 specifier: ^2.8.4 301 307 version: 2.8.8 302 - protractor: 303 - specifier: ~7.0.0 304 - version: 7.0.0 305 - puppeteer: 306 - specifier: ^8.0.0 307 - version: 8.0.0 308 308 rxjs: 309 309 specifier: ~7.5.0 310 310 version: 7.5.7 ··· 486 486 version: 0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.23.9)(react@18.2.0) 487 487 react-native-svg: 488 488 specifier: ^15.0.0 489 - version: 15.0.0(react-native@0.73.1)(react@18.2.0) 489 + version: 15.0.0(react-native@0.73.4)(react@18.2.0) 490 490 rollup: 491 491 specifier: ^4.9.2 492 492 version: 4.9.6 ··· 946 946 - chokidar 947 947 dev: true 948 948 949 - /@angular-devkit/build-angular@13.3.11(@angular/compiler-cli@13.3.12)(karma@6.3.20)(ng-packagr@13.3.1)(protractor@7.0.0)(typescript@4.6.4): 949 + /@angular-devkit/build-angular@13.3.11(@angular/compiler-cli@13.3.12)(karma@6.3.20)(ng-packagr@13.3.1)(typescript@4.6.4): 950 950 resolution: {integrity: sha512-H4tpdmRu+6HSjsL+swV/8qj8v0YSDq6lpb31EYajlBB6fDj+YJQvHgaWvexSWl6eIqgDKXcujhNUjNi1enjwHw==} 951 951 engines: {node: ^12.20.0 || ^14.15.0 || >=16.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} 952 952 peerDependencies: ··· 1020 1020 postcss-import: 14.0.2(postcss@8.4.5) 1021 1021 postcss-loader: 6.2.1(postcss@8.4.5)(webpack@5.76.1) 1022 1022 postcss-preset-env: 7.2.3(postcss@8.4.5) 1023 - protractor: 7.0.0 1024 1023 regenerator-runtime: 0.13.9 1025 1024 resolve-url-loader: 5.0.0 1026 1025 rxjs: 6.6.7 ··· 5280 5279 '@types/istanbul-lib-coverage': 2.0.4 5281 5280 '@types/istanbul-reports': 3.0.1 5282 5281 '@types/node': 12.20.55 5283 - '@types/yargs': 17.0.24 5282 + '@types/yargs': 17.0.32 5284 5283 chalk: 4.1.2 5285 5284 dev: true 5286 5285 ··· 7853 7852 resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} 7854 7853 dev: true 7855 7854 7856 - /@types/q@0.0.32: 7857 - resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} 7858 - dev: true 7859 - 7860 7855 /@types/qs@6.9.7: 7861 7856 resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} 7862 7857 dev: true ··· 7922 7917 7923 7918 /@types/scheduler@0.16.3: 7924 7919 resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} 7925 - dev: true 7926 - 7927 - /@types/selenium-webdriver@3.0.22: 7928 - resolution: {integrity: sha512-Nh76NUqvfsZHG5ot5gMlHNNHQvbRvv5UpM4FH3K1HuUGeq4scNlRoKVKSOP/EGIYHhJ2IUXyQc+38jvZLxfB2Q==} 7929 7920 dev: true 7930 7921 7931 7922 /@types/semver@7.5.3: ··· 8014 8005 '@types/yargs-parser': 21.0.0 8015 8006 dev: true 8016 8007 8017 - /@types/yargs@17.0.24: 8018 - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} 8008 + /@types/yargs@17.0.32: 8009 + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} 8019 8010 dependencies: 8020 8011 '@types/yargs-parser': 21.0.0 8021 8012 dev: true 8022 - 8023 - /@types/yauzl@2.10.0: 8024 - resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} 8025 - requiresBuild: true 8026 - dependencies: 8027 - '@types/node': 12.20.55 8028 - dev: true 8029 - optional: true 8030 8013 8031 8014 /@typescript-eslint/eslint-plugin@5.48.2(@typescript-eslint/parser@5.48.2)(eslint@8.46.0)(typescript@4.6.4): 8032 8015 resolution: {integrity: sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==} ··· 8912 8895 regex-parser: 2.2.11 8913 8896 dev: true 8914 8897 8915 - /adm-zip@0.5.10: 8916 - resolution: {integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==} 8917 - engines: {node: '>=6.0'} 8918 - dev: true 8919 - 8920 - /agent-base@4.3.0: 8921 - resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} 8922 - engines: {node: '>= 4.0.0'} 8923 - dependencies: 8924 - es6-promisify: 5.0.0 8925 - dev: true 8926 - 8927 8898 /agent-base@6.0.2: 8928 8899 resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 8929 8900 engines: {node: '>= 6.0.0'} ··· 9093 9064 hasBin: true 9094 9065 dev: true 9095 9066 9096 - /ansi-regex@2.1.1: 9097 - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} 9098 - engines: {node: '>=0.10.0'} 9099 - dev: true 9100 - 9101 9067 /ansi-regex@4.1.1: 9102 9068 resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} 9103 9069 engines: {node: '>=6'} ··· 9111 9077 resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 9112 9078 engines: {node: '>=12'} 9113 9079 9114 - /ansi-styles@2.2.1: 9115 - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} 9116 - engines: {node: '>=0.10.0'} 9117 - dev: true 9118 - 9119 9080 /ansi-styles@3.2.1: 9120 9081 resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 9121 9082 engines: {node: '>=4'} ··· 9310 9271 is-string: 1.0.7 9311 9272 dev: true 9312 9273 9313 - /array-union@1.0.2: 9314 - resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} 9315 - engines: {node: '>=0.10.0'} 9316 - dependencies: 9317 - array-uniq: 1.0.3 9318 - dev: true 9319 - 9320 9274 /array-union@2.1.0: 9321 9275 resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 9322 9276 engines: {node: '>=8'} ··· 9324 9278 /array-union@3.0.1: 9325 9279 resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} 9326 9280 engines: {node: '>=12'} 9327 - dev: true 9328 - 9329 - /array-uniq@1.0.3: 9330 - resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} 9331 - engines: {node: '>=0.10.0'} 9332 9281 dev: true 9333 9282 9334 9283 /array-unique@0.3.2: ··· 9404 9353 is-shared-array-buffer: 1.0.2 9405 9354 dev: true 9406 9355 9407 - /arrify@1.0.1: 9408 - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} 9409 - engines: {node: '>=0.10.0'} 9410 - dev: true 9411 - 9412 9356 /asap@2.0.6: 9413 9357 resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} 9414 9358 dev: true 9415 9359 9416 - /asn1@0.2.6: 9417 - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} 9418 - dependencies: 9419 - safer-buffer: 2.1.2 9420 - dev: true 9421 - 9422 - /assert-plus@1.0.0: 9423 - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} 9424 - engines: {node: '>=0.8'} 9425 - dev: true 9426 - 9427 9360 /assertion-error@1.1.0: 9428 9361 resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 9429 9362 dev: true ··· 9524 9457 /available-typed-arrays@1.0.6: 9525 9458 resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} 9526 9459 engines: {node: '>= 0.4'} 9527 - dev: true 9528 - 9529 - /aws-sign2@0.7.0: 9530 - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} 9531 - dev: true 9532 - 9533 - /aws4@1.12.0: 9534 - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} 9535 9460 dev: true 9536 9461 9537 9462 /axios@1.4.0: ··· 9768 9693 resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} 9769 9694 dev: true 9770 9695 9771 - /bcrypt-pbkdf@1.0.2: 9772 - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} 9773 - dependencies: 9774 - tweetnacl: 0.14.5 9775 - dev: true 9776 - 9777 9696 /before-after-hook@2.2.3: 9778 9697 resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} 9779 9698 dev: true ··· 9798 9717 buffer: 5.7.1 9799 9718 inherits: 2.0.4 9800 9719 readable-stream: 3.6.2 9801 - dev: true 9802 - 9803 - /blocking-proxy@1.0.1: 9804 - resolution: {integrity: sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==} 9805 - engines: {node: '>=6.9.x'} 9806 - hasBin: true 9807 - dependencies: 9808 - minimist: 1.2.8 9809 9720 dev: true 9810 9721 9811 9722 /bmp-js@0.1.0: ··· 9928 9839 electron-to-chromium: 1.4.664 9929 9840 node-releases: 2.0.14 9930 9841 update-browserslist-db: 1.0.13(browserslist@4.22.3) 9931 - dev: true 9932 - 9933 - /browserstack@1.6.1: 9934 - resolution: {integrity: sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==} 9935 - dependencies: 9936 - https-proxy-agent: 2.2.4 9937 - transitivePeerDependencies: 9938 - - supports-color 9939 9842 dev: true 9940 9843 9941 9844 /bser@2.1.1: ··· 10159 10062 resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==} 10160 10063 dev: true 10161 10064 10162 - /caseless@0.12.0: 10163 - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} 10164 - dev: true 10165 - 10166 10065 /ccount@2.0.1: 10167 10066 resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 10168 10067 dev: false ··· 10191 10090 loupe: 2.3.6 10192 10091 pathval: 1.1.1 10193 10092 type-detect: 4.0.8 10194 - dev: true 10195 - 10196 - /chalk@1.1.3: 10197 - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} 10198 - engines: {node: '>=0.10.0'} 10199 - dependencies: 10200 - ansi-styles: 2.2.1 10201 - escape-string-regexp: 1.0.5 10202 - has-ansi: 2.0.0 10203 - strip-ansi: 3.0.1 10204 - supports-color: 2.0.0 10205 10093 dev: true 10206 10094 10207 10095 /chalk@2.4.2: ··· 10296 10184 readdirp: 3.6.0 10297 10185 optionalDependencies: 10298 10186 fsevents: 2.3.3 10299 - dev: true 10300 - 10301 - /chownr@1.1.4: 10302 - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 10303 10187 dev: true 10304 10188 10305 10189 /chownr@2.0.0: ··· 10777 10661 requiresBuild: true 10778 10662 dev: true 10779 10663 10780 - /core-util-is@1.0.2: 10781 - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} 10782 - dev: true 10783 - 10784 10664 /core-util-is@1.0.3: 10785 10665 resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 10786 10666 ··· 11046 10926 resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} 11047 10927 dev: true 11048 10928 11049 - /dashdash@1.14.1: 11050 - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} 11051 - engines: {node: '>=0.10'} 11052 - dependencies: 11053 - assert-plus: 1.0.0 11054 - dev: true 11055 - 11056 10929 /data-uri-to-buffer@4.0.1: 11057 10930 resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 11058 10931 engines: {node: '>= 12'} ··· 11262 11135 resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 11263 11136 dev: true 11264 11137 11265 - /del@2.2.2: 11266 - resolution: {integrity: sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ==} 11267 - engines: {node: '>=0.10.0'} 11268 - dependencies: 11269 - globby: 5.0.0 11270 - is-path-cwd: 1.0.0 11271 - is-path-in-cwd: 1.0.1 11272 - object-assign: 4.1.1 11273 - pify: 2.3.0 11274 - pinkie-promise: 2.0.1 11275 - rimraf: 2.7.1 11276 - dev: true 11277 - 11278 11138 /del@6.1.1: 11279 11139 resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} 11280 11140 engines: {node: '>=10'} ··· 11375 11235 dependencies: 11376 11236 dequal: 2.0.3 11377 11237 dev: false 11378 - 11379 - /devtools-protocol@0.0.854822: 11380 - resolution: {integrity: sha512-xd4D8kHQtB0KtWW0c9xBZD5LVtm9chkMOfs/3Yn01RhT/sFIsVtzTtypfKoFfWBaL+7xCYLxjOLkhwPXaX/Kcg==} 11381 - dev: true 11382 11238 11383 11239 /di@0.0.1: 11384 11240 resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} ··· 11575 11431 /eastasianwidth@0.2.0: 11576 11432 resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 11577 11433 11578 - /ecc-jsbn@0.1.2: 11579 - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} 11580 - dependencies: 11581 - jsbn: 0.1.1 11582 - safer-buffer: 2.1.2 11583 - dev: true 11584 - 11585 11434 /editorconfig@1.0.4: 11586 11435 resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} 11587 11436 engines: {node: '>=14'} ··· 11899 11748 11900 11749 /es6-promise@3.3.1: 11901 11750 resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} 11902 - dev: true 11903 - 11904 - /es6-promise@4.2.8: 11905 - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} 11906 - dev: true 11907 - 11908 - /es6-promisify@5.0.0: 11909 - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} 11910 - dependencies: 11911 - es6-promise: 4.2.8 11912 11751 dev: true 11913 11752 11914 11753 /esbuild-android-64@0.14.54: ··· 12872 12711 resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} 12873 12712 dev: false 12874 12713 12875 - /exit@0.1.2: 12876 - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} 12877 - engines: {node: '>= 0.8.0'} 12878 - dev: true 12879 - 12880 12714 /expand-brackets@2.1.4: 12881 12715 resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} 12882 12716 engines: {node: '>=0.10.0'} ··· 12978 12812 - supports-color 12979 12813 dev: false 12980 12814 12981 - /extract-zip@2.0.1: 12982 - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} 12983 - engines: {node: '>= 10.17.0'} 12984 - hasBin: true 12985 - dependencies: 12986 - debug: 4.3.4 12987 - get-stream: 5.2.0 12988 - yauzl: 2.10.0 12989 - optionalDependencies: 12990 - '@types/yauzl': 2.10.0 12991 - transitivePeerDependencies: 12992 - - supports-color 12993 - dev: true 12994 - 12995 - /extsprintf@1.3.0: 12996 - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} 12997 - engines: {'0': node >=0.6.0} 12998 - dev: true 12999 - 13000 12815 /fast-deep-equal@2.0.1: 13001 12816 resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} 13002 12817 dev: true ··· 13078 12893 resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} 13079 12894 dependencies: 13080 12895 bser: 2.1.1 13081 - dev: true 13082 - 13083 - /fd-slicer@1.1.0: 13084 - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 13085 - dependencies: 13086 - pend: 1.2.0 13087 12896 dev: true 13088 12897 13089 12898 /fetch-blob@3.2.0: ··· 13272 13081 signal-exit: 4.1.0 13273 13082 dev: false 13274 13083 13275 - /forever-agent@0.6.1: 13276 - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} 13277 - dev: true 13278 - 13279 - /form-data@2.3.3: 13280 - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} 13281 - engines: {node: '>= 0.12'} 13282 - dependencies: 13283 - asynckit: 0.4.0 13284 - combined-stream: 1.0.8 13285 - mime-types: 2.1.35 13286 - dev: true 13287 - 13288 13084 /form-data@4.0.0: 13289 13085 resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} 13290 13086 engines: {node: '>= 6'} ··· 13480 13276 resolution: {integrity: sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==} 13481 13277 dev: true 13482 13278 13483 - /get-stream@5.2.0: 13484 - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} 13485 - engines: {node: '>=8'} 13486 - dependencies: 13487 - pump: 3.0.0 13488 - dev: true 13489 - 13490 13279 /get-stream@6.0.1: 13491 13280 resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 13492 13281 engines: {node: '>=10'} ··· 13514 13303 resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} 13515 13304 engines: {node: '>=0.10.0'} 13516 13305 dev: false 13517 - 13518 - /getpass@0.1.7: 13519 - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} 13520 - dependencies: 13521 - assert-plus: 1.0.0 13522 - dev: true 13523 13306 13524 13307 /gifwrap@0.9.4: 13525 13308 resolution: {integrity: sha512-MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ==} ··· 13699 13482 unicorn-magic: 0.1.0 13700 13483 dev: true 13701 13484 13702 - /globby@5.0.0: 13703 - resolution: {integrity: sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ==} 13704 - engines: {node: '>=0.10.0'} 13705 - dependencies: 13706 - array-union: 1.0.2 13707 - arrify: 1.0.1 13708 - glob: 7.2.3 13709 - object-assign: 4.1.1 13710 - pify: 2.3.0 13711 - pinkie-promise: 2.0.1 13712 - dev: true 13713 - 13714 13485 /gopd@1.0.1: 13715 13486 resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 13716 13487 dependencies: ··· 13768 13539 13769 13540 /handle-thing@2.0.1: 13770 13541 resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} 13771 - dev: true 13772 - 13773 - /har-schema@2.0.0: 13774 - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} 13775 - engines: {node: '>=4'} 13776 - dev: true 13777 - 13778 - /har-validator@5.1.5: 13779 - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} 13780 - engines: {node: '>=6'} 13781 - deprecated: this library is no longer supported 13782 - dependencies: 13783 - ajv: 6.12.6 13784 - har-schema: 2.0.0 13785 - dev: true 13786 - 13787 - /has-ansi@2.0.0: 13788 - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} 13789 - engines: {node: '>=0.10.0'} 13790 - dependencies: 13791 - ansi-regex: 2.1.1 13792 13542 dev: true 13793 13543 13794 13544 /has-bigints@1.0.2: ··· 14149 13899 engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} 14150 13900 dev: true 14151 13901 14152 - /http-signature@1.2.0: 14153 - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} 14154 - engines: {node: '>=0.8', npm: '>=1.3.7'} 14155 - dependencies: 14156 - assert-plus: 1.0.0 14157 - jsprim: 1.4.2 14158 - sshpk: 1.17.0 14159 - dev: true 14160 - 14161 - /https-proxy-agent@2.2.4: 14162 - resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} 14163 - engines: {node: '>= 4.5.0'} 14164 - dependencies: 14165 - agent-base: 4.3.0 14166 - debug: 3.2.7 14167 - transitivePeerDependencies: 14168 - - supports-color 14169 - dev: true 14170 - 14171 13902 /https-proxy-agent@5.0.0: 14172 13903 resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} 14173 13904 engines: {node: '>= 6'} ··· 14286 14017 14287 14018 /immediate@3.0.6: 14288 14019 resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} 14020 + dev: false 14289 14021 14290 14022 /immutable@4.3.1: 14291 14023 resolution: {integrity: sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==} ··· 14643 14375 resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 14644 14376 engines: {node: '>=0.12.0'} 14645 14377 14646 - /is-path-cwd@1.0.0: 14647 - resolution: {integrity: sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==} 14648 - engines: {node: '>=0.10.0'} 14649 - dev: true 14650 - 14651 14378 /is-path-cwd@2.2.0: 14652 14379 resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} 14653 14380 engines: {node: '>=6'} 14654 14381 14655 - /is-path-in-cwd@1.0.1: 14656 - resolution: {integrity: sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==} 14657 - engines: {node: '>=0.10.0'} 14658 - dependencies: 14659 - is-path-inside: 1.0.1 14660 - dev: true 14661 - 14662 - /is-path-inside@1.0.1: 14663 - resolution: {integrity: sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==} 14664 - engines: {node: '>=0.10.0'} 14665 - dependencies: 14666 - path-is-inside: 1.0.2 14667 - dev: true 14668 - 14669 14382 /is-path-inside@3.0.3: 14670 14383 resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 14671 14384 engines: {node: '>=8'} ··· 14765 14478 which-typed-array: 1.1.14 14766 14479 dev: true 14767 14480 14768 - /is-typedarray@1.0.0: 14769 - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} 14770 - dev: true 14771 - 14772 14481 /is-unicode-supported@0.1.0: 14773 14482 resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 14774 14483 engines: {node: '>=10'} ··· 14846 14555 /isobject@3.0.1: 14847 14556 resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} 14848 14557 engines: {node: '>=0.10.0'} 14849 - 14850 - /isstream@0.1.2: 14851 - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} 14852 - dev: true 14853 14558 14854 14559 /istanbul-lib-coverage@3.2.0: 14855 14560 resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} ··· 14928 14633 filelist: 1.0.4 14929 14634 minimatch: 3.1.2 14930 14635 14931 - /jasmine-core@2.8.0: 14932 - resolution: {integrity: sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ==} 14933 - dev: true 14934 - 14935 14636 /jasmine-core@3.99.1: 14936 14637 resolution: {integrity: sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==} 14937 14638 dev: true ··· 14944 14645 resolution: {integrity: sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==} 14945 14646 dependencies: 14946 14647 colors: 1.4.0 14947 - dev: true 14948 - 14949 - /jasmine@2.8.0: 14950 - resolution: {integrity: sha512-KbdGQTf5jbZgltoHs31XGiChAPumMSY64OZMWLNYnEnMfG5uwGBhffePwuskexjT+/Jea/gU3qAU8344hNohSw==} 14951 - hasBin: true 14952 - dependencies: 14953 - exit: 0.1.2 14954 - glob: 7.2.3 14955 - jasmine-core: 2.8.0 14956 - dev: true 14957 - 14958 - /jasminewd2@2.2.0: 14959 - resolution: {integrity: sha512-Rn0nZe4rfDhzA63Al3ZGh0E+JTmM6ESZYXJGKuqKGZObsAB9fwXPD03GjtIEvJBDOhN94T5MzbwZSqzFHSQPzg==} 14960 - engines: {node: '>= 6.9.x'} 14961 14648 dev: true 14962 14649 14963 14650 /jest-environment-node@29.7.0: ··· 15117 14804 dependencies: 15118 14805 argparse: 2.0.1 15119 14806 15120 - /jsbn@0.1.1: 15121 - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} 15122 - dev: true 15123 - 15124 14807 /jsc-android@250231.0.0: 15125 14808 resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} 15126 14809 dev: true ··· 15233 14916 resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 15234 14917 dev: true 15235 14918 15236 - /json-schema@0.4.0: 15237 - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} 15238 - dev: true 15239 - 15240 14919 /json-stable-stringify-without-jsonify@1.0.1: 15241 14920 resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 15242 - dev: true 15243 - 15244 - /json-stringify-safe@5.0.1: 15245 - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} 15246 14921 dev: true 15247 14922 15248 14923 /json5@1.0.2: ··· 15296 14971 /jsonparse@1.3.1: 15297 14972 resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} 15298 14973 engines: {'0': node >= 0.2.0} 15299 - dev: true 15300 - 15301 - /jsprim@1.4.2: 15302 - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} 15303 - engines: {node: '>=0.6.0'} 15304 - dependencies: 15305 - assert-plus: 1.0.0 15306 - extsprintf: 1.3.0 15307 - json-schema: 0.4.0 15308 - verror: 1.10.0 15309 14974 dev: true 15310 14975 15311 14976 /jszip@3.10.1: ··· 15315 14980 pako: 1.0.11 15316 14981 readable-stream: 2.3.8 15317 14982 setimmediate: 1.0.5 14983 + dev: false 15318 14984 15319 14985 /karma-chrome-launcher@3.1.1: 15320 14986 resolution: {integrity: sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==} ··· 15535 15201 resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} 15536 15202 dependencies: 15537 15203 immediate: 3.0.6 15204 + dev: false 15538 15205 15539 15206 /lighthouse-logger@1.4.2: 15540 15207 resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} ··· 16516 16183 is-extendable: 1.0.1 16517 16184 dev: false 16518 16185 16519 - /mkdirp-classic@0.5.3: 16520 - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 16521 - dev: true 16522 - 16523 16186 /mkdirp@0.5.6: 16524 16187 resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 16525 16188 hasBin: true ··· 17194 16857 execa: 8.0.1 17195 16858 pathe: 1.1.2 17196 16859 ufo: 1.4.0 17197 - dev: true 17198 - 17199 - /oauth-sign@0.9.0: 17200 - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} 17201 16860 dev: true 17202 16861 17203 16862 /ob1@0.80.5: ··· 17699 17358 resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 17700 17359 engines: {node: '>=0.10.0'} 17701 17360 17702 - /path-is-inside@1.0.2: 17703 - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} 17704 - dev: true 17705 - 17706 17361 /path-key@3.1.1: 17707 17362 resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 17708 17363 engines: {node: '>=8'} ··· 17753 17408 engines: {node: '>=8'} 17754 17409 dev: false 17755 17410 17756 - /pend@1.2.0: 17757 - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} 17758 - dev: true 17759 - 17760 17411 /perfect-debounce@1.0.0: 17761 17412 resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 17762 17413 dev: true 17763 17414 17764 - /performance-now@2.1.0: 17765 - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} 17766 - dev: true 17767 - 17768 17415 /periscopic@3.1.0: 17769 17416 resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} 17770 17417 dependencies: ··· 17798 17445 /pify@4.0.1: 17799 17446 resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 17800 17447 engines: {node: '>=6'} 17801 - 17802 - /pinkie-promise@2.0.1: 17803 - resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} 17804 - engines: {node: '>=0.10.0'} 17805 - dependencies: 17806 - pinkie: 2.0.4 17807 - dev: true 17808 - 17809 - /pinkie@2.0.4: 17810 - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} 17811 - engines: {node: '>=0.10.0'} 17812 - dev: true 17813 17448 17814 17449 /pirates@4.0.6: 17815 17450 resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} ··· 18706 18341 engines: {node: '>= 0.6.0'} 18707 18342 dev: false 18708 18343 18709 - /progress@2.0.3: 18710 - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 18711 - engines: {node: '>=0.4.0'} 18712 - dev: true 18713 - 18714 18344 /promise-inflight@1.0.1: 18715 18345 resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} 18716 18346 peerDependencies: ··· 18757 18387 resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} 18758 18388 dev: true 18759 18389 18760 - /protractor@7.0.0: 18761 - resolution: {integrity: sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==} 18762 - engines: {node: '>=10.13.x'} 18763 - deprecated: We have news to share - Protractor is deprecated and will reach end-of-life by Summer 2023. To learn more and find out about other options please refer to this post on the Angular blog. Thank you for using and contributing to Protractor. https://goo.gle/state-of-e2e-in-angular 18764 - hasBin: true 18765 - dependencies: 18766 - '@types/q': 0.0.32 18767 - '@types/selenium-webdriver': 3.0.22 18768 - blocking-proxy: 1.0.1 18769 - browserstack: 1.6.1 18770 - chalk: 1.1.3 18771 - glob: 7.2.3 18772 - jasmine: 2.8.0 18773 - jasminewd2: 2.2.0 18774 - q: 1.4.1 18775 - saucelabs: 1.5.0 18776 - selenium-webdriver: 3.6.0 18777 - source-map-support: 0.4.18 18778 - webdriver-js-extender: 2.1.0 18779 - webdriver-manager: 12.1.9 18780 - yargs: 15.4.1 18781 - transitivePeerDependencies: 18782 - - supports-color 18783 - dev: true 18784 - 18785 18390 /proxy-addr@2.0.7: 18786 18391 resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 18787 18392 engines: {node: '>= 0.10'} ··· 18811 18416 once: 1.4.0 18812 18417 dev: false 18813 18418 18814 - /pump@3.0.0: 18815 - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 18816 - dependencies: 18817 - end-of-stream: 1.4.4 18818 - once: 1.4.0 18819 - dev: true 18820 - 18821 18419 /punycode@2.3.0: 18822 18420 resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 18823 18421 engines: {node: '>=6'} 18824 18422 dev: true 18825 18423 18826 - /puppeteer@8.0.0: 18827 - resolution: {integrity: sha512-D0RzSWlepeWkxPPdK3xhTcefj8rjah1791GE82Pdjsri49sy11ci/JQsAO8K2NRukqvwEtcI+ImP5F4ZiMvtIQ==} 18828 - engines: {node: '>=10.18.1'} 18829 - deprecated: < 19.4.0 is no longer supported 18830 - requiresBuild: true 18831 - dependencies: 18832 - debug: 4.3.4 18833 - devtools-protocol: 0.0.854822 18834 - extract-zip: 2.0.1 18835 - https-proxy-agent: 5.0.1 18836 - node-fetch: 2.6.12 18837 - pkg-dir: 4.2.0 18838 - progress: 2.0.3 18839 - proxy-from-env: 1.1.0 18840 - rimraf: 3.0.2 18841 - tar-fs: 2.1.1 18842 - unbzip2-stream: 1.4.3 18843 - ws: 7.5.9 18844 - transitivePeerDependencies: 18845 - - bufferutil 18846 - - encoding 18847 - - supports-color 18848 - - utf-8-validate 18849 - dev: true 18850 - 18851 - /q@1.4.1: 18852 - resolution: {integrity: sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==} 18853 - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} 18854 - dev: true 18855 - 18856 18424 /qjobs@1.2.0: 18857 18425 resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} 18858 18426 engines: {node: '>=0.9'} ··· 18863 18431 engines: {node: '>=0.6'} 18864 18432 dependencies: 18865 18433 side-channel: 1.0.4 18866 - dev: true 18867 - 18868 - /qs@6.5.3: 18869 - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} 18870 - engines: {node: '>=0.6'} 18871 18434 dev: true 18872 18435 18873 18436 /querystringify@2.2.0: ··· 18976 18539 resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} 18977 18540 dev: true 18978 18541 18979 - /react-native-svg@15.0.0(react-native@0.73.1)(react@18.2.0): 18542 + /react-native-svg@15.0.0(react-native@0.73.4)(react@18.2.0): 18980 18543 resolution: {integrity: sha512-ZUEXlzdU3cHjhOuc4BP7fbvabmz8yIuH4ocKSEr5V3P5skk2wnbEyZd3p7dzV9IoODgguCe7tcrNRGwr9pLRig==} 18981 18544 peerDependencies: 18982 18545 react: '*' ··· 19280 18843 engines: {node: '>=0.10'} 19281 18844 dev: false 19282 18845 19283 - /request@2.88.2: 19284 - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} 19285 - engines: {node: '>= 6'} 19286 - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 19287 - dependencies: 19288 - aws-sign2: 0.7.0 19289 - aws4: 1.12.0 19290 - caseless: 0.12.0 19291 - combined-stream: 1.0.8 19292 - extend: 3.0.2 19293 - forever-agent: 0.6.1 19294 - form-data: 2.3.3 19295 - har-validator: 5.1.5 19296 - http-signature: 1.2.0 19297 - is-typedarray: 1.0.0 19298 - isstream: 0.1.2 19299 - json-stringify-safe: 5.0.1 19300 - mime-types: 2.1.35 19301 - oauth-sign: 0.9.0 19302 - performance-now: 2.1.0 19303 - qs: 6.5.3 19304 - safe-buffer: 5.2.1 19305 - tough-cookie: 2.5.0 19306 - tunnel-agent: 0.6.0 19307 - uuid: 3.4.0 19308 - dev: true 19309 - 19310 18846 /require-directory@2.1.1: 19311 18847 resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 19312 18848 engines: {node: '>=0.10.0'} ··· 19784 19320 source-map-js: 1.0.2 19785 19321 dev: true 19786 19322 19787 - /saucelabs@1.5.0: 19788 - resolution: {integrity: sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==} 19789 - dependencies: 19790 - https-proxy-agent: 2.2.4 19791 - transitivePeerDependencies: 19792 - - supports-color 19793 - dev: true 19794 - 19795 19323 /sax@1.2.4: 19796 19324 resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} 19797 19325 ··· 19860 19388 resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} 19861 19389 dev: true 19862 19390 19863 - /selenium-webdriver@3.6.0: 19864 - resolution: {integrity: sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==} 19865 - engines: {node: '>= 6.9.0'} 19866 - dependencies: 19867 - jszip: 3.10.1 19868 - rimraf: 2.7.1 19869 - tmp: 0.0.30 19870 - xml2js: 0.4.23 19871 - dev: true 19872 - 19873 19391 /selfsigned@2.1.1: 19874 19392 resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} 19875 19393 engines: {node: '>=10'} ··· 19880 19398 /semver@5.7.2: 19881 19399 resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 19882 19400 hasBin: true 19401 + requiresBuild: true 19883 19402 dev: true 19884 19403 19885 19404 /semver@6.3.1: ··· 20033 19552 20034 19553 /setimmediate@1.0.5: 20035 19554 resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} 19555 + dev: false 20036 19556 20037 19557 /setprototypeof@1.1.0: 20038 19558 resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} ··· 20350 19870 decode-uri-component: 0.2.2 20351 19871 dev: true 20352 19872 20353 - /source-map-support@0.4.18: 20354 - resolution: {integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==} 20355 - dependencies: 20356 - source-map: 0.5.7 20357 - dev: true 20358 - 20359 19873 /source-map-support@0.5.21: 20360 19874 resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 20361 19875 dependencies: ··· 20477 19991 20478 19992 /sprintf-js@1.0.3: 20479 19993 resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 20480 - dev: true 20481 - 20482 - /sshpk@1.17.0: 20483 - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} 20484 - engines: {node: '>=0.10.0'} 20485 - hasBin: true 20486 - dependencies: 20487 - asn1: 0.2.6 20488 - assert-plus: 1.0.0 20489 - bcrypt-pbkdf: 1.0.2 20490 - dashdash: 1.14.1 20491 - ecc-jsbn: 0.1.2 20492 - getpass: 0.1.7 20493 - jsbn: 0.1.1 20494 - safer-buffer: 2.1.2 20495 - tweetnacl: 0.14.5 20496 19994 dev: true 20497 19995 20498 19996 /ssri@10.0.5: ··· 20694 20192 character-entities-legacy: 3.0.0 20695 20193 dev: false 20696 20194 20697 - /strip-ansi@3.0.1: 20698 - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} 20699 - engines: {node: '>=0.10.0'} 20700 - dependencies: 20701 - ansi-regex: 2.1.1 20702 - dev: true 20703 - 20704 20195 /strip-ansi@5.2.0: 20705 20196 resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} 20706 20197 engines: {node: '>=6'} ··· 20829 20320 20830 20321 /sudo-prompt@9.2.1: 20831 20322 resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} 20832 - dev: true 20833 - 20834 - /supports-color@2.0.0: 20835 - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} 20836 - engines: {node: '>=0.8.0'} 20837 20323 dev: true 20838 20324 20839 20325 /supports-color@5.5.0: ··· 21143 20629 engines: {node: '>=6'} 21144 20630 dev: true 21145 20631 21146 - /tar-fs@2.1.1: 21147 - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} 21148 - dependencies: 21149 - chownr: 1.1.4 21150 - mkdirp-classic: 0.5.3 21151 - pump: 3.0.0 21152 - tar-stream: 2.2.0 21153 - dev: true 21154 - 21155 20632 /tar-stream@2.2.0: 21156 20633 resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 21157 20634 engines: {node: '>=6'} ··· 21328 20805 engines: {node: '>=14.0.0'} 21329 20806 dev: true 21330 20807 21331 - /tmp@0.0.30: 21332 - resolution: {integrity: sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w==} 21333 - engines: {node: '>=0.4.0'} 21334 - dependencies: 21335 - os-tmpdir: 1.0.2 21336 - dev: true 21337 - 21338 20808 /tmp@0.0.33: 21339 20809 resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 21340 20810 engines: {node: '>=0.6.0'} ··· 21407 20877 dependencies: 21408 20878 eslint-visitor-keys: 3.4.3 21409 20879 dev: false 21410 - 21411 - /tough-cookie@2.5.0: 21412 - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} 21413 - engines: {node: '>=0.8'} 21414 - dependencies: 21415 - psl: 1.9.0 21416 - punycode: 2.3.0 21417 - dev: true 21418 20880 21419 20881 /tough-cookie@4.1.3: 21420 20882 resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} ··· 21559 21021 pako: 1.0.11 21560 21022 dev: false 21561 21023 21562 - /tunnel-agent@0.6.0: 21563 - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 21564 - dependencies: 21565 - safe-buffer: 5.2.1 21566 - dev: true 21567 - 21568 - /tweetnacl@0.14.5: 21569 - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} 21570 - dev: true 21571 - 21572 21024 /type-check@0.4.0: 21573 21025 resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 21574 21026 engines: {node: '>= 0.8.0'} ··· 21698 21150 has-bigints: 1.0.2 21699 21151 has-symbols: 1.0.3 21700 21152 which-boxed-primitive: 1.0.2 21701 - dev: true 21702 - 21703 - /unbzip2-stream@1.4.3: 21704 - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} 21705 - dependencies: 21706 - buffer: 5.7.1 21707 - through: 2.3.8 21708 21153 dev: true 21709 21154 21710 21155 /uncrypto@0.1.3: ··· 22059 21504 engines: {node: '>= 0.4.0'} 22060 21505 dev: true 22061 21506 22062 - /uuid@3.4.0: 22063 - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} 22064 - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. 22065 - hasBin: true 22066 - dev: true 22067 - 22068 21507 /uuid@8.3.2: 22069 21508 resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} 22070 21509 hasBin: true ··· 22098 21537 engines: {node: '>= 0.8'} 22099 21538 dev: true 22100 21539 22101 - /verror@1.10.0: 22102 - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} 22103 - engines: {'0': node >=0.6.0} 22104 - dependencies: 22105 - assert-plus: 1.0.0 22106 - core-util-is: 1.0.2 22107 - extsprintf: 1.3.0 22108 - dev: true 22109 - 22110 21540 /vfile-location@5.0.2: 22111 21541 resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} 22112 21542 dependencies: ··· 22596 22026 resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} 22597 22027 engines: {node: '>= 8'} 22598 22028 22599 - /webdriver-js-extender@2.1.0: 22600 - resolution: {integrity: sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==} 22601 - engines: {node: '>=6.9.x'} 22602 - dependencies: 22603 - '@types/selenium-webdriver': 3.0.22 22604 - selenium-webdriver: 3.6.0 22605 - dev: true 22606 - 22607 - /webdriver-manager@12.1.9: 22608 - resolution: {integrity: sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==} 22609 - engines: {node: '>=6.9.x'} 22610 - hasBin: true 22611 - dependencies: 22612 - adm-zip: 0.5.10 22613 - chalk: 1.1.3 22614 - del: 2.2.2 22615 - glob: 7.2.3 22616 - ini: 1.3.8 22617 - minimist: 1.2.8 22618 - q: 1.4.1 22619 - request: 2.88.2 22620 - rimraf: 2.7.1 22621 - semver: 5.7.2 22622 - xml2js: 0.4.23 22623 - dev: true 22624 - 22625 22029 /webidl-conversions@3.0.1: 22626 22030 resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 22627 22031 dev: true ··· 23015 22419 dependencies: 23016 22420 sax: 1.2.4 23017 22421 xmlbuilder: 11.0.1 22422 + dev: false 23018 22423 23019 22424 /xmlbuilder@11.0.1: 23020 22425 resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} 23021 22426 engines: {node: '>=4.0'} 22427 + dev: false 23022 22428 23023 22429 /xmlchars@2.2.0: 23024 22430 resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} ··· 23133 22539 string-width: 4.2.3 23134 22540 y18n: 5.0.8 23135 22541 yargs-parser: 21.1.1 23136 - 23137 - /yauzl@2.10.0: 23138 - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} 23139 - dependencies: 23140 - buffer-crc32: 0.2.13 23141 - fd-slicer: 1.1.0 23142 - dev: true 23143 22542 23144 22543 /yn@3.1.1: 23145 22544 resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
+4 -3
scripts/helpers.mjs
··· 48 48 * @param {string} path 49 49 * @returns {string} The contents of a file 50 50 */ 51 - export const readFile = (entry) => fs.readFileSync(path.resolve(__dirname, '../', entry), 'utf-8'); 51 + export const readFile = (path) => fs.readFileSync(path.resolve(__dirname, '../', path), 'utf-8'); 52 52 53 53 /** 54 54 * append content to a file ··· 93 93 fs 94 94 .readdirSync(directory) 95 95 .filter((file) => path.extname(file) === '.json') 96 - .reduce((acc, fileName, i) => { 96 + .reduce((acc, fileName) => { 97 97 acc[path.basename(fileName, '.json')] = readMetadata(fileName, directory); 98 98 return acc; 99 99 }, {}); ··· 112 112 * reads the icon directory 113 113 * 114 114 * @param {string} directory 115 + * @param {string} fileExtension 115 116 * @returns {array} An array of file paths containing svgs 116 117 */ 117 118 export const readSvgDirectory = (directory, fileExtension = '.svg') => ··· 218 219 export function minifySvg(string) { 219 220 return string 220 221 ? string 221 - .replace(/\>[\r\n ]+</g, '><') 222 + .replace(/>[\r\n ]+</g, '><') 222 223 .replace(/(<.*?>)|\s+/g, (m, $1) => $1 || ' ') 223 224 .trim() 224 225 : '';
+6 -1
scripts/lintFilenames.mjs
··· 1 + import path from 'path'; 2 + import fs from 'fs'; 3 + import process from 'process'; 1 4 import { spawn } from 'child_process'; 2 5 3 6 const regex = /(?<file>[^:]+):(?<line>\d+):(?<column>\d+)\s-\s+(?<message>.+)/; 4 - const fileList = (process.env.CHANGED_FILES || '').split(' '); 7 + const fileList = process.env.CHANGED_FILES 8 + ? (process.env.CHANGED_FILES || '').split(' ') 9 + : fs.readdirSync('./icons').map((fileName) => path.join('./icons', fileName)); 5 10 6 11 const cspell = spawn('npx', ['cspell', 'stdin'], { stdio: ['pipe', 'pipe', 'inherit'] }); 7 12 cspell.stdin.write(fileList.join('\n'));
+65
scripts/rename/renameIcon.function.mjs
··· 1 + import path from 'path'; 2 + import fs from 'fs'; 3 + import { promisify } from 'util'; 4 + import simpleGit from 'simple-git'; 5 + 6 + /** 7 + * Renames an icon and adds the old name as an alias. 8 + * @param {string} ICONS_DIR 9 + * @param {string} oldName 10 + * @param {string} newName 11 + * @param {boolean} logInfo 12 + * @param {boolean} addAlias 13 + */ 14 + export async function renameIcon(ICONS_DIR, oldName, newName, logInfo = true, addAlias = true) { 15 + const git = simpleGit(); 16 + 17 + async function fileExists(filePath) { 18 + try { 19 + await promisify(fs.access)(filePath); 20 + return true; 21 + } catch { 22 + return false; 23 + } 24 + } 25 + const oldSvgPath = path.join(ICONS_DIR, `${oldName}.svg`); 26 + const newSvgPath = path.join(ICONS_DIR, `${newName}.svg`); 27 + const oldJsonPath = path.join(ICONS_DIR, `${oldName}.json`); 28 + const newJsonPath = path.join(ICONS_DIR, `${newName}.json`); 29 + 30 + if (await fileExists(newSvgPath)) { 31 + throw new Error(`ERROR: Icon icons/${newName}.svg already exists`); 32 + } 33 + if (await fileExists(newJsonPath)) { 34 + throw new Error(`ERROR: Metadata file icons/${newName}.json already exists`); 35 + } 36 + if (!(await fileExists(oldSvgPath))) { 37 + throw new Error(`ERROR: Icon icons/${oldName}.svg doesn't exist`); 38 + } 39 + if (!(await fileExists(oldJsonPath))) { 40 + throw new Error(`ERROR: Metadata file icons/${oldName}.json doesn't exist`); 41 + } 42 + 43 + await git.mv(oldSvgPath, newSvgPath); 44 + await git.mv(oldJsonPath, newJsonPath); 45 + if (addAlias) { 46 + const json = fs.readFileSync(newJsonPath, 'utf8'); 47 + const jsonData = JSON.parse(json); 48 + if (Array.isArray(jsonData.aliases)) { 49 + jsonData.aliases = jsonData.aliases.filter((name) => name !== newName); 50 + jsonData.aliases.push(oldName); 51 + } else { 52 + jsonData.aliases = [oldName]; 53 + } 54 + fs.writeFileSync(newJsonPath, JSON.stringify(jsonData, null, 2)); 55 + await git.add(newJsonPath); 56 + } 57 + 58 + if (logInfo) { 59 + console.log('SUCCESS: Next steps:'); 60 + console.log(`git checkout -b rename/${oldName}-to-${newName};`); 61 + console.log(`git commit -m 'Renamed ${oldName} to ${newName}';`); 62 + console.log(`gh pr create --title 'Renamed ${oldName} to ${newName}';`); 63 + console.log('git checkout main;'); 64 + } 65 + }
+28
scripts/rename/renameIcon.mjs
··· 1 + import path from 'path'; 2 + import { getCurrentDirPath } from '../helpers.mjs'; 3 + import { renameIcon } from './renameIcon.function.mjs'; 4 + 5 + async function main() { 6 + const oldName = path.basename(process.argv[2]).replace(/\.[^/.]+$/, ''); 7 + const newName = path.basename(process.argv[3]).replace(/\.[^/.]+$/, ''); 8 + 9 + if (!newName || !oldName) { 10 + console.error('Usage: node ./scripts/renameIcon.mjs <oldIcon> <newIcon>'); 11 + process.exit(1); 12 + } 13 + if (oldName === newName) { 14 + console.error('ERROR: Old name and new name are the same'); 15 + process.exit(1); 16 + } 17 + 18 + try { 19 + const currentDir = getCurrentDirPath(import.meta.url); 20 + const ICONS_DIR = path.resolve(currentDir, '../../icons'); 21 + await renameIcon(ICONS_DIR, oldName, newName); 22 + } catch (err) { 23 + console.error(err.message); 24 + process.exit(1); 25 + } 26 + } 27 + 28 + main();
+55
scripts/rename/renamePattern.mjs
··· 1 + import path from 'path'; 2 + import { getCurrentDirPath, readSvgDirectory } from '../helpers.mjs'; 3 + import { renameIcon } from './renameIcon.function.mjs'; 4 + import yargs from 'yargs/yargs'; 5 + import { hideBin } from 'yargs/helpers'; 6 + 7 + async function main() { 8 + const currentDir = getCurrentDirPath(import.meta.url); 9 + const ICONS_DIR = path.resolve(currentDir, '../../icons'); 10 + const svgFiles = readSvgDirectory(ICONS_DIR); 11 + const iconNames = svgFiles.map((icon) => icon.split('.')[0]).reverse(); 12 + const argv = yargs(hideBin(process.argv)) 13 + .usage('$0 <pattern> <replacement>', 'Renames all icons matching a pattern', (yargs) => { 14 + yargs 15 + .positional('pattern', { 16 + type: 'string', 17 + demandOption: true, 18 + describe: 'A regular expression, e.g. "^rhombus-(.+)$"', 19 + }) 20 + .positional('replacement', { 21 + type: 'string', 22 + demandOption: true, 23 + describe: 'A replacement string, e.g. "diamond-\\1"', 24 + }); 25 + }) 26 + .strictCommands() 27 + .options({ 28 + 'dry-run': { type: 'boolean', default: false, alias: 'd' }, 29 + 'add-alias': { type: 'boolean', default: true, alias: 'a' }, 30 + }) 31 + .parse(); 32 + 33 + const pattern = new RegExp(argv.pattern, 'g'); 34 + const replacement = argv.replacement.replaceAll(/\\([0-9]+)/g, (s, i) => `$${i}`); 35 + 36 + if (!(pattern instanceof RegExp)) { 37 + console.error(`${pattern} is not a valid regular expression.`); 38 + process.exit(1); 39 + } 40 + 41 + for (let oldName of iconNames.filter((name) => pattern.test(name))) { 42 + const newName = oldName.replaceAll(pattern, replacement); 43 + console.log(`Renaming ${oldName} => ${newName}`); 44 + 45 + try { 46 + if (!argv.dryRun) { 47 + await renameIcon(ICONS_DIR, oldName, newName, false, argv.addAlias); 48 + } 49 + } catch (err) { 50 + console.error(err.message); 51 + } 52 + } 53 + } 54 + 55 + main();
-71
scripts/renameIcon.mjs
··· 1 - import simpleGit from 'simple-git'; 2 - import fs from 'fs'; 3 - import path from 'path'; 4 - import { promisify } from 'util'; 5 - 6 - const oldName = path.basename(process.argv[2]).replace(/\.[^/.]+$/, ''); 7 - const newName = path.basename(process.argv[3]).replace(/\.[^/.]+$/, ''); 8 - 9 - if (!newName || !oldName) { 10 - console.error('Usage: node ./scripts/renameIcon.mjs <oldIcon> <newIcon>'); 11 - process.exit(1); 12 - } 13 - if (oldName === newName) { 14 - console.error('ERROR: Old name and new name are the same'); 15 - process.exit(1); 16 - } 17 - 18 - const git = simpleGit(); 19 - 20 - async function main() { 21 - try { 22 - if (await fileExists(`icons/${newName}.svg`)) { 23 - console.error(`ERROR: Icon icons/${newName}.svg already exists`); 24 - process.exit(1); 25 - } 26 - if (await fileExists(`icons/${newName}.json`)) { 27 - console.error(`ERROR: Metadata file icons/${newName}.json already exists`); 28 - process.exit(1); 29 - } 30 - if (!(await fileExists(`icons/${oldName}.svg`))) { 31 - console.error(`ERROR: Icon icons/${oldName}.svg doesn't exist`); 32 - process.exit(1); 33 - } 34 - if (!(await fileExists(`icons/${oldName}.json`))) { 35 - console.error(`ERROR: Metadata file icons/${oldName}.json doesn't exist`); 36 - process.exit(1); 37 - } 38 - 39 - await git.mv(`icons/${oldName}.svg`, `icons/${newName}.svg`); 40 - await git.mv(`icons/${oldName}.json`, `icons/${newName}.json`); 41 - const json = fs.readFileSync(`icons/${newName}.json`, 'utf8'); 42 - const jsonData = JSON.parse(json); 43 - if (Array.isArray(jsonData.aliases)) { 44 - jsonData.aliases.push(oldName); 45 - } else { 46 - jsonData.aliases = [oldName]; 47 - } 48 - fs.writeFileSync(`icons/${newName}.json`, JSON.stringify(jsonData, null, 2)); 49 - await git.add(`icons/${newName}.json`); 50 - 51 - console.log('SUCCESS: Next steps:'); 52 - console.log(`git checkout -b rename/${oldName}-to-${newName};`); 53 - console.log(`git commit -m 'Renamed ${oldName} to ${newName}';`); 54 - console.log(`gh pr create --title 'Renamed ${oldName} to ${newName}';`); 55 - console.log('git checkout main;'); 56 - } catch (err) { 57 - console.error(err.message); 58 - process.exit(1); 59 - } 60 - } 61 - 62 - async function fileExists(filePath) { 63 - try { 64 - await promisify(fs.access)(filePath); 65 - return true; 66 - } catch { 67 - return false; 68 - } 69 - } 70 - 71 - main();