@joshuafolkken/kit 1.872.0 → 1.879.0
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/.github/workflows/publish.yml +39 -2
- package/README.md +3 -3
- package/package.json +6 -2
- package/scripts/init/distributed-paths.ts +14 -11
- package/scripts/init/hook-command-bootstrap.ts +51 -0
- package/scripts/init/hook-command-rewrite.ts +9 -1
- package/scripts/init/init-logic.ts +2 -8
- package/templates/workflows/ci.yml +6 -2
- package/dist/hooks/chunk-25JL6FMS.js +0 -4970
- package/dist/hooks/chunk-2ANGT3XM.js +0 -375
- package/dist/hooks/chunk-2EI5GBSW.js +0 -42
- package/dist/hooks/chunk-2OT5XE2N.js +0 -5014
- package/dist/hooks/chunk-33ELOKEV.js +0 -910
- package/dist/hooks/chunk-33YRTKM7.js +0 -230
- package/dist/hooks/chunk-36JQU5NN.js +0 -77
- package/dist/hooks/chunk-3EJBTWVS.js +0 -1769
- package/dist/hooks/chunk-3FK5SFAC.js +0 -432
- package/dist/hooks/chunk-3PWPYDD2.js +0 -240
- package/dist/hooks/chunk-3TQU7TDH.js +0 -375
- package/dist/hooks/chunk-3TVLSFZ6.js +0 -432
- package/dist/hooks/chunk-3VXYCB4E.js +0 -77
- package/dist/hooks/chunk-44M6JXGV.js +0 -3398
- package/dist/hooks/chunk-46EEEHC3.js +0 -240
- package/dist/hooks/chunk-4A7UVP2P.js +0 -364
- package/dist/hooks/chunk-4LFQEZS4.js +0 -137
- package/dist/hooks/chunk-4OCX3V2T.js +0 -469
- package/dist/hooks/chunk-4OHA5DE7.js +0 -49
- package/dist/hooks/chunk-4PMDW3YD.js +0 -68
- package/dist/hooks/chunk-4QHBNAI4.js +0 -68
- package/dist/hooks/chunk-4SSB3FEE.js +0 -3273
- package/dist/hooks/chunk-5A2WQ2CQ.js +0 -5390
- package/dist/hooks/chunk-5EVA2JQB.js +0 -5390
- package/dist/hooks/chunk-5P7VF5VE.js +0 -3230
- package/dist/hooks/chunk-5QWJGGZP.js +0 -49
- package/dist/hooks/chunk-5U5EZYG6.js +0 -77
- package/dist/hooks/chunk-5VUUF3ZV.js +0 -240
- package/dist/hooks/chunk-5WA7UBT3.js +0 -374
- package/dist/hooks/chunk-6EBGRQ3Q.js +0 -301
- package/dist/hooks/chunk-6TVHWMD3.js +0 -432
- package/dist/hooks/chunk-6VAGLEMB.js +0 -68
- package/dist/hooks/chunk-75BTXKFJ.js +0 -3424
- package/dist/hooks/chunk-75RHN67S.js +0 -137
- package/dist/hooks/chunk-76KC3BDD.js +0 -3414
- package/dist/hooks/chunk-76SLS7CZ.js +0 -898
- package/dist/hooks/chunk-7DHZ4DWT.js +0 -5015
- package/dist/hooks/chunk-7INSJDGE.js +0 -458
- package/dist/hooks/chunk-7VJ4FTDX.js +0 -268
- package/dist/hooks/chunk-7XCYNHQK.js +0 -77
- package/dist/hooks/chunk-A5YJ3H7E.js +0 -375
- package/dist/hooks/chunk-AAEXXUUL.js +0 -268
- package/dist/hooks/chunk-ABVEVV2M.js +0 -432
- package/dist/hooks/chunk-ACN3YXFL.js +0 -68
- package/dist/hooks/chunk-AD3XE3QZ.js +0 -397
- package/dist/hooks/chunk-AENFZPZH.js +0 -230
- package/dist/hooks/chunk-AFKRFQ6W.js +0 -68
- package/dist/hooks/chunk-AHD5IPWI.js +0 -375
- package/dist/hooks/chunk-AMK5JGV7.js +0 -77
- package/dist/hooks/chunk-ARN7NCQI.js +0 -425
- package/dist/hooks/chunk-AUFY653N.js +0 -3425
- package/dist/hooks/chunk-AXQBNFEF.js +0 -375
- package/dist/hooks/chunk-AYC7R6U4.js +0 -3316
- package/dist/hooks/chunk-AYEA2FJ7.js +0 -5015
- package/dist/hooks/chunk-B4HPNY2I.js +0 -375
- package/dist/hooks/chunk-B57S3VWT.js +0 -922
- package/dist/hooks/chunk-BINZ3PLI.js +0 -364
- package/dist/hooks/chunk-BODUSXKK.js +0 -410
- package/dist/hooks/chunk-BQBAT2YK.js +0 -375
- package/dist/hooks/chunk-BUJEBW75.js +0 -391
- package/dist/hooks/chunk-BVNWORKA.js +0 -72
- package/dist/hooks/chunk-BWI47LQS.js +0 -5205
- package/dist/hooks/chunk-C25HRMJX.js +0 -137
- package/dist/hooks/chunk-CBFZNC74.js +0 -375
- package/dist/hooks/chunk-CECYXS4Y.js +0 -3424
- package/dist/hooks/chunk-CELGUP5F.js +0 -49
- package/dist/hooks/chunk-CMHANU3F.js +0 -3442
- package/dist/hooks/chunk-CMN372LI.js +0 -68
- package/dist/hooks/chunk-CPGZLMMK.js +0 -3299
- package/dist/hooks/chunk-CTQKXDC7.js +0 -268
- package/dist/hooks/chunk-CYAT4RIT.js +0 -68
- package/dist/hooks/chunk-CYTWYCH2.js +0 -5014
- package/dist/hooks/chunk-CZSOLRBA.js +0 -77
- package/dist/hooks/chunk-D2PIDYJR.js +0 -3438
- package/dist/hooks/chunk-DE57HI6T.js +0 -137
- package/dist/hooks/chunk-DGXDGAPG.js +0 -5306
- package/dist/hooks/chunk-DNYRSYQG.js +0 -5014
- package/dist/hooks/chunk-DTAXH2A2.js +0 -240
- package/dist/hooks/chunk-E2IZUWI5.js +0 -375
- package/dist/hooks/chunk-E4L2K2BL.js +0 -397
- package/dist/hooks/chunk-ECXVCCVD.js +0 -3079
- package/dist/hooks/chunk-EPHO443D.js +0 -68
- package/dist/hooks/chunk-EUFK2BI2.js +0 -375
- package/dist/hooks/chunk-EYCD5ZAV.js +0 -137
- package/dist/hooks/chunk-F2SDYJU4.js +0 -240
- package/dist/hooks/chunk-F4B5D5TF.js +0 -68
- package/dist/hooks/chunk-FGEO3NDX.js +0 -432
- package/dist/hooks/chunk-FJYI52RE.js +0 -137
- package/dist/hooks/chunk-FYTZHIY4.js +0 -3085
- package/dist/hooks/chunk-G7JL2A5K.js +0 -375
- package/dist/hooks/chunk-GA3ITDBW.js +0 -42
- package/dist/hooks/chunk-GDR4H4SV.js +0 -469
- package/dist/hooks/chunk-GFKDXPSM.js +0 -2855
- package/dist/hooks/chunk-GIMRTKFU.js +0 -566
- package/dist/hooks/chunk-GOPHRLGO.js +0 -240
- package/dist/hooks/chunk-GX4HO7SJ.js +0 -230
- package/dist/hooks/chunk-GZ6FUVIK.js +0 -566
- package/dist/hooks/chunk-H5HPY5M5.js +0 -2869
- package/dist/hooks/chunk-HCF3OGEE.js +0 -1829
- package/dist/hooks/chunk-HDEXAOUM.js +0 -469
- package/dist/hooks/chunk-HM2TY3TN.js +0 -469
- package/dist/hooks/chunk-HOA7NXA2.js +0 -55
- package/dist/hooks/chunk-HOFEWH6H.js +0 -240
- package/dist/hooks/chunk-HUUI6S5J.js +0 -2669
- package/dist/hooks/chunk-I4D3NVUD.js +0 -469
- package/dist/hooks/chunk-I4Q6WAJE.js +0 -68
- package/dist/hooks/chunk-IB6N4CR2.js +0 -432
- package/dist/hooks/chunk-IFLDYJMD.js +0 -469
- package/dist/hooks/chunk-IGU466YD.js +0 -77
- package/dist/hooks/chunk-IJCQUHKY.js +0 -375
- package/dist/hooks/chunk-IKUMBDJB.js +0 -230
- package/dist/hooks/chunk-IM3BDIBJ.js +0 -5005
- package/dist/hooks/chunk-IMYMAODK.js +0 -3431
- package/dist/hooks/chunk-IN2ZVGXA.js +0 -5005
- package/dist/hooks/chunk-ITVJ2MKQ.js +0 -18
- package/dist/hooks/chunk-J5RIJYTM.js +0 -2669
- package/dist/hooks/chunk-JFLMH4K5.js +0 -3460
- package/dist/hooks/chunk-JR25IFML.js +0 -77
- package/dist/hooks/chunk-JT5AUXFI.js +0 -432
- package/dist/hooks/chunk-JY5YVN6N.js +0 -3234
- package/dist/hooks/chunk-K5Q4ETVI.js +0 -391
- package/dist/hooks/chunk-K67V2F24.js +0 -137
- package/dist/hooks/chunk-KATZESEC.js +0 -3273
- package/dist/hooks/chunk-KFH4H7W7.js +0 -469
- package/dist/hooks/chunk-KMUEI6RX.js +0 -910
- package/dist/hooks/chunk-KMV4OY77.js +0 -3438
- package/dist/hooks/chunk-KQAZNWEY.js +0 -137
- package/dist/hooks/chunk-KZZR6JER.js +0 -5015
- package/dist/hooks/chunk-LAR6DREP.js +0 -77
- package/dist/hooks/chunk-LNCJWEZD.js +0 -5015
- package/dist/hooks/chunk-LRYD2GLM.js +0 -6
- package/dist/hooks/chunk-LXBKYHDV.js +0 -77
- package/dist/hooks/chunk-LYLKIUNE.js +0 -5024
- package/dist/hooks/chunk-LZKCFOVC.js +0 -432
- package/dist/hooks/chunk-M4FCIYRI.js +0 -77
- package/dist/hooks/chunk-M5M7327Q.js +0 -3425
- package/dist/hooks/chunk-MF72MHSX.js +0 -3455
- package/dist/hooks/chunk-MK56LKDO.js +0 -397
- package/dist/hooks/chunk-N3MJADY7.js +0 -240
- package/dist/hooks/chunk-NFQSUDBN.js +0 -458
- package/dist/hooks/chunk-NHREKY45.js +0 -137
- package/dist/hooks/chunk-NP5TTAAW.js +0 -375
- package/dist/hooks/chunk-NQTLTKTJ.js +0 -2993
- package/dist/hooks/chunk-NVRCZPBZ.js +0 -391
- package/dist/hooks/chunk-O46HMMLJ.js +0 -469
- package/dist/hooks/chunk-OFJGH2L4.js +0 -240
- package/dist/hooks/chunk-OLFMCZH5.js +0 -240
- package/dist/hooks/chunk-OMCZS46I.js +0 -49
- package/dist/hooks/chunk-OQZEZW5G.js +0 -469
- package/dist/hooks/chunk-P2MDAT2Y.js +0 -1897
- package/dist/hooks/chunk-P3M2JJIF.js +0 -68
- package/dist/hooks/chunk-PDVHQITQ.js +0 -3453
- package/dist/hooks/chunk-PNT2AMDH.js +0 -391
- package/dist/hooks/chunk-PR2LVSY6.js +0 -3445
- package/dist/hooks/chunk-PRR5R4JK.js +0 -137
- package/dist/hooks/chunk-PXT44QVN.js +0 -566
- package/dist/hooks/chunk-PZLWJLAP.js +0 -469
- package/dist/hooks/chunk-Q2FEAZJ2.js +0 -77
- package/dist/hooks/chunk-Q32WETDO.js +0 -3265
- package/dist/hooks/chunk-Q45DUBLE.js +0 -3600
- package/dist/hooks/chunk-Q7NZSWQ5.js +0 -240
- package/dist/hooks/chunk-QH2JNAMK.js +0 -3085
- package/dist/hooks/chunk-QPU5H2OS.js +0 -68
- package/dist/hooks/chunk-QRAHZ5TO.js +0 -1829
- package/dist/hooks/chunk-QUZ5HPIE.js +0 -469
- package/dist/hooks/chunk-QVCRG34O.js +0 -2893
- package/dist/hooks/chunk-R3MY4E3S.js +0 -1675
- package/dist/hooks/chunk-R6TXJJXP.js +0 -77
- package/dist/hooks/chunk-REJU6VT7.js +0 -1829
- package/dist/hooks/chunk-REQAQLRC.js +0 -2993
- package/dist/hooks/chunk-RFCXPAHH.js +0 -391
- package/dist/hooks/chunk-RHI6Y22X.js +0 -137
- package/dist/hooks/chunk-RKZVOBBS.js +0 -469
- package/dist/hooks/chunk-RL57TT2Y.js +0 -566
- package/dist/hooks/chunk-RORDOD4S.js +0 -3321
- package/dist/hooks/chunk-RZKYW5P2.js +0 -77
- package/dist/hooks/chunk-SJPJ6VSI.js +0 -391
- package/dist/hooks/chunk-SKSIJQQQ.js +0 -432
- package/dist/hooks/chunk-SSQDZKXG.js +0 -268
- package/dist/hooks/chunk-SYHFKE4C.js +0 -77
- package/dist/hooks/chunk-TCGNI2ZY.js +0 -42
- package/dist/hooks/chunk-TG3WXJF5.js +0 -137
- package/dist/hooks/chunk-TH7IJAY5.js +0 -77
- package/dist/hooks/chunk-TLZ27PCY.js +0 -240
- package/dist/hooks/chunk-U652FXTN.js +0 -566
- package/dist/hooks/chunk-UEK47YUF.js +0 -268
- package/dist/hooks/chunk-UIO45H3O.js +0 -432
- package/dist/hooks/chunk-UNLZEEVH.js +0 -5005
- package/dist/hooks/chunk-UNRVF3SZ.js +0 -432
- package/dist/hooks/chunk-USLFAFOI.js +0 -3453
- package/dist/hooks/chunk-VAEELMLL.js +0 -442
- package/dist/hooks/chunk-VALSWLDQ.js +0 -3453
- package/dist/hooks/chunk-VC5JEPNY.js +0 -3398
- package/dist/hooks/chunk-VEZVK6C7.js +0 -230
- package/dist/hooks/chunk-VK5JKFAR.js +0 -49
- package/dist/hooks/chunk-VNF2KP7Z.js +0 -469
- package/dist/hooks/chunk-VWWCUMW6.js +0 -2669
- package/dist/hooks/chunk-W4JARUQV.js +0 -137
- package/dist/hooks/chunk-WEOBMNJG.js +0 -2993
- package/dist/hooks/chunk-WKJU3J5Y.js +0 -5390
- package/dist/hooks/chunk-WMN4TSVF.js +0 -3299
- package/dist/hooks/chunk-WNON54PT.js +0 -3469
- package/dist/hooks/chunk-WOVKBPPX.js +0 -137
- package/dist/hooks/chunk-WRVFORYJ.js +0 -432
- package/dist/hooks/chunk-WUBVYGQZ.js +0 -240
- package/dist/hooks/chunk-WWULTUOM.js +0 -68
- package/dist/hooks/chunk-WXHKKB45.js +0 -4962
- package/dist/hooks/chunk-XAI3YTHJ.js +0 -469
- package/dist/hooks/chunk-XFZH6JZJ.js +0 -77
- package/dist/hooks/chunk-XGPWX6IA.js +0 -137
- package/dist/hooks/chunk-XIXXIVGY.js +0 -566
- package/dist/hooks/chunk-XKDOYJGA.js +0 -922
- package/dist/hooks/chunk-YALTVBHM.js +0 -432
- package/dist/hooks/chunk-YEBEPBFK.js +0 -5014
- package/dist/hooks/chunk-YI2BQ3DK.js +0 -3441
- package/dist/hooks/chunk-YVNBCFGG.js +0 -1829
- package/dist/hooks/chunk-YXBN3RGG.js +0 -432
- package/dist/hooks/chunk-Z2OOJSW3.js +0 -3163
- package/dist/hooks/chunk-ZA3HVBOY.js +0 -2644
- package/dist/hooks/chunk-ZKID46U3.js +0 -137
- package/dist/hooks/chunk-ZPMU2JV6.js +0 -49
- package/dist/hooks/chunk-ZRKY4W7O.js +0 -432
- package/dist/hooks/chunk-ZTMRB7LJ.js +0 -268
- package/dist/hooks/chunk-ZVPPBQ3L.js +0 -3413
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ESLINT_EDIT_CACHE_FLAGS,
|
|
3
|
-
time_density_hook
|
|
4
|
-
} from "./chunk-NQTLTKTJ.js";
|
|
5
|
-
|
|
6
|
-
// scripts/hooks/format-edited-file.ts
|
|
7
|
-
import { existsSync as existsSync2 } from "node:fs";
|
|
8
|
-
import path2 from "node:path";
|
|
9
|
-
import { text } from "node:stream/consumers";
|
|
10
|
-
import { fileURLToPath } from "node:url";
|
|
11
|
-
|
|
12
|
-
// scripts/build/local-bin.ts
|
|
13
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
14
|
-
import { createRequire } from "node:module";
|
|
15
|
-
import path from "node:path";
|
|
16
|
-
|
|
17
|
-
// scripts/lib/schemas.ts
|
|
18
|
-
import { z } from "zod";
|
|
19
|
-
var overrides_snapshot_schema = z.record(z.string(), z.string());
|
|
20
|
-
var package_version_schema = z.object({ version: z.string() });
|
|
21
|
-
var package_named_version_schema = z.looseObject({ name: z.string(), version: z.string() });
|
|
22
|
-
var package_with_version_schema = z.looseObject({ version: z.string() });
|
|
23
|
-
var ls_global_dependency_schema = z.looseObject({ version: z.string() });
|
|
24
|
-
var ls_global_dependencies_schema = z.record(z.string(), ls_global_dependency_schema).optional();
|
|
25
|
-
var pnpm_ls_global_schema = z.array(
|
|
26
|
-
z.looseObject({
|
|
27
|
-
dependencies: ls_global_dependencies_schema
|
|
28
|
-
})
|
|
29
|
-
);
|
|
30
|
-
var vscode_settings_schema = z.record(z.string(), z.unknown());
|
|
31
|
-
var with_scripts_schema = z.looseObject({
|
|
32
|
-
scripts: z.record(z.string(), z.string()).optional()
|
|
33
|
-
});
|
|
34
|
-
var with_development_deps_schema = z.looseObject({
|
|
35
|
-
devDependencies: z.record(z.string(), z.string()).optional()
|
|
36
|
-
});
|
|
37
|
-
var with_package_manager_schema = z.looseObject({
|
|
38
|
-
packageManager: z.string().optional()
|
|
39
|
-
});
|
|
40
|
-
var with_development_engine_schema = z.looseObject({
|
|
41
|
-
devEngines: z.record(z.string(), z.unknown()).optional()
|
|
42
|
-
});
|
|
43
|
-
var bin_entry_schema = z.union([z.string(), z.record(z.string(), z.string())]).optional();
|
|
44
|
-
var package_bin_schema = z.looseObject({ bin: bin_entry_schema });
|
|
45
|
-
var json_object_schema = z.record(z.string(), z.unknown());
|
|
46
|
-
var string_array_schema = z.array(z.string());
|
|
47
|
-
var string_record_schema = z.record(z.string(), z.string());
|
|
48
|
-
|
|
49
|
-
// scripts/build/local-bin.ts
|
|
50
|
-
var NODE_MODULES = "node_modules";
|
|
51
|
-
var BIN_DIR = ".bin";
|
|
52
|
-
var WINDOWS_PLATFORM = "win32";
|
|
53
|
-
var WINDOWS_SHIM_SUFFIX = ".cmd";
|
|
54
|
-
var PACKAGE_JSON = "package.json";
|
|
55
|
-
function resolve_local_bin(project_root, bin_name) {
|
|
56
|
-
const shim = process.platform === WINDOWS_PLATFORM ? `${bin_name}${WINDOWS_SHIM_SUFFIX}` : bin_name;
|
|
57
|
-
return path.join(project_root, NODE_MODULES, BIN_DIR, shim);
|
|
58
|
-
}
|
|
59
|
-
function read_bin_entry(manifest_path, package_name, bin_name) {
|
|
60
|
-
const { bin } = package_bin_schema.parse(JSON.parse(readFileSync(manifest_path, "utf8")));
|
|
61
|
-
if (typeof bin === "string") return bin_name === path.basename(package_name) ? bin : void 0;
|
|
62
|
-
return bin?.[bin_name];
|
|
63
|
-
}
|
|
64
|
-
function resolve_package_bin(base_directory, package_name, bin_name) {
|
|
65
|
-
try {
|
|
66
|
-
const resolve_from = createRequire(path.join(base_directory, PACKAGE_JSON));
|
|
67
|
-
const manifest_path = resolve_from.resolve(`${package_name}/${PACKAGE_JSON}`);
|
|
68
|
-
const bin_entry = read_bin_entry(manifest_path, package_name, bin_name);
|
|
69
|
-
if (bin_entry === void 0) return void 0;
|
|
70
|
-
const cli_entry = path.join(path.dirname(manifest_path), bin_entry);
|
|
71
|
-
return existsSync(cli_entry) ? cli_entry : void 0;
|
|
72
|
-
} catch {
|
|
73
|
-
return void 0;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// scripts/hooks/format-edited-file.ts
|
|
78
|
-
import { execa } from "execa";
|
|
79
|
-
import { z as z2 } from "zod";
|
|
80
|
-
var hook_payload_schema = z2.object({
|
|
81
|
-
tool_input: z2.object({ file_path: z2.string().min(1) }).optional()
|
|
82
|
-
});
|
|
83
|
-
var PRETTIER_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
84
|
-
".ts",
|
|
85
|
-
".tsx",
|
|
86
|
-
".js",
|
|
87
|
-
".jsx",
|
|
88
|
-
".mjs",
|
|
89
|
-
".cjs",
|
|
90
|
-
".svelte",
|
|
91
|
-
".json",
|
|
92
|
-
".jsonc",
|
|
93
|
-
".md",
|
|
94
|
-
".yml",
|
|
95
|
-
".yaml",
|
|
96
|
-
".css",
|
|
97
|
-
".html"
|
|
98
|
-
]);
|
|
99
|
-
var ESLINT_EXTENSIONS = /* @__PURE__ */ new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".svelte"]);
|
|
100
|
-
var EXCLUDED_ANYWHERE = /* @__PURE__ */ new Set(["node_modules", ".git"]);
|
|
101
|
-
var EXCLUDED_AT_ROOT = /* @__PURE__ */ new Set(["dist", "build"]);
|
|
102
|
-
var PARENT_SEGMENT = "..";
|
|
103
|
-
var PNPM = "pnpm";
|
|
104
|
-
var PRETTIER_BIN = "prettier";
|
|
105
|
-
var PRETTIER_ARGUMENTS = ["--write", "--ignore-unknown"];
|
|
106
|
-
var ESLINT_BIN = "eslint";
|
|
107
|
-
var ESLINT_ARGUMENTS = [
|
|
108
|
-
"--fix",
|
|
109
|
-
"--no-error-on-unmatched-pattern",
|
|
110
|
-
...ESLINT_EDIT_CACHE_FLAGS
|
|
111
|
-
];
|
|
112
|
-
var ESLINT_DAEMON = "eslint_d";
|
|
113
|
-
var DAEMON_RESTART = "restart";
|
|
114
|
-
var ESLINT_CONFIG_DIR = "eslint";
|
|
115
|
-
var ESLINT_CONFIG_ENTRY = /^eslint\.config\.[cm]?[jt]s$/u;
|
|
116
|
-
var PROCESS_TIMEOUT_MS = 15e3;
|
|
117
|
-
var MODULE_DIRECTORY = path2.dirname(fileURLToPath(import.meta.url));
|
|
118
|
-
function parse_edited_path(raw_payload) {
|
|
119
|
-
try {
|
|
120
|
-
const result = hook_payload_schema.safeParse(JSON.parse(raw_payload));
|
|
121
|
-
return result.success ? result.data.tool_input?.file_path : void 0;
|
|
122
|
-
} catch {
|
|
123
|
-
return void 0;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
function is_excluded(relative_path) {
|
|
127
|
-
const segments = relative_path.split(path2.sep);
|
|
128
|
-
return segments.some((segment) => EXCLUDED_ANYWHERE.has(segment)) || EXCLUDED_AT_ROOT.has(segments[0] ?? "");
|
|
129
|
-
}
|
|
130
|
-
function relative_to_root(project_root, file_path) {
|
|
131
|
-
const relative = path2.relative(path2.resolve(project_root), path2.resolve(file_path));
|
|
132
|
-
const is_inside_root = relative !== "" && relative.split(path2.sep)[0] !== PARENT_SEGMENT && !path2.isAbsolute(relative);
|
|
133
|
-
return is_inside_root ? relative : void 0;
|
|
134
|
-
}
|
|
135
|
-
function is_formattable(file_path, project_root) {
|
|
136
|
-
const relative = relative_to_root(project_root, file_path);
|
|
137
|
-
return relative !== void 0 && !is_excluded(relative) && existsSync2(file_path);
|
|
138
|
-
}
|
|
139
|
-
function plan_commands(file_path, project_root) {
|
|
140
|
-
if (!is_formattable(file_path, project_root)) return [];
|
|
141
|
-
const extension = path2.extname(file_path).toLowerCase();
|
|
142
|
-
const commands = [];
|
|
143
|
-
if (ESLINT_EXTENSIONS.has(extension)) {
|
|
144
|
-
commands.push({ bin: ESLINT_BIN, command_arguments: [...ESLINT_ARGUMENTS, file_path] });
|
|
145
|
-
}
|
|
146
|
-
if (PRETTIER_EXTENSIONS.has(extension)) {
|
|
147
|
-
commands.push({ bin: PRETTIER_BIN, command_arguments: [...PRETTIER_ARGUMENTS, file_path] });
|
|
148
|
-
}
|
|
149
|
-
return commands;
|
|
150
|
-
}
|
|
151
|
-
function select_invocation(command, routes) {
|
|
152
|
-
if (routes.daemon_cli !== void 0) {
|
|
153
|
-
return {
|
|
154
|
-
bin: process.execPath,
|
|
155
|
-
command_arguments: [routes.daemon_cli, ...command.command_arguments]
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
if (routes.shim !== void 0) {
|
|
159
|
-
return { bin: routes.shim, command_arguments: command.command_arguments };
|
|
160
|
-
}
|
|
161
|
-
return { bin: PNPM, command_arguments: ["exec", command.bin, ...command.command_arguments] };
|
|
162
|
-
}
|
|
163
|
-
var DAEMON_BINS = /* @__PURE__ */ new Set([ESLINT_BIN, ESLINT_DAEMON]);
|
|
164
|
-
function resolve_daemon_cli(bin, project_root) {
|
|
165
|
-
if (!DAEMON_BINS.has(bin)) return void 0;
|
|
166
|
-
return resolve_package_bin(MODULE_DIRECTORY, ESLINT_DAEMON, ESLINT_DAEMON) ?? resolve_package_bin(project_root, ESLINT_DAEMON, ESLINT_DAEMON);
|
|
167
|
-
}
|
|
168
|
-
function is_eslint_config_input(relative_path) {
|
|
169
|
-
return relative_path.split(path2.sep)[0] === ESLINT_CONFIG_DIR || ESLINT_CONFIG_ENTRY.test(relative_path);
|
|
170
|
-
}
|
|
171
|
-
function plan_daemon_restart(file_path, project_root) {
|
|
172
|
-
const relative = relative_to_root(project_root, file_path);
|
|
173
|
-
if (relative === void 0 || !is_eslint_config_input(relative)) return [];
|
|
174
|
-
if (resolve_daemon_cli(ESLINT_DAEMON, project_root) === void 0) return [];
|
|
175
|
-
return [{ bin: ESLINT_DAEMON, command_arguments: [DAEMON_RESTART] }];
|
|
176
|
-
}
|
|
177
|
-
function resolve_invocations(command, project_root) {
|
|
178
|
-
const shim = resolve_local_bin(project_root, command.bin);
|
|
179
|
-
const routes = {
|
|
180
|
-
daemon_cli: resolve_daemon_cli(command.bin, project_root),
|
|
181
|
-
shim: existsSync2(shim) ? shim : void 0
|
|
182
|
-
};
|
|
183
|
-
const without_daemon = select_invocation(command, { ...routes, daemon_cli: void 0 });
|
|
184
|
-
if (routes.daemon_cli === void 0) return [without_daemon];
|
|
185
|
-
return [select_invocation(command, routes), without_daemon];
|
|
186
|
-
}
|
|
187
|
-
function is_start_failure(outcome) {
|
|
188
|
-
return outcome.exit_code !== 0 && !outcome.did_write_stdout;
|
|
189
|
-
}
|
|
190
|
-
async function spawn_invocation(invocation, project_root) {
|
|
191
|
-
const result = await execa(invocation.bin, [...invocation.command_arguments], {
|
|
192
|
-
reject: false,
|
|
193
|
-
cwd: project_root,
|
|
194
|
-
env: { ESLINT_D_MISS: "fail" },
|
|
195
|
-
stdout: "pipe",
|
|
196
|
-
stderr: "ignore",
|
|
197
|
-
timeout: PROCESS_TIMEOUT_MS
|
|
198
|
-
});
|
|
199
|
-
return { exit_code: result.exitCode ?? 1, did_write_stdout: result.stdout.length > 0 };
|
|
200
|
-
}
|
|
201
|
-
async function run_command(command, project_root) {
|
|
202
|
-
let outcome = { exit_code: 0, did_write_stdout: false };
|
|
203
|
-
for (const invocation of resolve_invocations(command, project_root)) {
|
|
204
|
-
outcome = await spawn_invocation(invocation, project_root);
|
|
205
|
-
if (!is_start_failure(outcome)) return outcome;
|
|
206
|
-
}
|
|
207
|
-
return outcome;
|
|
208
|
-
}
|
|
209
|
-
async function format_edited_file(raw_payload, runner, project_root) {
|
|
210
|
-
const file_path = parse_edited_path(raw_payload);
|
|
211
|
-
if (file_path === void 0) return;
|
|
212
|
-
const plan = [
|
|
213
|
-
...plan_commands(file_path, project_root),
|
|
214
|
-
...plan_daemon_restart(file_path, project_root)
|
|
215
|
-
];
|
|
216
|
-
for (const command of plan) {
|
|
217
|
-
try {
|
|
218
|
-
await runner(command, project_root);
|
|
219
|
-
} catch {
|
|
220
|
-
continue;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
async function format_edited_payload(raw_payload, project_root) {
|
|
225
|
-
await format_edited_file(raw_payload, run_command, project_root);
|
|
226
|
-
}
|
|
227
|
-
var HOOK_EVENT_NAME = "PostToolUse";
|
|
228
|
-
function density_envelope(raw_payload) {
|
|
229
|
-
const notice = time_density_hook.density_notice(raw_payload);
|
|
230
|
-
if (notice === void 0) return void 0;
|
|
231
|
-
return JSON.stringify({
|
|
232
|
-
hookSpecificOutput: { hookEventName: HOOK_EVENT_NAME, additionalContext: notice }
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
function write_density_envelope(raw_payload) {
|
|
236
|
-
const envelope = density_envelope(raw_payload);
|
|
237
|
-
if (envelope !== void 0) process.stdout.write(`${envelope}
|
|
238
|
-
`);
|
|
239
|
-
}
|
|
240
|
-
function report_no_payload() {
|
|
241
|
-
process.stderr.write(
|
|
242
|
-
"format:edited reads a Claude Code PostToolUse payload on stdin; it is not run by hand.\n"
|
|
243
|
-
);
|
|
244
|
-
}
|
|
245
|
-
if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
|
246
|
-
if (process.stdin.isTTY) {
|
|
247
|
-
report_no_payload();
|
|
248
|
-
} else {
|
|
249
|
-
const payload = await text(process.stdin);
|
|
250
|
-
write_density_envelope(payload);
|
|
251
|
-
await format_edited_payload(payload, process.cwd());
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
export {
|
|
256
|
-
ESLINT_DAEMON,
|
|
257
|
-
PROCESS_TIMEOUT_MS,
|
|
258
|
-
parse_edited_path,
|
|
259
|
-
relative_to_root,
|
|
260
|
-
plan_commands,
|
|
261
|
-
select_invocation,
|
|
262
|
-
plan_daemon_restart,
|
|
263
|
-
resolve_invocations,
|
|
264
|
-
is_start_failure,
|
|
265
|
-
format_edited_file,
|
|
266
|
-
format_edited_payload,
|
|
267
|
-
density_envelope
|
|
268
|
-
};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
investigation_reads
|
|
3
|
-
} from "./chunk-E2IZUWI5.js";
|
|
4
|
-
import {
|
|
5
|
-
lane_guard_policy
|
|
6
|
-
} from "./chunk-VNF2KP7Z.js";
|
|
7
|
-
import {
|
|
8
|
-
hook_decision
|
|
9
|
-
} from "./chunk-OLFMCZH5.js";
|
|
10
|
-
|
|
11
|
-
// scripts/delegation/investigation-guard.ts
|
|
12
|
-
import { text } from "node:stream/consumers";
|
|
13
|
-
import { fileURLToPath } from "node:url";
|
|
14
|
-
var SWITCH_ENV_KEY = "JOSH_INVESTIGATION_GUARD";
|
|
15
|
-
var STAMP_PREFIX = "josh-investigation-guard-";
|
|
16
|
-
var NOTICE_STAMP_PREFIX = "josh-investigation-guard-notice-";
|
|
17
|
-
function investigation_mode() {
|
|
18
|
-
return lane_guard_policy.mode_here("investigation");
|
|
19
|
-
}
|
|
20
|
-
function should_block(tail, call, refused_at_ms, run) {
|
|
21
|
-
if (investigation_mode() !== "refuse") return false;
|
|
22
|
-
return investigation_reads.should_block(tail, call, refused_at_ms, run);
|
|
23
|
-
}
|
|
24
|
-
function should_notify(tail, call, notified_at_ms, run) {
|
|
25
|
-
if (investigation_mode() !== "notice") return false;
|
|
26
|
-
return investigation_reads.should_block(tail, call, notified_at_ms, run);
|
|
27
|
-
}
|
|
28
|
-
var NOTICE = `\u{1F4A1} investigation: files read and not edited since the last delegated unit reached the threshold, so the reading from here should go to a unit of its own. This is a notice, not a refusal \u2014 the read proceeds, because a dispatched lane child ends its turn on a denial. Ask \`pnpm josh delegate investigation\`, then brief a unit with what the main line has already concluded and what is left to find out; it returns the conclusion plus its \`file:line\` citations, never the file text. Keep a read in the main line only where this run will edit that file. This recurs on the next accumulation.`;
|
|
29
|
-
function notice_text(_call, tail) {
|
|
30
|
-
const pending = investigation_reads.tally_of(tail).pending.map((absolute) => investigation_reads.repository_relative(absolute));
|
|
31
|
-
return pending.length === 0 ? NOTICE : `${NOTICE} Read and not edited so far: ${pending.join(" ")}.`;
|
|
32
|
-
}
|
|
33
|
-
var GUARD = hook_decision.create_transcript_guard({
|
|
34
|
-
prefix: STAMP_PREFIX,
|
|
35
|
-
switch_key: SWITCH_ENV_KEY,
|
|
36
|
-
is_candidate: investigation_reads.is_refusable_call,
|
|
37
|
-
should_block,
|
|
38
|
-
reason: investigation_reads.REASON,
|
|
39
|
-
// The lane-child notice fires where the refusal is withheld (kit#2382), on a record of its own so it
|
|
40
|
-
// never spends the refusal's stamp.
|
|
41
|
-
notify: {
|
|
42
|
-
prefix: NOTICE_STAMP_PREFIX,
|
|
43
|
-
should_notify,
|
|
44
|
-
text: notice_text
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
var investigation_refusal = GUARD.refusal;
|
|
48
|
-
var investigation_outcome = GUARD.outcome;
|
|
49
|
-
var { is_enabled, refusal_path } = GUARD;
|
|
50
|
-
var investigation_notice_path = hook_decision.create_refusal_stamp(NOTICE_STAMP_PREFIX).path;
|
|
51
|
-
var { deny_envelope, load_environment_file, DISABLED_VALUES } = hook_decision;
|
|
52
|
-
if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
|
53
|
-
if (process.stdin.isTTY) hook_decision.report_no_payload("investigation:guard");
|
|
54
|
-
else hook_decision.write_outcome(await text(process.stdin), investigation_outcome);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export {
|
|
58
|
-
SWITCH_ENV_KEY,
|
|
59
|
-
NOTICE,
|
|
60
|
-
investigation_refusal,
|
|
61
|
-
investigation_outcome,
|
|
62
|
-
is_enabled,
|
|
63
|
-
refusal_path,
|
|
64
|
-
investigation_notice_path,
|
|
65
|
-
deny_envelope,
|
|
66
|
-
load_environment_file,
|
|
67
|
-
DISABLED_VALUES
|
|
68
|
-
};
|