penguins-eggs 9.6.34 → 10.0.0

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 (351) hide show
  1. package/.oclif.manifest.json +1458 -1
  2. package/README.md +823 -8
  3. package/addons/eggs/theme/livecd/grub.main.cfg +4 -4
  4. package/addons/eggs/theme/livecd/isolinux.main.cfg +5 -5
  5. package/bin/dev.cmd +1 -1
  6. package/bin/dev.js +6 -0
  7. package/bin/run.js +5 -0
  8. package/conf/derivatives.yaml +2 -0
  9. package/conf/distros/buster/calamares/calamares-modules/bootloader-config/bootloader-config.sh +3 -3
  10. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +1 -1
  11. package/conf/distros/buster/calamares/modules/fstab.yml +1 -1
  12. package/conf/distros/focal/calamares/modules/fstab.yml +1 -1
  13. package/conf/{exclude.list.homes → exclude.list.d/home.list} +6 -1
  14. package/conf/{exclude.list.template → exclude.list.d/master.list} +15 -24
  15. package/conf/exclude.list.d/var.list +21 -0
  16. package/conf/tools.yaml +1 -3
  17. package/dist/classes/bleach.d.ts +37 -0
  18. package/dist/classes/bleach.js +43 -91
  19. package/dist/classes/cfs.d.ts +17 -0
  20. package/dist/classes/cfs.js +15 -12
  21. package/dist/classes/compressors.d.ts +53 -0
  22. package/dist/classes/compressors.js +51 -58
  23. package/dist/classes/daddy.d.ts +18 -0
  24. package/dist/classes/daddy.js +93 -101
  25. package/dist/classes/distro.d.ts +26 -0
  26. package/dist/classes/distro.js +45 -27
  27. package/dist/classes/families/archlinux.d.ts +61 -0
  28. package/dist/classes/families/archlinux.js +56 -113
  29. package/dist/classes/families/debian.d.ts +65 -0
  30. package/dist/classes/families/debian.js +68 -143
  31. package/dist/classes/families/fedora.d.ts +52 -0
  32. package/dist/classes/families/fedora.js +43 -99
  33. package/dist/classes/families/mockup.d.ts +60 -0
  34. package/dist/classes/families/mockup.js +27 -46
  35. package/dist/classes/families/suse.d.ts +52 -0
  36. package/dist/classes/families/suse.js +45 -97
  37. package/dist/classes/incubation/branding.d.ts +17 -0
  38. package/dist/classes/incubation/branding.js +33 -32
  39. package/dist/classes/incubation/distros/bionic.d.ts +32 -0
  40. package/dist/classes/incubation/distros/bionic.js +15 -15
  41. package/dist/classes/incubation/distros/buster.d.ts +32 -0
  42. package/dist/classes/incubation/distros/buster.js +15 -15
  43. package/dist/classes/incubation/distros/focal.d.ts +32 -0
  44. package/dist/classes/incubation/distros/focal.js +15 -15
  45. package/dist/classes/incubation/distros/jessie.d.ts +31 -0
  46. package/dist/classes/incubation/distros/jessie.js +11 -13
  47. package/dist/classes/incubation/distros/rolling.d.ts +32 -0
  48. package/dist/classes/incubation/distros/rolling.js +15 -16
  49. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  50. package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
  51. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  52. package/dist/classes/incubation/fisherman-helper/packages.js +17 -17
  53. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  54. package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
  55. package/dist/classes/incubation/fisherman.d.ts +77 -0
  56. package/dist/classes/incubation/fisherman.js +137 -132
  57. package/dist/classes/incubation/incubator.d.ts +40 -0
  58. package/dist/classes/incubation/incubator.js +93 -87
  59. package/dist/classes/incubation/installer.d.ts +13 -0
  60. package/dist/classes/incubation/installer.js +27 -12
  61. package/dist/classes/initrd.d.ts +41 -0
  62. package/dist/classes/initrd.js +42 -44
  63. package/dist/classes/keyboards.d.ts +50 -0
  64. package/dist/classes/keyboards.js +110 -107
  65. package/dist/classes/locales.d.ts +21 -0
  66. package/dist/classes/locales.js +30 -34
  67. package/dist/classes/n8.d.ts +17 -0
  68. package/dist/classes/n8.js +16 -22
  69. package/dist/classes/network.d.ts +37 -0
  70. package/dist/classes/network.js +21 -25
  71. package/dist/classes/ovary.d.ts +205 -0
  72. package/dist/classes/ovary.js +1262 -1334
  73. package/dist/classes/pacman.d.ts +149 -0
  74. package/dist/classes/pacman.js +347 -426
  75. package/dist/classes/pve-live.d.ts +17 -0
  76. package/dist/classes/pve-live.js +23 -25
  77. package/dist/classes/pxe.d.ts +65 -0
  78. package/dist/classes/pxe.js +206 -210
  79. package/dist/classes/settings.d.ts +53 -0
  80. package/dist/classes/settings.js +99 -102
  81. package/dist/classes/sources_list.d.ts +28 -0
  82. package/dist/classes/sources_list.js +35 -39
  83. package/dist/classes/systemctl.d.ts +47 -0
  84. package/dist/classes/systemctl.js +35 -39
  85. package/dist/classes/tailor.d.ts +46 -0
  86. package/dist/classes/tailor.js +225 -241
  87. package/dist/classes/tools.d.ts +30 -0
  88. package/dist/classes/tools.js +20 -26
  89. package/dist/classes/users.d.ts +28 -0
  90. package/dist/classes/users.js +22 -16
  91. package/dist/classes/utils.d.ts +318 -0
  92. package/dist/classes/utils.js +91 -76
  93. package/dist/classes/xdg.d.ts +45 -0
  94. package/dist/classes/xdg.js +129 -133
  95. package/dist/classes/yolk.d.ts +33 -0
  96. package/dist/classes/yolk.js +54 -60
  97. package/dist/commands/adapt.d.ts +17 -0
  98. package/dist/commands/adapt.js +21 -25
  99. package/dist/commands/analyze.d.ts +26 -0
  100. package/dist/commands/analyze.js +60 -74
  101. package/dist/commands/calamares.d.ts +29 -0
  102. package/dist/commands/calamares.js +53 -60
  103. package/dist/commands/config.d.ts +36 -0
  104. package/dist/commands/config.js +120 -142
  105. package/dist/commands/cuckoo.d.ts +16 -0
  106. package/dist/commands/cuckoo.js +24 -28
  107. package/dist/commands/dad.d.ts +19 -0
  108. package/dist/commands/dad.js +26 -30
  109. package/dist/commands/export/deb.d.ts +19 -0
  110. package/dist/commands/export/deb.js +33 -42
  111. package/dist/commands/export/iso.d.ts +19 -0
  112. package/dist/commands/export/iso.js +24 -28
  113. package/dist/commands/install.d.ts +37 -0
  114. package/dist/commands/install.js +68 -68
  115. package/dist/commands/kill.d.ts +24 -0
  116. package/dist/commands/kill.js +31 -38
  117. package/dist/commands/mom.d.ts +16 -0
  118. package/dist/commands/mom.js +20 -22
  119. package/dist/commands/produce.d.ts +33 -0
  120. package/dist/commands/produce.js +100 -92
  121. package/dist/commands/status.d.ts +23 -0
  122. package/dist/commands/status.js +14 -20
  123. package/dist/commands/syncfrom.d.ts +45 -0
  124. package/dist/commands/syncfrom.js +99 -109
  125. package/dist/commands/syncto.d.ts +40 -0
  126. package/dist/commands/syncto.js +152 -216
  127. package/dist/commands/tools/clean.d.ts +18 -0
  128. package/dist/commands/tools/clean.js +21 -25
  129. package/dist/commands/tools/ppa.d.ts +26 -0
  130. package/dist/commands/tools/ppa.js +46 -50
  131. package/dist/commands/tools/skel.d.ts +18 -0
  132. package/dist/commands/tools/skel.js +27 -31
  133. package/dist/commands/tools/stat.d.ts +31 -0
  134. package/dist/commands/tools/stat.js +21 -25
  135. package/dist/commands/tools/yolk.d.ts +24 -0
  136. package/dist/commands/tools/yolk.js +23 -27
  137. package/dist/commands/update.d.ts +47 -0
  138. package/dist/commands/update.js +66 -70
  139. package/dist/commands/wardrobe/get.d.ts +23 -0
  140. package/dist/commands/wardrobe/get.js +26 -28
  141. package/dist/commands/wardrobe/list.d.ts +24 -0
  142. package/dist/commands/wardrobe/list.js +69 -67
  143. package/dist/commands/wardrobe/show.d.ts +25 -0
  144. package/dist/commands/wardrobe/show.js +57 -52
  145. package/dist/commands/wardrobe/wear.d.ts +26 -0
  146. package/dist/commands/wardrobe/wear.js +39 -41
  147. package/dist/components/finished.d.ts +15 -0
  148. package/dist/components/finished.js +37 -42
  149. package/dist/components/information.d.ts +8 -0
  150. package/dist/components/information.js +155 -0
  151. package/dist/components/install.d.ts +15 -0
  152. package/dist/components/install.js +31 -35
  153. package/dist/components/keyboard.d.ts +16 -0
  154. package/dist/components/keyboard.js +37 -40
  155. package/dist/components/location.d.ts +16 -0
  156. package/dist/components/location.js +38 -38
  157. package/dist/components/network.d.ts +19 -0
  158. package/dist/components/network.js +47 -48
  159. package/dist/components/partitions.d.ts +16 -0
  160. package/dist/components/partitions.js +47 -51
  161. package/dist/components/steps.d.ts +13 -0
  162. package/dist/components/steps.js +148 -0
  163. package/dist/components/summary.d.ts +24 -0
  164. package/dist/components/summary.js +53 -54
  165. package/dist/components/title.d.ts +12 -0
  166. package/dist/components/title.js +35 -0
  167. package/dist/components/users.d.ts +24 -0
  168. package/dist/components/users.js +43 -43
  169. package/dist/components/welcome.d.ts +13 -0
  170. package/dist/components/welcome.js +37 -38
  171. package/dist/index.d.ts +8 -0
  172. package/dist/index.js +8 -5
  173. package/dist/interfaces/i-addons.d.ts +13 -0
  174. package/dist/interfaces/i-addons.js +8 -3
  175. package/dist/interfaces/i-analyze.d.ts +17 -0
  176. package/dist/interfaces/i-analyze.js +11 -16
  177. package/dist/interfaces/i-app.d.ts +14 -0
  178. package/dist/interfaces/i-app.js +8 -2
  179. package/dist/interfaces/i-branding.d.ts +36 -0
  180. package/dist/interfaces/i-branding.js +8 -2
  181. package/dist/interfaces/i-calamares-partition.d.ts +18 -0
  182. package/dist/interfaces/i-calamares-partition.js +3 -4
  183. package/dist/interfaces/i-config-tools.d.ts +18 -0
  184. package/dist/interfaces/i-config-tools.js +8 -2
  185. package/dist/interfaces/i-devices.d.ts +20 -0
  186. package/dist/interfaces/i-devices.js +8 -2
  187. package/dist/interfaces/i-distro.d.ts +27 -0
  188. package/dist/interfaces/i-distro.js +3 -4
  189. package/dist/interfaces/i-drive-list.d.ts +33 -0
  190. package/dist/interfaces/i-drive-list.js +3 -4
  191. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  192. package/dist/interfaces/i-eggs-config.js +3 -4
  193. package/dist/interfaces/i-excludes.d.ts +14 -0
  194. package/dist/interfaces/i-excludes.js +8 -0
  195. package/dist/interfaces/i-exec.d.ts +11 -0
  196. package/dist/interfaces/i-exec.js +3 -4
  197. package/dist/interfaces/i-initrd.d.ts +13 -0
  198. package/dist/interfaces/i-initrd.js +8 -2
  199. package/dist/interfaces/i-install.d.ts +16 -0
  200. package/dist/interfaces/i-install.js +8 -2
  201. package/dist/interfaces/i-installer.d.ts +17 -0
  202. package/dist/interfaces/i-installer.js +8 -2
  203. package/dist/interfaces/i-krill-config.d.ts +33 -0
  204. package/dist/interfaces/i-krill-config.js +3 -4
  205. package/dist/interfaces/i-krill.d.ts +42 -0
  206. package/dist/interfaces/i-krill.js +8 -2
  207. package/dist/interfaces/i-materia.d.ts +41 -0
  208. package/dist/interfaces/i-materia.js +8 -2
  209. package/dist/interfaces/i-net.d.ts +16 -0
  210. package/dist/interfaces/i-net.js +8 -2
  211. package/dist/interfaces/i-packages.d.ts +29 -0
  212. package/dist/interfaces/i-packages.js +3 -4
  213. package/dist/interfaces/i-partitions.d.ts +16 -0
  214. package/dist/interfaces/i-partitions.js +8 -2
  215. package/dist/interfaces/i-pxe.d.ts +21 -0
  216. package/dist/interfaces/i-pxe.js +8 -39
  217. package/dist/interfaces/i-remix.d.ts +21 -0
  218. package/dist/interfaces/i-remix.js +3 -4
  219. package/dist/interfaces/i-settings.d.ts +39 -0
  220. package/dist/interfaces/i-settings.js +8 -2
  221. package/dist/interfaces/i-user.d.ts +14 -0
  222. package/dist/interfaces/i-user.js +8 -2
  223. package/dist/interfaces/i-workdir.d.ts +14 -0
  224. package/dist/interfaces/i-workdir.js +8 -2
  225. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  226. package/dist/interfaces/i-xkb-model.js +8 -2
  227. package/dist/interfaces/index.d.ts +25 -0
  228. package/dist/interfaces/index.js +3 -4
  229. package/dist/krill/modules/add-user.d.ts +20 -0
  230. package/dist/krill/modules/add-user.js +11 -15
  231. package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
  232. package/dist/krill/modules/bootloader-config-arch.js +15 -11
  233. package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
  234. package/dist/krill/modules/bootloader-config-debian.js +20 -16
  235. package/dist/krill/modules/bootloader-config.d.ts +10 -0
  236. package/dist/krill/modules/bootloader-config.js +3 -6
  237. package/dist/krill/modules/bootloader.d.ts +14 -0
  238. package/dist/krill/modules/bootloader.js +9 -13
  239. package/dist/krill/modules/change-password.d.ts +15 -0
  240. package/dist/krill/modules/change-password.js +5 -8
  241. package/dist/krill/modules/del-live-user.d.ts +14 -0
  242. package/dist/krill/modules/del-live-user.js +8 -12
  243. package/dist/krill/modules/fstab.d.ts +14 -0
  244. package/dist/krill/modules/fstab.js +69 -46
  245. package/dist/krill/modules/grubcfg.d.ts +17 -0
  246. package/dist/krill/modules/grubcfg.js +8 -17
  247. package/dist/krill/modules/hostname.d.ts +13 -0
  248. package/dist/krill/modules/hostname.js +11 -17
  249. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  250. package/dist/krill/modules/initramfs-cfg.js +6 -15
  251. package/dist/krill/modules/initramfs.d.ts +13 -0
  252. package/dist/krill/modules/initramfs.js +17 -19
  253. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  254. package/dist/krill/modules/locale-cfg.js +8 -12
  255. package/dist/krill/modules/locale.d.ts +13 -0
  256. package/dist/krill/modules/locale.js +7 -11
  257. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  258. package/dist/krill/modules/m-keyboard.js +14 -18
  259. package/dist/krill/modules/m-timezone.d.ts +14 -0
  260. package/dist/krill/modules/m-timezone.js +8 -12
  261. package/dist/krill/modules/machine-id.d.ts +15 -0
  262. package/dist/krill/modules/machine-id.js +6 -10
  263. package/dist/krill/modules/mkfs.d.ts +13 -0
  264. package/dist/krill/modules/mkfs.js +33 -23
  265. package/dist/krill/modules/mount-fs.d.ts +17 -0
  266. package/dist/krill/modules/mount-fs.js +20 -26
  267. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  268. package/dist/krill/modules/mount-vfs.js +16 -21
  269. package/dist/krill/modules/network-cfg.d.ts +19 -0
  270. package/dist/krill/modules/network-cfg.js +28 -31
  271. package/dist/krill/modules/packages.d.ts +14 -0
  272. package/dist/krill/modules/packages.js +17 -21
  273. package/dist/krill/modules/partition.d.ts +20 -0
  274. package/dist/krill/modules/partition.js +80 -86
  275. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  276. package/dist/krill/modules/remove-installer-link.js +7 -11
  277. package/dist/krill/modules/umount.d.ts +14 -0
  278. package/dist/krill/modules/umount.js +9 -13
  279. package/dist/krill/modules/unpackfs.d.ts +13 -0
  280. package/dist/krill/modules/unpackfs.js +7 -11
  281. package/dist/krill/prepare.d.ts +77 -0
  282. package/dist/krill/{krill-prepare.js → prepare.js} +136 -130
  283. package/dist/krill/sequence.d.ts +156 -0
  284. package/dist/krill/sequence.js +640 -0
  285. package/dist/lib/cli-autologin.d.ts +43 -0
  286. package/dist/lib/cli-autologin.js +88 -92
  287. package/dist/lib/get_address.d.ts +8 -0
  288. package/dist/lib/get_address.js +9 -11
  289. package/dist/lib/get_dns.d.ts +8 -0
  290. package/dist/lib/get_dns.js +9 -11
  291. package/dist/lib/get_domain.d.ts +8 -0
  292. package/dist/lib/get_domain.js +9 -11
  293. package/dist/lib/get_gateway.d.ts +8 -0
  294. package/dist/lib/get_gateway.js +9 -11
  295. package/dist/lib/get_hostname.d.ts +8 -0
  296. package/dist/lib/get_hostname.js +9 -11
  297. package/dist/lib/get_netmask.d.ts +8 -0
  298. package/dist/lib/get_netmask.js +9 -11
  299. package/dist/lib/get_password.d.ts +8 -0
  300. package/dist/lib/get_password.js +10 -13
  301. package/dist/lib/get_userfullname.d.ts +8 -0
  302. package/dist/lib/get_userfullname.js +9 -11
  303. package/dist/lib/get_username.d.ts +8 -0
  304. package/dist/lib/get_username.js +9 -12
  305. package/dist/lib/kill_me_softly.d.ts +11 -0
  306. package/dist/lib/kill_me_softly.js +19 -24
  307. package/dist/lib/select_address_type.d.ts +8 -0
  308. package/dist/lib/select_address_type.js +9 -12
  309. package/dist/lib/select_filesystem_type.d.ts +8 -0
  310. package/dist/lib/select_filesystem_type.js +19 -17
  311. package/dist/lib/select_installation_device.d.ts +8 -0
  312. package/dist/lib/select_installation_device.js +11 -15
  313. package/dist/lib/select_installation_mode.d.ts +8 -0
  314. package/dist/lib/select_installation_mode.js +9 -11
  315. package/dist/lib/select_interface.d.ts +8 -0
  316. package/dist/lib/select_interface.js +9 -12
  317. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  318. package/dist/lib/select_keyboard_layout.js +11 -15
  319. package/dist/lib/select_keyboard_model.d.ts +11 -0
  320. package/dist/lib/select_keyboard_model.js +11 -15
  321. package/dist/lib/select_keyboard_option.d.ts +11 -0
  322. package/dist/lib/select_keyboard_option.js +11 -15
  323. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  324. package/dist/lib/select_keyboard_variant.js +11 -15
  325. package/dist/lib/select_languages.d.ts +8 -0
  326. package/dist/lib/select_languages.js +11 -15
  327. package/dist/lib/select_regions.d.ts +8 -0
  328. package/dist/lib/select_regions.js +9 -11
  329. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  330. package/dist/lib/select_user_swap_choice.js +13 -17
  331. package/dist/lib/select_zones.d.ts +8 -0
  332. package/dist/lib/select_zones.js +9 -11
  333. package/dist/lib/utils.d.ts +34 -0
  334. package/dist/lib/utils.js +24 -14
  335. package/manpages/doc/man/eggs.1.gz +0 -0
  336. package/manpages/doc/man/eggs.html +130 -76
  337. package/package.json +55 -74
  338. package/scripts/_eggs +9 -7
  339. package/scripts/eggs.bash +4 -4
  340. package/LICENSE +0 -339
  341. package/bin/dev +0 -17
  342. package/bin/run +0 -5
  343. package/conf/exclude.list.custom +0 -3
  344. package/dist/components/elements/information.js +0 -194
  345. package/dist/components/elements/steps.js +0 -152
  346. package/dist/components/elements/title.js +0 -36
  347. package/dist/interfaces/i-filters.js +0 -3
  348. package/dist/krill/krill-sequence.js +0 -645
  349. package/dist/lib/dependencies.js +0 -120
  350. package/manpages/doc/man/README.md +0 -0
  351. /package/conf/{exclude.list.usr → exclude.list.d/usr.list} +0 -0
@@ -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>;
@@ -1,26 +1,24 @@
1
1
  /**
2
- * penguins-eggs
3
- * lib: get_userfullname.ts
2
+ * ./src/lib/get_userfullname.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 getUserfullname(initial) {
12
- return new Promise(function (resolve) {
9
+ import inquirer from 'inquirer';
10
+ export default async function getUserfullname(initial) {
11
+ return new Promise((resolve) => {
13
12
  const questions = [
14
13
  {
15
- type: 'input',
16
- name: 'fullname',
17
- message: 'What name do you want to use? ',
18
14
  default: initial,
15
+ message: 'What name do you want to use? ',
16
+ name: 'fullname',
17
+ type: 'input',
19
18
  },
20
19
  ];
21
- inquirer.prompt(questions).then(function (options) {
20
+ inquirer.prompt(questions).then((options) => {
22
21
  resolve(options.fullname);
23
22
  });
24
23
  });
25
24
  }
26
- exports.default = getUserfullname;