penguins-eggs 10.1.0 → 10.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +1 -32
- package/README.md +109 -78
- package/conf/derivatives.yaml +3 -0
- package/conf/distros/buster/calamares/modules/users.yml +1 -0
- package/conf/distros/noble/calamares/modules/users.yml +1 -0
- package/dist/classes/bleach.d.ts +32 -0
- package/dist/classes/bleach.js +135 -0
- package/dist/classes/cli-autologin.d.ts +52 -0
- package/dist/classes/cli-autologin.js +247 -0
- package/dist/classes/compressors.d.ts +54 -0
- package/dist/classes/compressors.js +109 -0
- package/dist/classes/daddy.d.ts +26 -0
- package/dist/classes/daddy.js +167 -0
- package/dist/classes/distro.d.ts +56 -0
- package/dist/classes/distro.js +413 -0
- package/dist/classes/diversions.d.ts +52 -0
- package/dist/classes/diversions.js +126 -0
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +85 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +40 -0
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
- package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
- package/dist/classes/incubation/fisherman-helper/settings.js +83 -0
- package/dist/classes/incubation/fisherman.d.ts +70 -0
- package/dist/classes/incubation/fisherman.js +263 -0
- package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/alpine.js +78 -0
- package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/bionic.js +83 -0
- package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/buster.js +85 -0
- package/dist/classes/incubation/incubator.d/jessie.d.ts +31 -0
- package/dist/classes/incubation/incubator.d/jessie.js +44 -0
- package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/noble.js +85 -0
- package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
- package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
- package/dist/classes/incubation/incubator.d/rolling.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/rolling.js +80 -0
- package/dist/classes/incubation/incubator.d.ts +44 -0
- package/dist/classes/incubation/incubator.js +382 -0
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +52 -0
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +287 -0
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +77 -0
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +98 -0
- package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
- package/dist/classes/ovary.d/bind-live-fs.js +177 -0
- package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
- package/dist/classes/ovary.d/bind-vfs.js +37 -0
- package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
- package/dist/classes/ovary.d/create-xdg-autostart.js +194 -0
- package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
- package/dist/classes/ovary.d/edit-live-fs.js +245 -0
- package/dist/classes/ovary.d/fertilization.d.ts +12 -0
- package/dist/classes/ovary.d/fertilization.js +51 -0
- package/dist/classes/ovary.d/finished.d.ts +13 -0
- package/dist/classes/ovary.d/finished.js +41 -0
- package/dist/classes/ovary.d/initrd.d.ts +21 -0
- package/dist/classes/ovary.d/initrd.js +68 -0
- package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
- package/dist/classes/ovary.d/kernel-copy.js +22 -0
- package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
- package/dist/classes/ovary.d/live-create-structure.js +90 -0
- package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
- package/dist/classes/ovary.d/make-dot-disk.js +40 -0
- package/dist/classes/ovary.d/make-efi.d.ts +12 -0
- package/dist/classes/ovary.d/make-efi.js +271 -0
- package/dist/classes/ovary.d/make-iso.d.ts +13 -0
- package/dist/classes/ovary.d/make-iso.js +45 -0
- package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
- package/dist/classes/ovary.d/make-squashfs.js +110 -0
- package/dist/classes/ovary.d/merged.d.ts +27 -0
- package/dist/classes/ovary.d/merged.js +77 -0
- package/dist/classes/ovary.d/produce.d.ts +23 -0
- package/dist/classes/ovary.d/produce.js +293 -0
- package/dist/classes/ovary.d/rexec.d.ts +13 -0
- package/dist/classes/ovary.d/rexec.js +34 -0
- package/dist/classes/ovary.d/syslinux.d.ts +12 -0
- package/dist/classes/ovary.d/syslinux.js +79 -0
- package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
- package/dist/classes/ovary.d/user-create-live.js +93 -0
- package/dist/classes/ovary.d/users-remove.d.ts +9 -0
- package/dist/classes/ovary.d/users-remove.js +38 -0
- package/dist/classes/ovary.d/xorriso-commend.d.ts +14 -0
- package/dist/classes/ovary.d/xorriso-commend.js +119 -0
- package/dist/classes/ovary.d.ts +82 -0
- package/dist/classes/ovary.js +86 -0
- package/dist/classes/pacman.d/aldos.d.ts +52 -0
- package/dist/classes/pacman.d/aldos.js +100 -0
- package/dist/classes/pacman.d/alpine.d.ts +56 -0
- package/dist/classes/pacman.d/alpine.js +162 -0
- package/dist/classes/pacman.d/archlinux.d.ts +62 -0
- package/dist/classes/pacman.d/archlinux.js +136 -0
- package/dist/classes/pacman.d/debian.d.ts +65 -0
- package/dist/classes/pacman.d/debian.js +143 -0
- package/dist/classes/pacman.d/fedora.d.ts +53 -0
- package/dist/classes/pacman.d/fedora.js +101 -0
- package/dist/classes/pacman.d/openmamba.d.ts +52 -0
- package/dist/classes/pacman.d/openmamba.js +100 -0
- package/dist/classes/pacman.d/opensuse.d.ts +53 -0
- package/dist/classes/pacman.d/opensuse.js +102 -0
- package/dist/classes/pacman.d/voidlinux.d.ts +52 -0
- package/dist/classes/pacman.d/voidlinux.js +90 -0
- package/dist/classes/pacman.d.ts +139 -0
- package/dist/classes/pacman.js +776 -0
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +52 -0
- package/dist/classes/pxe.d.ts +74 -0
- package/dist/classes/pxe.js +410 -0
- package/dist/classes/settings.d.ts +52 -0
- package/dist/classes/settings.js +185 -0
- package/dist/classes/sources_list.d.ts +28 -0
- package/dist/classes/sources_list.js +89 -0
- package/dist/classes/systemctl.d.ts +47 -0
- package/dist/classes/systemctl.js +86 -0
- package/dist/classes/tailor.d.ts +50 -0
- package/dist/classes/tailor.js +527 -0
- package/dist/classes/tools.d.ts +26 -0
- package/dist/classes/tools.js +50 -0
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +143 -0
- package/dist/classes/utils.d/architecture.d.ts +41 -0
- package/dist/classes/utils.d/architecture.js +87 -0
- package/dist/classes/utils.d/console-output.d.ts +26 -0
- package/dist/classes/utils.d/console-output.js +46 -0
- package/dist/classes/utils.d/filesystem.d.ts +53 -0
- package/dist/classes/utils.d/filesystem.js +152 -0
- package/dist/classes/utils.d/formatters.d.ts +32 -0
- package/dist/classes/utils.d/formatters.js +64 -0
- package/dist/classes/utils.d/kernel.d.ts +83 -0
- package/dist/classes/utils.d/kernel.js +288 -0
- package/dist/classes/utils.d/network.d.ts +43 -0
- package/dist/classes/utils.d/network.js +133 -0
- package/dist/classes/utils.d/package-info.d.ts +55 -0
- package/dist/classes/utils.d/package-info.js +137 -0
- package/dist/classes/utils.d/snapshot.d.ts +44 -0
- package/dist/classes/utils.d/snapshot.js +102 -0
- package/dist/classes/utils.d/system.d.ts +63 -0
- package/dist/classes/utils.d/system.js +200 -0
- package/dist/classes/utils.d/user-interaction.d.ts +39 -0
- package/dist/classes/utils.d/user-interaction.js +104 -0
- package/dist/classes/utils.d.ts +95 -0
- package/dist/classes/utils.js +111 -0
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +337 -0
- package/dist/classes/yolk.d.ts +33 -0
- package/dist/classes/yolk.js +114 -0
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +33 -0
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +95 -0
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +112 -0
- package/dist/commands/config.d.ts +35 -0
- package/dist/commands/config.js +120 -0
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +62 -0
- package/dist/commands/dad.d.ts +21 -0
- package/dist/commands/dad.js +47 -0
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +55 -0
- package/dist/commands/export/pkg.d.ts +29 -0
- package/dist/commands/export/pkg.js +163 -0
- package/dist/commands/export/tarballs.d.ts +27 -0
- package/dist/commands/export/tarballs.js +79 -0
- package/dist/commands/install.d.ts +38 -0
- package/dist/commands/install.js +91 -0
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +50 -0
- package/dist/commands/love.d.ts +21 -0
- package/dist/commands/love.js +73 -0
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +30 -0
- package/dist/commands/pods.d.ts +22 -0
- package/dist/commands/pods.js +92 -0
- package/dist/commands/produce.d.ts +35 -0
- package/dist/commands/produce.js +221 -0
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +31 -0
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +152 -0
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +175 -0
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +37 -0
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +138 -0
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +44 -0
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +70 -0
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +45 -0
- package/dist/commands/update.d.ts +51 -0
- package/dist/commands/update.js +219 -0
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +52 -0
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +125 -0
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +97 -0
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +84 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/index_old.d.ts +8 -0
- package/dist/index_old.js +8 -0
- package/dist/interfaces/i-addons.d.ts +12 -0
- package/dist/interfaces/i-addons.js +8 -0
- package/dist/interfaces/i-analyze.d.ts +17 -0
- package/dist/interfaces/i-analyze.js +17 -0
- package/dist/interfaces/i-app.d.ts +14 -0
- package/dist/interfaces/i-app.js +8 -0
- package/dist/interfaces/i-branding.d.ts +36 -0
- package/dist/interfaces/i-branding.js +8 -0
- package/dist/interfaces/i-calamares-displaymanager.d.ts +17 -0
- package/dist/interfaces/i-calamares-displaymanager.js +1 -0
- package/dist/interfaces/i-calamares-finished.d.ts +12 -0
- package/dist/interfaces/i-calamares-finished.js +1 -0
- package/dist/interfaces/i-calamares-packages.d.ts +28 -0
- package/dist/interfaces/i-calamares-packages.js +1 -0
- package/dist/interfaces/i-calamares-partition.d.ts +40 -0
- package/dist/interfaces/i-calamares-partition.js +1 -0
- package/dist/interfaces/i-config-tools.d.ts +15 -0
- package/dist/interfaces/i-config-tools.js +8 -0
- package/dist/interfaces/i-devices.d.ts +20 -0
- package/dist/interfaces/i-devices.js +8 -0
- package/dist/interfaces/i-distro.d.ts +23 -0
- package/dist/interfaces/i-distro.js +8 -0
- package/dist/interfaces/i-drive-list.d.ts +33 -0
- package/dist/interfaces/i-drive-list.js +8 -0
- package/dist/interfaces/i-eggs-config.d.ts +32 -0
- package/dist/interfaces/i-eggs-config.js +8 -0
- package/dist/interfaces/i-excludes.d.ts +14 -0
- package/dist/interfaces/i-excludes.js +8 -0
- package/dist/interfaces/i-exec.d.ts +11 -0
- package/dist/interfaces/i-exec.js +8 -0
- package/dist/interfaces/i-initrd.d.ts +13 -0
- package/dist/interfaces/i-initrd.js +8 -0
- package/dist/interfaces/i-install.d.ts +16 -0
- package/dist/interfaces/i-install.js +8 -0
- package/dist/interfaces/i-installer.d.ts +17 -0
- package/dist/interfaces/i-installer.js +8 -0
- package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
- package/dist/interfaces/i-luks-passphrase.js +8 -0
- package/dist/interfaces/i-materia.d.ts +36 -0
- package/dist/interfaces/i-materia.js +8 -0
- package/dist/interfaces/i-net.d.ts +16 -0
- package/dist/interfaces/i-net.js +8 -0
- package/dist/interfaces/i-os-release.d.ts +5 -0
- package/dist/interfaces/i-os-release.js +1 -0
- package/dist/interfaces/i-packages.d.ts +16 -0
- package/dist/interfaces/i-packages.js +8 -0
- package/dist/interfaces/i-partitions.d.ts +16 -0
- package/dist/interfaces/i-partitions.js +8 -0
- package/dist/interfaces/i-pxe.d.ts +45 -0
- package/dist/interfaces/i-pxe.js +1 -0
- package/dist/interfaces/i-remix.d.ts +21 -0
- package/dist/interfaces/i-remix.js +8 -0
- package/dist/interfaces/i-settings.d.ts +33 -0
- package/dist/interfaces/i-settings.js +8 -0
- package/dist/interfaces/i-user.d.ts +14 -0
- package/dist/interfaces/i-user.js +8 -0
- package/dist/interfaces/i-workdir.d.ts +14 -0
- package/dist/interfaces/i-workdir.js +8 -0
- package/dist/interfaces/i-xkb-model.d.ts +24 -0
- package/dist/interfaces/i-xkb-model.js +8 -0
- package/dist/interfaces/index.d.ts +26 -0
- package/dist/interfaces/index.js +8 -0
- package/dist/krill/classes/cfs.d.ts +17 -0
- package/dist/krill/classes/cfs.js +39 -0
- package/dist/krill/classes/krill_enums.d.ts +37 -0
- package/dist/krill/classes/krill_enums.js +41 -0
- package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
- package/dist/krill/classes/prepare.d/confirm.js +30 -0
- package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
- package/dist/krill/classes/prepare.d/keyboard.js +62 -0
- package/dist/krill/classes/prepare.d/location.d.ts +17 -0
- package/dist/krill/classes/prepare.d/location.js +59 -0
- package/dist/krill/classes/prepare.d/network.d.ts +14 -0
- package/dist/krill/classes/prepare.d/network.js +68 -0
- package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
- package/dist/krill/classes/prepare.d/partitions.js +86 -0
- package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
- package/dist/krill/classes/prepare.d/summary.js +69 -0
- package/dist/krill/classes/prepare.d/users.d.ts +6 -0
- package/dist/krill/classes/prepare.d/users.js +63 -0
- package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
- package/dist/krill/classes/prepare.d/welcome.js +30 -0
- package/dist/krill/classes/prepare.d.ts +89 -0
- package/dist/krill/classes/prepare.js +314 -0
- package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
- package/dist/krill/classes/sequence.d/add_user.js +66 -0
- package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader.js +95 -0
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader_config.js +165 -0
- package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
- package/dist/krill/classes/sequence.d/change_password.js +18 -0
- package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
- package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
- package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
- package/dist/krill/classes/sequence.d/fstab.js +189 -0
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
- package/dist/krill/classes/sequence.d/grubcfg.js +33 -0
- package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
- package/dist/krill/classes/sequence.d/hostname.js +50 -0
- package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
- package/dist/krill/classes/sequence.d/initramfs.js +54 -0
- package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
- package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
- package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
- package/dist/krill/classes/sequence.d/locale.js +91 -0
- package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
- package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
- package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
- package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
- package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
- package/dist/krill/classes/sequence.d/machine_id.js +33 -0
- package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
- package/dist/krill/classes/sequence.d/mkfs.js +72 -0
- package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
- package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
- package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
- package/dist/krill/classes/sequence.d/mount_vfs.js +40 -0
- package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
- package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
- package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
- package/dist/krill/classes/sequence.d/packages.js +111 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +36 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +78 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +32 -0
- package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
- package/dist/krill/classes/sequence.d/partition.js +84 -0
- package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
- package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
- package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
- package/dist/krill/classes/sequence.d/umount.js +28 -0
- package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
- package/dist/krill/classes/sequence.d/unpackfs.js +20 -0
- package/dist/krill/classes/sequence.d.ts +133 -0
- package/dist/krill/classes/sequence.js +396 -0
- package/dist/krill/components/finished.d.ts +16 -0
- package/dist/krill/components/finished.js +56 -0
- package/dist/krill/components/information.d.ts +8 -0
- package/dist/krill/components/information.js +162 -0
- package/dist/krill/components/install.d.ts +15 -0
- package/dist/krill/components/install.js +60 -0
- package/dist/krill/components/keyboard.d.ts +16 -0
- package/dist/krill/components/keyboard.js +54 -0
- package/dist/krill/components/location.d.ts +16 -0
- package/dist/krill/components/location.js +59 -0
- package/dist/krill/components/network.d.ts +19 -0
- package/dist/krill/components/network.js +65 -0
- package/dist/krill/components/partitions.d.ts +18 -0
- package/dist/krill/components/partitions.js +89 -0
- package/dist/krill/components/steps.d.ts +13 -0
- package/dist/krill/components/steps.js +148 -0
- package/dist/krill/components/summary.d.ts +25 -0
- package/dist/krill/components/summary.js +77 -0
- package/dist/krill/components/title.d.ts +11 -0
- package/dist/krill/components/title.js +35 -0
- package/dist/krill/components/users.d.ts +24 -0
- package/dist/krill/components/users.js +80 -0
- package/dist/krill/components/welcome.d.ts +13 -0
- package/dist/krill/components/welcome.js +63 -0
- package/dist/krill/interfaces/i_krill.d.ts +44 -0
- package/dist/krill/interfaces/i_krill.js +8 -0
- package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
- package/dist/krill/interfaces/i_krill_config.js +8 -0
- package/dist/krill/lib/get_address.d.ts +8 -0
- package/dist/krill/lib/get_address.js +23 -0
- package/dist/krill/lib/get_dns.d.ts +8 -0
- package/dist/krill/lib/get_dns.js +23 -0
- package/dist/krill/lib/get_domain.d.ts +8 -0
- package/dist/krill/lib/get_domain.js +23 -0
- package/dist/krill/lib/get_gateway.d.ts +8 -0
- package/dist/krill/lib/get_gateway.js +23 -0
- package/dist/krill/lib/get_hostname.d.ts +8 -0
- package/dist/krill/lib/get_hostname.js +23 -0
- package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
- package/dist/krill/lib/get_luks_passphrase.js +40 -0
- package/dist/krill/lib/get_netmask.d.ts +8 -0
- package/dist/krill/lib/get_netmask.js +23 -0
- package/dist/krill/lib/get_password.d.ts +8 -0
- package/dist/krill/lib/get_password.js +36 -0
- package/dist/krill/lib/get_userfullname.d.ts +8 -0
- package/dist/krill/lib/get_userfullname.js +23 -0
- package/dist/krill/lib/get_username.d.ts +8 -0
- package/dist/krill/lib/get_username.js +23 -0
- package/dist/krill/lib/select_address_type.d.ts +8 -0
- package/dist/krill/lib/select_address_type.js +24 -0
- package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
- package/dist/krill/lib/select_filesystem_type.js +39 -0
- package/dist/krill/lib/select_installation_device.d.ts +8 -0
- package/dist/krill/lib/select_installation_device.js +40 -0
- package/dist/krill/lib/select_installation_mode.d.ts +9 -0
- package/dist/krill/lib/select_installation_mode.js +25 -0
- package/dist/krill/lib/select_interface.d.ts +8 -0
- package/dist/krill/lib/select_interface.js +24 -0
- package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_layout.js +36 -0
- package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_model.js +34 -0
- package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_option.js +34 -0
- package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_variant.js +35 -0
- package/dist/krill/lib/select_languages.d.ts +8 -0
- package/dist/krill/lib/select_languages.js +28 -0
- package/dist/krill/lib/select_regions.d.ts +8 -0
- package/dist/krill/lib/select_regions.js +24 -0
- package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
- package/dist/krill/lib/select_replaced_partition.js +31 -0
- package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
- package/dist/krill/lib/select_user_swap_choice.js +35 -0
- package/dist/krill/lib/select_zones.d.ts +8 -0
- package/dist/krill/lib/select_zones.js +518 -0
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +61 -0
- package/dist/lib/utils.d.ts +42 -0
- package/dist/lib/utils.js +87 -0
- package/dist/penguins-eggs_10.1.1-0_amd64.deb +0 -0
- package/dist/penguins-eggs_10.1.1-0_amd64.deb.sha256 +1 -0
- package/package.json +25 -23
- package/scripts/_eggs +6 -12
- package/scripts/eggs.bash +1 -2
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/stat.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Command, Flags } from '@oclif/core';
|
|
9
|
+
import axios from 'axios';
|
|
10
|
+
import https from 'node:https';
|
|
11
|
+
import Utils from '../../classes/utils.js';
|
|
12
|
+
const agent = new https.Agent({
|
|
13
|
+
rejectUnauthorized: false
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
export default class ToolsStat extends Command {
|
|
19
|
+
static description = 'get statistics from sourceforge';
|
|
20
|
+
static examples = ['eggs tools stat', 'eggs tools stat --month', 'eggs tools stat --year'];
|
|
21
|
+
static flags = {
|
|
22
|
+
help: Flags.help({ char: 'h' }),
|
|
23
|
+
month: Flags.boolean({ char: 'm', description: 'current month' }),
|
|
24
|
+
year: Flags.boolean({ char: 'y', description: 'current year' })
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
async run() {
|
|
30
|
+
const { args, flags } = await this.parse(ToolsStat);
|
|
31
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
32
|
+
const yesterday = new Date();
|
|
33
|
+
yesterday.setDate(yesterday.getDate() - 1);
|
|
34
|
+
// current date
|
|
35
|
+
// adjust 0 before single digit date
|
|
36
|
+
const day = ('0' + yesterday.getDate()).slice(-2);
|
|
37
|
+
// current month
|
|
38
|
+
const month = ('0' + (yesterday.getMonth() + 1)).slice(-2);
|
|
39
|
+
// current year
|
|
40
|
+
const year = yesterday.getFullYear();
|
|
41
|
+
const end = year + '-' + month + '-' + day;
|
|
42
|
+
let start = year + '-' + month + '-' + day;
|
|
43
|
+
if (flags.month) {
|
|
44
|
+
start = year + '-' + month + '-01';
|
|
45
|
+
}
|
|
46
|
+
if (flags.year) {
|
|
47
|
+
start = year + '-01-01';
|
|
48
|
+
}
|
|
49
|
+
this.log('start: ' + start + ', end: ' + end + '\n');
|
|
50
|
+
await this.show(start, end, 'Packages/DEBS');
|
|
51
|
+
console.log();
|
|
52
|
+
await this.show(start, end, 'ISOS');
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @param start
|
|
57
|
+
* @param end
|
|
58
|
+
* @param type
|
|
59
|
+
*/
|
|
60
|
+
async show(start, end, type) {
|
|
61
|
+
let url = `https://sourceforge.net/projects/penguins-eggs/files/${type}/stats/json`;
|
|
62
|
+
const request = '?start_date=' + start + '&end_date=' + end;
|
|
63
|
+
url += request;
|
|
64
|
+
const res = await axios.get(url, { httpsAgent: agent });
|
|
65
|
+
console.log(type);
|
|
66
|
+
for (const country of res.data.countries) {
|
|
67
|
+
console.log('- ' + country[0] + ': ' + country[1]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/yolk.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from '@oclif/core';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export default class ToolsYolk extends Command {
|
|
13
|
+
static description: string;
|
|
14
|
+
static dir: string;
|
|
15
|
+
static examples: string[];
|
|
16
|
+
static flags: {
|
|
17
|
+
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
18
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/yolk.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Command, Flags } from '@oclif/core';
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
import shx from 'shelljs';
|
|
11
|
+
import Utils from '../../classes/utils.js';
|
|
12
|
+
import Yolk from '../../classes/yolk.js';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
export default class ToolsYolk extends Command {
|
|
17
|
+
static description = 'configure eggs to install without internet';
|
|
18
|
+
static dir = '/var/local/yolk';
|
|
19
|
+
static examples = ['sudo eggs tools yolk'];
|
|
20
|
+
static flags = {
|
|
21
|
+
help: Flags.help({ char: 'h' }),
|
|
22
|
+
verbose: Flags.boolean({ char: 'v' })
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
async run() {
|
|
28
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
29
|
+
const { flags } = await this.parse(ToolsYolk);
|
|
30
|
+
let verbose = false;
|
|
31
|
+
if (flags.verbose) {
|
|
32
|
+
verbose = true;
|
|
33
|
+
}
|
|
34
|
+
if (Utils.isRoot()) {
|
|
35
|
+
if (fs.existsSync(ToolsYolk.dir)) {
|
|
36
|
+
shx.exec(`rm ${ToolsYolk.dir} -rf `);
|
|
37
|
+
}
|
|
38
|
+
const yolk = new Yolk();
|
|
39
|
+
await yolk.create(verbose);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
Utils.useRoot(this.id);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/syncfrom.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from '@oclif/core';
|
|
9
|
+
import Distro from '../classes/distro.js';
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export default class Update extends Command {
|
|
14
|
+
static description: string;
|
|
15
|
+
static examples: string[];
|
|
16
|
+
static flags: {
|
|
17
|
+
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
18
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
};
|
|
20
|
+
distro: Distro;
|
|
21
|
+
/**
|
|
22
|
+
* run
|
|
23
|
+
*/
|
|
24
|
+
run(): Promise<void>;
|
|
25
|
+
chooseUpdate(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
choosePkg(): Promise<string>;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
getPkgFromRepo(): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* download da LAN
|
|
36
|
+
*/
|
|
37
|
+
getPkgFromLan(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
|
+
getPkgFromSourceforge(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @param aptVersion
|
|
45
|
+
*/
|
|
46
|
+
getFromSources(): void;
|
|
47
|
+
/**
|
|
48
|
+
* show
|
|
49
|
+
*/
|
|
50
|
+
show(url: string): Promise<void>;
|
|
51
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/syncfrom.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Command, Flags } from '@oclif/core';
|
|
9
|
+
import inquirer from 'inquirer';
|
|
10
|
+
import Distro from '../classes/distro.js';
|
|
11
|
+
import Tools from '../classes/tools.js';
|
|
12
|
+
import Utils from '../classes/utils.js';
|
|
13
|
+
import Diversions from '../classes/diversions.js';
|
|
14
|
+
import { exec } from '../lib/utils.js';
|
|
15
|
+
import axios from 'axios';
|
|
16
|
+
import https from 'node:https';
|
|
17
|
+
const agent = new https.Agent({
|
|
18
|
+
rejectUnauthorized: false
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export default class Update extends Command {
|
|
24
|
+
static description = "update the Penguins' eggs tool";
|
|
25
|
+
static examples = ['eggs update'];
|
|
26
|
+
static flags = {
|
|
27
|
+
help: Flags.help({ char: 'h' }),
|
|
28
|
+
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
29
|
+
};
|
|
30
|
+
distro = new Distro();
|
|
31
|
+
/**
|
|
32
|
+
* run
|
|
33
|
+
*/
|
|
34
|
+
async run() {
|
|
35
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
36
|
+
const { flags } = await this.parse(Update);
|
|
37
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
38
|
+
if (Utils.isRoot()) {
|
|
39
|
+
if (Utils.isSources()) {
|
|
40
|
+
Utils.warning(`You are on penguins-eggs v. ${Utils.getPackageVersion()} from sources`);
|
|
41
|
+
}
|
|
42
|
+
else if (Utils.isPackage()) {
|
|
43
|
+
Utils.warning(`You are on eggs-${Utils.getPackageVersion()} installed as package`);
|
|
44
|
+
}
|
|
45
|
+
await this.chooseUpdate();
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
Utils.useRoot(this.id);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async chooseUpdate() {
|
|
52
|
+
console.log();
|
|
53
|
+
const choose = await this.choosePkg();
|
|
54
|
+
Utils.titles(`updating via ${choose}`);
|
|
55
|
+
switch (choose) {
|
|
56
|
+
case 'repos': {
|
|
57
|
+
await this.getPkgFromRepo();
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
case 'lan': {
|
|
61
|
+
await this.getPkgFromLan();
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
case 'sourceforge': {
|
|
65
|
+
this.getPkgFromSourceforge();
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
case 'sources': {
|
|
69
|
+
this.getFromSources();
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
// No default
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
*
|
|
77
|
+
*/
|
|
78
|
+
async choosePkg() {
|
|
79
|
+
const choices = ['abort'];
|
|
80
|
+
choices.push('lan', 'repos', 'sourceforge', 'sources');
|
|
81
|
+
const questions = [
|
|
82
|
+
{
|
|
83
|
+
choices,
|
|
84
|
+
message: 'select update method',
|
|
85
|
+
name: 'selected',
|
|
86
|
+
type: 'list'
|
|
87
|
+
}
|
|
88
|
+
];
|
|
89
|
+
const answer = await inquirer.prompt(questions);
|
|
90
|
+
if (answer.selected === 'abort') {
|
|
91
|
+
process.exit(0);
|
|
92
|
+
}
|
|
93
|
+
return answer.selected;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
*
|
|
97
|
+
*/
|
|
98
|
+
async getPkgFromRepo() {
|
|
99
|
+
let cmd = "";
|
|
100
|
+
if (this.distro.familyId === "debian") {
|
|
101
|
+
cmd = 'apt install penguins-eggs';
|
|
102
|
+
}
|
|
103
|
+
else if (this.distro.familyId === 'archlinux') {
|
|
104
|
+
cmd = 'pacman -S penguins-eggs';
|
|
105
|
+
}
|
|
106
|
+
else if (this.distro.familyId === 'alpine') {
|
|
107
|
+
cmd = `apk add penguins-egga`;
|
|
108
|
+
}
|
|
109
|
+
console.log(cmd);
|
|
110
|
+
await exec(cmd);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* download da LAN
|
|
114
|
+
*/
|
|
115
|
+
async getPkgFromLan() {
|
|
116
|
+
const Tu = new Tools();
|
|
117
|
+
await Tu.loadSettings();
|
|
118
|
+
Utils.warning('import from lan');
|
|
119
|
+
if (this.distro.familyId === "debian") {
|
|
120
|
+
const filterDeb = `penguins-eggs_10.?.*-*_${Utils.uefiArch()}.deb`;
|
|
121
|
+
const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/debs/${filterDeb} /tmp`;
|
|
122
|
+
await exec(cmd, { capture: true, echo: true });
|
|
123
|
+
if (await Utils.customConfirm(`Want to install ${filterDeb}`)) {
|
|
124
|
+
await exec(`dpkg -i /tmp/${filterDeb}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else if (this.distro.familyId === 'archlinux') {
|
|
128
|
+
let repo = "aur";
|
|
129
|
+
if (Diversions.isManjaroBased(this.distro.distroId)) {
|
|
130
|
+
repo = 'manjaro';
|
|
131
|
+
}
|
|
132
|
+
const filterAur = `penguins-eggs-10.?.*-?-any.pkg.tar.zst`;
|
|
133
|
+
const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filterAur} /tmp`;
|
|
134
|
+
await exec(cmd, { capture: true, echo: true });
|
|
135
|
+
if (await Utils.customConfirm(`Want to install ${filterAur}`)) {
|
|
136
|
+
await exec(`pacman -U /tmp/${filterAur}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else if (this.distro.familyId === 'alpine') {
|
|
140
|
+
let arch = 'x86_64';
|
|
141
|
+
if (process.arch === 'ia32') {
|
|
142
|
+
arch = 'i386';
|
|
143
|
+
}
|
|
144
|
+
const filter = `penguins-eggs*10.?.*-r*.apk`;
|
|
145
|
+
const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/alpine/${filter} /tmp`;
|
|
146
|
+
await exec(cmd, { capture: true, echo: true });
|
|
147
|
+
if (await Utils.customConfirm(`Want to install ${filter}`)) {
|
|
148
|
+
await exec(`apk add /tmp/${filter}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
*
|
|
154
|
+
*/
|
|
155
|
+
async getPkgFromSourceforge() {
|
|
156
|
+
let repo = '';
|
|
157
|
+
let cmd = '';
|
|
158
|
+
let url = 'https://sourceforge.net/projects/penguins-eggs/files/Packages';
|
|
159
|
+
let filter = `penguins-eggs`;
|
|
160
|
+
if (this.distro.familyId === "debian") {
|
|
161
|
+
repo = "debs";
|
|
162
|
+
url = `${url}/${repo}/${Utils.uefiArch()}`;
|
|
163
|
+
filter = `penguins-eggs_10.?.*-?_${Utils.uefiArch()}.deb`;
|
|
164
|
+
cmd = `sudo dpkg -i ${filter}`;
|
|
165
|
+
}
|
|
166
|
+
else if (this.distro.familyId === 'archlinux') {
|
|
167
|
+
repo = "aur";
|
|
168
|
+
filter = `penguins-eggs-10.?.*-?-any.pkg.tar.zst`;
|
|
169
|
+
cmd = `sudo pacman -U ${filter}`;
|
|
170
|
+
if (Diversions.isManjaroBased(this.distro.distroId)) {
|
|
171
|
+
repo = 'manjaro';
|
|
172
|
+
}
|
|
173
|
+
url = `${url}/${repo}`;
|
|
174
|
+
}
|
|
175
|
+
let command = `Open your browser at:\n`;
|
|
176
|
+
command += `${url}\n`;
|
|
177
|
+
command += `select and download the package: ${filter},\n`;
|
|
178
|
+
command += `then type the command:\n`;
|
|
179
|
+
command += `${cmd}`;
|
|
180
|
+
console.log(command);
|
|
181
|
+
await this.show(url);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
*
|
|
185
|
+
* @param aptVersion
|
|
186
|
+
*/
|
|
187
|
+
getFromSources() {
|
|
188
|
+
console.log('You can get a fresh installation, cloning penguins-eggs:');
|
|
189
|
+
console.log('cd ~');
|
|
190
|
+
console.log('git clone https://github.com/pieroproietti/penguins-eggs');
|
|
191
|
+
console.log('');
|
|
192
|
+
console.log('Then, open your browser to read detailed instructions:');
|
|
193
|
+
console.log('https://github.com/pieroproietti/penguins-eggs/blob/master/PREREQUISITES/README.md');
|
|
194
|
+
console.log('');
|
|
195
|
+
console.log('');
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* show
|
|
199
|
+
*/
|
|
200
|
+
async show(url) {
|
|
201
|
+
url += `/stats/json`;
|
|
202
|
+
const yesterday = new Date();
|
|
203
|
+
yesterday.setDate(yesterday.getDate() - 1);
|
|
204
|
+
// adjust 0 before single digit date
|
|
205
|
+
const day = ('0' + yesterday.getDate()).slice(-2);
|
|
206
|
+
const month = ('0' + (yesterday.getMonth() + 1)).slice(-2);
|
|
207
|
+
const year = yesterday.getFullYear();
|
|
208
|
+
const end = year + '-' + month + '-' + day;
|
|
209
|
+
let start = year + '-' + month + '-' + day;
|
|
210
|
+
const request = '?start_date=' + start + '&end_date=' + end;
|
|
211
|
+
url += request;
|
|
212
|
+
const res = await axios.get(url, { httpsAgent: agent });
|
|
213
|
+
console.log("\nStatistics to get an idea: yesterday downloads");
|
|
214
|
+
console.log();
|
|
215
|
+
for (const country of res.data.countries) {
|
|
216
|
+
console.log('- ' + country[0] + ': ' + country[1]);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/wardrobe/get.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from '@oclif/core';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export default class Get extends Command {
|
|
13
|
+
static args: {
|
|
14
|
+
repo: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
15
|
+
};
|
|
16
|
+
static description: string;
|
|
17
|
+
static examples: string[];
|
|
18
|
+
static flags: {
|
|
19
|
+
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
20
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
};
|
|
22
|
+
run(): Promise<void>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/wardrobe/get.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
9
|
+
import { basename } from 'node:path';
|
|
10
|
+
import Utils from '../../classes/utils.js';
|
|
11
|
+
// libraries
|
|
12
|
+
import { exec } from '../../lib/utils.js';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
export default class Get extends Command {
|
|
17
|
+
static args = {
|
|
18
|
+
repo: Args.string({ description: 'repository to get', name: 'repo', required: false })
|
|
19
|
+
};
|
|
20
|
+
// static args ={name: 'repo', description: 'repository to get', required: false}
|
|
21
|
+
static description = 'get warorobe';
|
|
22
|
+
static examples = ['eggs wardrobe get', 'eggs wardrobe get your-wardrobe'];
|
|
23
|
+
static flags = {
|
|
24
|
+
help: Flags.help({ char: 'h' }),
|
|
25
|
+
verbose: Flags.boolean({ char: 'v' })
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
const { args, flags } = await this.parse(Get);
|
|
29
|
+
let verbose = false;
|
|
30
|
+
if (flags.verbose) {
|
|
31
|
+
verbose = true;
|
|
32
|
+
}
|
|
33
|
+
const echo = Utils.setEcho(verbose);
|
|
34
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
35
|
+
let repo = 'https://github.com/pieroproietti/penguins-wardrobe';
|
|
36
|
+
if (this.argv['0'] !== undefined) {
|
|
37
|
+
repo = this.argv['0'];
|
|
38
|
+
}
|
|
39
|
+
// No sudo for get
|
|
40
|
+
if (process.getuid && process.getuid() === 0) {
|
|
41
|
+
Utils.warning('You must run: eggs wardrobe get without sudo');
|
|
42
|
+
process.exit(0);
|
|
43
|
+
}
|
|
44
|
+
const wardrobe = basename(repo); // ~/.eggs-wardrobe
|
|
45
|
+
// git clone -b <branchname> --single-branch
|
|
46
|
+
// const result = await exec(`git clone -b devel --single-branch --depth 1 ${repo} ${await Utils.wardrobe()}`)
|
|
47
|
+
const result = await exec(`git clone --single-branch --depth 1 ${repo} ${await Utils.wardrobe()}`);
|
|
48
|
+
if (result.code === 0) {
|
|
49
|
+
Utils.warning(`you get new wardrobe from repo: ${repo} in ${await Utils.wardrobe()}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/wardrobe/list.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from '@oclif/core';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export default class List extends Command {
|
|
13
|
+
static args: {
|
|
14
|
+
repo: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
15
|
+
};
|
|
16
|
+
static description: string;
|
|
17
|
+
static examples: string[];
|
|
18
|
+
static flags: {
|
|
19
|
+
distro: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
21
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
};
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/wardrobe/list.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
9
|
+
// libraries
|
|
10
|
+
import chalk from 'chalk';
|
|
11
|
+
import yaml from 'js-yaml';
|
|
12
|
+
import fs from 'node:fs';
|
|
13
|
+
import path from 'node:path';
|
|
14
|
+
import Distro from '../../classes/distro.js';
|
|
15
|
+
import Utils from '../../classes/utils.js';
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
export default class List extends Command {
|
|
20
|
+
static args = {
|
|
21
|
+
repo: Args.string({ description: 'wardrobe to get', name: 'wardrobe', required: false })
|
|
22
|
+
};
|
|
23
|
+
// static args = [{ name: 'wardrobe', description: 'wardrobe', required: false }]
|
|
24
|
+
static description = 'list costumes and accessoires in wardrobe';
|
|
25
|
+
static examples = ['eggs wardrobe list', 'eggs wardrobe list your-wardrobe', 'eggs wardrobe list --distro arch'];
|
|
26
|
+
static flags = {
|
|
27
|
+
distro: Flags.string({ char: 'd', description: 'distro' }),
|
|
28
|
+
help: Flags.help({ char: 'h' }),
|
|
29
|
+
verbose: Flags.boolean({ char: 'v' })
|
|
30
|
+
};
|
|
31
|
+
async run() {
|
|
32
|
+
const { args, flags } = await this.parse(List);
|
|
33
|
+
let verbose = false;
|
|
34
|
+
if (flags.verbose) {
|
|
35
|
+
verbose = true;
|
|
36
|
+
}
|
|
37
|
+
const echo = Utils.setEcho(verbose);
|
|
38
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
39
|
+
/**
|
|
40
|
+
* wardobe
|
|
41
|
+
*/
|
|
42
|
+
let wardrobe = await Utils.wardrobe();
|
|
43
|
+
if (flags.distro === undefined && this.argv['0'] !== undefined) {
|
|
44
|
+
wardrobe = this.argv['0'];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* seleziona distro
|
|
48
|
+
*/
|
|
49
|
+
let index = '';
|
|
50
|
+
const distro = new Distro();
|
|
51
|
+
switch (distro.distroLike) {
|
|
52
|
+
case 'Arch': {
|
|
53
|
+
index = 'arch';
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case 'Debian':
|
|
57
|
+
case 'Devuan': {
|
|
58
|
+
index = 'debian';
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
case 'Ubuntu': {
|
|
62
|
+
index = 'ubuntu';
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
// No default
|
|
66
|
+
}
|
|
67
|
+
if (flags.distro !== undefined) {
|
|
68
|
+
index = flags.distro;
|
|
69
|
+
}
|
|
70
|
+
index += '.yml';
|
|
71
|
+
console.log(chalk.green('wardrobe: ') + wardrobe);
|
|
72
|
+
console.log();
|
|
73
|
+
wardrobe = `${path.resolve(process.cwd(), wardrobe)}/`;
|
|
74
|
+
if (!fs.existsSync(wardrobe)) {
|
|
75
|
+
Utils.warning(`wardrobe: ${wardrobe} not found!`);
|
|
76
|
+
process.exit();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* costumes
|
|
80
|
+
*/
|
|
81
|
+
const costumes = fs.readdirSync(`${wardrobe}costumes/`);
|
|
82
|
+
console.log(chalk.green('costumes: '));
|
|
83
|
+
for (const costume of costumes) {
|
|
84
|
+
if (fs.existsSync(`${wardrobe}costumes/${costume}/${index}`)) {
|
|
85
|
+
const materials = yaml.load(fs.readFileSync(`${wardrobe}costumes/${costume}/${index}`, 'utf8'));
|
|
86
|
+
console.log('- ' + chalk.cyan(costume) + ': ' + materials.description);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
console.log();
|
|
90
|
+
/**
|
|
91
|
+
* accessories
|
|
92
|
+
*/
|
|
93
|
+
const accessories = fs.readdirSync(`${wardrobe}/accessories/`);
|
|
94
|
+
console.log(chalk.green('accessories: '));
|
|
95
|
+
for (const accessory of accessories) {
|
|
96
|
+
if (fs.existsSync(`${wardrobe}/accessories/${accessory}/${index}`)) {
|
|
97
|
+
const materials = yaml.load(fs.readFileSync(`${wardrobe}/accessories/${accessory}/${index}`, 'utf8'));
|
|
98
|
+
console.log('- ' + chalk.cyan(accessory) + ': ' + materials.description);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
console.log();
|
|
102
|
+
/**
|
|
103
|
+
* servers
|
|
104
|
+
*/
|
|
105
|
+
const servers = fs.readdirSync(`${wardrobe}/servers/`);
|
|
106
|
+
console.log(chalk.green('servers: '));
|
|
107
|
+
for (const server of servers) {
|
|
108
|
+
if (fs.existsSync(`${wardrobe}/servers/${server}/${index}`)) {
|
|
109
|
+
const materials = yaml.load(fs.readFileSync(`${wardrobe}/servers/${server}/${index}`, 'utf8'));
|
|
110
|
+
console.log('- ' + chalk.cyan(server) + ': ' + materials.description);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
console.log();
|
|
114
|
+
/**
|
|
115
|
+
* vendors
|
|
116
|
+
*/
|
|
117
|
+
const vendors = fs.readdirSync(`${wardrobe}/vendors/`);
|
|
118
|
+
console.log(chalk.green('vendors/themes: '));
|
|
119
|
+
for (const vendor of vendors) {
|
|
120
|
+
if (fs.existsSync(`${wardrobe}/vendors/${vendor}/theme`)) {
|
|
121
|
+
console.log('- ' + chalk.cyan(vendor));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/wardrobe/show.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from '@oclif/core';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export default class Show extends Command {
|
|
13
|
+
static args: {
|
|
14
|
+
repo: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
15
|
+
};
|
|
16
|
+
static description: string;
|
|
17
|
+
static example: string[];
|
|
18
|
+
static flags: {
|
|
19
|
+
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
20
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
wardrobe: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
};
|
|
24
|
+
run(): Promise<void>;
|
|
25
|
+
}
|