penguins-eggs 9.8.1 → 10.0.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.
Files changed (334) hide show
  1. package/.oclif.manifest.json +62 -62
  2. package/README.md +43 -40
  3. package/bin/dev.cmd +1 -1
  4. package/bin/dev.js +6 -6
  5. package/bin/run.js +3 -5
  6. package/conf/tools.yaml +1 -1
  7. package/dist/classes/bleach.d.ts +37 -0
  8. package/dist/classes/bleach.js +43 -91
  9. package/dist/classes/cfs.d.ts +17 -0
  10. package/dist/classes/cfs.js +15 -12
  11. package/dist/classes/compressors.d.ts +53 -0
  12. package/dist/classes/compressors.js +42 -47
  13. package/dist/classes/daddy.d.ts +18 -0
  14. package/dist/classes/daddy.js +92 -98
  15. package/dist/classes/distro.d.ts +26 -0
  16. package/dist/classes/distro.js +36 -37
  17. package/dist/classes/families/archlinux.d.ts +61 -0
  18. package/dist/classes/families/archlinux.js +52 -107
  19. package/dist/classes/families/debian.d.ts +65 -0
  20. package/dist/classes/families/debian.js +67 -142
  21. package/dist/classes/families/fedora.d.ts +52 -0
  22. package/dist/classes/families/fedora.js +42 -98
  23. package/dist/classes/families/mockup.d.ts +60 -0
  24. package/dist/classes/families/mockup.js +27 -46
  25. package/dist/classes/families/suse.d.ts +52 -0
  26. package/dist/classes/families/suse.js +44 -96
  27. package/dist/classes/incubation/branding.d.ts +17 -0
  28. package/dist/classes/incubation/branding.js +32 -36
  29. package/dist/classes/incubation/distros/bionic.d.ts +32 -0
  30. package/dist/classes/incubation/distros/bionic.js +11 -16
  31. package/dist/classes/incubation/distros/buster.d.ts +32 -0
  32. package/dist/classes/incubation/distros/buster.js +13 -18
  33. package/dist/classes/incubation/distros/focal.d.ts +32 -0
  34. package/dist/classes/incubation/distros/focal.js +11 -16
  35. package/dist/classes/incubation/distros/jessie.d.ts +31 -0
  36. package/dist/classes/incubation/distros/jessie.js +8 -13
  37. package/dist/classes/incubation/distros/rolling.d.ts +32 -0
  38. package/dist/classes/incubation/distros/rolling.js +11 -16
  39. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  40. package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
  41. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  42. package/dist/classes/incubation/fisherman-helper/packages.js +17 -20
  43. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  44. package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
  45. package/dist/classes/incubation/fisherman.d.ts +77 -0
  46. package/dist/classes/incubation/fisherman.js +135 -131
  47. package/dist/classes/incubation/incubator.d.ts +40 -0
  48. package/dist/classes/incubation/incubator.js +90 -89
  49. package/dist/classes/incubation/installer.d.ts +13 -0
  50. package/dist/classes/incubation/installer.js +27 -12
  51. package/dist/classes/initrd.d.ts +41 -0
  52. package/dist/classes/initrd.js +40 -42
  53. package/dist/classes/keyboards.d.ts +50 -0
  54. package/dist/classes/keyboards.js +108 -105
  55. package/dist/classes/locales.d.ts +21 -0
  56. package/dist/classes/locales.js +30 -34
  57. package/dist/classes/n8.d.ts +17 -0
  58. package/dist/classes/n8.js +16 -22
  59. package/dist/classes/network.d.ts +37 -0
  60. package/dist/classes/network.js +14 -18
  61. package/dist/classes/ovary.d.ts +205 -0
  62. package/dist/classes/ovary.js +1281 -1294
  63. package/dist/classes/pacman.d.ts +149 -0
  64. package/dist/classes/pacman.js +344 -418
  65. package/dist/classes/pve-live.d.ts +17 -0
  66. package/dist/classes/pve-live.js +22 -24
  67. package/dist/classes/pxe.d.ts +65 -0
  68. package/dist/classes/pxe.js +204 -206
  69. package/dist/classes/settings.d.ts +53 -0
  70. package/dist/classes/settings.js +91 -94
  71. package/dist/classes/sources_list.d.ts +28 -0
  72. package/dist/classes/sources_list.js +35 -39
  73. package/dist/classes/systemctl.d.ts +47 -0
  74. package/dist/classes/systemctl.js +34 -38
  75. package/dist/classes/tailor.d.ts +46 -0
  76. package/dist/classes/tailor.js +223 -239
  77. package/dist/classes/tools.d.ts +30 -0
  78. package/dist/classes/tools.js +18 -22
  79. package/dist/classes/users.d.ts +28 -0
  80. package/dist/classes/users.js +18 -22
  81. package/dist/classes/utils.d.ts +318 -0
  82. package/dist/classes/utils.js +78 -78
  83. package/dist/classes/xdg.d.ts +45 -0
  84. package/dist/classes/xdg.js +129 -133
  85. package/dist/classes/yolk.d.ts +33 -0
  86. package/dist/classes/yolk.js +53 -57
  87. package/dist/commands/adapt.d.ts +17 -0
  88. package/dist/commands/adapt.js +17 -21
  89. package/dist/commands/analyze.d.ts +26 -0
  90. package/dist/commands/analyze.js +56 -67
  91. package/dist/commands/calamares.d.ts +29 -0
  92. package/dist/commands/calamares.js +44 -48
  93. package/dist/commands/config.d.ts +36 -0
  94. package/dist/commands/config.js +115 -137
  95. package/dist/commands/cuckoo.d.ts +16 -0
  96. package/dist/commands/cuckoo.js +20 -24
  97. package/dist/commands/dad.d.ts +19 -0
  98. package/dist/commands/dad.js +20 -24
  99. package/dist/commands/export/deb.d.ts +19 -0
  100. package/dist/commands/export/deb.js +19 -23
  101. package/dist/commands/export/iso.d.ts +19 -0
  102. package/dist/commands/export/iso.js +19 -23
  103. package/dist/commands/install.d.ts +37 -0
  104. package/dist/commands/install.js +46 -50
  105. package/dist/commands/kill.d.ts +24 -0
  106. package/dist/commands/kill.js +25 -29
  107. package/dist/commands/mom.d.ts +16 -0
  108. package/dist/commands/mom.js +16 -18
  109. package/dist/commands/produce.d.ts +33 -0
  110. package/dist/commands/produce.js +64 -66
  111. package/dist/commands/status.d.ts +23 -0
  112. package/dist/commands/status.js +10 -14
  113. package/dist/commands/syncfrom.d.ts +45 -0
  114. package/dist/commands/syncfrom.js +85 -89
  115. package/dist/commands/syncto.d.ts +40 -0
  116. package/dist/commands/syncto.js +91 -95
  117. package/dist/commands/tools/clean.d.ts +18 -0
  118. package/dist/commands/tools/clean.js +17 -21
  119. package/dist/commands/tools/ppa.d.ts +26 -0
  120. package/dist/commands/tools/ppa.js +41 -45
  121. package/dist/commands/tools/skel.d.ts +18 -0
  122. package/dist/commands/tools/skel.js +22 -26
  123. package/dist/commands/tools/stat.d.ts +31 -0
  124. package/dist/commands/tools/stat.js +15 -19
  125. package/dist/commands/tools/yolk.d.ts +24 -0
  126. package/dist/commands/tools/yolk.js +19 -23
  127. package/dist/commands/update.d.ts +47 -0
  128. package/dist/commands/update.js +62 -66
  129. package/dist/commands/wardrobe/get.d.ts +23 -0
  130. package/dist/commands/wardrobe/get.js +19 -23
  131. package/dist/commands/wardrobe/list.d.ts +24 -0
  132. package/dist/commands/wardrobe/list.js +61 -60
  133. package/dist/commands/wardrobe/show.d.ts +25 -0
  134. package/dist/commands/wardrobe/show.js +50 -47
  135. package/dist/commands/wardrobe/wear.d.ts +26 -0
  136. package/dist/commands/wardrobe/wear.js +32 -36
  137. package/dist/components/finished.d.ts +15 -0
  138. package/dist/components/finished.js +37 -42
  139. package/dist/components/information.d.ts +8 -0
  140. package/dist/components/information.js +155 -0
  141. package/dist/components/install.d.ts +15 -0
  142. package/dist/components/install.js +31 -35
  143. package/dist/components/keyboard.d.ts +16 -0
  144. package/dist/components/keyboard.js +37 -40
  145. package/dist/components/location.d.ts +16 -0
  146. package/dist/components/location.js +38 -38
  147. package/dist/components/network.d.ts +19 -0
  148. package/dist/components/network.js +47 -48
  149. package/dist/components/partitions.d.ts +16 -0
  150. package/dist/components/partitions.js +47 -51
  151. package/dist/components/steps.d.ts +13 -0
  152. package/dist/components/steps.js +148 -0
  153. package/dist/components/summary.d.ts +24 -0
  154. package/dist/components/summary.js +50 -54
  155. package/dist/components/title.d.ts +12 -0
  156. package/dist/components/title.js +35 -0
  157. package/dist/components/users.d.ts +24 -0
  158. package/dist/components/users.js +43 -43
  159. package/dist/components/welcome.d.ts +13 -0
  160. package/dist/components/welcome.js +37 -38
  161. package/dist/index.d.ts +8 -0
  162. package/dist/index.js +8 -5
  163. package/dist/interfaces/i-addons.d.ts +13 -0
  164. package/dist/interfaces/i-addons.js +8 -3
  165. package/dist/interfaces/i-analyze.d.ts +17 -0
  166. package/dist/interfaces/i-analyze.js +7 -10
  167. package/dist/interfaces/i-app.d.ts +14 -0
  168. package/dist/interfaces/i-app.js +8 -2
  169. package/dist/interfaces/i-branding.d.ts +36 -0
  170. package/dist/interfaces/i-branding.js +8 -2
  171. package/dist/interfaces/i-calamares-partition.d.ts +18 -0
  172. package/dist/interfaces/i-calamares-partition.js +3 -4
  173. package/dist/interfaces/i-config-tools.d.ts +18 -0
  174. package/dist/interfaces/i-config-tools.js +8 -2
  175. package/dist/interfaces/i-devices.d.ts +20 -0
  176. package/dist/interfaces/i-devices.js +8 -2
  177. package/dist/interfaces/i-distro.d.ts +27 -0
  178. package/dist/interfaces/i-distro.js +3 -4
  179. package/dist/interfaces/i-drive-list.d.ts +33 -0
  180. package/dist/interfaces/i-drive-list.js +3 -4
  181. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  182. package/dist/interfaces/i-eggs-config.js +3 -4
  183. package/dist/interfaces/i-excludes.d.ts +14 -0
  184. package/dist/interfaces/i-excludes.js +8 -2
  185. package/dist/interfaces/i-exec.d.ts +11 -0
  186. package/dist/interfaces/i-exec.js +3 -4
  187. package/dist/interfaces/i-initrd.d.ts +13 -0
  188. package/dist/interfaces/i-initrd.js +8 -2
  189. package/dist/interfaces/i-install.d.ts +16 -0
  190. package/dist/interfaces/i-install.js +8 -2
  191. package/dist/interfaces/i-installer.d.ts +17 -0
  192. package/dist/interfaces/i-installer.js +8 -2
  193. package/dist/interfaces/i-krill-config.d.ts +33 -0
  194. package/dist/interfaces/i-krill-config.js +3 -4
  195. package/dist/interfaces/i-krill.d.ts +42 -0
  196. package/dist/interfaces/i-krill.js +8 -2
  197. package/dist/interfaces/i-materia.d.ts +41 -0
  198. package/dist/interfaces/i-materia.js +8 -2
  199. package/dist/interfaces/i-net.d.ts +16 -0
  200. package/dist/interfaces/i-net.js +8 -2
  201. package/dist/interfaces/i-packages.d.ts +29 -0
  202. package/dist/interfaces/i-packages.js +3 -4
  203. package/dist/interfaces/i-partitions.d.ts +16 -0
  204. package/dist/interfaces/i-partitions.js +8 -2
  205. package/dist/interfaces/i-pxe.d.ts +21 -0
  206. package/dist/interfaces/i-pxe.js +8 -39
  207. package/dist/interfaces/i-remix.d.ts +21 -0
  208. package/dist/interfaces/i-remix.js +3 -4
  209. package/dist/interfaces/i-settings.d.ts +39 -0
  210. package/dist/interfaces/i-settings.js +8 -2
  211. package/dist/interfaces/i-user.d.ts +14 -0
  212. package/dist/interfaces/i-user.js +8 -2
  213. package/dist/interfaces/i-workdir.d.ts +14 -0
  214. package/dist/interfaces/i-workdir.js +8 -2
  215. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  216. package/dist/interfaces/i-xkb-model.js +8 -2
  217. package/dist/interfaces/index.d.ts +25 -0
  218. package/dist/interfaces/index.js +3 -4
  219. package/dist/krill/modules/add-user.d.ts +20 -0
  220. package/dist/krill/modules/add-user.js +11 -15
  221. package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
  222. package/dist/krill/modules/bootloader-config-arch.js +15 -11
  223. package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
  224. package/dist/krill/modules/bootloader-config-debian.js +20 -16
  225. package/dist/krill/modules/bootloader-config.d.ts +10 -0
  226. package/dist/krill/modules/bootloader-config.js +3 -6
  227. package/dist/krill/modules/bootloader.d.ts +14 -0
  228. package/dist/krill/modules/bootloader.js +9 -13
  229. package/dist/krill/modules/change-password.d.ts +15 -0
  230. package/dist/krill/modules/change-password.js +5 -8
  231. package/dist/krill/modules/del-live-user.d.ts +14 -0
  232. package/dist/krill/modules/del-live-user.js +8 -12
  233. package/dist/krill/modules/fstab.d.ts +14 -0
  234. package/dist/krill/modules/fstab.js +33 -37
  235. package/dist/krill/modules/grubcfg.d.ts +17 -0
  236. package/dist/krill/modules/grubcfg.js +8 -17
  237. package/dist/krill/modules/hostname.d.ts +13 -0
  238. package/dist/krill/modules/hostname.js +11 -17
  239. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  240. package/dist/krill/modules/initramfs-cfg.js +6 -15
  241. package/dist/krill/modules/initramfs.d.ts +13 -0
  242. package/dist/krill/modules/initramfs.js +17 -19
  243. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  244. package/dist/krill/modules/locale-cfg.js +8 -12
  245. package/dist/krill/modules/locale.d.ts +13 -0
  246. package/dist/krill/modules/locale.js +7 -11
  247. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  248. package/dist/krill/modules/m-keyboard.js +14 -18
  249. package/dist/krill/modules/m-timezone.d.ts +14 -0
  250. package/dist/krill/modules/m-timezone.js +8 -12
  251. package/dist/krill/modules/machine-id.d.ts +15 -0
  252. package/dist/krill/modules/machine-id.js +6 -10
  253. package/dist/krill/modules/mkfs.d.ts +13 -0
  254. package/dist/krill/modules/mkfs.js +10 -13
  255. package/dist/krill/modules/mount-fs.d.ts +17 -0
  256. package/dist/krill/modules/mount-fs.js +20 -26
  257. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  258. package/dist/krill/modules/mount-vfs.js +16 -21
  259. package/dist/krill/modules/network-cfg.d.ts +19 -0
  260. package/dist/krill/modules/network-cfg.js +16 -20
  261. package/dist/krill/modules/packages.d.ts +14 -0
  262. package/dist/krill/modules/packages.js +17 -21
  263. package/dist/krill/modules/partition.d.ts +20 -0
  264. package/dist/krill/modules/partition.js +78 -84
  265. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  266. package/dist/krill/modules/remove-installer-link.js +7 -11
  267. package/dist/krill/modules/umount.d.ts +14 -0
  268. package/dist/krill/modules/umount.js +9 -13
  269. package/dist/krill/modules/unpackfs.d.ts +13 -0
  270. package/dist/krill/modules/unpackfs.js +7 -11
  271. package/dist/krill/prepare.d.ts +77 -0
  272. package/dist/krill/{krill-prepare.js → prepare.js} +118 -124
  273. package/dist/krill/sequence.d.ts +156 -0
  274. package/dist/krill/{krill-sequence.js → sequence.js} +166 -170
  275. package/dist/lib/cli-autologin.d.ts +43 -0
  276. package/dist/lib/cli-autologin.js +88 -92
  277. package/dist/lib/get_address.d.ts +8 -0
  278. package/dist/lib/get_address.js +9 -11
  279. package/dist/lib/get_dns.d.ts +8 -0
  280. package/dist/lib/get_dns.js +9 -11
  281. package/dist/lib/get_domain.d.ts +8 -0
  282. package/dist/lib/get_domain.js +9 -11
  283. package/dist/lib/get_gateway.d.ts +8 -0
  284. package/dist/lib/get_gateway.js +9 -11
  285. package/dist/lib/get_hostname.d.ts +8 -0
  286. package/dist/lib/get_hostname.js +9 -11
  287. package/dist/lib/get_netmask.d.ts +8 -0
  288. package/dist/lib/get_netmask.js +9 -11
  289. package/dist/lib/get_password.d.ts +8 -0
  290. package/dist/lib/get_password.js +10 -13
  291. package/dist/lib/get_userfullname.d.ts +8 -0
  292. package/dist/lib/get_userfullname.js +9 -11
  293. package/dist/lib/get_username.d.ts +8 -0
  294. package/dist/lib/get_username.js +9 -12
  295. package/dist/lib/kill_me_softly.d.ts +11 -0
  296. package/dist/lib/kill_me_softly.js +19 -24
  297. package/dist/lib/select_address_type.d.ts +8 -0
  298. package/dist/lib/select_address_type.js +9 -12
  299. package/dist/lib/select_filesystem_type.d.ts +8 -0
  300. package/dist/lib/select_filesystem_type.js +15 -18
  301. package/dist/lib/select_installation_device.d.ts +8 -0
  302. package/dist/lib/select_installation_device.js +11 -15
  303. package/dist/lib/select_installation_mode.d.ts +8 -0
  304. package/dist/lib/select_installation_mode.js +9 -11
  305. package/dist/lib/select_interface.d.ts +8 -0
  306. package/dist/lib/select_interface.js +9 -12
  307. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  308. package/dist/lib/select_keyboard_layout.js +11 -15
  309. package/dist/lib/select_keyboard_model.d.ts +11 -0
  310. package/dist/lib/select_keyboard_model.js +11 -15
  311. package/dist/lib/select_keyboard_option.d.ts +11 -0
  312. package/dist/lib/select_keyboard_option.js +11 -15
  313. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  314. package/dist/lib/select_keyboard_variant.js +11 -15
  315. package/dist/lib/select_languages.d.ts +8 -0
  316. package/dist/lib/select_languages.js +11 -15
  317. package/dist/lib/select_regions.d.ts +8 -0
  318. package/dist/lib/select_regions.js +9 -11
  319. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  320. package/dist/lib/select_user_swap_choice.js +13 -17
  321. package/dist/lib/select_zones.d.ts +8 -0
  322. package/dist/lib/select_zones.js +9 -11
  323. package/dist/lib/utils.d.ts +34 -0
  324. package/dist/lib/utils.js +24 -14
  325. package/manpages/doc/man/eggs.1.gz +0 -0
  326. package/manpages/doc/man/eggs.html +10 -10
  327. package/package.json +48 -69
  328. package/LICENSE +0 -339
  329. package/bin/dev +0 -17
  330. package/bin/run +0 -5
  331. package/dist/components/elements/information.js +0 -194
  332. package/dist/components/elements/steps.js +0 -152
  333. package/dist/components/elements/title.js +0 -36
  334. package/dist/lib/dependencies.js +0 -121
@@ -0,0 +1,43 @@
1
+ /**
2
+ * ./src/lib/cli-autologin.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
+ /**
9
+ * CliAutologin
10
+ */
11
+ export default class CliAutologin {
12
+ addAutologin(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
13
+ /**
14
+ *
15
+ * @param distro
16
+ * @param version
17
+ * @param user
18
+ * @param userPasswd
19
+ * @param rootPasswd
20
+ * @param chroot
21
+ */
22
+ addIssue(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
23
+ /**
24
+ *
25
+ * @param distro
26
+ * @param version
27
+ * @param user
28
+ * @param userPasswd
29
+ * @param rootPasswd
30
+ * @param chroot
31
+ */
32
+ addMotd(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
33
+ /**
34
+ *
35
+ * @param path
36
+ */
37
+ msgRemove(path: string): Promise<void>;
38
+ /**
39
+ *
40
+ * @param chroot
41
+ */
42
+ remove(chroot?: string): Promise<void>;
43
+ }
@@ -1,21 +1,18 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * lib: cli-autologin.ts
2
+ * ./src/lib/cli-autologin.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
5
4
  * author: Piero Proietti
6
5
  * email: piero.proietti@gmail.com
7
6
  * license: MIT
8
7
  */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const tslib_1 = require("tslib");
11
- const shelljs_1 = tslib_1.__importDefault(require("shelljs"));
12
- const fs_1 = tslib_1.__importDefault(require("fs"));
13
- const path_1 = tslib_1.__importDefault(require("path"));
14
- const utils_1 = tslib_1.__importDefault(require("../classes/utils"));
15
- const pacman_1 = tslib_1.__importDefault(require("../classes/pacman"));
16
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
+ import chalk from 'chalk';
9
+ import fs from 'node:fs';
10
+ import path from 'node:path';
11
+ import shx from 'shelljs';
12
+ import Pacman from '../classes/pacman.js';
13
+ import Utils from '../classes/utils.js';
17
14
  // libraries
18
- const utils_2 = require("../lib/utils");
15
+ import { exec } from '../lib/utils.js';
19
16
  const startMessage = 'eggs-start-message';
20
17
  const stopMessage = 'eggs-stop-message';
21
18
  /*
@@ -25,28 +22,28 @@ const stopMessage = 'eggs-stop-message';
25
22
  /**
26
23
  * CliAutologin
27
24
  */
28
- class CliAutologin {
25
+ export default class CliAutologin {
29
26
  async addAutologin(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
30
- if (utils_1.default.isSystemd()) {
27
+ if (Utils.isSystemd()) {
31
28
  /**
32
29
  * Systemd
33
30
  */
34
31
  const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
35
- const dirOverride = path_1.default.dirname(fileOverride);
36
- if (fs_1.default.existsSync(dirOverride)) {
37
- shelljs_1.default.exec(`rm ${dirOverride} -rf`);
32
+ const dirOverride = path.dirname(fileOverride);
33
+ if (fs.existsSync(dirOverride)) {
34
+ shx.exec(`rm ${dirOverride} -rf`);
38
35
  }
39
- shelljs_1.default.exec(`mkdir ${dirOverride}`);
36
+ shx.exec(`mkdir ${dirOverride}`);
40
37
  let content = '';
41
38
  content += '[Service]' + '\n';
42
39
  content += 'ExecStart=' + '\n';
43
40
  content += 'ExecStart=-/sbin/agetty --noclear --autologin ' + user + ' %I $TERM' + '\n';
44
- fs_1.default.writeFileSync(fileOverride, content);
45
- shelljs_1.default.exec(`chmod +x ${fileOverride}`);
41
+ fs.writeFileSync(fileOverride, content);
42
+ shx.exec(`chmod +x ${fileOverride}`);
46
43
  await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
47
44
  await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
48
45
  }
49
- else if (utils_1.default.isSysvinit()) {
46
+ else if (Utils.isSysvinit()) {
50
47
  /**
51
48
  * sysvinit
52
49
  */
@@ -55,55 +52,36 @@ class CliAutologin {
55
52
  // const replace = `1:2345:respawn:/sbin/getty --noclear --autologin ${user} 38400 tty1`
56
53
  const replace = `1:2345:respawn:/sbin/getty --autologin ${user} 38400 tty1`;
57
54
  let content = '';
58
- const lines = fs_1.default.readFileSync(inittab, 'utf-8').split('\n');
55
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
59
56
  for (let i = 0; i < lines.length; i++) {
60
57
  if (lines[i].includes(search)) {
61
58
  lines[i] = replace;
62
59
  }
63
60
  content += lines[i] + '\n';
64
61
  }
65
- fs_1.default.writeFileSync(inittab, content, 'utf-8');
62
+ fs.writeFileSync(inittab, content, 'utf-8');
66
63
  await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
67
64
  await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
68
65
  }
69
66
  }
70
67
  /**
71
68
  *
69
+ * @param distro
70
+ * @param version
71
+ * @param user
72
+ * @param userPasswd
73
+ * @param rootPasswd
72
74
  * @param chroot
73
75
  */
74
- async remove(chroot = '/') {
75
- if (utils_1.default.isSystemd()) {
76
- /**
77
- * Systemd
78
- */
79
- const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
80
- const dirOverride = path_1.default.dirname(fileOverride);
81
- if (fs_1.default.existsSync(dirOverride)) {
82
- shelljs_1.default.exec(`rm ${dirOverride} -rf`);
83
- }
84
- this.msgRemove(`${chroot}/etc/motd`);
85
- this.msgRemove(`${chroot}/etc/issue`);
86
- }
87
- else if (utils_1.default.isSysvinit()) {
88
- /**
89
- * sysvinit
90
- */
91
- const inittab = chroot + '/etc/inittab';
92
- const search = '1:2345:respawn:/sbin/getty';
93
- // const replace = `1:2345:respawn:/sbin/getty --noclear 38400 tty1 `
94
- const replace = '1:2345:respawn:/sbin/getty 38400 tty1 ';
95
- let content = '';
96
- const lines = fs_1.default.readFileSync(inittab, 'utf-8').split('\n');
97
- for (let i = 0; i < lines.length; i++) {
98
- if (lines[i].includes(search)) {
99
- lines[i] = replace;
100
- }
101
- content += lines[i] + '\n';
102
- }
103
- fs_1.default.writeFileSync(inittab, content, 'utf-8');
104
- this.msgRemove(`${chroot}/etc/motd`);
105
- this.msgRemove(`${chroot}/etc/issue`);
106
- } // to add: openrc and runit for Devuan
76
+ async addIssue(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
77
+ const fileIssue = `${chroot}/etc/issue`;
78
+ this.msgRemove(fileIssue);
79
+ const eggsIssue = fs.readFileSync(fileIssue, 'utf8');
80
+ // eggsIssue += startMessage + '\n'
81
+ // eggsIssue += `This is a ${distro}/${version} system created by Penguins' eggs.\n`
82
+ // eggsIssue += 'You can login with user: ' + chalk.bold(user) + ' and password: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n'
83
+ // eggsIssue += stopMessage + '\n'
84
+ fs.writeFileSync(fileIssue, eggsIssue);
107
85
  }
108
86
  /**
109
87
  *
@@ -117,57 +95,38 @@ class CliAutologin {
117
95
  async addMotd(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
118
96
  const fileMotd = `${chroot}/etc/motd`;
119
97
  let installer = 'sudo eggs install';
120
- if (pacman_1.default.calamaresExists()) {
121
- if (pacman_1.default.packageIsInstalled('plasma-desktop')) {
98
+ if (Pacman.calamaresExists()) {
99
+ if (Pacman.packageIsInstalled('plasma-desktop')) {
122
100
  installer = 'startplasma-wayland to run GUI and launch calamares';
123
101
  }
124
- else if (pacman_1.default.packageIsInstalled('xfce4')) {
102
+ else if (Pacman.packageIsInstalled('xfce4')) {
125
103
  installer = 'startxfce4 to run GUI and launch calamares installer';
126
104
  }
127
105
  }
128
- if (!fs_1.default.existsSync(fileMotd)) {
129
- await (0, utils_2.exec)(`touch ${fileMotd}`);
106
+ if (!fs.existsSync(fileMotd)) {
107
+ await exec(`touch ${fileMotd}`);
130
108
  }
131
109
  this.msgRemove(fileMotd);
132
- let eggsMotd = fs_1.default.readFileSync(fileMotd, 'utf-8');
110
+ let eggsMotd = fs.readFileSync(fileMotd, 'utf8');
133
111
  eggsMotd += startMessage + '\n';
134
- eggsMotd += utils_1.default.flag() + '\n';
135
- eggsMotd += 'You are logged as: ' + chalk_1.default.bold(user) + ' your password is: ' + chalk_1.default.bold(userPasswd) + ', root password: ' + chalk_1.default.bold(rootPasswd) + '\n\n';
136
- eggsMotd += 'install : ' + chalk_1.default.bold(installer) + '\n';
137
- eggsMotd += ' unattended : ' + chalk_1.default.bold('sudo eggs install --unattended # us configuration') + '\n';
138
- eggsMotd += ' unattended custom : ' + chalk_1.default.bold('sudo eggs install --custom [ br | it | yours ]') + '\n';
139
- eggsMotd += 'PXE server : ' + chalk_1.default.bold('sudo eggs cuckoo') + '\n';
112
+ eggsMotd += Utils.flag() + '\n';
113
+ eggsMotd += 'You are logged as: ' + chalk.bold(user) + ' your password is: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n\n';
114
+ eggsMotd += 'install : ' + chalk.bold(installer) + '\n';
115
+ eggsMotd += ' unattended : ' + chalk.bold('sudo eggs install --unattended # us configuration') + '\n';
116
+ eggsMotd += ' unattended custom : ' + chalk.bold('sudo eggs install --custom [ br | it | yours ]') + '\n';
117
+ eggsMotd += 'PXE server : ' + chalk.bold('sudo eggs cuckoo') + '\n';
140
118
  eggsMotd += '(*) to get your custom unattended configuration: fork https://github.com/pieroproietti/penguins-wardrobe' + '\n';
141
119
  eggsMotd += ' create your configuration in /config and ask for a Pull Request' + '\n';
142
120
  eggsMotd += stopMessage + '\n';
143
- fs_1.default.writeFileSync(fileMotd, eggsMotd);
144
- }
145
- /**
146
- *
147
- * @param distro
148
- * @param version
149
- * @param user
150
- * @param userPasswd
151
- * @param rootPasswd
152
- * @param chroot
153
- */
154
- async addIssue(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
155
- const fileIssue = `${chroot}/etc/issue`;
156
- this.msgRemove(fileIssue);
157
- const eggsIssue = fs_1.default.readFileSync(fileIssue, 'utf-8');
158
- // eggsIssue += startMessage + '\n'
159
- // eggsIssue += `This is a ${distro}/${version} system created by Penguins' eggs.\n`
160
- // eggsIssue += 'You can login with user: ' + chalk.bold(user) + ' and password: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n'
161
- // eggsIssue += stopMessage + '\n'
162
- fs_1.default.writeFileSync(fileIssue, eggsIssue);
121
+ fs.writeFileSync(fileMotd, eggsMotd);
163
122
  }
164
123
  /**
165
124
  *
166
125
  * @param path
167
126
  */
168
127
  async msgRemove(path) {
169
- if (fs_1.default.existsSync(path)) {
170
- const rows = fs_1.default.readFileSync(path, 'utf-8').split('\n');
128
+ if (fs.existsSync(path)) {
129
+ const rows = fs.readFileSync(path, 'utf8').split('\n');
171
130
  let cleaned = '';
172
131
  let remove = false;
173
132
  for (const row of rows) {
@@ -181,8 +140,45 @@ class CliAutologin {
181
140
  remove = false;
182
141
  }
183
142
  }
184
- fs_1.default.writeFileSync(path, cleaned, 'utf-8');
143
+ fs.writeFileSync(path, cleaned, 'utf-8');
185
144
  }
186
145
  }
146
+ /**
147
+ *
148
+ * @param chroot
149
+ */
150
+ async remove(chroot = '/') {
151
+ if (Utils.isSystemd()) {
152
+ /**
153
+ * Systemd
154
+ */
155
+ const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
156
+ const dirOverride = path.dirname(fileOverride);
157
+ if (fs.existsSync(dirOverride)) {
158
+ shx.exec(`rm ${dirOverride} -rf`);
159
+ }
160
+ this.msgRemove(`${chroot}/etc/motd`);
161
+ this.msgRemove(`${chroot}/etc/issue`);
162
+ }
163
+ else if (Utils.isSysvinit()) {
164
+ /**
165
+ * sysvinit
166
+ */
167
+ const inittab = chroot + '/etc/inittab';
168
+ const search = '1:2345:respawn:/sbin/getty';
169
+ // const replace = `1:2345:respawn:/sbin/getty --noclear 38400 tty1 `
170
+ const replace = '1:2345:respawn:/sbin/getty 38400 tty1 ';
171
+ let content = '';
172
+ const lines = fs.readFileSync(inittab, 'utf8').split('\n');
173
+ for (let i = 0; i < lines.length; i++) {
174
+ if (lines[i].includes(search)) {
175
+ lines[i] = replace;
176
+ }
177
+ content += lines[i] + '\n';
178
+ }
179
+ fs.writeFileSync(inittab, content, 'utf-8');
180
+ this.msgRemove(`${chroot}/etc/motd`);
181
+ this.msgRemove(`${chroot}/etc/issue`);
182
+ } // to add: openrc and runit for Devuan
183
+ }
187
184
  }
188
- exports.default = CliAutologin;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/lib/get_address.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
+ export default function getAddress(initial: string): Promise<string>;
@@ -1,26 +1,24 @@
1
1
  /**
2
- * penguins-eggs
3
- * lib: get_address.ts
2
+ * ./src/lib/get_address.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
4
  * author: Piero Proietti
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
8
  'use strict';
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const inquirer = require('inquirer');
11
- async function getAddress(initial) {
12
- return new Promise(function (resolve) {
9
+ import inquirer from 'inquirer';
10
+ export default async function getAddress(initial) {
11
+ return new Promise((resolve) => {
13
12
  const questions = [
14
13
  {
15
- type: 'input',
16
- name: 'address',
17
- message: 'What is ip address of this computer? ',
18
14
  default: initial,
15
+ message: 'What is ip address of this computer? ',
16
+ name: 'address',
17
+ type: 'input',
19
18
  },
20
19
  ];
21
- inquirer.prompt(questions).then(function (options) {
20
+ inquirer.prompt(questions).then((options) => {
22
21
  resolve(options.address);
23
22
  });
24
23
  });
25
24
  }
26
- exports.default = getAddress;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/lib/get_dns.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
+ export default function getDns(initial: string): Promise<string>;
@@ -1,26 +1,24 @@
1
1
  /**
2
- * penguins-eggs
3
- * lib: get_dns.ts
2
+ * ./src/lib/get_dns.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
4
  * author: Piero Proietti
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
8
  'use strict';
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const inquirer = require('inquirer');
11
- async function getDns(initial) {
12
- return new Promise(function (resolve) {
9
+ import inquirer from 'inquirer';
10
+ export default async function getDns(initial) {
11
+ return new Promise((resolve) => {
13
12
  const questions = [
14
13
  {
15
- type: 'input',
16
- name: 'dns',
17
- message: 'use ; to separe: ',
18
14
  default: initial,
15
+ message: 'use ; to separe: ',
16
+ name: 'dns',
17
+ type: 'input',
19
18
  },
20
19
  ];
21
- inquirer.prompt(questions).then(function (options) {
20
+ inquirer.prompt(questions).then((options) => {
22
21
  resolve(options.dns);
23
22
  });
24
23
  });
25
24
  }
26
- exports.default = getDns;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/lib/get_domain.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
+ export default function getDomain(initial?: string): Promise<string>;
@@ -1,26 +1,24 @@
1
1
  /**
2
- * penguins-eggs
3
- * lib: get_domain.ts
2
+ * ./src/lib/get_domain.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
4
  * author: Piero Proietti
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
8
  'use strict';
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const inquirer = require('inquirer');
11
- async function getDomain(initial = '') {
12
- return new Promise(function (resolve) {
9
+ import inquirer from 'inquirer';
10
+ export default async function getDomain(initial = '') {
11
+ return new Promise((resolve) => {
13
12
  const questions = [
14
13
  {
15
- type: 'input',
16
- name: 'domain',
17
- message: 'What is domain of this network? ',
18
14
  default: initial,
15
+ message: 'What is domain of this network? ',
16
+ name: 'domain',
17
+ type: 'input',
19
18
  },
20
19
  ];
21
- inquirer.prompt(questions).then(function (options) {
20
+ inquirer.prompt(questions).then((options) => {
22
21
  resolve(options.domain);
23
22
  });
24
23
  });
25
24
  }
26
- exports.default = getDomain;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/lib/get_gateway.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
+ export default function getGateway(initial: string): Promise<string>;
@@ -1,26 +1,24 @@
1
1
  /**
2
- * penguins-eggs
3
- * lib: get_gateway.ts
2
+ * ./src/lib/get_gateway.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
4
  * author: Piero Proietti
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
8
  'use strict';
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const inquirer = require('inquirer');
11
- async function getGateway(initial) {
12
- return new Promise(function (resolve) {
9
+ import inquirer from 'inquirer';
10
+ export default async function getGateway(initial) {
11
+ return new Promise((resolve) => {
13
12
  const questions = [
14
13
  {
15
- type: 'input',
16
- name: 'gateway',
17
- message: 'What is gateway of this network? ',
18
14
  default: initial,
15
+ message: 'What is gateway of this network? ',
16
+ name: 'gateway',
17
+ type: 'input',
19
18
  },
20
19
  ];
21
- inquirer.prompt(questions).then(function (options) {
20
+ inquirer.prompt(questions).then((options) => {
22
21
  resolve(options.gateway);
23
22
  });
24
23
  });
25
24
  }
26
- exports.default = getGateway;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/lib/get_hostname.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
+ export default function getHostname(initial: string): Promise<string>;
@@ -1,26 +1,24 @@
1
1
  /**
2
- * penguins-eggs
3
- * lib: get_hostname.ts
2
+ * ./src/lib/get_hostname.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
4
  * author: Piero Proietti
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
8
  'use strict';
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const inquirer = require('inquirer');
11
- async function getHostname(initial) {
12
- return new Promise(function (resolve) {
9
+ import inquirer from 'inquirer';
10
+ export default async function getHostname(initial) {
11
+ return new Promise((resolve) => {
13
12
  const questions = [
14
13
  {
15
- type: 'input',
16
- name: 'hostname',
17
- message: 'Choose a name for this computer? ',
18
14
  default: initial,
15
+ message: 'Choose a name for this computer? ',
16
+ name: 'hostname',
17
+ type: 'input',
19
18
  },
20
19
  ];
21
- inquirer.prompt(questions).then(function (options) {
20
+ inquirer.prompt(questions).then((options) => {
22
21
  resolve(options.hostname);
23
22
  });
24
23
  });
25
24
  }
26
- exports.default = getHostname;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/lib/get_netmask.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
+ export default function getNetmask(initial: string): Promise<string>;
@@ -1,26 +1,24 @@
1
1
  /**
2
- * penguins-eggs
3
- * lib: get_netmask.ts
2
+ * ./src/lib/get_netmask.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
4
  * author: Piero Proietti
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
8
  'use strict';
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const inquirer = require('inquirer');
11
- async function getNetmask(initial) {
12
- return new Promise(function (resolve) {
9
+ import inquirer from 'inquirer';
10
+ export default async function getNetmask(initial) {
11
+ return new Promise((resolve) => {
13
12
  const questions = [
14
13
  {
15
- type: 'input',
16
- name: 'netmask',
17
- message: 'What is netmask of this computer? ',
18
14
  default: initial,
15
+ message: 'What is netmask of this computer? ',
16
+ name: 'netmask',
17
+ type: 'input',
19
18
  },
20
19
  ];
21
- inquirer.prompt(questions).then(function (options) {
20
+ inquirer.prompt(questions).then((options) => {
22
21
  resolve(options.netmask);
23
22
  });
24
23
  });
25
24
  }
26
- exports.default = getNetmask;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/lib/get_password.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
+ export default function getPassword(user: string | undefined, initial: string): Promise<string>;
@@ -1,40 +1,37 @@
1
1
  /**
2
- * penguins-eggs
3
- * lib: get_password.ts
2
+ * ./src/lib/get_password.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
4
  * author: Piero Proietti
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
8
  'use strict';
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- // import { option } from '@oclif/command/lib/flags'
11
- const inquirer = require('inquirer');
12
- async function getPassword(user = 'root', initial) {
9
+ import inquirer from 'inquirer';
10
+ export default async function getPassword(user = 'root', initial) {
13
11
  const requireLetterAndNumber = (value) => {
14
12
  if (/\w/.test(value) && /\d/.test(value)) {
15
13
  return true;
16
14
  }
17
15
  };
18
- return new Promise(function (resolve) {
16
+ return new Promise((resolve) => {
19
17
  const questions = [
20
18
  {
21
- type: 'password',
19
+ default: initial,
22
20
  message: `Choose a password for ${user}: `,
23
21
  name: 'password',
24
- default: initial,
22
+ type: 'password',
25
23
  // validate: requireLetterAndNumber,
26
24
  },
27
25
  {
28
- type: 'password',
26
+ default: initial,
29
27
  message: `Confirm your ${user} password: `,
30
28
  name: 'confirmPassword',
31
- default: initial,
29
+ type: 'password',
32
30
  // validate: requireLetterAndNumber,
33
31
  },
34
32
  ];
35
- inquirer.prompt(questions).then(function (options) {
33
+ inquirer.prompt(questions).then((options) => {
36
34
  resolve(options.password);
37
35
  });
38
36
  });
39
37
  }
40
- exports.default = getPassword;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * ./src/lib/get_userfullname.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
+ export default function getUserfullname(initial: string): Promise<string>;