penguins-eggs 9.0.9 → 9.0.16

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.
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /**
5
+ * penguins-eggs-v9
6
+ * author: Piero Proietti
7
+ * email: piero.proietti@gmail.com
8
+ * license: MIT
9
+ */
10
+ const core_1 = require("@oclif/core");
11
+ const fs = require("fs");
12
+ const path = require("path");
13
+ const utils_1 = (0, tslib_1.__importDefault)(require("../classes/utils"));
14
+ const utils_2 = require("../lib/utils");
15
+ class Syncfrom extends core_1.Command {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.luksName = 'luks-eggs-backup';
19
+ this.luksFile = `/run/live/medium/live/${this.luksName}`;
20
+ this.luksDevice = `/dev/mapper/${this.luksName}`;
21
+ this.luksMountpoint = '/tmp/eggs-backup';
22
+ this.rootDir = '';
23
+ }
24
+ async run() {
25
+ const { flags } = await this.parse(Syncfrom);
26
+ let verbose = false;
27
+ if (flags.verbose) {
28
+ verbose = true;
29
+ }
30
+ let fileVolume = '';
31
+ if (flags.file) {
32
+ fileVolume = flags.file;
33
+ }
34
+ if (utils_1.default.isLive()) {
35
+ if (flags.rootdir) {
36
+ this.rootDir = flags.rootdir;
37
+ }
38
+ else {
39
+ utils_1.default.warning(`Argument --rootdir is mandatory, when running from live! Process will terminate`);
40
+ process.exit();
41
+ }
42
+ }
43
+ else {
44
+ this.rootDir = '/';
45
+ }
46
+ const echo = utils_1.default.setEcho(verbose);
47
+ if (utils_1.default.isRoot(this.id)) {
48
+ if (fileVolume === '') {
49
+ fileVolume = '/run/live/medium/live/luks-eggs-backup';
50
+ }
51
+ if (!utils_1.default.isLive()) {
52
+ /**
53
+ * WORKING FROM INSTALLED
54
+ */
55
+ if (fs.existsSync(fileVolume)) {
56
+ this.luksName = path.basename(fileVolume);
57
+ this.luksFile = fileVolume;
58
+ this.luksDevice = `/dev/mapper/${this.luksName}`;
59
+ this.luksMountpoint = '/tmp/eggs-backup';
60
+ await this.restorePrivateData(verbose);
61
+ if (await utils_1.default.customConfirm(`Your system was updated! Press a key to reboot`)) {
62
+ await (0, utils_2.exec)('reboot');
63
+ }
64
+ }
65
+ else {
66
+ utils_1.default.warning(`Can't find ${this.luksFile}`);
67
+ }
68
+ }
69
+ else {
70
+ /**
71
+ * WORKING FROM LIVE
72
+ */
73
+ this.luksName = path.basename(fileVolume);
74
+ this.luksFile = fileVolume;
75
+ this.luksDevice = `/dev/mapper/${this.luksName}`;
76
+ this.luksMountpoint = '/tmp/eggs-backup';
77
+ await this.restorePrivateData(verbose);
78
+ }
79
+ }
80
+ }
81
+ /**
82
+ *
83
+ * @param verbose
84
+ */
85
+ async restorePrivateData(verbose = false) {
86
+ const echo = utils_1.default.setEcho(verbose);
87
+ if (!fs.existsSync(this.luksMountpoint)) {
88
+ await (0, utils_2.exec)(`mkdir ${this.luksMountpoint}`);
89
+ }
90
+ await this.luksOpen();
91
+ /**
92
+ * ONLY FROM LIVE
93
+ * rm home, subst /etc/passwd, /etc/shadow, /etc/groups
94
+ */
95
+ if (utils_1.default.isLive()) {
96
+ if (this.rootDir !== '/') {
97
+ utils_1.default.warning('Removing live user on destination system');
98
+ await (0, utils_2.exec)(`rm -rf ${this.rootDir}/home/*`, echo);
99
+ utils_1.default.warning('Restoring accounts');
100
+ await (0, utils_2.exec)(`cp ${this.luksMountpoint}/etc/passwd ${this.rootDir}/etc/`, echo);
101
+ await (0, utils_2.exec)(`cp ${this.luksMountpoint}/etc/shadow ${this.rootDir}/etc/`, echo);
102
+ await (0, utils_2.exec)(`cp ${this.luksMountpoint}/etc/group ${this.rootDir}/etc/`, echo);
103
+ }
104
+ }
105
+ utils_1.default.warning('Restoring backup data');
106
+ await (0, utils_2.exec)(`rsync -a ${this.luksMountpoint}/ROOT/ ${this.rootDir}/`, echo);
107
+ await this.luksClose();
108
+ }
109
+ /**
110
+ *
111
+ */
112
+ async luksOpen(verbose = false) {
113
+ const echo = utils_1.default.setEcho(verbose);
114
+ const echoYes = utils_1.default.setEcho(true); // echoYes serve solo per cryptsetup luksOpen
115
+ if (!fs.existsSync(this.luksDevice)) {
116
+ utils_1.default.warning(`LUKS open volume: ${this.luksName}`);
117
+ await (0, utils_2.exec)(`cryptsetup luksOpen --type luks2 ${this.luksFile} ${this.luksName}`, echoYes);
118
+ }
119
+ else {
120
+ utils_1.default.warning(`LUKS volume: ${this.luksName} already open`);
121
+ }
122
+ if (!fs.existsSync(this.luksMountpoint)) {
123
+ await (0, utils_2.exec)(`mkdir -p ${this.luksMountpoint}`, echo);
124
+ }
125
+ if (!utils_1.default.isMountpoint(this.luksMountpoint)) {
126
+ utils_1.default.warning(`mount volume: ${this.luksDevice} on ${this.luksMountpoint}`);
127
+ await (0, utils_2.exec)(`mount ${this.luksDevice} ${this.luksMountpoint}`, echo);
128
+ }
129
+ else {
130
+ utils_1.default.warning(`mount volume: ${this.luksDevice} already mounted on ${this.luksMountpoint}`);
131
+ }
132
+ }
133
+ /**
134
+ *
135
+ */
136
+ async luksClose(verbose = false) {
137
+ const echo = utils_1.default.setEcho(verbose);
138
+ if (utils_1.default.isMountpoint(this.luksMountpoint)) {
139
+ await (0, utils_2.exec)(`umount ${this.luksMountpoint}`, echo);
140
+ }
141
+ if (fs.existsSync(this.luksDevice)) {
142
+ utils_1.default.warning(`LUKS close volume: ${this.luksName}`);
143
+ await (0, utils_2.exec)(`cryptsetup luksClose ${this.luksName}`, echo);
144
+ }
145
+ }
146
+ }
147
+ exports.default = Syncfrom;
148
+ Syncfrom.description = 'Restore users, server and datas from luks-eggs-backup';
149
+ Syncfrom.flags = {
150
+ file: core_1.Flags.string({ char: 'f', description: "file with LUKS volume encrypted" }),
151
+ rootdir: core_1.Flags.string({ char: 'r', description: 'rootdir of the installed system, when used from live' }),
152
+ help: core_1.Flags.help({ char: 'h' }),
153
+ verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
154
+ };
155
+ Syncfrom.aliases = ['restore'];
156
+ Syncfrom.examples = ['$ sudo eggs restore'];
@@ -0,0 +1,48 @@
1
+ /**
2
+ * penguins-eggs-v9
3
+ * author: Piero Proietti
4
+ * email: piero.proietti@gmail.com
5
+ * license: MIT
6
+ */
7
+ import { Command } from '@oclif/core';
8
+ import Users from '../classes/users';
9
+ export default class Syncto extends Command {
10
+ luksName: string;
11
+ luksFile: string;
12
+ luksDevice: string;
13
+ luksMountpoint: string;
14
+ static description: string;
15
+ static flags: {
16
+ krill: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
17
+ file: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
18
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
19
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
20
+ };
21
+ static aliases: string[];
22
+ static examples: string[];
23
+ /**
24
+ *
25
+ */
26
+ run(): Promise<void>;
27
+ /**
28
+ *
29
+ * @param verbose
30
+ */
31
+ backup(verbose?: boolean): Promise<void>;
32
+ /**
33
+ * usersFill
34
+ */
35
+ usersFill(): Promise<Users[]>;
36
+ /**
37
+ *
38
+ */
39
+ luksCreate(verbose?: boolean): Promise<void>;
40
+ /**
41
+ *
42
+ */
43
+ luksOpen(verbose?: boolean): Promise<void>;
44
+ /**
45
+ *
46
+ */
47
+ luksClose(verbose?: boolean): Promise<void>;
48
+ }
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /**
5
+ * penguins-eggs-v9
6
+ * author: Piero Proietti
7
+ * email: piero.proietti@gmail.com
8
+ * license: MIT
9
+ */
10
+ const core_1 = require("@oclif/core");
11
+ const fs = require("fs");
12
+ const path = require("path");
13
+ const utils_1 = (0, tslib_1.__importDefault)(require("../classes/utils"));
14
+ const utils_2 = require("../lib/utils");
15
+ // backup
16
+ const promises_1 = require("fs/promises");
17
+ const fs_1 = require("fs");
18
+ const users_1 = (0, tslib_1.__importDefault)(require("../classes/users"));
19
+ class Syncto extends core_1.Command {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.luksName = 'luks-eggs-backup';
23
+ this.luksFile = `/run/live/medium/live/${this.luksName}`;
24
+ this.luksDevice = `/dev/mapper/${this.luksName}`;
25
+ this.luksMountpoint = '/tmp/eggs-backup';
26
+ }
27
+ /**
28
+ *
29
+ */
30
+ async run() {
31
+ const { flags } = await this.parse(Syncto);
32
+ let verbose = false;
33
+ if (flags.verbose) {
34
+ verbose = true;
35
+ }
36
+ let fileVolume = '';
37
+ if (flags.file) {
38
+ fileVolume = flags.file;
39
+ }
40
+ const echo = utils_1.default.setEcho(verbose);
41
+ if (utils_1.default.isRoot(this.id)) {
42
+ /**
43
+ * restore con file
44
+ */
45
+ if (fileVolume === '') {
46
+ fileVolume = '/tmp/luks-eggs-backup';
47
+ }
48
+ this.luksName = path.basename(fileVolume);
49
+ this.luksFile = fileVolume;
50
+ this.luksDevice = `/dev/mapper/${this.luksName}`;
51
+ this.luksMountpoint = '/tmp/eggs-backup';
52
+ if (!fs.existsSync(fileVolume)) {
53
+ await this.luksCreate(verbose);
54
+ }
55
+ else {
56
+ utils_1.default.warning(`LUKS volume: ${this.luksFile} exist, don't need create`);
57
+ }
58
+ if (fs.existsSync(fileVolume)) {
59
+ await this.luksOpen(verbose);
60
+ await this.backup(verbose);
61
+ await this.luksClose(verbose);
62
+ }
63
+ }
64
+ }
65
+ /**
66
+ *
67
+ * @param verbose
68
+ */
69
+ async backup(verbose = false) {
70
+ const echo = utils_1.default.setEcho(verbose);
71
+ if (verbose) {
72
+ utils_1.default.warning('backup');
73
+ }
74
+ const usersArray = await this.usersFill();
75
+ const cmds = [];
76
+ for (let i = 0; i < usersArray.length; i++) {
77
+ if (usersArray[i].saveIt) {
78
+ if (fs.existsSync(usersArray[i].home)) {
79
+ await (0, utils_2.exec)(`mkdir -p ${this.luksMountpoint}/ROOT${usersArray[i].home}`, echo);
80
+ const source = usersArray[i].home;
81
+ let dest = this.luksMountpoint + '/ROOT' + usersArray[i].home;
82
+ dest = dest.substring(0, dest.lastIndexOf('/'));
83
+ await (0, utils_2.exec)(`rsync --archive ${source} ${dest}`, echo);
84
+ }
85
+ }
86
+ }
87
+ await (0, utils_2.exec)(`mkdir -p ${this.luksMountpoint}/etc`, echo);
88
+ await (0, utils_2.exec)(`cp /etc/passwd ${this.luksMountpoint}/etc`, echo);
89
+ await (0, utils_2.exec)(`cp /etc/shadow ${this.luksMountpoint}/etc`, echo);
90
+ await (0, utils_2.exec)(`cp /etc/group ${this.luksMountpoint}/etc`, echo);
91
+ }
92
+ /**
93
+ * usersFill
94
+ */
95
+ async usersFill() {
96
+ const usersArray = [];
97
+ await (0, promises_1.access)('/etc/passwd', fs_1.constants.R_OK | fs_1.constants.W_OK);
98
+ const passwd = fs.readFileSync('/etc/passwd', 'utf-8').split('\n');
99
+ for (let i = 0; i < passwd.length; i++) {
100
+ var line = passwd[i].split(':');
101
+ const users = new users_1.default(line[0], line[1], line[2], line[3], line[4], line[5], line[6]);
102
+ await users.getValues();
103
+ if (users.password !== undefined) {
104
+ usersArray.push(users);
105
+ }
106
+ }
107
+ return usersArray;
108
+ }
109
+ /**
110
+ *
111
+ */
112
+ async luksCreate(verbose = false) {
113
+ const echo = utils_1.default.setEcho(verbose);
114
+ const echoYes = utils_1.default.setEcho(true);
115
+ utils_1.default.warning(`Creating LUKS Volume on ${this.luksFile}`);
116
+ let totalSize = 0;
117
+ console.log(`I will extimate volume size from your private data:`);
118
+ const users = await this.usersFill();
119
+ for (let i = 0; i < users.length; i++) {
120
+ if (users[i].login !== 'root') {
121
+ if (users[i].saveIt) {
122
+ console.log(`user: ${users[i].login} \thome: ${users[i].home.padEnd(16)} \tsize: ${utils_1.default.formatBytes(users[i].size)} \tBytes: ${users[i].size} `);
123
+ totalSize += users[i].size;
124
+ }
125
+ }
126
+ }
127
+ console.log(`Total\t\t\t\t\tSize: ${utils_1.default.formatBytes(totalSize)} \tBytes: ${totalSize}`);
128
+ /**
129
+ * after we get size, we can start building luks-volume
130
+ */
131
+ const binaryHeaderSize = 4194304;
132
+ let volumeSize = totalSize * 1.2 + binaryHeaderSize;
133
+ // Deciding blockSize and blocks
134
+ let blockSize = 1024;
135
+ let blocks = Math.ceil(volumeSize / blockSize);
136
+ // We need a minimum size of 32 MB
137
+ let minimunSize = 134217728; // 128 * 1024 *1024
138
+ if (totalSize < minimunSize) {
139
+ }
140
+ if (blocks * blockSize < minimunSize) {
141
+ blocks = Math.ceil(minimunSize / blockSize);
142
+ }
143
+ utils_1.default.warning(`Creating an encrypted file ${this.luksFile} blocks=${blocks}, block size: ${blockSize}, size: ${utils_1.default.formatBytes(blocks * blockSize)}`);
144
+ await (0, utils_2.exec)(`dd if=/dev/zero of=${this.luksFile} bs=${blockSize} count=${blocks}`, echo);
145
+ // find first unused device
146
+ let findFirstUnusedDevice = await (0, utils_2.exec)(`losetup -f`, { echo: verbose, ignore: false, capture: true });
147
+ let firstUnusedDevice = '';
148
+ if (findFirstUnusedDevice.code !== 0) {
149
+ utils_1.default.warning(`Error: ${findFirstUnusedDevice.code} ${findFirstUnusedDevice.data}`);
150
+ process.exit(1);
151
+ }
152
+ else {
153
+ firstUnusedDevice = findFirstUnusedDevice.data.trim();
154
+ }
155
+ await (0, utils_2.exec)(`losetup ${firstUnusedDevice} ${this.luksFile}`, echo);
156
+ utils_1.default.warning('Enter a large string of random text below to setup the pre-encryption');
157
+ await (0, utils_2.exec)(`cryptsetup -y -v --type luks2 luksFormat ${this.luksFile}`, echoYes);
158
+ utils_1.default.warning(`Enter the desired passphrase for the encrypted ${this.luksName} below`);
159
+ let crytoSetup = await (0, utils_2.exec)(`cryptsetup luksOpen --type luks2 ${this.luksFile} ${this.luksName}`, echoYes);
160
+ if (crytoSetup.code !== 0) {
161
+ utils_1.default.warning(`Error: ${crytoSetup.code} ${crytoSetup.data}`);
162
+ process.exit(1);
163
+ }
164
+ utils_1.default.warning(`Formatting ${this.luksDevice} to ext2`);
165
+ let formatting = await (0, utils_2.exec)(`sudo mkfs.ext2 ${this.luksDevice}`, echo);
166
+ if (formatting.code !== 0) {
167
+ utils_1.default.warning(`Error: ${formatting.code} ${formatting.data}`);
168
+ process.exit(1);
169
+ }
170
+ // this.luksClose()
171
+ }
172
+ /**
173
+ *
174
+ */
175
+ async luksOpen(verbose = false) {
176
+ const echo = utils_1.default.setEcho(verbose);
177
+ const echoYes = utils_1.default.setEcho(true); // echoYes serve solo per cryptsetup luksOpen
178
+ if (!fs.existsSync(this.luksDevice)) {
179
+ utils_1.default.warning(`LUKS open volume: ${this.luksName}`);
180
+ await (0, utils_2.exec)(`cryptsetup luksOpen --type luks2 ${this.luksFile} ${this.luksName}`, echoYes);
181
+ }
182
+ else {
183
+ utils_1.default.warning(`LUKS volume: ${this.luksName} already open`);
184
+ }
185
+ if (!fs.existsSync(this.luksMountpoint)) {
186
+ await (0, utils_2.exec)(`mkdir -p ${this.luksMountpoint}`, echo);
187
+ }
188
+ if (!utils_1.default.isMountpoint(this.luksMountpoint)) {
189
+ utils_1.default.warning(`mount volume: ${this.luksDevice} on ${this.luksMountpoint}`);
190
+ await (0, utils_2.exec)(`mount ${this.luksDevice} ${this.luksMountpoint}`, echo);
191
+ }
192
+ else {
193
+ utils_1.default.warning(`mount volume: ${this.luksDevice} already mounted on ${this.luksMountpoint}`);
194
+ }
195
+ }
196
+ /**
197
+ *
198
+ */
199
+ async luksClose(verbose = false) {
200
+ const echo = utils_1.default.setEcho(verbose);
201
+ if (utils_1.default.isMountpoint(this.luksMountpoint)) {
202
+ await (0, utils_2.exec)(`umount ${this.luksMountpoint}`, echo);
203
+ }
204
+ if (fs.existsSync(this.luksDevice)) {
205
+ utils_1.default.warning(`LUKS close volume: ${this.luksName}`);
206
+ await (0, utils_2.exec)(`cryptsetup luksClose ${this.luksName}`, echo);
207
+ }
208
+ }
209
+ }
210
+ exports.default = Syncto;
211
+ Syncto.description = 'Backup users, server and datas to luks-eggs-backup';
212
+ Syncto.flags = {
213
+ krill: core_1.Flags.boolean({ char: 'k', description: 'krill' }),
214
+ file: core_1.Flags.string({ char: 'f', description: "file LUKS volume encrypted" }),
215
+ help: core_1.Flags.help({ char: 'h' }),
216
+ verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
217
+ };
218
+ Syncto.aliases = ['backup'];
219
+ Syncto.examples = ['$ sudo eggs restore'];
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Al momento
3
+ */
4
+ export default class IAnalyze {
5
+ login: string;
6
+ password: string;
7
+ uid: string;
8
+ gid: string;
9
+ gecos: string;
10
+ home: string;
11
+ shell: string;
12
+ size: number;
13
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Al momento
5
+ */
6
+ class IAnalyze {
7
+ constructor() {
8
+ this.login = '';
9
+ this.password = '';
10
+ this.uid = '';
11
+ this.gid = '';
12
+ this.gecos = '';
13
+ this.home = '';
14
+ this.shell = '';
15
+ this.size = 0;
16
+ }
17
+ }
18
+ exports.default = IAnalyze;
@@ -1 +1 @@
1
- {"version":"9.0.9","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["adjust"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"bro":{"id":"bro","description":"bro: waydroid helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs calamares \ncreate/renew calamares configuration's files\n","~$ sudo eggs calamares -i \ninstall calamares and create it's configuration's files\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and it's dependencies","allowNo":false},"final":{"name":"final","type":"boolean","char":"f","description":"final: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove calamares and it's dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["prerequisites"],"examples":["~$ sudo eggs config\nConfigure and install prerequisites deb packages to run it"],"flags":{"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"assume yes","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"info":{"id":"info","description":"re-thinking for a different approach to CLI","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"install":{"id":"install","description":"command-line system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["hatch","krill"],"examples":["$ eggs install\nInstall the system using GUI or CLI installer\n"],"flags":{"cli":{"name":"cli","type":"boolean","char":"c","description":"force use CLI installer","allowNo":false},"crypted":{"name":"crypted","type":"boolean","char":"k","description":"crypted CLI installation","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs kill\nkill the eggs/free the nest"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask for mommy - gui helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"the system produce an egg: iso image of your system","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["spawn","lay"],"examples":["$ sudo eggs produce \nproduce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).\nIf hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso\n","$ sudo eggs produce -v\nsame as previuos, but with --verbose output\n","$ sudo eggs produce -vf\nsame as previuos, compression zstd, lz4 or gzip (depend from system capability)\n","$ sudo eggs produce -vm\nsame as previuos, compression xz -Xbcj x86 (max compression, about 10%\nmore compressed)\n","$ sudo eggs produce -vf --basename leo --theme debian --addons adapt \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression fast,\nusing Debian theme and link to adapt\n","$ sudo eggs produce -v --basename leo --theme debian --addons rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz,\nusing Debian theme and link to dwagent\n","$ sudo eggs produce -v --basename leo --rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs\ntheme and link to dwagent\n","$ sudo eggs produce -vs --basename leo --rsupport \nproduce scripts to build an ISO as the previus example. Scripts can be found\nin /home/eggs/ovarium and you can customize all you need\n"],"flags":{"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode","allowNo":false},"fast":{"name":"fast","type":"boolean","char":"f","description":"fast compression","allowNo":false},"normal":{"name":"normal","type":"boolean","char":"n","description":"normal compression","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"release":{"name":"release","type":"boolean","description":"release: configure GUI installer to remove eggs and calamares after installation","allowNo":false}},"args":[]},"remove":{"id":"remove","description":"remove eggs and others stuff","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs remove \nremove eggs\n","$ sudo eggs remove --purge \nremove eggs, eggs configurations, configuration's files\n","$ sudo eggs remove --autoremove \nremove eggs, eggs configurations, packages dependencies\n"],"flags":{"purge":{"name":"purge","type":"boolean","char":"p","description":"remove eggs configurations files","allowNo":false},"autoremove":{"name":"autoremove","type":"boolean","char":"a","description":"remove eggs packages dependencies","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the penguin's eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs update\nupdate/upgrade the penguin's eggs tool"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"apt":{"name":"apt","type":"boolean","char":"a","description":"if eggs package is .deb, update from distro repositories","allowNo":false},"basket":{"name":"basket","type":"boolean","char":"b","description":"if eggs package is .deb, update from eggs basket","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"amd64":{"name":"amd64","type":"boolean","description":"export amd64 arch","allowNo":false},"i386":{"name":"i386","type":"boolean","description":"export i386 arch","allowNo":false},"armel":{"name":"armel","type":"boolean","description":"export armel arch","allowNo":false},"arm64":{"name":"arm64","type":"boolean","description":"export arm64 arch","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false}},"args":[]},"export:docs":{"id":"export:docs","description":"remove and export docType documentation of the sources in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"export backup ISOs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:locales":{"id":"tools:locales","description":"install/clean locales","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"reinstall":{"name":"reinstall","type":"boolean","char":"r","description":"reinstall locales","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["skel"],"examples":["$ eggs skel --user mauro\ndesktop configuration of user mauro will get used as default"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["stat"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs yolk -v"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"}}}
1
+ {"version":"9.0.16","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["adjust"],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze situation","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"bro":{"id":"bro","description":"bro: waydroid helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs calamares \ncreate/renew calamares configuration's files\n","~$ sudo eggs calamares -i \ninstall calamares and create it's configuration's files\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and it's dependencies","allowNo":false},"final":{"name":"final","type":"boolean","char":"f","description":"final: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove calamares and it's dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["prerequisites"],"examples":["~$ sudo eggs config\nConfigure and install prerequisites deb packages to run it"],"flags":{"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"assume yes","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"info":{"id":"info","description":"re-thinking for a different approach to CLI","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"install":{"id":"install","description":"command-line system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["hatch","krill"],"examples":["$ eggs install\nInstall the system using GUI or CLI installer\n"],"flags":{"cli":{"name":"cli","type":"boolean","char":"c","description":"force use CLI installer","allowNo":false},"crypted":{"name":"crypted","type":"boolean","char":"k","description":"crypted CLI installation","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs kill\nkill the eggs/free the nest"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask for mommy - gui helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"the system produce an egg: iso image of your system","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["spawn","lay"],"examples":["$ sudo eggs produce \nproduce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).\nIf hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso\n","$ sudo eggs produce -v\nsame as previuos, but with --verbose output\n","$ sudo eggs produce -vf\nsame as previuos, compression zstd, lz4 or gzip (depend from system capability)\n","$ sudo eggs produce -vm\nsame as previuos, compression xz -Xbcj x86 (max compression, about 10%\nmore compressed)\n","$ sudo eggs produce -vf --basename leo --theme debian --addons adapt \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression fast,\nusing Debian theme and link to adapt\n","$ sudo eggs produce -v --basename leo --theme debian --addons rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz,\nusing Debian theme and link to dwagent\n","$ sudo eggs produce -v --basename leo --rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs\ntheme and link to dwagent\n","$ sudo eggs produce -vs --basename leo --rsupport \nproduce scripts to build an ISO as the previus example. Scripts can be found\nin /home/eggs/ovarium and you can customize all you need\n"],"flags":{"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode","allowNo":false},"fast":{"name":"fast","type":"boolean","char":"f","description":"fast compression","allowNo":false},"normal":{"name":"normal","type":"boolean","char":"n","description":"normal compression","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"release":{"name":"release","type":"boolean","description":"release: configure GUI installer to remove eggs and calamares after installation","allowNo":false}},"args":[]},"remove":{"id":"remove","description":"remove eggs and others stuff","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs remove \nremove eggs\n","$ sudo eggs remove --purge \nremove eggs, eggs configurations, configuration's files\n","$ sudo eggs remove --autoremove \nremove eggs, eggs configurations, packages dependencies\n"],"flags":{"purge":{"name":"purge","type":"boolean","char":"p","description":"remove eggs configurations files","allowNo":false},"autoremove":{"name":"autoremove","type":"boolean","char":"a","description":"remove eggs packages dependencies","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"Restore users, server and datas from luks-eggs-backup","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["restore"],"examples":["$ sudo eggs restore"],"flags":{"file":{"name":"file","type":"option","char":"f","description":"file with LUKS volume encrypted","multiple":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"Backup users, server and datas to luks-eggs-backup","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["backup"],"examples":["$ sudo eggs restore"],"flags":{"krill":{"name":"krill","type":"boolean","char":"k","description":"krill","allowNo":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the penguin's eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs update\nupdate/upgrade the penguin's eggs tool"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"apt":{"name":"apt","type":"boolean","char":"a","description":"if eggs package is .deb, update from distro repositories","allowNo":false},"basket":{"name":"basket","type":"boolean","char":"b","description":"if eggs package is .deb, update from eggs basket","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"amd64":{"name":"amd64","type":"boolean","description":"export amd64 arch","allowNo":false},"i386":{"name":"i386","type":"boolean","description":"export i386 arch","allowNo":false},"armel":{"name":"armel","type":"boolean","description":"export armel arch","allowNo":false},"arm64":{"name":"arm64","type":"boolean","description":"export arm64 arch","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false}},"args":[]},"export:docs":{"id":"export:docs","description":"remove and export docType documentation of the sources in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"export backup ISOs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:locales":{"id":"tools:locales","description":"install/clean locales","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"reinstall":{"name":"reinstall","type":"boolean","char":"r","description":"reinstall locales","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["skel"],"examples":["$ eggs skel --user mauro\ndesktop configuration of user mauro will get used as default"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":["stat"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs yolk -v"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"}}}
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "penguins-eggs",
3
3
  "description": "Perri's Brewery edition: remaster your system and distribuite it",
4
- "version": "9.0.9",
4
+ "version": "9.0.16",
5
5
  "author": "Piero Proietti @pieroproietti",
6
6
  "bin": {
7
7
  "eggs": "bin/run"
8
8
  },
9
9
  "bugs": "https://github.com/pieroproietti/penguins-eggs/issues",
10
10
  "dependencies": {
11
- "@oclif/core": "1.1.2",
12
- "@oclif/plugin-autocomplete": "1.1.1",
11
+ "@oclif/core": "1.2.1",
12
+ "@oclif/plugin-autocomplete": "1.2.0",
13
13
  "@oclif/plugin-help": "^5.1.10",
14
- "@oclif/plugin-not-found": "^2.2.4",
14
+ "@oclif/plugin-not-found": "^2.3.1",
15
15
  "@oclif/plugin-version": "^1.0.4",
16
16
  "@oclif/plugin-warn-if-update-available": "^2.0.4",
17
- "axios": "^0.24.0",
17
+ "axios": "^0.25.0",
18
18
  "chalk": "^4.1.0",
19
19
  "ink": "^3.2.0",
20
20
  "ink-big-text": "^1.2.0",
@@ -34,25 +34,25 @@
34
34
  "@types/ink-gradient": "^2.0.1",
35
35
  "@types/inquirer": "^8.1.3",
36
36
  "@types/js-yaml": "^4.0.5",
37
- "@types/mocha": "^9.0.0",
37
+ "@types/mocha": "^9.1.0",
38
38
  "@types/mustache": "^4.1.2",
39
39
  "@types/node": "^16.11.13",
40
40
  "@types/react": "^17.0.38",
41
- "@types/shelljs": "^0.8.10",
41
+ "@types/shelljs": "^0.8.11",
42
42
  "chai": "^4.3.4",
43
43
  "eslint": "^7.3.2",
44
44
  "eslint-config-oclif": "^4.0.0",
45
45
  "eslint-config-oclif-typescript": "^1.0.2",
46
46
  "globby": "^11.0.1",
47
- "mocha": "^9.1.3",
47
+ "mocha": "^9.1.4",
48
48
  "nyc": "^15.1.0",
49
49
  "oclif": "github:pieroproietti/oclif",
50
50
  "perrisbrewery": "github:pieroproietti/perrisbrewery",
51
51
  "prettier": "^2.5.1",
52
52
  "shx": "^0.3.4",
53
53
  "ts-node": "^10.4.0",
54
- "typedoc": "^0.22.10",
55
- "typescript": "^4.5.4"
54
+ "typedoc": "^0.22.11",
55
+ "typescript": "^4.5.5"
56
56
  },
57
57
  "dirname": "eggs",
58
58
  "engines": {