nestforge-generator 0.6.1 → 0.6.2
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/README.md +1 -1
- package/README.pt-BR.md +1 -1
- package/dist/update-notifier.js +37 -13
- package/dist/update-notifier.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,7 +48,7 @@ Invalid values, contradictory toggles, and unsupported combinations terminate wi
|
|
|
48
48
|
|
|
49
49
|
When the CLI starts, it checks the npm registry for a newer stable version. If an update is available, you can:
|
|
50
50
|
|
|
51
|
-
-
|
|
51
|
+
- install the detected version in the current project and restart the CLI from that local installation;
|
|
52
52
|
- continue with the currently installed version;
|
|
53
53
|
- hide the reminder until the next local day.
|
|
54
54
|
|
package/README.pt-BR.md
CHANGED
|
@@ -48,7 +48,7 @@ Valores inválidos, toggles contraditórios e combinações não suportadas ence
|
|
|
48
48
|
|
|
49
49
|
Quando a CLI inicia, ela consulta o registro do npm em busca de uma versão estável mais recente. Se houver uma atualização, você pode:
|
|
50
50
|
|
|
51
|
-
*
|
|
51
|
+
* instalar a versão detectada no projeto atual e reiniciar a CLI usando a instalação local;
|
|
52
52
|
* continuar com a versão instalada atualmente;
|
|
53
53
|
* ocultar o lembrete até o próximo dia no horário local.
|
|
54
54
|
|
package/dist/update-notifier.js
CHANGED
|
@@ -3,7 +3,8 @@ import { isCancel, log, note, select } from '@clack/prompts';
|
|
|
3
3
|
import pc from 'picocolors';
|
|
4
4
|
import { readPackageInfo } from './package-info.js';
|
|
5
5
|
import { checkForUpdate, dismissUpdatesForToday, } from './update-check.js';
|
|
6
|
-
export function
|
|
6
|
+
export function getUpdateInstallProcess(latestVersion, platform = process.platform) {
|
|
7
|
+
const packageSpec = `nestforge-generator@${latestVersion}`;
|
|
7
8
|
if (platform === 'win32') {
|
|
8
9
|
return {
|
|
9
10
|
command: process.env.ComSpec ?? 'cmd.exe',
|
|
@@ -11,25 +12,38 @@ export function getUpdateProcess(platform = process.platform) {
|
|
|
11
12
|
'/d',
|
|
12
13
|
'/s',
|
|
13
14
|
'/c',
|
|
14
|
-
|
|
15
|
+
`npm install ${packageSpec}`,
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
command: 'npm',
|
|
21
|
+
args: ['install', packageSpec],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function getUpdateRestartProcess(platform = process.platform) {
|
|
25
|
+
if (platform === 'win32') {
|
|
26
|
+
return {
|
|
27
|
+
command: process.env.ComSpec ?? 'cmd.exe',
|
|
28
|
+
args: [
|
|
29
|
+
'/d',
|
|
30
|
+
'/s',
|
|
31
|
+
'/c',
|
|
32
|
+
'npx --no-install nestforge',
|
|
15
33
|
],
|
|
16
34
|
};
|
|
17
35
|
}
|
|
18
36
|
return {
|
|
19
37
|
command: 'npx',
|
|
20
|
-
args: ['--
|
|
38
|
+
args: ['--no-install', 'nestforge'],
|
|
21
39
|
};
|
|
22
40
|
}
|
|
23
|
-
|
|
41
|
+
function runChildProcess(childProcess, env = process.env) {
|
|
24
42
|
return new Promise((resolve) => {
|
|
25
|
-
const
|
|
26
|
-
const child = spawn(updateProcess.command, updateProcess.args, {
|
|
43
|
+
const child = spawn(childProcess.command, childProcess.args, {
|
|
27
44
|
stdio: 'inherit',
|
|
28
45
|
shell: false,
|
|
29
|
-
env
|
|
30
|
-
...process.env,
|
|
31
|
-
NESTFORGE_RESTART_ARGS: JSON.stringify(process.argv.slice(2)),
|
|
32
|
-
},
|
|
46
|
+
env,
|
|
33
47
|
});
|
|
34
48
|
let settled = false;
|
|
35
49
|
const finish = (success) => {
|
|
@@ -43,6 +57,16 @@ export async function runLatestVersion() {
|
|
|
43
57
|
child.once('exit', (code) => finish(code === 0));
|
|
44
58
|
});
|
|
45
59
|
}
|
|
60
|
+
export async function runLatestVersion(update) {
|
|
61
|
+
const installed = await runChildProcess(getUpdateInstallProcess(update.latestVersion));
|
|
62
|
+
if (!installed) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return runChildProcess(getUpdateRestartProcess(), {
|
|
66
|
+
...process.env,
|
|
67
|
+
NESTFORGE_RESTART_ARGS: JSON.stringify(process.argv.slice(2)),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
46
70
|
async function promptForUpdate(update) {
|
|
47
71
|
note(`${pc.dim(update.currentVersion)} ${pc.dim('→')} ${pc.green(update.latestVersion)}`, 'NestForge update available');
|
|
48
72
|
const choice = await select({
|
|
@@ -80,12 +104,12 @@ export async function handleUpdateNotification(options = {}) {
|
|
|
80
104
|
if (choice === 'continue') {
|
|
81
105
|
return 'continue';
|
|
82
106
|
}
|
|
83
|
-
log.info(
|
|
84
|
-
const updated = await (options.runLatest ?? runLatestVersion)();
|
|
107
|
+
log.info(`Installing NestForge ${update.latestVersion} in the current project...`);
|
|
108
|
+
const updated = await (options.runLatest ?? runLatestVersion)(update);
|
|
85
109
|
if (updated) {
|
|
86
110
|
return 'restarted';
|
|
87
111
|
}
|
|
88
|
-
log.warn('The update could not be
|
|
112
|
+
log.warn('The update could not be installed or restarted. Continuing with the current version.');
|
|
89
113
|
return 'continue';
|
|
90
114
|
}
|
|
91
115
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-notifier.js","sourceRoot":"","sources":["../src/update-notifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACH,cAAc,EACd,sBAAsB,GAEzB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"update-notifier.js","sourceRoot":"","sources":["../src/update-notifier.ts"],"names":[],"mappings":"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"}
|