@flun/windows 4.0.0 → 4.0.1
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/CHANGELOG.md +5 -6
- package/bin/cli.js +4 -4
- package/copy-files.js +5 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# 变更日志
|
|
2
2
|
|
|
3
|
+
## [4.0.1] - 2026-11-06 10:24
|
|
4
|
+
### 优化
|
|
5
|
+
- 优化了部分细节;
|
|
6
|
+
|
|
3
7
|
## [4.0.0] - 2026-11-03 22:34
|
|
4
8
|
### 破坏性变更
|
|
5
9
|
- `Service#install()` 默认在安装成功后启动服务;旧行为只安装不启动,如需保持旧行为传 `autoStart = false`;
|
|
@@ -28,9 +32,4 @@
|
|
|
28
32
|
## [3.0.11] - 2026-10-25 15:57
|
|
29
33
|
### 优化
|
|
30
34
|
- 项目标点已改为以英文标点为主;
|
|
31
|
-
- 行宽改为以 123 为主,部分超宽表格改为了列表;
|
|
32
|
-
|
|
33
|
-
## [3.0.10] - 2026-09-29 19:29
|
|
34
|
-
### 更改
|
|
35
|
-
- 加固了拷贝文件的一些逻辑;
|
|
36
|
-
- 升级了依赖;
|
|
35
|
+
- 行宽改为以 123 为主,部分超宽表格改为了列表;
|
package/bin/cli.js
CHANGED
|
@@ -122,10 +122,10 @@ const [, , sub, ...args] = process.argv,
|
|
|
122
122
|
* 输出用法;
|
|
123
123
|
*/
|
|
124
124
|
printHelp = () => {
|
|
125
|
-
const cmd = (name, desc) => `
|
|
125
|
+
const cmd = (name, desc) => ` ${chalk.cyanBright(name.padEnd(26))}${chalk.gray(desc)}`;
|
|
126
126
|
console.log([
|
|
127
|
-
|
|
128
|
-
`
|
|
127
|
+
` ${chalk.blueBright('用法:')} windows <命令> [--键 值]`, '',
|
|
128
|
+
` ${chalk.cyan('服务类')} ${chalk.gray('(默认读当前目录 win-service.config.js,--键 值 覆盖)')}`,
|
|
129
129
|
cmd('install', '安装服务,装完默认启动;--no-start 关闭自动启动'),
|
|
130
130
|
cmd('uninstall', '卸载服务'),
|
|
131
131
|
cmd('start', '启动服务'),
|
|
@@ -134,7 +134,7 @@ const [, , sub, ...args] = process.argv,
|
|
|
134
134
|
cmd('status', '查询状态,输出 0 不存在 1 有服务无文件 2 有文件无服务 3 完整'),
|
|
135
135
|
cmd('xml', '输出 winsw 配置 XML'),
|
|
136
136
|
cmd('exe', '生成 winsw 可执行文件;--dir 指定输出目录,默认脚本目录下 daemon'), '',
|
|
137
|
-
`
|
|
137
|
+
` ${chalk.cyan('其它')}`,
|
|
138
138
|
cmd('example', '生成 win-service.config.js 模板到当前项目'),
|
|
139
139
|
cmd('list', '列出运行中的进程;--verbose 显示详细信息'),
|
|
140
140
|
cmd('kill', '结束进程,参数为进程 PID;例如 kill 1234,--force 强制结束'),
|
package/copy-files.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
|
+
import chalk from 'chalk';
|
|
4
5
|
|
|
5
6
|
// 要复制的文件位置和文件目标位置
|
|
6
7
|
const __filename = fileURLToPath(import.meta.url), __dirname = path.dirname(__filename),
|
|
@@ -13,19 +14,19 @@ const __filename = fileURLToPath(import.meta.url), __dirname = path.dirname(__fi
|
|
|
13
14
|
* @returns {boolean} - 复制是否成功
|
|
14
15
|
*/
|
|
15
16
|
const copyFile = () => {
|
|
16
|
-
console.log(
|
|
17
|
+
console.log(chalk.gray('项目根目录: ') + targetDir);
|
|
17
18
|
try {
|
|
18
19
|
// 目标目录不是 Node 项目 || 包自身的 npm install(开发调试)→ 跳过
|
|
19
20
|
if (!fs.existsSync(path.join(targetDir, 'package.json'))) return true;
|
|
20
21
|
if (targetDir === path.resolve(__dirname, '..')) return true;
|
|
21
22
|
if (fs.existsSync(targetFile)) return true; // 目标文件已存在 → 直接返回
|
|
22
|
-
console.log(
|
|
23
|
+
console.log(chalk.cyan('· ') + `未找到 ${fileName},正在创建...`);
|
|
23
24
|
|
|
24
25
|
fs.copyFileSync(sourceFile, targetFile); // 复制源文件到项目根目录
|
|
25
|
-
console.log(
|
|
26
|
+
console.log(chalk.green('✓ ') + chalk.greenBright(`已生成 ${fileName}: `) + chalk.gray(targetFile));
|
|
26
27
|
return true;
|
|
27
28
|
} catch (error) {
|
|
28
|
-
console.error(
|
|
29
|
+
console.error(chalk.red('✗ ') + `创建 ${fileName} 失败: ` + error.message);
|
|
29
30
|
return false;
|
|
30
31
|
}
|
|
31
32
|
};
|