dk-frontend-skills 2.1.1 → 2.1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dk-frontend-skills",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "description": "dk-engineer - 幽默沉稳靠谱的前端开发助手 Claude Skills 配置包,一键注入 .claude/ 技能目录和 CLAUDE.md 人设配置",
5
5
  "author": "XiaoMa",
6
6
  "license": "MIT",
package/scripts/cli.js CHANGED
@@ -6,7 +6,14 @@ const { getPackageSkills, getUserSkills } = require("./core");
6
6
 
7
7
  // npx 运行时:process.cwd() 是用户项目目录
8
8
  // __dirname 是包内 scripts/ 目录
9
- const projectRoot = process.cwd();
9
+ // fs.realpathSync.native() 归一化 Windows 路径,处理中文/Unicode 编码问题
10
+ const projectRoot = (() => {
11
+ try {
12
+ return fs.realpathSync.native(process.cwd());
13
+ } catch {
14
+ return process.cwd();
15
+ }
16
+ })();
10
17
  const packageDir = path.join(__dirname, "..");
11
18
  const claudeDest = path.join(projectRoot, ".claude");
12
19
  const skillsDest = path.join(claudeDest, "skills");
@@ -49,8 +56,12 @@ function installSelectedSkills(selectedNames) {
49
56
  if (selectedNames.includes(name)) {
50
57
  // 勾选了的 → 安装(不存在才装)
51
58
  if (!fs.existsSync(dest)) {
52
- fs.cpSync(src, dest, { recursive: true });
53
- installedCount++;
59
+ try {
60
+ fs.cpSync(src, dest, { recursive: true });
61
+ installedCount++;
62
+ } catch (err) {
63
+ console.error(` ❌ 安装技能 "${name}" 失败:`, err.message);
64
+ }
54
65
  }
55
66
  } else {
56
67
  // 没勾选的 → 如果之前装了,删掉
@@ -9,7 +9,8 @@ const {
9
9
  } = require("./core");
10
10
 
11
11
  // 获取用户项目根目录
12
- const projectRoot = path.resolve(__dirname, "..", "..", "..");
12
+ // npm lifecycle 脚本会设置 INIT_CWD 为执行命令时的目录,比从 __dirname 爬三级更可靠
13
+ const projectRoot = process.env.INIT_CWD || path.resolve(__dirname, "..", "..", "..");
13
14
  const packageDir = path.join(__dirname, "..");
14
15
 
15
16
  // 源路径