@trendify/cli 0.1.14 → 0.1.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.
package/dist/cli.entry.js
CHANGED
|
@@ -77,12 +77,6 @@ function mountApp(feedback = null) {
|
|
|
77
77
|
].join('\n'));
|
|
78
78
|
const result = await runCliSelfUpdate(update.packageName, update.latestVersion);
|
|
79
79
|
if (result.ok) {
|
|
80
|
-
process.stdout.write([
|
|
81
|
-
'',
|
|
82
|
-
`CLI atualizada com sucesso para v${update.latestVersion}.`,
|
|
83
|
-
'Feche esta execucao e rode o comando novamente para iniciar a nova versao com o terminal limpo.',
|
|
84
|
-
'',
|
|
85
|
-
].join('\n'));
|
|
86
80
|
process.exit(0);
|
|
87
81
|
}
|
|
88
82
|
process.stdout.write(`\nFalha ao atualizar automaticamente: ${result.error}\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-update.service.d.ts","sourceRoot":"","sources":["../../../src/shared/services/cli-update.service.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAC3B;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;CACnB,GACD;IACE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;CACpB,CAAC;AAEN,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AA4CF,wBAAgB,uBAAuB,IAAI,wBAAwB,CAElE;
|
|
1
|
+
{"version":3,"file":"cli-update.service.d.ts","sourceRoot":"","sources":["../../../src/shared/services/cli-update.service.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAC3B;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;CACnB,GACD;IACE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;CACpB,CAAC;AAEN,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AA4CF,wBAAgB,uBAAuB,IAAI,wBAAwB,CAElE;AAgOD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CA6BvE;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwB/G"}
|
|
@@ -142,6 +142,84 @@ async function runCommandWithInheritedStdio(command, args) {
|
|
|
142
142
|
});
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
|
+
async function restartCli() {
|
|
146
|
+
const entrypoint = process.argv[1];
|
|
147
|
+
if (!entrypoint) {
|
|
148
|
+
throw new Error('Nao foi possivel identificar o entrypoint atual da CLI para reiniciar o processo.');
|
|
149
|
+
}
|
|
150
|
+
const helperScript = `
|
|
151
|
+
const { spawn } = require('node:child_process');
|
|
152
|
+
|
|
153
|
+
const parentPid = Number(process.argv[1]);
|
|
154
|
+
const nodePath = process.argv[2];
|
|
155
|
+
const execArgv = JSON.parse(process.argv[3]);
|
|
156
|
+
const cliArgv = JSON.parse(process.argv[4]);
|
|
157
|
+
|
|
158
|
+
const canSignalParent = Number.isInteger(parentPid) && parentPid > 0;
|
|
159
|
+
|
|
160
|
+
const isParentAlive = () => {
|
|
161
|
+
if (!canSignalParent) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
try {
|
|
166
|
+
process.kill(parentPid, 0);
|
|
167
|
+
return true;
|
|
168
|
+
} catch (error) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
const launchCli = () => {
|
|
174
|
+
const child = spawn(nodePath, [...execArgv, ...cliArgv], {
|
|
175
|
+
env: process.env,
|
|
176
|
+
stdio: 'inherit',
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
child.on('error', (error) => {
|
|
180
|
+
process.stderr.write(\`Falha ao reiniciar a CLI atualizada: \${error.message}\\n\`);
|
|
181
|
+
process.exit(1);
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
child.on('spawn', () => {
|
|
185
|
+
process.exit(0);
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
const waitForParentToExit = () => {
|
|
190
|
+
if (!isParentAlive()) {
|
|
191
|
+
setTimeout(launchCli, 150);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
setTimeout(waitForParentToExit, 100);
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
waitForParentToExit();
|
|
199
|
+
`.trim();
|
|
200
|
+
const helperArgs = [
|
|
201
|
+
'-e',
|
|
202
|
+
helperScript,
|
|
203
|
+
String(process.pid),
|
|
204
|
+
process.execPath,
|
|
205
|
+
JSON.stringify(process.execArgv),
|
|
206
|
+
JSON.stringify([entrypoint, ...process.argv.slice(2)]),
|
|
207
|
+
];
|
|
208
|
+
await new Promise((resolve, reject) => {
|
|
209
|
+
const child = spawn(process.execPath, helperArgs, {
|
|
210
|
+
detached: true,
|
|
211
|
+
env: process.env,
|
|
212
|
+
stdio: 'inherit',
|
|
213
|
+
});
|
|
214
|
+
child.on('error', (error) => {
|
|
215
|
+
reject(error);
|
|
216
|
+
});
|
|
217
|
+
child.on('spawn', () => {
|
|
218
|
+
child.unref();
|
|
219
|
+
resolve();
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
}
|
|
145
223
|
export async function checkForCliUpdate() {
|
|
146
224
|
const { packageName, packageVersion } = readInstalledPackageMetadata();
|
|
147
225
|
try {
|
|
@@ -183,6 +261,7 @@ export async function runCliSelfUpdate(packageName, latestVersion) {
|
|
|
183
261
|
ok: false,
|
|
184
262
|
};
|
|
185
263
|
}
|
|
264
|
+
await restartCli();
|
|
186
265
|
return { ok: true };
|
|
187
266
|
}
|
|
188
267
|
catch (error) {
|