@xylabs/ts-scripts-yarn3 7.4.16 → 7.4.17

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.
Files changed (42) hide show
  1. package/dist/actions/claude-settings.mjs +82 -0
  2. package/dist/actions/claude-settings.mjs.map +1 -0
  3. package/dist/actions/index.mjs +191 -116
  4. package/dist/actions/index.mjs.map +1 -1
  5. package/dist/actions/package/compile/buildEntries.mjs +4 -1
  6. package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
  7. package/dist/actions/package/compile/compile.mjs +5 -2
  8. package/dist/actions/package/compile/compile.mjs.map +1 -1
  9. package/dist/actions/package/compile/index.mjs +5 -2
  10. package/dist/actions/package/compile/index.mjs.map +1 -1
  11. package/dist/actions/package/compile/packageCompileTsc.mjs +1 -1
  12. package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
  13. package/dist/actions/package/compile/packageCompileTsup.mjs +5 -2
  14. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  15. package/dist/actions/package/index.mjs +5 -2
  16. package/dist/actions/package/index.mjs.map +1 -1
  17. package/dist/actions/package/recompile.mjs +5 -2
  18. package/dist/actions/package/recompile.mjs.map +1 -1
  19. package/dist/bin/package/build-only.mjs +5 -2
  20. package/dist/bin/package/build-only.mjs.map +1 -1
  21. package/dist/bin/package/build.mjs +5 -2
  22. package/dist/bin/package/build.mjs.map +1 -1
  23. package/dist/bin/package/compile-only.mjs +5 -2
  24. package/dist/bin/package/compile-only.mjs.map +1 -1
  25. package/dist/bin/package/compile-tsup.mjs +5 -2
  26. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  27. package/dist/bin/package/compile.mjs +5 -2
  28. package/dist/bin/package/compile.mjs.map +1 -1
  29. package/dist/bin/package/recompile.mjs +5 -2
  30. package/dist/bin/package/recompile.mjs.map +1 -1
  31. package/dist/bin/xy.mjs +150 -71
  32. package/dist/bin/xy.mjs.map +1 -1
  33. package/dist/index.d.ts +3 -1
  34. package/dist/index.mjs +211 -128
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/xy/index.mjs +150 -71
  37. package/dist/xy/index.mjs.map +1 -1
  38. package/dist/xy/xy.mjs +150 -71
  39. package/dist/xy/xy.mjs.map +1 -1
  40. package/dist/xy/xyCommonCommands.mjs +96 -17
  41. package/dist/xy/xyCommonCommands.mjs.map +1 -1
  42. package/package.json +2 -2
@@ -0,0 +1,82 @@
1
+ // src/actions/claude-settings.ts
2
+ import {
3
+ existsSync,
4
+ mkdirSync,
5
+ writeFileSync
6
+ } from "fs";
7
+ import PATH from "path";
8
+ import { createInterface } from "readline";
9
+ import chalk from "chalk";
10
+
11
+ // src/lib/yarn/yarnInitCwd.ts
12
+ var INIT_CWD = () => {
13
+ if (!process.env.INIT_CWD) console.error("Missing INIT_CWD");
14
+ return process.env.INIT_CWD;
15
+ };
16
+
17
+ // src/actions/claude-settings.ts
18
+ var DEFAULT_SETTINGS = {
19
+ permissions: {
20
+ allow: [
21
+ "Bash(git *)",
22
+ "Bash(yarn *)",
23
+ "Bash(npx *)",
24
+ "Bash(node *)",
25
+ "Bash(ls *)",
26
+ "Bash(mkdir *)",
27
+ "Bash(cp *)",
28
+ "Bash(mv *)",
29
+ "Bash(rm *)",
30
+ "Bash(cat *)",
31
+ "Bash(head *)",
32
+ "Bash(tail *)",
33
+ "Bash(echo *)",
34
+ "Bash(pwd)",
35
+ "Bash(which *)",
36
+ "Bash(gh *)",
37
+ "Read",
38
+ "Edit",
39
+ "Write",
40
+ "Glob",
41
+ "Grep",
42
+ "Skill"
43
+ ],
44
+ deny: [
45
+ "Bash(git push --force*)",
46
+ "Bash(git reset --hard*)",
47
+ "Bash(rm -rf /*)"
48
+ ]
49
+ }
50
+ };
51
+ function askConfirmation(question) {
52
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
53
+ return new Promise((resolve) => {
54
+ rl.question(question, (answer) => {
55
+ rl.close();
56
+ resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
57
+ });
58
+ });
59
+ }
60
+ async function claudeSettings() {
61
+ const cwd = INIT_CWD() ?? process.cwd();
62
+ const claudeDir = PATH.resolve(cwd, ".claude");
63
+ const settingsPath = PATH.resolve(claudeDir, "settings.local.json");
64
+ mkdirSync(claudeDir, { recursive: true });
65
+ if (existsSync(settingsPath)) {
66
+ const confirmed = await askConfirmation(
67
+ chalk.yellow(`${settingsPath} already exists. Replace it? (y/N) `)
68
+ );
69
+ if (!confirmed) {
70
+ console.log(chalk.gray("Skipped \u2014 existing settings.local.json preserved"));
71
+ return 0;
72
+ }
73
+ }
74
+ writeFileSync(settingsPath, `${JSON.stringify(DEFAULT_SETTINGS, null, 2)}
75
+ `, "utf8");
76
+ console.log(chalk.green("Generated .claude/settings.local.json"));
77
+ return 0;
78
+ }
79
+ export {
80
+ claudeSettings
81
+ };
82
+ //# sourceMappingURL=claude-settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/actions/claude-settings.ts","../../src/lib/yarn/yarnInitCwd.ts"],"sourcesContent":["import {\n existsSync, mkdirSync, writeFileSync,\n} from 'node:fs'\nimport PATH from 'node:path'\nimport { createInterface } from 'node:readline'\n\nimport chalk from 'chalk'\n\nimport { INIT_CWD } from '../lib/yarn/index.ts'\n\nconst DEFAULT_SETTINGS = {\n permissions: {\n allow: [\n 'Bash(git *)',\n 'Bash(yarn *)',\n 'Bash(npx *)',\n 'Bash(node *)',\n 'Bash(ls *)',\n 'Bash(mkdir *)',\n 'Bash(cp *)',\n 'Bash(mv *)',\n 'Bash(rm *)',\n 'Bash(cat *)',\n 'Bash(head *)',\n 'Bash(tail *)',\n 'Bash(echo *)',\n 'Bash(pwd)',\n 'Bash(which *)',\n 'Bash(gh *)',\n 'Read',\n 'Edit',\n 'Write',\n 'Glob',\n 'Grep',\n 'Skill',\n ],\n deny: [\n 'Bash(git push --force*)',\n 'Bash(git reset --hard*)',\n 'Bash(rm -rf /*)',\n ],\n },\n}\n\nfunction askConfirmation(question: string): Promise<boolean> {\n const rl = createInterface({ input: process.stdin, output: process.stdout })\n return new Promise((resolve) => {\n rl.question(question, (answer) => {\n rl.close()\n resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes')\n })\n })\n}\n\nexport async function claudeSettings(): Promise<number> {\n const cwd = INIT_CWD() ?? process.cwd()\n const claudeDir = PATH.resolve(cwd, '.claude')\n const settingsPath = PATH.resolve(claudeDir, 'settings.local.json')\n\n mkdirSync(claudeDir, { recursive: true })\n\n if (existsSync(settingsPath)) {\n const confirmed = await askConfirmation(\n chalk.yellow(`${settingsPath} already exists. Replace it? (y/N) `),\n )\n if (!confirmed) {\n console.log(chalk.gray('Skipped — existing settings.local.json preserved'))\n return 0\n }\n }\n\n writeFileSync(settingsPath, `${JSON.stringify(DEFAULT_SETTINGS, null, 2)}\\n`, 'utf8')\n console.log(chalk.green('Generated .claude/settings.local.json'))\n return 0\n}\n","export const INIT_CWD = () => {\n if (!process.env.INIT_CWD) console.error('Missing INIT_CWD')\n return process.env.INIT_CWD\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EAAY;AAAA,EAAW;AAAA,OAClB;AACP,OAAO,UAAU;AACjB,SAAS,uBAAuB;AAEhC,OAAO,WAAW;;;ACNX,IAAM,WAAW,MAAM;AAC5B,MAAI,CAAC,QAAQ,IAAI,SAAU,SAAQ,MAAM,kBAAkB;AAC3D,SAAO,QAAQ,IAAI;AACrB;;;ADOA,IAAM,mBAAmB;AAAA,EACvB,aAAa;AAAA,IACX,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,gBAAgB,UAAoC;AAC3D,QAAM,KAAK,gBAAgB,EAAE,OAAO,QAAQ,OAAO,QAAQ,QAAQ,OAAO,CAAC;AAC3E,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,OAAG,SAAS,UAAU,CAAC,WAAW;AAChC,SAAG,MAAM;AACT,cAAQ,OAAO,YAAY,MAAM,OAAO,OAAO,YAAY,MAAM,KAAK;AAAA,IACxE,CAAC;AAAA,EACH,CAAC;AACH;AAEA,eAAsB,iBAAkC;AACtD,QAAM,MAAM,SAAS,KAAK,QAAQ,IAAI;AACtC,QAAM,YAAY,KAAK,QAAQ,KAAK,SAAS;AAC7C,QAAM,eAAe,KAAK,QAAQ,WAAW,qBAAqB;AAElE,YAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AAExC,MAAI,WAAW,YAAY,GAAG;AAC5B,UAAM,YAAY,MAAM;AAAA,MACtB,MAAM,OAAO,GAAG,YAAY,qCAAqC;AAAA,IACnE;AACA,QAAI,CAAC,WAAW;AACd,cAAQ,IAAI,MAAM,KAAK,uDAAkD,CAAC;AAC1E,aAAO;AAAA,IACT;AAAA,EACF;AAEA,gBAAc,cAAc,GAAG,KAAK,UAAU,kBAAkB,MAAM,CAAC,CAAC;AAAA,GAAM,MAAM;AACpF,UAAQ,IAAI,MAAM,MAAM,uCAAuC,CAAC;AAChE,SAAO;AACT;","names":[]}