@trendify/cli 0.1.8 → 0.1.9

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
@@ -25,6 +25,30 @@ if (args.includes('--version') || args.includes('-v')) {
25
25
  process.stdout.write(`${APP_VERSION}\n`);
26
26
  process.exit(0);
27
27
  }
28
+ function supportsInteractiveInkInput() {
29
+ if (!process.stdin.isTTY || typeof process.stdin.setRawMode !== 'function') {
30
+ return false;
31
+ }
32
+ const previousRawMode = process.stdin.isRaw === true;
33
+ try {
34
+ process.stdin.setRawMode(true);
35
+ process.stdin.setRawMode(previousRawMode);
36
+ return true;
37
+ }
38
+ catch {
39
+ return false;
40
+ }
41
+ }
42
+ function printNonInteractiveFallback() {
43
+ process.stdout.write(`Trendify CLI v${APP_VERSION}\n`);
44
+ process.stdout.write('A interface interativa nao conseguiu acessar o terminal em modo raw.\n');
45
+ process.stdout.write('Se voce acabou de atualizar a CLI, feche esta execucao e rode o comando novamente.\n');
46
+ process.stdout.write('Se o problema continuar, execute em um terminal interativo comum, sem pipe/redirecionamento.\n');
47
+ }
48
+ if (!supportsInteractiveInkInput()) {
49
+ printNonInteractiveFallback();
50
+ process.exit(1);
51
+ }
28
52
  console.clear();
29
53
  let appInstance;
30
54
  function mountApp(feedback = null) {
@@ -1,2 +1,2 @@
1
- export declare const APP_VERSION = "0.1.7";
1
+ export declare const APP_VERSION = "0.1.8";
2
2
  //# sourceMappingURL=app-version.constant.d.ts.map
@@ -1 +1 @@
1
- export const APP_VERSION = '0.1.7';
1
+ export const APP_VERSION = '0.1.8';
@@ -1 +1 @@
1
- {"version":3,"file":"cli-update.service.d.ts","sourceRoot":"","sources":["../../../src/shared/services/cli-update.service.ts"],"names":[],"mappings":"AAMA,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;AA4MN,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA6B7F;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwB/G"}
1
+ {"version":3,"file":"cli-update.service.d.ts","sourceRoot":"","sources":["../../../src/shared/services/cli-update.service.ts"],"names":[],"mappings":"AAMA,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;AA0QN,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA6B7F;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwB/G"}
@@ -140,8 +140,67 @@ async function restartCli() {
140
140
  if (!entrypoint) {
141
141
  throw new Error('Nao foi possivel identificar o entrypoint atual da CLI para reiniciar o processo.');
142
142
  }
143
+ const helperScript = `
144
+ const { spawn } = require('node:child_process');
145
+
146
+ const parentPid = Number(process.argv[1]);
147
+ const nodePath = process.argv[2];
148
+ const execArgv = JSON.parse(process.argv[3]);
149
+ const cliArgv = JSON.parse(process.argv[4]);
150
+
151
+ const canSignalParent = Number.isInteger(parentPid) && parentPid > 0;
152
+
153
+ const isParentAlive = () => {
154
+ if (!canSignalParent) {
155
+ return false;
156
+ }
157
+
158
+ try {
159
+ process.kill(parentPid, 0);
160
+ return true;
161
+ } catch (error) {
162
+ return false;
163
+ }
164
+ };
165
+
166
+ const launchCli = () => {
167
+ const child = spawn(nodePath, [...execArgv, ...cliArgv], {
168
+ env: process.env,
169
+ stdio: 'inherit',
170
+ });
171
+
172
+ child.on('error', (error) => {
173
+ process.stderr.write(\`Falha ao reiniciar a CLI atualizada: \${error.message}\\n\`);
174
+ process.exit(1);
175
+ });
176
+
177
+ child.on('spawn', () => {
178
+ process.exit(0);
179
+ });
180
+ };
181
+
182
+ const waitForParentToExit = () => {
183
+ if (!isParentAlive()) {
184
+ setTimeout(launchCli, 150);
185
+ return;
186
+ }
187
+
188
+ setTimeout(waitForParentToExit, 100);
189
+ };
190
+
191
+ waitForParentToExit();
192
+ `.trim();
193
+ const helperArgs = [
194
+ '-e',
195
+ helperScript,
196
+ String(process.pid),
197
+ process.execPath,
198
+ JSON.stringify(process.execArgv),
199
+ JSON.stringify([entrypoint, ...process.argv.slice(2)]),
200
+ ];
143
201
  await new Promise((resolve, reject) => {
144
- const child = spawn(process.execPath, [...process.execArgv, entrypoint, ...process.argv.slice(2)], {
202
+ const child = spawn(process.execPath, helperArgs, {
203
+ detached: true,
145
204
  env: process.env,
146
205
  stdio: 'inherit',
147
206
  });
@@ -149,6 +208,7 @@ async function restartCli() {
149
208
  reject(error);
150
209
  });
151
210
  child.on('spawn', () => {
211
+ child.unref();
152
212
  resolve();
153
213
  });
154
214
  });
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const APP_VERSION = "0.1.8";
1
+ export declare const APP_VERSION = "0.1.9";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const APP_VERSION = '0.1.8';
1
+ export const APP_VERSION = '0.1.9';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trendify/cli",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "CLI do Trendify para descoberta de temas e fluxos de conta.",
5
5
  "type": "module",
6
6
  "main": "dist/cli.entry.js",