eser 4.1.44 → 4.1.48
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/chunks/{add-IM5JC6QA.js → add-HBUORTI5.js} +1 -1
- package/chunks/ajan-CL22MZYV.js +2 -0
- package/chunks/{approve-4CQFJU5A.js → approve-UWBYGXCF.js} +1 -1
- package/chunks/{ask-UTEI7KGQ.js → ask-M3VS3GIJ.js} +1 -1
- package/chunks/{block-MQTVULY3.js → block-W76WKMS3.js} +1 -1
- package/chunks/{browser-JGBNWUEQ.js → browser-D536WJU3.js} +1 -1
- package/chunks/{build-IRLEBMJE.js → build-DPBRNANI.js} +2 -2
- package/chunks/{bun-HIMXX54I.js → bun-7XJSUU6Z.js} +1 -1
- package/chunks/{cancel-56EDMMFO.js → cancel-46C7E5N7.js} +1 -1
- package/chunks/{changelog-gen-USXHO6PE.js → changelog-gen-627BV77Z.js} +1 -1
- package/chunks/{chunk-3F23SLJA.js → chunk-2LF7QSIN.js} +28 -27
- package/chunks/{chunk-YURNTYEP.js → chunk-2TANTKYS.js} +1 -1
- package/chunks/{chunk-TELZ2ZFI.js → chunk-2YTW3JQ6.js} +1 -1
- package/chunks/{chunk-V3NJTF2Y.js → chunk-2ZYCRMUT.js} +1 -1
- package/chunks/chunk-3D5TBTM3.js +3 -0
- package/chunks/{chunk-LSET5TD3.js → chunk-3OG2MEF2.js} +1 -1
- package/chunks/{chunk-BSV66I74.js → chunk-4LQG2WOJ.js} +1 -1
- package/chunks/{chunk-OWQXQ33F.js → chunk-4X4NHXFE.js} +1 -1
- package/chunks/{chunk-H6HLRKRK.js → chunk-5JV6KQMP.js} +4 -4
- package/chunks/{chunk-ZRUM5PE7.js → chunk-6BILFSH2.js} +1 -1
- package/chunks/{chunk-6VHZQNHX.js → chunk-6DBKPC2O.js} +1 -1
- package/chunks/{chunk-BQT5RJZB.js → chunk-6G6UVWJN.js} +1 -1
- package/chunks/{chunk-4EJVA4QA.js → chunk-73IMECRI.js} +1 -1
- package/chunks/{chunk-SK6QUPJR.js → chunk-7KFSTOXR.js} +1 -1
- package/chunks/{chunk-FODF5MI2.js → chunk-7NKYCWAA.js} +1 -1
- package/chunks/{chunk-6E6JUBFH.js → chunk-ALFFE37K.js} +1 -1
- package/chunks/{chunk-UQRZJPYH.js → chunk-ATYDQCCJ.js} +1 -1
- package/chunks/{chunk-IBBGWXAI.js → chunk-C2IORZTF.js} +1 -1
- package/chunks/{chunk-H5GHXMIT.js → chunk-C7NZBKCW.js} +1 -1
- package/chunks/{chunk-IBB6UZR2.js → chunk-CVDLYIOW.js} +1 -1
- package/chunks/{chunk-IWXI3UYI.js → chunk-DLBRD3UT.js} +1 -1
- package/chunks/{chunk-QBQAOXEV.js → chunk-DM6U63HP.js} +1 -1
- package/chunks/chunk-DPZJWN2Y.js +2 -0
- package/chunks/{chunk-VE6XM5OZ.js → chunk-EQUPVWVY.js} +1 -1
- package/chunks/{chunk-2N62LL55.js → chunk-FNPBHLLZ.js} +1 -1
- package/chunks/{chunk-QMRKAC6C.js → chunk-FZ5WFU6R.js} +1 -1
- package/chunks/chunk-GVTM4EOU.js +4 -0
- package/chunks/{chunk-KZAPWWOT.js → chunk-H6P3EACV.js} +1 -1
- package/chunks/{chunk-IQQEVKBP.js → chunk-IIFFSCDJ.js} +1 -1
- package/chunks/{chunk-TYLYMZQC.js → chunk-IZUADMIU.js} +1 -1
- package/chunks/{chunk-2OKCK56H.js → chunk-J5HFD7AQ.js} +1 -1
- package/chunks/{chunk-3LDGQFQZ.js → chunk-JFKHBLJB.js} +1 -1
- package/chunks/{chunk-SMKZDN2Q.js → chunk-JO4JKJ7R.js} +1 -1
- package/chunks/{chunk-CXTPYPO4.js → chunk-KHBIOZJE.js} +1 -1
- package/chunks/{chunk-EXP2TZZC.js → chunk-L5OC7F24.js} +1 -1
- package/chunks/{chunk-7RL5ZFGE.js → chunk-LJ7A5HYR.js} +1 -1
- package/chunks/{chunk-SF6FT44C.js → chunk-LLA75EMV.js} +1 -1
- package/chunks/chunk-LWQPFCWC.js +5 -0
- package/chunks/{chunk-Z2LXZLZV.js → chunk-LYPDFFKK.js} +1 -1
- package/chunks/{chunk-2UHHAPKY.js → chunk-MTCPFQ5I.js} +1 -1
- package/chunks/{chunk-LYKN5EIM.js → chunk-MW3RJU6I.js} +1 -1
- package/chunks/{chunk-XOSAN6PX.js → chunk-N4NDBIQS.js} +1 -1
- package/chunks/{chunk-SH4H7OLV.js → chunk-NMEPQK3T.js} +1 -1
- package/chunks/{chunk-GKOMIH2B.js → chunk-NMSD4ZXJ.js} +1 -1
- package/chunks/{chunk-QD46ROBD.js → chunk-NTY267SI.js} +1 -1
- package/chunks/{chunk-VVWAUS3D.js → chunk-NVPQJFAI.js} +1 -1
- package/chunks/{chunk-L7RS6MQ5.js → chunk-O325ZU5M.js} +1 -1
- package/chunks/{chunk-3U5M6YO6.js → chunk-OLHBVIWG.js} +1 -1
- package/chunks/chunk-R2W7BL7V.js +2 -0
- package/chunks/{chunk-E423U2PP.js → chunk-R3UCRXDC.js} +1 -1
- package/chunks/{chunk-RIOYVPPP.js → chunk-R4GKIRAI.js} +1 -1
- package/chunks/{chunk-WPOZMPUR.js → chunk-RHVDIXOM.js} +1 -1
- package/chunks/{chunk-ZEFYMWGZ.js → chunk-RNFCAHVL.js} +2 -2
- package/chunks/{chunk-MBG7SPPO.js → chunk-SHN5MT56.js} +1 -1
- package/chunks/{chunk-RFHWH6ZX.js → chunk-TFRONHJA.js} +1 -1
- package/chunks/chunk-TMMAF763.js +10 -0
- package/chunks/{chunk-VWQLQJVX.js → chunk-TW23CULJ.js} +1 -1
- package/chunks/{chunk-TNWF37YQ.js → chunk-TZDEJTLC.js} +30 -30
- package/chunks/{chunk-MPGRKZIA.js → chunk-UEMWZOIU.js} +1 -1
- package/chunks/{chunk-QYMHLTVT.js → chunk-UGYRUVUH.js} +1 -1
- package/chunks/{chunk-YJ3ICGHV.js → chunk-ULIMXXRY.js} +1 -1
- package/chunks/{chunk-WF6JNPZS.js → chunk-VV47GXU5.js} +1 -1
- package/chunks/{chunk-4COCZPO5.js → chunk-WI2RW3YL.js} +1 -1
- package/chunks/{chunk-H7U2VQCK.js → chunk-WTMV5GTZ.js} +1 -1
- package/chunks/chunk-WZHVKEPB.js +17 -0
- package/chunks/{chunk-BNMKKNLB.js → chunk-X3L6GBUX.js} +1 -1
- package/chunks/chunk-XOMPQOI6.js +4 -0
- package/chunks/{chunk-2BEIAJ5J.js → chunk-XUV7CW3L.js} +1 -1
- package/chunks/chunk-YACXTCWF.js +2 -0
- package/chunks/{chunk-WWI6727S.js → chunk-YKEVDAWS.js} +1 -1
- package/chunks/chunk-YTF3BAQS.js +2 -0
- package/chunks/{chunk-6V6C6MWY.js → chunk-ZNP3NXAD.js} +1 -1
- package/chunks/claude-code-UJYCO6CN.js +2 -0
- package/chunks/{clone-DSVKII72.js → clone-455UAECS.js} +1 -1
- package/chunks/{cmd-YU4MVRRR.js → cmd-QE4P4DS4.js} +1 -1
- package/chunks/{commitmsg-FS52L6J5.js → commitmsg-57EMHAFY.js} +2 -2
- package/chunks/{concern-4HFEHA2X.js → concern-I6LCWEIC.js} +1 -1
- package/chunks/{deno-I5YAWOB6.js → deno-JAQWMICD.js} +1 -1
- package/chunks/{dev-JQS5G6PA.js → dev-JM7NU24M.js} +2 -2
- package/chunks/{done-OSUBA7YO.js → done-A5VWIFOF.js} +1 -1
- package/chunks/{file-tools-shared-LMF72D6S.js → file-tools-shared-YKDNDDHR.js} +1 -1
- package/chunks/{free-WTJTBNOK.js → free-5NMWMMYS.js} +1 -1
- package/chunks/{gh-PJ2JDGXG.js → gh-DJ2YTDQX.js} +2 -2
- package/chunks/{gh-contributors-EIM2PLGS.js → gh-contributors-SXUFX3SO.js} +1 -1
- package/chunks/{init-ZOMBOUG3.js → init-GBMYF3YG.js} +3 -3
- package/chunks/{init-2AZSHAPG.js → init-M3P2QCX2.js} +1 -1
- package/chunks/{install-J4D2DGTQ.js → install-USGLFPAU.js} +1 -1
- package/chunks/invoke-hook-6BKTP2JY.js +12 -0
- package/chunks/kiro-V6SMU4OL.js +2 -0
- package/chunks/{list-XFPTCIMR.js → list-M5DGQG46.js} +1 -1
- package/chunks/{list-PSLAM3H6.js → list-NX7RRO6R.js} +1 -1
- package/chunks/{list-NS7ECFDY.js → list-ZVCGDRUH.js} +1 -1
- package/chunks/{load-config-OGSPRY4L.js → load-config-JZNJVJXH.js} +1 -1
- package/chunks/loader-command-I5DTYP25.js +2 -0
- package/chunks/loader-reactor-P6I3MX5L.js +2 -0
- package/chunks/{main-BUEG2IMJ.js → main-JAGIKKVD.js} +2 -2
- package/chunks/manager-GN6J4AUV.js +7 -0
- package/chunks/manifest-3GT2RMQL.js +2 -0
- package/chunks/{mod-VRTH35WZ.js → mod-2WMXZZGJ.js} +2 -2
- package/chunks/{mod-G7PJEGW6.js → mod-4XKQZL6W.js} +1 -1
- package/chunks/{mod-Q6SI6S6S.js → mod-5NDTGNVM.js} +2 -2
- package/chunks/mod-7ICCX4OY.js +2 -0
- package/chunks/mod-IALKEUJL.js +9 -0
- package/chunks/{mod-WOZXOD2F.js → mod-KPIOBBDD.js} +1 -1
- package/chunks/{mod-XEK7FROU.js → mod-NSL6IJRQ.js} +1 -1
- package/chunks/{mod-2PIV6QCE.js → mod-OG7BBJP4.js} +1 -1
- package/chunks/mod-QCXWBSGJ.js +2 -0
- package/chunks/mod-TB73AJG3.js +23 -0
- package/chunks/{mod-II7CSZUT.js → mod-TRSW5SEU.js} +1 -1
- package/chunks/{mod-RO7WP3SA.js → mod-VZT7JWPZ.js} +1 -1
- package/chunks/{mod-U2MNO6EC.js → mod-W225AUFE.js} +1 -1
- package/chunks/{new-3ZN4U7FJ.js → new-SS67ZKMK.js} +3 -3
- package/chunks/next-TIUOHHFS.js +9 -0
- package/chunks/{node-ZGM6SXXI.js → node-WWA6BHRC.js} +1 -1
- package/chunks/ollama-DFG5G467.js +2 -0
- package/chunks/opencode-UA45VV3W.js +2 -0
- package/chunks/pack-7TGKWDRO.js +6 -0
- package/chunks/purge-IKPQWHBC.js +5 -0
- package/chunks/{recipe-applier-6SGY2W3A.js → recipe-applier-I2VBGHZU.js} +1 -1
- package/chunks/{registry-fetcher-H63ZWZHU.js → registry-fetcher-TGWYJ5GN.js} +1 -1
- package/chunks/release-SEKFNXRA.js +9 -0
- package/chunks/{release-notes-FSDHH2Y2.js → release-notes-UUCPVHBQ.js} +1 -1
- package/chunks/{release-tag-IOH5HGAA.js → release-tag-F4B6ICW4.js} +1 -1
- package/chunks/{reopen-7EX6OJ6E.js → reopen-G4IUIH73.js} +1 -1
- package/chunks/{reset-IZ76OH4F.js → reset-BJZ263XC.js} +1 -1
- package/chunks/rule-PQ6WRV5W.js +7 -0
- package/chunks/{run-FGMEIO57.js → run-DAKF5SJN.js} +1 -1
- package/chunks/run-Y4ESAQUK.js +4 -0
- package/chunks/{scripts-L2FZBUHU.js → scripts-VRQQ24O3.js} +1 -1
- package/chunks/{serve-VXA7O546.js → serve-OGJIE344.js} +2 -2
- package/chunks/{server-KJW4HWK7.js → server-VCPSLFZ2.js} +1 -1
- package/chunks/session-CFDY73RJ.js +2 -0
- package/chunks/spec-CYRR2XUA.js +2 -0
- package/chunks/{status-EHBO4FYW.js → status-ZE2SA6FP.js} +1 -1
- package/chunks/{sync-M6DR7ZI4.js → sync-N5STAT6M.js} +1 -1
- package/chunks/system-3236RFTI.js +2 -0
- package/chunks/{system-2FUKECOJ.js → system-6GEEPUXD.js} +1 -1
- package/chunks/{update-CV7JPZGM.js → update-VLYRDEH4.js} +1 -1
- package/chunks/validate-bom-ME2NQAP3.js +2 -0
- package/chunks/validate-case-conflict-QUNIB43P.js +2 -0
- package/chunks/validate-circular-deps-DLUCIW7T.js +2 -0
- package/chunks/validate-commit-msg-SRLJRTKU.js +2 -0
- package/chunks/validate-docs-43LWHLVW.js +2 -0
- package/chunks/validate-eof-RV3IK6ZM.js +2 -0
- package/chunks/validate-export-names-D5I5DZTN.js +2 -0
- package/chunks/validate-filenames-WNLZI2S6.js +2 -0
- package/chunks/validate-json-6KIMBNBJ.js +2 -0
- package/chunks/validate-large-files-UXP7AZCW.js +2 -0
- package/chunks/validate-licenses-BL6PNSBP.js +2 -0
- package/chunks/validate-line-endings-NYHXORRG.js +2 -0
- package/chunks/validate-merge-conflict-IWUP4ZMW.js +2 -0
- package/chunks/validate-mod-exports-VCV4VZ5F.js +2 -0
- package/chunks/validate-package-configs-6PGL2YGD.js +2 -0
- package/chunks/validate-secrets-JV4ZSOVR.js +2 -0
- package/chunks/validate-shebangs-YACNWUG7.js +2 -0
- package/chunks/validate-submodules-ZXID3VEK.js +2 -0
- package/chunks/validate-symlinks-QNMKPYUY.js +2 -0
- package/chunks/validate-toml-PV3G7EFD.js +2 -0
- package/chunks/validate-trailing-whitespace-5Q5SEHOD.js +2 -0
- package/chunks/validate-yaml-IOMFQTSQ.js +2 -0
- package/chunks/versions-ROLQITT5.js +2 -0
- package/chunks/{watch-LW6FU2EL.js → watch-4NXY7JEX.js} +1 -1
- package/chunks/{wontfix-YJN2MZCL.js → wontfix-YSXRDPKA.js} +1 -1
- package/chunks/{workerd-LOWXXQEU.js → workerd-LH2MLWIF.js} +1 -1
- package/eser.js +1 -1
- package/package.json +9 -1
- package/chunks/chunk-5MVJUALI.js +0 -4
- package/chunks/chunk-5N2QHREH.js +0 -17
- package/chunks/chunk-JZ7DUWYC.js +0 -2
- package/chunks/chunk-OYNFK77H.js +0 -2
- package/chunks/chunk-PIV56NIC.js +0 -7
- package/chunks/chunk-V6YI7YJ4.js +0 -5
- package/chunks/chunk-VAIRJES2.js +0 -2
- package/chunks/chunk-VNJJQED3.js +0 -3
- package/chunks/chunk-ZJMX5J6E.js +0 -4
- package/chunks/claude-code-VX2T4YII.js +0 -2
- package/chunks/invoke-hook-D5XQP7A7.js +0 -11
- package/chunks/kiro-JGEZGFF3.js +0 -2
- package/chunks/manifest-4EA74HMS.js +0 -2
- package/chunks/mod-KTGLCC3R.js +0 -2
- package/chunks/mod-LAFYLM7O.js +0 -2
- package/chunks/next-NBSEIKEK.js +0 -9
- package/chunks/ollama-LD6OENM2.js +0 -2
- package/chunks/opencode-ECTBCC3O.js +0 -2
- package/chunks/purge-GV7LXDF3.js +0 -5
- package/chunks/release-6I5TL34I.js +0 -9
- package/chunks/rule-CNBMT5LD.js +0 -3
- package/chunks/run-PBQGRZV3.js +0 -4
- package/chunks/spec-AINLSNW6.js +0 -2
- package/chunks/system-X4X6JD4X.js +0 -2
- package/chunks/validate-bom-MYISC3IT.js +0 -2
- package/chunks/validate-case-conflict-B737FXF2.js +0 -2
- package/chunks/validate-circular-deps-WME7VUO4.js +0 -2
- package/chunks/validate-commit-msg-HJ5MXYNE.js +0 -2
- package/chunks/validate-docs-CCYMKDXS.js +0 -2
- package/chunks/validate-eof-6WAM6VAY.js +0 -2
- package/chunks/validate-export-names-Q5FSXTV5.js +0 -2
- package/chunks/validate-filenames-JVBT2GXA.js +0 -2
- package/chunks/validate-json-UPGBABYE.js +0 -2
- package/chunks/validate-large-files-RJLMJSWM.js +0 -2
- package/chunks/validate-licenses-YW5CK3QF.js +0 -2
- package/chunks/validate-line-endings-3VNZ7KT6.js +0 -2
- package/chunks/validate-merge-conflict-SKWYYHFS.js +0 -2
- package/chunks/validate-mod-exports-OMUDATXK.js +0 -2
- package/chunks/validate-package-configs-ZO5YJE2D.js +0 -2
- package/chunks/validate-secrets-FV6672MD.js +0 -2
- package/chunks/validate-shebangs-N55SME72.js +0 -2
- package/chunks/validate-submodules-ADHLOUGA.js +0 -2
- package/chunks/validate-symlinks-4IIIP6AQ.js +0 -2
- package/chunks/validate-toml-OVIYGLPR.js +0 -2
- package/chunks/validate-trailing-whitespace-LWP5QEXS.js +0 -2
- package/chunks/validate-yaml-L7JCSGXY.js +0 -2
- package/chunks/versions-OKK45EDV.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as a,f as g}from"./chunk-
|
|
2
|
+
import{d as a,f as g}from"./chunk-3D5TBTM3.js";import{b as i}from"./chunk-NBA6EFWU.js";import{i as s}from"./chunk-6DBKPC2O.js";var u=async(n=".")=>{let[t,r]=await g(n);return r.map(e=>({name:e.name,version:e.version,path:a(e.config),config:e.config,entrypoints:c(e.config)}))},c=n=>{let t=n.exports?.value;if(t==null)return[];if(typeof t=="string")return[t];if(t!==null&&typeof t=="object"){let r=[];for(let e of Object.values(t))typeof e=="string"&&r.push(e);return r}return[]},d=(n,t)=>s.path.isAbsolute(n)?n:s.path.resolve(t,n),k=async n=>{let t=[];for await(let r of s.fs.walk(n,{exts:i,includeDirs:!1,skip:[/node_modules/,/\.git/]})){let e=s.path.relative(n,r.path),o=s.path.basename(e);o.endsWith("_test.ts")||o.endsWith("_bench.ts")||o.startsWith("_")||e.includes("testdata/")||t.push(`./${e}`)}return t.sort()};export{u as a,d as b,k as c};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{i as c}from"./chunk-
|
|
2
|
+
import{i as c}from"./chunk-6DBKPC2O.js";var f=async(n,r)=>{let e=`${n}/.eser/specs/${r}/spec.md`,t;try{t=await c.fs.readTextFile(e)}catch{return null}return d(r,t)},d=(n,r)=>{let e=[],t=[],o=[],i="";for(let l of r.split(`
|
|
3
3
|
`)){let s=l.trim();if(s.startsWith("## ")){i=s.slice(3).trim().toLowerCase();continue}if(i.startsWith("tasks")){let a=s.match(/^-\s*\[[ x]\]\s*(task-\d+):\s*(.+)$/i);a!==null&&e.push({id:a[1],title:a[2].trim()})}i.startsWith("out of scope")&&s.startsWith("- ")&&t.push(s.slice(2).trim()),i.startsWith("verification")&&s.startsWith("- ")&&o.push(s.slice(2).trim())}return{name:n,tasks:e,outOfScope:t,verification:o}},u=(n,r)=>{let e=new Set(r);for(let t of n)if(!e.has(t.id))return t;return null};export{f as a,d as b,u as c};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as l}from"./chunk-
|
|
2
|
+
import{a as l}from"./chunk-ATYDQCCJ.js";var p=new Set(["con","prn","aux","nul","com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9"]),E=/^[a-z0-9_./[\]@-]+$/,u=/^[a-z0-9./[\]@-]+$/,g=[".claude/",".github/",".git/","CLAUDE.md","AGENTS.md","CHANGELOG.md","Makefile","Dockerfile","LICENSE","README.md","VERSION"],d=(o,s)=>{for(let e of s)if(e.includes("*")){let a=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]+");if(new RegExp(a).test(o))return!0}else if(o.includes(e)||o.endsWith(e))return!0;return!1},c=l({name:"validate-filenames",description:"Enforce filename conventions (kebab-case / snake_case)",canFix:!1,stacks:[],defaults:{},checkAll(o,s){let e=[],a=s.rules,f=s.exclude??g;for(let t of o){if(d(t.path,f))continue;let i=t.name,m=i.replace(/\.[^.]+$/,"");if(p.has(m.toLowerCase())){e.push({path:t.path,message:`Windows-reserved filename: ${i}`});continue}if(a!==void 0){let r=!1;for(let n of a)if(n.directory==="*"||t.path.includes(n.directory)){if(n.exclude!==void 0&&d(t.path,n.exclude)){r=!0;break}(n.convention==="snake_case"?E:u).test(i)||e.push({path:t.path,message:`filename must be ${n.convention}`}),r=!0;break}if(r)continue}u.test(i)||e.push({path:t.path,message:"filename must be kebab-case"})}return e}}),S=c.run,k=c.validator,v=c.main;export{c as a,S as b,k as c,v as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as o}from"./chunk-
|
|
2
|
+
import{a as o}from"./chunk-ATYDQCCJ.js";var a=1024,s=o({name:"validate-large-files",description:"Detect files exceeding size limit",canFix:!1,stacks:[],defaults:{maxKb:a},checkAll(n,r){let e=r.maxKb??a,l=e*1024,t=[];for(let i of n)if(i.size>l){let c=Math.round(i.size/1024);t.push({path:i.path,message:`file is ${c}KB (max: ${e}KB)`})}return t}}),d=s.run,f=s.validator,x=s.main;export{s as a,d as b,f as c,x as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as i}from"./chunk-
|
|
2
|
+
import{a as i}from"./chunk-ATYDQCCJ.js";import{j as a}from"./chunk-6DBKPC2O.js";var s=i({name:"validate-symlinks",description:"Detect broken symlinks",canFix:!1,stacks:[],defaults:{},async checkAll(n){let o=[];for(let t of n)if(t.isSymlink)try{await a.runtime.fs.stat(t.path)}catch{o.push({path:t.path,message:"broken symlink \u2014 target not found"})}return o}}),l=s.run,c=s.validator,m=s.main;export{s as a,l as b,c,m as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as g}from"./chunk-NBA6EFWU.js";import{d as p}from"./chunk-
|
|
2
|
+
import{d as g}from"./chunk-NBA6EFWU.js";import{d as p}from"./chunk-GVTM4EOU.js";import{i as o}from"./chunk-6DBKPC2O.js";var m=[/node_modules/,/\.git\//,/\/dist\//,/etc\/coverage/,/etc\/temp/,/\.output\//],x=async t=>{try{let n=await p`git ls-files --cached --others --exclude-standard`.cwd(t).noThrow().lines();return n.length>0?n:null}catch{return null}},k=async(t={})=>{let{root:n=".",extensions:e,exclude:s=[]}=t,l=[...m,...s.map(r=>typeof r=="string"?new RegExp(r):r)],u=[],d=await x(n);if(d!==null)for(let r of d){let i=o.path.join(n,r),c=o.path.basename(r);if(e!==void 0&&e.length>0&&!g(r,e)||l.some(a=>a.test(i)||a.test(r)))continue;let y=0,f=!1;try{let a=await o.fs.lstat(i);if(y=a.size,f=a.isSymlink,a.isDirectory&&!(t.includeDirs??!1))continue}catch{continue}u.push({path:i,name:c,size:y,isSymlink:f})}else for await(let r of o.fs.walk(n,{includeDirs:t.includeDirs??!1,includeFiles:!0,exts:e,skip:l})){if(!r.isFile&&!r.isSymlink)continue;let i=0;try{i=(await o.fs.stat(r.path)).size}catch{continue}u.push({path:r.path,name:r.name,size:i,isSymlink:r.isSymlink})}if(t.includeOnly!==void 0&&t.includeOnly.length>0){let r=t.includeOnly;return u.filter(i=>r.some(c=>i.path.endsWith(c)||i.path.includes(c)))}return u},B=async t=>{if(t.textContent!==void 0)return t.textContent;try{let n=await h(t);if(w(n))return;let e=new TextDecoder().decode(n);return t.textContent=e,e}catch{return}},h=async t=>{if(t.rawBytes!==void 0)return t.rawBytes;let n=await o.fs.readFile(t.path);return t.rawBytes=n,n},w=t=>{let n=Math.min(t.length,8192);for(let e=0;e<n;e++)if(t[e]===0)return!0;return!1},M=(t,n)=>{for(let e of n)if(typeof e=="string"){if(t.includes(e)||t.endsWith(e))return!0}else if(e.test(t))return!0;return!1},b=(t,n)=>{let e=new Map;for(let s of n)e.set(s.path,s);for(let s of t){let l=e.get(s.path);l!==void 0&&(s.textContent=l.newContent,s.rawBytes=void 0)}},D=async t=>{let n=0;for(let e of t)e.oldContent!==e.newContent&&(await o.fs.writeTextFile(e.path,e.newContent),n++);return n};export{m as a,k as b,B as c,h as d,w as e,M as f,b as g,D as h};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{i as o}from"./chunk-
|
|
2
|
+
import{i as o}from"./chunk-6DBKPC2O.js";var r=()=>o.env.get("HOME")??"",l=()=>{let e=o.env.get("SHELL")??"";return e.includes("zsh")?"zsh":e.includes("fish")?"fish":"bash"},s=e=>{let t=r();switch(e){case"zsh":return o.path.join(t,".zshrc");case"bash":return o.path.join(t,".bashrc");case"fish":return o.path.join(t,".config","fish","config.fish")}},c=(e,t)=>{let n=r();switch(e){case"zsh":return o.path.join(n,".zshrc");case"bash":return o.path.join(n,".bashrc");case"fish":return o.path.join(n,".config","fish","completions",`${t}.fish`)}},g=(e,t)=>`eval "$(${t} system completions --shell ${e})"`,a=e=>e==="fish"?"file":"eval",p=(e,t="eser")=>{let n=e??l(),i=a(n);return{shell:n,rcFile:s(n),completionType:i,completionsFile:i==="file"?c(n,t):void 0}},f=[{envVars:["CLAUDE_CODE","CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_SESSION_ID"],tool:"claude-code"},{envVars:["CURSOR_SESSION","CURSOR"],tool:"cursor"},{envVars:["KIRO_SESSION","KIRO"],tool:"kiro"},{envVars:["WINDSURF_SESSION"],tool:"windsurf"},{envVars:["GITHUB_COPILOT"],tool:"copilot"}],h=()=>{for(let e of f)for(let t of e.envVars){let n=o.env.get(t);if(n!==void 0&&n!=="")return e.tool}return null},u=()=>h()!==null?"agent":"human";export{l as a,g as b,p as c,h as d,u as e};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as h,b as u,c as S,d as k,e as g,f as m,g as f}from"./chunk-
|
|
2
|
+
import{a as h,b as u,c as S,d as k,e as g,f as m,g as f}from"./chunk-2TANTKYS.js";import{a as c}from"./chunk-J7YTWK67.js";var y=class{capabilities=["text_generation","streaming"];provider="opencode";modelId;binary;config;constructor(e,r){this.binary=e,this.config=r,this.modelId=r.model}async generateText(e,r){let o=w(this.config,e,"json"),i=f(e.messages,e.system);o.push("-p",i);let s=u(this.binary,o,{signal:r}),l=g(s.stderr),t=await k(s.stdout,this.modelId),p=await s.waitForExit(),a=await l,d=m("opencode",p.code,a);if(d!==null)throw d;return t}async*streamText(e,r){let o=w(this.config,e,"stream-json"),i=f(e.messages,e.system);o.push("-p",i);let s=u(this.binary,o,{signal:r}),l=g(s.stderr);try{for await(let d of S(s.stdout)){let x=v(d);x!==null&&(yield x)}let t=await s.waitForExit(),p=await l,a=m("opencode",t.code,p);a!==null&&(yield{kind:"error",error:a})}catch(t){t instanceof c?yield{kind:"error",error:t}:yield{kind:"error",error:new c(t instanceof Error?t.message:String(t),{provider:"opencode",cause:t instanceof Error?t:void 0})}}}close(){return Promise.resolve()}getRawClient(){return null}},b={provider:"opencode",async createModel(n){let e=await h("opencode",n);return new y(e,n)}},w=(n,e,r)=>{let o=["--output-format",r];o.push("--model",n.model),e.maxTokens!==void 0&&o.push("--max-tokens",String(e.maxTokens));let i=n.properties?.args;return i!==void 0&&o.push(...i),o},v=n=>{if(n===null||typeof n!="object")return null;let e=n;if(e.type==="content_block_delta"||e.type==="assistant"){let r=e.delta?.text??e.message?.content?.[0]?.text;return r!==void 0?{kind:"content_delta",textDelta:r}:null}return e.type==="result"||e.done===!0?{kind:"message_done",stopReason:"end_turn",usage:{inputTokens:e.usage?.input_tokens??0,outputTokens:e.usage?.output_tokens??0,totalTokens:(e.usage?.input_tokens??0)+(e.usage?.output_tokens??0)}}:e.type==="error"?{kind:"error",error:new c(e.error?.message??"Unknown OpenCode error",{provider:"opencode"})}:e.content!==void 0&&typeof e.content=="string"?{kind:"content_delta",textDelta:e.content}:null};export{y as a,b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as g}from"./chunk-GTHXGAMQ.js";import{e as l}from"./chunk-5DWJ7WEE.js";import{a as n}from"./chunk-N7DXBY3O.js";import{i as s}from"./chunk-
|
|
2
|
+
import{a as g}from"./chunk-GTHXGAMQ.js";import{e as l}from"./chunk-5DWJ7WEE.js";import{a as n}from"./chunk-N7DXBY3O.js";import{i as s}from"./chunk-6DBKPC2O.js";var a={port:8e3,host:"localhost",hmr:!0,open:!1},f=["@eser/laroux","@eser/laroux-server"],d={minify:!0,sourcemap:!0,target:["es2022"],external:[],serverExternals:f},p={mode:"always",streamMode:"streaming-optimal"},c={webp:80,avif:75,jpeg:85,png:90},C={formats:["webp","original"],widths:[640,768,1024,1280,1920],quality:c,placeholder:"blur"},R={width:1300,height:900},u={enabled:!0,viewport:R,forceInclude:[],forceExclude:[]},m={runtimeBundleEndpoint:"/__runtime_bundle.js",runtimeModuleMapEndpoint:"/__runtime_module_map.json",staticAssetsPrefix:"/dist"},v={isDev:!1,isBuild:!1,isServe:!1,isWatch:!1},S={jsr:{"@eser/logging":`
|
|
3
3
|
// Browser shim for @eser/logging
|
|
4
4
|
const noop = () => {};
|
|
5
5
|
const noopLogger = { debug: noop, info: noop, warn: noop, error: noop };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{b as k}from"./chunk-NBA6EFWU.js";import{d as F,f as T,h as C,j as d,k as L,n as u}from"./chunk-7ATUODBM.js";import{a as g}from"./chunk-AP72BKVG.js";import{i as D}from"./chunk-6DBKPC2O.js";var R={USE_CLIENT:"use client",USE_SERVER:"use server",USE_STRICT:"use strict"},M=[/node_modules/,/\.test\./,/\.spec\./],G=(t,e)=>{let r=t.split(`
|
|
3
|
+
`),i=e.toLowerCase(),o=!1;for(let s=0;s<Math.min(50,r.length);s++){let n=r[s]?.trim()??"";if(o){n.includes("*/")&&(o=!1);continue}if(n===""||n.startsWith("//"))continue;if(n.startsWith("/*")){n.includes("*/")||(o=!0);continue}let f=`"${i}";`,a=`'${i}';`,l=n.toLowerCase();if(l===f||l===a)return!0;if(n.startsWith("import")||n.startsWith("export")||n.startsWith("const")||n.startsWith("let")||n.startsWith("var")||n.startsWith("function")||n.startsWith("class"))break}return!1},W=t=>{let e=new Set,r=t.matchAll(/export\s{1,20}(?:async\s{1,20})?function\s{1,20}(\w+)/g);for(let n of r)n[1]!==void 0&&e.add(n[1]);let i=t.matchAll(/export\s{1,20}(?:const|let)\s{1,20}(\w+)\s{0,20}=/g);for(let n of i)n[1]!==void 0&&e.add(n[1]);let o=t.matchAll(/export\s{1,20}class\s{1,20}(\w+)/g);for(let n of o)n[1]!==void 0&&e.add(n[1]);/export\s{1,20}default\s{1,20}/.test(t)&&e.add("default");let s=t.matchAll(/export\s*\{([\w\s,]+)\}/g);for(let n of s)if(n[1]!==void 0){let f=n[1].split(",").map(a=>{let l=a.trim().split(/ {1,10}as {1,10}/);return(l[1]??l[0])?.trim()});for(let a of f)a!==void 0&&a!==""&&e.add(a)}return[...e]},O=async t=>{try{return await D.fs.readTextFile(t)}catch{return null}},Q=async(t,e,r={})=>{let i=r.extensions??k,o=r.skip??M,s=r.projectRoot??t,n=[];for await(let f of D.fs.walk(t,{exts:[...i],skip:[...o]})){if(!f.isFile)continue;let a=await O(f.path);if(a!==null&&G(a,e)){let l=D.path.relative(s,f.path),m=W(a);n.push({filePath:f.path,relativePath:l,directive:e,exports:m})}}return n},Y=(t,e={})=>Q(t,R.USE_CLIENT,e),X=(t,e)=>{let r=`"${e}"`,i=`'${e}'`;return t.includes(r)||t.includes(i)},Z=async(t,e={})=>{let r=e.extensions??k,i=e.skip??M,o=e.projectRoot??t,s=[];for await(let n of D.fs.walk(t,{exts:[...r],skip:[...i]})){if(!n.isFile)continue;let f=await O(n.path);if(f!==null&&X(f,R.USE_SERVER)){let a=D.path.relative(o,n.path),l=W(f);s.push({filePath:n.path,relativePath:a,directive:R.USE_SERVER,exports:l})}}return s};function w(t){return t.isFile?"file":t.isDirectory?"dir":t.isSymlink?"symlink":void 0}async function x(t){try{let e=await Deno.stat(t);_(e);return}catch(e){if(!(e instanceof Deno.errors.NotFound))throw e}try{await Deno.mkdir(t,{recursive:!0})}catch(e){if(!(e instanceof Deno.errors.AlreadyExists))throw e;let r=await Deno.stat(t);_(r)}}function _(t){if(!t.isDirectory)throw new Error(`Failed to ensure directory exists: expected 'dir', got '${w(t)}'`)}function c(t){return t instanceof URL?C(t):t}function P(t,e,r=T){if(t=c(t),e=c(e),u(t)===u(e))return!1;let i=t.split(r),o=e.split(r);return i.every((s,n)=>o[n]===s)}function S(t,e){if(t===null)throw new Error(`${e} is unavailable`)}async function I(t,e,r){let i;try{i=await Deno.lstat(e)}catch(o){if(o instanceof Deno.errors.NotFound)return;throw o}if(r.isFolder&&!i.isDirectory)throw new Error(`Cannot overwrite non-directory '${e}' with directory '${t}'`);if(!r.overwrite)throw new Deno.errors.AlreadyExists(`'${e}' already exists.`);return i}async function N(t,e,r){if(await I(t,e,r),await Deno.copyFile(t,e),r.preserveTimestamps){let i=await Deno.stat(t);S(i.atime,"statInfo.atime"),S(i.mtime,"statInfo.mtime"),await Deno.utime(e,i.atime,i.mtime)}}async function U(t,e,r){await I(t,e,r);let i=await Deno.readLink(t),o=w(await Deno.lstat(t));if(g?await Deno.symlink(i,e,{type:o==="dir"?"dir":"file"}):await Deno.symlink(i,e),r.preserveTimestamps){let s=await Deno.lstat(t);S(s.atime,"statInfo.atime"),S(s.mtime,"statInfo.mtime"),await Deno.utime(e,s.atime,s.mtime)}}async function j(t,e,r){if(await I(t,e,{...r,isFolder:!0})||await x(e),r.preserveTimestamps){let s=await Deno.stat(t);S(s.atime,"statInfo.atime"),S(s.mtime,"statInfo.mtime"),await Deno.utime(e,s.atime,s.mtime)}t=c(t),e=c(e);let o=[];for await(let s of Deno.readDir(t)){let n=d(t,s.name),f=d(e,F(n));s.isSymlink?o.push(U(n,f,r)):s.isDirectory?o.push(j(n,f,r)):s.isFile&&o.push(N(n,f,r))}await Promise.all(o)}async function wt(t,e,r={}){if(t=u(c(t)),e=u(c(e)),t===e)throw new Error("Source and destination cannot be the same");let i=await Deno.lstat(t);if(i.isDirectory&&P(t,e))throw new Error(`Cannot copy '${t}' to a subdirectory of itself: '${e}'`);i.isSymlink?await U(t,e,r):i.isDirectory?await j(t,e,r):i.isFile&&await N(t,e,r)}async function Ft(t){try{let e=await Array.fromAsync(Deno.readDir(t));await Promise.all(e.map(r=>{if(r&&r.name){let i=d(c(t),r.name);return Deno.remove(i,{recursive:!0})}}))}catch(e){if(!(e instanceof Deno.errors.NotFound))throw e;await Deno.mkdir(t,{recursive:!0})}}async function A(t){t=c(t),t=L(t);let e=F(t),r=await Deno.stat(t);return{path:t,name:e,isFile:r.isFile,isDirectory:r.isDirectory,isSymlink:r.isSymlink}}function E(t,e,r,i){return!(e&&!e.some(o=>t.endsWith(o))||r&&!r.some(o=>!!t.match(o))||i&&i.some(o=>!!t.match(o)))}async function*V(t,e){let{maxDepth:r=1/0,includeFiles:i=!0,includeDirs:o=!0,includeSymlinks:s=!0,followSymlinks:n=!1,canonicalize:f=!0,exts:a=void 0,match:l=void 0,skip:m=void 0}=e??{};if(!(r<0)&&(t=c(t),a&&(a=a.map(y=>y.startsWith(".")?y:`.${y}`)),o&&E(t,a,l,m)&&(yield await A(t)),!(r<1||!E(t,void 0,void 0,m))))for await(let y of Deno.readDir(t)){let p=d(t,y.name),{isSymlink:v,isDirectory:$}=y;if(v){if(!n){s&&E(p,a,l,m)&&(yield{path:p,...y});continue}let h=await Deno.realPath(p);f&&(p=h),{isSymlink:v,isDirectory:$}=await Deno.lstat(h)}if(v||$){let h={maxDepth:r-1,includeFiles:i,includeDirs:o,includeSymlinks:s,followSymlinks:n};a!==void 0&&(h.exts=a),l!==void 0&&(h.match=l),m!==void 0&&(h.skip=m),yield*V(p,h)}else i&&E(p,a,l,m)&&(yield{path:p,...y})}}var ue=globalThis.Deno?.build.os==="windows"?"`":"\\";var B=`
|
|
4
|
+
`,J=`\r
|
|
5
|
+
`,xe=globalThis.Deno?.build.os==="windows"?J:B;export{G as a,W as b,Y as c,Z as d,Ft as e,x as f,V as g,wt as h};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as r}from"./chunk-P7WCO724.js";import{a as i}from"./chunk-
|
|
2
|
+
import{a as r}from"./chunk-P7WCO724.js";import{a as i}from"./chunk-ATYDQCCJ.js";var t=i({name:"validate-toml",description:"Validate TOML syntax",canFix:!1,stacks:[],defaults:{},extensions:["toml"],checkFile(e,o){if(o===void 0)return[];try{return r(o),[]}catch(a){let s=a instanceof Error?a.message:"invalid TOML";return[{path:e.path,message:s}]}}}),p=t.run,d=t.validator,u=t.main;export{t as a,p as b,d as c,u as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as i}from"./chunk-
|
|
2
|
+
import{d as i}from"./chunk-GVTM4EOU.js";var n="#%$".repeat(35),g=s=>{let e=s.split(n).map(t=>{let c=t.slice(0,40);t=t.slice(40);let r=t.indexOf(`
|
|
3
3
|
`);if(r<0)return{hash:c,subject:t.trim(),body:""};let o=t.slice(0,r).trim(),a=t.slice(r+1).trim();return{hash:c,subject:o,body:a}});return e.shift(),e},m=async()=>await i`git describe --tags --abbrev=0`.text();var l=async(s,e)=>{let t=`--pretty=format:${n}%H%B`,c=`${s}..${e}`,r=await i`git --no-pager log ${t} ${c}`.text();return g(r)};var p=async(s,e)=>{await i`git tag -a ${s} -m ${e}`.spawn()},h=async(s,e)=>{await i`git push ${s} ${e}`.spawn()};export{m as a,l as b,p as c,h as d};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as t}from"./chunk-
|
|
2
|
+
import{a as t}from"./chunk-ATYDQCCJ.js";var n=t({name:"validate-line-endings",description:"Normalize line endings to LF",canFix:!0,stacks:[],defaults:{},checkFile(i,e){return e===void 0?[]:e.includes("\r")?[{path:i.path,message:"file contains CRLF or CR line endings"}]:[]},fixFile(i,e){let r=e.replace(/\r\n/g,`
|
|
3
3
|
`).replace(/\r/g,`
|
|
4
4
|
`);if(r!==e)return{path:i.path,oldContent:e,newContent:r}}}),s=n.run,d=n.validator,p=n.main;export{n as a,s as b,d as c,p as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as r}from"./chunk-
|
|
2
|
+
import{d as r}from"./chunk-GVTM4EOU.js";import{i}from"./chunk-6DBKPC2O.js";var t=async e=>{try{return await r`which ${e}`.noThrow().code()===0}catch{return!1}},s=async()=>{try{return(await fetch("http://localhost:11434/api/version",{signal:AbortSignal.timeout(1e3)})).ok}catch{return!1}},a=e=>i.env.has(e),d=async()=>{let[e,o,l,n]=await Promise.all([t("claude"),s(),t("opencode"),t("kiro")]);return[{name:"claude-code",alias:"cc",type:"CLI",available:e,detail:e?"claude binary found":"claude not on PATH"},{name:"ollama",alias:"ol",type:"HTTP",available:o,detail:o?"localhost:11434 reachable":"localhost:11434 not reachable"},{name:"opencode",alias:"oc",type:"CLI",available:l,detail:l?"opencode binary found":"opencode not on PATH"},{name:"kiro",alias:"kr",type:"CLI",available:n,detail:n?"kiro binary found":"kiro not on PATH"},{name:"anthropic",alias:"ant",type:"API",available:a("ANTHROPIC_API_KEY"),detail:a("ANTHROPIC_API_KEY")?"ANTHROPIC_API_KEY set":"ANTHROPIC_API_KEY not set"},{name:"openai",alias:"oai",type:"API",available:a("OPENAI_API_KEY"),detail:a("OPENAI_API_KEY")?"OPENAI_API_KEY set":"OPENAI_API_KEY not set"},{name:"gemini",alias:"gem",type:"API",available:a("GEMINI_API_KEY")||a("GOOGLE_API_KEY"),detail:a("GEMINI_API_KEY")||a("GOOGLE_API_KEY")?"API key set":"GEMINI_API_KEY not set"},{name:"vertexai",alias:"vtx",type:"API",available:a("GOOGLE_CLOUD_PROJECT"),detail:a("GOOGLE_CLOUD_PROJECT")?"GOOGLE_CLOUD_PROJECT set":"GOOGLE_CLOUD_PROJECT not set"}]};export{d as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as r}from"./chunk-
|
|
2
|
+
import{b as r}from"./chunk-RNFCAHVL.js";var n=class{description;#o;#s;#e=[];constructor(o){this.description=o.description,this.#o=o.modules??{},this.#s=o.aliases??{}}addSubmodule(o,e){return this.#e.push({registration:o,module:e}),this}async addSubmoduleAsync(o,e){let s=await e;return this.#e.push({registration:o,module:s}),this}toGroupOptions(){return{description:this.description,modules:this.#o,aliases:Object.keys(this.#s).length>0?this.#s:void 0}}toCommand(o,e){let s=new r(o).description(this.description);e!==void 0&&s.version(e),Object.keys(this.#o).length>0&&s.modules(this.toGroupOptions());for(let{registration:t,module:d}of this.#e){let i=d.toGroupOptions();if(s.group(t.name,i),t.aliases!==void 0)for(let a of t.aliases)s.groupAlias(a,t.name,i)}return s}};export{n as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{i as c}from"./chunk-
|
|
2
|
+
import{i as c}from"./chunk-6DBKPC2O.js";var R=["registry/v1"],$=["file","folder"],b=["local","github"],E=r=>r==="project"||r==="structure"||r==="utility",F=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(typeof e.source!="string"||typeof e.target!="string"||e.kind!==void 0&&!$.includes(e.kind)||e.provider!==void 0&&!b.includes(e.provider))},S=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(e.go!==void 0&&!Array.isArray(e.go)||e.jsr!==void 0&&!Array.isArray(e.jsr)||e.npm!==void 0&&!Array.isArray(e.npm))},k=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(typeof e.name!="string"||e.name===""||typeof e.description!="string"||e.default!==void 0&&typeof e.default!="string"||e.prompt!==void 0&&typeof e.prompt!="string")},u=r=>{if(typeof r!="object"||r===null)return!1;let e=r;if(typeof e.name!="string"||e.name===""||typeof e.description!="string"||typeof e.language!="string"||!E(e.scale)||!Array.isArray(e.files)||e.files.length===0)return!1;for(let n of e.files)if(!F(n))return!1;if(e.dependencies!==void 0&&!S(e.dependencies)||e.tags!==void 0&&!Array.isArray(e.tags))return!1;if(e.requires!==void 0){if(!Array.isArray(e.requires))return!1;for(let n of e.requires)if(typeof n!="string")return!1}if(e.variables!==void 0){if(!Array.isArray(e.variables))return!1;for(let n of e.variables)if(!k(n))return!1}if(e.postInstall!==void 0){if(!Array.isArray(e.postInstall))return!1;for(let n of e.postInstall)if(typeof n!="string")return!1}return!0},g=r=>{if(typeof r!="object"||r===null)throw new Error("Registry manifest must be a JSON object");let e=r;if(e.$schema!==void 0){let i=String(e.$schema);R.some(s=>i.includes(s))||console.warn(`Warning: Registry uses unknown schema "${i}". This CLI supports v1.`)}if(typeof e.name!="string"||e.name==="")throw new Error("Registry manifest requires a non-empty 'name' field");if(typeof e.description!="string")throw new Error("Registry manifest requires a 'description' field");if(typeof e.author!="string")throw new Error("Registry manifest requires an 'author' field");if(typeof e.registryUrl!="string"||e.registryUrl==="")throw new Error("Registry manifest requires a non-empty 'registryUrl' field");if(!Array.isArray(e.recipes))throw new Error("Registry manifest requires a 'recipes' array");for(let i of e.recipes)if(!u(i)){let o=typeof i=="object"&&i!==null?i.name??"<unknown>":"<invalid>";throw new Error(`Invalid recipe definition: '${o}'`)}let n=e.recipes,t=new Set;for(let i of n){if(t.has(i.name))throw new Error(`Duplicate recipe name '${i.name}' in registry`);t.add(i.name)}return r},y=r=>{if(!u(r))throw new Error("Invalid recipe definition");return r},h=(r,e)=>{let n=r.replace(/\/{1,20}$/,""),t=e.replace(/^\/{1,20}/,"");return`${n}/${t}`};var P=3e4,T="eser",v="stack",m="main",p=".eser/recipes.json",j=`https://raw.githubusercontent.com/${T}/${v}/${m}/.eser/recipes.json`,D=p,x=r=>{let e=r.replace(/^gh:/,""),n=e.indexOf("#"),t=n===-1?e:e.slice(0,n),i=n===-1?void 0:e.slice(n+1);if(t.includes("/")){let o=t.indexOf("/"),s=t.slice(0,o),f=t.slice(o+1);return s===""||f===""?{kind:"name",name:t,ref:i}:{kind:"repo",owner:s,repo:f,ref:i??m}}return{kind:"name",name:t,ref:i}},l=async r=>await globalThis.fetch(r,{signal:AbortSignal.timeout(P)}),I=async()=>{let r=c.process.cwd();for(let e=0;e<10;e++){let n=`${r}/${p}`;try{return await c.fs.stat(n),n}catch{let t=r.replace(/\/[^/]+$/,"");if(t===r)break;r=t}}},_=async(r,e)=>{let n=r??j;if(e?.local===!0&&r===void 0){let s=await I();s!==void 0&&(n=s,e?.verbose===!0&&console.log(`Using local registry: ${s}`))}let t=n.startsWith("http://")||n.startsWith("https://");e?.verbose===!0&&console.log(`Fetching registry from: ${n}`);let i;if(t){let s=await l(n);if(!s.ok)throw new Error(`Could not reach registry at ${n}. HTTP ${s.status}`);i=await s.text()}else try{i=await c.fs.readTextFile(n)}catch{throw new Error(`Could not read registry file at ${n}`)}let o;try{o=JSON.parse(i)}catch{throw new Error(`Registry at ${n} is not valid JSON`)}return g(o)},C=async(r,e,n,t)=>{let i=`https://raw.githubusercontent.com/${r}/${e}/${n}/${p}`;return await _(i,t)},M=async(r,e)=>{let n=h(r,e),t=await l(n);if(!t.ok)throw new Error(`Could not fetch recipe file at ${n}. HTTP ${t.status}`);return await t.text()},U=r=>{let e=r.match(/^https:\/\/raw\.githubusercontent\.com\/([^/]+)\/([^/]+)\/([^/]+)(?:\/(.*))?$/);if(e!==null)return{owner:e[1],repo:e[2],ref:e[3],basePath:e[4]??""}},q=async(r,e)=>{let n=U(r);if(n===void 0)throw new Error(`Cannot fetch folder: registry URL '${r}' is not a GitHub raw URL`);let t=n.basePath?`${n.basePath}/${e}`.replace(/\/+/g,"/"):e,i=`https://api.github.com/repos/${n.owner}/${n.repo}/contents/${t}?ref=${n.ref}`,o=await l(i);if(!o.ok)throw new Error(`Could not list folder '${t}' from ${n.owner}/${n.repo}. HTTP ${o.status}`);let s=await o.json();if(!Array.isArray(s))throw new Error(`Expected directory listing for '${t}', got a file instead`);let w=s.filter(a=>a.type==="file").map(async a=>{if(a.download_url===null)throw new Error(`File '${a.path}' has no download URL (may be too large)`);let d=await l(a.download_url);if(!d.ok)throw new Error(`Could not fetch file '${a.path}'. HTTP ${d.status}`);return{path:a.path.startsWith(t)?a.path.slice(t.length).replace(/^\//,""):a.path,content:await d.text()}});return await Promise.all(w)},H=async(r,e,n="main",t="recipe.json")=>{let i=`https://raw.githubusercontent.com/${r}/${e}/${n}/${t}`,o=await l(i);if(!o.ok)throw new Error(`Could not fetch recipe from ${r}/${e}@${n}/${t}. HTTP ${o.status}`);let s;try{s=JSON.parse(await o.text())}catch{throw new Error(`Recipe file at ${r}/${e}@${n}/${t} is not valid JSON`)}return y(s)};export{P as a,T as b,v as c,m as d,p as e,j as f,D as g,x as h,l as i,I as j,_ as k,C as l,M as m,U as n,q as o,H as p};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{e as o}from"./chunk-
|
|
2
|
+
import{e as o}from"./chunk-L5OC7F24.js";var d=(e,n)=>{if(e!==void 0)for(let r of e){if(r==="--agent")return"agent";if(r==="--human")return"human"}let t=n?.agentMode;return t===!0?"agent":t===!1?"human":o()};var u=e=>e===void 0?[]:e.filter(n=>n!=="--agent"&&n!=="--human"&&n!=="--non-interactive");export{d as a,u as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as $}from"./chunk-
|
|
2
|
+
import{a as $}from"./chunk-3OG2MEF2.js";import{e as x}from"./chunk-5DWJ7WEE.js";import{i as c}from"./chunk-6DBKPC2O.js";import{Scanner as ie}from"@tailwindcss/oxide";import{compile as j}from"tailwindcss";async function L(e,s){if(e.startsWith(".")||e.startsWith("/")){let r=c.path.resolve(s,e),n=await c.fs.readTextFile(r);return{path:r,content:n,base:c.path.dirname(r)}}let t=s;for(;t!=="/"&&t!=="";){let r=c.path.resolve(t,"node_modules",e);try{let n=await c.fs.readTextFile(r);return{path:r,content:n,base:c.path.dirname(r)}}catch{if(!e.endsWith(".css")){let a=`${r}.css`;try{let o=await c.fs.readTextFile(a);return{path:a,content:o,base:c.path.dirname(a)}}catch{}}let n=c.path.resolve(t,"node_modules",e,"index.css");try{let a=await c.fs.readTextFile(n);return{path:n,content:a,base:c.path.dirname(n)}}catch{t=c.path.dirname(t)}}}let l=c.path.resolve(s,e),i=await c.fs.readTextFile(l);return{path:l,content:i,base:c.path.dirname(l)}}async function w(e,s){let t=await j(e,{base:s.base,loadStylesheet:L}),l=s.candidates??[];return t.build(l)}function v(e,s){return w(e,{base:s,candidates:[]})}var R=["theme","base","properties"],P=[/^\.(flex|grid|block|inline|hidden)/,/^\.(items-|justify-|gap-|space-)/,/^\.(w-|h-|min-h-|max-w-)/,/^\.(p-|px-|py-|pt-|pb-|pl-|pr-)/,/^\.(m-|mx-|my-|mt-|mb-|ml-|mr-)/,/^\.(text-|font-|leading-)/,/^\.(bg-|border-)/,/^\.(from-|via-|to-)/,/^\.(container|wrapper)/,/^\.(rounded|shadow)/,/^\.(overflow-)/,/^\.(sm:|md:|lg:|xl:)/],B=[/--tw-gradient/,/--tw-rotate/,/--tw-scale/,/--tw-skew/,/--tw-translate/,/--tw-shadow/,/--tw-ring/,/--tw-blur/,/--tw-brightness/];function N(){return{criticalLayers:R,aboveFoldPatterns:P,forceInclude:[],forceExclude:[]}}var b=x.getLogger(["laroux-bundler","critical-page-css"]);function W(e,s){let t=s;for(;t<e.length&&e[t]!=="{";)t++;if(t>=e.length)return null;let l=t+1,i=1;for(t++;t<e.length&&i>0;)e[t]==="{"?i++:e[t]==="}"&&i--,t++;return{innerContent:e.slice(l,t-1).trim(),end:t}}function V(e){let s=[],t="@keyframes",l=0;for(;l<e.length;){let i=e.indexOf(t,l);if(i===-1)break;let r=i+t.length;for(;r<e.length&&/\s/.test(e[r]??"");)r++;let n=r;for(;n<e.length&&e[n]!=="{"&&!/\s/.test(e[n]??"");)n++;let a=e.slice(r,n),o=n;for(;o<e.length&&e[o]!=="{";)o++;if(o>=e.length){l=e.length;break}let g=1,u=o+1;for(;u<e.length&&g>0;)e[u]==="{"?g++:e[u]==="}"&&g--,u++;let d=e.slice(i,u);s.push({name:a,block:d}),l=u}return s}function Z(e){let s=new Map,t=new Map,l=new Map,i=/@layer\s+([a-zA-Z_-][a-zA-Z0-9_-]*)\s*[{;]/g,r;for(;(r=i.exec(e))!==null;){let n=r[1];if(n===void 0||r[0].endsWith(";"))continue;let a=W(e,r.index+r[0].length-1);a&&(t.has(n)||(t.set(n,[]),l.set(n,{start:r.index,end:a.end})),t.get(n).push(a.innerContent),l.get(n).end=a.end)}for(let[n,a]of t){let o=a.join(`
|
|
3
3
|
`),g=l.get(n);s.set(n,{block:`@layer ${n} {
|
|
4
4
|
${o}
|
|
5
5
|
}`,start:g.start,end:g.end})}return s}function Y(e){let s=[],t=0;for(;t<e.length;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(t>=e.length)break;let l=t;for(;t<e.length&&e[t]!=="{";)t++;if(t>=e.length)break;let i=e.slice(l,t).trim();if(!i){t++;continue}let r=1;for(t++;t<e.length&&r>0;)e[t]==="{"?r++:e[t]==="}"&&r--,t++;let n=e.slice(l,t);i.startsWith("@media")||i.startsWith("@supports")?s.push({selector:"@media",full:n}):i&&!i.startsWith("@")&&s.push({selector:i,full:n})}return s}function H(e,s){let t=e.match(/\.([a-zA-Z_-][a-zA-Z0-9_\-\\:/.[\]]*)/g);if(t)for(let r of t){let n=r.substring(1);if(n=n.replace(/\\/g,""),n=n.split(":")[0]??"",n&&new RegExp(`class=["'][^"']*\\b${q(n)}\\b`,"i").test(s))return!0}let l=e.match(/^([a-zA-Z][a-zA-Z0-9-]*)/);if(l&&l[1]){let r=l[1].toLowerCase();if(new RegExp(`<${r}[\\s>]`,"i").test(s))return!0}let i=e.match(/#([a-zA-Z_-][a-zA-Z0-9_-]*)/g);if(i)for(let r of i){let n=r.substring(1);if(new RegExp(`id=["']${n}["']`,"i").test(s))return!0}return!1}function q(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function z(e,s){return s.some(t=>typeof t=="string"?e.includes(t):t.test(e))}function K(e){return P.some(s=>s.test(e))}function k(e){let{html:s,css:t,forceInclude:l=[],forceExclude:i=[]}=e;b.debug("Extracting critical page CSS (Tailwind v4 aware)...");let r=[],n=[],a=0,o=0,g=t.match(/^\/\*![\s\S]*?\*\//);g&&r.push(g[0]);let u=t.match(/@layer\s+[\w,-]{1,200}(?:\s+[\w,-]{1,50})*\s*;/);u&&r.push(u[0]);let d=/@property\s+--[\w-]+\s*\{[^}]{0,5000}\}/g,f=t.match(d)??[];f.length>0&&(r.push(f.join(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as a}from"./chunk-
|
|
2
|
+
import{b as a}from"./chunk-YACXTCWF.js";import{f as i,h as o,k as n}from"./chunk-SHN5MT56.js";import{i as r}from"./chunk-6DBKPC2O.js";var C=()=>{let t=r.process.isTerminal("stdout")?"interactive":"non-interactive",e=a({interaction:t});return{ctx:e,output:e.output}},d=()=>i({renderer:n.ansi(),sink:o.stdout()}),x=(s,t)=>({command:s,args:t._??[],flags:Object.fromEntries(Object.entries(t).filter(([e])=>e!=="_"))});export{C as a,d as b,x as c};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as E,b as A,c as I}from"./chunk-
|
|
2
|
+
import{a as E,b as A,c as I}from"./chunk-IIFFSCDJ.js";import{a as w}from"./chunk-LFNUSULJ.js";import{b as v}from"./chunk-O325ZU5M.js";import{f as D}from"./chunk-P2MUEKFT.js";import{b as l,f as g,g as k,h as C,i as h}from"./chunk-YVN2NZL4.js";import{g as a}from"./chunk-FFWPJP7A.js";import{j as b}from"./chunk-6DBKPC2O.js";var u=v(),O=/\/\*\*\s*([\s\S]*?)\s*\*\//g,R=/export\s+(const|function|class|type|interface)\s+(\w+)/g,$=/@example/,S=s=>{let n=[],i;for(R.lastIndex=0;(i=R.exec(s))!==null;){let e=i.index,t=i[2];if(t===void 0)continue;let c=s.substring(0,e).split(`
|
|
3
3
|
`).length,p=null,m=[...s.substring(0,e).matchAll(O)];if(m.length>0){let r=m[m.length-1];if(r!==void 0){let d=(r.index??0)+r[0].length,f=s.substring(d,e);/^\s*$/.test(f)&&(p=r[1]??null)}}n.push({jsdoc:p,symbolName:t,line:c})}return n},_=(s,n,i)=>{let e=[];if(s===null)return e.push("missing-description"),e;let t=s.split(`
|
|
4
4
|
`)[0]?.trim();return(!t||t.startsWith("@"))&&e.push("empty-description"),i&&!$.test(s)&&e.push("missing-example"),e},F=async(s={})=>{let{root:n=".",requireExamples:i=!1}=s,e=await E(n),t=[],o=0,c=0;for(let p of e){let y=await I(p.path);for(let m of y){let r=A(m,p.path),d;try{d=await b.runtime.fs.readTextFile(r)}catch{continue}o++;let f=S(d);for(let{jsdoc:T,symbolName:x,line:P}of f){c++;let M=_(T,x,i);for(let N of M)t.push({file:r,symbol:x,issue:N,line:P})}}}return{isValid:t.length===0,issues:t,filesChecked:o,symbolsChecked:c}},J=s=>{switch(s){case"missing-description":return"Missing JSDoc documentation";case"missing-param":return"Missing @param documentation";case"missing-returns":return"Missing @returns documentation";case"missing-example":return"Missing @example";case"empty-description":return"Empty description"}},j=s=>D.fromPromise(()=>F(s)),V=s=>a.ok({root:"."}),q=s=>{if(a.isFail(s))return u.writeln(g("\u2717"),l(" "+String(s.error))),a.fail({exitCode:1});let{value:n}=s;if(u.writeln(h("\u2139"),l(` Checked ${n.filesChecked} files, ${n.symbolsChecked} symbols.`)),!n.isValid){u.writeln(g("\u2717"),l(` Found ${n.issues.length} documentation issues:`));let i=new Map;for(let e of n.issues){let t=i.get(e.file)??[];t.push(e),i.set(e.file,t)}for(let[e,t]of i){u.writeln(C("\u26A0"),l(" "+e));for(let o of t){let c=o.line!==void 0?`:${o.line}`:"";u.writeln(h("\u2139"),l(` ${o.symbol}${c}: ${J(o.issue)}`))}}return a.fail({exitCode:1})}return u.writeln(k("\u2713"),l(" All documentation is valid.")),a.ok(void 0)},B=w.createTrigger({handler:j,adaptInput:V,adaptOutput:q}),Q=async s=>await B({command:"validate-docs",args:[],flags:{}});export{F as a,j as b,B as c,Q as d};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
var c=class{stdinData;stdinOffset=0;stdoutChunks=[];stderrChunks=[];instance=null;exitCode=null;constructor(e={}){this.stdinData=e.stdin??new Uint8Array(0)}getStdout(){let e=this.stdoutChunks.reduce((r,s)=>r+s.length,0),n=new Uint8Array(e),t=0;for(let r of this.stdoutChunks)n.set(r,t),t+=r.length;return new TextDecoder().decode(n)}getExitCode(){return this.exitCode}getMemory(){if(this.instance===null)throw new Error("WASI shim: instance not set");let e=this.instance.exports.memory;return new DataView(e.buffer)}getMemoryBytes(){if(this.instance===null)throw new Error("WASI shim: instance not set");let e=this.instance.exports.memory;return new Uint8Array(e.buffer)}setInstance(e){this.instance=e}start(e){this.setInstance(e);let n=e.exports._start;if(typeof n!="function")throw new Error("WASI shim: no _start export found");try{n()}catch(t){if(t instanceof b){if(this.exitCode=t.code,t.code!==0)throw t;return}throw t}}initialize(e){this.setInstance(e);let n=e.exports._initialize;if(typeof n=="function"){n();return}let t=e.exports._start;if(typeof t=="function")try{t()}catch(r){if(r instanceof b&&r.code===0)return;throw r}}get wasiImport(){return{fd_write:(e,n,t,r)=>{let s=this.getMemory(),u=this.getMemoryBytes(),o=0;for(let i=0;i<t;i++){let m=n+i*8,S=s.getUint32(m,!0),_=s.getUint32(m+4,!0),R=u.slice(S,S+_);if(e===1)this.stdoutChunks.push(R);else if(e===2)this.stderrChunks.push(R);else return 8;o+=_}return s.setUint32(r,o,!0),0},fd_read:(e,n,t,r)=>{if(e!==0)return 8;let s=this.getMemory(),u=this.getMemoryBytes(),o=0;for(let i=0;i<t;i++){let m=n+i*8,S=s.getUint32(m,!0),_=s.getUint32(m+4,!0),R=this.stdinData.length-this.stdinOffset,a=Math.min(_,R);if(a>0&&(u.set(this.stdinData.subarray(this.stdinOffset,this.stdinOffset+a),S),this.stdinOffset+=a,o+=a),a<_)break}return s.setUint32(r,o,!0),0},fd_close:e=>0,fd_seek:(e,n,t,r,s)=>52,fd_fdstat_get:(e,n)=>{let t=this.getMemory();return t.setUint8(n,2),t.setUint16(n+2,0,!0),t.setBigUint64(n+8,BigInt(0),!0),t.setBigUint64(n+16,BigInt(0),!0),e<=2?0:8},fd_fdstat_set_flags:(e,n)=>0,fd_prestat_get:(e,n)=>8,fd_prestat_dir_name:(e,n,t)=>8,proc_exit:e=>{throw this.exitCode=e,new b(e)},clock_time_get:(e,n,t)=>{let r=this.getMemory(),s=BigInt(Date.now())*BigInt(1e6);return r.setBigUint64(t,s,!0),0},environ_sizes_get:(e,n)=>{let t=this.getMemory();return t.setUint32(e,0,!0),t.setUint32(n,0,!0),0},environ_get:(e,n)=>0,args_sizes_get:(e,n)=>{let t=this.getMemory();return t.setUint32(e,0,!0),t.setUint32(n,0,!0),0},args_get:(e,n)=>0,path_open:()=>52,path_filestat_get:()=>52,path_create_directory:()=>52,path_remove_directory:()=>52,path_unlink_file:()=>52,path_rename:()=>52,path_readlink:()=>52,path_symlink:()=>52,fd_readdir:()=>52,fd_filestat_get:()=>52,fd_filestat_set_size:()=>52,fd_filestat_set_times:()=>52,fd_advise:()=>52,fd_allocate:()=>52,fd_datasync:()=>52,fd_sync:()=>52,fd_pread:()=>52,fd_pwrite:()=>52,fd_renumber:()=>52,fd_tell:()=>52,poll_oneoff:(e,n,t,r)=>{let s=this.getMemory();for(let u=0;u<t;u++){let o=e+u*48,i=n+u*32,m=s.getBigUint64(o,!0);s.setBigUint64(i,m,!0),s.setUint16(i+8,0,!0),s.setUint8(i+10,s.getUint8(o+8))}return s.setUint32(r,t,!0),0},random_get:(e,n)=>{let t=this.getMemoryBytes(),r=new Uint8Array(n);return crypto.getRandomValues(r),t.set(r,e),0},sched_yield:()=>0,sock_accept:()=>52,sock_recv:()=>52,sock_send:()=>52,sock_shutdown:()=>52}}},b=class extends Error{code;constructor(e){super(`WASI proc_exit(${e})`),this.name="WasiExitError",this.code=e}};export{c as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as o}from"./chunk-
|
|
2
|
+
import{a as o}from"./chunk-ATYDQCCJ.js";import{a as l}from"./chunk-2XNFZXHY.js";import{e as n}from"./chunk-5WJ6AUNY.js";var i=n(l(),1);var a=o({name:"validate-yaml",description:"Validate YAML syntax",canFix:!1,stacks:[],defaults:{},extensions:["yml","yaml"],checkFile(e,r){if(r===void 0)return[];try{return i.parse(r),[]}catch(t){let s=t instanceof Error?t.message:"invalid YAML";return[{path:e.path,message:s}]}}}),d=a.run,u=a.validator,f=a.main;export{a,d as b,u as c,f as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as n}from"./chunk-
|
|
2
|
+
import{a as n}from"./chunk-ATYDQCCJ.js";var e=n({name:"validate-case-conflict",description:"Detect filenames that differ only by case",canFix:!1,stacks:[],defaults:{},checkAll(r){let o=new Map,s=[];for(let t of r){let a=t.path.toLowerCase(),i=o.get(a);i!==void 0?s.push({path:t.path,message:`case conflict with "${i}"`}):o.set(a,t.path)}return s}}),f=e.run,m=e.validator,d=e.main;export{e as a,f as b,m as c,d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as s}from"./chunk-
|
|
2
|
+
import{a as s}from"./chunk-ATYDQCCJ.js";var l=[/^<{7}\s/,/^={7}$/,/^>{7}\s/],i=s({name:"validate-merge-conflict",description:"Detect merge conflict markers",canFix:!1,stacks:[],defaults:{},checkFile(a,o){if(o===void 0)return[];let r=[],e=o.split(`
|
|
3
3
|
`);for(let t=0;t<e.length;t++)for(let n of l)if(n.test(e[t])){r.push({path:a.path,line:t+1,message:`merge conflict marker: ${e[t].slice(0,20)}`});break}return r}}),f=i.run,u=i.validator,d=i.main;export{i as a,f as b,u as c,d};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as u}from"./chunk-MG65QJY6.js";import{a as p,b as f}from"./chunk-FFWPJP7A.js";import{i as x}from"./chunk-
|
|
2
|
+
import{a as u}from"./chunk-MG65QJY6.js";import{a as p,b as f}from"./chunk-FFWPJP7A.js";import{i as x}from"./chunk-6DBKPC2O.js";var h=t=>{let e=[],n=[],i={},s={};for(let r of t)r.type==="boolean"?e.push(r.name):n.push(r.name),r.short!==void 0&&(i[r.short]=r.name),r.default!==void 0&&(s[r.name]=r.default);return{boolean:e,string:n,alias:i,default:s}},T=t=>t!=null&&t.constructor===String,V={boolean:t=>!!t,number:t=>T(t)?Number(t):t,string:t=>String(t),"string[]":t=>Array.isArray(t)?t.map(String):[String(t)]},v=(t,e)=>{if(t!==void 0)return V[e]?.(t)??t},$=(t,e)=>{let n={};for(let i of e){let s=t[i.name];n[i.name]=v(s,i.type)}return n},ie=(t,e)=>{let n=h(e),i=u(t,n);return{positional:i._,flags:$(i,e)}},_=(t,e)=>{let n=[];for(let i of e)if(i.required===!0){let s=t[i.name];(s===void 0||s===""||s===!1)&&n.push(`Required flag --${i.name} is missing`)}return n};var O=(t,e)=>t+" ".repeat(Math.max(0,e-t.length)),U=t=>{let e=t.short!==void 0?`-${t.short}, `:"",n=t.type!=="boolean"?` <${t.type}>`:"";return`${e}--${t.name}${n}`},q=(t,e)=>[t.description!==void 0?`${e} - ${t.description}`:e,""],B=(t,e)=>{if(t.usage!==void 0)return["Usage:",` ${t.usage}`,""];let n=t.children.length>0?" <command>":"",i=t.flags.length>0?" [options]":"";return["Usage:",` ${e}${n}${i}`,""]},I=t=>{if(t.length===0)return[];let e=s=>s.aliases!==void 0&&s.aliases.length>0?`${s.name}, ${s.aliases.join(", ")}`:s.name,n=Math.max(...t.map(s=>e(s).length));return["Commands:",...t.map(s=>` ${O(e(s),n+2)}${s.description??""}`),""]},Y=t=>{if(t.length===0)return[];let e=t.map(s=>({flag:U(s),desc:s.description})),n=Math.max(...e.map(s=>s.flag.length));return["Options:",...e.map(({flag:s,desc:r})=>` ${O(s,n+2)}${r}`),""]},Z=t=>t?.length?["Examples:",...t.map(e=>` ${e}`),""]:[],M=(t,e)=>{let n=e.join(" "),i=[...q(t,n),...B(t,n),...I(t.children),...Y(t.flags),...Z(t.examples)];return t.children.length>0&&i.push(`Run '${n} <command> --help' for more information on a command.`),i.join(`
|
|
3
3
|
`)};var w=t=>{let e=[];for(let n of t)e.push(`--${n.name}`),n.short!==void 0&&e.push(`-${n.short}`);return e.join(" ")},k=(t,e)=>{if(t.children===void 0||t.children.length===0)return"";let n=t.children.map(o=>o.name).join(" "),i=t.flags!==void 0?w(t.flags):"",s=[n,i].filter(o=>o.length>0).join(" "),r=` ${e})
|
|
4
4
|
`;r+=` COMPREPLY=( $(compgen -W "${s}" -- "\${cur}") )
|
|
5
5
|
`,r+=` return 0
|
|
@@ -77,7 +77,7 @@ complete -F _${t}_completions ${t}
|
|
|
77
77
|
`;return n+=`# ${t} zsh completion
|
|
78
78
|
`,n+=`# Generated by @eser/shell/completions
|
|
79
79
|
|
|
80
|
-
`,n+=P(t,e,[]),n};var S=t=>t.replace(/[\\'
|
|
80
|
+
`,n+=P(t,e,[]),n};var S=t=>t.replace(/[\\'"$`(){}|&;<>#~*?!\^]/g,"\\$&"),ee=(t,e,n)=>{let i="";for(let s of e){let r=S(s.description??`${s.name} flag`),o=`complete -c ${t} ${n}`;o+=` -l ${s.name}`,s.short!==void 0&&(o+=` -s ${s.short}`),s.takesValue===!0&&(o+=" -r"),o+=` -d '${r}'`,i+=o+`
|
|
81
81
|
`}return i},A=(t,e,n)=>{let i="",s;if(n.length===0?s="-n __fish_use_subcommand":s=`-n "${n.map(o=>`__fish_seen_subcommand_from ${o}`).join("; and ")}"`,e.children!==void 0&&e.children.length>0){for(let r of e.children){let o=S(r.description??r.name);if(n.length===0)i+=`complete -c ${t} -f ${s} `,i+=`-a "${r.name}" -d '${o}'
|
|
82
82
|
`;else{let a=`-n "__fish_seen_subcommand_from ${n[n.length-1]}"`;i+=`complete -c ${t} -f ${a} `,i+=`-a "${r.name}" -d '${o}'
|
|
83
83
|
`}}for(let r of e.children)i+=A(t,r,[...n,r.name])}return e.flags!==void 0&&e.flags.length>0&&(i+=ee(t,e.flags,s)),i},j=(t,e)=>{let n=`# ${t} fish completion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as D,p as w}from"./chunk-YVN2NZL4.js";import{i as g}from"./chunk-
|
|
2
|
+
import{a as D,p as w}from"./chunk-YVN2NZL4.js";import{i as g}from"./chunk-6DBKPC2O.js";import{d as j}from"./chunk-5WJ6AUNY.js";var v=class extends Error{constructor(r){super(r),this.name="StreamError"}},b=class extends v{cause;constructor(r,n){super(r),this.name="PipelineError",this.cause=n}},x=class extends v{constructor(r){super(`Pipeline timed out after ${r}ms`),this.name="TimeoutError"}};var f=(e,r)=>{let n=typeof e=="string"?"text":e instanceof Uint8Array?"bytes":"structured";return{data:e,meta:{timestamp:Date.now(),kind:n,channel:"stdout",...r}}};var T=e=>({name:e.name,transform:()=>{let r=e.create();return new TransformStream({start:r.start?n=>r.start(n):void 0,transform:(n,t)=>r.transform(n,t),flush:r.flush?n=>r.flush(n):void 0})}});var L=e=>{switch(e.kind){case"text":return e.value;case"newline":return`
|
|
3
3
|
`;case"bold":case"dim":case"italic":case"underline":case"strikethrough":case"color":case"group":return e.children.map(L).join("");case"code-block":return e.value.split(`
|
|
4
4
|
`).map(r=>` ${r}`).join(`
|
|
5
5
|
`)+`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as C,c as E}from"./chunk-
|
|
2
|
+
import{a as C,c as E}from"./chunk-IIFFSCDJ.js";import{a as k}from"./chunk-LFNUSULJ.js";import{b as x}from"./chunk-O325ZU5M.js";import{f as h}from"./chunk-P2MUEKFT.js";import{b as i,f as d,g as f,h as u,i as g}from"./chunk-YVN2NZL4.js";import{g as n}from"./chunk-FFWPJP7A.js";import{j as c}from"./chunk-6DBKPC2O.js";var l=x(),b=t=>{let e=new Set,r=/export\s+\*\s+from\s+["']([^"']+)["']/g,a=/export\s+\{[^}]*\}\s+from\s+["']([^"']+)["']/g,o=/export\s+type\s+\{[^}]*\}\s+from\s+["']([^"']+)["']/g;for(let s of t.matchAll(r))s[1]!==void 0&&e.add(s[1]);for(let s of t.matchAll(a))s[1]!==void 0&&e.add(s[1]);for(let s of t.matchAll(o))s[1]!==void 0&&e.add(s[1]);return e},y=t=>{let e=t.startsWith("./")?t.slice(2):t;return e.endsWith(".ts")&&(e=e.slice(0,-3)),e},O=t=>!(t==="mod.ts"||t.endsWith("_test.ts")||t.endsWith("_bench.ts")||t.startsWith("_")||t.includes("/")),P=async(t={})=>{let{root:e=".",failFast:r=!1}=t,a=await C(e),o=[];for(let s of a){let v=c.runtime.path.join(s.path,"mod.ts"),m;try{m=await c.runtime.fs.readTextFile(v)}catch{continue}let M=b(m),w=new Set([...M].map(p=>y(p))),A=await E(s.path);for(let p of A){let R=c.runtime.path.basename(p);if(!O(R))continue;let F=y(p);if(!w.has(F)&&(o.push({packageName:s.name,file:p}),r))return{isComplete:!1,missingExports:o,packagesChecked:a.length}}}return{isComplete:o.length===0,missingExports:o,packagesChecked:a.length}},W=t=>h.fromPromise(()=>P(t)),_=t=>n.ok({root:"."}),z=t=>{if(n.isFail(t))return l.writeln(d("\u2717"),i(" "+String(t.error))),n.fail({exitCode:1});let{value:e}=t;if(l.writeln(g("\u2139"),i(` Checked ${e.packagesChecked} packages.`)),!e.isComplete){l.writeln(d("\u2717"),i(` Found ${e.missingExports.length} missing exports:`));for(let r of e.missingExports)l.writeln(u("\u26A0"),i(` ${r.packageName}: ${r.file}`));return n.fail({exitCode:1})}return l.writeln(f("\u2713"),i(" All mod.ts exports are complete.")),n.ok(void 0)},S=k.createTrigger({handler:W,adaptInput:_,adaptOutput:z}),N=async t=>await S({command:"validate-mod-exports",args:[],flags:{}});export{P as a,W as b,S as c,N as d};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as F}from"./chunk-2XNFZXHY.js";import{i as s}from"./chunk-6DBKPC2O.js";import{e as D}from"./chunk-5WJ6AUNY.js";var f=()=>({version:"0.1.0",phase:"IDLE",spec:null,specDescription:null,branch:null,discovery:{answers:[],completed:!1,currentQuestion:0,audience:"human",approved:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},decisions:[],lastCalledAt:null,classification:null,completionReason:null,completedAt:null,completionNote:null,reopenedFrom:null,revisitHistory:[]}),k=(e,t,r,n)=>({concerns:e,tools:t,providers:r,project:n,maxIterationsBeforeRestart:15,verifyCommand:null,allowGit:!1,command:"npx eser@latest noskills"});var l=D(F(),1);var i=".eser",c=`${i}/.state`,S=`${c}/state.json`,m=`${i}/manifest.yml`,y=`${i}/concerns`,h=`${i}/rules`,u=`${i}/specs`,w=`${i}/workflows`,p=`${c}/specs`,P=`${c}/active.json`,a=`${i}/.sessions`,d={eserDir:i,stateDir:c,stateFile:S,manifestFile:m,concernsDir:y,rulesDir:h,specsDir:u,workflowsDir:w,specStatesDir:p,activeFile:P,specDir:e=>`${u}/${e}`,specFile:e=>`${u}/${e}/spec.md`,specStateFile:e=>`${p}/${e}.json`,concernFile:e=>`${y}/${e}.json`,sessionsDir:a,sessionFile:e=>`${a}/${e}.json`,eserGitignore:`${i}/.gitignore`},x=async e=>{let t=`${e}/${S}`;try{let r=await s.fs.readTextFile(t);return JSON.parse(r)}catch{return f()}},O=async(e,t)=>{if(t==null)return x(e);let r=`${e}/${d.specDir(t)}`;try{await s.fs.stat(r)}catch{throw new Error(`Spec '${t}' not found. Run \`noskills spec list\` to see available specs.`)}let n=await E(e,t);if(n.spec===t)return n;let o=await x(e);return o.spec===t?o:{...n,spec:t}};var I=e=>{if(e===void 0)return null;for(let t of e)if(t.startsWith("--spec="))return t.slice(7);return null},_=e=>{let t=I(e);return t===null||t.length===0?{ok:!1,error:"Error: spec name is required. Use `noskills spec <name> <command>` format."}:{ok:!0,spec:t}},T=async(e,t)=>{let r=`${e}/${c}`,n=`${e}/${S}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(n,JSON.stringify(t,null,2)+`
|
|
3
|
+
`)};var E=async(e,t)=>{let r=`${e}/${d.specStateFile(t)}`;try{let n=await s.fs.readTextFile(r);return JSON.parse(n)}catch{return f()}},b=async(e,t,r)=>{let n=`${e}/${p}`,o=`${e}/${d.specStateFile(t)}`;await s.fs.mkdir(n,{recursive:!0}),await s.fs.writeTextFile(o,JSON.stringify(r,null,2)+`
|
|
4
|
+
`)},j=async e=>{let t=`${e}/${p}`,r=[];try{for await(let n of s.fs.readDir(t))if(n.isFile&&n.name.endsWith(".json")){let o=n.name.replace(/\.json$/,""),g=await s.fs.readTextFile(`${t}/${n.name}`);r.push({name:o,state:JSON.parse(g)})}}catch{}return r},L=async e=>{let t=`${e}/${m}`;try{let r=await s.fs.readTextFile(t),n=l.parse(r);return n?.noskills===void 0?null:n.noskills}catch{return null}},J=async(e,t)=>{let r=`${e}/${m}`,n;try{let g=await s.fs.readTextFile(r);n=l.parseDocument(g)}catch{n=new l.Document({})}let o=n.createNode(t);o.commentBefore=" noskills orchestrator \u2014 inline comments in this section won't be preserved on next write",n.set("noskills",o),await s.fs.writeTextFile(r,n.toString())},M=async(e,t)=>{let r=`${e}/${d.concernFile(t)}`;try{let n=await s.fs.readTextFile(r);return JSON.parse(n)}catch{return null}},V=async(e,t)=>{let r=`${e}/${y}`,n=`${e}/${d.concernFile(t.id)}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(n,JSON.stringify(t,null,2)+`
|
|
5
|
+
`)},W=async e=>{let t=`${e}/${y}`,r=[];try{for await(let n of s.fs.readDir(t))if(n.isFile&&n.name.endsWith(".json")){let o=await s.fs.readTextFile(`${t}/${n.name}`);r.push(JSON.parse(o))}}catch{}return r},G=async e=>{let t=[i,c,p,y,h,u,w];for(let n of t)await s.fs.mkdir(`${e}/${n}`,{recursive:!0});let r=`${e}/${d.eserGitignore}`;try{await s.fs.stat(r)}catch{await s.fs.writeTextFile(r,`# eser toolchain runtime state \u2014 not tracked by git
|
|
6
|
+
.state/
|
|
7
|
+
.sessions/
|
|
8
|
+
`)}},U=async(e,t)=>{await T(e,t),t.spec!==null&&await b(e,t.spec,t)},$=2*60*60*1e3,q=async(e,t)=>{let r=`${e}/${a}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(`${r}/${t.id}.json`,JSON.stringify(t,null,2)+`
|
|
9
|
+
`)},C=async(e,t)=>{try{let r=await s.fs.readTextFile(`${e}/${a}/${t}.json`);return JSON.parse(r)}catch{return null}},R=async e=>{let t=`${e}/${a}`,r=[];try{for await(let n of s.fs.readDir(t))if(n.isFile&&n.name.endsWith(".json"))try{let o=await s.fs.readTextFile(`${t}/${n.name}`);r.push(JSON.parse(o))}catch{}}catch{}return r},A=async(e,t)=>{try{return await s.fs.remove(`${e}/${a}/${t}.json`),!0}catch{return!1}},H=async(e,t,r)=>{let n=await C(e,t);if(n===null)return;let o={...n,phase:r,lastActiveAt:new Date().toISOString()};await s.fs.writeTextFile(`${e}/${a}/${t}.json`,JSON.stringify(o,null,2)+`
|
|
10
|
+
`)},B=async e=>{let t=await R(e),r=Date.now(),n=[];for(let o of t)r-new Date(o.lastActiveAt).getTime()>$&&(await A(e,o.id),n.push(o.id));return n},K=e=>Date.now()-new Date(e.lastActiveAt).getTime()>$,Q=()=>{let e=new Uint8Array(4);return crypto.getRandomValues(e),Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},Y=async e=>{try{let t=await s.fs.readTextFile(`${e}/${m}`);return l.parse(t)?.noskills!==void 0}catch{return!1}};export{f as a,k as b,d as c,x as d,O as e,I as f,_ as g,T as h,b as i,j,L as k,J as l,M as m,V as n,W as o,G as p,U as q,q as r,C as s,R as t,A as u,H as v,B as w,K as x,Q as y,Y as z};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as v}from"./chunk-
|
|
2
|
+
import{b as v}from"./chunk-6G6UVWJN.js";import*as t from"node:fs/promises";import*as w from"node:fs";import*as i from"node:path";import*as F from"node:os";import n from"node:process";import{Readable as b,Writable as g}from"node:stream";var p=e=>({isFile:e.isFile(),isDirectory:e.isDirectory(),isSymlink:e.isSymbolicLink(),size:e.size,mtime:e.mtime,atime:e.atime,birthtime:e.birthtime}),l=(e,r)=>{throw e instanceof Error&&"code"in e&&e.code==="ENOENT"?new v(r):e},x=()=>({async readFile(e,r){try{let s=await t.readFile(e,{signal:r?.signal});return new Uint8Array(s)}catch(s){return l(s,e)}},async readTextFile(e,r){try{return await t.readFile(e,{encoding:"utf-8",signal:r?.signal})}catch(s){return l(s,e)}},async writeFile(e,r,s){let a=s?.append?"a":"w";await t.writeFile(e,r,{signal:s?.signal,mode:s?.mode,flag:a})},async writeTextFile(e,r,s){let a=s?.append?"a":"w";await t.writeFile(e,r,{encoding:"utf-8",signal:s?.signal,mode:s?.mode,flag:a})},async exists(e){try{return await t.access(e),!0}catch{return!1}},async stat(e){try{let r=await t.stat(e);return p(r)}catch(r){return l(r,e)}},async lstat(e){try{let r=await t.lstat(e);return p(r)}catch(r){return l(r,e)}},async mkdir(e,r){await t.mkdir(e,{recursive:r?.recursive??!1,mode:r?.mode})},async ensureDir(e){await t.mkdir(e,{recursive:!0})},async remove(e,r){try{await t.rm(e,{recursive:r?.recursive??!1,force:!1})}catch(s){l(s,e)}},async*readDir(e){try{let r=await t.readdir(e,{withFileTypes:!0});for(let s of r)yield{name:s.name,isFile:s.isFile(),isDirectory:s.isDirectory(),isSymlink:s.isSymbolicLink()}}catch(r){l(r,e)}},async copyFile(e,r){await t.copyFile(e,r)},async rename(e,r){await t.rename(e,r)},async makeTempDir(e){let r=e?.dir??F.tmpdir(),s=e?.prefix??"",a=e?.suffix??"",c=await t.mkdtemp(i.join(r,s));if(a){let m=c+a;return await t.rename(c,m),m}return c},async realPath(e){try{return await t.realpath(e)}catch(r){return l(r,e)}},watch(e,r){let s=r?.recursive??!0,a=[],c=[],m=[],u=!1,f=o=>{u||(m.length>0?m.shift()({value:o,done:!1}):c.push(o))};for(let o of e)try{let d=w.watch(o,{recursive:s},(y,P)=>{P!==null&&f({kind:y==="rename"?"create":"modify",paths:[i.join(o,P)]})});a.push(d)}catch{}return{close:()=>{u=!0;for(let o of a)o.close();for(let o of m)o({value:void 0,done:!0});m=[]},[Symbol.asyncIterator]:()=>({next:()=>u?Promise.resolve({value:void 0,done:!0}):c.length>0?Promise.resolve({value:c.shift(),done:!1}):new Promise(o=>{m.push(o)})})}},async chmod(e,r){await t.chmod(e,r)},async*walk(e,r){let s=r?.includeDirs??!0,a=r?.includeFiles??!0,c=r?.exts,m=r?.skip,u=async function*(f){let o=await t.readdir(f,{withFileTypes:!0});for(let d of o){let y=i.join(f,d.name);if(m?.some(h=>h.test(y)))continue;let P=d.isSymbolicLink();if(d.isDirectory())s&&(yield{path:y,name:d.name,isFile:!1,isDirectory:!0,isSymlink:P}),yield*u(y);else if(d.isFile()||P){if(!a||c&&!c.some(h=>d.name.endsWith(h.startsWith(".")?h:`.${h}`)))continue;yield{path:y,name:d.name,isFile:d.isFile(),isDirectory:!1,isSymlink:P}}}};yield*u(e)}}),W=()=>({join:i.join,resolve:i.resolve,dirname:i.dirname,basename:i.basename,extname:i.extname,normalize:i.normalize,isAbsolute:i.isAbsolute,relative:i.relative,parse:i.parse,format:i.format,sep:i.sep,delimiter:i.delimiter}),R=()=>({get(e){return n.env[e]},set(e,r){n.env[e]=r},delete(e){delete n.env[e]},has(e){return e in n.env},toObject(){let e={};for(let[r,s]of Object.entries(n.env))s!==void 0&&(e[r]=s);return e}}),T=()=>({exit(e){n.exit(e)},setExitCode(e){n.exitCode=e},cwd(){return n.cwd()},chdir(e){n.chdir(e)},hostname(){return F.hostname()},execPath(){return n.execPath},argv:n.argv,argv0:n.argv0,args:n.argv.slice(2),pid:n.pid,stdin:b.toWeb(n.stdin),stdout:g.toWeb(n.stdout),stderr:g.toWeb(n.stderr),isTerminal(e){switch(e){case"stdin":return n.stdin.isTTY===!0;case"stdout":return n.stdout.isTTY===!0;case"stderr":return n.stderr.isTTY===!0}},setStdinRaw(e){n.stdin.setRawMode(e)},writeToStdout(e){n.stdout.write(e)},consoleSize(){return{columns:n.stdout.columns??80,rows:n.stdout.rows??24}}});export{x as a,W as b,R as c,T as d};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as
|
|
2
|
+
import{a as S,b as G,c as R}from"./chunk-L5OC7F24.js";import{e as ee}from"./chunk-J2Z7NG2X.js";import{f as p,h as u,k as d}from"./chunk-SHN5MT56.js";import{b as r,d as i,f as w,g as y,h as Z,k as l}from"./chunk-YVN2NZL4.js";import{d as v}from"./chunk-GVTM4EOU.js";import{a as k}from"./chunk-DM6U63HP.js";import{a as f,b as g}from"./chunk-FFWPJP7A.js";import{g as T,i as m}from"./chunk-6DBKPC2O.js";import{g as ie,m as O,n as K,o as I,p as le}from"./chunk-6G6UVWJN.js";var de="# eser CLI completions",B="eser",te=async e=>{try{return await m.fs.readTextFile(e)}catch{return""}},me=async e=>{try{return await m.fs.stat(e),!0}catch{return!1}},se=async e=>{let t=R(e,B);if(t.completionType==="file")return await me(t.completionsFile);let s=await te(t.rcFile),n=G(e,B);return s.includes(n)},ne=async e=>{let t=R(e,B),s=p({renderer:d.ansi(),sink:u.stdout()});try{if(t.completionType==="file"){let n=t.completionsFile,o=m.path.dirname(n);try{await m.fs.mkdir(o,{recursive:!0})}catch{}await m.fs.writeTextFile(n,`# eser CLI completions
|
|
3
3
|
# This file is auto-generated. Run 'eser system completions --shell fish' to regenerate.
|
|
4
4
|
complete -c eser -f
|
|
5
5
|
complete -c eser -n "__fish_use_subcommand" -a "codebase" -d "Codebase management tools"
|
|
@@ -17,37 +17,37 @@ ${o}
|
|
|
17
17
|
`).filter(a=>!a.includes("eser system completions")).filter(a=>a!==de).join(`
|
|
18
18
|
`).replace(/\n{3,}/g,`
|
|
19
19
|
|
|
20
|
-
`);await m.fs.writeTextFile(t.rcFile,c),s.writeln(r(" "),i("Removed completions from"),r(" "),l(t.rcFile))}}catch(n){s.writeln(Z(` Warning: Could not remove shell completions: ${n instanceof Error?n.message:String(n)}`))}await s.close()};var M=m,ye={command:"eser",devCommand:"deno task cli",npmPackage:"eser",jsrPackage:"@eser/cli"},ue={deno:{cmd:"deno",args:["install","-r","-g","-A","--name","eser","jsr:@eser/cli"]},node:{cmd:"npm",args:["install","-g","-f","eser"]},bun:{cmd:"bun",args:["install","-g","-f","eser"]}},ve=async()=>{let e=I(),t=M.path.join(e,".local","bin");try{return await M.fs.stat(t),t}catch{}return"/usr/local/bin"},
|
|
20
|
+
`);await m.fs.writeTextFile(t.rcFile,c),s.writeln(r(" "),i("Removed completions from"),r(" "),l(t.rcFile))}}catch(n){s.writeln(Z(` Warning: Could not remove shell completions: ${n instanceof Error?n.message:String(n)}`))}await s.close()};var M=m,ye={command:"eser",devCommand:"deno task cli",npmPackage:"eser",jsrPackage:"@eser/cli"},ue={deno:{cmd:"deno",args:["install","-r","-g","-A","--name","eser","jsr:@eser/cli"]},node:{cmd:"npm",args:["install","-g","-f","eser"]},bun:{cmd:"bun",args:["install","-g","-f","eser"]}},ve=async()=>{let e=I(),t=M.path.join(e,".local","bin");try{return await M.fs.stat(t),t}catch{}return"/usr/local/bin"},Ee=async()=>{let e=M.process.execPath(),t=await ve(),s=M.path.join(t,"eser"),n=p({renderer:d.ansi(),sink:u.stdout()});n.writeln(r("Install method: "),l("compiled binary")),n.writeln(i(`Copying to ${s}...`));try{await M.fs.copyFile(e,s),await M.fs.chmod(s,493)}catch(a){if(a instanceof Error&&"code"in a&&a.code==="EACCES"||typeof Deno<"u"&&a instanceof Deno.errors.PermissionDenied)return n.writeln(w(`
|
|
21
21
|
Permission denied writing to ${t}.
|
|
22
|
-
Try: sudo eser install`)),await n.close(),g({exitCode:1});throw await n.close(),a}n.writeln(
|
|
23
|
-
Installation complete!`)),n.writeln(r("You can now use "),l("eser"),r(" from anywhere in your terminal."));let o=
|
|
24
|
-
Setting up `),l(o),r(" completions...")),await ne(o);let a=R(o);a.completionType==="eval"&&n.writeln(i(` Restart your shell or run 'source ${a.rcFile}' to enable completions.`))}return await n.close(),f(void 0)},
|
|
25
|
-
Installation failed.`)),await s.close(),g({exitCode:a.code});s.writeln(
|
|
26
|
-
Installation complete!`)),s.writeln(r("You can now use "),l("eser"),r(" from anywhere in your terminal."));let x=
|
|
27
|
-
Setting up `),l(x),r(" completions...")),await ne(x);let
|
|
22
|
+
Try: sudo eser install`)),await n.close(),g({exitCode:1});throw await n.close(),a}n.writeln(y(`
|
|
23
|
+
Installation complete!`)),n.writeln(r("You can now use "),l("eser"),r(" from anywhere in your terminal."));let o=S();if(!await se(o)){n.writeln(r(`
|
|
24
|
+
Setting up `),l(o),r(" completions...")),await ne(o);let a=R(o);a.completionType==="eval"&&n.writeln(i(` Restart your shell or run 'source ${a.rcFile}' to enable completions.`))}return await n.close(),f(void 0)},ke=async e=>{let t=await T(ye);if(t.invoker==="binary")return await Ee();let s=p({renderer:d.ansi(),sink:u.stdout()});s.writeln(r("Detected runtime: "),l(t.runtime));let n=ue[t.runtime]??ue.node,{cmd:o,args:c}=n;s.writeln(i(`Running: ${o} ${c.join(" ")}`)),s.writeln();let a=await v`${o} ${c}`.stdout("inherit").stderr("inherit").noThrow().spawn();if(!a.success)return s.writeln(w(`
|
|
25
|
+
Installation failed.`)),await s.close(),g({exitCode:a.code});s.writeln(y(`
|
|
26
|
+
Installation complete!`)),s.writeln(r("You can now use "),l("eser"),r(" from anywhere in your terminal."));let x=S();if(!await se(x)){s.writeln(r(`
|
|
27
|
+
Setting up `),l(x),r(" completions...")),await ne(x);let q=R(x);q.completionType==="eval"&&s.writeln(i(` Restart your shell or run 'source ${q.rcFile}' to enable completions.`))}return await s.close(),f(void 0)};var Pe={deno:{cmd:"deno",args:["uninstall","-g","eser"]},node:{cmd:"npm",args:["uninstall","-g","eser"]},bun:{cmd:"bun",args:["remove","-g","eser"]}},$e=async e=>{let t=ie(),s=p({renderer:d.ansi(),sink:u.stdout()});s.writeln(r("Detected runtime: "),l(t));let n=Pe[t];if(n===void 0){let H=d.ansi();return await s.close(),g({message:`${H.render([w(`
|
|
28
28
|
Unsupported runtime: ${t}`)])}
|
|
29
|
-
Global uninstallation is only supported for Deno, Node.js, and Bun.`,exitCode:1})}let{cmd:o,args:c}=n,a=
|
|
29
|
+
Global uninstallation is only supported for Deno, Node.js, and Bun.`,exitCode:1})}let{cmd:o,args:c}=n,a=S();s.writeln(r(`
|
|
30
30
|
Removing `),l(a),r(" completions...")),await pe(a),s.writeln(i(`
|
|
31
|
-
Running: ${o} ${c.join(" ")}`)),s.writeln();let x=await
|
|
31
|
+
Running: ${o} ${c.join(" ")}`)),s.writeln();let x=await v`${o} ${c}`.stdout("inherit").stderr("inherit").noThrow().spawn();return x.success?(s.writeln(y(`
|
|
32
32
|
Uninstallation complete!`)),s.writeln(r("The "),l("eser"),r(" command has been removed from your system.")),await s.close(),f(void 0)):(s.writeln(w(`
|
|
33
|
-
Uninstallation failed.`)),await s.close(),g({exitCode:x.code}))};var z=m,fe=".cache/eser",Re="latest-version.json",
|
|
34
|
-
`)),e.writeln(r("Checking for updates..."));let t=await
|
|
33
|
+
Uninstallation failed.`)),await s.close(),g({exitCode:x.code}))};var z=m,fe=".cache/eser",Re="latest-version.json",Ae=24*60*60*1e3,_e="https://api.github.com/repos/eser/stack/releases/latest",he=()=>{let e=I();return z.path.join(e,fe,Re)},Te=()=>{let e=I();return z.path.join(e,fe)},Se=async()=>{try{let e=he();if(!await z.fs.exists(e))return;let s=await z.fs.readTextFile(e),n=JSON.parse(s);return typeof n.latestVersion!="string"||typeof n.checkedAt!="number"?void 0:n}catch{return}},be=async e=>{try{let t=Te();await z.fs.ensureDir(t);let s=he(),n={latestVersion:e,checkedAt:Date.now()};await z.fs.writeTextFile(s,JSON.stringify(n))}catch{}},He=async()=>{try{let e=await fetch(_e,{headers:{Accept:"application/vnd.github.v3+json"}});if(!e.ok)return;let s=(await e.json()).tag_name;return typeof s!="string"?void 0:s.startsWith("v")?s.slice(1):s}catch{return}},J=async()=>{try{let e=k.version,t=await Se();if(t!==void 0&&Date.now()-t.checkedAt<Ae)return{latestVersion:t.latestVersion,currentVersion:e,updateAvailable:ee(e,t.latestVersion)};let s=await He();return s===void 0?void 0:(await be(s),{latestVersion:s,currentVersion:e,updateAvailable:ee(e,s)})}catch{return}};var E=m,Ie={command:"eser",devCommand:"deno task cli",npmPackage:"eser",jsrPackage:"@eser/cli"},we={deno:{cmd:"deno",args:["install","-r","-g","-A","-f","--name","eser","jsr:@eser/cli"]},node:{cmd:"npm",args:["update","-g","-f","eser"]},bun:{cmd:"bun",args:["update","-g","-f","eser"]}},De={"linux-amd64":"x86_64-unknown-linux-gnu","linux-arm64":"aarch64-unknown-linux-gnu","darwin-amd64":"x86_64-apple-darwin","darwin-arm64":"aarch64-apple-darwin","windows-amd64":"x86_64-pc-windows-msvc"},Fe=()=>{let e=O(),t=K(),s=`${e}-${t}`;return De[s]},Ue=async()=>{let e=p({renderer:d.ansi(),sink:u.stdout()});e.writeln(r("Install method: "),l("compiled binary")),e.writeln(r("Current version: "),l(k.version),r(`
|
|
34
|
+
`)),e.writeln(r("Checking for updates..."));let t=await J();if(t===void 0)return e.writeln(w("Could not check for updates.")),await e.close(),g({exitCode:1});if(!t.updateAvailable)return e.writeln(y(`
|
|
35
35
|
Already up to date (v${k.version}).`)),await e.close(),f(void 0);e.writeln(r(`
|
|
36
|
-
New version available: `),l(`v${t.latestVersion}`));let s=Fe();if(s===void 0){let
|
|
37
|
-
Unsupported platform: ${
|
|
38
|
-
Failed to download: HTTP ${H.status}`)),await e.close(),g({exitCode:1});let
|
|
39
|
-
`).find(j=>j.includes(a));if(
|
|
40
|
-
SHA256 checksum verification failed.`)),await e.close(),g({exitCode:1});e.writeln(i("Checksum verified."))}}let
|
|
36
|
+
New version available: `),l(`v${t.latestVersion}`));let s=Fe();if(s===void 0){let C=O(),L=K();return e.writeln(w(`
|
|
37
|
+
Unsupported platform: ${C}-${L}`)),await e.close(),g({exitCode:1})}let n=`v${t.latestVersion}`,o=O()==="windows",a=`eser-${n}-${s}.${o?"zip":"tar.gz"}`,x=`https://github.com/eser/stack/releases/download/${n}`;e.writeln(i(`Downloading ${a}...`));let H=await fetch(`${x}/${a}`);if(!H.ok)return e.writeln(w(`
|
|
38
|
+
Failed to download: HTTP ${H.status}`)),await e.close(),g({exitCode:1});let q=await fetch(`${x}/SHA256SUMS.txt`);if(q.ok){let L=(await q.text()).split(`
|
|
39
|
+
`).find(j=>j.includes(a));if(L!==void 0){let j=L.split(/\s+/)[0],V=new Uint8Array(await H.clone().arrayBuffer()),_=await crypto.subtle.digest("SHA-256",V);if(Array.from(new Uint8Array(_)).map(Ce=>Ce.toString(16).padStart(2,"0")).join("")!==j)return e.writeln(w(`
|
|
40
|
+
SHA256 checksum verification failed.`)),await e.close(),g({exitCode:1});e.writeln(i("Checksum verified."))}}let N=await E.fs.makeTempDir({prefix:"eser-update-"});try{let C=E.path.join(N,a),L=new Uint8Array(await H.arrayBuffer());await E.fs.writeFile(C,L),o?await v`powershell -Command "Expand-Archive -Path ${C} -DestinationPath ${N}"`.spawn():await v`tar -xzf ${C} -C ${N}`.spawn();let j=o?E.path.join(N,"eser.exe"):E.path.join(N,"eser"),V=E.process.execPath();if(o){let _=V.replace(/\.exe$/i,".new.exe");await E.fs.copyFile(j,_),e.writeln(y(`
|
|
41
41
|
Downloaded v${t.latestVersion}!`)),e.writeln(r(`
|
|
42
42
|
To complete the update, close this terminal and rename:
|
|
43
|
-
`),l(
|
|
43
|
+
`),l(_),r(`
|
|
44
44
|
to:
|
|
45
|
-
`),l(V))}else{let
|
|
46
|
-
Updated to v${t.latestVersion}!`))}}catch(
|
|
45
|
+
`),l(V))}else{let _=`${V}.new`;await E.fs.copyFile(j,_),await E.fs.chmod(_,493),await E.fs.rename(_,V),e.writeln(y(`
|
|
46
|
+
Updated to v${t.latestVersion}!`))}}catch(C){if(C instanceof Error&&"code"in C&&C.code==="EACCES"||typeof Deno<"u"&&C instanceof Deno.errors.PermissionDenied)return e.writeln(w(`
|
|
47
47
|
Permission denied. Try running with sudo:
|
|
48
|
-
sudo eser update`)),await e.close(),g({exitCode:1});throw await e.close()
|
|
48
|
+
sudo eser update`)),await e.close(),g({exitCode:1});throw await e.close(),C}finally{try{await E.fs.remove(N,{recursive:!0})}catch{}}return await e.close(),f(void 0)},Ne=async e=>{let t=await T(Ie);if(t.invoker==="binary")return await Ue();let s=p({renderer:d.ansi(),sink:u.stdout()});s.writeln(r("Detected runtime: "),l(t.runtime));let n=we[t.runtime]??we.node,{cmd:o,args:c}=n;s.writeln(i(`Running: ${o} ${c.join(" ")}`)),s.writeln();let a=await v`${o} ${c}`.stdout("inherit").stderr("inherit").noThrow().spawn();return a.success?(s.writeln(y(`
|
|
49
49
|
Update complete!`)),s.writeln(r("The "),l("eser"),r(" command has been updated to the latest version.")),await s.close(),f(void 0)):(s.writeln(w(`
|
|
50
|
-
Update failed.`)),await s.close(),g({exitCode:a.code}))};var
|
|
50
|
+
Update failed.`)),await s.close(),g({exitCode:a.code}))};var Le=e=>{let t=R(e,"eser"),s=d.ansi();if(t.completionType==="file")return`
|
|
51
51
|
To install, run:
|
|
52
52
|
|
|
53
53
|
${s.render([i(`eser system completions --shell fish > ${t.completionsFile}`)])}
|
|
@@ -56,11 +56,11 @@ To install, add the following to your ${s.render([l(t.rcFile)])}:
|
|
|
56
56
|
|
|
57
57
|
${s.render([i(n)])}
|
|
58
58
|
`},je=e=>{let t=e.flags.shell,s=d.ansi(),n=p({renderer:s,sink:u.stdout()}),o;if(t!==void 0){if(!["bash","zsh","fish"].includes(t))return g({message:`${s.render([w(`Invalid shell: ${t}`)])}
|
|
59
|
-
Supported shells: bash, zsh, fish`,exitCode:1});o=t}else o=
|
|
60
|
-
`))),console.log(a),f(void 0)};var Ve=200,Oe=async e=>{let t=p({renderer:d.ansi(),sink:u.stdout()});if(e.flags.bare===!0)return t.writeln(r(k.version)),await t.close(),f(void 0);t.writeln(r(`eser ${k.version}`));try{let s=new Promise(o=>{setTimeout(()=>o(void 0),Ve)}),n=await Promise.race([
|
|
61
|
-
`));let t=await T(Ge);ge("Install method",`${t.invoker} (${t.mode})`),ge("Version",k.version);let s=await
|
|
62
|
-
Runtime`)),h("Name"
|
|
63
|
-
Locations`)),h("Homedir",I()),h("Tmpdir",le()),h("CWD"
|
|
64
|
-
Process`)),h("argv0"
|
|
65
|
-
Execution Context`));let n=await T(Qe);h("Runtime",n.runtime),h("Invoker",`${n.invoker} (${n.mode})`),h("Command",n.command),h("In PATH",n.isInPath?"yes":"no"),
|
|
66
|
-
Environment`));let o=["PATH","HOME","SHELL","TERM","DENO_DIR","BUN_INSTALL","NODE_ENV"];for(let c of o){let a
|
|
59
|
+
Supported shells: bash, zsh, fish`,exitCode:1});o=t}else o=S();let a=e.root.completions(o);return t===void 0&&(n.writeln(r("Generating "),l(o),r(" completions...")),console.log(Le(o)),n.writeln(i(`--- Completion script ---
|
|
60
|
+
`))),console.log(a),f(void 0)};var Ve=200,Oe=async e=>{let t=p({renderer:d.ansi(),sink:u.stdout()});if(e.flags.bare===!0)return t.writeln(r(k.version)),await t.close(),f(void 0);t.writeln(r(`eser ${k.version}`));try{let s=new Promise(o=>{setTimeout(()=>o(void 0),Ve)}),n=await Promise.race([J(),s]);n!==void 0&&n.updateAvailable&&t.writeln(i(` Update available: v${n.latestVersion} \u2014 run 'eser update'`))}catch{}return await t.close(),f(void 0)};var Q=m,Ge={command:"eser",devCommand:"deno task cli",npmPackage:"eser",jsrPackage:"@eser/cli"},X=17,b=p({renderer:d.ansi(),sink:u.stdout()}),U=(e,t)=>{let s=`${e}:`.padEnd(X);b.writeln(r(` ${s}`),y("\u2713"),r(` ${t}`))},P=(e,t)=>{let s=`${e}:`.padEnd(X);b.writeln(r(` ${s}`),w("\u2717"),r(` ${t}`))},ge=(e,t)=>{let s=`${e}:`.padEnd(X);b.writeln(r(` ${s}${t}`))},Be=(e,t)=>{let s=`${e}:`.padEnd(X);b.writeln(r(` ${s}`),i("-"),r(` ${t}`))},ae=async e=>{try{return await Q.fs.stat(e),!0}catch{return!1}},Me=async e=>{try{return await Q.fs.readTextFile(e)}catch{return""}},xe=(e,t)=>e.match(t)?.[1],We=async()=>{let e=Q.path.join(".",".git","hooks","pre-commit");if(!await ae(e)){P("Git hooks","Not installed");return}(await Me(e)).includes("eser")?U("Git hooks","Installed"):P("Git hooks","Not installed")},ze=async()=>{let e=Q.path.join(".",".eser","manifest.yml"),t=Q.path.join(".",".manifest.yml");if(await ae(e)){U("Manifest",".eser/manifest.yml found");return}if(await ae(t)){U("Manifest",".manifest.yml found (legacy path)");return}P("Manifest",".eser/manifest.yml not found")},Je=async()=>{try{let e=await v`deno --version`.noThrow().quiet().text(),t=xe(e,/deno\s+(\S+)/);t!==void 0?U("Deno",t):P("Deno","Not found")}catch{P("Deno","Not found")}},qe=async()=>{try{let e=await v`go version`.noThrow().quiet().text(),t=xe(e,/go(\d+\.\d+(?:\.\d+)?)/);t!==void 0?U("Go",t):P("Go","Not found")}catch{P("Go","Not found")}},Ke=async()=>{try{let t=(await v`node --version`.noThrow().quiet().text()).trim();t.length>0?U("Node",t):P("Node","Not found")}catch{P("Node","Not found")}},Ye=async e=>{b.writeln(r(`eser doctor
|
|
61
|
+
`));let t=await T(Ge);ge("Install method",`${t.invoker} (${t.mode})`),ge("Version",k.version);let s=await J();return s===void 0?Be("Update","Could not check for updates"):s.updateAvailable?P("Update",`Update available: v${s.latestVersion}`):U("Update","Up to date"),b.writeln(),await We(),await ze(),b.writeln(),await Je(),await qe(),await Ke(),await b.close(),f(void 0)};var $=m,Qe={command:"eser",devCommand:"deno task cli",npmPackage:"eser",jsrPackage:"@eser/cli"},Xe=20,A=p({renderer:d.ansi(),sink:u.stdout()}),h=(e,t)=>{let s=`${e}:`.padEnd(Xe);A.writeln(r(` ${s}${t}`))},Ze=async e=>{A.writeln(r("eser system info")),A.writeln(i(`
|
|
62
|
+
Runtime`)),h("Name",$.name),h("Version",$.version),h("Platform",O()),h("Arch",K());let t=$.capabilities,s=Object.entries(t).map(([c,a])=>`${c}=${a?"yes":"no"}`).join(", ");h("Capabilities",s),A.writeln(i(`
|
|
63
|
+
Locations`)),h("Homedir",I()),h("Tmpdir",le()),h("CWD",$.process.cwd()),h("PID",String($.process.pid)),h("Exec path",$.process.execPath()),A.writeln(i(`
|
|
64
|
+
Process`)),h("argv0",$.process.argv0),h("argv",$.process.argv.join(" ")),h("args",$.process.args.join(" ")),A.writeln(i(`
|
|
65
|
+
Execution Context`));let n=await T(Qe);h("Runtime",n.runtime),h("Invoker",`${n.invoker} (${n.mode})`),h("Command",n.command),h("In PATH",n.isInPath?"yes":"no"),A.writeln(i(`
|
|
66
|
+
Environment`));let o=["PATH","HOME","SHELL","TERM","DENO_DIR","BUN_INSTALL","NODE_ENV"];for(let c of o){let a=$.env.get(c);if(a!==void 0){let x=c==="PATH"?`(${a.split(":").length} entries)`:a;h(c,x)}}return A.writeln(),await A.close(),f(void 0)};export{ke as a,$e as b,Ne as c,je as d,Oe as e,Ye as f,Ze as g};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{f as e}from"./chunk-
|
|
2
|
+
import{f as e}from"./chunk-6DBKPC2O.js";var n={command:"eser",devCommand:"deno task cli",npmPackage:"eser",jsrPackage:"@eser/cli"},r="npx eser@latest noskills",t=r,i=s=>{t=s},m=()=>t,a=s=>`${t} ${s}`,c=async()=>await e(n,["noskills","nos"])??r;export{i as a,m as b,a as c,c as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as o}from"./chunk-
|
|
2
|
+
import{a as o}from"./chunk-ATYDQCCJ.js";var n=o({name:"validate-trailing-whitespace",description:"Remove trailing whitespace from lines",canFix:!0,stacks:[],defaults:{},checkFile(a,i){if(i===void 0)return[];let t=[],r=i.split(`
|
|
3
3
|
`);for(let e=0;e<r.length;e++)/[ \t]+$/.test(r[e])&&t.push({path:a.path,line:e+1,message:"trailing whitespace"});return t},fixFile(a,i){let t=i.replace(/[ \t]+$/gm,"");if(t!==i)return{path:a.path,oldContent:i,newContent:t}}}),c=n.run,u=n.validator,d=n.main;export{n as a,c as b,u as c,d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as i}from"./chunk-
|
|
2
|
+
import{a as i}from"./chunk-ATYDQCCJ.js";import{i as t}from"./chunk-6DBKPC2O.js";var s=i({name:"validate-submodules",description:"Detect new git submodules",canFix:!1,stacks:[],defaults:{},async checkAll(n,a){let o=t.path.join(a.root,".gitmodules");if(!await t.fs.exists(o))return[];let e=((await t.fs.readTextFile(o)).match(/\[submodule\s/g)??[]).length;return e>0?[{path:o,message:`found ${e} submodule(s) \u2014 submodules are not allowed`}]:[]}}),p=s.run,f=s.validator,x=s.main;export{s as a,p as b,f as c,x as d};
|