From 6377f8418dfcad09c8635764554740d8df896da0 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Fri, 27 Nov 2020 09:52:49 +0530 Subject: [PATCH 01/37] =?UTF-8?q?=F0=9F=9B=A0=20Merge=20ful1e5/apple=5Fcur?= =?UTF-8?q?sor#34?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 +++++ README.md | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11f36b4b..f5dd10a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,8 +13,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [unreleased] ### Added + - new **[copr](https://copr.fedorainfracloud.org/coprs/peterwu/rendezvous/package/bibata-cursor-themes/)** package by @peterwu +### Changed + +- Fix dnf runtime requirements packages ful1e5/apple_cursor#34 + ## [Bibata Rainbow v1.0.0] - 17 Nov 2020 ### Added diff --git a/README.md b/README.md index 099f36e7..05a18700 100644 --- a/README.md +++ b/README.md @@ -304,7 +304,7 @@ sudo pacman -S libx11 libxcursor libpng ##### Fedora/Fedora Silverblue/CentOS/RHEL ```bash -sudo dnf install libx11-devel libxcursor-devel libpng-devel +sudo dnf install libX11-devel libXcursor-devel libpng-devel ``` ## Build Dependencies From d3234e6114e65adc2b88518b921d2c53c7fc95e0 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 18 Feb 2021 19:05:51 +0530 Subject: [PATCH 02/37] =?UTF-8?q?=F0=9F=93=82=20Svg=20location=20changed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In Bibata v1.1.x all svg files are stored inside the individual package's 'src' directory. That's changes to /svg/. There are plenty of other restructuring is pending,You can see in Unstaged stage. --- packages/modern/src/svg/static/all_scroll.svg | 1 - packages/modern/src/svg/static/dnd_none.svg | 1 - packages/modern/src/svg/symblinks.sh | 12 ------------ packages/original/src/svg/static/all_scroll.svg | 1 - packages/original/src/svg/static/dnd_none.svg | 1 - packages/original/src/svg/symblinks.sh | 12 ------------ .../svg => svg/modern}/animated/left_ptr_watch.svg | 0 .../modern/src/svg => svg/modern}/animated/wait.svg | 0 .../svg => svg/modern}/static/bd_double_arrow.svg | 0 .../svg => svg/modern}/static/bottom_left_corner.svg | 0 .../modern}/static/bottom_right_corner.svg | 0 .../src/svg => svg/modern}/static/bottom_side.svg | 0 .../src/svg => svg/modern}/static/bottom_tee.svg | 0 .../src/svg => svg/modern}/static/center_ptr.svg | 0 .../modern/src/svg => svg/modern}/static/circle.svg | 0 .../src/svg => svg/modern}/static/context_menu.svg | 0 .../modern/src/svg => svg/modern}/static/copy.svg | 0 .../modern/src/svg => svg/modern}/static/cross.svg | 0 .../src/svg => svg/modern}/static/crossed_circle.svg | 0 .../src/svg => svg/modern}/static/crosshair.svg | 0 .../modern/src/svg => svg/modern}/static/dnd_ask.svg | 0 .../src/svg => svg/modern}/static/dnd_copy.svg | 0 .../src/svg => svg/modern}/static/dnd_link.svg | 0 .../src/svg => svg/modern}/static/dnd_move.svg | 0 .../src/svg => svg/modern}/static/dnd_no_drop.svg | 0 .../modern/src/svg => svg/modern}/static/dotbox.svg | 0 .../svg => svg/modern}/static/fd_double_arrow.svg | 0 .../src/svg => svg/modern}/static/grabbing.svg | 0 .../modern/src/svg => svg/modern}/static/hand1.svg | 0 .../modern/src/svg => svg/modern}/static/hand2.svg | 0 .../src/svg => svg/modern}/static/left_ptr.svg | 0 .../src/svg => svg/modern}/static/left_side.svg | 0 .../src/svg => svg/modern}/static/left_tee.svg | 0 .../modern/src/svg => svg/modern}/static/link.svg | 0 .../src/svg => svg/modern}/static/ll_angle.svg | 0 .../src/svg => svg/modern}/static/lr_angle.svg | 0 .../modern/src/svg => svg/modern}/static/move.svg | 0 .../modern/src/svg => svg/modern}/static/pencil.svg | 0 .../modern/src/svg => svg/modern}/static/plus.svg | 0 .../src/svg => svg/modern}/static/pointer_move.svg | 0 .../src/svg => svg/modern}/static/question_arrow.svg | 0 .../src/svg => svg/modern}/static/right_ptr.svg | 0 .../src/svg => svg/modern}/static/right_side.svg | 0 .../src/svg => svg/modern}/static/right_tee.svg | 0 .../src/svg => svg/modern}/static/sb_down_arrow.svg | 0 .../svg => svg/modern}/static/sb_h_double_arrow.svg | 0 .../src/svg => svg/modern}/static/sb_left_arrow.svg | 0 .../src/svg => svg/modern}/static/sb_right_arrow.svg | 0 .../src/svg => svg/modern}/static/sb_up_arrow.svg | 0 .../svg => svg/modern}/static/sb_v_double_arrow.svg | 0 .../modern/src/svg => svg/modern}/static/tcross.svg | 0 .../svg => svg/modern}/static/top_left_corner.svg | 0 .../svg => svg/modern}/static/top_right_corner.svg | 0 .../src/svg => svg/modern}/static/top_side.svg | 0 .../modern/src/svg => svg/modern}/static/top_tee.svg | 0 .../src/svg => svg/modern}/static/ul_angle.svg | 0 .../src/svg => svg/modern}/static/ur_angle.svg | 0 .../src/svg => svg/modern}/static/vertical_text.svg | 0 .../src/svg => svg/modern}/static/wayland_cursor.svg | 0 .../src/svg => svg/modern}/static/x_cursor.svg | 0 .../modern/src/svg => svg/modern}/static/xterm.svg | 0 .../modern/src/svg => svg/modern}/static/zoom_in.svg | 0 .../src/svg => svg/modern}/static/zoom_out.svg | 0 .../svg => svg/original}/animated/left_ptr_watch.svg | 0 .../src/svg => svg/original}/animated/wait.svg | 0 .../svg => svg/original}/static/bd_double_arrow.svg | 0 .../original}/static/bottom_left_corner.svg | 0 .../original}/static/bottom_right_corner.svg | 0 .../src/svg => svg/original}/static/bottom_side.svg | 0 .../src/svg => svg/original}/static/bottom_tee.svg | 0 .../src/svg => svg/original}/static/center_ptr.svg | 0 .../src/svg => svg/original}/static/circle.svg | 0 .../src/svg => svg/original}/static/context_menu.svg | 0 .../src/svg => svg/original}/static/copy.svg | 0 .../src/svg => svg/original}/static/cross.svg | 0 .../svg => svg/original}/static/crossed_circle.svg | 0 .../src/svg => svg/original}/static/crosshair.svg | 0 .../src/svg => svg/original}/static/dnd_ask.svg | 0 .../src/svg => svg/original}/static/dnd_copy.svg | 0 .../src/svg => svg/original}/static/dnd_link.svg | 0 .../src/svg => svg/original}/static/dnd_move.svg | 0 .../src/svg => svg/original}/static/dnd_no_drop.svg | 0 .../src/svg => svg/original}/static/dotbox.svg | 0 .../svg => svg/original}/static/fd_double_arrow.svg | 0 .../src/svg => svg/original}/static/grabbing.svg | 0 .../src/svg => svg/original}/static/hand1.svg | 0 .../src/svg => svg/original}/static/hand2.svg | 0 .../src/svg => svg/original}/static/left_ptr.svg | 0 .../src/svg => svg/original}/static/left_side.svg | 0 .../src/svg => svg/original}/static/left_tee.svg | 0 .../src/svg => svg/original}/static/link.svg | 0 .../src/svg => svg/original}/static/ll_angle.svg | 0 .../src/svg => svg/original}/static/lr_angle.svg | 0 .../src/svg => svg/original}/static/move.svg | 0 .../src/svg => svg/original}/static/pencil.svg | 0 .../src/svg => svg/original}/static/plus.svg | 0 .../src/svg => svg/original}/static/pointer_move.svg | 0 .../svg => svg/original}/static/question_arrow.svg | 0 .../src/svg => svg/original}/static/right_ptr.svg | 0 .../src/svg => svg/original}/static/right_side.svg | 0 .../src/svg => svg/original}/static/right_tee.svg | 0 .../svg => svg/original}/static/sb_down_arrow.svg | 0 .../original}/static/sb_h_double_arrow.svg | 0 .../svg => svg/original}/static/sb_left_arrow.svg | 0 .../svg => svg/original}/static/sb_right_arrow.svg | 0 .../src/svg => svg/original}/static/sb_up_arrow.svg | 0 .../original}/static/sb_v_double_arrow.svg | 0 .../src/svg => svg/original}/static/tcross.svg | 0 .../svg => svg/original}/static/top_left_corner.svg | 0 .../svg => svg/original}/static/top_right_corner.svg | 0 .../src/svg => svg/original}/static/top_side.svg | 0 .../src/svg => svg/original}/static/top_tee.svg | 0 .../src/svg => svg/original}/static/ul_angle.svg | 0 .../src/svg => svg/original}/static/ur_angle.svg | 0 .../svg => svg/original}/static/vertical_text.svg | 0 .../svg => svg/original}/static/wayland_cursor.svg | 0 .../src/svg => svg/original}/static/x_cursor.svg | 0 .../src/svg => svg/original}/static/xterm.svg | 0 .../src/svg => svg/original}/static/zoom_in.svg | 0 .../src/svg => svg/original}/static/zoom_out.svg | 0 120 files changed, 28 deletions(-) delete mode 120000 packages/modern/src/svg/static/all_scroll.svg delete mode 120000 packages/modern/src/svg/static/dnd_none.svg delete mode 100755 packages/modern/src/svg/symblinks.sh delete mode 120000 packages/original/src/svg/static/all_scroll.svg delete mode 120000 packages/original/src/svg/static/dnd_none.svg delete mode 100755 packages/original/src/svg/symblinks.sh rename {packages/modern/src/svg => svg/modern}/animated/left_ptr_watch.svg (100%) rename {packages/modern/src/svg => svg/modern}/animated/wait.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/bd_double_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/bottom_left_corner.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/bottom_right_corner.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/bottom_side.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/bottom_tee.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/center_ptr.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/circle.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/context_menu.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/copy.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/cross.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/crossed_circle.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/crosshair.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/dnd_ask.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/dnd_copy.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/dnd_link.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/dnd_move.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/dnd_no_drop.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/dotbox.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/fd_double_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/grabbing.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/hand1.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/hand2.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/left_ptr.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/left_side.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/left_tee.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/link.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/ll_angle.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/lr_angle.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/move.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/pencil.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/plus.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/pointer_move.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/question_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/right_ptr.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/right_side.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/right_tee.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/sb_down_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/sb_h_double_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/sb_left_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/sb_right_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/sb_up_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/sb_v_double_arrow.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/tcross.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/top_left_corner.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/top_right_corner.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/top_side.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/top_tee.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/ul_angle.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/ur_angle.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/vertical_text.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/wayland_cursor.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/x_cursor.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/xterm.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/zoom_in.svg (100%) rename {packages/modern/src/svg => svg/modern}/static/zoom_out.svg (100%) rename {packages/original/src/svg => svg/original}/animated/left_ptr_watch.svg (100%) rename {packages/original/src/svg => svg/original}/animated/wait.svg (100%) rename {packages/original/src/svg => svg/original}/static/bd_double_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/bottom_left_corner.svg (100%) rename {packages/original/src/svg => svg/original}/static/bottom_right_corner.svg (100%) rename {packages/original/src/svg => svg/original}/static/bottom_side.svg (100%) rename {packages/original/src/svg => svg/original}/static/bottom_tee.svg (100%) rename {packages/original/src/svg => svg/original}/static/center_ptr.svg (100%) rename {packages/original/src/svg => svg/original}/static/circle.svg (100%) rename {packages/original/src/svg => svg/original}/static/context_menu.svg (100%) rename {packages/original/src/svg => svg/original}/static/copy.svg (100%) rename {packages/original/src/svg => svg/original}/static/cross.svg (100%) rename {packages/original/src/svg => svg/original}/static/crossed_circle.svg (100%) rename {packages/original/src/svg => svg/original}/static/crosshair.svg (100%) rename {packages/original/src/svg => svg/original}/static/dnd_ask.svg (100%) rename {packages/original/src/svg => svg/original}/static/dnd_copy.svg (100%) rename {packages/original/src/svg => svg/original}/static/dnd_link.svg (100%) rename {packages/original/src/svg => svg/original}/static/dnd_move.svg (100%) rename {packages/original/src/svg => svg/original}/static/dnd_no_drop.svg (100%) rename {packages/original/src/svg => svg/original}/static/dotbox.svg (100%) rename {packages/original/src/svg => svg/original}/static/fd_double_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/grabbing.svg (100%) rename {packages/original/src/svg => svg/original}/static/hand1.svg (100%) rename {packages/original/src/svg => svg/original}/static/hand2.svg (100%) rename {packages/original/src/svg => svg/original}/static/left_ptr.svg (100%) rename {packages/original/src/svg => svg/original}/static/left_side.svg (100%) rename {packages/original/src/svg => svg/original}/static/left_tee.svg (100%) rename {packages/original/src/svg => svg/original}/static/link.svg (100%) rename {packages/original/src/svg => svg/original}/static/ll_angle.svg (100%) rename {packages/original/src/svg => svg/original}/static/lr_angle.svg (100%) rename {packages/original/src/svg => svg/original}/static/move.svg (100%) rename {packages/original/src/svg => svg/original}/static/pencil.svg (100%) rename {packages/original/src/svg => svg/original}/static/plus.svg (100%) rename {packages/original/src/svg => svg/original}/static/pointer_move.svg (100%) rename {packages/original/src/svg => svg/original}/static/question_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/right_ptr.svg (100%) rename {packages/original/src/svg => svg/original}/static/right_side.svg (100%) rename {packages/original/src/svg => svg/original}/static/right_tee.svg (100%) rename {packages/original/src/svg => svg/original}/static/sb_down_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/sb_h_double_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/sb_left_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/sb_right_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/sb_up_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/sb_v_double_arrow.svg (100%) rename {packages/original/src/svg => svg/original}/static/tcross.svg (100%) rename {packages/original/src/svg => svg/original}/static/top_left_corner.svg (100%) rename {packages/original/src/svg => svg/original}/static/top_right_corner.svg (100%) rename {packages/original/src/svg => svg/original}/static/top_side.svg (100%) rename {packages/original/src/svg => svg/original}/static/top_tee.svg (100%) rename {packages/original/src/svg => svg/original}/static/ul_angle.svg (100%) rename {packages/original/src/svg => svg/original}/static/ur_angle.svg (100%) rename {packages/original/src/svg => svg/original}/static/vertical_text.svg (100%) rename {packages/original/src/svg => svg/original}/static/wayland_cursor.svg (100%) rename {packages/original/src/svg => svg/original}/static/x_cursor.svg (100%) rename {packages/original/src/svg => svg/original}/static/xterm.svg (100%) rename {packages/original/src/svg => svg/original}/static/zoom_in.svg (100%) rename {packages/original/src/svg => svg/original}/static/zoom_out.svg (100%) diff --git a/packages/modern/src/svg/static/all_scroll.svg b/packages/modern/src/svg/static/all_scroll.svg deleted file mode 120000 index 3bd3d7ae..00000000 --- a/packages/modern/src/svg/static/all_scroll.svg +++ /dev/null @@ -1 +0,0 @@ -./move.svg \ No newline at end of file diff --git a/packages/modern/src/svg/static/dnd_none.svg b/packages/modern/src/svg/static/dnd_none.svg deleted file mode 120000 index 3bd3d7ae..00000000 --- a/packages/modern/src/svg/static/dnd_none.svg +++ /dev/null @@ -1 +0,0 @@ -./move.svg \ No newline at end of file diff --git a/packages/modern/src/svg/symblinks.sh b/packages/modern/src/svg/symblinks.sh deleted file mode 100755 index d35a6e18..00000000 --- a/packages/modern/src/svg/symblinks.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -cd ./static - -# remove files -rm -rf dnd_none.svg all_scroll.svg - -# creating symbolic links -ln -s ./move.svg ./dnd_none.svg -ln -s ./move.svg ./all_scroll.svg - -cd .. \ No newline at end of file diff --git a/packages/original/src/svg/static/all_scroll.svg b/packages/original/src/svg/static/all_scroll.svg deleted file mode 120000 index 3bd3d7ae..00000000 --- a/packages/original/src/svg/static/all_scroll.svg +++ /dev/null @@ -1 +0,0 @@ -./move.svg \ No newline at end of file diff --git a/packages/original/src/svg/static/dnd_none.svg b/packages/original/src/svg/static/dnd_none.svg deleted file mode 120000 index 3bd3d7ae..00000000 --- a/packages/original/src/svg/static/dnd_none.svg +++ /dev/null @@ -1 +0,0 @@ -./move.svg \ No newline at end of file diff --git a/packages/original/src/svg/symblinks.sh b/packages/original/src/svg/symblinks.sh deleted file mode 100755 index d35a6e18..00000000 --- a/packages/original/src/svg/symblinks.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -cd ./static - -# remove files -rm -rf dnd_none.svg all_scroll.svg - -# creating symbolic links -ln -s ./move.svg ./dnd_none.svg -ln -s ./move.svg ./all_scroll.svg - -cd .. \ No newline at end of file diff --git a/packages/modern/src/svg/animated/left_ptr_watch.svg b/svg/modern/animated/left_ptr_watch.svg similarity index 100% rename from packages/modern/src/svg/animated/left_ptr_watch.svg rename to svg/modern/animated/left_ptr_watch.svg diff --git a/packages/modern/src/svg/animated/wait.svg b/svg/modern/animated/wait.svg similarity index 100% rename from packages/modern/src/svg/animated/wait.svg rename to svg/modern/animated/wait.svg diff --git a/packages/modern/src/svg/static/bd_double_arrow.svg b/svg/modern/static/bd_double_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/bd_double_arrow.svg rename to svg/modern/static/bd_double_arrow.svg diff --git a/packages/modern/src/svg/static/bottom_left_corner.svg b/svg/modern/static/bottom_left_corner.svg similarity index 100% rename from packages/modern/src/svg/static/bottom_left_corner.svg rename to svg/modern/static/bottom_left_corner.svg diff --git a/packages/modern/src/svg/static/bottom_right_corner.svg b/svg/modern/static/bottom_right_corner.svg similarity index 100% rename from packages/modern/src/svg/static/bottom_right_corner.svg rename to svg/modern/static/bottom_right_corner.svg diff --git a/packages/modern/src/svg/static/bottom_side.svg b/svg/modern/static/bottom_side.svg similarity index 100% rename from packages/modern/src/svg/static/bottom_side.svg rename to svg/modern/static/bottom_side.svg diff --git a/packages/modern/src/svg/static/bottom_tee.svg b/svg/modern/static/bottom_tee.svg similarity index 100% rename from packages/modern/src/svg/static/bottom_tee.svg rename to svg/modern/static/bottom_tee.svg diff --git a/packages/modern/src/svg/static/center_ptr.svg b/svg/modern/static/center_ptr.svg similarity index 100% rename from packages/modern/src/svg/static/center_ptr.svg rename to svg/modern/static/center_ptr.svg diff --git a/packages/modern/src/svg/static/circle.svg b/svg/modern/static/circle.svg similarity index 100% rename from packages/modern/src/svg/static/circle.svg rename to svg/modern/static/circle.svg diff --git a/packages/modern/src/svg/static/context_menu.svg b/svg/modern/static/context_menu.svg similarity index 100% rename from packages/modern/src/svg/static/context_menu.svg rename to svg/modern/static/context_menu.svg diff --git a/packages/modern/src/svg/static/copy.svg b/svg/modern/static/copy.svg similarity index 100% rename from packages/modern/src/svg/static/copy.svg rename to svg/modern/static/copy.svg diff --git a/packages/modern/src/svg/static/cross.svg b/svg/modern/static/cross.svg similarity index 100% rename from packages/modern/src/svg/static/cross.svg rename to svg/modern/static/cross.svg diff --git a/packages/modern/src/svg/static/crossed_circle.svg b/svg/modern/static/crossed_circle.svg similarity index 100% rename from packages/modern/src/svg/static/crossed_circle.svg rename to svg/modern/static/crossed_circle.svg diff --git a/packages/modern/src/svg/static/crosshair.svg b/svg/modern/static/crosshair.svg similarity index 100% rename from packages/modern/src/svg/static/crosshair.svg rename to svg/modern/static/crosshair.svg diff --git a/packages/modern/src/svg/static/dnd_ask.svg b/svg/modern/static/dnd_ask.svg similarity index 100% rename from packages/modern/src/svg/static/dnd_ask.svg rename to svg/modern/static/dnd_ask.svg diff --git a/packages/modern/src/svg/static/dnd_copy.svg b/svg/modern/static/dnd_copy.svg similarity index 100% rename from packages/modern/src/svg/static/dnd_copy.svg rename to svg/modern/static/dnd_copy.svg diff --git a/packages/modern/src/svg/static/dnd_link.svg b/svg/modern/static/dnd_link.svg similarity index 100% rename from packages/modern/src/svg/static/dnd_link.svg rename to svg/modern/static/dnd_link.svg diff --git a/packages/modern/src/svg/static/dnd_move.svg b/svg/modern/static/dnd_move.svg similarity index 100% rename from packages/modern/src/svg/static/dnd_move.svg rename to svg/modern/static/dnd_move.svg diff --git a/packages/modern/src/svg/static/dnd_no_drop.svg b/svg/modern/static/dnd_no_drop.svg similarity index 100% rename from packages/modern/src/svg/static/dnd_no_drop.svg rename to svg/modern/static/dnd_no_drop.svg diff --git a/packages/modern/src/svg/static/dotbox.svg b/svg/modern/static/dotbox.svg similarity index 100% rename from packages/modern/src/svg/static/dotbox.svg rename to svg/modern/static/dotbox.svg diff --git a/packages/modern/src/svg/static/fd_double_arrow.svg b/svg/modern/static/fd_double_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/fd_double_arrow.svg rename to svg/modern/static/fd_double_arrow.svg diff --git a/packages/modern/src/svg/static/grabbing.svg b/svg/modern/static/grabbing.svg similarity index 100% rename from packages/modern/src/svg/static/grabbing.svg rename to svg/modern/static/grabbing.svg diff --git a/packages/modern/src/svg/static/hand1.svg b/svg/modern/static/hand1.svg similarity index 100% rename from packages/modern/src/svg/static/hand1.svg rename to svg/modern/static/hand1.svg diff --git a/packages/modern/src/svg/static/hand2.svg b/svg/modern/static/hand2.svg similarity index 100% rename from packages/modern/src/svg/static/hand2.svg rename to svg/modern/static/hand2.svg diff --git a/packages/modern/src/svg/static/left_ptr.svg b/svg/modern/static/left_ptr.svg similarity index 100% rename from packages/modern/src/svg/static/left_ptr.svg rename to svg/modern/static/left_ptr.svg diff --git a/packages/modern/src/svg/static/left_side.svg b/svg/modern/static/left_side.svg similarity index 100% rename from packages/modern/src/svg/static/left_side.svg rename to svg/modern/static/left_side.svg diff --git a/packages/modern/src/svg/static/left_tee.svg b/svg/modern/static/left_tee.svg similarity index 100% rename from packages/modern/src/svg/static/left_tee.svg rename to svg/modern/static/left_tee.svg diff --git a/packages/modern/src/svg/static/link.svg b/svg/modern/static/link.svg similarity index 100% rename from packages/modern/src/svg/static/link.svg rename to svg/modern/static/link.svg diff --git a/packages/modern/src/svg/static/ll_angle.svg b/svg/modern/static/ll_angle.svg similarity index 100% rename from packages/modern/src/svg/static/ll_angle.svg rename to svg/modern/static/ll_angle.svg diff --git a/packages/modern/src/svg/static/lr_angle.svg b/svg/modern/static/lr_angle.svg similarity index 100% rename from packages/modern/src/svg/static/lr_angle.svg rename to svg/modern/static/lr_angle.svg diff --git a/packages/modern/src/svg/static/move.svg b/svg/modern/static/move.svg similarity index 100% rename from packages/modern/src/svg/static/move.svg rename to svg/modern/static/move.svg diff --git a/packages/modern/src/svg/static/pencil.svg b/svg/modern/static/pencil.svg similarity index 100% rename from packages/modern/src/svg/static/pencil.svg rename to svg/modern/static/pencil.svg diff --git a/packages/modern/src/svg/static/plus.svg b/svg/modern/static/plus.svg similarity index 100% rename from packages/modern/src/svg/static/plus.svg rename to svg/modern/static/plus.svg diff --git a/packages/modern/src/svg/static/pointer_move.svg b/svg/modern/static/pointer_move.svg similarity index 100% rename from packages/modern/src/svg/static/pointer_move.svg rename to svg/modern/static/pointer_move.svg diff --git a/packages/modern/src/svg/static/question_arrow.svg b/svg/modern/static/question_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/question_arrow.svg rename to svg/modern/static/question_arrow.svg diff --git a/packages/modern/src/svg/static/right_ptr.svg b/svg/modern/static/right_ptr.svg similarity index 100% rename from packages/modern/src/svg/static/right_ptr.svg rename to svg/modern/static/right_ptr.svg diff --git a/packages/modern/src/svg/static/right_side.svg b/svg/modern/static/right_side.svg similarity index 100% rename from packages/modern/src/svg/static/right_side.svg rename to svg/modern/static/right_side.svg diff --git a/packages/modern/src/svg/static/right_tee.svg b/svg/modern/static/right_tee.svg similarity index 100% rename from packages/modern/src/svg/static/right_tee.svg rename to svg/modern/static/right_tee.svg diff --git a/packages/modern/src/svg/static/sb_down_arrow.svg b/svg/modern/static/sb_down_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/sb_down_arrow.svg rename to svg/modern/static/sb_down_arrow.svg diff --git a/packages/modern/src/svg/static/sb_h_double_arrow.svg b/svg/modern/static/sb_h_double_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/sb_h_double_arrow.svg rename to svg/modern/static/sb_h_double_arrow.svg diff --git a/packages/modern/src/svg/static/sb_left_arrow.svg b/svg/modern/static/sb_left_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/sb_left_arrow.svg rename to svg/modern/static/sb_left_arrow.svg diff --git a/packages/modern/src/svg/static/sb_right_arrow.svg b/svg/modern/static/sb_right_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/sb_right_arrow.svg rename to svg/modern/static/sb_right_arrow.svg diff --git a/packages/modern/src/svg/static/sb_up_arrow.svg b/svg/modern/static/sb_up_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/sb_up_arrow.svg rename to svg/modern/static/sb_up_arrow.svg diff --git a/packages/modern/src/svg/static/sb_v_double_arrow.svg b/svg/modern/static/sb_v_double_arrow.svg similarity index 100% rename from packages/modern/src/svg/static/sb_v_double_arrow.svg rename to svg/modern/static/sb_v_double_arrow.svg diff --git a/packages/modern/src/svg/static/tcross.svg b/svg/modern/static/tcross.svg similarity index 100% rename from packages/modern/src/svg/static/tcross.svg rename to svg/modern/static/tcross.svg diff --git a/packages/modern/src/svg/static/top_left_corner.svg b/svg/modern/static/top_left_corner.svg similarity index 100% rename from packages/modern/src/svg/static/top_left_corner.svg rename to svg/modern/static/top_left_corner.svg diff --git a/packages/modern/src/svg/static/top_right_corner.svg b/svg/modern/static/top_right_corner.svg similarity index 100% rename from packages/modern/src/svg/static/top_right_corner.svg rename to svg/modern/static/top_right_corner.svg diff --git a/packages/modern/src/svg/static/top_side.svg b/svg/modern/static/top_side.svg similarity index 100% rename from packages/modern/src/svg/static/top_side.svg rename to svg/modern/static/top_side.svg diff --git a/packages/modern/src/svg/static/top_tee.svg b/svg/modern/static/top_tee.svg similarity index 100% rename from packages/modern/src/svg/static/top_tee.svg rename to svg/modern/static/top_tee.svg diff --git a/packages/modern/src/svg/static/ul_angle.svg b/svg/modern/static/ul_angle.svg similarity index 100% rename from packages/modern/src/svg/static/ul_angle.svg rename to svg/modern/static/ul_angle.svg diff --git a/packages/modern/src/svg/static/ur_angle.svg b/svg/modern/static/ur_angle.svg similarity index 100% rename from packages/modern/src/svg/static/ur_angle.svg rename to svg/modern/static/ur_angle.svg diff --git a/packages/modern/src/svg/static/vertical_text.svg b/svg/modern/static/vertical_text.svg similarity index 100% rename from packages/modern/src/svg/static/vertical_text.svg rename to svg/modern/static/vertical_text.svg diff --git a/packages/modern/src/svg/static/wayland_cursor.svg b/svg/modern/static/wayland_cursor.svg similarity index 100% rename from packages/modern/src/svg/static/wayland_cursor.svg rename to svg/modern/static/wayland_cursor.svg diff --git a/packages/modern/src/svg/static/x_cursor.svg b/svg/modern/static/x_cursor.svg similarity index 100% rename from packages/modern/src/svg/static/x_cursor.svg rename to svg/modern/static/x_cursor.svg diff --git a/packages/modern/src/svg/static/xterm.svg b/svg/modern/static/xterm.svg similarity index 100% rename from packages/modern/src/svg/static/xterm.svg rename to svg/modern/static/xterm.svg diff --git a/packages/modern/src/svg/static/zoom_in.svg b/svg/modern/static/zoom_in.svg similarity index 100% rename from packages/modern/src/svg/static/zoom_in.svg rename to svg/modern/static/zoom_in.svg diff --git a/packages/modern/src/svg/static/zoom_out.svg b/svg/modern/static/zoom_out.svg similarity index 100% rename from packages/modern/src/svg/static/zoom_out.svg rename to svg/modern/static/zoom_out.svg diff --git a/packages/original/src/svg/animated/left_ptr_watch.svg b/svg/original/animated/left_ptr_watch.svg similarity index 100% rename from packages/original/src/svg/animated/left_ptr_watch.svg rename to svg/original/animated/left_ptr_watch.svg diff --git a/packages/original/src/svg/animated/wait.svg b/svg/original/animated/wait.svg similarity index 100% rename from packages/original/src/svg/animated/wait.svg rename to svg/original/animated/wait.svg diff --git a/packages/original/src/svg/static/bd_double_arrow.svg b/svg/original/static/bd_double_arrow.svg similarity index 100% rename from packages/original/src/svg/static/bd_double_arrow.svg rename to svg/original/static/bd_double_arrow.svg diff --git a/packages/original/src/svg/static/bottom_left_corner.svg b/svg/original/static/bottom_left_corner.svg similarity index 100% rename from packages/original/src/svg/static/bottom_left_corner.svg rename to svg/original/static/bottom_left_corner.svg diff --git a/packages/original/src/svg/static/bottom_right_corner.svg b/svg/original/static/bottom_right_corner.svg similarity index 100% rename from packages/original/src/svg/static/bottom_right_corner.svg rename to svg/original/static/bottom_right_corner.svg diff --git a/packages/original/src/svg/static/bottom_side.svg b/svg/original/static/bottom_side.svg similarity index 100% rename from packages/original/src/svg/static/bottom_side.svg rename to svg/original/static/bottom_side.svg diff --git a/packages/original/src/svg/static/bottom_tee.svg b/svg/original/static/bottom_tee.svg similarity index 100% rename from packages/original/src/svg/static/bottom_tee.svg rename to svg/original/static/bottom_tee.svg diff --git a/packages/original/src/svg/static/center_ptr.svg b/svg/original/static/center_ptr.svg similarity index 100% rename from packages/original/src/svg/static/center_ptr.svg rename to svg/original/static/center_ptr.svg diff --git a/packages/original/src/svg/static/circle.svg b/svg/original/static/circle.svg similarity index 100% rename from packages/original/src/svg/static/circle.svg rename to svg/original/static/circle.svg diff --git a/packages/original/src/svg/static/context_menu.svg b/svg/original/static/context_menu.svg similarity index 100% rename from packages/original/src/svg/static/context_menu.svg rename to svg/original/static/context_menu.svg diff --git a/packages/original/src/svg/static/copy.svg b/svg/original/static/copy.svg similarity index 100% rename from packages/original/src/svg/static/copy.svg rename to svg/original/static/copy.svg diff --git a/packages/original/src/svg/static/cross.svg b/svg/original/static/cross.svg similarity index 100% rename from packages/original/src/svg/static/cross.svg rename to svg/original/static/cross.svg diff --git a/packages/original/src/svg/static/crossed_circle.svg b/svg/original/static/crossed_circle.svg similarity index 100% rename from packages/original/src/svg/static/crossed_circle.svg rename to svg/original/static/crossed_circle.svg diff --git a/packages/original/src/svg/static/crosshair.svg b/svg/original/static/crosshair.svg similarity index 100% rename from packages/original/src/svg/static/crosshair.svg rename to svg/original/static/crosshair.svg diff --git a/packages/original/src/svg/static/dnd_ask.svg b/svg/original/static/dnd_ask.svg similarity index 100% rename from packages/original/src/svg/static/dnd_ask.svg rename to svg/original/static/dnd_ask.svg diff --git a/packages/original/src/svg/static/dnd_copy.svg b/svg/original/static/dnd_copy.svg similarity index 100% rename from packages/original/src/svg/static/dnd_copy.svg rename to svg/original/static/dnd_copy.svg diff --git a/packages/original/src/svg/static/dnd_link.svg b/svg/original/static/dnd_link.svg similarity index 100% rename from packages/original/src/svg/static/dnd_link.svg rename to svg/original/static/dnd_link.svg diff --git a/packages/original/src/svg/static/dnd_move.svg b/svg/original/static/dnd_move.svg similarity index 100% rename from packages/original/src/svg/static/dnd_move.svg rename to svg/original/static/dnd_move.svg diff --git a/packages/original/src/svg/static/dnd_no_drop.svg b/svg/original/static/dnd_no_drop.svg similarity index 100% rename from packages/original/src/svg/static/dnd_no_drop.svg rename to svg/original/static/dnd_no_drop.svg diff --git a/packages/original/src/svg/static/dotbox.svg b/svg/original/static/dotbox.svg similarity index 100% rename from packages/original/src/svg/static/dotbox.svg rename to svg/original/static/dotbox.svg diff --git a/packages/original/src/svg/static/fd_double_arrow.svg b/svg/original/static/fd_double_arrow.svg similarity index 100% rename from packages/original/src/svg/static/fd_double_arrow.svg rename to svg/original/static/fd_double_arrow.svg diff --git a/packages/original/src/svg/static/grabbing.svg b/svg/original/static/grabbing.svg similarity index 100% rename from packages/original/src/svg/static/grabbing.svg rename to svg/original/static/grabbing.svg diff --git a/packages/original/src/svg/static/hand1.svg b/svg/original/static/hand1.svg similarity index 100% rename from packages/original/src/svg/static/hand1.svg rename to svg/original/static/hand1.svg diff --git a/packages/original/src/svg/static/hand2.svg b/svg/original/static/hand2.svg similarity index 100% rename from packages/original/src/svg/static/hand2.svg rename to svg/original/static/hand2.svg diff --git a/packages/original/src/svg/static/left_ptr.svg b/svg/original/static/left_ptr.svg similarity index 100% rename from packages/original/src/svg/static/left_ptr.svg rename to svg/original/static/left_ptr.svg diff --git a/packages/original/src/svg/static/left_side.svg b/svg/original/static/left_side.svg similarity index 100% rename from packages/original/src/svg/static/left_side.svg rename to svg/original/static/left_side.svg diff --git a/packages/original/src/svg/static/left_tee.svg b/svg/original/static/left_tee.svg similarity index 100% rename from packages/original/src/svg/static/left_tee.svg rename to svg/original/static/left_tee.svg diff --git a/packages/original/src/svg/static/link.svg b/svg/original/static/link.svg similarity index 100% rename from packages/original/src/svg/static/link.svg rename to svg/original/static/link.svg diff --git a/packages/original/src/svg/static/ll_angle.svg b/svg/original/static/ll_angle.svg similarity index 100% rename from packages/original/src/svg/static/ll_angle.svg rename to svg/original/static/ll_angle.svg diff --git a/packages/original/src/svg/static/lr_angle.svg b/svg/original/static/lr_angle.svg similarity index 100% rename from packages/original/src/svg/static/lr_angle.svg rename to svg/original/static/lr_angle.svg diff --git a/packages/original/src/svg/static/move.svg b/svg/original/static/move.svg similarity index 100% rename from packages/original/src/svg/static/move.svg rename to svg/original/static/move.svg diff --git a/packages/original/src/svg/static/pencil.svg b/svg/original/static/pencil.svg similarity index 100% rename from packages/original/src/svg/static/pencil.svg rename to svg/original/static/pencil.svg diff --git a/packages/original/src/svg/static/plus.svg b/svg/original/static/plus.svg similarity index 100% rename from packages/original/src/svg/static/plus.svg rename to svg/original/static/plus.svg diff --git a/packages/original/src/svg/static/pointer_move.svg b/svg/original/static/pointer_move.svg similarity index 100% rename from packages/original/src/svg/static/pointer_move.svg rename to svg/original/static/pointer_move.svg diff --git a/packages/original/src/svg/static/question_arrow.svg b/svg/original/static/question_arrow.svg similarity index 100% rename from packages/original/src/svg/static/question_arrow.svg rename to svg/original/static/question_arrow.svg diff --git a/packages/original/src/svg/static/right_ptr.svg b/svg/original/static/right_ptr.svg similarity index 100% rename from packages/original/src/svg/static/right_ptr.svg rename to svg/original/static/right_ptr.svg diff --git a/packages/original/src/svg/static/right_side.svg b/svg/original/static/right_side.svg similarity index 100% rename from packages/original/src/svg/static/right_side.svg rename to svg/original/static/right_side.svg diff --git a/packages/original/src/svg/static/right_tee.svg b/svg/original/static/right_tee.svg similarity index 100% rename from packages/original/src/svg/static/right_tee.svg rename to svg/original/static/right_tee.svg diff --git a/packages/original/src/svg/static/sb_down_arrow.svg b/svg/original/static/sb_down_arrow.svg similarity index 100% rename from packages/original/src/svg/static/sb_down_arrow.svg rename to svg/original/static/sb_down_arrow.svg diff --git a/packages/original/src/svg/static/sb_h_double_arrow.svg b/svg/original/static/sb_h_double_arrow.svg similarity index 100% rename from packages/original/src/svg/static/sb_h_double_arrow.svg rename to svg/original/static/sb_h_double_arrow.svg diff --git a/packages/original/src/svg/static/sb_left_arrow.svg b/svg/original/static/sb_left_arrow.svg similarity index 100% rename from packages/original/src/svg/static/sb_left_arrow.svg rename to svg/original/static/sb_left_arrow.svg diff --git a/packages/original/src/svg/static/sb_right_arrow.svg b/svg/original/static/sb_right_arrow.svg similarity index 100% rename from packages/original/src/svg/static/sb_right_arrow.svg rename to svg/original/static/sb_right_arrow.svg diff --git a/packages/original/src/svg/static/sb_up_arrow.svg b/svg/original/static/sb_up_arrow.svg similarity index 100% rename from packages/original/src/svg/static/sb_up_arrow.svg rename to svg/original/static/sb_up_arrow.svg diff --git a/packages/original/src/svg/static/sb_v_double_arrow.svg b/svg/original/static/sb_v_double_arrow.svg similarity index 100% rename from packages/original/src/svg/static/sb_v_double_arrow.svg rename to svg/original/static/sb_v_double_arrow.svg diff --git a/packages/original/src/svg/static/tcross.svg b/svg/original/static/tcross.svg similarity index 100% rename from packages/original/src/svg/static/tcross.svg rename to svg/original/static/tcross.svg diff --git a/packages/original/src/svg/static/top_left_corner.svg b/svg/original/static/top_left_corner.svg similarity index 100% rename from packages/original/src/svg/static/top_left_corner.svg rename to svg/original/static/top_left_corner.svg diff --git a/packages/original/src/svg/static/top_right_corner.svg b/svg/original/static/top_right_corner.svg similarity index 100% rename from packages/original/src/svg/static/top_right_corner.svg rename to svg/original/static/top_right_corner.svg diff --git a/packages/original/src/svg/static/top_side.svg b/svg/original/static/top_side.svg similarity index 100% rename from packages/original/src/svg/static/top_side.svg rename to svg/original/static/top_side.svg diff --git a/packages/original/src/svg/static/top_tee.svg b/svg/original/static/top_tee.svg similarity index 100% rename from packages/original/src/svg/static/top_tee.svg rename to svg/original/static/top_tee.svg diff --git a/packages/original/src/svg/static/ul_angle.svg b/svg/original/static/ul_angle.svg similarity index 100% rename from packages/original/src/svg/static/ul_angle.svg rename to svg/original/static/ul_angle.svg diff --git a/packages/original/src/svg/static/ur_angle.svg b/svg/original/static/ur_angle.svg similarity index 100% rename from packages/original/src/svg/static/ur_angle.svg rename to svg/original/static/ur_angle.svg diff --git a/packages/original/src/svg/static/vertical_text.svg b/svg/original/static/vertical_text.svg similarity index 100% rename from packages/original/src/svg/static/vertical_text.svg rename to svg/original/static/vertical_text.svg diff --git a/packages/original/src/svg/static/wayland_cursor.svg b/svg/original/static/wayland_cursor.svg similarity index 100% rename from packages/original/src/svg/static/wayland_cursor.svg rename to svg/original/static/wayland_cursor.svg diff --git a/packages/original/src/svg/static/x_cursor.svg b/svg/original/static/x_cursor.svg similarity index 100% rename from packages/original/src/svg/static/x_cursor.svg rename to svg/original/static/x_cursor.svg diff --git a/packages/original/src/svg/static/xterm.svg b/svg/original/static/xterm.svg similarity index 100% rename from packages/original/src/svg/static/xterm.svg rename to svg/original/static/xterm.svg diff --git a/packages/original/src/svg/static/zoom_in.svg b/svg/original/static/zoom_in.svg similarity index 100% rename from packages/original/src/svg/static/zoom_in.svg rename to svg/original/static/zoom_in.svg diff --git a/packages/original/src/svg/static/zoom_out.svg b/svg/original/static/zoom_out.svg similarity index 100% rename from packages/original/src/svg/static/zoom_out.svg rename to svg/original/static/zoom_out.svg From f819ff2e009d4cfcad85d45c59e4df8d90700885 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 18 Feb 2021 19:10:54 +0530 Subject: [PATCH 03/37] =?UTF-8?q?=F0=9F=98=94=20Old=20builder=20package=20?= =?UTF-8?q?removed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Builder is responsible for building the cursors from png files, That's stored in /bitmaps' directory. As clickgen(v1.1.8) is build cursors individually, Bibata builder need to be improved. --- build.py | 71 ------------------------------- builder/__init__.py | 6 --- builder/bundler.py | 80 ---------------------------------- builder/config.py | 54 ----------------------- builder/cursor.py | 64 ---------------------------- builder/hotspots.json | 99 ------------------------------------------- builder/log.py | 11 ----- builder/pkg_info.py | 13 ------ builder/windows.inf | 52 ----------------------- setup.py | 23 ---------- 10 files changed, 473 deletions(-) delete mode 100644 build.py delete mode 100644 builder/__init__.py delete mode 100644 builder/bundler.py delete mode 100644 builder/config.py delete mode 100644 builder/cursor.py delete mode 100644 builder/hotspots.json delete mode 100644 builder/log.py delete mode 100644 builder/pkg_info.py delete mode 100644 builder/windows.inf delete mode 100644 setup.py diff --git a/build.py b/build.py deleted file mode 100644 index 72607c19..00000000 --- a/build.py +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import sys -import argparse -from argparse import ArgumentParser -from os import path, listdir -from typing import List - -from builder.pkg_info import info -from builder.config import ConfigProvider -from builder.cursor import CursorBuilder - - -def get_args_parser() -> ArgumentParser: - """Parse command line arguments""" - parser = argparse.ArgumentParser(description=info["description"]) - - parser.add_argument( - "-x", - "--x11", - action="store_true", - default=False, - help=("Bundle X11 cursors from bitmaps" " (default: %(default)s)"), - ) - - parser.add_argument( - "-w", - "--windows", - action="store_true", - default=False, - help=("Bundle Windows cursors from bitmaps" " (default: %(default)s)"), - ) - - return parser - - -def build() -> None: - """ Build Bibata cursor """ - parser = get_args_parser() - try: - args = parser.parse_args() - except Exception: - sys.exit(0) - - bitmaps_dir = "./bitmaps" - out_dir = "./themes" - - # print builder information - print(info["description"]) - - bitmaps_dirs = listdir(bitmaps_dir) - configs: List[ConfigProvider] = [] - builders: List[CursorBuilder] = [] - - for index, name in enumerate(bitmaps_dirs): - theme_bitmaps_dir = path.join(bitmaps_dir, name) - configs.append(ConfigProvider(name, theme_bitmaps_dir, out_dir)) - builders.append(CursorBuilder(configs[index])) - - for builder in builders: - if args.x11 == args.windows: - builder.build_cursors() - elif args.x11: - builder.build_x11_cursors() - elif args.windows: - builder.build_win_cursors() - - -if __name__ == "__main__": - build() diff --git a/builder/__init__.py b/builder/__init__.py deleted file mode 100644 index f29c6b82..00000000 --- a/builder/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from .log import save_logs_to_file - -save_logs_to_file() diff --git a/builder/bundler.py b/builder/bundler.py deleted file mode 100644 index f12ec7de..00000000 --- a/builder/bundler.py +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import shutil -from os import listdir, path, remove, rename - -from .config import ConfigProvider - -# Windows Cursors Config -windows_cursors = { - "left_ptr_watch.ani": "AppStarting.ani", - "left_ptr.cur": "Arrow.cur", - "crosshair.cur": "Cross.cur", - "hand2.cur": "Hand.cur", - "pencil.cur": "Handwriting.cur", - "dnd-ask.cur": "Help.cur", - "xterm.cur": "IBeam.cur", - "circle.cur": "NO.cur", - "all-scroll.cur": "SizeAll.cur", - "bd_double_arrow.cur": "SizeNWSE.cur", - "sb_v_double_arrow.cur": "SizeNS.cur", - "fd_double_arrow.cur": "SizeNESW.cur", - "sb_h_double_arrow.cur": "SizeWE.cur", - "right_ptr.cur": "Alternate.cur", - "wait.ani": "Wait.ani", -} - - -class Bundler: - """ - Create crisp package for Bibata Windows & X11 packages 📦. - """ - - def __init__(self, config: ConfigProvider) -> None: - self.__name = config.name - self.__tmpdir = config.tmpdir - self.__x11_dest = path.join(config.out_dir, self.__name) - self.__win_dest = path.join(config.out_dir, self.__name + "-Windows") - self.__content = config.get_windows_script() - - def __save_win_install_script(self) -> None: - """ Save `install.inf` file in windows cursor theme. """ - file_path = path.join(self.__win_dest, "install.inf") - with open(file_path, "w") as file: - file.write(self.__content) - - def __clean_win_bundle(self) -> None: - """ Remvoe unnecessary cursor from directory generated by `clickgen` """ - # Remove & Rename cursors - # If Key found => Rename else Remove - for cursor in listdir(self.__win_dest): - old_path = path.join(self.__win_dest, cursor) - - try: - new_path = path.join(self.__win_dest, windows_cursors[cursor]) - rename(old_path, new_path) - except KeyError: - remove(old_path) - - self.__save_win_install_script() - - def win_bundle(self) -> None: - """ Make cursor theme installable on `Windows OS`. """ - src = path.join(self.__tmpdir, self.__name, "win") - shutil.copytree(src, self.__win_dest) - self.__clean_win_bundle() - - def x11_bundle(self) -> None: - """ Make cursor theme installable on `x11`. """ - src = path.join(self.__tmpdir, self.__name, "x11") - shutil.copytree(src, self.__x11_dest, symlinks=True) - - def bundle(self) -> None: - """ Make cursor theme installable on `x11` & `Windows OS`. """ - x11_src = path.join(self.__tmpdir, self.__name, "x11") - shutil.copytree(x11_src, self.__x11_dest, symlinks=True) - - win_src = path.join(self.__tmpdir, self.__name, "win") - shutil.copytree(win_src, self.__win_dest) - self.__clean_win_bundle() diff --git a/builder/config.py b/builder/config.py deleted file mode 100644 index 7f95ab41..00000000 --- a/builder/config.py +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import json -import shutil -import sys -import tempfile -from os import mkdir, path - -from . import __path__ -from .pkg_info import info - -# Build Config -delay = 35 -sizes = [22, 24, 28, 32, 40, 48, 56, 64, 72, 80, 88, 96] - -# read hotspots file -with open(path.join(__path__[0], "hotspots.json")) as hotspot_file: - hotspots = json.loads(hotspot_file.read()) - - -class ConfigProvider: - """ - Configure `Bibata` building process 🔧. - """ - - def __init__(self, name: str, bitmaps_dir: str, out_dir: str) -> None: - # cleanup old packages - if path.exists(out_dir): - shutil.rmtree(out_dir) - - mkdir(out_dir) - - # Checking Bitmaps directory - if not path.exists(bitmaps_dir): - print( - "⚠ BITMAPS NOT FOUND.\n\n`yarn install && yarn render` to Generates Bitmaps" - ) - sys.exit(1) - - self.name: str = name - self.bitmaps_dir: str = path.abspath(bitmaps_dir) - self.tmpdir: str = tempfile.mkdtemp() - self.out_dir: str = path.abspath(out_dir) - - def get_windows_script(self) -> str: - """ Get `install.inf` content for this cursor theme. """ - with open(path.join(__path__[0], "windows.inf")) as f: - data = f.read() - inf_content = data.replace( - "", self.name + " Cursors" - ).replace("", info["author"]) - - return inf_content diff --git a/builder/cursor.py b/builder/cursor.py deleted file mode 100644 index bee1d0c1..00000000 --- a/builder/cursor.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from clickgen import build_cursor_theme, build_win_cursor_theme, build_x11_cursor_theme - -from .bundler import Bundler -from .config import ConfigProvider, delay, hotspots, sizes - - -class CursorBuilder: - """ - Build Bibata Windows & X11 cursors 🚀. - """ - - def __init__(self, config: ConfigProvider) -> None: - self.__name = config.name - self.__bitmaps_dir = config.bitmaps_dir - self.__bundler = Bundler(config) - self.__tmpdir = config.tmpdir - - def build_x11_cursors(self) -> None: - """ Build `x11` platform cursors. """ - print("🌈 Building %s Theme ..." % self.__name) - build_x11_cursor_theme( - name=self.__name, - image_dir=self.__bitmaps_dir, - cursor_sizes=sizes, - hotspots=hotspots, - out_path=self.__tmpdir, - archive=False, - delay=delay, - ) - - self.__bundler.x11_bundle() - - def build_win_cursors(self) -> None: - """ Build `Windows` platform cursors. """ - print("🌈 Building %s Theme ..." % self.__name) - build_win_cursor_theme( - name=self.__name, - image_dir=self.__bitmaps_dir, - cursor_sizes=sizes, - hotspots=hotspots, - out_path=self.__tmpdir, - archive=False, - delay=delay, - ) - - self.__bundler.win_bundle() - - def build_cursors(self) -> None: - """ Build `x11` & `Windows` platform cursors. """ - print("🌈 Building %s Theme ..." % self.__name) - build_cursor_theme( - name=self.__name, - image_dir=self.__bitmaps_dir, - cursor_sizes=sizes, - hotspots=hotspots, - out_path=self.__tmpdir, - archive=False, - delay=delay, - ) - - self.__bundler.bundle() diff --git a/builder/hotspots.json b/builder/hotspots.json deleted file mode 100644 index 2271367a..00000000 --- a/builder/hotspots.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "all_scroll": { "xhot": 100, "yhot": 100 }, - "dotbox": { "xhot": 100, "yhot": 100 }, - "move": { "xhot": 100, "yhot": 100 }, - "plus": { "xhot": 100, "yhot": 100 }, - "vertical_text": { "xhot": 100, "yhot": 100 }, - "wait": { "xhot": 100, "yhot": 100 }, - "wayland_cursor": { "xhot": 100, "yhot": 100 }, - "x_cursor": { "xhot": 100, "yhot": 100 }, - "xterm": { "xhot": 100, "yhot": 100 }, - - "bd_double_arrow": { "xhot": 98, "yhot": 100 }, - "fd_double_arrow": { "xhot": 98, "yhot": 100 }, - - "bottom_left_corner": { "xhot": 31, "yhot": 172 }, - "bottom_right_corner": { "xhot": 170, "yhot": 172 }, - - "bottom_side": { "xhot": 100, "yhot": 164 }, - "bottom_tee": { "xhot": 100, "yhot": 164 }, - - "center_ptr": { "xhot": 98, "yhot": 131 }, - - "circle": { "xhot": 48, "yhot": 25 }, - "context_menu": { "xhot": 48, "yhot": 25 }, - "copy": { "xhot": 48, "yhot": 25 }, - "link": { "xhot": 48, "yhot": 25 }, - "pointer_move": { "xhot": 48, "yhot": 25 }, - - "cross": { "xhot": 98, "yhot": 96 }, - - "crossed_circle": { "xhot": 100, "yhot": 100 }, - - "crosshair": { "xhot": 99, "yhot": 99 }, - - "dnd_ask": { "xhot": 86, "yhot": 79 }, - "dnd_copy": { "xhot": 86, "yhot": 79 }, - "dnd_link": { "xhot": 86, "yhot": 79 }, - "dnd_move": { "xhot": 86, "yhot": 79 }, - "dnd_no_drop": { "xhot": 86, "yhot": 79 }, - - "dnd_none": { "xhot": 99, "yhot": 98 }, - - "grabbing": { "xhot": 106, "yhot": 79 }, - - "hand1": { "xhot": 113, "yhot": 95 }, - - "hand2": { "xhot": 88, "yhot": 32 }, - - "left_ptr_watch": { "xhot": 50, "yhot": 28 }, - - "left_ptr": { "xhot": 53, "yhot": 36 }, - - "left_side": { "xhot": 35, "yhot": 100 }, - - "left_tee": { "xhot": 165, "yhot": 95 }, - - "ll_angle": { "xhot": 34, "yhot": 165 }, - - "lr_angle": { "xhot": 167, "yhot": 164 }, - - "pencil": { "xhot": 37, "yhot": 161 }, - - "question_arrow": { "xhot": 102, "yhot": 102 }, - - "right_ptr": { "xhot": 150, "yhot": 29 }, - - "right_side": { "xhot": 163, "yhot": 98 }, - - "right_tee": { "xhot": 30, "yhot": 96 }, - - "sb_down_arrow": { "xhot": 100, "yhot": 126 }, - - "sb_h_double_arrow": { "xhot": 100, "yhot": 100 }, - "sb_v_double_arrow": { "xhot": 100, "yhot": 100 }, - - "sb_left_arrow": { "xhot": 86, "yhot": 100 }, - - "sb_right_arrow": { "xhot": 113, "yhot": 100 }, - - "sb_up_arrow": { "xhot": 99, "yhot": 86 }, - - "tcross": { "xhot": 98, "yhot": 100 }, - - "top_left_corner": { "xhot": 29, "yhot": 27 }, - - "top_right_corner": { "xhot": 170, "yhot": 28 }, - - "top_side": { "xhot": 98, "yhot": 34 }, - - "top_tee": { "xhot": 98, "yhot": 29 }, - - "ul_angle": { "xhot": 34, "yhot": 35 }, - - "ur_angle": { "xhot": 164, "yhot": 34 }, - - "zoom_in": { "xhot": 90, "yhot": 89 }, - - "zoom_out": { "xhot": 93, "yhot": 90 } -} diff --git a/builder/log.py b/builder/log.py deleted file mode 100644 index 84c4f7ac..00000000 --- a/builder/log.py +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import logging -import os - - -def save_logs_to_file() -> None: - """ Save `clickgen` logs to `build.log` in current working directory. """ - logging.basicConfig(filename='%s/build.log' % os.getcwd(), filemode='w', - format='%(name)s - %(levelname)s - %(message)s', level=logging.DEBUG) diff --git a/builder/pkg_info.py b/builder/pkg_info.py deleted file mode 100644 index e48cd86c..00000000 --- a/builder/pkg_info.py +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__version__ = "1.0.3" - -info = { - "pkg_name": "builder", - "version": __version__, - "author": "Kaiz Khatri", - "description": f"⚡ Bibata Builder - v{__version__}", - "email": "kaizmandhu@gmail.com", - "url": "https://github.com/ful1e5/Bibata_Cursor/", -} \ No newline at end of file diff --git a/builder/windows.inf b/builder/windows.inf deleted file mode 100644 index c9e11562..00000000 --- a/builder/windows.inf +++ /dev/null @@ -1,52 +0,0 @@ -[Version] -signature="$CHICAGO$" - By Kaiz Khatri -https://github.com/ful1e5/Bibata_Cursor - -[DefaultInstall] -CopyFiles = Scheme.Cur -AddReg = Scheme.Reg - -[DestinationDirs] -Scheme.Cur = 10,"%CUR_DIR%" - -[Scheme.Reg] -HKCU,"Control Panel\Cursors\Schemes","%SCHEME_NAME%",,"%10%\%CUR_DIR%\%pointer%,%10%\%CUR_DIR%\%help%,%10%\%CUR_DIR%\%work%,%10%\%CUR_DIR%\%busy%,%10%\%CUR_DIR%\%Cross%,%10%\%CUR_DIR%\%Text%,%10%\%CUR_DIR%\%Hand%,%10%\%CUR_DIR%\%Unavailiable%,%10%\%CUR_DIR%\%Vert%,%10%\%CUR_DIR%\%Horz%,%10%\%CUR_DIR%\%Dgn1%,%10%\%CUR_DIR%\%Dgn2%,%10%\%CUR_DIR%\%move%,%10%\%CUR_DIR%\%alternate%,%10%\%CUR_DIR%\%link%" - -; -- Installed files - -[Scheme.Cur] -"Arrow.cur" -"Help.cur" -"AppStarting.ani" -"Wait.ani" -"Cross.cur" -"IBeam.cur" -"Handwriting.cur" -"NO.cur" -"SizeNS.cur" -"SizeWE.cur" -"SizeNWSE.cur" -"SizeNESW.cur" -"SizeAll.cur" -"Alternate.cur" -"Hand.cur" - -[Strings] -CUR_DIR = "Cursors\" -SCHEME_NAME = "" -pointer = "Arrow.cur" -help = "Help.cur" -work = "AppStarting.ani" -busy = "Wait.ani" -cross = "Cross.cur" -text = "IBeam.cur" -hand = "Handwriting.cur" -unavailiable = "NO.cur" -vert = "SizeNS.cur" -horz = "SizeWE.cur" -dgn1 = "SizeNWSE.cur" -dgn2 = "SizeNESW.cur" -move = "SizeAll.cur" -alternate = "Alternate.cur" -link = "Hand.cur" \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index aa02c378..00000000 --- a/setup.py +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from builder.pkg_info import info -from setuptools import setup, find_namespace_packages - -setup( - name=info["pkg_name"], - version=info["version"], - description=info["description"], - url=info["url"], - author=info["author"], - author_email=info["email"], - install_requires=["Pillow>=7.2.0", "clickgen==1.1.7"], - packages=find_namespace_packages(include=["builder"]), - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", - ], - python_requires=">=3.6", - include_package_data=True, - zip_safe=False, -) From c92343ece3ad5489c49029021ef11c5bba4f2deb Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 18 Feb 2021 19:15:38 +0530 Subject: [PATCH 04/37] =?UTF-8?q?=F0=9F=A7=B9=20Bitmapper=20organized?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All bitmaps renderer are moved to `/bitmapper` directory. That's help us for `Makefile`. --- .prettierrc | 3 - MANIFEST.in | 2 - bitmapper/package.json | 16 + bitmapper/packages/core/package.json | 12 + bitmapper/packages/core/src/index.ts | 0 bitmapper/packages/modern/package.json | 17 + .../packages}/modern/src/colors.ts | 0 .../packages}/modern/src/index.ts | 0 .../packages}/modern/tsconfig.json | 0 bitmapper/packages/original/package.json | 17 + .../packages}/original/src/colors.ts | 0 .../packages}/original/src/index.ts | 0 .../packages}/original/tsconfig.json | 0 .../packages}/rainbow/PLING.bbcode | 0 .../packages}/rainbow/README.md | 0 bitmapper/packages/rainbow/package.json | 17 + .../packages}/rainbow/src/colors.ts | 0 .../packages}/rainbow/src/index.ts | 0 .../rainbow/src/svgs/branding/logo.svg | 0 .../rainbow/src/svgs/branding/preview.svg | 0 .../src/svgs/modern/animated/all_scroll.svg | 0 .../svgs/modern/animated/bd_double_arrow.svg | 0 .../modern/animated/bottom_left_corner.svg | 0 .../modern/animated/bottom_right_corner.svg | 0 .../src/svgs/modern/animated/bottom_side.svg | 0 .../src/svgs/modern/animated/bottom_tee.svg | 0 .../src/svgs/modern/animated/center_ptr.svg | 0 .../src/svgs/modern/animated/circle.svg | 0 .../src/svgs/modern/animated/context_menu.svg | 0 .../rainbow/src/svgs/modern/animated/copy.svg | 0 .../src/svgs/modern/animated/cross.svg | 0 .../src/svgs/modern/animated/crosshair.svg | 0 .../src/svgs/modern/animated/dnd_ask.svg | 0 .../src/svgs/modern/animated/dnd_copy.svg | 0 .../src/svgs/modern/animated/dnd_link.svg | 0 .../src/svgs/modern/animated/dnd_move.svg | 0 .../src/svgs/modern/animated/dnd_no_drop.svg | 0 .../src/svgs/modern/animated/dnd_none.svg | 0 .../src/svgs/modern/animated/dotbox.svg | 0 .../svgs/modern/animated/fd_double_arrow.svg | 0 .../src/svgs/modern/animated/grabbing.svg | 0 .../src/svgs/modern/animated/hand1.svg | 0 .../src/svgs/modern/animated/hand2.svg | 0 .../src/svgs/modern/animated/left_ptr.svg | 0 .../svgs/modern/animated/left_ptr_watch.svg | 0 .../src/svgs/modern/animated/left_side.svg | 0 .../src/svgs/modern/animated/left_tee.svg | 0 .../rainbow/src/svgs/modern/animated/link.svg | 0 .../src/svgs/modern/animated/ll_angle.svg | 0 .../src/svgs/modern/animated/lr_angle.svg | 0 .../rainbow/src/svgs/modern/animated/move.svg | 0 .../src/svgs/modern/animated/pencil.svg | 0 .../rainbow/src/svgs/modern/animated/plus.svg | 0 .../src/svgs/modern/animated/pointer_move.svg | 0 .../svgs/modern/animated/question_arrow.svg | 0 .../src/svgs/modern/animated/right_ptr.svg | 0 .../src/svgs/modern/animated/right_side.svg | 0 .../src/svgs/modern/animated/right_tee.svg | 0 .../svgs/modern/animated/sb_down_arrow.svg | 0 .../modern/animated/sb_h_double_arrow.svg | 0 .../svgs/modern/animated/sb_left_arrow.svg | 0 .../svgs/modern/animated/sb_right_arrow.svg | 0 .../src/svgs/modern/animated/sb_up_arrow.svg | 0 .../modern/animated/sb_v_double_arrow.svg | 0 .../src/svgs/modern/animated/tcross.svg | 0 .../svgs/modern/animated/top_left_corner.svg | 0 .../svgs/modern/animated/top_right_corner.svg | 0 .../src/svgs/modern/animated/top_side.svg | 0 .../src/svgs/modern/animated/top_tee.svg | 0 .../src/svgs/modern/animated/ul_angle.svg | 0 .../src/svgs/modern/animated/ur_angle.svg | 0 .../svgs/modern/animated/vertical_text.svg | 0 .../rainbow/src/svgs/modern/animated/wait.svg | 0 .../src/svgs/modern/animated/xterm.svg | 0 .../src/svgs/modern/animated/zoom_in.svg | 0 .../src/svgs/modern/animated/zoom_out.svg | 0 .../src/svgs/modern/static/crossed_circle.svg | 0 .../src/svgs/modern/static/wayland_cursor.svg | 0 .../src/svgs/modern/static/x_cursor.svg | 0 .../rainbow/src/svgs/modern/symblinks.sh | 0 .../src/svgs/original/animated/all_scroll.svg | 0 .../original/animated/bd_double_arrow.svg | 0 .../original/animated/bottom_left_corner.svg | 0 .../original/animated/bottom_right_corner.svg | 0 .../svgs/original/animated/bottom_side.svg | 0 .../src/svgs/original/animated/bottom_tee.svg | 0 .../src/svgs/original/animated/center_ptr.svg | 0 .../src/svgs/original/animated/circle.svg | 0 .../svgs/original/animated/context_menu.svg | 0 .../src/svgs/original/animated/copy.svg | 0 .../src/svgs/original/animated/cross.svg | 0 .../src/svgs/original/animated/crosshair.svg | 0 .../src/svgs/original/animated/dnd_ask.svg | 0 .../src/svgs/original/animated/dnd_copy.svg | 0 .../src/svgs/original/animated/dnd_link.svg | 0 .../src/svgs/original/animated/dnd_move.svg | 0 .../svgs/original/animated/dnd_no_drop.svg | 0 .../src/svgs/original/animated/dnd_none.svg | 0 .../src/svgs/original/animated/dotbox.svg | 0 .../original/animated/fd_double_arrow.svg | 0 .../src/svgs/original/animated/grabbing.svg | 0 .../src/svgs/original/animated/hand1.svg | 0 .../src/svgs/original/animated/hand2.svg | 0 .../src/svgs/original/animated/left_ptr.svg | 0 .../svgs/original/animated/left_ptr_watch.svg | 0 .../src/svgs/original/animated/left_side.svg | 0 .../src/svgs/original/animated/left_tee.svg | 0 .../src/svgs/original/animated/link.svg | 0 .../src/svgs/original/animated/ll_angle.svg | 0 .../src/svgs/original/animated/lr_angle.svg | 0 .../src/svgs/original/animated/move.svg | 0 .../src/svgs/original/animated/pencil.svg | 0 .../src/svgs/original/animated/plus.svg | 0 .../svgs/original/animated/pointer_move.svg | 0 .../svgs/original/animated/question_arrow.svg | 0 .../src/svgs/original/animated/right_ptr.svg | 0 .../src/svgs/original/animated/right_side.svg | 0 .../src/svgs/original/animated/right_tee.svg | 0 .../svgs/original/animated/sb_down_arrow.svg | 0 .../original/animated/sb_h_double_arrow.svg | 0 .../svgs/original/animated/sb_left_arrow.svg | 0 .../svgs/original/animated/sb_right_arrow.svg | 0 .../svgs/original/animated/sb_up_arrow.svg | 0 .../original/animated/sb_v_double_arrow.svg | 0 .../src/svgs/original/animated/tcross.svg | 0 .../original/animated/top_left_corner.svg | 0 .../original/animated/top_right_corner.svg | 0 .../src/svgs/original/animated/top_side.svg | 0 .../src/svgs/original/animated/top_tee.svg | 0 .../src/svgs/original/animated/ul_angle.svg | 0 .../src/svgs/original/animated/ur_angle.svg | 0 .../svgs/original/animated/vertical_text.svg | 0 .../src/svgs/original/animated/wait.svg | 0 .../src/svgs/original/animated/xterm.svg | 0 .../src/svgs/original/animated/zoom_in.svg | 0 .../src/svgs/original/animated/zoom_out.svg | 0 .../svgs/original/static/crossed_circle.svg | 0 .../svgs/original/static/wayland_cursor.svg | 0 .../src/svgs/original/static/x_cursor.svg | 0 .../rainbow/src/svgs/original/symblinks.sh | 0 .../packages}/rainbow/tsconfig.json | 0 tsconfig.json => bitmapper/tsconfig.json | 0 bitmapper/yarn.lock | 424 +++++ package.json | 23 - packages/core/package.json | 23 - packages/core/src/BitmapsGenerator.ts | 205 --- .../src/SvgHandler/ColoredSvgGenerator.ts | 103 -- .../core/src/SvgHandler/SvgDirectoryParser.ts | 63 - packages/core/src/index.ts | 32 - packages/core/src/types.ts | 43 - packages/core/src/utils/getFrameName.ts | 12 - packages/core/src/utils/htmlTemplate.ts | 19 - packages/core/src/utils/matchImages.ts | 25 - packages/core/tsconfig.json | 12 - packages/modern/nodemon.json | 13 - packages/modern/package.json | 21 - packages/original/nodemon.json | 13 - packages/original/package.json | 21 - packages/rainbow/nodemon.json | 13 - packages/rainbow/package.json | 21 - yarn.lock | 1438 ----------------- 161 files changed, 503 insertions(+), 2105 deletions(-) delete mode 100644 .prettierrc delete mode 100644 MANIFEST.in create mode 100644 bitmapper/package.json create mode 100644 bitmapper/packages/core/package.json create mode 100644 bitmapper/packages/core/src/index.ts create mode 100644 bitmapper/packages/modern/package.json rename {packages => bitmapper/packages}/modern/src/colors.ts (100%) rename {packages => bitmapper/packages}/modern/src/index.ts (100%) rename {packages => bitmapper/packages}/modern/tsconfig.json (100%) create mode 100644 bitmapper/packages/original/package.json rename {packages => bitmapper/packages}/original/src/colors.ts (100%) rename {packages => bitmapper/packages}/original/src/index.ts (100%) rename {packages => bitmapper/packages}/original/tsconfig.json (100%) rename {packages => bitmapper/packages}/rainbow/PLING.bbcode (100%) rename {packages => bitmapper/packages}/rainbow/README.md (100%) create mode 100644 bitmapper/packages/rainbow/package.json rename {packages => bitmapper/packages}/rainbow/src/colors.ts (100%) rename {packages => bitmapper/packages}/rainbow/src/index.ts (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/branding/logo.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/branding/preview.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/all_scroll.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/bd_double_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/bottom_left_corner.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/bottom_right_corner.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/bottom_side.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/bottom_tee.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/center_ptr.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/circle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/context_menu.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/copy.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/cross.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/crosshair.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/dnd_ask.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/dnd_copy.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/dnd_link.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/dnd_move.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/dnd_no_drop.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/dnd_none.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/dotbox.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/fd_double_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/grabbing.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/hand1.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/hand2.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/left_ptr.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/left_ptr_watch.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/left_side.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/left_tee.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/link.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/ll_angle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/lr_angle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/move.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/pencil.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/plus.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/pointer_move.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/question_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/right_ptr.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/right_side.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/right_tee.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/sb_down_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/sb_h_double_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/sb_left_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/sb_right_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/sb_up_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/sb_v_double_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/tcross.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/top_left_corner.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/top_right_corner.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/top_side.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/top_tee.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/ul_angle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/ur_angle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/vertical_text.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/wait.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/xterm.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/zoom_in.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/animated/zoom_out.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/static/crossed_circle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/static/wayland_cursor.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/static/x_cursor.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/modern/symblinks.sh (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/all_scroll.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/bd_double_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/bottom_left_corner.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/bottom_right_corner.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/bottom_side.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/bottom_tee.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/center_ptr.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/circle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/context_menu.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/copy.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/cross.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/crosshair.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/dnd_ask.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/dnd_copy.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/dnd_link.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/dnd_move.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/dnd_no_drop.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/dnd_none.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/dotbox.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/fd_double_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/grabbing.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/hand1.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/hand2.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/left_ptr.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/left_ptr_watch.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/left_side.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/left_tee.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/link.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/ll_angle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/lr_angle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/move.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/pencil.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/plus.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/pointer_move.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/question_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/right_ptr.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/right_side.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/right_tee.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/sb_down_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/sb_h_double_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/sb_left_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/sb_right_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/sb_up_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/sb_v_double_arrow.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/tcross.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/top_left_corner.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/top_right_corner.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/top_side.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/top_tee.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/ul_angle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/ur_angle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/vertical_text.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/wait.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/xterm.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/zoom_in.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/animated/zoom_out.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/static/crossed_circle.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/static/wayland_cursor.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/static/x_cursor.svg (100%) rename {packages => bitmapper/packages}/rainbow/src/svgs/original/symblinks.sh (100%) rename {packages => bitmapper/packages}/rainbow/tsconfig.json (100%) rename tsconfig.json => bitmapper/tsconfig.json (100%) create mode 100644 bitmapper/yarn.lock delete mode 100644 package.json delete mode 100644 packages/core/package.json delete mode 100644 packages/core/src/BitmapsGenerator.ts delete mode 100644 packages/core/src/SvgHandler/ColoredSvgGenerator.ts delete mode 100644 packages/core/src/SvgHandler/SvgDirectoryParser.ts delete mode 100644 packages/core/src/index.ts delete mode 100644 packages/core/src/types.ts delete mode 100644 packages/core/src/utils/getFrameName.ts delete mode 100644 packages/core/src/utils/htmlTemplate.ts delete mode 100644 packages/core/src/utils/matchImages.ts delete mode 100644 packages/core/tsconfig.json delete mode 100644 packages/modern/nodemon.json delete mode 100644 packages/modern/package.json delete mode 100644 packages/original/nodemon.json delete mode 100644 packages/original/package.json delete mode 100644 packages/rainbow/nodemon.json delete mode 100644 packages/rainbow/package.json delete mode 100644 yarn.lock diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 36b35631..00000000 --- a/.prettierrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "trailingComma": "none" -} diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 02d77f90..00000000 --- a/MANIFEST.in +++ /dev/null @@ -1,2 +0,0 @@ -include builder/windows.inf -include builder/hotspots.json \ No newline at end of file diff --git a/bitmapper/package.json b/bitmapper/package.json new file mode 100644 index 00000000..39040c29 --- /dev/null +++ b/bitmapper/package.json @@ -0,0 +1,16 @@ +{ + "name": "bibata-cursor", + "version": "1.0.3", + "description": "Material Based Cursors", + "main": "index.js", + "author": "Kaiz Khatri", + "license": "GPL-3.0", + "private": true, + "scripts": { + "clean": "rm -rf bitmaps themes", + "render:bibata-modern": "yarn workspace bibata-modern render", + "render:bibata-original": "yarn workspace bibata-original render", + "render:bibata-rainbow": "yarn workspace bibata-rainbow render" + }, + "workspaces": ["packages/*"] +} diff --git a/bitmapper/packages/core/package.json b/bitmapper/packages/core/package.json new file mode 100644 index 00000000..53ece898 --- /dev/null +++ b/bitmapper/packages/core/package.json @@ -0,0 +1,12 @@ +{ + "name": "bibata-core", + "version": "1.1.0", + "description": "Bibata bitmapper's core modules", + "main": "dist/index.js", + "author": "Kaiz Khatri", + "license": "GPL-3.0", + "private": true, + "dependencies": { + "puppeteer": "^7.1.0" + } +} diff --git a/bitmapper/packages/core/src/index.ts b/bitmapper/packages/core/src/index.ts new file mode 100644 index 00000000..e69de29b diff --git a/bitmapper/packages/modern/package.json b/bitmapper/packages/modern/package.json new file mode 100644 index 00000000..33423ca9 --- /dev/null +++ b/bitmapper/packages/modern/package.json @@ -0,0 +1,17 @@ +{ + "name": "bibata-modern", + "version": "1.0.3", + "description": "Rounded edges bibata cursors", + "main": "index.js", + "scripts": { + "build": "npx tsc --build", + "render": "yarn build && node dist/index.js" + }, + "author": "Kaiz Khatri", + "license": "GPL-3.0", + "private": true, + "devDependencies": { + "ts-node": "^8.10.2", + "typescript": "^4.0.5" + } +} diff --git a/packages/modern/src/colors.ts b/bitmapper/packages/modern/src/colors.ts similarity index 100% rename from packages/modern/src/colors.ts rename to bitmapper/packages/modern/src/colors.ts diff --git a/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts similarity index 100% rename from packages/modern/src/index.ts rename to bitmapper/packages/modern/src/index.ts diff --git a/packages/modern/tsconfig.json b/bitmapper/packages/modern/tsconfig.json similarity index 100% rename from packages/modern/tsconfig.json rename to bitmapper/packages/modern/tsconfig.json diff --git a/bitmapper/packages/original/package.json b/bitmapper/packages/original/package.json new file mode 100644 index 00000000..08c56dae --- /dev/null +++ b/bitmapper/packages/original/package.json @@ -0,0 +1,17 @@ +{ + "name": "bibata-original", + "version": "1.0.3", + "description": "Sharp edges bibata cursors", + "main": "index.js", + "scripts": { + "build": "npx tsc --build", + "render": "yarn build && node dist/index.js" + }, + "author": "Kaiz Khatri", + "license": "GPL-3.0", + "private": true, + "devDependencies": { + "ts-node": "^8.10.2", + "typescript": "^4.0.5" + } +} diff --git a/packages/original/src/colors.ts b/bitmapper/packages/original/src/colors.ts similarity index 100% rename from packages/original/src/colors.ts rename to bitmapper/packages/original/src/colors.ts diff --git a/packages/original/src/index.ts b/bitmapper/packages/original/src/index.ts similarity index 100% rename from packages/original/src/index.ts rename to bitmapper/packages/original/src/index.ts diff --git a/packages/original/tsconfig.json b/bitmapper/packages/original/tsconfig.json similarity index 100% rename from packages/original/tsconfig.json rename to bitmapper/packages/original/tsconfig.json diff --git a/packages/rainbow/PLING.bbcode b/bitmapper/packages/rainbow/PLING.bbcode similarity index 100% rename from packages/rainbow/PLING.bbcode rename to bitmapper/packages/rainbow/PLING.bbcode diff --git a/packages/rainbow/README.md b/bitmapper/packages/rainbow/README.md similarity index 100% rename from packages/rainbow/README.md rename to bitmapper/packages/rainbow/README.md diff --git a/bitmapper/packages/rainbow/package.json b/bitmapper/packages/rainbow/package.json new file mode 100644 index 00000000..1fc58d4f --- /dev/null +++ b/bitmapper/packages/rainbow/package.json @@ -0,0 +1,17 @@ +{ + "name": "bibata-rainbow", + "version": "1.0.0", + "description": "'semi-animated' bibata cursors with rainbow colors", + "main": "index.js", + "scripts": { + "build": "npx tsc --build", + "render": "yarn build && node dist/index.js" + }, + "author": "Kaiz Khatri", + "license": "GPL-3.0", + "private": true, + "devDependencies": { + "ts-node": "^8.10.2", + "typescript": "^4.0.5" + } +} diff --git a/packages/rainbow/src/colors.ts b/bitmapper/packages/rainbow/src/colors.ts similarity index 100% rename from packages/rainbow/src/colors.ts rename to bitmapper/packages/rainbow/src/colors.ts diff --git a/packages/rainbow/src/index.ts b/bitmapper/packages/rainbow/src/index.ts similarity index 100% rename from packages/rainbow/src/index.ts rename to bitmapper/packages/rainbow/src/index.ts diff --git a/packages/rainbow/src/svgs/branding/logo.svg b/bitmapper/packages/rainbow/src/svgs/branding/logo.svg similarity index 100% rename from packages/rainbow/src/svgs/branding/logo.svg rename to bitmapper/packages/rainbow/src/svgs/branding/logo.svg diff --git a/packages/rainbow/src/svgs/branding/preview.svg b/bitmapper/packages/rainbow/src/svgs/branding/preview.svg similarity index 100% rename from packages/rainbow/src/svgs/branding/preview.svg rename to bitmapper/packages/rainbow/src/svgs/branding/preview.svg diff --git a/packages/rainbow/src/svgs/modern/animated/all_scroll.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/all_scroll.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/all_scroll.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/all_scroll.svg diff --git a/packages/rainbow/src/svgs/modern/animated/bd_double_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/bd_double_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/bd_double_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/bd_double_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/bottom_left_corner.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/bottom_left_corner.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/bottom_left_corner.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/bottom_left_corner.svg diff --git a/packages/rainbow/src/svgs/modern/animated/bottom_right_corner.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/bottom_right_corner.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/bottom_right_corner.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/bottom_right_corner.svg diff --git a/packages/rainbow/src/svgs/modern/animated/bottom_side.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/bottom_side.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/bottom_side.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/bottom_side.svg diff --git a/packages/rainbow/src/svgs/modern/animated/bottom_tee.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/bottom_tee.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/bottom_tee.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/bottom_tee.svg diff --git a/packages/rainbow/src/svgs/modern/animated/center_ptr.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/center_ptr.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/center_ptr.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/center_ptr.svg diff --git a/packages/rainbow/src/svgs/modern/animated/circle.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/circle.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/circle.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/circle.svg diff --git a/packages/rainbow/src/svgs/modern/animated/context_menu.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/context_menu.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/context_menu.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/context_menu.svg diff --git a/packages/rainbow/src/svgs/modern/animated/copy.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/copy.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/copy.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/copy.svg diff --git a/packages/rainbow/src/svgs/modern/animated/cross.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/cross.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/cross.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/cross.svg diff --git a/packages/rainbow/src/svgs/modern/animated/crosshair.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/crosshair.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/crosshair.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/crosshair.svg diff --git a/packages/rainbow/src/svgs/modern/animated/dnd_ask.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_ask.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/dnd_ask.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_ask.svg diff --git a/packages/rainbow/src/svgs/modern/animated/dnd_copy.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_copy.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/dnd_copy.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_copy.svg diff --git a/packages/rainbow/src/svgs/modern/animated/dnd_link.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_link.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/dnd_link.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_link.svg diff --git a/packages/rainbow/src/svgs/modern/animated/dnd_move.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_move.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/dnd_move.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_move.svg diff --git a/packages/rainbow/src/svgs/modern/animated/dnd_no_drop.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_no_drop.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/dnd_no_drop.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_no_drop.svg diff --git a/packages/rainbow/src/svgs/modern/animated/dnd_none.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_none.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/dnd_none.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/dnd_none.svg diff --git a/packages/rainbow/src/svgs/modern/animated/dotbox.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/dotbox.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/dotbox.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/dotbox.svg diff --git a/packages/rainbow/src/svgs/modern/animated/fd_double_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/fd_double_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/fd_double_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/fd_double_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/grabbing.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/grabbing.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/grabbing.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/grabbing.svg diff --git a/packages/rainbow/src/svgs/modern/animated/hand1.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/hand1.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/hand1.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/hand1.svg diff --git a/packages/rainbow/src/svgs/modern/animated/hand2.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/hand2.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/hand2.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/hand2.svg diff --git a/packages/rainbow/src/svgs/modern/animated/left_ptr.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/left_ptr.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/left_ptr.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/left_ptr.svg diff --git a/packages/rainbow/src/svgs/modern/animated/left_ptr_watch.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/left_ptr_watch.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/left_ptr_watch.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/left_ptr_watch.svg diff --git a/packages/rainbow/src/svgs/modern/animated/left_side.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/left_side.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/left_side.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/left_side.svg diff --git a/packages/rainbow/src/svgs/modern/animated/left_tee.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/left_tee.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/left_tee.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/left_tee.svg diff --git a/packages/rainbow/src/svgs/modern/animated/link.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/link.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/link.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/link.svg diff --git a/packages/rainbow/src/svgs/modern/animated/ll_angle.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/ll_angle.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/ll_angle.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/ll_angle.svg diff --git a/packages/rainbow/src/svgs/modern/animated/lr_angle.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/lr_angle.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/lr_angle.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/lr_angle.svg diff --git a/packages/rainbow/src/svgs/modern/animated/move.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/move.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/move.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/move.svg diff --git a/packages/rainbow/src/svgs/modern/animated/pencil.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/pencil.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/pencil.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/pencil.svg diff --git a/packages/rainbow/src/svgs/modern/animated/plus.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/plus.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/plus.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/plus.svg diff --git a/packages/rainbow/src/svgs/modern/animated/pointer_move.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/pointer_move.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/pointer_move.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/pointer_move.svg diff --git a/packages/rainbow/src/svgs/modern/animated/question_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/question_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/question_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/question_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/right_ptr.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/right_ptr.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/right_ptr.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/right_ptr.svg diff --git a/packages/rainbow/src/svgs/modern/animated/right_side.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/right_side.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/right_side.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/right_side.svg diff --git a/packages/rainbow/src/svgs/modern/animated/right_tee.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/right_tee.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/right_tee.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/right_tee.svg diff --git a/packages/rainbow/src/svgs/modern/animated/sb_down_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/sb_down_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/sb_down_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/sb_down_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/sb_h_double_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/sb_h_double_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/sb_h_double_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/sb_h_double_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/sb_left_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/sb_left_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/sb_left_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/sb_left_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/sb_right_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/sb_right_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/sb_right_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/sb_right_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/sb_up_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/sb_up_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/sb_up_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/sb_up_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/sb_v_double_arrow.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/sb_v_double_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/sb_v_double_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/sb_v_double_arrow.svg diff --git a/packages/rainbow/src/svgs/modern/animated/tcross.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/tcross.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/tcross.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/tcross.svg diff --git a/packages/rainbow/src/svgs/modern/animated/top_left_corner.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/top_left_corner.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/top_left_corner.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/top_left_corner.svg diff --git a/packages/rainbow/src/svgs/modern/animated/top_right_corner.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/top_right_corner.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/top_right_corner.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/top_right_corner.svg diff --git a/packages/rainbow/src/svgs/modern/animated/top_side.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/top_side.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/top_side.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/top_side.svg diff --git a/packages/rainbow/src/svgs/modern/animated/top_tee.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/top_tee.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/top_tee.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/top_tee.svg diff --git a/packages/rainbow/src/svgs/modern/animated/ul_angle.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/ul_angle.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/ul_angle.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/ul_angle.svg diff --git a/packages/rainbow/src/svgs/modern/animated/ur_angle.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/ur_angle.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/ur_angle.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/ur_angle.svg diff --git a/packages/rainbow/src/svgs/modern/animated/vertical_text.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/vertical_text.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/vertical_text.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/vertical_text.svg diff --git a/packages/rainbow/src/svgs/modern/animated/wait.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/wait.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/wait.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/wait.svg diff --git a/packages/rainbow/src/svgs/modern/animated/xterm.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/xterm.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/xterm.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/xterm.svg diff --git a/packages/rainbow/src/svgs/modern/animated/zoom_in.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/zoom_in.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/zoom_in.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/zoom_in.svg diff --git a/packages/rainbow/src/svgs/modern/animated/zoom_out.svg b/bitmapper/packages/rainbow/src/svgs/modern/animated/zoom_out.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/animated/zoom_out.svg rename to bitmapper/packages/rainbow/src/svgs/modern/animated/zoom_out.svg diff --git a/packages/rainbow/src/svgs/modern/static/crossed_circle.svg b/bitmapper/packages/rainbow/src/svgs/modern/static/crossed_circle.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/static/crossed_circle.svg rename to bitmapper/packages/rainbow/src/svgs/modern/static/crossed_circle.svg diff --git a/packages/rainbow/src/svgs/modern/static/wayland_cursor.svg b/bitmapper/packages/rainbow/src/svgs/modern/static/wayland_cursor.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/static/wayland_cursor.svg rename to bitmapper/packages/rainbow/src/svgs/modern/static/wayland_cursor.svg diff --git a/packages/rainbow/src/svgs/modern/static/x_cursor.svg b/bitmapper/packages/rainbow/src/svgs/modern/static/x_cursor.svg similarity index 100% rename from packages/rainbow/src/svgs/modern/static/x_cursor.svg rename to bitmapper/packages/rainbow/src/svgs/modern/static/x_cursor.svg diff --git a/packages/rainbow/src/svgs/modern/symblinks.sh b/bitmapper/packages/rainbow/src/svgs/modern/symblinks.sh similarity index 100% rename from packages/rainbow/src/svgs/modern/symblinks.sh rename to bitmapper/packages/rainbow/src/svgs/modern/symblinks.sh diff --git a/packages/rainbow/src/svgs/original/animated/all_scroll.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/all_scroll.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/all_scroll.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/all_scroll.svg diff --git a/packages/rainbow/src/svgs/original/animated/bd_double_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/bd_double_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/bd_double_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/bd_double_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/bottom_left_corner.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/bottom_left_corner.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/bottom_left_corner.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/bottom_left_corner.svg diff --git a/packages/rainbow/src/svgs/original/animated/bottom_right_corner.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/bottom_right_corner.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/bottom_right_corner.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/bottom_right_corner.svg diff --git a/packages/rainbow/src/svgs/original/animated/bottom_side.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/bottom_side.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/bottom_side.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/bottom_side.svg diff --git a/packages/rainbow/src/svgs/original/animated/bottom_tee.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/bottom_tee.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/bottom_tee.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/bottom_tee.svg diff --git a/packages/rainbow/src/svgs/original/animated/center_ptr.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/center_ptr.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/center_ptr.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/center_ptr.svg diff --git a/packages/rainbow/src/svgs/original/animated/circle.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/circle.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/circle.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/circle.svg diff --git a/packages/rainbow/src/svgs/original/animated/context_menu.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/context_menu.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/context_menu.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/context_menu.svg diff --git a/packages/rainbow/src/svgs/original/animated/copy.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/copy.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/copy.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/copy.svg diff --git a/packages/rainbow/src/svgs/original/animated/cross.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/cross.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/cross.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/cross.svg diff --git a/packages/rainbow/src/svgs/original/animated/crosshair.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/crosshair.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/crosshair.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/crosshair.svg diff --git a/packages/rainbow/src/svgs/original/animated/dnd_ask.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/dnd_ask.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/dnd_ask.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/dnd_ask.svg diff --git a/packages/rainbow/src/svgs/original/animated/dnd_copy.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/dnd_copy.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/dnd_copy.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/dnd_copy.svg diff --git a/packages/rainbow/src/svgs/original/animated/dnd_link.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/dnd_link.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/dnd_link.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/dnd_link.svg diff --git a/packages/rainbow/src/svgs/original/animated/dnd_move.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/dnd_move.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/dnd_move.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/dnd_move.svg diff --git a/packages/rainbow/src/svgs/original/animated/dnd_no_drop.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/dnd_no_drop.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/dnd_no_drop.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/dnd_no_drop.svg diff --git a/packages/rainbow/src/svgs/original/animated/dnd_none.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/dnd_none.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/dnd_none.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/dnd_none.svg diff --git a/packages/rainbow/src/svgs/original/animated/dotbox.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/dotbox.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/dotbox.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/dotbox.svg diff --git a/packages/rainbow/src/svgs/original/animated/fd_double_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/fd_double_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/fd_double_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/fd_double_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/grabbing.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/grabbing.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/grabbing.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/grabbing.svg diff --git a/packages/rainbow/src/svgs/original/animated/hand1.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/hand1.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/hand1.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/hand1.svg diff --git a/packages/rainbow/src/svgs/original/animated/hand2.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/hand2.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/hand2.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/hand2.svg diff --git a/packages/rainbow/src/svgs/original/animated/left_ptr.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/left_ptr.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/left_ptr.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/left_ptr.svg diff --git a/packages/rainbow/src/svgs/original/animated/left_ptr_watch.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/left_ptr_watch.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/left_ptr_watch.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/left_ptr_watch.svg diff --git a/packages/rainbow/src/svgs/original/animated/left_side.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/left_side.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/left_side.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/left_side.svg diff --git a/packages/rainbow/src/svgs/original/animated/left_tee.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/left_tee.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/left_tee.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/left_tee.svg diff --git a/packages/rainbow/src/svgs/original/animated/link.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/link.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/link.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/link.svg diff --git a/packages/rainbow/src/svgs/original/animated/ll_angle.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/ll_angle.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/ll_angle.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/ll_angle.svg diff --git a/packages/rainbow/src/svgs/original/animated/lr_angle.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/lr_angle.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/lr_angle.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/lr_angle.svg diff --git a/packages/rainbow/src/svgs/original/animated/move.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/move.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/move.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/move.svg diff --git a/packages/rainbow/src/svgs/original/animated/pencil.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/pencil.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/pencil.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/pencil.svg diff --git a/packages/rainbow/src/svgs/original/animated/plus.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/plus.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/plus.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/plus.svg diff --git a/packages/rainbow/src/svgs/original/animated/pointer_move.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/pointer_move.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/pointer_move.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/pointer_move.svg diff --git a/packages/rainbow/src/svgs/original/animated/question_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/question_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/question_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/question_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/right_ptr.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/right_ptr.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/right_ptr.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/right_ptr.svg diff --git a/packages/rainbow/src/svgs/original/animated/right_side.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/right_side.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/right_side.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/right_side.svg diff --git a/packages/rainbow/src/svgs/original/animated/right_tee.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/right_tee.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/right_tee.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/right_tee.svg diff --git a/packages/rainbow/src/svgs/original/animated/sb_down_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/sb_down_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/sb_down_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/sb_down_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/sb_h_double_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/sb_h_double_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/sb_h_double_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/sb_h_double_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/sb_left_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/sb_left_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/sb_left_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/sb_left_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/sb_right_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/sb_right_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/sb_right_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/sb_right_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/sb_up_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/sb_up_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/sb_up_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/sb_up_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/sb_v_double_arrow.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/sb_v_double_arrow.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/sb_v_double_arrow.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/sb_v_double_arrow.svg diff --git a/packages/rainbow/src/svgs/original/animated/tcross.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/tcross.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/tcross.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/tcross.svg diff --git a/packages/rainbow/src/svgs/original/animated/top_left_corner.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/top_left_corner.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/top_left_corner.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/top_left_corner.svg diff --git a/packages/rainbow/src/svgs/original/animated/top_right_corner.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/top_right_corner.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/top_right_corner.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/top_right_corner.svg diff --git a/packages/rainbow/src/svgs/original/animated/top_side.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/top_side.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/top_side.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/top_side.svg diff --git a/packages/rainbow/src/svgs/original/animated/top_tee.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/top_tee.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/top_tee.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/top_tee.svg diff --git a/packages/rainbow/src/svgs/original/animated/ul_angle.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/ul_angle.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/ul_angle.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/ul_angle.svg diff --git a/packages/rainbow/src/svgs/original/animated/ur_angle.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/ur_angle.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/ur_angle.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/ur_angle.svg diff --git a/packages/rainbow/src/svgs/original/animated/vertical_text.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/vertical_text.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/vertical_text.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/vertical_text.svg diff --git a/packages/rainbow/src/svgs/original/animated/wait.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/wait.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/wait.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/wait.svg diff --git a/packages/rainbow/src/svgs/original/animated/xterm.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/xterm.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/xterm.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/xterm.svg diff --git a/packages/rainbow/src/svgs/original/animated/zoom_in.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/zoom_in.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/zoom_in.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/zoom_in.svg diff --git a/packages/rainbow/src/svgs/original/animated/zoom_out.svg b/bitmapper/packages/rainbow/src/svgs/original/animated/zoom_out.svg similarity index 100% rename from packages/rainbow/src/svgs/original/animated/zoom_out.svg rename to bitmapper/packages/rainbow/src/svgs/original/animated/zoom_out.svg diff --git a/packages/rainbow/src/svgs/original/static/crossed_circle.svg b/bitmapper/packages/rainbow/src/svgs/original/static/crossed_circle.svg similarity index 100% rename from packages/rainbow/src/svgs/original/static/crossed_circle.svg rename to bitmapper/packages/rainbow/src/svgs/original/static/crossed_circle.svg diff --git a/packages/rainbow/src/svgs/original/static/wayland_cursor.svg b/bitmapper/packages/rainbow/src/svgs/original/static/wayland_cursor.svg similarity index 100% rename from packages/rainbow/src/svgs/original/static/wayland_cursor.svg rename to bitmapper/packages/rainbow/src/svgs/original/static/wayland_cursor.svg diff --git a/packages/rainbow/src/svgs/original/static/x_cursor.svg b/bitmapper/packages/rainbow/src/svgs/original/static/x_cursor.svg similarity index 100% rename from packages/rainbow/src/svgs/original/static/x_cursor.svg rename to bitmapper/packages/rainbow/src/svgs/original/static/x_cursor.svg diff --git a/packages/rainbow/src/svgs/original/symblinks.sh b/bitmapper/packages/rainbow/src/svgs/original/symblinks.sh similarity index 100% rename from packages/rainbow/src/svgs/original/symblinks.sh rename to bitmapper/packages/rainbow/src/svgs/original/symblinks.sh diff --git a/packages/rainbow/tsconfig.json b/bitmapper/packages/rainbow/tsconfig.json similarity index 100% rename from packages/rainbow/tsconfig.json rename to bitmapper/packages/rainbow/tsconfig.json diff --git a/tsconfig.json b/bitmapper/tsconfig.json similarity index 100% rename from tsconfig.json rename to bitmapper/tsconfig.json diff --git a/bitmapper/yarn.lock b/bitmapper/yarn.lock new file mode 100644 index 00000000..b9ecbbd1 --- /dev/null +++ b/bitmapper/yarn.lock @@ -0,0 +1,424 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/node@*": + version "14.14.28" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.28.tgz#cade4b64f8438f588951a6b35843ce536853f25b" + integrity sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g== + +"@types/yauzl@^2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" + integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== + dependencies: + "@types/node" "*" + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer@^5.2.1, buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +debug@4, debug@^4.1.0, debug@^4.1.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +devtools-protocol@0.0.847576: + version "0.0.847576" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.847576.tgz#2f201bfb68aa9ef4497199fbd7f5d5dfde3b200b" + integrity sha512-0M8kobnSQE0Jmly7Mhbeq0W/PpZfnuK+WjN2ZRVPbGqYwCHCioAVp84H0TcLimgECcN5H976y5QiXMGBC9JKmg== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +extract-zip@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +glob@^7.1.3: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +mkdirp-classic@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +progress@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +puppeteer@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-7.1.0.tgz#ae37f48ee13f157c5b9255d580ffe4c5c1298679" + integrity sha512-lqOLzqCKdh7yUAHvK6LxgOpQrL8Bv1/jvS8MLDXxcNms2rlM3E8p/Wlwc7efbRZ0twxTzUeqjN5EqrTwxOwc9g== + dependencies: + debug "^4.1.0" + devtools-protocol "0.0.847576" + extract-zip "^2.0.0" + https-proxy-agent "^5.0.0" + node-fetch "^2.6.1" + pkg-dir "^4.2.0" + progress "^2.0.1" + proxy-from-env "^1.1.0" + rimraf "^3.0.2" + tar-fs "^2.0.0" + unbzip2-stream "^1.3.3" + ws "^7.2.3" + +readable-stream@^3.1.1, readable-stream@^3.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +source-map-support@^0.5.17: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +ts-node@^8.10.2: + version "8.10.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" + integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +typescript@^4.0.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" + integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== + +unbzip2-stream@^1.3.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@^7.2.3: + version "7.4.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" + integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== diff --git a/package.json b/package.json deleted file mode 100644 index ab1ea404..00000000 --- a/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "bibata-cursor", - "version": "1.0.3", - "description": "Material Based Cursors 🚀", - "main": "index.js", - "author": "Kaiz Khatri", - "license": "GPL-3.0", - "private": true, - "scripts": { - "clean": "rm -rf bitmaps themes", - "render:bibata-modern": "yarn workspace bibata-modern render", - "render:bibata-original": "yarn workspace bibata-original render", - "render:bibata-rainbow": "yarn workspace bibata-rainbow render", - "build": "rm -rf themes && python build.py", - "build:x11": "rm -rf themes && python build.py --x11", - "build:win": "rm -rf themes && python build.py --win", - "py_builder_install": "python setup.py install", - "py_install": "pip install clickgen && yarn py_builder_install" - }, - "workspaces": [ - "packages/*" - ] -} diff --git a/packages/core/package.json b/packages/core/package.json deleted file mode 100644 index da3ea460..00000000 --- a/packages/core/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "bibata-core", - "version": "1.0.3", - "description": "Bibata core package", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "author": "Kaiz Khatri", - "license": "GPL-3.0", - "private": true, - "devDependencies": { - "@types/pixelmatch": "^5.2.1", - "@types/pngjs": "^3.4.2", - "@types/puppeteer": "^3.0.1", - "typescript": "^3.9.7" - }, - "dependencies": { - "chalk": "^4.1.0", - "ora": "^5.0.0", - "pixelmatch": "^5.2.1", - "pngjs": "^5.0.0", - "puppeteer": "^5.2.1" - } -} diff --git a/packages/core/src/BitmapsGenerator.ts b/packages/core/src/BitmapsGenerator.ts deleted file mode 100644 index 4cb1f60e..00000000 --- a/packages/core/src/BitmapsGenerator.ts +++ /dev/null @@ -1,205 +0,0 @@ -import fs from "fs"; -import path from "path"; -import chalk from "chalk"; -import ora, { Ora } from "ora"; -import puppeteer, { Browser, ElementHandle } from "puppeteer"; -import ColoredSvgGenerator, { - Cursors, - ThemeConfig -} from "./SvgHandler/ColoredSvgGenerator"; -import { Frames } from "./types"; -import { getFrameName } from "./utils/getFrameName"; -import { generateRenderTemplate } from "./utils/htmlTemplate"; -import { matchImages } from "./utils/matchImages"; - -const normalAnimatedCursors: string[] = ["left_ptr_watch", "wait"]; - -export class BitmapsGenerator { - private readonly staticCurs: Cursors; - private readonly animatedCurs: Cursors; - private readonly minimumFrames: number = 30; - - /** - * @param source `BitmapsGenerator` Class's object arguments. - * @param themeName name of the bitmaps directory. - * @param bitmapsDir `absolute` or `relative` path, Where cursors `.png` files generated. - */ - constructor( - private readonly source: ThemeConfig, - private readonly themeName: string, - private bitmapsDir: string - ) { - this.bitmapsDir = path.resolve(bitmapsDir, themeName); - this.createDir(this.bitmapsDir); - - const themeSvgs = new ColoredSvgGenerator(this.source); - this.staticCurs = themeSvgs.getStaticCursors(); - this.animatedCurs = themeSvgs.getAnimatedCursors(); - } - - /** - * Create directory if it doesn't exists. - * @argument dirPath directory `absolute` or `relative` path. - */ - private createDir(dirPath: string) { - dirPath = path.resolve(dirPath); - - if (!fs.existsSync(dirPath)) { - fs.mkdirSync(dirPath, { recursive: true }); - } - } - - /** - * @argument browser `puppeteer` browser instance. - * @argument content `.svg` file code. - */ - private async getSvgElement( - browser: Browser, - content: string - ): Promise> { - const template = generateRenderTemplate(content); - const page = await browser.newPage(); - await page.setContent(template); - - await page.waitForSelector("#container"); - const svgElement = await page.$("#container svg"); - - if (!svgElement) throw new Error("svg element not found"); - - return svgElement; - } - - /** - * Close all pages of `Puppeteer.Browser`. - * @argument browser `puppeteer` browser instance. - */ - private async closeAllPages(browser: Browser) { - const pages = await browser.pages(); - pages.map((page) => page.close()); - } - - /** - * Generate `static` cursors bitmaps. - * @argument browser `puppeteer` browser instance. - * @argument spinner `Ora` instance. - */ - private async renderStaticCurs(browser: Browser, spinner: Ora) { - for (let [cursor] of Object.entries(this.staticCurs)) { - // Generating HTML Template - const { content } = this.staticCurs[cursor]; - - // Configs - const file = `${cursor}.png`; - const out = path.resolve(this.bitmapsDir, file); - const svgElement = await this.getSvgElement(browser, content); - - // Render - spinner.text = ` Rendering ${chalk.greenBright(cursor)}`; - await svgElement.screenshot({ omitBackground: true, path: out }); - await this.closeAllPages(browser); - } - } - - /** - * Save animated cursors frames. - * @argument frames Record of `binary` Buffer. - */ - private saveFrames(frames: Frames) { - for (let [cursor, { buffer }] of Object.entries(frames)) { - const out_path = path.resolve(this.bitmapsDir, cursor); - fs.writeFileSync(out_path, buffer, { encoding: "binary" }); - } - } - /** - * Generate `animated` cursors bitmaps. - * @argument browser `puppeteer` browser instance. - * @argument spinner `Ora` instance. - */ - private async renderAnimatedCurs(browser: Browser, spinner: Ora) { - for (let [cursor] of Object.entries(this.animatedCurs)) { - // Generating HTML Template - const { content } = this.animatedCurs[cursor]; - - const svgElement = await this.getSvgElement(browser, content); - - // Config - let index = 1; - let breakRendering = false; - const frames: Frames = {}; - const firstFrame = getFrameName(index, cursor); - - // 1st Frame - spinner.text = ` Rendering ${chalk.greenBright(firstFrame)}`; - frames[firstFrame] = { - buffer: await svgElement.screenshot({ - omitBackground: true, - encoding: "binary" - }) - }; - - // Pushing frames until it match to 1st frame - index++; - - // Minimum frames no. = 15 - while (!breakRendering) { - const key = getFrameName(index, cursor); - spinner.text = ` Rendering ${chalk.greenBright(key)}`; - - const newFrame = await svgElement.screenshot({ - omitBackground: true, - encoding: "binary" - }); - - const matched = matchImages({ - img1Buff: frames[firstFrame].buffer, - img2Buff: newFrame - }); - - if (matched && !normalAnimatedCursors.includes(cursor) && index > 15) { - breakRendering = true; - } else if (matched && index > this.minimumFrames) { - breakRendering = true; - } else { - frames[key] = { buffer: newFrame }; - index++; - } - } - - this.saveFrames(frames); - await this.closeAllPages(browser); - } - } - - /** - * Generate cursors `bitmaps`. - */ - public async generate() { - const spinner = ora(); - spinner.text = ` Preparing ${this.themeName} .svg files...`; - spinner.start(); - - // About browser args => https://chromium.googlesource.com/chromium/src/+/master/docs/linux/suid_sandbox_development.md#disabling-the-sandbox - // Issue => https://github.com/ful1e5/Bibata_Cursor/issues/75#issuecomment-703236554 - const browser = await puppeteer.launch({ - ignoreDefaultArgs: [" --single-process ", "--no-sandbox"], - headless: true - }); - - try { - spinner.color = "yellow"; - await this.renderStaticCurs(browser, spinner); - await this.renderAnimatedCurs(browser, spinner); - - spinner.text = ` ${chalk.blueBright( - this.themeName - )} bitmaps stored at ${chalk.greenBright(`${this.bitmapsDir}`)}`; - - spinner.color = "white"; - spinner.succeed(); - } catch (error) { - console.error(error); - spinner.fail(); - process.exit(1); - } - } -} diff --git a/packages/core/src/SvgHandler/ColoredSvgGenerator.ts b/packages/core/src/SvgHandler/ColoredSvgGenerator.ts deleted file mode 100644 index a9171933..00000000 --- a/packages/core/src/SvgHandler/ColoredSvgGenerator.ts +++ /dev/null @@ -1,103 +0,0 @@ -import fs from "fs"; -import path from "path"; -import SvgDirectoryParser from "./SvgDirectoryParser"; -import { Colors } from "../types"; - -export type ThemeConfig = { svgDir: string; colors: Colors }; - -export interface Cursors { - [cursorName: string]: { - content: string; - }; -} - -export const keyColors: Colors = { - watch: { - background: "#FF0000" - }, - base: "#00FF00", - outline: "#0000FF" -}; - -export default class ColoredSvgGenerator { - private staticCurs: string[]; - private animatedCurs: string[]; - - /** - * Generate custom color cursor's `.svg`. - * @param svgDir directory where animated & static cursors located. - * `svgDir` must contain sub-directory `static` and `animated`. - * - * Example: `svgs/static`, `svgs/animated` - * @param colors `Colors` for static cursors. - */ - constructor(private readonly themeConfig: ThemeConfig) { - const svgParser = new SvgDirectoryParser(this.themeConfig.svgDir); - this.animatedCurs = svgParser.getAnimatedCursors(); - this.staticCurs = svgParser.getStaticCursors(); - } - - /** - * Generate `static` cursors .svg file according to `Theme Colors`. - */ - public getStaticCursors(): Cursors { - const cursors: Cursors = {}; - - this.staticCurs.map((cursor: string) => { - let content = fs.readFileSync(cursor, "utf-8").toString(); - - content = content - .replace(new RegExp(keyColors.base, "ig"), this.themeConfig.colors.base) - .replace( - new RegExp(keyColors.outline, "ig"), - this.themeConfig.colors.outline - ); - - cursors[`${path.basename(cursor, ".svg")}`] = { content }; - }); - - return cursors; - } - - /** - * Generate `animated` cursors .svg file according to `Theme Colors`. - */ - public getAnimatedCursors(): Cursors { - const cursors: Cursors = {}; - - this.animatedCurs.map((cursor: string) => { - let content = fs.readFileSync(cursor, "utf-8").toString(); - - content = content - .replace(new RegExp(keyColors.base, "ig"), this.themeConfig.colors.base) - .replace( - new RegExp(keyColors.outline, "ig"), - this.themeConfig.colors.outline - ); - - try { - // === trying to replace `watch` color === - - if (!this.themeConfig.colors.watch?.background) { - throw new Error(""); - } - const { background: b } = this.themeConfig.colors.watch; - content = content.replace( - new RegExp(keyColors.watch!.background, "ig"), - b - ); // Watch Background - } catch (error) { - // === on error => replace `watch` color as `base` === - - content = content.replace( - new RegExp(keyColors.watch!.background, "ig"), - this.themeConfig.colors.base - ); - } - - cursors[`${path.basename(cursor, ".svg")}`] = { content }; - }); - - return cursors; - } -} diff --git a/packages/core/src/SvgHandler/SvgDirectoryParser.ts b/packages/core/src/SvgHandler/SvgDirectoryParser.ts deleted file mode 100644 index b722e121..00000000 --- a/packages/core/src/SvgHandler/SvgDirectoryParser.ts +++ /dev/null @@ -1,63 +0,0 @@ -import chalk from "chalk"; -import fs from "fs"; -import path from "path"; - -export default class SvgDirectoryParser { - /** - * Parse the `.svg` files directory. - * @param svgDir is relative/absolute path, Where source `.svg` files are stored. - */ - semiAnimated: boolean = false; - constructor(private svgDir: string) { - if (!fs.existsSync(this.svgDir)) { - throw new Error(`🚨 .svg files not found in ${this.svgDir}`); - } - } - - /** - * Return all static cursors absolute paths from `svgDir/static` directory. - */ - public getStaticCursors(): string[] { - const cursorDir = path.resolve(this.svgDir, "static"); - - if (!fs.existsSync(cursorDir)) { - console.log( - `${chalk.greenBright(this.svgDir)} contains semi-animated .svg files` - ); - this.semiAnimated = true; - return []; - } else { - const staticCursors = fs - .readdirSync(cursorDir) - .map((f) => path.resolve(cursorDir, f)); - - if (staticCursors.length == 0) { - throw new Error("🚨 Static Cursors directory is empty"); - } - return staticCursors; - } - } - - /** - * Return all animated cursors absolute paths from `svgDir/animated` directory. - */ - public getAnimatedCursors(): string[] { - const cursorDir = path.resolve(this.svgDir, "animated"); - - if (!fs.existsSync(cursorDir)) { - throw new Error("🚨 Animated Cursors directory not found"); - } - - const animatedCursors = fs - .readdirSync(cursorDir) - .map((f) => path.resolve(cursorDir, f)); - - if (animatedCursors.length == 0 && this.semiAnimated) { - throw new Error( - `🚨 Can't parse svg directory ${this.svgDir} as semi-animated theme` - ); - } - - return animatedCursors; - } -} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts deleted file mode 100644 index ad1890e7..00000000 --- a/packages/core/src/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { BitmapsGenerator } from "./BitmapsGenerator"; -import { ThemeColors } from "./types"; - -/** - * Create cursors `bitmaps` from `svg` & `ThemeColors`. - */ -const createBitmaps = async (config: { - themeColors: ThemeColors; - svgDir: string; - themeName: string; - bitmapsDir: string; -}): Promise => { - for (let [variant] of Object.entries(config.themeColors)) { - const colors = config.themeColors[variant]; - const themeName = `${config.themeName}-${variant}`; - const source = { - svgDir: config.svgDir, - colors - }; - - const themeBitmaps = new BitmapsGenerator( - source, - themeName, - config.bitmapsDir - ); - - await themeBitmaps.generate(); - } - return true; -}; - -export { createBitmaps }; diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts deleted file mode 100644 index c1549fe1..00000000 --- a/packages/core/src/types.ts +++ /dev/null @@ -1,43 +0,0 @@ -interface Frames { - [fileName: string]: { - buffer: Buffer; - }; -} - -/** - * Hex Colors in string Format. - * - * `Example: `"#FFFFFF" - */ -type HexColor = string; - -/** - * @Colors expect `base`, `outline` & `watch-background` colors in **HexColor** Format. - * @default background is `base` color. - */ -type Colors = { - base: HexColor; - outline: HexColor; - watch?: { - background: HexColor; - }; -}; - -/** - * Colors object for this cursors theme. - * - * @example - * ```typescript - * const themeColors: ThemeColors = { - * White:{ - * base: "#FFFFFF", - * outline: "#000000" - * }, - * }; - * ``` - */ -interface ThemeColors { - [themeName: string]: Colors; -} - -export { Frames, Colors, ThemeColors }; diff --git a/packages/core/src/utils/getFrameName.ts b/packages/core/src/utils/getFrameName.ts deleted file mode 100644 index a100bdaf..00000000 --- a/packages/core/src/utils/getFrameName.ts +++ /dev/null @@ -1,12 +0,0 @@ -export const frameNumber = (index: number, endIndex: number) => { - let result = "" + index; - while (result.length < endIndex) { - result = "0" + result; - } - return result; -}; - -export const getFrameName = (index: number, fileName: string) => { - const frame = frameNumber(index, 3); - return `${fileName}-${frame}.png`; -}; diff --git a/packages/core/src/utils/htmlTemplate.ts b/packages/core/src/utils/htmlTemplate.ts deleted file mode 100644 index 4bec12dd..00000000 --- a/packages/core/src/utils/htmlTemplate.ts +++ /dev/null @@ -1,19 +0,0 @@ -export const template = ` - - - - - - Bibata Cursors Render Template - - - -
- -
- - -`; - -export const generateRenderTemplate = (svg: string) => - template.replace("", svg); diff --git a/packages/core/src/utils/matchImages.ts b/packages/core/src/utils/matchImages.ts deleted file mode 100644 index 00bffa91..00000000 --- a/packages/core/src/utils/matchImages.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { PNG } from "pngjs"; -import pixelmatch from "pixelmatch"; - -interface MatchImagesArgs { - img1Buff: Buffer; - img2Buff: Buffer; -} - -export const matchImages = ({ - img1Buff, - img2Buff -}: MatchImagesArgs): boolean => { - const img1 = PNG.sync.read(img1Buff); - const img2 = PNG.sync.read(img2Buff); - const { width, height } = img1; - - const diff = new PNG({ width, height }); - - const value = pixelmatch(img1.data, img2.data, diff.data, width, height, { - threshold: 0.25 - }); - - if (value <= 400) return true; - return false; -}; diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json deleted file mode 100644 index fb190a06..00000000 --- a/packages/core/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "composite": true, - "outDir": "dist", - "rootDir": "src" - }, - "include": ["src"] -} diff --git a/packages/modern/nodemon.json b/packages/modern/nodemon.json deleted file mode 100644 index 4b38fab7..00000000 --- a/packages/modern/nodemon.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "restartable": "rs", - "ignore": [".git", "node_modules/**/node_modules"], - "verbose": true, - "execMap": { - "ts": "node --require ts-node/register" - }, - "watch": ["src/", "../core/src/"], - "env": { - "NODE_ENV": "development" - }, - "ext": "js,json,ts" -} diff --git a/packages/modern/package.json b/packages/modern/package.json deleted file mode 100644 index b47ce668..00000000 --- a/packages/modern/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "bibata-modern", - "version": "1.0.3", - "description": "Rounded edges bibata cursors 🏳️‍🌈", - "main": "index.js", - "scripts": { - "dev": "nodemon src/index.ts", - "dev:debug": "nodemon --inspect src/index.ts", - "build": "npx tsc --build", - "render": "yarn build && node dist/index.js" - }, - "author": "Kaiz Khatri", - "license": "GPL-3.0", - "private": true, - "devDependencies": { - "nodemon": "^2.0.4", - "ts-node": "^8.10.2", - "tslint": "^6.1.3", - "typescript": "^4.0.5" - } -} diff --git a/packages/original/nodemon.json b/packages/original/nodemon.json deleted file mode 100644 index 4b38fab7..00000000 --- a/packages/original/nodemon.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "restartable": "rs", - "ignore": [".git", "node_modules/**/node_modules"], - "verbose": true, - "execMap": { - "ts": "node --require ts-node/register" - }, - "watch": ["src/", "../core/src/"], - "env": { - "NODE_ENV": "development" - }, - "ext": "js,json,ts" -} diff --git a/packages/original/package.json b/packages/original/package.json deleted file mode 100644 index 08481e87..00000000 --- a/packages/original/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "bibata-original", - "version": "1.0.3", - "description": "Sharp edges bibata cursors 🏳️‍🌈", - "main": "index.js", - "scripts": { - "dev": "nodemon src/index.ts", - "dev:debug": "nodemon --inspect src/index.ts", - "build": "npx tsc --build", - "render": "yarn build && node dist/index.js" - }, - "author": "Kaiz Khatri", - "license": "GPL-3.0", - "private": true, - "devDependencies": { - "nodemon": "^2.0.4", - "ts-node": "^8.10.2", - "tslint": "^6.1.3", - "typescript": "^4.0.5" - } -} diff --git a/packages/rainbow/nodemon.json b/packages/rainbow/nodemon.json deleted file mode 100644 index 4b38fab7..00000000 --- a/packages/rainbow/nodemon.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "restartable": "rs", - "ignore": [".git", "node_modules/**/node_modules"], - "verbose": true, - "execMap": { - "ts": "node --require ts-node/register" - }, - "watch": ["src/", "../core/src/"], - "env": { - "NODE_ENV": "development" - }, - "ext": "js,json,ts" -} diff --git a/packages/rainbow/package.json b/packages/rainbow/package.json deleted file mode 100644 index a4eaf63a..00000000 --- a/packages/rainbow/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "bibata-rainbow", - "version": "1.0.0", - "description": "'semi-animated' bibata cursors with rainbow colors", - "main": "index.js", - "scripts": { - "dev": "nodemon src/index.ts", - "dev:debug": "nodemon --inspect src/index.ts", - "build": "npx tsc --build", - "render": "yarn build && node dist/index.js" - }, - "author": "Kaiz Khatri", - "license": "GPL-3.0", - "private": true, - "devDependencies": { - "nodemon": "^2.0.4", - "ts-node": "^8.10.2", - "tslint": "^6.1.3", - "typescript": "^4.0.5" - } -} diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 45ed4871..00000000 --- a/yarn.lock +++ /dev/null @@ -1,1438 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - -"@types/node@*": - version "14.14.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d" - integrity sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg== - -"@types/pixelmatch@^5.2.1": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@types/pixelmatch/-/pixelmatch-5.2.2.tgz#3403238d4b920bf2255fb6cbf9a098bef796ce62" - integrity sha512-ndpfW/H8+SAiI3wt+f8DlHGgB7OeBdgFgBJ6v/1l3SpJ0MCn9wtXFb4mUccMujN5S4DMmAh7MVy1O3WcXrHUKw== - dependencies: - "@types/node" "*" - -"@types/pngjs@^3.4.2": - version "3.4.2" - resolved "https://registry.yarnpkg.com/@types/pngjs/-/pngjs-3.4.2.tgz#8dc49b45fbcf18a5873179e3664f049388e39ecf" - integrity sha512-LJVPDraJ5YFEnMHnzxTN4psdWz1M61MtaAAWPn3qnDk5fvs7BAmmQ9pd3KPlrdrvozMyne4ktanD4pg0L7x1Pw== - dependencies: - "@types/node" "*" - -"@types/puppeteer@^3.0.1": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-3.0.5.tgz#5ef5d023f45c0dfcc82e97548891b11b6ce868fb" - integrity sha512-NkphUMkpbr/us6hp1AqUh/UxX5Tf2UJU94MvaF8OOgIUPBipYodql+yRjcysJKqwnDkchp+cD/8jntI/C9StzA== - dependencies: - "@types/node" "*" - -"@types/yauzl@^2.9.1": - version "2.9.1" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" - integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== - dependencies: - "@types/node" "*" - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -agent-base@5: - version "5.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" - integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== - -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== - dependencies: - string-width "^3.0.0" - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== - -bl@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" - integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer@^5.2.1, buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -chalk@^2.0.0, chalk@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.2.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cli-boxes@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047" - integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ== - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -commander@^2.12.1: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -debug@4, debug@^4.1.0, debug@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== - dependencies: - ms "2.1.2" - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - dependencies: - clone "^1.0.2" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -devtools-protocol@0.0.809251: - version "0.0.809251" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.809251.tgz#300b3366be107d5c46114ecb85274173e3999518" - integrity sha512-pf+2OY6ghMDPjKkzSWxHMq+McD+9Ojmq5XVRYpv/kPd9sTMQxzEt21592a31API8qRjro0iYYOc3ag46qF/1FA== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -extract-zip@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - dependencies: - pend "~1.2.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob@^7.1.1, glob@^7.1.3: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" - integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A== - dependencies: - ini "^1.3.5" - -got@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@^4.1.2: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -https-proxy-agent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" - integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== - dependencies: - agent-base "5" - debug "4" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" - integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== - dependencies: - has "^1.0.3" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== - dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" - integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-inside@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" - integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -mkdirp@^0.5.3: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - -nodemon@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.6.tgz#1abe1937b463aaf62f0d52e2b7eaadf28cc2240d" - integrity sha512-4I3YDSKXg6ltYpcnZeHompqac4E6JeAMpGm8tJnB9Y3T0ehasLa4139dJOcCrB93HHrUMsCrKtoAlXTqT5n4AQ== - dependencies: - chokidar "^3.2.2" - debug "^3.2.6" - ignore-by-default "^1.0.1" - minimatch "^3.0.4" - pstree.remy "^1.1.7" - semver "^5.7.1" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.3" - update-notifier "^4.1.0" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= - dependencies: - abbrev "1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -ora@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.1.0.tgz#b188cf8cd2d4d9b13fd25383bc3e5cba352c94f8" - integrity sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w== - dependencies: - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.4.0" - is-interactive "^1.0.0" - log-symbols "^4.0.0" - mute-stream "0.0.8" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pixelmatch@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.2.1.tgz#9e4e4f4aa59648208a31310306a5bed5522b0d65" - integrity sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ== - dependencies: - pngjs "^4.0.1" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pngjs@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-4.0.1.tgz#f803869bb2fc1bfe1bf99aa4ec21c108117cfdbe" - integrity sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg== - -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -progress@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -proxy-from-env@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -pstree.remy@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" - integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pupa@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - -puppeteer@^5.2.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.4.1.tgz#f2038eb23a0f593ed2cce0d6e7cd5c43aecd6756" - integrity sha512-8u6r9tFm3gtMylU4uCry1W/CeAA8uczKMONvGvivkTsGqKA7iB7DWO2CBFYlB9GY6/IEoq9vkI5slJWzUBkwNw== - dependencies: - debug "^4.1.0" - devtools-protocol "0.0.809251" - extract-zip "^2.0.0" - https-proxy-agent "^4.0.0" - node-fetch "^2.6.1" - pkg-dir "^4.2.0" - progress "^2.0.1" - proxy-from-env "^1.0.0" - rimraf "^3.0.2" - tar-fs "^2.0.0" - unbzip2-stream "^1.3.3" - ws "^7.2.3" - -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -readable-stream@^3.1.1, readable-stream@^3.4.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - -resolve@^1.3.2: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -semver@^5.3.0, semver@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -source-map-support@^0.5.17: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" - integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== - dependencies: - nopt "~1.0.10" - -ts-node@^8.10.2: - version "8.10.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" - integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== - dependencies: - arg "^4.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tslib@^1.13.0, tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslint@^6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" - integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.3" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.13.0" - tsutils "^2.29.0" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^3.9.7: - version "3.9.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== - -typescript@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" - integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== - -unbzip2-stream@^1.3.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" - integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== - dependencies: - buffer "^5.2.1" - through "^2.3.8" - -undefsafe@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae" - integrity sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A== - dependencies: - debug "^2.2.0" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -update-notifier@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" - integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== - dependencies: - boxen "^4.2.0" - chalk "^3.0.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= - dependencies: - defaults "^1.0.3" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.2.3: - version "7.4.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" - integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From 2b021d2321dff17de95001f5177d5b12bfe227c1 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 18 Feb 2021 20:02:38 +0530 Subject: [PATCH 05/37] =?UTF-8?q?=E2=9C=A8=20Bitmapper=20packages=20update?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitmapper/packages/core/package.json | 10 ++++ bitmapper/packages/core/src/index.ts | 5 ++ bitmapper/packages/core/tsconfig.json | 12 +++++ bitmapper/packages/modern/package.json | 6 +-- bitmapper/packages/modern/src/colors.ts | 27 ----------- bitmapper/packages/modern/src/index.ts | 24 ++-------- bitmapper/packages/modern/tsconfig.json | 14 +++--- bitmapper/packages/original/package.json | 6 +-- bitmapper/packages/original/src/colors.ts | 27 ----------- bitmapper/packages/original/src/index.ts | 24 ++-------- bitmapper/yarn.lock | 57 ++++++++++++++++++++++- 11 files changed, 106 insertions(+), 106 deletions(-) create mode 100644 bitmapper/packages/core/tsconfig.json delete mode 100644 bitmapper/packages/modern/src/colors.ts delete mode 100644 bitmapper/packages/original/src/colors.ts diff --git a/bitmapper/packages/core/package.json b/bitmapper/packages/core/package.json index 53ece898..b464c2b6 100644 --- a/bitmapper/packages/core/package.json +++ b/bitmapper/packages/core/package.json @@ -3,10 +3,20 @@ "version": "1.1.0", "description": "Bibata bitmapper's core modules", "main": "dist/index.js", + "types": "dist/index.d.ts", "author": "Kaiz Khatri", "license": "GPL-3.0", "private": true, "dependencies": { + "pixelmatch": "^5.2.1", + "pngjs": "^6.0.0", "puppeteer": "^7.1.0" + }, + "devDependencies": { + "@types/pixelmatch": "^5.2.2", + "@types/pngjs": "^6.0.0", + "@types/puppeteer": "^5.4.3", + "ts-node": "^9.1.1", + "typescript": "^4.1.5" } } diff --git a/bitmapper/packages/core/src/index.ts b/bitmapper/packages/core/src/index.ts index e69de29b..588aa924 100644 --- a/bitmapper/packages/core/src/index.ts +++ b/bitmapper/packages/core/src/index.ts @@ -0,0 +1,5 @@ +const main = () => { + console.log("Bibata Core"); +}; + +export { main }; diff --git a/bitmapper/packages/core/tsconfig.json b/bitmapper/packages/core/tsconfig.json new file mode 100644 index 00000000..376e7bed --- /dev/null +++ b/bitmapper/packages/core/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "composite": true, + "outDir": "dist", + "rootDir": "src" + }, + "include": ["src"] +} diff --git a/bitmapper/packages/modern/package.json b/bitmapper/packages/modern/package.json index 33423ca9..7458858f 100644 --- a/bitmapper/packages/modern/package.json +++ b/bitmapper/packages/modern/package.json @@ -2,7 +2,7 @@ "name": "bibata-modern", "version": "1.0.3", "description": "Rounded edges bibata cursors", - "main": "index.js", + "main": "dist/index.js", "scripts": { "build": "npx tsc --build", "render": "yarn build && node dist/index.js" @@ -11,7 +11,7 @@ "license": "GPL-3.0", "private": true, "devDependencies": { - "ts-node": "^8.10.2", - "typescript": "^4.0.5" + "ts-node": "^9.1.1", + "typescript": "^4.1.5" } } diff --git a/bitmapper/packages/modern/src/colors.ts b/bitmapper/packages/modern/src/colors.ts deleted file mode 100644 index bc332a59..00000000 --- a/bitmapper/packages/modern/src/colors.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { ThemeColors } from "bibata-core/src/types"; - -// Common Colors -const black = "#000000"; -const white = "#FFFFFF"; -const amber = "#FF8300"; -const richBlack = "#001524"; - -const themeColors: ThemeColors = { - Amber: { - base: amber, - outline: white, - watch: { - background: richBlack - } - }, - Classic: { - base: black, - outline: white - }, - Ice: { - base: white, - outline: black - } -}; - -export { themeColors }; diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index 71d428cd..81bea90a 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -1,22 +1,8 @@ -import { createBitmaps } from "bibata-core"; -import { themeColors } from "./colors"; -import { resolve } from "path"; +import { main } from "bibata-core"; -const main = async () => { - const projectRoot = resolve("../../"); - const args = { - themeName: "Bibata-Modern", - svgDir: resolve("./src/svg"), - bitmapsDir: resolve(projectRoot, "bitmaps"), - themeColors - }; - - try { - await createBitmaps(args); - process.exit(0); - } catch (error) { - console.error(error); - } +const hmm = async () => { + main(); + console.log("Bibata modern"); }; -main(); +hmm(); diff --git a/bitmapper/packages/modern/tsconfig.json b/bitmapper/packages/modern/tsconfig.json index 2ca28c0a..bb3d9cbc 100644 --- a/bitmapper/packages/modern/tsconfig.json +++ b/bitmapper/packages/modern/tsconfig.json @@ -1,9 +1,9 @@ { - "references": [{ "path": "../core" }], - "extends": "../../tsconfig.json", - "compilerOptions": { - "rootDir": "src", - "outDir": "dist" - }, - "include": ["src"] + "references": [{ "path": "../core" }], + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist" + }, + "include": ["src"] } diff --git a/bitmapper/packages/original/package.json b/bitmapper/packages/original/package.json index 08c56dae..d5320306 100644 --- a/bitmapper/packages/original/package.json +++ b/bitmapper/packages/original/package.json @@ -2,7 +2,7 @@ "name": "bibata-original", "version": "1.0.3", "description": "Sharp edges bibata cursors", - "main": "index.js", + "main": "dist/index.js", "scripts": { "build": "npx tsc --build", "render": "yarn build && node dist/index.js" @@ -11,7 +11,7 @@ "license": "GPL-3.0", "private": true, "devDependencies": { - "ts-node": "^8.10.2", - "typescript": "^4.0.5" + "ts-node": "^9.1.1", + "typescript": "^4.1.5" } } diff --git a/bitmapper/packages/original/src/colors.ts b/bitmapper/packages/original/src/colors.ts deleted file mode 100644 index bc332a59..00000000 --- a/bitmapper/packages/original/src/colors.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { ThemeColors } from "bibata-core/src/types"; - -// Common Colors -const black = "#000000"; -const white = "#FFFFFF"; -const amber = "#FF8300"; -const richBlack = "#001524"; - -const themeColors: ThemeColors = { - Amber: { - base: amber, - outline: white, - watch: { - background: richBlack - } - }, - Classic: { - base: black, - outline: white - }, - Ice: { - base: white, - outline: black - } -}; - -export { themeColors }; diff --git a/bitmapper/packages/original/src/index.ts b/bitmapper/packages/original/src/index.ts index 56412d04..549f7c9a 100644 --- a/bitmapper/packages/original/src/index.ts +++ b/bitmapper/packages/original/src/index.ts @@ -1,22 +1,8 @@ -import { createBitmaps } from "bibata-core"; -import { themeColors } from "./colors"; -import { resolve } from "path"; +import { main } from "bibata-core"; -const main = async () => { - const projectRoot = resolve("../../"); - const args = { - themeName: "Bibata-Original", - svgDir: resolve("./src/svg"), - bitmapsDir: resolve(projectRoot, "bitmaps"), - themeColors - }; - - try { - await createBitmaps(args); - process.exit(0); - } catch (error) { - console.error(error); - } +const hmm = async () => { + main(); + console.log("Bibata Original"); }; -main(); +hmm(); diff --git a/bitmapper/yarn.lock b/bitmapper/yarn.lock index b9ecbbd1..503f6ba6 100644 --- a/bitmapper/yarn.lock +++ b/bitmapper/yarn.lock @@ -7,6 +7,27 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.28.tgz#cade4b64f8438f588951a6b35843ce536853f25b" integrity sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g== +"@types/pixelmatch@^5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@types/pixelmatch/-/pixelmatch-5.2.2.tgz#3403238d4b920bf2255fb6cbf9a098bef796ce62" + integrity sha512-ndpfW/H8+SAiI3wt+f8DlHGgB7OeBdgFgBJ6v/1l3SpJ0MCn9wtXFb4mUccMujN5S4DMmAh7MVy1O3WcXrHUKw== + dependencies: + "@types/node" "*" + +"@types/pngjs@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@types/pngjs/-/pngjs-6.0.0.tgz#d5372348793a383eb2220e43b661af61daf364b8" + integrity sha512-PyZJHtd/mGA9a+cb3RQvd2pj56OIoo522sEhGZvq9THfBv5skyPRo50o3Hvy+n6U0u8RWteMHhlvLfN4FOZTaA== + dependencies: + "@types/node" "*" + +"@types/puppeteer@^5.4.3": + version "5.4.3" + resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-5.4.3.tgz#cdca84aa7751d77448d8a477dbfa0af1f11485f2" + integrity sha512-3nE8YgR9DIsgttLW+eJf6mnXxq8Ge+27m5SU3knWmrlfl6+KOG0Bf9f7Ua7K+C4BnaTMAh3/UpySqdAYvrsvjg== + dependencies: + "@types/node" "*" + "@types/yauzl@^2.9.1": version "2.9.1" resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" @@ -81,6 +102,11 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + debug@4, debug@^4.1.0, debug@^4.1.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" @@ -261,6 +287,13 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= +pixelmatch@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.2.1.tgz#9e4e4f4aa59648208a31310306a5bed5522b0d65" + integrity sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ== + dependencies: + pngjs "^4.0.1" + pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -268,6 +301,16 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pngjs@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-4.0.1.tgz#f803869bb2fc1bfe1bf99aa4ec21c108117cfdbe" + integrity sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg== + +pngjs@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-6.0.0.tgz#ca9e5d2aa48db0228a52c419c3308e87720da821" + integrity sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg== + progress@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -382,7 +425,19 @@ ts-node@^8.10.2: source-map-support "^0.5.17" yn "3.1.1" -typescript@^4.0.5: +ts-node@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +typescript@^4.0.5, typescript@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== From 6ac32d13f3c294652dddf5c6a5c03279911f14fe Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 18 Feb 2021 20:25:10 +0530 Subject: [PATCH 06/37] =?UTF-8?q?=F0=9F=94=A8=20Makefile=20&=20Changelogs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + bitmapper/Makefile | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 bitmapper/Makefile diff --git a/CHANGELOG.md b/CHANGELOG.md index f5dd10a3..5c8a203e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - new **[copr](https://copr.fedorainfracloud.org/coprs/peterwu/rendezvous/package/bibata-cursor-themes/)** package by @peterwu +- `.svg` files separated to `/svg` ### Changed diff --git a/bitmapper/Makefile b/bitmapper/Makefile new file mode 100644 index 00000000..74165305 --- /dev/null +++ b/bitmapper/Makefile @@ -0,0 +1,21 @@ +all: install render + +.PHONY: all + +clean: + @find . -type f -name "yarn.lock" -exec rm -rf "{}" +; + @find . -type d -name "node_modules" -exec rm -rf "{}" +; + +node_modules: + @mkdir -p $@ + +install: node_modules package.json + @yarn install + +render_bibata_modern: + @yarn render:bibata-modern + +render_bibata_original: + @yarn render:bibata-original + +render: render_bibata_modern render_bibata_original From af55c59c3436f688212610cf2ec0f9cbb612c6bf Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Fri, 19 Feb 2021 17:05:19 +0530 Subject: [PATCH 07/37] =?UTF-8?q?=F0=9F=8C=88=20Custom=20colors=20in=20Bib?= =?UTF-8?q?ata's=20svg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In previous version, svg's colors replaced by batch proccess.Thats also consume more memory. ColoredSvgGenerator class shrink down to simple function. --- bitmapper/packages/core/src/index.ts | 53 ++++++++++++++++++++++++-- bitmapper/packages/core/src/types.ts | 20 ++++++++++ bitmapper/packages/modern/src/index.ts | 9 ++--- 3 files changed, 73 insertions(+), 9 deletions(-) create mode 100644 bitmapper/packages/core/src/types.ts diff --git a/bitmapper/packages/core/src/index.ts b/bitmapper/packages/core/src/index.ts index 588aa924..9a3bdff1 100644 --- a/bitmapper/packages/core/src/index.ts +++ b/bitmapper/packages/core/src/index.ts @@ -1,5 +1,52 @@ -const main = () => { - console.log("Bibata Core"); +import { Colors } from "./types"; + +/** + * Default Key Colors for generating colored svg. + * base="#00FF00" (Green) + * outline="#0000FF" (Blue) + * watch.background="#FF0000" (Red) + * */ +const defaultKeyColors: Colors = { + base: "#00FF00", + outline: "#0000FF", + watch: { + background: "#FF0000", + }, }; -export { main }; +/** + * Customize colors of svg code. + * @param {string} content SVG code. + * @param {Colors} colors Customize colors. + * @param {Colors} [keys] Colors Key, That was written SVG code. + * @returns {string} SVG code with colors. + */ +const colorSvg = ( + content: string, + colors: Colors, + keys: Colors = defaultKeyColors +): string => { + content = content + .replace(new RegExp(keys.base, "ig"), colors.base) + .replace(new RegExp(keys.outline, "ig"), colors.outline); + + try { + // === trying to replace `watch` color === + + if (!colors.watch?.background) { + throw new Error(""); + } + const { background: b } = colors.watch; + content = content.replace(new RegExp(keys.watch!.background, "ig"), b); // Watch Background + } catch (error) { + // === on error => replace `watch` color as `base` === + + content = content.replace( + new RegExp(keys.watch!.background, "ig"), + colors.base + ); + } + return content; +}; + +export { colorSvg }; diff --git a/bitmapper/packages/core/src/types.ts b/bitmapper/packages/core/src/types.ts new file mode 100644 index 00000000..cd5ddb33 --- /dev/null +++ b/bitmapper/packages/core/src/types.ts @@ -0,0 +1,20 @@ +/** + * Hex Colors in string Format. + * + * `Example: `"#FFFFFF" + */ +type HexColor = string; + +/** + * @Colors expect `base`, `outline` & `watch-background` colors in **HexColor** Format. + * @default background is `base` color. + */ +type Colors = { + base: HexColor; + outline: HexColor; + watch?: { + background: HexColor; + }; +}; + +export { Colors }; diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index 81bea90a..7d395430 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -1,8 +1,5 @@ -import { main } from "bibata-core"; - -const hmm = async () => { - main(); - console.log("Bibata modern"); +const main = async () => { + console.log("Bibata Modern"); }; -hmm(); +main(); From 4329aca7aa0dbde6f6de5ca4504b5156b0849e69 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Fri, 19 Feb 2021 18:19:26 +0530 Subject: [PATCH 08/37] =?UTF-8?q?=F0=9F=93=A6=20SvgHandler=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All SVG files related operation done by "SVGHandler" module. This module had capability to Parse SVG files directory & Change colors of it. --- .../core/src/SVGHandler/SvgDirectoryParser.ts | 67 +++++++++++++++++++ .../packages/core/src/SVGHandler/colorSvg.ts | 52 ++++++++++++++ .../packages/core/src/SVGHandler/index.ts | 4 ++ bitmapper/packages/core/src/index.ts | 53 +-------------- 4 files changed, 125 insertions(+), 51 deletions(-) create mode 100644 bitmapper/packages/core/src/SVGHandler/SvgDirectoryParser.ts create mode 100644 bitmapper/packages/core/src/SVGHandler/colorSvg.ts create mode 100644 bitmapper/packages/core/src/SVGHandler/index.ts diff --git a/bitmapper/packages/core/src/SVGHandler/SvgDirectoryParser.ts b/bitmapper/packages/core/src/SVGHandler/SvgDirectoryParser.ts new file mode 100644 index 00000000..33f90202 --- /dev/null +++ b/bitmapper/packages/core/src/SVGHandler/SvgDirectoryParser.ts @@ -0,0 +1,67 @@ +import fs from "fs"; +import path from "path"; + +class SvgDirectoryParser { + /** + * Manage and Parse SVG file path in `absolute` fashion. + * This Parser look svg files as below fashion: + * ` + * <@svgDir>/static + * <@svgDir>/animated + * ` + * @param svgDir is relative/absolute path, Where `SVG` files are stored. + */ + semiAnimated: boolean = false; + constructor(private svgDir: string) { + if (!fs.existsSync(this.svgDir)) { + throw new Error(`SVG files not found in ${this.svgDir}`); + } + } + + /** + * Return absolute paths array of SVG files located inside '@svgDir/static' + */ + public getStatic(): string[] { + const staticDir = path.resolve(this.svgDir, "static"); + + if (!fs.existsSync(staticDir)) { + console.log(`${this.svgDir} contains semi-animated .svg files`); + this.semiAnimated = true; + return []; + } else { + const staticCursors = fs + .readdirSync(staticDir) + .map((f) => path.resolve(staticDir, f)); + + if (staticCursors.length == 0) { + throw new Error("Static Cursors directory is empty"); + } + return staticCursors; + } + } + + /** + * Return absolute paths array of SVG files located inside '@svgDir/animated' + */ + public getAnimated(): string[] { + const animatedDir = path.resolve(this.svgDir, "animated"); + + if (!fs.existsSync(animatedDir)) { + throw new Error("Animated Cursors directory not found"); + } + + const animatedCursors = fs + .readdirSync(animatedDir) + .map((f) => path.resolve(animatedDir, f)); + + if (animatedCursors.length == 0 && this.semiAnimated) { + throw new Error( + `Can't parse svg directory ${this.svgDir} as semi-animated theme` + ); + } + + return animatedCursors; + } +} + +export { SvgDirectoryParser }; diff --git a/bitmapper/packages/core/src/SVGHandler/colorSvg.ts b/bitmapper/packages/core/src/SVGHandler/colorSvg.ts new file mode 100644 index 00000000..148dcd20 --- /dev/null +++ b/bitmapper/packages/core/src/SVGHandler/colorSvg.ts @@ -0,0 +1,52 @@ +import { Colors } from "../types"; + +/** + * Default Key Colors for generating colored svg. + * base="#00FF00" (Green) + * outline="#0000FF" (Blue) + * watch.background="#FF0000" (Red) + * */ +const defaultKeyColors: Colors = { + base: "#00FF00", + outline: "#0000FF", + watch: { + background: "#FF0000", + }, +}; + +/** + * Customize colors of svg code. + * @param {string} content SVG code. + * @param {Colors} colors Customize colors. + * @param {Colors} [keys] Colors Key, That was written SVG code. + * @returns {string} SVG code with colors. + */ +const colorSvg = ( + content: string, + colors: Colors, + keys: Colors = defaultKeyColors +): string => { + content = content + .replace(new RegExp(keys.base, "ig"), colors.base) + .replace(new RegExp(keys.outline, "ig"), colors.outline); + + try { + // === trying to replace `watch` color === + + if (!colors.watch?.background) { + throw new Error(""); + } + const { background: b } = colors.watch; + content = content.replace(new RegExp(keys.watch!.background, "ig"), b); // Watch Background + } catch (error) { + // === on error => replace `watch` color as `base` === + + content = content.replace( + new RegExp(keys.watch!.background, "ig"), + colors.base + ); + } + return content; +}; + +export { colorSvg }; diff --git a/bitmapper/packages/core/src/SVGHandler/index.ts b/bitmapper/packages/core/src/SVGHandler/index.ts new file mode 100644 index 00000000..308a4335 --- /dev/null +++ b/bitmapper/packages/core/src/SVGHandler/index.ts @@ -0,0 +1,4 @@ +import { colorSvg } from "./colorSvg"; +import { SvgDirectoryParser } from "./SvgDirectoryParser"; + +export { colorSvg, SvgDirectoryParser }; diff --git a/bitmapper/packages/core/src/index.ts b/bitmapper/packages/core/src/index.ts index 9a3bdff1..4219ee7c 100644 --- a/bitmapper/packages/core/src/index.ts +++ b/bitmapper/packages/core/src/index.ts @@ -1,52 +1,3 @@ -import { Colors } from "./types"; +import * as SVGHandler from "./SVGHandler"; -/** - * Default Key Colors for generating colored svg. - * base="#00FF00" (Green) - * outline="#0000FF" (Blue) - * watch.background="#FF0000" (Red) - * */ -const defaultKeyColors: Colors = { - base: "#00FF00", - outline: "#0000FF", - watch: { - background: "#FF0000", - }, -}; - -/** - * Customize colors of svg code. - * @param {string} content SVG code. - * @param {Colors} colors Customize colors. - * @param {Colors} [keys] Colors Key, That was written SVG code. - * @returns {string} SVG code with colors. - */ -const colorSvg = ( - content: string, - colors: Colors, - keys: Colors = defaultKeyColors -): string => { - content = content - .replace(new RegExp(keys.base, "ig"), colors.base) - .replace(new RegExp(keys.outline, "ig"), colors.outline); - - try { - // === trying to replace `watch` color === - - if (!colors.watch?.background) { - throw new Error(""); - } - const { background: b } = colors.watch; - content = content.replace(new RegExp(keys.watch!.background, "ig"), b); // Watch Background - } catch (error) { - // === on error => replace `watch` color as `base` === - - content = content.replace( - new RegExp(keys.watch!.background, "ig"), - colors.base - ); - } - return content; -}; - -export { colorSvg }; +export { SVGHandler }; From 99dde92a8a9fad8dc16b87762f07567913ba6493 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Fri, 19 Feb 2021 20:04:20 +0530 Subject: [PATCH 09/37] =?UTF-8?q?=F0=9F=96=BC=EF=B8=8F=20BitmapsGenerator?= =?UTF-8?q?=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/core/src/BitmapsGenerator.ts | 72 +++++++++++++++++++ bitmapper/packages/core/src/index.ts | 3 +- bitmapper/packages/modern/src/index.ts | 17 ++++- 3 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 bitmapper/packages/core/src/BitmapsGenerator.ts diff --git a/bitmapper/packages/core/src/BitmapsGenerator.ts b/bitmapper/packages/core/src/BitmapsGenerator.ts new file mode 100644 index 00000000..7c604434 --- /dev/null +++ b/bitmapper/packages/core/src/BitmapsGenerator.ts @@ -0,0 +1,72 @@ +import fs from "fs"; +import path from "path"; + +import * as puppeteer from "puppeteer"; + +class BitmapsGenerator { + /** + * Generate Png files from svg code. + * @param themeName Give name, So all bitmaps files are organized in one directory. + * @param bitmapsDir `absolute` or `relative` path, Where `.png` files will store. + */ + constructor( + private bitmapsDir: string, + private readonly themeName: string + ) { + this.bitmapsDir = path.resolve(bitmapsDir, themeName); + this.createDir(this.bitmapsDir); + + // TODO + console.log(this.themeName); + } + + /** + * Prepare headless browser. + */ + async initialize() {} + + static async create(bitmapsDir: string, themeName: string) { + const newObject = new BitmapsGenerator(bitmapsDir, themeName); + await newObject.initialize(); + } + + /** + * Create directory if it doesn't exists. + * @param dirPath directory `absolute` path. + */ + private createDir(dirPath: string) { + if (!fs.existsSync(dirPath)) { + fs.mkdirSync(dirPath, { recursive: true }); + } + } + + protected async staticPng(page: puppeteer.Page) { + // TODO + console.log("Static"); + await page.close(); + } + + protected async animatedPng(page: puppeteer.Page) { + // TODO + console.log("animated"); + await page.close(); + } + + public async getBrowser() { + return await puppeteer.launch({ + ignoreDefaultArgs: [" --single-process ", "--no-sandbox"], + headless: true, + }); + } + public async toPng( + browser: puppeteer.Browser, + content: string, + animated: boolean = false + ) { + const page = await browser.newPage(); + await page.setContent(content); + + animated ? this.animatedPng(page) : this.staticPng(page); + } +} +export { BitmapsGenerator }; diff --git a/bitmapper/packages/core/src/index.ts b/bitmapper/packages/core/src/index.ts index 4219ee7c..2fe958b3 100644 --- a/bitmapper/packages/core/src/index.ts +++ b/bitmapper/packages/core/src/index.ts @@ -1,3 +1,4 @@ +import { BitmapsGenerator } from "./BitmapsGenerator"; import * as SVGHandler from "./SVGHandler"; -export { SVGHandler }; +export { BitmapsGenerator, SVGHandler }; diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index 7d395430..128f9732 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -1,5 +1,20 @@ +import path from "path"; + +import { BitmapsGenerator, SVGHandler } from "bibata-core"; + +const root = path.resolve(__dirname, "../../../../"); +const svgDir = path.resolve(root, "svg", "modern"); + const main = async () => { - console.log("Bibata Modern"); + const SVG = new SVGHandler.SvgDirectoryParser(svgDir); + + SVG.getStatic().forEach((svg) => { + console.log(svg); + }); + + SVG.getAnimated().forEach((svg) => { + console.log(svg); + }); }; main(); From 05a7d723f6130c7d07c25d7be49ea0fc791ea5cd Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Sat, 20 Feb 2021 17:49:57 +0530 Subject: [PATCH 10/37] =?UTF-8?q?=F0=9F=96=BC=EF=B8=8F=20Render=20static?= =?UTF-8?q?=20pngs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/core/src/BitmapsGenerator.ts | 91 ++++++++++++------- bitmapper/packages/core/src/util/toHTML.ts | 19 ++++ bitmapper/packages/modern/src/index.ts | 29 +++++- 3 files changed, 99 insertions(+), 40 deletions(-) create mode 100644 bitmapper/packages/core/src/util/toHTML.ts diff --git a/bitmapper/packages/core/src/BitmapsGenerator.ts b/bitmapper/packages/core/src/BitmapsGenerator.ts index 7c604434..b3403175 100644 --- a/bitmapper/packages/core/src/BitmapsGenerator.ts +++ b/bitmapper/packages/core/src/BitmapsGenerator.ts @@ -1,7 +1,9 @@ import fs from "fs"; import path from "path"; -import * as puppeteer from "puppeteer"; +import puppeteer, { Browser } from "puppeteer"; + +import { toHTML } from "./util/toHTML"; class BitmapsGenerator { /** @@ -9,25 +11,9 @@ class BitmapsGenerator { * @param themeName Give name, So all bitmaps files are organized in one directory. * @param bitmapsDir `absolute` or `relative` path, Where `.png` files will store. */ - constructor( - private bitmapsDir: string, - private readonly themeName: string - ) { - this.bitmapsDir = path.resolve(bitmapsDir, themeName); + constructor(private bitmapsDir: string) { + this.bitmapsDir = path.resolve(bitmapsDir); this.createDir(this.bitmapsDir); - - // TODO - console.log(this.themeName); - } - - /** - * Prepare headless browser. - */ - async initialize() {} - - static async create(bitmapsDir: string, themeName: string) { - const newObject = new BitmapsGenerator(bitmapsDir, themeName); - await newObject.initialize(); } /** @@ -40,33 +26,68 @@ class BitmapsGenerator { } } - protected async staticPng(page: puppeteer.Page) { - // TODO - console.log("Static"); - await page.close(); - } + // private async screenshot( + // element: ElementHandle + // ): Promise { + // return element.screenshot({ + // omitBackground: true, + // encoding: "binary", + // }); + // } - protected async animatedPng(page: puppeteer.Page) { - // TODO - console.log("animated"); - await page.close(); - } + // private async stopAnimation(page: Page) { + // // @ts-ignore + // await page._client.send("Animation.setPlaybackRate", { + // playbackRate: 0, + // }); + // } + // + // private async resumeAnimation(page: Page, playbackRate: number = 0.1) { + // // @ts-ignore + // await page._client.send("Animation.setPlaybackRate", { + // playbackRate, + // }); + // } + // + // private async saveFrameImage(key: string, frame: Buffer) { + // const out_path = path.resolve(outDir, key); + // fs.writeFileSync(out_path, frame, { encoding: "binary" }); + // } - public async getBrowser() { + /** + * Prepare headless browser. + */ + public async getBrowser(): Promise { return await puppeteer.launch({ ignoreDefaultArgs: [" --single-process ", "--no-sandbox"], headless: true, }); } - public async toPng( - browser: puppeteer.Browser, + public async generate( + browser: Browser, content: string, + out: string, animated: boolean = false ) { - const page = await browser.newPage(); - await page.setContent(content); + if (!content) { + throw new Error(`${content} File Read error`); + } - animated ? this.animatedPng(page) : this.staticPng(page); + const page = await browser.newPage(); + const html = toHTML(content); + await page.setContent(html); + + const svg = await page.$("#container svg"); + + if (!svg) { + throw new Error("svg element not found!"); + } + + if (animated) { + console.log("animated"); + } else { + await svg.screenshot({ omitBackground: true, path: out }); + } } } export { BitmapsGenerator }; diff --git a/bitmapper/packages/core/src/util/toHTML.ts b/bitmapper/packages/core/src/util/toHTML.ts new file mode 100644 index 00000000..aecb3d79 --- /dev/null +++ b/bitmapper/packages/core/src/util/toHTML.ts @@ -0,0 +1,19 @@ +export const template = ` + + + + + + Render Template + + + +
+ +
+ + +`; + +export const toHTML = (svgData: string): string => + template.replace("", svgData); diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index 128f9732..5e7040f5 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -1,19 +1,38 @@ import path from "path"; +import fs from "fs"; import { BitmapsGenerator, SVGHandler } from "bibata-core"; +import { Colors } from "bibata-core/src/types"; const root = path.resolve(__dirname, "../../../../"); const svgDir = path.resolve(root, "svg", "modern"); +const themeName = "Bibata-Modern"; +const bitmapsDir = path.resolve(root, "bitmaps", themeName); + +const color: Colors = { + base: "#000000", + outline: "#FFFFFF", + watch: { + background: "#FFFFFF", + }, +}; + const main = async () => { const SVG = new SVGHandler.SvgDirectoryParser(svgDir); - SVG.getStatic().forEach((svg) => { - console.log(svg); - }); + const png = new BitmapsGenerator(bitmapsDir); + const browser = await png.getBrowser(); - SVG.getAnimated().forEach((svg) => { - console.log(svg); + SVG.getStatic().forEach(async (svg) => { + const key = `${path.basename(svg, ".svg")}.png`; + console.log("Saving", key, "..."); + const out = path.resolve(bitmapsDir, key); + + let content = fs.readFileSync(svg, "utf-8"); + content = SVGHandler.colorSvg(content, color); + + await png.generate(browser, content, out); }); }; From 3116d8f50d718ebc5b566eb2ba258a79b3c0e272 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Sat, 20 Feb 2021 19:32:39 +0530 Subject: [PATCH 11/37] =?UTF-8?q?=F0=9F=96=BC=EF=B8=8F=20Animated=20pngs?= =?UTF-8?q?=20render?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/core/src/BitmapsGenerator.ts | 149 +++++++++++++----- .../packages/core/src/util/frameNumber.ts | 7 + .../packages/core/src/util/matchImages.ts | 11 ++ bitmapper/packages/modern/src/index.ts | 19 ++- 4 files changed, 141 insertions(+), 45 deletions(-) create mode 100644 bitmapper/packages/core/src/util/frameNumber.ts create mode 100644 bitmapper/packages/core/src/util/matchImages.ts diff --git a/bitmapper/packages/core/src/BitmapsGenerator.ts b/bitmapper/packages/core/src/BitmapsGenerator.ts index b3403175..8d6b946c 100644 --- a/bitmapper/packages/core/src/BitmapsGenerator.ts +++ b/bitmapper/packages/core/src/BitmapsGenerator.ts @@ -1,8 +1,10 @@ import fs from "fs"; import path from "path"; -import puppeteer, { Browser } from "puppeteer"; +import puppeteer, { Browser, ElementHandle, Page } from "puppeteer"; +import { frameNumber } from "./util/frameNumber"; +import { matchImages } from "./util/matchImages"; import { toHTML } from "./util/toHTML"; class BitmapsGenerator { @@ -26,34 +28,6 @@ class BitmapsGenerator { } } - // private async screenshot( - // element: ElementHandle - // ): Promise { - // return element.screenshot({ - // omitBackground: true, - // encoding: "binary", - // }); - // } - - // private async stopAnimation(page: Page) { - // // @ts-ignore - // await page._client.send("Animation.setPlaybackRate", { - // playbackRate: 0, - // }); - // } - // - // private async resumeAnimation(page: Page, playbackRate: number = 0.1) { - // // @ts-ignore - // await page._client.send("Animation.setPlaybackRate", { - // playbackRate, - // }); - // } - // - // private async saveFrameImage(key: string, frame: Buffer) { - // const out_path = path.resolve(outDir, key); - // fs.writeFileSync(out_path, frame, { encoding: "binary" }); - // } - /** * Prepare headless browser. */ @@ -63,17 +37,15 @@ class BitmapsGenerator { headless: true, }); } - public async generate( - browser: Browser, - content: string, - out: string, - animated: boolean = false - ) { + + private async getSvgElement( + page: Page, + content: string + ): Promise> { if (!content) { throw new Error(`${content} File Read error`); } - const page = await browser.newPage(); const html = toHTML(content); await page.setContent(html); @@ -82,12 +54,109 @@ class BitmapsGenerator { if (!svg) { throw new Error("svg element not found!"); } + return svg; + } - if (animated) { - console.log("animated"); - } else { - await svg.screenshot({ omitBackground: true, path: out }); + public async generateStatic( + browser: Browser, + content: string, + key: string + ) { + const page = await browser.newPage(); + const svg = await this.getSvgElement(page, content); + + const out = path.resolve(this.bitmapsDir, key); + + console.log("Saving", key, "..."); + await svg.screenshot({ omitBackground: true, path: out }); + await page.close(); + } + + private async screenshot( + element: ElementHandle + ): Promise { + const buffer = await element.screenshot({ + encoding: "binary", + omitBackground: true, + }); + + if (!buffer) { + throw new Error("SVG element screenshot not working"); } + return buffer; + } + + private async stopAnimation(page: Page) { + //@ts-ignore + await page._client.send("Animation.setPlaybackRate", { + playbackRate: 0, + }); + } + + private async resumeAnimation(page: Page, playbackRate: number) { + //@ts-ignore + await page._client.send("Animation.setPlaybackRate", { + playbackRate, + }); + } + + private async saveFrameImage(key: string, frame: Buffer | string) { + const out_path = path.resolve(this.bitmapsDir, key); + fs.writeFileSync(out_path, frame); + } + + public async generateAnimated( + browser: Browser, + content: string, + key: string, + options: { + playbackRate: number; + diff: number; + frameLimit: number; + framePadding: number; + } = { + playbackRate: 0.3, + diff: 0, + frameLimit: 300, + framePadding: 3, + } + ) { + const page = await browser.newPage(); + const svg = await this.getSvgElement(page, content); + await this.stopAnimation(page); + + let index = 1; + let breakRendering = false; + let prevImg: Buffer | string; + + // Rendering frames till `imgN` matched to `imgN-1` (When Animation is done) + while (!breakRendering) { + if (index > options.frameLimit) { + throw new Error("Reached the frame limit."); + } + + this.resumeAnimation(page, options.playbackRate); + const img: string | Buffer = await this.screenshot(svg); + this.stopAnimation(page); + + if (index > 1) { + // @ts-ignore + const diff = matchImages(prevImg, img); + if (diff <= options.diff) { + breakRendering = !breakRendering; + } + } + const number = frameNumber(index, options.framePadding); + const frame = `${key}-${number}.png`; + + console.log("Saving", frame, "..."); + this.saveFrameImage(frame, img); + + prevImg = img; + ++index; + } + + await page.close(); } } export { BitmapsGenerator }; diff --git a/bitmapper/packages/core/src/util/frameNumber.ts b/bitmapper/packages/core/src/util/frameNumber.ts new file mode 100644 index 00000000..76d1165c --- /dev/null +++ b/bitmapper/packages/core/src/util/frameNumber.ts @@ -0,0 +1,7 @@ +export const frameNumber = (index: number, padding: number) => { + let result = "" + index; + while (result.length < padding) { + result = "0" + result; + } + return result; +}; diff --git a/bitmapper/packages/core/src/util/matchImages.ts b/bitmapper/packages/core/src/util/matchImages.ts new file mode 100644 index 00000000..625d2bd5 --- /dev/null +++ b/bitmapper/packages/core/src/util/matchImages.ts @@ -0,0 +1,11 @@ +import Pixelmatch from "pixelmatch"; +import { PNG } from "pngjs"; + +export const matchImages = (img1: Buffer, img2: Buffer): number => { + const { data: img1Data, width, height } = PNG.sync.read(img1); + const { data: imgNData } = PNG.sync.read(img2); + + return Pixelmatch(img1Data, imgNData, null, width, height, { + threshold: 0.1, + }); +}; diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index 5e7040f5..cc63480e 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -24,16 +24,25 @@ const main = async () => { const png = new BitmapsGenerator(bitmapsDir); const browser = await png.getBrowser(); - SVG.getStatic().forEach(async (svg) => { + for (const svg of SVG.getStatic()) { const key = `${path.basename(svg, ".svg")}.png`; - console.log("Saving", key, "..."); - const out = path.resolve(bitmapsDir, key); let content = fs.readFileSync(svg, "utf-8"); content = SVGHandler.colorSvg(content, color); - await png.generate(browser, content, out); - }); + await png.generateStatic(browser, content, key); + } + + for (const svg of SVG.getAnimated()) { + const key = `${path.basename(svg, ".svg")}.png`; + + let content = fs.readFileSync(svg, "utf-8"); + content = SVGHandler.colorSvg(content, color); + + await png.generateAnimated(browser, content, key); + } + + await browser.close(); }; main(); From 027b2be19bff890323fee235dd4a80d1e8a7789e Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Sat, 20 Feb 2021 19:33:06 +0530 Subject: [PATCH 12/37] =?UTF-8?q?=E2=9A=A1=20Tweak=20animations=20to=20run?= =?UTF-8?q?=20one=20time?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- svg/modern/animated/left_ptr_watch.svg | 10 +++++----- svg/modern/animated/wait.svg | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/svg/modern/animated/left_ptr_watch.svg b/svg/modern/animated/left_ptr_watch.svg index f7b0cf87..78155530 100644 --- a/svg/modern/animated/left_ptr_watch.svg +++ b/svg/modern/animated/left_ptr_watch.svg @@ -18,24 +18,24 @@ - - - - @@ -66,4 +66,4 @@ - \ No newline at end of file + diff --git a/svg/modern/animated/wait.svg b/svg/modern/animated/wait.svg index ebd82823..fe442a60 100644 --- a/svg/modern/animated/wait.svg +++ b/svg/modern/animated/wait.svg @@ -11,24 +11,24 @@ - - - - @@ -48,4 +48,4 @@ - \ No newline at end of file + From 6c44d156423ab8094bd01fbb0d619f76421bab26 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Sat, 20 Feb 2021 19:55:35 +0530 Subject: [PATCH 13/37] =?UTF-8?q?=F0=9F=92=85=20Code=20refactor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/core/src/BitmapsGenerator.ts | 2 +- .../core/src/SVGHandler/SvgDirectoryParser.ts | 36 ++++++++++++------- bitmapper/packages/modern/src/index.ts | 13 ++----- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/bitmapper/packages/core/src/BitmapsGenerator.ts b/bitmapper/packages/core/src/BitmapsGenerator.ts index 8d6b946c..9580f2fa 100644 --- a/bitmapper/packages/core/src/BitmapsGenerator.ts +++ b/bitmapper/packages/core/src/BitmapsGenerator.ts @@ -65,7 +65,7 @@ class BitmapsGenerator { const page = await browser.newPage(); const svg = await this.getSvgElement(page, content); - const out = path.resolve(this.bitmapsDir, key); + const out = path.resolve(this.bitmapsDir, `${key}.png`); console.log("Saving", key, "..."); await svg.screenshot({ omitBackground: true, path: out }); diff --git a/bitmapper/packages/core/src/SVGHandler/SvgDirectoryParser.ts b/bitmapper/packages/core/src/SVGHandler/SvgDirectoryParser.ts index 33f90202..65756dad 100644 --- a/bitmapper/packages/core/src/SVGHandler/SvgDirectoryParser.ts +++ b/bitmapper/packages/core/src/SVGHandler/SvgDirectoryParser.ts @@ -1,6 +1,11 @@ import fs from "fs"; import path from "path"; +interface Svg { + key: string; + content: string; +} + class SvgDirectoryParser { /** * Manage and Parse SVG file path in `absolute` fashion. @@ -18,10 +23,16 @@ class SvgDirectoryParser { } } + private readData(f: string): Svg { + const content = fs.readFileSync(f, "utf-8"); + const key = path.basename(f, ".svg"); + return { content, key }; + } + /** - * Return absolute paths array of SVG files located inside '@svgDir/static' + * Return absolute paths array of SVG files data located inside '@svgDir/static' */ - public getStatic(): string[] { + public getStatic(): Svg[] { const staticDir = path.resolve(this.svgDir, "static"); if (!fs.existsSync(staticDir)) { @@ -29,38 +40,37 @@ class SvgDirectoryParser { this.semiAnimated = true; return []; } else { - const staticCursors = fs + const svgs = fs .readdirSync(staticDir) - .map((f) => path.resolve(staticDir, f)); + .map((f) => this.readData(path.resolve(staticDir, f))); - if (staticCursors.length == 0) { + if (svgs.length == 0) { throw new Error("Static Cursors directory is empty"); } - return staticCursors; + return svgs; } } - /** - * Return absolute paths array of SVG files located inside '@svgDir/animated' + * Return absolute paths array of SVG files data located inside '@svgDir/animated' */ - public getAnimated(): string[] { + public getAnimated(): Svg[] { const animatedDir = path.resolve(this.svgDir, "animated"); if (!fs.existsSync(animatedDir)) { throw new Error("Animated Cursors directory not found"); } - const animatedCursors = fs + const svgs = fs .readdirSync(animatedDir) - .map((f) => path.resolve(animatedDir, f)); + .map((f) => this.readData(path.resolve(animatedDir, f))); - if (animatedCursors.length == 0 && this.semiAnimated) { + if (svgs.length == 0 && this.semiAnimated) { throw new Error( `Can't parse svg directory ${this.svgDir} as semi-animated theme` ); } - return animatedCursors; + return svgs; } } diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index cc63480e..4ad91827 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -1,5 +1,4 @@ import path from "path"; -import fs from "fs"; import { BitmapsGenerator, SVGHandler } from "bibata-core"; import { Colors } from "bibata-core/src/types"; @@ -24,21 +23,13 @@ const main = async () => { const png = new BitmapsGenerator(bitmapsDir); const browser = await png.getBrowser(); - for (const svg of SVG.getStatic()) { - const key = `${path.basename(svg, ".svg")}.png`; - - let content = fs.readFileSync(svg, "utf-8"); + for (let { key, content } of SVG.getStatic()) { content = SVGHandler.colorSvg(content, color); - await png.generateStatic(browser, content, key); } - for (const svg of SVG.getAnimated()) { - const key = `${path.basename(svg, ".svg")}.png`; - - let content = fs.readFileSync(svg, "utf-8"); + for (let { key, content } of SVG.getAnimated()) { content = SVGHandler.colorSvg(content, color); - await png.generateAnimated(browser, content, key); } From d7169a34b8828c54cb8e025f2173d203b1ce4086 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Mon, 22 Feb 2021 17:35:42 +0530 Subject: [PATCH 14/37] =?UTF-8?q?=F0=9F=8C=88=20Colors=20config=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitmapper/packages/modern/src/config.ts | 40 ++++++++++++++++++++++ bitmapper/packages/modern/src/index.ts | 44 +++++++++++-------------- 2 files changed, 59 insertions(+), 25 deletions(-) create mode 100644 bitmapper/packages/modern/src/config.ts diff --git a/bitmapper/packages/modern/src/config.ts b/bitmapper/packages/modern/src/config.ts new file mode 100644 index 00000000..8a47eb7d --- /dev/null +++ b/bitmapper/packages/modern/src/config.ts @@ -0,0 +1,40 @@ +import { Colors } from "bibata-core/src/types"; + +interface Config { + themeName: string; + color: Colors; +} + +const black = "#000000"; +const white = "#FFFFFF"; +const amber = "#FF8300"; +const richBlack = "#001524"; + +const config: Config[] = [ + { + themeName: "Bibata-Modern-Amber", + color: { + base: amber, + outline: white, + watch: { + background: richBlack, + }, + }, + }, + { + themeName: "Bibata-Modern-Classic", + color: { + base: black, + outline: white, + }, + }, + { + themeName: "Bibata-Modern-Ice", + color: { + base: white, + outline: black, + }, + }, +]; + +export { config }; diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index 4ad91827..58d7facc 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -1,39 +1,33 @@ import path from "path"; import { BitmapsGenerator, SVGHandler } from "bibata-core"; -import { Colors } from "bibata-core/src/types"; +import { config } from "./config"; const root = path.resolve(__dirname, "../../../../"); const svgDir = path.resolve(root, "svg", "modern"); -const themeName = "Bibata-Modern"; -const bitmapsDir = path.resolve(root, "bitmaps", themeName); - -const color: Colors = { - base: "#000000", - outline: "#FFFFFF", - watch: { - background: "#FFFFFF", - }, -}; - const main = async () => { - const SVG = new SVGHandler.SvgDirectoryParser(svgDir); + for (const { themeName, color } of config) { + console.log("Preparing bitmaps of", themeName, "..."); - const png = new BitmapsGenerator(bitmapsDir); - const browser = await png.getBrowser(); + const bitmapsDir = path.resolve(root, "bitmaps", themeName); + const svg = new SVGHandler.SvgDirectoryParser(svgDir); - for (let { key, content } of SVG.getStatic()) { - content = SVGHandler.colorSvg(content, color); - await png.generateStatic(browser, content, key); + const png = new BitmapsGenerator(bitmapsDir); + const browser = await png.getBrowser(); + + for (let { key, content } of svg.getStatic()) { + content = SVGHandler.colorSvg(content, color); + await png.generateStatic(browser, content, key); + } + + for (let { key, content } of svg.getAnimated()) { + content = SVGHandler.colorSvg(content, color); + await png.generateAnimated(browser, content, key); + } + + await browser.close(); } - - for (let { key, content } of SVG.getAnimated()) { - content = SVGHandler.colorSvg(content, color); - await png.generateAnimated(browser, content, key); - } - - await browser.close(); }; main(); From e86dec51638cd5e4e6b4d477e6d2131a490cee25 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Mon, 22 Feb 2021 17:45:01 +0530 Subject: [PATCH 15/37] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Svg=20animation?= =?UTF-8?q?=20circles=20position=20set=20to=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- svg/modern/animated/left_ptr_watch.svg | 8 ++++---- svg/modern/animated/wait.svg | 8 ++++---- svg/original/animated/left_ptr_watch.svg | 18 +++++++++--------- svg/original/animated/wait.svg | 18 +++++++++--------- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/svg/modern/animated/left_ptr_watch.svg b/svg/modern/animated/left_ptr_watch.svg index 78155530..ba30e2e7 100644 --- a/svg/modern/animated/left_ptr_watch.svg +++ b/svg/modern/animated/left_ptr_watch.svg @@ -17,24 +17,24 @@ - + - + - + - + - + - + - + - + - - + - - + - - + - - + @@ -70,4 +70,4 @@ - \ No newline at end of file + diff --git a/svg/original/animated/wait.svg b/svg/original/animated/wait.svg index ebd82823..c7855ad7 100644 --- a/svg/original/animated/wait.svg +++ b/svg/original/animated/wait.svg @@ -10,25 +10,25 @@ - - + - - + - - + - - + @@ -48,4 +48,4 @@ - \ No newline at end of file + From 89eba25a9d8e5710e09ec9798a048d894c2acb03 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Mon, 22 Feb 2021 18:01:51 +0530 Subject: [PATCH 16/37] =?UTF-8?q?=E2=9A=A1=20Bibata-Original=20bitmaps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/core/src/BitmapsGenerator.ts | 2 - bitmapper/packages/modern/src/index.ts | 6 ++- bitmapper/packages/original/src/config.ts | 40 +++++++++++++++++++ bitmapper/packages/original/src/index.ts | 39 +++++++++++++++--- 4 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 bitmapper/packages/original/src/config.ts diff --git a/bitmapper/packages/core/src/BitmapsGenerator.ts b/bitmapper/packages/core/src/BitmapsGenerator.ts index 9580f2fa..bc460a3e 100644 --- a/bitmapper/packages/core/src/BitmapsGenerator.ts +++ b/bitmapper/packages/core/src/BitmapsGenerator.ts @@ -67,7 +67,6 @@ class BitmapsGenerator { const out = path.resolve(this.bitmapsDir, `${key}.png`); - console.log("Saving", key, "..."); await svg.screenshot({ omitBackground: true, path: out }); await page.close(); } @@ -149,7 +148,6 @@ class BitmapsGenerator { const number = frameNumber(index, options.framePadding); const frame = `${key}-${number}.png`; - console.log("Saving", frame, "..."); this.saveFrameImage(frame, img); prevImg = img; diff --git a/bitmapper/packages/modern/src/index.ts b/bitmapper/packages/modern/src/index.ts index 58d7facc..02377170 100644 --- a/bitmapper/packages/modern/src/index.ts +++ b/bitmapper/packages/modern/src/index.ts @@ -8,7 +8,7 @@ const svgDir = path.resolve(root, "svg", "modern"); const main = async () => { for (const { themeName, color } of config) { - console.log("Preparing bitmaps of", themeName, "..."); + console.log("=>", themeName); const bitmapsDir = path.resolve(root, "bitmaps", themeName); const svg = new SVGHandler.SvgDirectoryParser(svgDir); @@ -17,11 +17,15 @@ const main = async () => { const browser = await png.getBrowser(); for (let { key, content } of svg.getStatic()) { + console.log(" -> Saving", key, "..."); + content = SVGHandler.colorSvg(content, color); await png.generateStatic(browser, content, key); } for (let { key, content } of svg.getAnimated()) { + console.log(" -> Saving", key, "..."); + content = SVGHandler.colorSvg(content, color); await png.generateAnimated(browser, content, key); } diff --git a/bitmapper/packages/original/src/config.ts b/bitmapper/packages/original/src/config.ts new file mode 100644 index 00000000..4c80f869 --- /dev/null +++ b/bitmapper/packages/original/src/config.ts @@ -0,0 +1,40 @@ +import { Colors } from "bibata-core/src/types"; + +interface Config { + themeName: string; + color: Colors; +} + +const black = "#000000"; +const white = "#FFFFFF"; +const amber = "#FF8300"; +const richBlack = "#001524"; + +const config: Config[] = [ + { + themeName: "Bibata-Original-Amber", + color: { + base: amber, + outline: white, + watch: { + background: richBlack, + }, + }, + }, + { + themeName: "Bibata-Original-Classic", + color: { + base: black, + outline: white, + }, + }, + { + themeName: "Bibata-Original-Ice", + color: { + base: white, + outline: black, + }, + }, +]; + +export { config }; diff --git a/bitmapper/packages/original/src/index.ts b/bitmapper/packages/original/src/index.ts index 549f7c9a..02377170 100644 --- a/bitmapper/packages/original/src/index.ts +++ b/bitmapper/packages/original/src/index.ts @@ -1,8 +1,37 @@ -import { main } from "bibata-core"; +import path from "path"; -const hmm = async () => { - main(); - console.log("Bibata Original"); +import { BitmapsGenerator, SVGHandler } from "bibata-core"; +import { config } from "./config"; + +const root = path.resolve(__dirname, "../../../../"); +const svgDir = path.resolve(root, "svg", "modern"); + +const main = async () => { + for (const { themeName, color } of config) { + console.log("=>", themeName); + + const bitmapsDir = path.resolve(root, "bitmaps", themeName); + const svg = new SVGHandler.SvgDirectoryParser(svgDir); + + const png = new BitmapsGenerator(bitmapsDir); + const browser = await png.getBrowser(); + + for (let { key, content } of svg.getStatic()) { + console.log(" -> Saving", key, "..."); + + content = SVGHandler.colorSvg(content, color); + await png.generateStatic(browser, content, key); + } + + for (let { key, content } of svg.getAnimated()) { + console.log(" -> Saving", key, "..."); + + content = SVGHandler.colorSvg(content, color); + await png.generateAnimated(browser, content, key); + } + + await browser.close(); + } }; -hmm(); +main(); From 64e50b2eec4f6edd9db141b72e95516203711671 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Tue, 23 Feb 2021 17:47:12 +0530 Subject: [PATCH 17/37] =?UTF-8?q?=F0=9F=91=B7=20Bibata=20builde=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/__init__.py | 0 builder/bbpkg/configure.py | 105 +++++++++++++++++++ builder/bbpkg/constants.py | 109 ++++++++++++++++++++ builder/bbpkg/generator.py | 135 +++++++++++++++++++++++++ builder/bbpkg/symlinks.py | 202 +++++++++++++++++++++++++++++++++++++ builder/setup.py | 22 ++++ 6 files changed, 573 insertions(+) create mode 100644 builder/bbpkg/__init__.py create mode 100644 builder/bbpkg/configure.py create mode 100644 builder/bbpkg/constants.py create mode 100644 builder/bbpkg/generator.py create mode 100644 builder/bbpkg/symlinks.py create mode 100644 builder/setup.py diff --git a/builder/bbpkg/__init__.py b/builder/bbpkg/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/builder/bbpkg/configure.py b/builder/bbpkg/configure.py new file mode 100644 index 00000000..d951c858 --- /dev/null +++ b/builder/bbpkg/configure.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from typing import Any, Dict, Tuple, TypeVar + +from clickgen.util import PNGProvider + +from bbpkg.constants import WIN_CURSORS_CFG, WIN_DELAY, X_CURSORS_CFG, X_DELAY + + +X = TypeVar("X") + + +def to_tuple(x: X) -> Tuple[X, X]: + return (x, x) + + +def get_config(bitmaps_dir, **kwargs) -> Dict[str, Any]: + """Return configuration of `GoogleDot` pointers. + + ``` + Args: + + :bitmaps_dir: (str | Path) Path to .png file's directory. + + + Keywords Args: + + :x_sizes: (List[int]) List of pixel-sizes for xcursors. + + :win_canvas_size: (int) Windows cursor's canvas pixel-size. + + :win_size: (int) Pixel-size for Windows cursor. + + ``` + + Example: + + ```python + get_config( + "./bitmaps", + x_sizes=[(24, 24), (32, 32)], + win_canvas_size=(32, 32), + win_size=(24, 24), + ) + ``` + """ + + w_size = to_tuple(kwargs.pop("win_size")) + w_canvas_size = to_tuple(kwargs.pop("win_canvas_size")) + raw_x_sizes = kwargs.pop("x_sizes") + + x_sizes = [] + for size in raw_x_sizes: + x_sizes.append(to_tuple(size)) + + png_provider = PNGProvider(bitmaps_dir) + config: Dict[str, Any] = {} + + for key, item in X_CURSORS_CFG.items(): + x_hot: int = int(item.get("xhot", 0)) + y_hot: int = int(item.get("yhot", 0)) + hotspot: Tuple[int, int] = (x_hot, y_hot) + + delay: int = int(item.get("delay", X_DELAY)) + png = png_provider.get(key) + if not png: + raise FileNotFoundError(f"{key} not found in {bitmaps_dir}") + + data = { + "png": png, + "x_sizes": x_sizes, + "hotspot": hotspot, + "delay": delay, + } + + win_data = WIN_CURSORS_CFG.get(key) + + if win_data: + win_key: str = str(win_data.get("to")) + + position: str = str(win_data.get("position", "center")) + win_delay: int = int(win_data.get("delay", WIN_DELAY)) + + canvas_size = win_data.get("canvas_size", w_canvas_size) + win_size = win_data.get("size", w_size) + + # Because provided cursor size is bigger than cursor's canvas. + # Also, "position" settings will not effect on cursor because the + # cursor's canvas and cursor sizes are equals. + if (win_size[0] > canvas_size[0]) | (win_size[1] > canvas_size[1]): + canvas_size = win_size + + config[key] = { + **data, + "win_key": win_key, + "position": position, + "canvas_size": canvas_size, + "win_size": win_size, + "win_delay": win_delay, + } + else: + config[key] = data + + return config diff --git a/builder/bbpkg/constants.py b/builder/bbpkg/constants.py new file mode 100644 index 00000000..e9240d44 --- /dev/null +++ b/builder/bbpkg/constants.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from typing import Dict + +# Info +AUTHOR = "Kaiz Khatri" +URL = "https://github.com/ful1e5/Google_Cursor" + +# XCursor +X_DELAY: int = 10 + + +# Windows Cursor +WIN_DELAY = 1 + +X_CURSORS_CFG: Dict[str, Dict[str, int]] = { + ########## + # Static # + ########## + "all-scroll.png": {"xhot": 100, "yhot": 100}, + "bd_double_arrow.png": {"xhot": 98, "yhot": 100}, + "bottom_left_corner.png": {"xhot": 31, "yhot": 172}, + "bottom_right_corner.png": {"xhot": 170, "yhot": 172}, + "bottom_side.png": {"xhot": 100, "yhot": 164}, + "bottom_tee.png": {"xhot": 100, "yhot": 164}, + "center_ptr.png": {"xhot": 98, "yhot": 131}, + "circle.png": {"xhot": 48, "yhot": 25}, + "context-menu.png": {"xhot": 48, "yhot": 25}, + "copy.png": {"xhot": 48, "yhot": 25}, + "cross.png": {"xhot": 98, "yhot": 96}, + "crossed_circle.png": {"xhot": 100, "yhot": 100}, + "crosshair.png": {"xhot": 99, "yhot": 99}, + "dnd_no_drop.png": {"xhot": 86, "yhot": 79}, + "dnd-ask.png": {"xhot": 86, "yhot": 79}, + "dnd-copy.png": {"xhot": 86, "yhot": 79}, + "dnd-link.png": {"xhot": 86, "yhot": 79}, + "dnd-move.png": {"xhot": 86, "yhot": 79}, + "dnd-none.png": {"xhot": 99, "yhot": 98}, + "dotbox.png": {"xhot": 100, "yhot": 100}, + "fd_double_arrow.png": {"xhot": 98, "yhot": 100}, + "grabbing.png": {"xhot": 106, "yhot": 79}, + "hand1.png": {"xhot": 113, "yhot": 95}, + "hand2.png": {"xhot": 88, "yhot": 32}, + "left_ptr.png": {"xhot": 53, "yhot": 36}, + "left_side.png": {"xhot": 35, "yhot": 100}, + "left_tee.png": {"xhot": 165, "yhot": 95}, + "link.png": {"xhot": 48, "yhot": 25}, + "ll_angle.png": {"xhot": 34, "yhot": 165}, + "lr_angle.png": {"xhot": 167, "yhot": 164}, + "move.png": {"xhot": 100, "yhot": 100}, + "pencil.png": {"xhot": 37, "yhot": 161}, + "plus.png": {"xhot": 100, "yhot": 100}, + "pointer-move.png": {"xhot": 48, "yhot": 25}, + "question_arrow.png": {"xhot": 102, "yhot": 102}, + "right_ptr.png": {"xhot": 150, "yhot": 29}, + "right_side.png": {"xhot": 163, "yhot": 98}, + "right_tee.png": {"xhot": 30, "yhot": 96}, + "sb_down_arrow.png": {"xhot": 100, "yhot": 126}, + "sb_h_double_arrow.png": {"xhot": 100, "yhot": 100}, + "sb_left_arrow.png": {"xhot": 86, "yhot": 100}, + "sb_right_arrow.png": {"xhot": 113, "yhot": 100}, + "sb_up_arrow.png": {"xhot": 99, "yhot": 86}, + "sb_v_double_arrow.png": {"xhot": 100, "yhot": 100}, + "tcross.png": {"xhot": 98, "yhot": 100}, + "top_left_corner.png": {"xhot": 29, "yhot": 27}, + "top_right_corner.png": {"xhot": 170, "yhot": 28}, + "top_side.png": {"xhot": 98, "yhot": 34}, + "top_tee.png": {"xhot": 98, "yhot": 29}, + "ul_angle.png": {"xhot": 34, "yhot": 35}, + "ur_angle.png": {"xhot": 164, "yhot": 34}, + "vertical-text.png": {"xhot": 100, "yhot": 100}, + "wayland-cursor.png": {"xhot": 100, "yhot": 100}, + "X_cursor.png": {"xhot": 100, "yhot": 100}, + "xterm.png": {"xhot": 100, "yhot": 100}, + "zoom-in.png": {"xhot": 90, "yhot": 89}, + "zoom-out.png": {"xhot": 93, "yhot": 90}, + ############ + # Animated # + ############ + # Note: Animated cursors don't need an extension and frame numbers. + "left_ptr_watch": {"xhot": 50, "yhot": 28}, + "wait": {"xhot": 100, "yhot": 100}, +} + +WIN_CURSORS_CFG: Dict[str, Dict[str, str]] = { + ########## + # Static # + ########## + "right_ptr.png": {"to": "Alternate", "position": "top_right"}, + "cross.png": {"to": "Cross"}, + "left_ptr.png": {"to": "Default", "position": "top_left"}, + "bottom_right_corner.png": {"to": "Diagonal_1"}, + "bottom_left_corner.png": {"to": "Diagonal_2"}, + "pencil.png": {"to": "Handwriting"}, + "question_arrow.png": {"to": "Help", "position.png": "top_left"}, + "sb_h_double_arrow.png": {"to": "Horizontal"}, + "xterm.png": {"to": "IBeam", "position": "top_left"}, + "hand2.png": {"to": "Link", "position": "top_left"}, + "hand1.png": {"to": "Move"}, + "dnd_no_drop.png": {"to": "Unavailiable", "position": "top_left"}, + "sb_v_double_arrow.png": {"to": "Vertical"}, + ############ + # Animated # + ############ + # Note: Animated cursors don't need frame numbers. + "left_ptr_watch": {"to": "Work", "position": "top_left"}, + "wait": {"to": "Busy"}, +} diff --git a/builder/bbpkg/generator.py b/builder/bbpkg/generator.py new file mode 100644 index 00000000..26991ad1 --- /dev/null +++ b/builder/bbpkg/generator.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from pathlib import Path +from typing import Any, Dict, NamedTuple + +from clickgen.builders import WindowsCursor, XCursor +from clickgen.core import CursorAlias +from clickgen.packagers import WindowsPackager, XPackager + +from bbpkg.constants import AUTHOR, URL +from bbpkg.symlinks import add_missing_xcursor + + +class Info(NamedTuple): + name: str + comment: str + + +def xbuild(config: Dict[str, Dict[str, Any]], x_out_dir: Path, info: Info) -> None: + """Build `Bibata` cursor theme for only `X11`(UNIX) platform. + + ``` + :config: (Dict) `Bibata` configuration. + + :x_out_dir: (Path) Path to the output directory, + Where the `X11` cursor theme package will generate. + It also creates a directory if not exists. + :info: (Dict) Content theme name & comment + ``` + """ + + for _, item in config.items(): + png = item["png"] + hotspot = item["hotspot"] + x_sizes = item["x_sizes"] + delay = item["delay"] + + with CursorAlias.from_bitmap(png, hotspot) as alias: + x_cfg = alias.create(x_sizes, delay) + print(f"Building '{x_cfg.stem}' XCursor...") + XCursor.create(x_cfg, x_out_dir) + + add_missing_xcursor(x_out_dir / "cursors") + XPackager(x_out_dir, info.name, info.comment) + + +def wbuild(config: Dict[str, Dict[str, Any]], win_out_dir: Path, info: Info) -> None: + """Build `Bibata` cursor theme for only `Windows` platforms. + + ``` + :config: (Dict) `Bibata` configuration. + + :win_out_dir: (Path) Path to the output directory, + Where the `Windows` cursor theme package will generate. + It also creates a directory if not exists. + :info: (Dict) Content theme name & comment + ``` + """ + + for _, item in config.items(): + png = item["png"] + hotspot = item["hotspot"] + x_sizes = item["x_sizes"] + delay = item["delay"] + + with CursorAlias.from_bitmap(png, hotspot) as alias: + alias.create(x_sizes, delay) + + if item.get("win_key"): + position = item["position"] + win_size = item["win_size"] + win_key = item["win_key"] + canvas_size = item["canvas_size"] + win_delay = item["win_delay"] + + win_cfg = alias.reproduce( + win_size, canvas_size, position, delay=win_delay + ).rename(win_key) + print(f"Building '{win_cfg.stem}' Windows Cursor...") + WindowsCursor.create(win_cfg, win_out_dir) + + WindowsPackager(win_out_dir, info.name, info.comment, AUTHOR, URL) + + +def build( + config: Dict[str, Dict[str, Any]], x_out_dir: Path, win_out_dir: Path, info: Info +) -> None: + """Build `Bibata` cursor theme for `X11` & `Windows` platforms. + + ``` + :config: (Dict) `Bibata` configuration. + + :x_out_dir: (Path) Path to the output directory, + Where the `X11` cursor theme package will generate. + It also creates a directory if not exists. + + :win_out_dir: (Path) Path to the output directory, + Where the `Windows` cursor theme package will generate. + It also creates a directory if not exists. + :info: (Dict) Content theme name & comment + ``` + """ + + def win_build(item: Dict[str, Any], alias: CursorAlias) -> None: + position = item["position"] + win_size = item["win_size"] + win_key = item["win_key"] + canvas_size = item["canvas_size"] + win_delay = item["win_delay"] + + win_cfg = alias.reproduce( + win_size, canvas_size, position, delay=win_delay + ).rename(win_key) + print(f"Building '{win_cfg.stem}' Windows Cursor...") + WindowsCursor.create(win_cfg, win_out_dir) + + for _, item in config.items(): + png = item["png"] + hotspot = item["hotspot"] + x_sizes = item["x_sizes"] + delay = item["delay"] + + with CursorAlias.from_bitmap(png, hotspot) as alias: + x_cfg = alias.create(x_sizes, delay) + print(f"Building '{x_cfg.stem}' XCursor...") + XCursor.create(x_cfg, x_out_dir) + + if item.get("win_key"): + win_build(item, alias) + + add_missing_xcursor(x_out_dir / "cursors") + XPackager(x_out_dir, info.name, info.comment) + + WindowsPackager(win_out_dir, info.name, info.comment, AUTHOR, URL) diff --git a/builder/bbpkg/symlinks.py b/builder/bbpkg/symlinks.py new file mode 100644 index 00000000..e00a3401 --- /dev/null +++ b/builder/bbpkg/symlinks.py @@ -0,0 +1,202 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import os +from typing import Dict, List, Union + +from clickgen.util import chdir + + +def add_missing_xcursor(directory) -> None: + """Add missing `XCursor` to the Unix cursor package. + + :directory: (Path|str) directory where XCursors are available. + """ + + symlinks: List[Dict[str, Union[str, List[str]]]] = [ + {"src": "all-scroll", "links": ["fleur", "size_all"]}, + { + "src": "bottom_left_corner", + "links": [ + "fcf1c3c7cd4491d801f1e1c78f100000", + "sw-resize", + "ne-resize", + "size_bdiag", + "nesw-resize", + "top_right_corner", + "fd_double_arrow", + ], + }, + { + "src": "bottom_right_corner", + "links": [ + "c7088f0f3e6c8088236ef8e1e3e70000", + "top_left_corner", + "se-resize", + "nw-resize", + "size_fdiag", + "nwse-resize", + "bd_double_arrow", + ], + }, + { + "src": "copy", + "links": [ + "1081e37283d90000800003c07f3ef6bf", + "6407b0e94181790501fd1e167b474872", + "b66166c04f8c3109214a4fbd64a50fc8", + "dnd-copy", + ], + }, + { + "src": "cross", + "links": [ + "cross_reverse", + "diamond_cross", + "tcross", + "color-picker", + # crosshair + "crosshair", + ], + }, + # { + # "src": "crossed_circle", + # "links": [ + # "03b6e0fcb3499374a867c041f52298f0", + # "not-allowed", + # "forbidden", + # "circle", + # ], + # }, + { + "src": "dnd_no_drop", + "links": [ + "no-drop", + # crossed_circle symlinks + "crossed_circle", + "03b6e0fcb3499374a867c041f52298f0", + "not-allowed", + "forbidden", + "circle", + ], + }, + {"src": "dotbox", "links": ["dot_box_mask", "draped_box", "icon", "target"]}, + {"src": "hand1", "links": ["grab", "openhand"]}, + { + "src": "hand2", + "links": [ + "9d800788f1b08800ae810202380a0822", + "e29285e634086352946a0e7090d73106", + "pointer", + "pointing_hand", + ], + }, + { + "src": "left_ptr", + "links": [ + "arrow", + "default", + # center_ptr symlinks + "center_ptr", + ], + }, + { + "src": "left_ptr_watch", + "links": [ + "00000000000000020006000e7e9ffc3f", + "08e8e1c95fe2fc01f976f1e063a24ccd", + "3ecb610c1bf2410f44200f48c40d3599", + "progress", + ], + }, + # {"src": "left_side", "links": ["w-resize", "right_side", "e-resize"]}, + { + "src": "link", + "links": [ + "3085a0e285430894940527032f8b26df", + "640fb0e74195791501fd1ed57b41487f", + "a2a266d0498c3104214a47bd64ab0fc8", + "alias", + "dnd-link", + ], + }, + { + "src": "move", + "links": [ + "4498f0e0c1937ffe01fd06f973665830", + "9081237383d90e509aa00f00170e968f", + "fcf21c00b30f7e3f83fe0dfd12e71cff", + "grabbing", + "pointer_move", + "dnd-move", + "closedhand", + "dnd-none", + ], + }, + {"src": "pencil", "links": ["draft"]}, + {"src": "plus", "links": ["cell"]}, + { + "src": "question_arrow", + "links": [ + "5c6cd98b3f3ebcb1f9c7f1c204630408", + "d9ce0ab605698f320427677b458ad60b", + "help", + "left_ptr_help", + "whats_this", + "dnd-ask", + ], + }, + {"src": "right_ptr", "links": ["draft_large", "draft_small"]}, # required + {"src": "sb_down_arrow", "links": ["down-arrow"]}, + { + "src": "sb_h_double_arrow", + "links": [ + "028006030e0e7ebffc7f7070c0600140", + "14fef782d02440884392942c1120523", + "col-resize", + "ew-resize", + "h_double_arrow", + "size-hor", + "size_hor", + "split_h", + # left_side symlinks + "left_side", + "w-resize", + "right_side", + "e-resize", + ], + }, + {"src": "sb_left_arrow", "links": ["left-arrow"]}, + {"src": "sb_right_arrow", "links": ["right-arrow"]}, + {"src": "sb_up_arrow", "links": ["up-arrow"]}, + { + "src": "sb_v_double_arrow", + "links": [ + "00008160000006810000408080010102", + "2870a09082c103050810ffdffffe0204", + "double_arrow", + "ns-resize", + "row-resize", + "size-ver", + "size_ver", + "split_v", + "v_double_arrow", + # top_side symlinks + "top_side", + "s-resize", + "n-resize", + "bottom_side", + ], + }, + # {"src": "top_side", "links": ["s-resize", "n-resize", "bottom_side"]}, + {"src": "wait", "links": ["watch"]}, + {"src": "X_cursor", "links": ["pirate", "x-cursor"]}, + {"src": "xterm", "links": ["ibeam", "text"]}, + ] + + with chdir(directory): + for item in symlinks: + src = item.get("src") + for link in item.get("links"): + print(f"Creating symlink {src} -> {link}") + os.symlink(src, link) diff --git a/builder/setup.py b/builder/setup.py new file mode 100644 index 00000000..e457421a --- /dev/null +++ b/builder/setup.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from setuptools import setup + +setup( + name="bbpkg", + version="1.0.4", + description="Generate 'Bibata' cursor theme from PNGs file", + url="https://github.com/ful1e5/Bibata_Cursor", + packages=["bbpkg"], + package_dir={"bbpkg": "bbpkg"}, + author="Kaiz Khatri", + author_email="kaizmandhu@gamil.com", + install_requires=["clickgen==1.1.8"], + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + ], + python_requires=">=3.8", + zip_safe=True, +) From fd6ba15821caa321f14776ba499e177ae4f8c887 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Tue, 23 Feb 2021 17:47:44 +0530 Subject: [PATCH 18/37] =?UTF-8?q?=F0=9F=94=A7=20Bibata=20builder=20script?= =?UTF-8?q?=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/build.py | 126 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 builder/build.py diff --git a/builder/build.py b/builder/build.py new file mode 100644 index 00000000..ca97a4c9 --- /dev/null +++ b/builder/build.py @@ -0,0 +1,126 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import argparse +from pathlib import Path + +from bbpkg.configure import get_config +from bbpkg.generator import Info, xbuild, wbuild, build + + +parser = argparse.ArgumentParser( + prog="bibata_builder", + description="'Bibata' cursor build python script.", +) + +# Positional Args. +parser.add_argument( + "platform", + choices=("windows", "unix", "all"), + default="all", + const="all", + nargs="?", + help="Set package type, Which you want to build. (default: '%(default)s')", +) + +# Optional Args. +parser.add_argument( + "-p", + "--png-dir", + dest="png_dir", + metavar="PNG", + type=str, + default="../bitmaps", + help="To change pngs directory. (default: %(default)s)", +) + +parser.add_argument( + "-o", + "--out-dir", + dest="out_dir", + metavar="OUT", + type=str, + default="../themes", + help="To change output directory. (default: %(default)s)", +) + + +parser.add_argument( + "-xs", + "--xsizes", + dest="xsizes", + metavar="INT", + nargs="+", + default=[ + 22, + 24, + 28, + 32, + 40, + 48, + 56, + 64, + 72, + 80, + 88, + 96, + ], + type=int, + help="Set pixel-size for xcursor. (default: %(default)s)", +) + + +parser.add_argument( + "-ws", + "--win-size", + dest="win_size", + metavar="INT", + default=24, + type=int, + help="Set pixel-size for Windows cursors. (default: %(default)s)", +) + + +parser.add_argument( + "-wcs", + "--win-canvas-size", + dest="win_canvas_size", + metavar="INT", + default=32, + type=int, + help="Set pixel-size for Windows cursor's canvas. (default: %(default)s)", +) + +# Preparing build +args = parser.parse_args() + +bitmaps_dir = Path(args.png_dir) + +comments = { + "Bibata-Modern-Classic": "Dark & Rounded-edge Bibata", + "Bibata-Original-Classic": "Dark & Sharp-edge Bibata", + "Bibata-Modern-Amber": "Yellowish & Rounded-edge Bibata", + "Bibata-Original-Amber": "Yellowish & Sharp-edge Bibata", + "Bibata-Modern-Ice": "Light & Rounded-edge Bibata", + "Bibata-Original-Ice": "Light & Sharp-edge Bibata", +} + +for theme in bitmaps_dir.iterdir(): + name: str = theme.stem + x_out_dir = Path(args.out_dir) / name + win_out_dir = Path(args.out_dir) / f"{name}-Windows" + + config = get_config( + theme, + x_sizes=args.xsizes, + win_canvas_size=args.win_canvas_size, + win_size=args.win_size, + ) + info = Info(name=name, comment=comments[name]) + + if args.platform == "unix": + xbuild(config, x_out_dir, info) + elif args.platform == "windows": + wbuild(config, win_out_dir, info) + else: + build(config, x_out_dir, win_out_dir, info) From 8c6ec5690c820aeb9e47078c617b71f329429c13 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Tue, 23 Feb 2021 17:48:03 +0530 Subject: [PATCH 19/37] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20yarn=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitmapper/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bitmapper/yarn.lock b/bitmapper/yarn.lock index 503f6ba6..fc0fadbd 100644 --- a/bitmapper/yarn.lock +++ b/bitmapper/yarn.lock @@ -3,9 +3,9 @@ "@types/node@*": - version "14.14.28" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.28.tgz#cade4b64f8438f588951a6b35843ce536853f25b" - integrity sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g== + version "14.14.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" + integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== "@types/pixelmatch@^5.2.2": version "5.2.2" From e73fcacf95be457155b6bbb85f73d18746ef7128 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Tue, 23 Feb 2021 18:16:47 +0530 Subject: [PATCH 20/37] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20Rename=20cursors?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/constants.py | 2 -- svg/modern/static/{x_cursor.svg => X_cursor.svg} | 0 svg/modern/static/{context_menu.svg => context-menu.svg} | 0 svg/modern/static/{dnd_ask.svg => dnd-ask.svg} | 0 svg/modern/static/{dnd_copy.svg => dnd-copy.svg} | 0 svg/modern/static/{dnd_link.svg => dnd-link.svg} | 0 svg/modern/static/{dnd_move.svg => dnd-move.svg} | 0 svg/modern/static/{pointer_move.svg => pointer-move.svg} | 0 svg/modern/static/{vertical_text.svg => vertical-text.svg} | 0 svg/modern/static/{wayland_cursor.svg => wayland-cursor.svg} | 0 svg/modern/static/{zoom_in.svg => zoom-in.svg} | 0 svg/modern/static/{zoom_out.svg => zoom-out.svg} | 0 svg/original/static/{x_cursor.svg => X_cursor.svg} | 0 svg/original/static/{context_menu.svg => context-menu.svg} | 0 svg/original/static/{dnd_ask.svg => dnd-ask.svg} | 0 svg/original/static/{dnd_copy.svg => dnd-copy.svg} | 0 svg/original/static/{dnd_link.svg => dnd-link.svg} | 0 svg/original/static/{dnd_move.svg => dnd-move.svg} | 0 svg/original/static/{pointer_move.svg => pointer-move.svg} | 0 svg/original/static/{vertical_text.svg => vertical-text.svg} | 0 svg/original/static/{wayland_cursor.svg => wayland-cursor.svg} | 0 svg/original/static/{zoom_in.svg => zoom-in.svg} | 0 svg/original/static/{zoom_out.svg => zoom-out.svg} | 0 23 files changed, 2 deletions(-) rename svg/modern/static/{x_cursor.svg => X_cursor.svg} (100%) rename svg/modern/static/{context_menu.svg => context-menu.svg} (100%) rename svg/modern/static/{dnd_ask.svg => dnd-ask.svg} (100%) rename svg/modern/static/{dnd_copy.svg => dnd-copy.svg} (100%) rename svg/modern/static/{dnd_link.svg => dnd-link.svg} (100%) rename svg/modern/static/{dnd_move.svg => dnd-move.svg} (100%) rename svg/modern/static/{pointer_move.svg => pointer-move.svg} (100%) rename svg/modern/static/{vertical_text.svg => vertical-text.svg} (100%) rename svg/modern/static/{wayland_cursor.svg => wayland-cursor.svg} (100%) rename svg/modern/static/{zoom_in.svg => zoom-in.svg} (100%) rename svg/modern/static/{zoom_out.svg => zoom-out.svg} (100%) rename svg/original/static/{x_cursor.svg => X_cursor.svg} (100%) rename svg/original/static/{context_menu.svg => context-menu.svg} (100%) rename svg/original/static/{dnd_ask.svg => dnd-ask.svg} (100%) rename svg/original/static/{dnd_copy.svg => dnd-copy.svg} (100%) rename svg/original/static/{dnd_link.svg => dnd-link.svg} (100%) rename svg/original/static/{dnd_move.svg => dnd-move.svg} (100%) rename svg/original/static/{pointer_move.svg => pointer-move.svg} (100%) rename svg/original/static/{vertical_text.svg => vertical-text.svg} (100%) rename svg/original/static/{wayland_cursor.svg => wayland-cursor.svg} (100%) rename svg/original/static/{zoom_in.svg => zoom-in.svg} (100%) rename svg/original/static/{zoom_out.svg => zoom-out.svg} (100%) diff --git a/builder/bbpkg/constants.py b/builder/bbpkg/constants.py index e9240d44..3cbf9083 100644 --- a/builder/bbpkg/constants.py +++ b/builder/bbpkg/constants.py @@ -18,7 +18,6 @@ X_CURSORS_CFG: Dict[str, Dict[str, int]] = { ########## # Static # ########## - "all-scroll.png": {"xhot": 100, "yhot": 100}, "bd_double_arrow.png": {"xhot": 98, "yhot": 100}, "bottom_left_corner.png": {"xhot": 31, "yhot": 172}, "bottom_right_corner.png": {"xhot": 170, "yhot": 172}, @@ -36,7 +35,6 @@ X_CURSORS_CFG: Dict[str, Dict[str, int]] = { "dnd-copy.png": {"xhot": 86, "yhot": 79}, "dnd-link.png": {"xhot": 86, "yhot": 79}, "dnd-move.png": {"xhot": 86, "yhot": 79}, - "dnd-none.png": {"xhot": 99, "yhot": 98}, "dotbox.png": {"xhot": 100, "yhot": 100}, "fd_double_arrow.png": {"xhot": 98, "yhot": 100}, "grabbing.png": {"xhot": 106, "yhot": 79}, diff --git a/svg/modern/static/x_cursor.svg b/svg/modern/static/X_cursor.svg similarity index 100% rename from svg/modern/static/x_cursor.svg rename to svg/modern/static/X_cursor.svg diff --git a/svg/modern/static/context_menu.svg b/svg/modern/static/context-menu.svg similarity index 100% rename from svg/modern/static/context_menu.svg rename to svg/modern/static/context-menu.svg diff --git a/svg/modern/static/dnd_ask.svg b/svg/modern/static/dnd-ask.svg similarity index 100% rename from svg/modern/static/dnd_ask.svg rename to svg/modern/static/dnd-ask.svg diff --git a/svg/modern/static/dnd_copy.svg b/svg/modern/static/dnd-copy.svg similarity index 100% rename from svg/modern/static/dnd_copy.svg rename to svg/modern/static/dnd-copy.svg diff --git a/svg/modern/static/dnd_link.svg b/svg/modern/static/dnd-link.svg similarity index 100% rename from svg/modern/static/dnd_link.svg rename to svg/modern/static/dnd-link.svg diff --git a/svg/modern/static/dnd_move.svg b/svg/modern/static/dnd-move.svg similarity index 100% rename from svg/modern/static/dnd_move.svg rename to svg/modern/static/dnd-move.svg diff --git a/svg/modern/static/pointer_move.svg b/svg/modern/static/pointer-move.svg similarity index 100% rename from svg/modern/static/pointer_move.svg rename to svg/modern/static/pointer-move.svg diff --git a/svg/modern/static/vertical_text.svg b/svg/modern/static/vertical-text.svg similarity index 100% rename from svg/modern/static/vertical_text.svg rename to svg/modern/static/vertical-text.svg diff --git a/svg/modern/static/wayland_cursor.svg b/svg/modern/static/wayland-cursor.svg similarity index 100% rename from svg/modern/static/wayland_cursor.svg rename to svg/modern/static/wayland-cursor.svg diff --git a/svg/modern/static/zoom_in.svg b/svg/modern/static/zoom-in.svg similarity index 100% rename from svg/modern/static/zoom_in.svg rename to svg/modern/static/zoom-in.svg diff --git a/svg/modern/static/zoom_out.svg b/svg/modern/static/zoom-out.svg similarity index 100% rename from svg/modern/static/zoom_out.svg rename to svg/modern/static/zoom-out.svg diff --git a/svg/original/static/x_cursor.svg b/svg/original/static/X_cursor.svg similarity index 100% rename from svg/original/static/x_cursor.svg rename to svg/original/static/X_cursor.svg diff --git a/svg/original/static/context_menu.svg b/svg/original/static/context-menu.svg similarity index 100% rename from svg/original/static/context_menu.svg rename to svg/original/static/context-menu.svg diff --git a/svg/original/static/dnd_ask.svg b/svg/original/static/dnd-ask.svg similarity index 100% rename from svg/original/static/dnd_ask.svg rename to svg/original/static/dnd-ask.svg diff --git a/svg/original/static/dnd_copy.svg b/svg/original/static/dnd-copy.svg similarity index 100% rename from svg/original/static/dnd_copy.svg rename to svg/original/static/dnd-copy.svg diff --git a/svg/original/static/dnd_link.svg b/svg/original/static/dnd-link.svg similarity index 100% rename from svg/original/static/dnd_link.svg rename to svg/original/static/dnd-link.svg diff --git a/svg/original/static/dnd_move.svg b/svg/original/static/dnd-move.svg similarity index 100% rename from svg/original/static/dnd_move.svg rename to svg/original/static/dnd-move.svg diff --git a/svg/original/static/pointer_move.svg b/svg/original/static/pointer-move.svg similarity index 100% rename from svg/original/static/pointer_move.svg rename to svg/original/static/pointer-move.svg diff --git a/svg/original/static/vertical_text.svg b/svg/original/static/vertical-text.svg similarity index 100% rename from svg/original/static/vertical_text.svg rename to svg/original/static/vertical-text.svg diff --git a/svg/original/static/wayland_cursor.svg b/svg/original/static/wayland-cursor.svg similarity index 100% rename from svg/original/static/wayland_cursor.svg rename to svg/original/static/wayland-cursor.svg diff --git a/svg/original/static/zoom_in.svg b/svg/original/static/zoom-in.svg similarity index 100% rename from svg/original/static/zoom_in.svg rename to svg/original/static/zoom-in.svg diff --git a/svg/original/static/zoom_out.svg b/svg/original/static/zoom-out.svg similarity index 100% rename from svg/original/static/zoom_out.svg rename to svg/original/static/zoom-out.svg From 0871081f5293bb2c89d950449d54dc2c1c1a66d4 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Tue, 23 Feb 2021 18:17:53 +0530 Subject: [PATCH 21/37] =?UTF-8?q?=F0=9F=97=92=EF=B8=8F=20Better=20logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/generator.py | 8 ++++---- builder/build.py | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/builder/bbpkg/generator.py b/builder/bbpkg/generator.py index 26991ad1..68b6f286 100644 --- a/builder/bbpkg/generator.py +++ b/builder/bbpkg/generator.py @@ -38,7 +38,7 @@ def xbuild(config: Dict[str, Dict[str, Any]], x_out_dir: Path, info: Info) -> No with CursorAlias.from_bitmap(png, hotspot) as alias: x_cfg = alias.create(x_sizes, delay) - print(f"Building '{x_cfg.stem}' XCursor...") + print(f" -> Building '{x_cfg.stem}' XCursor...") XCursor.create(x_cfg, x_out_dir) add_missing_xcursor(x_out_dir / "cursors") @@ -77,7 +77,7 @@ def wbuild(config: Dict[str, Dict[str, Any]], win_out_dir: Path, info: Info) -> win_cfg = alias.reproduce( win_size, canvas_size, position, delay=win_delay ).rename(win_key) - print(f"Building '{win_cfg.stem}' Windows Cursor...") + print(f" -> Building '{win_cfg.stem}' Windows Cursor...") WindowsCursor.create(win_cfg, win_out_dir) WindowsPackager(win_out_dir, info.name, info.comment, AUTHOR, URL) @@ -112,7 +112,7 @@ def build( win_cfg = alias.reproduce( win_size, canvas_size, position, delay=win_delay ).rename(win_key) - print(f"Building '{win_cfg.stem}' Windows Cursor...") + print(f" -> Building '{win_cfg.stem}' Windows Cursor...") WindowsCursor.create(win_cfg, win_out_dir) for _, item in config.items(): @@ -123,7 +123,7 @@ def build( with CursorAlias.from_bitmap(png, hotspot) as alias: x_cfg = alias.create(x_sizes, delay) - print(f"Building '{x_cfg.stem}' XCursor...") + print(f" -> Building '{x_cfg.stem}' XCursor...") XCursor.create(x_cfg, x_out_dir) if item.get("win_key"): diff --git a/builder/build.py b/builder/build.py index ca97a4c9..cd49858b 100644 --- a/builder/build.py +++ b/builder/build.py @@ -107,6 +107,9 @@ comments = { for theme in bitmaps_dir.iterdir(): name: str = theme.stem + + print(f"=> Building {name}") + x_out_dir = Path(args.out_dir) / name win_out_dir = Path(args.out_dir) / f"{name}-Windows" From d7ea6f864934acd6bebf52bb61fda64e509ac5d6 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Wed, 24 Feb 2021 18:30:09 +0530 Subject: [PATCH 22/37] =?UTF-8?q?=F0=9F=96=BC=EF=B8=8F=20Set=204=20as=20de?= =?UTF-8?q?fault=20padding=20for=20frames=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitmapper/packages/core/src/BitmapsGenerator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitmapper/packages/core/src/BitmapsGenerator.ts b/bitmapper/packages/core/src/BitmapsGenerator.ts index bc460a3e..1cfff4f9 100644 --- a/bitmapper/packages/core/src/BitmapsGenerator.ts +++ b/bitmapper/packages/core/src/BitmapsGenerator.ts @@ -117,7 +117,7 @@ class BitmapsGenerator { playbackRate: 0.3, diff: 0, frameLimit: 300, - framePadding: 3, + framePadding: 4, } ) { const page = await browser.newPage(); From d5be4ddb49f88d7ab3f9a8ca0c947baeb641999b Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Wed, 24 Feb 2021 18:30:50 +0530 Subject: [PATCH 23/37] =?UTF-8?q?=F0=9F=94=97=20Missing=20cursors=20symlin?= =?UTF-8?q?ks=20added?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/symlinks.py | 108 ++++++++++++++------------------------ 1 file changed, 40 insertions(+), 68 deletions(-) diff --git a/builder/bbpkg/symlinks.py b/builder/bbpkg/symlinks.py index e00a3401..b324650b 100644 --- a/builder/bbpkg/symlinks.py +++ b/builder/bbpkg/symlinks.py @@ -2,7 +2,6 @@ # -*- coding: utf-8 -*- import os -from typing import Dict, List, Union from clickgen.util import chdir @@ -13,30 +12,37 @@ def add_missing_xcursor(directory) -> None: :directory: (Path|str) directory where XCursors are available. """ - symlinks: List[Dict[str, Union[str, List[str]]]] = [ - {"src": "all-scroll", "links": ["fleur", "size_all"]}, + symlinks = [ + { + "src": "bd_double_arrow", + "links": [ + "c7088f0f3e6c8088236ef8e1e3e70000", + "nwse-resize", + "size_fdiag", + ], + }, { "src": "bottom_left_corner", "links": [ - "fcf1c3c7cd4491d801f1e1c78f100000", "sw-resize", - "ne-resize", - "size_bdiag", - "nesw-resize", - "top_right_corner", - "fd_double_arrow", ], }, { "src": "bottom_right_corner", "links": [ - "c7088f0f3e6c8088236ef8e1e3e70000", - "top_left_corner", "se-resize", - "nw-resize", - "size_fdiag", - "nwse-resize", - "bd_double_arrow", + ], + }, + { + "src": "bottom_side", + "links": [ + "s-resize", + ], + }, + { + "src": "circle", + "links": [ + "forbidden", ], }, { @@ -45,42 +51,26 @@ def add_missing_xcursor(directory) -> None: "1081e37283d90000800003c07f3ef6bf", "6407b0e94181790501fd1e167b474872", "b66166c04f8c3109214a4fbd64a50fc8", - "dnd-copy", ], }, { "src": "cross", - "links": [ - "cross_reverse", - "diamond_cross", - "tcross", - "color-picker", - # crosshair - "crosshair", - ], + "links": ["cross_reverse", "diamond_cross"], }, - # { - # "src": "crossed_circle", - # "links": [ - # "03b6e0fcb3499374a867c041f52298f0", - # "not-allowed", - # "forbidden", - # "circle", - # ], - # }, { - "src": "dnd_no_drop", + "src": "crossed_circle", "links": [ - "no-drop", - # crossed_circle symlinks - "crossed_circle", "03b6e0fcb3499374a867c041f52298f0", "not-allowed", - "forbidden", - "circle", ], }, + {"src": "dnd_no_drop", "links": ["no-drop"]}, + {"src": "dnd-link", "links": ["alias"]}, {"src": "dotbox", "links": ["dot_box_mask", "draped_box", "icon", "target"]}, + { + "src": "fd_double_arrow", + "links": ["fcf1c3c7cd4491d801f1e1c78f100000", "nesw-resize", "size_bdiag"], + }, {"src": "hand1", "links": ["grab", "openhand"]}, { "src": "hand2", @@ -91,15 +81,7 @@ def add_missing_xcursor(directory) -> None: "pointing_hand", ], }, - { - "src": "left_ptr", - "links": [ - "arrow", - "default", - # center_ptr symlinks - "center_ptr", - ], - }, + {"src": "left_ptr", "links": ["arrow", "default"]}, { "src": "left_ptr_watch", "links": [ @@ -109,15 +91,13 @@ def add_missing_xcursor(directory) -> None: "progress", ], }, - # {"src": "left_side", "links": ["w-resize", "right_side", "e-resize"]}, + {"src": "left_side", "links": ["w-resize"]}, { "src": "link", "links": [ "3085a0e285430894940527032f8b26df", "640fb0e74195791501fd1ed57b41487f", "a2a266d0498c3104214a47bd64ab0fc8", - "alias", - "dnd-link", ], }, { @@ -126,11 +106,10 @@ def add_missing_xcursor(directory) -> None: "4498f0e0c1937ffe01fd06f973665830", "9081237383d90e509aa00f00170e968f", "fcf21c00b30f7e3f83fe0dfd12e71cff", - "grabbing", - "pointer_move", - "dnd-move", "closedhand", "dnd-none", + "fleur", + "size_all", ], }, {"src": "pencil", "links": ["draft"]}, @@ -143,10 +122,10 @@ def add_missing_xcursor(directory) -> None: "help", "left_ptr_help", "whats_this", - "dnd-ask", ], }, - {"src": "right_ptr", "links": ["draft_large", "draft_small"]}, # required + {"src": "right_ptr", "links": ["draft_large", "draft_small"]}, + {"src": "right_side", "links": ["e-resize"]}, {"src": "sb_down_arrow", "links": ["down-arrow"]}, { "src": "sb_h_double_arrow", @@ -159,11 +138,6 @@ def add_missing_xcursor(directory) -> None: "size-hor", "size_hor", "split_h", - # left_side symlinks - "left_side", - "w-resize", - "right_side", - "e-resize", ], }, {"src": "sb_left_arrow", "links": ["left-arrow"]}, @@ -181,14 +155,12 @@ def add_missing_xcursor(directory) -> None: "size_ver", "split_v", "v_double_arrow", - # top_side symlinks - "top_side", - "s-resize", - "n-resize", - "bottom_side", ], }, - # {"src": "top_side", "links": ["s-resize", "n-resize", "bottom_side"]}, + {"src": "tcross", "links": ["color-picker"]}, + {"src": "top_left_corner", "links": ["nw-resize"]}, + {"src": "top_right_corner", "links": ["ne-resize"]}, + {"src": "top_side", "links": ["n-resize"]}, {"src": "wait", "links": ["watch"]}, {"src": "X_cursor", "links": ["pirate", "x-cursor"]}, {"src": "xterm", "links": ["ibeam", "text"]}, @@ -196,7 +168,7 @@ def add_missing_xcursor(directory) -> None: with chdir(directory): for item in symlinks: - src = item.get("src") + src = item["src"] for link in item.get("links"): print(f"Creating symlink {src} -> {link}") os.symlink(src, link) From b533b221df23204a0db357310c0b80cb68b56350 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Wed, 24 Feb 2021 19:02:56 +0530 Subject: [PATCH 24/37] =?UTF-8?q?=F0=9F=93=A6=20Absolute=20paths=20and=20r?= =?UTF-8?q?efactoring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/configure.py | 8 +++++--- builder/build.py | 11 +++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/builder/bbpkg/configure.py b/builder/bbpkg/configure.py index d951c858..02117edd 100644 --- a/builder/bbpkg/configure.py +++ b/builder/bbpkg/configure.py @@ -55,6 +55,7 @@ def get_config(bitmaps_dir, **kwargs) -> Dict[str, Any]: x_sizes.append(to_tuple(size)) png_provider = PNGProvider(bitmaps_dir) + config: Dict[str, Any] = {} for key, item in X_CURSORS_CFG.items(): @@ -63,12 +64,13 @@ def get_config(bitmaps_dir, **kwargs) -> Dict[str, Any]: hotspot: Tuple[int, int] = (x_hot, y_hot) delay: int = int(item.get("delay", X_DELAY)) - png = png_provider.get(key) - if not png: + pngs = png_provider.get(key) + + if not pngs: raise FileNotFoundError(f"{key} not found in {bitmaps_dir}") data = { - "png": png, + "png": pngs, "x_sizes": x_sizes, "hotspot": hotspot, "delay": delay, diff --git a/builder/build.py b/builder/build.py index cd49858b..21445605 100644 --- a/builder/build.py +++ b/builder/build.py @@ -94,7 +94,7 @@ parser.add_argument( # Preparing build args = parser.parse_args() -bitmaps_dir = Path(args.png_dir) +bitmaps_dir = Path(args.png_dir).absolute() comments = { "Bibata-Modern-Classic": "Dark & Rounded-edge Bibata", @@ -106,20 +106,19 @@ comments = { } for theme in bitmaps_dir.iterdir(): - name: str = theme.stem - - print(f"=> Building {name}") + name = theme.name x_out_dir = Path(args.out_dir) / name win_out_dir = Path(args.out_dir) / f"{name}-Windows" config = get_config( - theme, + theme.absolute(), x_sizes=args.xsizes, win_canvas_size=args.win_canvas_size, win_size=args.win_size, ) - info = Info(name=name, comment=comments[name]) + + info = Info(name=name, comment=comments.get(name, f"{name} Cursors")) if args.platform == "unix": xbuild(config, x_out_dir, info) From 8b7f12db3e44b06ef04522b6b5b7c878ebef5cf0 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Wed, 24 Feb 2021 19:16:21 +0530 Subject: [PATCH 25/37] =?UTF-8?q?=E2=9A=A1=20Individual=20build=20added?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/configure.py | 4 +--- builder/build.py | 34 ++++++++++++++++------------------ 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/builder/bbpkg/configure.py b/builder/bbpkg/configure.py index 02117edd..5cd23cea 100644 --- a/builder/bbpkg/configure.py +++ b/builder/bbpkg/configure.py @@ -54,8 +54,6 @@ def get_config(bitmaps_dir, **kwargs) -> Dict[str, Any]: for size in raw_x_sizes: x_sizes.append(to_tuple(size)) - png_provider = PNGProvider(bitmaps_dir) - config: Dict[str, Any] = {} for key, item in X_CURSORS_CFG.items(): @@ -64,7 +62,7 @@ def get_config(bitmaps_dir, **kwargs) -> Dict[str, Any]: hotspot: Tuple[int, int] = (x_hot, y_hot) delay: int = int(item.get("delay", X_DELAY)) - pngs = png_provider.get(key) + pngs = PNGProvider(bitmaps_dir).get(key) if not pngs: raise FileNotFoundError(f"{key} not found in {bitmaps_dir}") diff --git a/builder/build.py b/builder/build.py index 21445605..73df3280 100644 --- a/builder/build.py +++ b/builder/build.py @@ -95,7 +95,7 @@ parser.add_argument( args = parser.parse_args() bitmaps_dir = Path(args.png_dir).absolute() - +name = bitmaps_dir.stem comments = { "Bibata-Modern-Classic": "Dark & Rounded-edge Bibata", "Bibata-Original-Classic": "Dark & Sharp-edge Bibata", @@ -105,24 +105,22 @@ comments = { "Bibata-Original-Ice": "Light & Sharp-edge Bibata", } -for theme in bitmaps_dir.iterdir(): - name = theme.name - x_out_dir = Path(args.out_dir) / name - win_out_dir = Path(args.out_dir) / f"{name}-Windows" +x_out_dir = Path(args.out_dir) / name +win_out_dir = Path(args.out_dir) / f"{name}-Windows" - config = get_config( - theme.absolute(), - x_sizes=args.xsizes, - win_canvas_size=args.win_canvas_size, - win_size=args.win_size, - ) +config = get_config( + bitmaps_dir, + x_sizes=args.xsizes, + win_canvas_size=args.win_canvas_size, + win_size=args.win_size, +) - info = Info(name=name, comment=comments.get(name, f"{name} Cursors")) +info = Info(name=name, comment=comments.get(name, f"{name} Cursors")) - if args.platform == "unix": - xbuild(config, x_out_dir, info) - elif args.platform == "windows": - wbuild(config, win_out_dir, info) - else: - build(config, x_out_dir, win_out_dir, info) +if args.platform == "unix": + xbuild(config, x_out_dir, info) +elif args.platform == "windows": + wbuild(config, win_out_dir, info) +else: + build(config, x_out_dir, win_out_dir, info) From 8c686471da87efbb8a21deeaab4988caedf349a4 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 09:36:09 +0530 Subject: [PATCH 26/37] =?UTF-8?q?=E2=9A=A1=20#94=20Dirty=20pixel=20in=20"m?= =?UTF-8?q?ove"=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- svg/modern/static/move.svg | 40 +++++++++++++++--------------------- svg/original/static/move.svg | 40 +++++++++++++++--------------------- 2 files changed, 32 insertions(+), 48 deletions(-) diff --git a/svg/modern/static/move.svg b/svg/modern/static/move.svg index cfe2dd3d..1f10a1a6 100644 --- a/svg/modern/static/move.svg +++ b/svg/modern/static/move.svg @@ -1,25 +1,17 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + diff --git a/svg/original/static/move.svg b/svg/original/static/move.svg index cfe2dd3d..1f10a1a6 100644 --- a/svg/original/static/move.svg +++ b/svg/original/static/move.svg @@ -1,25 +1,17 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + From 79645e3a6f0845652643ea0536546543b9eeb992 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 10:11:06 +0530 Subject: [PATCH 27/37] =?UTF-8?q?=F0=9F=97=92=EF=B8=8F=20Bibata=20Original?= =?UTF-8?q?=20render?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bitmapper/package.json | 1 - bitmapper/packages/original/src/index.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/bitmapper/package.json b/bitmapper/package.json index 39040c29..9f00eaf0 100644 --- a/bitmapper/package.json +++ b/bitmapper/package.json @@ -7,7 +7,6 @@ "license": "GPL-3.0", "private": true, "scripts": { - "clean": "rm -rf bitmaps themes", "render:bibata-modern": "yarn workspace bibata-modern render", "render:bibata-original": "yarn workspace bibata-original render", "render:bibata-rainbow": "yarn workspace bibata-rainbow render" diff --git a/bitmapper/packages/original/src/index.ts b/bitmapper/packages/original/src/index.ts index 02377170..7c53ba4e 100644 --- a/bitmapper/packages/original/src/index.ts +++ b/bitmapper/packages/original/src/index.ts @@ -4,7 +4,7 @@ import { BitmapsGenerator, SVGHandler } from "bibata-core"; import { config } from "./config"; const root = path.resolve(__dirname, "../../../../"); -const svgDir = path.resolve(root, "svg", "modern"); +const svgDir = path.resolve(root, "svg", "original"); const main = async () => { for (const { themeName, color } of config) { From cc4f2ee7c966728e08767b5aac412fc6969601db Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 10:17:19 +0530 Subject: [PATCH 28/37] =?UTF-8?q?=F0=9F=92=BE=20Better=20logging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- builder/bbpkg/constants.py | 10 +++++----- builder/build.py | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index fdf52d94..eae3e687 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ themes test.py # Logs Files -build.log +builder/files.txt # Extra .vscode diff --git a/builder/bbpkg/constants.py b/builder/bbpkg/constants.py index 3cbf9083..9dd4b121 100644 --- a/builder/bbpkg/constants.py +++ b/builder/bbpkg/constants.py @@ -5,7 +5,7 @@ from typing import Dict # Info AUTHOR = "Kaiz Khatri" -URL = "https://github.com/ful1e5/Google_Cursor" +URL = "https://github.com/ful1e5/Bibata_Cursor" # XCursor X_DELAY: int = 10 @@ -85,18 +85,18 @@ WIN_CURSORS_CFG: Dict[str, Dict[str, str]] = { ########## # Static # ########## - "right_ptr.png": {"to": "Alternate", "position": "top_right"}, + "right_ptr.png": {"to": "Alternate", "position": "top_left"}, "cross.png": {"to": "Cross"}, "left_ptr.png": {"to": "Default", "position": "top_left"}, - "bottom_right_corner.png": {"to": "Diagonal_1"}, - "bottom_left_corner.png": {"to": "Diagonal_2"}, + "bd_double_arrow.png": {"to": "Diagonal_1"}, + "fd_double_arrow.png": {"to": "Diagonal_2"}, "pencil.png": {"to": "Handwriting"}, "question_arrow.png": {"to": "Help", "position.png": "top_left"}, "sb_h_double_arrow.png": {"to": "Horizontal"}, "xterm.png": {"to": "IBeam", "position": "top_left"}, "hand2.png": {"to": "Link", "position": "top_left"}, "hand1.png": {"to": "Move"}, - "dnd_no_drop.png": {"to": "Unavailiable", "position": "top_left"}, + "circle.png": {"to": "Unavailiable", "position": "top_left"}, "sb_v_double_arrow.png": {"to": "Vertical"}, ############ # Animated # diff --git a/builder/build.py b/builder/build.py index 73df3280..4e78f7c9 100644 --- a/builder/build.py +++ b/builder/build.py @@ -109,6 +109,8 @@ comments = { x_out_dir = Path(args.out_dir) / name win_out_dir = Path(args.out_dir) / f"{name}-Windows" +print(f"=> Creating {name}") + config = get_config( bitmaps_dir, x_sizes=args.xsizes, From c9cf841e7f8718f8ef09aa20906ae109b7b99d16 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 11:50:14 +0530 Subject: [PATCH 29/37] =?UTF-8?q?=F0=9F=92=85=20(#91)=20Customize=20Unix?= =?UTF-8?q?=20&=20Windows=20cursors=20sizes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/Makefile | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 builder/Makefile diff --git a/builder/Makefile b/builder/Makefile new file mode 100644 index 00000000..faed9ffe --- /dev/null +++ b/builder/Makefile @@ -0,0 +1,62 @@ +all: clean setup build + +bitmaps_dir = "../bitmaps" + +.PHONY: all + +.ONESHELL: +SHELL:=/bin/bash + +X_SIZES ?=22 24 28 32 40 48 56 64 72 80 88 96 +WIN_CANVAS_SIZE ?= 32 +WIN_SIZE ?= 24 + +clean: + @rm -rf applbuild.egg-info build dist + @find -iname "*.pyc" -delete + + # Removing setup.py package files if installed + @if [ -f "files.txt" ]; then + @xargs rm -rf < files.txt + @rm -rf files.txt + @fi + +setup: setup.py + @test -d venv || python3 -m venv venv + @. venv/bin/activate; python3 setup.py install --record files.txt + +build: build_modern build_original + +build_modern: build.py + @. venv/bin/activate; python3 build.py -p "$(bitmaps_dir)/Bibata-Modern-Amber" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @. venv/bin/activate; python3 build.py -p "$(bitmaps_dir)/Bibata-Modern-Classic" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @. venv/bin/activate; python3 build.py -p "$(bitmaps_dir)/Bibata-Modern-Ice" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + +build_original: build.py + @. venv/bin/activate; python3 build.py -p "$(bitmaps_dir)/Bibata-Original-Amber" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @. venv/bin/activate; python3 build.py -p "$(bitmaps_dir)/Bibata-Original-Classic" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @. venv/bin/activate; python3 build.py -p "$(bitmaps_dir)/Bibata-Original-Ice" --xsizes $(X_SIZES) --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + +build_unix: build_modern_unix build_original_unix + +build_modern_unix: build.py + @. venv/bin/activate; python3 build.py unix -p "$(bitmaps_dir)/Bibata-Modern-Amber" --xsizes $(X_SIZES) + @. venv/bin/activate; python3 build.py unix -p "$(bitmaps_dir)/Bibata-Modern-Classic" --xsizes $(X_SIZES) + @. venv/bin/activate; python3 build.py unix -p "$(bitmaps_dir)/Bibata-Modern-Ice" --xsizes $(X_SIZES) + +build_original_unix: build.py + @. venv/bin/activate; python3 build.py unix -p "$(bitmaps_dir)/Bibata-Original-Amber" --xsizes $(X_SIZES) + @. venv/bin/activate; python3 build.py unix -p "$(bitmaps_dir)/Bibata-Original-Classic" --xsizes $(X_SIZES) + @. venv/bin/activate; python3 build.py unix -p "$(bitmaps_dir)/Bibata-Original-Ice" --xsizes $(X_SIZES) + +build_windows: build_modern_windows build_original_windows + +build_modern_windows: build.py + @. venv/bin/activate; python3 build.py windows -p "$(bitmaps_dir)/Bibata-Modern-Amber" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @. venv/bin/activate; python3 build.py windows -p "$(bitmaps_dir)/Bibata-Modern-Classic" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @. venv/bin/activate; python3 build.py windows -p "$(bitmaps_dir)/Bibata-Modern-Ice" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + +build_original_windows: build.py + @. venv/bin/activate; python3 build.py windows -p "$(bitmaps_dir)/Bibata-Original-Amber" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @. venv/bin/activate; python3 build.py windows -p "$(bitmaps_dir)/Bibata-Original-Classic" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) + @. venv/bin/activate; python3 build.py windows -p "$(bitmaps_dir)/Bibata-Original-Ice" --win-size $(WIN_SIZE) --win-canvas-size $(WIN_CANVAS_SIZE) From 6fbeb96ae6e9f6e5d38dd737a5776fd7e7283ffe Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 11:54:38 +0530 Subject: [PATCH 30/37] =?UTF-8?q?=F0=9F=91=B7=20Make=20supports?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 77 ++++++++++++++++++++++++++++++++++++++++++++++ bitmapper/Makefile | 8 ++--- 2 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..6a198271 --- /dev/null +++ b/Makefile @@ -0,0 +1,77 @@ +all: clean render build + +unix: clean render bitmaps + @cd builder && make setup build_unix + +windows: clean render bitmaps + @cd builder && make setup build_windows + +.PHONY: all + +clean: + @rm -rf bitmaps themes + +modern: clean render_modern build_modern +original:clean render_original build_original + +# +# Render Bibata Bitmaps +# + +render: bitmapper svg + @cd bitmapper && make install render_modern render_original + +render_original: bitmapper svg + @cd bitmapper && make install render_original + +render_modern: bitmapper svg + @cd bitmapper && make install render_modern + +# +# Build Bibata Unix & Windows cursors +# + +build: bitmaps + @cd builder && make setup build + +build_modern: bitmaps + @cd builder && make setup build_modern + +build_original: bitmaps + @cd builder && make setup build_original + +# +# Installation +# + +.ONESHELL: +SHELL:=/bin/bash + +src = "./themes/Bibata-*-*" +local := ~/.icons +local_dest := $(local)/$(theme) + +root := /usr/share/icons +root_dest := $(root)/$(theme) + +install: $(src) + @if [[ $EUID -ne 0 ]]; then + @echo "> Installing '$(theme)' cursors inside $(local)/..." + @mkdir -p $(local) + @cp -r $(src) $(local_dest) && echo "> Installed!" + @else + @echo "> Installing '$(theme)' cursors inside $(root)/..." + @mkdir -p $(root) + @sudo cp -r $(src) $(root_dest) && echo "> Installed!" + @fi + +uninstall: + @if [[ $EUID -ne 0 ]]; then + @echo "> Removing '$(local_dest)'..." + @rm -rf $(local_dest) + @else + @echo "> Removing '$(root_dest)'..." + @sudo rm -rf $(root_dest) + @fi + +reinstall: uninstall install diff --git a/bitmapper/Makefile b/bitmapper/Makefile index 74165305..a244ff35 100644 --- a/bitmapper/Makefile +++ b/bitmapper/Makefile @@ -10,12 +10,12 @@ node_modules: @mkdir -p $@ install: node_modules package.json - @yarn install + @yarn install -render_bibata_modern: +render_modern: @yarn render:bibata-modern -render_bibata_original: +render_original: @yarn render:bibata-original -render: render_bibata_modern render_bibata_original +render: render_modern render_original From b7b0797458bfd3c4911ab9a2bff2739099a5da79 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 16:54:52 +0530 Subject: [PATCH 31/37] =?UTF-8?q?=F0=9F=94=97=20(#88)=20Custom=20Unix=20cu?= =?UTF-8?q?rsor=20packager?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/generator.py | 11 ++++++----- builder/bbpkg/packager.py | 26 ++++++++++++++++++++++++++ builder/build.py | 2 +- 3 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 builder/bbpkg/packager.py diff --git a/builder/bbpkg/generator.py b/builder/bbpkg/generator.py index 68b6f286..d9176c30 100644 --- a/builder/bbpkg/generator.py +++ b/builder/bbpkg/generator.py @@ -6,9 +6,10 @@ from typing import Any, Dict, NamedTuple from clickgen.builders import WindowsCursor, XCursor from clickgen.core import CursorAlias -from clickgen.packagers import WindowsPackager, XPackager +from clickgen.packagers import WindowsPackager from bbpkg.constants import AUTHOR, URL +from bbpkg.packager import XPackager from bbpkg.symlinks import add_missing_xcursor @@ -38,7 +39,7 @@ def xbuild(config: Dict[str, Dict[str, Any]], x_out_dir: Path, info: Info) -> No with CursorAlias.from_bitmap(png, hotspot) as alias: x_cfg = alias.create(x_sizes, delay) - print(f" -> Building '{x_cfg.stem}' XCursor...") + print(f"Building '{x_cfg.stem}' XCursor...") XCursor.create(x_cfg, x_out_dir) add_missing_xcursor(x_out_dir / "cursors") @@ -77,7 +78,7 @@ def wbuild(config: Dict[str, Dict[str, Any]], win_out_dir: Path, info: Info) -> win_cfg = alias.reproduce( win_size, canvas_size, position, delay=win_delay ).rename(win_key) - print(f" -> Building '{win_cfg.stem}' Windows Cursor...") + print(f"Building '{win_cfg.stem}' Windows Cursor...") WindowsCursor.create(win_cfg, win_out_dir) WindowsPackager(win_out_dir, info.name, info.comment, AUTHOR, URL) @@ -112,7 +113,7 @@ def build( win_cfg = alias.reproduce( win_size, canvas_size, position, delay=win_delay ).rename(win_key) - print(f" -> Building '{win_cfg.stem}' Windows Cursor...") + print(f"Building '{win_cfg.stem}' Windows Cursor...") WindowsCursor.create(win_cfg, win_out_dir) for _, item in config.items(): @@ -123,7 +124,7 @@ def build( with CursorAlias.from_bitmap(png, hotspot) as alias: x_cfg = alias.create(x_sizes, delay) - print(f" -> Building '{x_cfg.stem}' XCursor...") + print(f"Building '{x_cfg.stem}' XCursor...") XCursor.create(x_cfg, x_out_dir) if item.get("win_key"): diff --git a/builder/bbpkg/packager.py b/builder/bbpkg/packager.py new file mode 100644 index 00000000..959e8fc8 --- /dev/null +++ b/builder/bbpkg/packager.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from pathlib import Path +from string import Template +from typing import Dict + +THEME_FILES_TEMPLATES: Dict[str, Template] = { + "cursor.theme": Template("[Icon Theme]\nName=$theme_name\nInherits=$theme_name"), + "index.theme": Template( + '[Icon Theme]\nName=$theme_name\nComment=$comment\nInherits="hicolor"' + ), +} + + +def XPackager(directory: Path, theme_name: str, comment: str) -> None: + """ Create a crispy `XCursors` theme package. """ + + # Writing all .theme files + files: Dict[str, str] = {} + for file, template in THEME_FILES_TEMPLATES.items(): + files[file] = template.safe_substitute(theme_name=theme_name, comment=comment) + + for f, data in files.items(): + fp: Path = directory / f + fp.write_text(data) diff --git a/builder/build.py b/builder/build.py index 4e78f7c9..319d7c3f 100644 --- a/builder/build.py +++ b/builder/build.py @@ -109,7 +109,7 @@ comments = { x_out_dir = Path(args.out_dir) / name win_out_dir = Path(args.out_dir) / f"{name}-Windows" -print(f"=> Creating {name}") +print(f"Getting '{name}' bitmaps ready for build...") config = get_config( bitmaps_dir, From c2e92552fce2890da0a46dc8ff18940054e2d85c Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 16:57:33 +0530 Subject: [PATCH 32/37] =?UTF-8?q?=F0=9F=91=B7=20CI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 'bibata-pr-ci' workflow merged to 'bibata-build'. - Makefile supports install & uninstall - GitHub workflow path changed --- .github/workflows/bibata-ci.yml | 146 ++++++++++++----------- .github/workflows/bibata-pr-build.yml | 94 --------------- .github/workflows/bibata-rainbow-ci.yml | 148 ++++++++++++------------ Makefile | 28 +++-- 4 files changed, 164 insertions(+), 252 deletions(-) delete mode 100644 .github/workflows/bibata-pr-build.yml diff --git a/.github/workflows/bibata-ci.yml b/.github/workflows/bibata-ci.yml index b570114a..0cde113e 100644 --- a/.github/workflows/bibata-ci.yml +++ b/.github/workflows/bibata-ci.yml @@ -1,92 +1,90 @@ name: bibata-ci on: - push: - paths-ignore: - - "**.md" - - "**.bbcode" - - "packages/rainbow/**" - - LICENSE - branches: [main, dev] + push: + paths-ignore: + - "**.md" + - "**.bbcode" + - "bitmapper/packages/rainbow/**" + - LICENSE + branches: [main, dev] + pull_request: + paths-ignore: + - "**.md" + - "**.bbcode" + - "bitmapper/packages/rainbow/**" + - LICENSE + branches: [main] jobs: - build: - runs-on: ubuntu-latest + build: + runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + steps: + - uses: actions/checkout@v2 - - name: Install build dependencies (apt) - run: | - sudo apt install libx11-dev libxcursor-dev libpng-dev - continue-on-error: false + - name: Install build dependencies (apt) + run: sudo apt install -y libx11-dev libxcursor-dev libpng-dev + continue-on-error: false - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" - - uses: actions/cache@v2 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- + - name: Caching yarn packages + uses: actions/cache@v2 + id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- - - uses: actions/setup-node@v1 - with: - node-version: "12.x" - - run: yarn install - - run: yarn render:bibata-modern - - run: yarn render:bibata-original + - name: Set Up NodeJS 12.x + uses: actions/setup-node@v1 + with: + node-version: "12.x" - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.x" + - name: Caching pip packages + uses: actions/cache@v2 + id: pip-cache # use this to check for `cache-hit` (`steps.pip-cache.outputs.cache-hit != 'true'`) + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }} + restore-keys: | + ${{ runner.os }}-pip- - - name: Cache pip dependencies - uses: actions/cache@v2 - with: - # This path is specific to Ubuntu - path: ~/.cache/pip - # Look to see if there is a cache hit for the corresponding requirements file - key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - ${{ runner.os }}- + - name: Set up Python 3.8 + uses: actions/setup-python@v2 + with: + python-version: "3.8" - - name: Install pip dependencies - run: | - python -m pip install --upgrade pip - python -m pip install --upgrade setuptools - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - python setup.py install - continue-on-error: false + - name: Generating `Bibata-Modern` Cursor Theme + run: make modern - - name: Generating `Bibata` Cursor Theme - run: python build.py + - name: Uploading `Bibata-Modern` Bitmaps artifact + uses: actions/upload-artifact@v2 + with: + name: Bibata-Modern-Bitmaps + path: bitmaps/* - - name: Compressing Artifacts - run: | - tar -cvzf logs.tar.gz build.log - tar -cvzf bitmaps.tar.gz bitmaps - tar -cvzf Bibata.tar.gz themes + - name: Uploading `Bibata-Modern` Theme artifact + uses: actions/upload-artifact@v2 + with: + name: Bibata-Modern + path: themes/* - - name: Uploading `Bibata` Build Log artifact - uses: actions/upload-artifact@v2 - with: - name: logs - path: logs.tar.gz + - name: Generating `Bibata-Original` Cursor Theme + run: make original - - name: Uploading `bitmaps` artifact - uses: actions/upload-artifact@v2 - with: - name: bitmaps - path: bitmaps.tar.gz + - name: Uploading `Bibata-Original` Bitmaps artifact + uses: actions/upload-artifact@v2 + with: + name: Bibata-Original-Bitmaps + path: bitmaps/* - - name: Uploading `Bibata` Theme artifact - uses: actions/upload-artifact@v2 - with: - name: Bibata - path: Bibata.tar.gz + - name: Uploading `Bibata-Original` Theme artifact + uses: actions/upload-artifact@v2 + with: + name: Bibata-Original + path: themes/* diff --git a/.github/workflows/bibata-pr-build.yml b/.github/workflows/bibata-pr-build.yml deleted file mode 100644 index bfa3fdf1..00000000 --- a/.github/workflows/bibata-pr-build.yml +++ /dev/null @@ -1,94 +0,0 @@ - -name: bibata-pr - -on: - - pull_request: - paths-ignore: - - "**.md" - - "**.bbcode" - - "packages/rainbow/**" - - LICENSE - branches: [main] - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - - name: Install build dependencies (apt) - run: | - sudo apt install libx11-dev libxcursor-dev libpng-dev - continue-on-error: false - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v2 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - uses: actions/setup-node@v1 - with: - node-version: "12.x" - - run: yarn install - - run: yarn render:bibata-modern - - run: yarn render:bibata-original - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.x" - - - name: Cache pip dependencies - uses: actions/cache@v2 - with: - # This path is specific to Ubuntu - path: ~/.cache/pip - # Look to see if there is a cache hit for the corresponding requirements file - key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - ${{ runner.os }}- - - - name: Install pip dependencies - run: | - python -m pip install --upgrade pip - python -m pip install --upgrade setuptools - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - python setup.py install - continue-on-error: false - - - name: Generating `Bibata` Cursor Theme - run: python build.py - - - name: Compressing Artifacts - run: | - tar -cvzf logs.tar.gz build.log - tar -cvzf bitmaps.tar.gz bitmaps - tar -cvzf Bibata.tar.gz themes - - - name: Uploading `Bibata` Build Log artifact - uses: actions/upload-artifact@v2 - with: - name: logs - path: logs.tar.gz - - - name: Uploading `bitmaps` artifact - uses: actions/upload-artifact@v2 - with: - name: bitmaps - path: bitmaps.tar.gz - - - name: Uploading `Bibata` Theme artifact - uses: actions/upload-artifact@v2 - with: - name: Bibata - path: Bibata.tar.gz diff --git a/.github/workflows/bibata-rainbow-ci.yml b/.github/workflows/bibata-rainbow-ci.yml index 54ae3d77..6899ca4b 100644 --- a/.github/workflows/bibata-rainbow-ci.yml +++ b/.github/workflows/bibata-rainbow-ci.yml @@ -1,92 +1,92 @@ name: bibata-rainbow-ci on: - push: - paths: - - "packages/rainbow/**" - branches: [main, dev] - pull_request: - paths: - - "packages/rainbow/**" - branches: [main] + push: + paths: + - "bitmapper/packages/rainbow/**" + branches: [main, dev] + pull_request: + paths: + - "bitmapper/packages/rainbow/**" + branches: [main] jobs: - build: - runs-on: ubuntu-latest + build: + runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + steps: + - uses: actions/checkout@v2 - - name: Install build dependencies (apt) - run: | - sudo apt install libx11-dev libxcursor-dev libpng-dev - continue-on-error: false + - name: Install build dependencies (apt) + run: | + sudo apt install libx11-dev libxcursor-dev libpng-dev + continue-on-error: false - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" - - uses: actions/cache@v2 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- + - uses: actions/cache@v2 + id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- - - uses: actions/setup-node@v1 - with: - node-version: "12.x" - - run: yarn install - - run: yarn render:bibata-rainbow + - uses: actions/setup-node@v1 + with: + node-version: "12.x" + - run: yarn install + - run: yarn render:bibata-rainbow - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.x" + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: "3.x" - - name: Cache pip dependencies - uses: actions/cache@v2 - with: - # This path is specific to Ubuntu - path: ~/.cache/pip - # Look to see if there is a cache hit for the corresponding requirements file - key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - ${{ runner.os }}- + - name: Cache pip dependencies + uses: actions/cache@v2 + with: + # This path is specific to Ubuntu + path: ~/.cache/pip + # Look to see if there is a cache hit for the corresponding requirements file + key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + ${{ runner.os }}- - - name: Install pip dependencies - run: | - python -m pip install --upgrade pip - python -m pip install --upgrade setuptools - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - python setup.py install - continue-on-error: false + - name: Install pip dependencies + run: | + python -m pip install --upgrade pip + python -m pip install --upgrade setuptools + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + python setup.py install + continue-on-error: false - - name: Generating `Bibata Rainbow` Cursor Theme - run: python build.py -x + - name: Generating `Bibata Rainbow` Cursor Theme + run: python build.py -x - - name: Compressing Artifacts - run: | - tar -cvzf logs.tar.gz build.log - tar -cvzf bitmaps.tar.gz bitmaps - tar -cvzf Bibata.tar.gz themes + - name: Compressing Artifacts + run: | + tar -cvzf logs.tar.gz build.log + tar -cvzf bitmaps.tar.gz bitmaps + tar -cvzf Bibata.tar.gz themes - - name: Uploading `Bibata Rainbow` Build Log artifact - uses: actions/upload-artifact@v2 - with: - name: logs - path: logs.tar.gz + - name: Uploading `Bibata Rainbow` Build Log artifact + uses: actions/upload-artifact@v2 + with: + name: logs + path: logs.tar.gz - - name: Uploading `bitmaps` artifact - uses: actions/upload-artifact@v2 - with: - name: bitmaps - path: bitmaps.tar.gz + - name: Uploading `bitmaps` artifact + uses: actions/upload-artifact@v2 + with: + name: bitmaps + path: bitmaps.tar.gz - - name: Uploading `Bibata Rainbow` Theme artifact - uses: actions/upload-artifact@v2 - with: - name: Bibata - path: Bibata.tar.gz + - name: Uploading `Bibata Rainbow` Theme artifact + uses: actions/upload-artifact@v2 + with: + name: Bibata + path: Bibata.tar.gz diff --git a/Makefile b/Makefile index 6a198271..77f49a1f 100644 --- a/Makefile +++ b/Makefile @@ -34,6 +34,14 @@ render_modern: bitmapper svg build: bitmaps @cd builder && make setup build +build_unix: bitmaps + @rm -rf themes + @cd builder && make setup build_unix + +build_windows: bitmaps + @rm -rf themes + @cd builder && make setup build_windows + build_modern: bitmaps @cd builder && make setup build_modern @@ -47,30 +55,30 @@ build_original: bitmaps .ONESHELL: SHELL:=/bin/bash -src = "./themes/Bibata-*-*" +src = ./themes/Bibata-* local := ~/.icons -local_dest := $(local)/$(theme) +local_dest := $(local)/Bibata-* root := /usr/share/icons -root_dest := $(root)/$(theme) +root_dest := $(root)/Bibata-* -install: $(src) +install: themes @if [[ $EUID -ne 0 ]]; then - @echo "> Installing '$(theme)' cursors inside $(local)/..." + @echo "> Installing 'Bibata' cursors inside $(local)/..." @mkdir -p $(local) - @cp -r $(src) $(local_dest) && echo "> Installed!" + @cp -r $(src) $(local)/ && echo "> Installed!" @else - @echo "> Installing '$(theme)' cursors inside $(root)/..." + @echo "> Installing 'Bibata' cursors inside $(root)/..." @mkdir -p $(root) - @sudo cp -r $(src) $(root_dest) && echo "> Installed!" + @sudo cp -r $(src) $(root)/ && echo "> Installed!" @fi uninstall: @if [[ $EUID -ne 0 ]]; then - @echo "> Removing '$(local_dest)'..." + @echo "> Removing 'Bibata' cursors from '$(local)'..." @rm -rf $(local_dest) @else - @echo "> Removing '$(root_dest)'..." + @echo "> Removing 'Bibata' cursors from '$(root)'..." @sudo rm -rf $(root_dest) @fi From b074327d14ddfdd847aa93118879c8551542b109 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 17:15:44 +0530 Subject: [PATCH 33/37] =?UTF-8?q?=F0=9F=94=A7=20Fix=20CI=20Problems?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Compress theme size in CI - Timeout session fixed in Bitmapper --- .github/workflows/bibata-ci.yml | 10 ++++++++-- bitmapper/packages/core/src/BitmapsGenerator.ts | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/bibata-ci.yml b/.github/workflows/bibata-ci.yml index 0cde113e..9a30203d 100644 --- a/.github/workflows/bibata-ci.yml +++ b/.github/workflows/bibata-ci.yml @@ -62,6 +62,9 @@ jobs: - name: Generating `Bibata-Modern` Cursor Theme run: make modern + - name: Compressing `Bibata-Modern` Cursor Theme + run: tar -cvzf Bibata-Modern.tar.gz themes/* + - name: Uploading `Bibata-Modern` Bitmaps artifact uses: actions/upload-artifact@v2 with: @@ -72,11 +75,14 @@ jobs: uses: actions/upload-artifact@v2 with: name: Bibata-Modern - path: themes/* + path: Bibata-Modern.tar.gz - name: Generating `Bibata-Original` Cursor Theme run: make original + - name: Compressing `Bibata-Original` Cursor Theme + run: tar -cvzf Bibata-Original.tar.gz themes/* + - name: Uploading `Bibata-Original` Bitmaps artifact uses: actions/upload-artifact@v2 with: @@ -87,4 +93,4 @@ jobs: uses: actions/upload-artifact@v2 with: name: Bibata-Original - path: themes/* + path: Bibata-Original.tar.gz diff --git a/bitmapper/packages/core/src/BitmapsGenerator.ts b/bitmapper/packages/core/src/BitmapsGenerator.ts index 1cfff4f9..4d4144b4 100644 --- a/bitmapper/packages/core/src/BitmapsGenerator.ts +++ b/bitmapper/packages/core/src/BitmapsGenerator.ts @@ -33,7 +33,7 @@ class BitmapsGenerator { */ public async getBrowser(): Promise { return await puppeteer.launch({ - ignoreDefaultArgs: [" --single-process ", "--no-sandbox"], + ignoreDefaultArgs: ["--no-sandbox"], headless: true, }); } From 5d43e4088a3cfaee74d38c3f667999217459323f Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Thu, 25 Feb 2021 17:46:04 +0530 Subject: [PATCH 34/37] =?UTF-8?q?=E2=9C=8A=20(#87)=20Grabbing=20hand=20sym?= =?UTF-8?q?links=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/symlinks.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/builder/bbpkg/symlinks.py b/builder/bbpkg/symlinks.py index b324650b..bb2578fe 100644 --- a/builder/bbpkg/symlinks.py +++ b/builder/bbpkg/symlinks.py @@ -71,6 +71,14 @@ def add_missing_xcursor(directory) -> None: "src": "fd_double_arrow", "links": ["fcf1c3c7cd4491d801f1e1c78f100000", "nesw-resize", "size_bdiag"], }, + { + "src": "grabbing", + "links": [ + "closedhand", + "dnd-none", + "fcf21c00b30f7e3f83fe0dfd12e71cff", + ], + }, {"src": "hand1", "links": ["grab", "openhand"]}, { "src": "hand2", @@ -105,9 +113,7 @@ def add_missing_xcursor(directory) -> None: "links": [ "4498f0e0c1937ffe01fd06f973665830", "9081237383d90e509aa00f00170e968f", - "fcf21c00b30f7e3f83fe0dfd12e71cff", - "closedhand", - "dnd-none", + "all-scroll", "fleur", "size_all", ], From 449f0a8fb16ced44ac53cd0fd90ccd440083e7a9 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Fri, 26 Feb 2021 17:26:27 +0530 Subject: [PATCH 35/37] =?UTF-8?q?=F0=9F=8C=88=20Tweak=20Unix=20cursor's=20?= =?UTF-8?q?animation=20speed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builder/bbpkg/constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/bbpkg/constants.py b/builder/bbpkg/constants.py index 9dd4b121..8feb55e0 100644 --- a/builder/bbpkg/constants.py +++ b/builder/bbpkg/constants.py @@ -8,7 +8,7 @@ AUTHOR = "Kaiz Khatri" URL = "https://github.com/ful1e5/Bibata_Cursor" # XCursor -X_DELAY: int = 10 +X_DELAY: int = 13 # Windows Cursor From 4d8f8fbc2826b831b00fa20816e6b6bd62b6f2a8 Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Fri, 26 Feb 2021 17:27:16 +0530 Subject: [PATCH 36/37] =?UTF-8?q?=F0=9F=93=9A=20Docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CURSORS.md | 65 ---------------- PLING.bbcode | 9 ++- README.md | 205 ++++++++++++++------------------------------------- 3 files changed, 60 insertions(+), 219 deletions(-) delete mode 100644 CURSORS.md diff --git a/CURSORS.md b/CURSORS.md deleted file mode 100644 index 0832dd9c..00000000 --- a/CURSORS.md +++ /dev/null @@ -1,65 +0,0 @@ -# Cursor Source Info - -| Bibata Modern Cursors | Bibata Original Cursors | Source | Symbolic links | Windows Cursor name | -| :-------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------: | :---------------------: | :-----------------------------: | :-----------------: | -| | | move.svg | `dnd_none.svg` `all_scroll.svg` | `SizeAll.cur` | -| | | bottom_left_corner.svg | `None` | | -| | | fd_double_arrow.svg | `None` | `SizeNWSE.cur` | -| | | top_right_corner.svg | `None` | | -| | | bottom_right_corner.svg | `None` | | -| | | bd_double_arrow.svg | `None` | `SizeNESW.cur` | -| | | top_left_corner.svg | `None` | | -| | | bottom_tee.svg | `None` | | -| | | center_ptr.svg | `None` | | -| | | circle.svg | `None` | `NO.cur` | -| | | crossed_circle.svg | `None` | | -| | | dnd_no_drop.svg | `None` | | -| | | context_menu.svg | `None` | | -| | | copy.svg | `None` | | -| | | dnd_copy.svg | `None` | | -| | | cross.svg | `None` | | -| | | tcross.svg | `None` | | -| | | crosshair.svg | `None` | `Cross.cur` | -| | | dotbox.svg | `None` | | -| | | hand1.svg | `None` | | -| | | hand2.svg | `None` | `Hand.cur` | -| | | left_ptr.svg | `None` | `Arrow.cur` | -| | | left_side.svg | `None` | | -| | | right_side.svg | `None` | | -| | | left_tee.svg | `None` | | -| | | link.svg | `None` | | -| | | dnd_link.svg | `None` | | -| | | ll_angle.svg | `None` | | -| | | lr_angle.svg | `None` | | -| | | dnd_move.svg | `None` | | -| | | grabbing.svg | `None` | | -| | | pointer_move.svg | `None` | | -| | | pencil.svg | `None` | `Handwriting.cur` | -| | | plus.svg | `None` | | -| | | question_arrow.svg | `None` | `Help.cur` | -| | | dnd_ask.svg | `None` | | -| | | right_ptr.svg | `None` | | -| | | right_tee.svg | `None` | | -| | | sb_down_arrow.svg | `None` | | -| | | sb_h_double_arrow.svg | `None` | `SizeWE.cur` | -| | | sb_left_arrow.svg | `None` | | -| | | sb_right_arrow.svg | `None` | | -| | | sb_up_arrow.svg | `None` | `Alternate.cur` | -| | | sb_v_double_arrow.svg | `None` | `SizeNS.cur` | -| | | top_side.svg | `None` | | -| | | bottom_side.svg | `None` | | -| | | top_tee.svg | `None` | | -| | | ul_angle.svg | `None` | | -| | | ur_angle.svg | `None` | | -| | | vertical_text.svg | `None` | | -| | | wait.svg | `None` | `Wait.ani` | -| | | left_ptr_watch.svg | `None` | `AppStarting.ani` | -| | | wayland_cursor.svg | `None` | | -| | | x_cursor.svg | `None` | | -| | | xterm.svg | `None` | `IBeam.cur` | -| | | zoom_in.svg | `None` | | -| | | zoom_out.svg | `None` | | - -## Figma File - -[![Figma File](https://imgur.com/15fNroH.png)](https://www.figma.com/file/Y9RKZLXhSvaxpUzsKGJkp6/Bibata-Cursor?node-id=0%3A1) diff --git a/PLING.bbcode b/PLING.bbcode index 69ff0820..607e9b2f 100644 --- a/PLING.bbcode +++ b/PLING.bbcode @@ -7,8 +7,9 @@ [i]Available Sizes[/i] [b]22, 24, 28, 32, 40, 48, 56, 64, 72, 80, 88, 96[/b] [i]Get the latest build[/i] @[b][url=https://github.com/ful1e5/Bibata_Cursor/actions]GitHub Actions[/url][/b] [i]Release Notification[/i] at [b][url=https://twitter.com/ful1e5]Twitter[/url][/b](@ful1e5) +For [i]Customizing Size[/i] check [b][url=https://github.com/ful1e5/Bibata_Cursor#manual-build]README.md[/url][/b] -[b][size=150]Linux/X11 installation[/size][/b] +[b]Linux/X11 installation[/b] Get the latest stable Linux release from the [b][url=https://www.pling.com/p/1197198/#files-panel]Pling[/url][/b]. Unpack [b].tar.gz[/b] file and follow these [b]commands[/b]. [b]Install[/b] @@ -27,8 +28,8 @@ Get the latest stable Linux release from the [b][url=https://www.pling.com/p/119 [size=150][b]Window installation[/b][/size] [list=1] - [*]unzip [b]Bibata_Windows.zip[/b] file[/*] - [*]Open [b]Bibata_Windows/[/b] in Explorer, and [b]right-click[/b] on [b]install.inf[/b].[/*] + [*]unzip [b].zip[/b] file[/*] + [*]Open [b]unziped[/b] directory in Explorer, and [b]right-click[/b] on [b]install.inf[/b].[/*] [*]Click 'Install' from the context menu, and authorize the modifications to your system.[/*] [*]Open [i]Control Panel > Personalisation and Appearance > Change mouse pointers[/i], and select [b]Bibata Cursors[/b].[/*] [*]Click '[b]Apply[/b]'.[/*] @@ -43,4 +44,4 @@ Get the latest stable Linux release from the [b][url=https://www.pling.com/p/119 [/list] [size=150][b]License & Terms[/b][/size] -'[b]Bibata[/b]' Cursor Theme is available under the terms of the [b]GPL-3.0[/b] license. \ No newline at end of file +'[b]Bibata[/b]' Cursor Theme is available under the terms of the [b]GPL-3.0[/b] license. diff --git a/README.md b/README.md index 05a18700..54e8e0a9 100644 --- a/README.md +++ b/README.md @@ -72,77 +72,27 @@ --- - - -
- Table of Contents (click to expand) - -- [Bibata ?](#bibata-) - - [Bibata Styles](#bibata-styles) - - [Cursor Sizes](#cursor-sizes) - - [Colors](#colors) - - [Preview](#preview) - - [Quick install](#quick-install) - - [Packages 📦](#packages-) - - [Arch Linux/Manjaro](#arch-linuxmanjaro) - - [Fedora](#fedora) - - [copr-repo by @peterwu (recommended)](#copr-repo-by-peterwu-recommended) - - [copr-repo by @muhalantabli](#copr-repo-by-muhalantabli) - - [Manual Install](#manual-install) - - [Linux/X11](#linuxx11) - - [Windows](#windows) -- [Dependencies](#dependencies) - - [Runtime Dependencies](#runtime-dependencies) - - [Install Runtime Dependencies](#install-runtime-dependencies) - - [macOS](#macos) - - [Debain/ubuntu](#debainubuntu) - - [ArchLinux/Manjaro](#archlinuxmanjaro) - - [Fedora/Fedora Silverblue/CentOS/RHEL](#fedorafedora-silverbluecentosrhel) - - [Build Dependencies](#build-dependencies) - - [Node Packages](#node-packages) - - [PyPi Packages](#pypi-packages) - - [Build From Scratch](#build-from-scratch) - - [⚡ Auto Build (using GitHub Actions)](#-auto-build-using-github-actions) - - [Manual Build](#manual-build) - - [Setup python environment](#setup-python-environment) - - [Compile From Source](#compile-from-source) - - [Install Node/PyPi Packages](#install-nodepypi-packages) - - [Build `Bibata`](#build-bibata) - - [Build `Bibata Modern` Only](#build-bibata-modern-only) - - [Build `Bibata Original` Only](#build-bibata-original-only) - - [Install Build Theme](#install-build-theme) - - [Linux](#linux) - - [Windows](#windows-1) -- [You may also like...](#you-may-also-like) -- [Bugs](#bugs) -- [Getting Help](#getting-help) -- [Contributing](#contributing) -- [Credit](#credit) -- [Support](#support) -
-
Sub Projects (click to expand) -- [Bibata Rainbow](./packages/rainbow) +- [Bibata Rainbow](./bitmapper/packages/rainbow)
- # Bibata ? Bibata is **OpenSource**, Compact and Material Designed Cursor set. This project masterelop for improve `Cursor` Experience. -- **Bibata Amber :** Yellowish Theme. -- **Bibata Classic :** Solid Black Theme. -- **Bibata Ice :** Light Theme. +- **Bibata Amber :** Yellowish Theme. +- **Bibata Classic :** Solid Black Theme. +- **Bibata Ice :** Light Theme. ## Bibata Styles -- **Bibata Original :** Sharp edge Bibata Cursors -- **Bibata Modern :** Round edge Bibata Cursors +- **Bibata Original :** Sharp edge Bibata Cursors +- **Bibata Modern :** Round edge Bibata Cursors ## Cursor Sizes @@ -169,20 +119,22 @@ Bibata is **OpenSource**, Compact and Material Designed Cursor set. This project ## Preview +> Check Figma file [here](https://www.figma.com/file/Y9RKZLXhSvaxpUzsKGJkp6/Bibata-Cursor?node-id=0%3A1) +

- +
Bibata Amber

- +
Bibata Classic

- +
Bibata Ice

@@ -222,6 +174,7 @@ yay -S bibata-cursor-theme-bin # pre-built binary #### copr-repo by @peterwu (recommended) **Enable the repo:** + ```bash sudo dnf copr enable peterwu/rendezvous ``` @@ -265,8 +218,8 @@ sudo mv Bibata-* /usr/share/icons/ #### Windows -1. unzip `Bibata_Windows.zip` file -2. Open `Bibata_Windows/` in Explorer, and **right click** on `install.inf`. +1. unzip `.zip` file +2. Open unziped directory in Explorer, and **right click** on `install.inf`. 3. Click 'Install' from the context menu, and authorize the modifications to your system. 4. Open _Control Panel_ > _Personalization and Appearance_ > _Change mouse pointers_, and select **Bibata Cursors**. 5. Click '**Apply**'. @@ -275,18 +228,19 @@ sudo mv Bibata-* /usr/share/icons/ # Dependencies -## Runtime Dependencies +## External Libraries -- libxcursor-dev -- libx11-dev -- libpng-dev (<=1.6) +- libxcursor-dev +- libx11-dev +- libpng-dev (<=1.6) -#### Install Runtime Dependencies +#### Install External Libraries ##### macOS ```bash -brew cask install xquartz libpng +brew install --cask xquartz +brew install libpng ``` ##### Debain/ubuntu @@ -309,22 +263,22 @@ sudo dnf install libX11-devel libXcursor-devel libpng-devel ## Build Dependencies -- [nodejs](https://nodejs.org/en/) (<=12.x.x) -- [yarn](https://classic.yarnpkg.com/en/docs/install/) -- [python3](https://www.python.org/downloads/) -- [pip3](https://pip.pypa.io/en/stable/installing/) +- [gcc](https://gcc.gnu.org/install/) +- [make](https://www.gnu.org/software/make/) +- [nodejs](https://nodejs.org/en/) (<=12.x.x) +- [yarn](https://classic.yarnpkg.com/en/docs/install/) +- [python](https://www.python.org/downloads/) (<=3.8) +- [pip3](https://pip.pypa.io/en/stable/installing/) ### Node Packages -- [puppeteer](https://www.npmjs.com/package/puppeteer) -- [pngjs](https://www.npmjs.com/package/pngjs) -- [pixelmatch](https://www.npmjs.com/package/pixelmatch) -- [ora](https://www.npmjs.com/package/ora) -- [chalk](https://www.npmjs.com/package/chalk) +- [puppeteer](https://www.npmjs.com/package/puppeteer) +- [pngjs](https://www.npmjs.com/package/pngjs) +- [pixelmatch](https://www.npmjs.com/package/pixelmatch) ### PyPi Packages -- [clickgen](https://pypi.org/project/clickgen/) +- [clickgen](https://pypi.org/project/clickgen/s) ## Build From Scratch @@ -334,100 +288,54 @@ GitHub Actions is automatically runs on every `push`(on **main** & **dev** branc ### Manual Build -#### Setup python environment +> Check **[Makefile](./Makefile)** for more targets. ```bash -python3 -m pip install --upgrade pip # Update pip to latest -python3 -m pip install virtualenv # Install python virtual environment -virtualenv venv # Create new virtualenv named `venv` -source venv/bin/activate # Activate virtualenv - -# For Deactivate virtualenv -deactivate +make ``` -#### Compile From Source - -> Make sure your [python environment](#setup-python-environment) setup and `virtualenv` is **active**. - -#### Install Node/PyPi Packages +#### Build Only `XCursor` theme ```bash -yarn install # Install all Node Packages -yarn py_install # Install all PyPi Packages with Bibata builder +make unix ``` -#### Build `Bibata` +#### Customize `XCursor` size ```bash -yarn render:bibata-modern # Render Bibata Modern Bitmaps -yarn render:bibata-original # Render Bibata Original Bitmaps - -# Build cursors packages -yarn build # Build Windows & X11 packages -# OR -yarn build:x11 # Build only X11 packages -# OR -yarn build:win # Build only Windows cursors +make unix X_SIZES=22 # Only built '22px' pixel-size. +make unix X_SIZES=22 24 32 # Multiple sizes are provided with ' '(Space) ``` -#### Build `Bibata Modern` Only +#### Install `XCursor` theme ```bash -yarn render:bibata-modern # Render Bibata Modern Bitmaps - -# Build cursors packages -yarn build # Build Windows & X11 cursors -# OR -yarn build:x11 # Build only X11 cursors -# OR -yarn build:win # Build only Windows cursors +make install # install as user + # OR +sudo make install # install as root ``` -#### Build `Bibata Original` Only +#### Build Only `Windows` theme ```bash -yarn render:bibata-original # Render Bibata Original Bitmaps - -# Build cursors packages -yarn build # Build Windows & Linux cursors -# OR -yarn build:x11 # Build only X11 cursors -# OR -yarn build:win # Build only Windows cursors +make windows ``` -After build `bitmaps` and `themes` directory are generated at project **root**. - -### Install Build Theme - -All builded cursor themes are available inside `themes` directory. - -#### Linux +#### Customize `Windows Cursor` size ```bash -cd ./themes - -# installing Theme to local user(recommend) -rm -rf ~/.icons/Bibata-* && cp -r Bibata-* ~/.icons/ +make windows WIN_SIZE=96 # Supports only one pixel-size ``` -#### Windows - -1. Open the `settings` app. -2. **Goto** `Devices` -> `Mouse` -> `Additional Mouse Options`. -3. **Goto** the `pointers` tab. -4. Replace each cursor in the currently applied cursor set with the corresponding cursor in the `./themes/` folder. -5. Click "**save as**" and type in the desired name. -6. Click "**apply**" and "**ok**". +> Windows installations steps are same as [these](#windows). # You may also like... -- [**Bibata Extra**](https://github.com/ful1e5/Bibata_Extra_Cursor) - More Bibata! -- [**Bibata Adapta**](https://gitlab.com/cscs/Bibata_AdaptaBreath_Cursors) - Bibata Based Cursor Made for AdaptaBreath and Manjaro. -- [**Bibata Translucent**](https://github.com/Silicasandwhich/Bibata_Cursor_Translucent) - Bibata translucent is a translucent flavor of the Bibata. +- [**Bibata Extra**](https://github.com/ful1e5/Bibata_Extra_Cursor) - More Bibata! +- [**Bibata Adapta**](https://gitlab.com/cscs/Bibata_AdaptaBreath_Cursors) - Bibata Based Cursor Made for AdaptaBreath and Manjaro. +- [**Bibata Translucent**](https://github.com/Silicasandwhich/Bibata_Cursor_Translucent) - Bibata translucent is a translucent flavor of the Bibata. @@ -451,19 +359,16 @@ Check [CONTRIBUTING.md](CONTRIBUTING.md), any suggestions for features and contr # Credit -- [Adwaita](https://github.com/GNOME/adwaita-icon-theme) -- [Dmz](https://github.com/GalliumOS/dmz-cursor-theme) -- [Yaru](https://github.com/ubuntu/yaru) -- Emojis are taken from [here](https://emojipedia.org/) +- [Adwaita](https://github.com/GNOME/adwaita-icon-theme) +- [Dmz](https://github.com/GalliumOS/dmz-cursor-theme) +- [Yaru](https://github.com/ubuntu/yaru) +- Emojis are taken from [here](https://emojipedia.org/) +- Wedge loading from [loading.io](https://loading.io/spinner/wedges/-pie-wedge-pizza-circle-round-rotate) with **Microsoft** colors # Support -Share your joy with **★**. - -> For more support - Buy Me A Coffee From 85487c709f9fc47022b250f2a37ee3b91423f28e Mon Sep 17 00:00:00 2001 From: ful1e5 <24286590+ful1e5@users.noreply.github.com> Date: Fri, 26 Feb 2021 17:45:28 +0530 Subject: [PATCH 37/37] =?UTF-8?q?=F0=9F=9A=80=20Prepare=20Bibata=20v1.1.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 174 +++++++++++++---------- bitmapper/package.json | 2 +- bitmapper/packages/modern/package.json | 2 +- bitmapper/packages/original/package.json | 2 +- builder/setup.py | 2 +- 5 files changed, 100 insertions(+), 82 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c8a203e..9513e4c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,172 +7,190 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 # Tags -- Normal tagging for **Bibata** (v1.0.0) -- Tag with `br` postfix in **Bibata Rainbow** (v1.0.0.br) +- Normal tagging for **Bibata** (v1.0.0) +- Tag with `br` postfix in **Bibata Rainbow** (v1.0.0.br) -## [unreleased] +## [Bibata v1.1.0] - 26 Feb 2021 ### Added -- new **[copr](https://copr.fedorainfracloud.org/coprs/peterwu/rendezvous/package/bibata-cursor-themes/)** package by @peterwu -- `.svg` files separated to `/svg` +- new **[copr](https://copr.fedorainfracloud.org/coprs/peterwu/rendezvous/package/bibata-cursor-themes/)** package by @peterwu +- `.svg` files separated to `/svg` +- Customizable Windows & UNIX cursors #91 +- Easy build system with `Make` supports +- Make docs in[README.md](./README.md#manual-build) +- use builtin clickgen WinPackager for Windows package +- Constant frames in animated cursors +- Smooth animation in Windows cursors +- `install` & `uninstall` with `make` commands ### Changed -- Fix dnf runtime requirements packages ful1e5/apple_cursor#34 +- Individual cursor build with clickgen v1.1.8 #93 +- puppeteer 'single-process' args removed +- All Bitmapping code structured in `bitmapper` directory +- builder code structured inside `builder` directory +- `builder` package renamed to `bbpkg` +- Symblinks provided by `bbpkg`(new Bibata builder) +- Automatic build environment setup with `make` +- Logging file removed +- Fix dnf runtime requirements packages ful1e5/apple_cursor#34 +- Fix grabbing cursors symlinks #87 +- Fix Cursors not available for Login Window in Linux Mint 20 #88 +- Dirty pixel in `move` cursor fixed #94 ## [Bibata Rainbow v1.0.0] - 17 Nov 2020 ### Added -- **Bibata Rainbow** (semi-animated) cursors. **#55** -- **Bibata Rainbow** workflow file added `bibata-rainbow-ci.yml` -- **semi-animated** cursors `.svg` parsing support in `bibata-core` -- `PLING.bbcode` for Bibata Rainbow -- Tagging guid in [CHANGELOG.md](./CHANGELOG.md#tags) -- Bibata Rainbow's **branding** assets in `packages/rainbow/src/svgs/branding` +- **Bibata Rainbow** (semi-animated) cursors. **#55** +- **Bibata Rainbow** workflow file added `bibata-rainbow-ci.yml` +- **semi-animated** cursors `.svg` parsing support in `bibata-core` +- `PLING.bbcode` for Bibata Rainbow +- Tagging guid in [CHANGELOG.md](./CHANGELOG.md#tags) +- Bibata Rainbow's **branding** assets in `packages/rainbow/src/svgs/branding` ### Changed -- `build` workflow changed to `bibata-ci` -- **Bibata** workflow file names changed to `bibata-ci.yml` & `bibata-pr.yml` -- Optimize **BitmapsGenerator** browser. +- `build` workflow changed to `bibata-ci` +- **Bibata** workflow file names changed to `bibata-ci.yml` & `bibata-pr.yml` +- Optimize **BitmapsGenerator** browser. ## [Bibata v1.0.3] - 10 Nov 2020 ### Added -- Case insensitive `colors key` replace in **bibata-core** -- **Alternate.cur** added in Windows package -- `minimumFrames` frames handler added for animated cursors in **bibata-core** +- Case insensitive `colors key` replace in **bibata-core** +- **Alternate.cur** added in Windows package +- `minimumFrames` frames handler added for animated cursors in **bibata-core** ### Changed -- Files download reference change to [pling.com](https://www.pling.com/p/1197198/) in `PLING.bbcode` -- Scripts in `package.json` -- Change reference of **Alternate.cur** to `right_ptr` -- fixed #82 improvement to X-cursor (feature request) -- fixed #81 Corner resize cursors are not coloured (bug) +- Files download reference change to [pling.com](https://www.pling.com/p/1197198/) in `PLING.bbcode` +- Scripts in `package.json` +- Change reference of **Alternate.cur** to `right_ptr` +- fixed #82 improvement to X-cursor (feature request) +- fixed #81 Corner resize cursors are not coloured (bug) ## [Bibata v1.0.2] - 30 Oct 2020 ### Added -- Separate **GitHib Action** workflow for **pull-request** -- **pkg_info.py** inside `builder` module -- `builder` module docs +- Separate **GitHib Action** workflow for **pull-request** +- **pkg_info.py** inside `builder` module +- `builder` module docs ### Changed -- Windows Resize cursors wrong implementation fixed **#76** [Reopen] -- **Rich Black** color in `watch: background` (Bibata Amber) **#78** -- PyPi Requirements provided inside `setup.py` -- locked clickgen to **1.1.7** -- Package information provider module changed to `builder/pkg_info.py` +- Windows Resize cursors wrong implementation fixed **#76** [Reopen] +- **Rich Black** color in `watch: background` (Bibata Amber) **#78** +- PyPi Requirements provided inside `setup.py` +- locked clickgen to **1.1.7** +- Package information provider module changed to `builder/pkg_info.py` ## [Bibata v1.0.1] - 8 Oct 2020 ### Added -- **[builder](./builder/)** python package -- Build only **x11** cursors by passing `--x11` flag in `build.py` -- Build only **win** cursors by passing `--win` flag in `build.py` -- Bump up **clickgen** version to **1.1.7** (KDE cursors fix patch) -- `22px` size added (suggestion by **@gotroot** from pling.com) +- **[builder](./builder/)** python package +- Build only **x11** cursors by passing `--x11` flag in `build.py` +- Build only **win** cursors by passing `--win` flag in `build.py` +- Bump up **clickgen** version to **1.1.7** (KDE cursors fix patch) +- `22px` size added (suggestion by **@gotroot** from pling.com) ### Changed -- Browser args changed in `bibata-core` **BitmapGenerator** -- **yarn** scripts updated -- **yarn-packages** description updated -- **Installation** docs updated in [README.md](./README.md) & [PLING.bbcode](./PLING.bbcode) -- remove additional comments in **[PULL_REQUEST_TEMPLATE.md](https://github.com/ful1e5/Bibata_Cursor/commit/085221352038a199aae99f828d64b2ae91ace493)** -- #76 Wrong implementation resize cursors **[closed]** -- #74 `Pillow` pip requirements checking in installation of **clickgen** +- Browser args changed in `bibata-core` **BitmapGenerator** +- **yarn** scripts updated +- **yarn-packages** description updated +- **Installation** docs updated in [README.md](./README.md) & [PLING.bbcode](./PLING.bbcode) +- remove additional comments in **[PULL_REQUEST_TEMPLATE.md](https://github.com/ful1e5/Bibata_Cursor/commit/085221352038a199aae99f828d64b2ae91ace493)** +- #76 Wrong implementation resize cursors **[closed]** +- #74 `Pillow` pip requirements checking in installation of **clickgen** ## [Bibata v1.0.0] - 3 Oct 2020 ### Changed -- `main` as **default** branch -- Package **size** reduced -- Build process with `python` & [**clickgen**](https://github.com/ful1e5/clickgen) -- Cursors Redesign => `all_scroll`, `pencil`, `wayland_cursor`, `xcursor` and all `pointer symbols`(with Bigger Symbols) cursors -- `Bibata Oil` is **end of life** -- Bitmaps Rendering with [**puppeteer**](https://github.com/puppeteer/puppeteer) -- Build Docs +- `main` as **default** branch +- Package **size** reduced +- Build process with `python` & [**clickgen**](https://github.com/ful1e5/clickgen) +- Cursors Redesign => `all_scroll`, `pencil`, `wayland_cursor`, `xcursor` and all `pointer symbols`(with Bigger Symbols) cursors +- `Bibata Oil` is **end of life** +- Bitmaps Rendering with [**puppeteer**](https://github.com/puppeteer/puppeteer) +- Build Docs ### Added -- Bibata Original (Old Bibata) -- Windows Package with **Double Click** installation 😍 -- Maintaining [CHANGELOG.md](./CHANGELOG.md) -- [CURSORS.md](./CURSORS.md) for all cursors information -- [PLING.bbcode](./PLING.bbcode) for pling.com Product page docs -- [GitHub Actions](https://github.com/ful1e5/Bibata_Cursor/actions) added -- New Build with **10x** faster rendering. -- Customizable Colors in **Bibata** Cursors. -- Auto framing in animated cursors with [**pixelmatch**](https://github.com/mapbox/pixelmatch) +- Bibata Original (Old Bibata) +- Windows Package with **Double Click** installation 😍 +- Maintaining [CHANGELOG.md](./CHANGELOG.md) +- [CURSORS.md](./CURSORS.md) for all cursors information +- [PLING.bbcode](./PLING.bbcode) for pling.com Product page docs +- [GitHub Actions](https://github.com/ful1e5/Bibata_Cursor/actions) added +- New Build with **10x** faster rendering. +- Customizable Colors in **Bibata** Cursors. +- Auto framing in animated cursors with [**pixelmatch**](https://github.com/mapbox/pixelmatch) ## [Bibata v0.4.2] - 12 January 2020 ### Changed -- same names in Oil and Classic [Fixed again] +- same names in Oil and Classic [Fixed again] ## [Bibata v0.4.2.beta.1] - 22 December 2019 ### Changed -- Bibata Logo resigned +- Bibata Logo resigned ## [Bibata v0.4.2.alpha.2] - 1 December 2019 ### Added -- Fresh new Aminated cursors -- Missing KDE Cursors -- Added custom animation-delay tweak script +- Fresh new Aminated cursors +- Missing KDE Cursors +- Added custom animation-delay tweak script ### Changed -- Glitch fixed in watch cursor(loading state) -- Bibata Amber Color changed to #FF8000 -- Bibata Oil is inspired on **adwaita gtk** theme color #272728 +- Glitch fixed in watch cursor(loading state) +- Bibata Amber Color changed to #FF8000 +- Bibata Oil is inspired on **adwaita gtk** theme color #272728 ## [Bibata v0.4.2.alpha.1] - 13 November 2019 ### Added -- New build process using python -- Common .svg file for all cursor source(i.e. time saving for modification) -- Bibata Classic Flavor -- Available for Windows user +- New build process using python +- Common .svg file for all cursor source(i.e. time saving for modification) +- Bibata Classic Flavor +- Available for Windows user ### Changed -- Color & Shadow changed for easy visibility -- Cursor's corner-shape changed -- Hot-spots changed +- Color & Shadow changed for easy visibility +- Cursor's corner-shape changed +- Hot-spots changed ## [Bibata v.0.4.1] - 3 September 2018 ### Changed -- Locations Fixed -- AUR added in README.md +- Locations Fixed +- AUR added in README.md ## [Bibata v0.3.1] - 16 March 2018 ### Changed -- Redesign Crosshair +- Redesign Crosshair ## [Bibata v0.3] - 3 February 2018 ### Added -- Initial release 🎊 +- Initial release 🎊 [unreleased]: https://github.com/ful1e5/Bibata_Cursor/compare/v1.0.0.br...main [bibata rainbow v1.0.0]: https://github.com/ful1e5/Bibata_Cursor/compare/v1.0.3...v1.0.0.br diff --git a/bitmapper/package.json b/bitmapper/package.json index 9f00eaf0..685086c7 100644 --- a/bitmapper/package.json +++ b/bitmapper/package.json @@ -1,6 +1,6 @@ { "name": "bibata-cursor", - "version": "1.0.3", + "version": "1.1.0", "description": "Material Based Cursors", "main": "index.js", "author": "Kaiz Khatri", diff --git a/bitmapper/packages/modern/package.json b/bitmapper/packages/modern/package.json index 7458858f..ae778873 100644 --- a/bitmapper/packages/modern/package.json +++ b/bitmapper/packages/modern/package.json @@ -1,6 +1,6 @@ { "name": "bibata-modern", - "version": "1.0.3", + "version": "1.1.0", "description": "Rounded edges bibata cursors", "main": "dist/index.js", "scripts": { diff --git a/bitmapper/packages/original/package.json b/bitmapper/packages/original/package.json index d5320306..90d5e275 100644 --- a/bitmapper/packages/original/package.json +++ b/bitmapper/packages/original/package.json @@ -1,6 +1,6 @@ { "name": "bibata-original", - "version": "1.0.3", + "version": "1.1.0", "description": "Sharp edges bibata cursors", "main": "dist/index.js", "scripts": { diff --git a/builder/setup.py b/builder/setup.py index e457421a..79409db8 100644 --- a/builder/setup.py +++ b/builder/setup.py @@ -5,7 +5,7 @@ from setuptools import setup setup( name="bbpkg", - version="1.0.4", + version="1.1.0", description="Generate 'Bibata' cursor theme from PNGs file", url="https://github.com/ful1e5/Bibata_Cursor", packages=["bbpkg"],