@gadgetinc/ggt 2.3.0 → 3.0.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/README.md +387 -327
- package/dist/action-CF6zatIh.js +64 -0
- package/dist/action-CF6zatIh.js.map +1 -0
- package/dist/action-CrDCeX3F.js +8 -0
- package/dist/action-CrDCeX3F.js.map +1 -0
- package/dist/add-Basu3Gyf.js +1 -0
- package/dist/agent-plugin-CqgwTOk-.js +15 -0
- package/dist/agent-plugin-CqgwTOk-.js.map +1 -0
- package/dist/agent-plugin-DU9G5B1d.js +9 -0
- package/dist/agent-plugin-DU9G5B1d.js.map +1 -0
- package/dist/assert-Bu1E126Z.js +2 -0
- package/dist/assert-Bu1E126Z.js.map +1 -0
- package/dist/chunk-BjEoQXZ0.js +1 -0
- package/dist/collection-C2TCeYqY.js +2 -0
- package/dist/collection-C2TCeYqY.js.map +1 -0
- package/dist/collection-aM0fpch0.js +1 -0
- package/dist/command-2iNTc5dV.js +118 -0
- package/dist/command-2iNTc5dV.js.map +1 -0
- package/dist/completion-D96nxD5n.js +37 -0
- package/dist/completion-D96nxD5n.js.map +1 -0
- package/dist/configure-C8ge-2cK.js +15 -0
- package/dist/configure-C8ge-2cK.js.map +1 -0
- package/dist/debugger-BkYgApKn.js +22 -0
- package/dist/debugger-BkYgApKn.js.map +1 -0
- package/dist/defaults-B_eD7Pia.js +2 -0
- package/dist/defaults-B_eD7Pia.js.map +1 -0
- package/dist/deploy-Da6P2HXS.js +15 -0
- package/dist/deploy-Da6P2HXS.js.map +1 -0
- package/dist/dev-DWMSNcLl.js +32 -0
- package/dist/dev-DWMSNcLl.js.map +1 -0
- package/dist/dev-lock-BFanZSu1.js +10 -0
- package/dist/dev-lock-BFanZSu1.js.map +1 -0
- package/dist/directory-CNL03L6c.js +9 -0
- package/dist/directory-CNL03L6c.js.map +1 -0
- package/dist/env-DoWNvHzW.js +62 -0
- package/dist/env-DoWNvHzW.js.map +1 -0
- package/dist/esm-B25i6Etq.js +12 -0
- package/dist/esm-B25i6Etq.js.map +1 -0
- package/dist/esm-CJocZrdd.js +2 -0
- package/dist/esm-CJocZrdd.js.map +1 -0
- package/dist/eval-BceZMSd5.js +27 -0
- package/dist/eval-BceZMSd5.js.map +1 -0
- package/dist/execAsync-DrhcEHLd.js +2 -0
- package/dist/execAsync-DrhcEHLd.js.map +1 -0
- package/dist/filesync-De6asZeR.js +61 -0
- package/dist/filesync-De6asZeR.js.map +1 -0
- package/dist/getMachineId-bsd-Cch8Z6pV.js +2 -0
- package/dist/getMachineId-bsd-Cch8Z6pV.js.map +1 -0
- package/dist/getMachineId-darwin-kbQWK54o.js +3 -0
- package/dist/getMachineId-darwin-kbQWK54o.js.map +1 -0
- package/dist/getMachineId-linux-DdIel6zr.js +2 -0
- package/dist/getMachineId-linux-DdIel6zr.js.map +1 -0
- package/dist/getMachineId-unsupported-Bvmsh30k.js +2 -0
- package/dist/getMachineId-unsupported-Bvmsh30k.js.map +1 -0
- package/dist/getMachineId-win-BteHZe8j.js +2 -0
- package/dist/getMachineId-win-BteHZe8j.js.map +1 -0
- package/dist/ggt-B3HQjQRM.js +3 -0
- package/dist/ggt-B3HQjQRM.js.map +1 -0
- package/dist/handler-DZyG8Sel.js +4 -0
- package/dist/handler-DZyG8Sel.js.map +1 -0
- package/dist/http-CY3lPMkt.js +320 -0
- package/dist/http-CY3lPMkt.js.map +1 -0
- package/dist/indent-string-BVm-4tyL.js +2 -0
- package/dist/indent-string-BVm-4tyL.js.map +1 -0
- package/dist/list-lQKWZ6ZI.js +10 -0
- package/dist/list-lQKWZ6ZI.js.map +1 -0
- package/dist/login-Ce0tByNd.js +1 -0
- package/dist/logout-_sTWeaiQ.js +5 -0
- package/dist/logout-_sTWeaiQ.js.map +1 -0
- package/dist/logs-DbhJzz4M.js +9 -0
- package/dist/logs-DbhJzz4M.js.map +1 -0
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -7
- package/dist/model-CBiMKY0P.js +11 -0
- package/dist/model-CBiMKY0P.js.map +1 -0
- package/dist/ms-B7sMc0pR.js +2 -0
- package/dist/ms-B7sMc0pR.js.map +1 -0
- package/dist/open-CSsA4B-l.js +38 -0
- package/dist/open-CSsA4B-l.js.map +1 -0
- package/dist/p-map-DE0acmRv.js +2 -0
- package/dist/p-map-DE0acmRv.js.map +1 -0
- package/dist/problems-BMLsmxd4.js +11 -0
- package/dist/problems-BMLsmxd4.js.map +1 -0
- package/dist/prompt-C9nwJW0G.js +2 -0
- package/dist/prompt-C9nwJW0G.js.map +1 -0
- package/dist/pull-DpizmJGk.js +12 -0
- package/dist/pull-DpizmJGk.js.map +1 -0
- package/dist/push-67KBCw6c.js +12 -0
- package/dist/push-67KBCw6c.js.map +1 -0
- package/dist/root-D_UnUsp7.js +28 -0
- package/dist/root-D_UnUsp7.js.map +1 -0
- package/dist/select-Dey_sjjd.js +4 -0
- package/dist/select-Dey_sjjd.js.map +1 -0
- package/dist/session-BmzGF1t7.js +2 -0
- package/dist/session-BmzGF1t7.js.map +1 -0
- package/dist/spinner-BVmbgIil.js +8 -0
- package/dist/spinner-BVmbgIil.js.map +1 -0
- package/dist/src-DxCC1MV4.js +6 -0
- package/dist/src-DxCC1MV4.js.map +1 -0
- package/dist/status-P_RFQ7J0.js +13 -0
- package/dist/status-P_RFQ7J0.js.map +1 -0
- package/dist/subscribeToEnvironmentLogs-CUicaiw_.js +2 -0
- package/dist/subscribeToEnvironmentLogs-CUicaiw_.js.map +1 -0
- package/dist/sync-json-V52OzeCz.js +112 -0
- package/dist/sync-json-V52OzeCz.js.map +1 -0
- package/dist/table-MrBbxMay.js +11 -0
- package/dist/table-MrBbxMay.js.map +1 -0
- package/dist/update-CfxiL08e.js +12 -0
- package/dist/update-CfxiL08e.js.map +1 -0
- package/dist/update-iyhnL9-M.js +1 -0
- package/dist/var-ByWcufFt.js +59 -0
- package/dist/var-ByWcufFt.js.map +1 -0
- package/dist/version-B_9GB4u3.js +9 -0
- package/dist/version-B_9GB4u3.js.map +1 -0
- package/dist/whoami-BNcXIfz7.js +5 -0
- package/dist/whoami-BNcXIfz7.js.map +1 -0
- package/package.json +18 -22
- package/assets/favicon-128@4x.png +0 -0
- package/dist/add-7MLI3TCY.js +0 -82
- package/dist/add-7MLI3TCY.js.map +0 -7
- package/dist/agent-plugin-543K6WBH.js +0 -11
- package/dist/agent-plugin-543K6WBH.js.map +0 -7
- package/dist/chunk-2HJS3KFB.js +0 -2
- package/dist/chunk-2HJS3KFB.js.map +0 -7
- package/dist/chunk-3WKH3DJL.js +0 -2
- package/dist/chunk-3WKH3DJL.js.map +0 -7
- package/dist/chunk-577KP32Z.js +0 -8
- package/dist/chunk-577KP32Z.js.map +0 -7
- package/dist/chunk-6FVHOLT7.js +0 -28
- package/dist/chunk-6FVHOLT7.js.map +0 -7
- package/dist/chunk-72J7X5LR.js +0 -2
- package/dist/chunk-72J7X5LR.js.map +0 -7
- package/dist/chunk-7DYQUG5M.js +0 -2
- package/dist/chunk-7DYQUG5M.js.map +0 -7
- package/dist/chunk-ALSXPCRD.js +0 -118
- package/dist/chunk-ALSXPCRD.js.map +0 -7
- package/dist/chunk-CNNOPE5K.js +0 -69
- package/dist/chunk-CNNOPE5K.js.map +0 -7
- package/dist/chunk-ETKWDO4V.js +0 -2
- package/dist/chunk-ETKWDO4V.js.map +0 -7
- package/dist/chunk-F6BGQ4LG.js +0 -11
- package/dist/chunk-F6BGQ4LG.js.map +0 -7
- package/dist/chunk-FE5O5VX4.js +0 -2
- package/dist/chunk-FE5O5VX4.js.map +0 -7
- package/dist/chunk-GFQYFEEH.js +0 -2
- package/dist/chunk-GFQYFEEH.js.map +0 -7
- package/dist/chunk-GJGBTM5Y.js +0 -2
- package/dist/chunk-GJGBTM5Y.js.map +0 -7
- package/dist/chunk-GZTHIOXS.js +0 -2
- package/dist/chunk-GZTHIOXS.js.map +0 -7
- package/dist/chunk-IQSZEOYY.js +0 -283
- package/dist/chunk-IQSZEOYY.js.map +0 -7
- package/dist/chunk-J232VCIM.js +0 -2
- package/dist/chunk-J232VCIM.js.map +0 -7
- package/dist/chunk-KKIL22RY.js +0 -2
- package/dist/chunk-KKIL22RY.js.map +0 -7
- package/dist/chunk-L2XBSR7G.js +0 -2
- package/dist/chunk-L2XBSR7G.js.map +0 -7
- package/dist/chunk-N5FFICAP.js +0 -9
- package/dist/chunk-N5FFICAP.js.map +0 -7
- package/dist/chunk-TGCJ6TMW.js +0 -10
- package/dist/chunk-TGCJ6TMW.js.map +0 -7
- package/dist/chunk-ULJYEUQG.js +0 -113
- package/dist/chunk-ULJYEUQG.js.map +0 -7
- package/dist/chunk-UVVKKUYG.js +0 -10
- package/dist/chunk-UVVKKUYG.js.map +0 -7
- package/dist/chunk-WZ2PO6H2.js +0 -11
- package/dist/chunk-WZ2PO6H2.js.map +0 -7
- package/dist/chunk-X4XSYLCE.js +0 -12
- package/dist/chunk-X4XSYLCE.js.map +0 -7
- package/dist/chunk-ZYDMXS5R.js +0 -6
- package/dist/chunk-ZYDMXS5R.js.map +0 -7
- package/dist/configure-PYRXYNGZ.js +0 -12
- package/dist/configure-PYRXYNGZ.js.map +0 -7
- package/dist/debugger-VKLUEWIN.js +0 -41
- package/dist/debugger-VKLUEWIN.js.map +0 -7
- package/dist/deploy-JCREEGBA.js +0 -25
- package/dist/deploy-JCREEGBA.js.map +0 -7
- package/dist/dev-Y2GLI7EH.js +0 -59
- package/dist/dev-Y2GLI7EH.js.map +0 -7
- package/dist/env-5OPHX3MC.js +0 -135
- package/dist/env-5OPHX3MC.js.map +0 -7
- package/dist/esm-3JVXH7DT.js +0 -37
- package/dist/esm-3JVXH7DT.js.map +0 -7
- package/dist/eval-LZPZ6PBQ.js +0 -54
- package/dist/eval-LZPZ6PBQ.js.map +0 -7
- package/dist/getMachineId-bsd-QUXN4NKS.js +0 -2
- package/dist/getMachineId-bsd-QUXN4NKS.js.map +0 -7
- package/dist/getMachineId-darwin-TCXBAX22.js +0 -3
- package/dist/getMachineId-darwin-TCXBAX22.js.map +0 -7
- package/dist/getMachineId-linux-IJ3LYIOX.js +0 -2
- package/dist/getMachineId-linux-IJ3LYIOX.js.map +0 -7
- package/dist/getMachineId-unsupported-IKXBUCYY.js +0 -2
- package/dist/getMachineId-unsupported-IKXBUCYY.js.map +0 -7
- package/dist/getMachineId-win-6CX7VSFF.js +0 -2
- package/dist/getMachineId-win-6CX7VSFF.js.map +0 -7
- package/dist/ggt-KUAF6WUA.js +0 -45
- package/dist/ggt-KUAF6WUA.js.map +0 -7
- package/dist/list-IANT7SNF.js +0 -11
- package/dist/list-IANT7SNF.js.map +0 -7
- package/dist/login-TYRZLN5S.js +0 -2
- package/dist/login-TYRZLN5S.js.map +0 -7
- package/dist/logout-P75XYYZ6.js +0 -7
- package/dist/logout-P75XYYZ6.js.map +0 -7
- package/dist/logs-SBMD6JSR.js +0 -28
- package/dist/logs-SBMD6JSR.js.map +0 -7
- package/dist/open-JPAMII4K.js +0 -74
- package/dist/open-JPAMII4K.js.map +0 -7
- package/dist/problems-EZRSHLZT.js +0 -14
- package/dist/problems-EZRSHLZT.js.map +0 -7
- package/dist/pull-R3PMBVOT.js +0 -28
- package/dist/pull-R3PMBVOT.js.map +0 -7
- package/dist/push-5XEEESQQ.js +0 -2
- package/dist/push-5XEEESQQ.js.map +0 -7
- package/dist/status-RJN5ES6S.js +0 -14
- package/dist/status-RJN5ES6S.js.map +0 -7
- package/dist/update-X7YS3MNH.js +0 -2
- package/dist/update-X7YS3MNH.js.map +0 -7
- package/dist/var-PC6KQUPF.js +0 -159
- package/dist/var-PC6KQUPF.js.map +0 -7
- package/dist/version-GZJOU2CV.js +0 -11
- package/dist/version-GZJOU2CV.js.map +0 -7
- package/dist/whoami-GKPGPZ3B.js +0 -7
- package/dist/whoami-GKPGPZ3B.js.map +0 -7
package/dist/chunk-UVVKKUYG.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{f as l,g as f}from"./chunk-IQSZEOYY.js";import{K as w,e as i,ra as g}from"./chunk-ALSXPCRD.js";import{a as r,f as m,h as u}from"./chunk-7DYQUG5M.js";u();var o=m(w(),1);var h=i.object({pid:i.number(),startedAt:i.string()}),a=class extends f{constructor(n){super(`Another ggt dev process is already running (PID ${n.pid})`);this.details=n}static{r(this,"DevAlreadyRunningError")}isBug=l.NO;render(){return g`
|
|
2
|
-
Another "ggt dev" process is already running in this directory:
|
|
3
|
-
|
|
4
|
-
${this.details.directory}
|
|
5
|
-
|
|
6
|
-
The existing process has PID ${String(this.details.pid)}.
|
|
7
|
-
|
|
8
|
-
Stop the other process first, or use a different directory.
|
|
9
|
-
`}},c=r(t=>t.absolute(".gadget/dev-lock.json"),"devLockPath"),D=r(t=>{try{return process.kill(t,0),!0}catch{return!1}},"isProcessAlive"),y=r(async t=>{try{let e=await o.default.readJSON(c(t)),n=h.safeParse(e);return n.success?n.data:void 0}catch{return}},"readDevLock"),L=r(async t=>{let e=c(t),n={pid:process.pid,startedAt:new Date().toISOString()},d=JSON.stringify(n,null,2);await o.default.ensureDir(t.absolute(".gadget"));try{await o.default.writeFile(e,d,{flag:"wx"})}catch(p){if(p.code!=="EEXIST")throw p;let s=await y(t);if(s&&D(s.pid))throw new a({pid:s.pid,directory:t.path});await o.default.remove(e),await o.default.writeFile(e,d,{flag:"wx"})}},"acquireDevLock"),v=r(async t=>{try{await o.default.remove(c(t))}catch{}},"releaseDevLock"),S=r(async t=>{let e=await y(t);return e?D(e.pid)?{running:!0,pid:e.pid,startedAt:e.startedAt}:(await v(t),{running:!1}):{running:!1}},"getDevStatus");export{L as a,v as b,S as c};
|
|
10
|
-
//# sourceMappingURL=chunk-UVVKKUYG.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/services/filesync/dev-lock.ts"],
|
|
4
|
-
"sourcesContent": ["import fs from \"fs-extra\";\nimport { z } from \"zod\";\n\nimport { GGTError, IsBug } from \"../output/report.js\";\nimport { sprint } from \"../output/sprint.js\";\nimport type { Directory } from \"./directory.js\";\n\n/**\n * The data stored in the dev lock file.\n */\nexport const DevLockData = z.object({\n pid: z.number(),\n startedAt: z.string(),\n});\n\nexport type DevLockData = z.infer<typeof DevLockData>;\n\n/**\n * Error thrown when another `ggt dev` process is already running in the same directory.\n */\nexport class DevAlreadyRunningError extends GGTError {\n isBug = IsBug.NO;\n\n constructor(readonly details: { pid: number; directory: string }) {\n super(`Another ggt dev process is already running (PID ${details.pid})`);\n }\n\n protected render(): string {\n return sprint`\n Another \"ggt dev\" process is already running in this directory:\n\n ${this.details.directory}\n\n The existing process has PID ${String(this.details.pid)}.\n\n Stop the other process first, or use a different directory.\n `;\n }\n}\n\n/**\n * Returns the path to the dev lock file for the given directory.\n */\nexport const devLockPath = (directory: Directory): string => {\n return directory.absolute(\".gadget/dev-lock.json\");\n};\n\n/**\n * Checks whether a process with the given PID is alive.\n */\nexport const isProcessAlive = (pid: number): boolean => {\n try {\n process.kill(pid, 0);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Reads and parses the dev lock file. Returns undefined if missing or malformed.\n */\nexport const readDevLock = async (directory: Directory): Promise<DevLockData | undefined> => {\n try {\n const data: unknown = await fs.readJSON(devLockPath(directory));\n const result = DevLockData.safeParse(data);\n return result.success ? result.data : undefined;\n } catch {\n return undefined;\n }\n};\n\n/**\n * Atomically acquires the dev lock for the given directory.\n *\n * Uses `wx` flag for exclusive creation to prevent race conditions.\n * If a stale lock (dead PID) is found, it is removed and re-acquired.\n *\n * @throws {DevAlreadyRunningError} if another live process holds the lock.\n */\nexport const acquireDevLock = async (directory: Directory): Promise<void> => {\n const lockPath = devLockPath(directory);\n const lockData: DevLockData = {\n pid: process.pid,\n startedAt: new Date().toISOString(),\n };\n const content = JSON.stringify(lockData, null, 2);\n\n await fs.ensureDir(directory.absolute(\".gadget\"));\n\n try {\n await fs.writeFile(lockPath, content, { flag: \"wx\" });\n } catch (error: unknown) {\n if ((error as NodeJS.ErrnoException).code !== \"EEXIST\") {\n throw error;\n }\n\n // Lock file already exists - check if the holding process is still alive\n const existing = await readDevLock(directory);\n if (existing && isProcessAlive(existing.pid)) {\n throw new DevAlreadyRunningError({ pid: existing.pid, directory: directory.path });\n }\n\n // Stale or malformed lock - remove and retry\n await fs.remove(lockPath);\n await fs.writeFile(lockPath, content, { flag: \"wx\" });\n }\n};\n\n/**\n * Releases the dev lock for the given directory. Ignores errors.\n */\nexport const releaseDevLock = async (directory: Directory): Promise<void> => {\n try {\n await fs.remove(devLockPath(directory));\n } catch {\n // ignore errors during cleanup\n }\n};\n\n/**\n * Returns the current dev status for the given directory.\n * Cleans up stale locks as a side effect.\n */\nexport const getDevStatus = async (\n directory: Directory,\n): Promise<{ running: false } | { running: true; pid: number; startedAt: string }> => {\n const lock = await readDevLock(directory);\n if (!lock) {\n return { running: false };\n }\n\n if (!isProcessAlive(lock.pid)) {\n // Stale lock - clean it up\n await releaseDevLock(directory);\n return { running: false };\n }\n\n return { running: true, pid: lock.pid, startedAt: lock.startedAt };\n};\n"],
|
|
5
|
-
"mappings": "4JAAAA,IAAA,IAAAC,EAAe,SAUR,IAAMC,EAAcC,EAAE,OAAO,CAClC,IAAKA,EAAE,OAAO,EACd,UAAWA,EAAE,OAAO,CACtB,CAAC,EAOYC,EAAN,cAAqCC,CAAS,CAGnD,YAAqBC,EAA6C,CAChE,MAAM,mDAAmDA,EAAQ,GAAG,GAAG,EADpD,aAAAA,CAErB,CAzBF,MAoBqD,CAAAC,EAAA,+BACnD,MAAQC,EAAM,GAMJ,QAAiB,CACzB,OAAOC;AAAA;AAAA;AAAA,UAGD,KAAK,QAAQ,SAAS;AAAA;AAAA,qCAEK,OAAO,KAAK,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA,KAI3D,CACF,EAKaC,EAAcH,EAACI,GACnBA,EAAU,SAAS,uBAAuB,EADxB,eAOdC,EAAiBL,EAACM,GAAyB,CACtD,GAAI,CACF,eAAQ,KAAKA,EAAK,CAAC,EACZ,EACT,MAAQ,CACN,MAAO,EACT,CACF,EAP8B,kBAYjBC,EAAcP,EAAA,MAAOI,GAA2D,CAC3F,GAAI,CACF,IAAMI,EAAgB,MAAM,EAAAC,QAAG,SAASN,EAAYC,CAAS,CAAC,EACxDM,EAASf,EAAY,UAAUa,CAAI,EACzC,OAAOE,EAAO,QAAUA,EAAO,KAAO,MACxC,MAAQ,CACN,MACF,CACF,EAR2B,eAkBdC,EAAiBX,EAAA,MAAOI,GAAwC,CAC3E,IAAMQ,EAAWT,EAAYC,CAAS,EAChCS,EAAwB,CAC5B,IAAK,QAAQ,IACb,UAAW,IAAI,KAAK,EAAE,YAAY,CACpC,EACMC,EAAU,KAAK,UAAUD,EAAU,KAAM,CAAC,EAEhD,MAAM,EAAAJ,QAAG,UAAUL,EAAU,SAAS,SAAS,CAAC,EAEhD,GAAI,CACF,MAAM,EAAAK,QAAG,UAAUG,EAAUE,EAAS,CAAE,KAAM,IAAK,CAAC,CACtD,OAASC,EAAgB,CACvB,GAAKA,EAAgC,OAAS,SAC5C,MAAMA,EAIR,IAAMC,EAAW,MAAMT,EAAYH,CAAS,EAC5C,GAAIY,GAAYX,EAAeW,EAAS,GAAG,EACzC,MAAM,IAAInB,EAAuB,CAAE,IAAKmB,EAAS,IAAK,UAAWZ,EAAU,IAAK,CAAC,EAInF,MAAM,EAAAK,QAAG,OAAOG,CAAQ,EACxB,MAAM,EAAAH,QAAG,UAAUG,EAAUE,EAAS,CAAE,KAAM,IAAK,CAAC,CACtD,CACF,EA3B8B,kBAgCjBG,EAAiBjB,EAAA,MAAOI,GAAwC,CAC3E,GAAI,CACF,MAAM,EAAAK,QAAG,OAAON,EAAYC,CAAS,CAAC,CACxC,MAAQ,CAER,CACF,EAN8B,kBAYjBc,EAAelB,EAAA,MAC1BI,GACoF,CACpF,IAAMe,EAAO,MAAMZ,EAAYH,CAAS,EACxC,OAAKe,EAIAd,EAAec,EAAK,GAAG,EAMrB,CAAE,QAAS,GAAM,IAAKA,EAAK,IAAK,UAAWA,EAAK,SAAU,GAJ/D,MAAMF,EAAeb,CAAS,EACvB,CAAE,QAAS,EAAM,GANjB,CAAE,QAAS,EAAM,CAU5B,EAf4B",
|
|
6
|
-
"names": ["init_cjs", "import_fs_extra", "DevLockData", "external_exports", "DevAlreadyRunningError", "GGTError", "details", "__name", "IsBug", "sprint", "devLockPath", "directory", "isProcessAlive", "pid", "readDevLock", "data", "fs", "result", "acquireDevLock", "lockPath", "lockData", "content", "error", "existing", "releaseDevLock", "getDevStatus", "lock"]
|
|
7
|
-
}
|
package/dist/chunk-WZ2PO6H2.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{na as Xt,pa as tt,qa as Zt,sa as k,ta as et}from"./chunk-ALSXPCRD.js";import{a as s,b as X,d as v,f as Z,h as g}from"./chunk-7DYQUG5M.js";var $=v((qe,rt)=>{g();var D=[],it=0,C=s((i,t)=>{it>=t&&D.push(i)},"debug");C.WARN=1;C.INFO=2;C.DEBUG=3;C.reset=()=>{D=[]};C.setDebugLevel=i=>{it=i};C.warn=i=>C(i,C.WARN);C.info=i=>C(i,C.INFO);C.debug=i=>C(i,C.DEBUG);C.debugMessages=()=>D;rt.exports=C});var Y=v((Pe,lt)=>{g();var nt=Xt();function z(i){return i?/\u001b\[((?:\d*;){0,5}\d*)m/g:/\u001b\[(?:\d*;){0,5}\d*m/g}s(z,"codeRegex");function W(i){let t=z();return(""+i).replace(t,"").split(`
|
|
2
|
-
`).reduce(function(n,o){return nt(o)>n?nt(o):n},0)}s(W,"strlen");function _(i,t){return Array(t+1).join(i)}s(_,"repeat");function te(i,t,e,r){let n=W(i);if(t+1>=n){let o=t-n;switch(r){case"right":{i=_(e,o)+i;break}case"center":{let l=Math.ceil(o/2),d=o-l;i=_(e,d)+i+_(e,l);break}default:{i=i+_(e,o);break}}}return i}s(te,"pad");var B={};function I(i,t,e){t="\x1B["+t+"m",e="\x1B["+e+"m",B[t]={set:i,to:!0},B[e]={set:i,to:!1},B[i]={on:t,off:e}}s(I,"addToCodeCache");I("bold",1,22);I("italics",3,23);I("underline",4,24);I("inverse",7,27);I("strikethrough",9,29);function ot(i,t){let e=t[1]?parseInt(t[1].split(";")[0]):0;if(e>=30&&e<=39||e>=90&&e<=97){i.lastForegroundAdded=t[0];return}if(e>=40&&e<=49||e>=100&&e<=107){i.lastBackgroundAdded=t[0];return}if(e===0){for(let n in i)Object.prototype.hasOwnProperty.call(i,n)&&delete i[n];return}let r=B[t[0]];r&&(i[r.set]=r.to)}s(ot,"updateState");function ee(i){let t=z(!0),e=t.exec(i),r={};for(;e!==null;)ot(r,e),e=t.exec(i);return r}s(ee,"readState");function st(i,t){let e=i.lastBackgroundAdded,r=i.lastForegroundAdded;return delete i.lastBackgroundAdded,delete i.lastForegroundAdded,Object.keys(i).forEach(function(n){i[n]&&(t+=B[n].off)}),e&&e!="\x1B[49m"&&(t+="\x1B[49m"),r&&r!="\x1B[39m"&&(t+="\x1B[39m"),t}s(st,"unwindState");function ie(i,t){let e=i.lastBackgroundAdded,r=i.lastForegroundAdded;return delete i.lastBackgroundAdded,delete i.lastForegroundAdded,Object.keys(i).forEach(function(n){i[n]&&(t=B[n].on+t)}),e&&e!="\x1B[49m"&&(t=e+t),r&&r!="\x1B[39m"&&(t=r+t),t}s(ie,"rewindState");function re(i,t){if(i.length===W(i))return i.substr(0,t);for(;W(i)>t;)i=i.slice(0,-1);return i}s(re,"truncateWidth");function ne(i,t){let e=z(!0),r=i.split(z()),n=0,o=0,l="",d,m={};for(;o<t;){d=e.exec(i);let h=r[n];if(n++,o+W(h)>t&&(h=re(h,t-o)),l+=h,o+=W(h),o<t){if(!d)break;l+=d[0],ot(m,d)}}return st(m,l)}s(ne,"truncateWidthWithAnsi");function oe(i,t,e){if(e=e||"\u2026",W(i)<=t)return i;t-=W(e);let n=ne(i,t);n+=e;let o="\x1B]8;;\x07";return i.includes(o)&&!n.includes(o)&&(n+=o),n}s(oe,"truncate");function se(){return{chars:{top:"\u2500","top-mid":"\u252C","top-left":"\u250C","top-right":"\u2510",bottom:"\u2500","bottom-mid":"\u2534","bottom-left":"\u2514","bottom-right":"\u2518",left:"\u2502","left-mid":"\u251C",mid:"\u2500","mid-mid":"\u253C",right:"\u2502","right-mid":"\u2524",middle:"\u2502"},truncate:"\u2026",colWidths:[],rowHeights:[],colAligns:[],rowAligns:[],style:{"padding-left":1,"padding-right":1,head:["red"],border:["grey"],compact:!1},head:[]}}s(se,"defaultOptions");function le(i,t){i=i||{},t=t||se();let e=Object.assign({},t,i);return e.chars=Object.assign({},t.chars,i.chars),e.style=Object.assign({},t.style,i.style),e}s(le,"mergeOptions");function ue(i,t){let e=[],r=t.split(/(\s+)/g),n=[],o=0,l;for(let d=0;d<r.length;d+=2){let m=r[d],h=o+W(m);o>0&&l&&(h+=l.length),h>i?(o!==0&&e.push(n.join("")),n=[m],o=W(m)):(n.push(l||"",m),o=h),l=r[d+1]}return o&&e.push(n.join("")),e}s(ue,"wordWrap");function ae(i,t){let e=[],r="";function n(l,d){for(r.length&&d&&(r+=d),r+=l;r.length>i;)e.push(r.slice(0,i)),r=r.slice(i)}s(n,"pushLine");let o=t.split(/(\s+)/g);for(let l=0;l<o.length;l+=2)n(o[l],l&&o[l-1]);return r.length&&e.push(r),e}s(ae,"textWrap");function he(i,t,e=!0){let r=[];t=t.split(`
|
|
3
|
-
`);let n=e?ue:ae;for(let o=0;o<t.length;o++)r.push.apply(r,n(i,t[o]));return r}s(he,"multiLineWordWrap");function ce(i){let t={},e=[];for(let r=0;r<i.length;r++){let n=ie(t,i[r]);t=ee(n);let o=Object.assign({},t);e.push(st(o,n))}return e}s(ce,"colorizeLines");function fe(i,t){return["\x1B]","8",";",";",i||t,"\x07",t,"\x1B]","8",";",";","\x07"].join("")}s(fe,"hyperlink");lt.exports={strlen:W,repeat:_,pad:te,truncate:oe,mergeOptions:le,wordWrap:he,colorizeLines:ce,hyperlink:fe}});var ct=v((ze,ht)=>{g();var at={};ht.exports=at;var ut={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(ut).forEach(function(i){var t=ut[i],e=at[i]=[];e.open="\x1B["+t[0]+"m",e.close="\x1B["+t[1]+"m"})});var dt=v((He,ft)=>{"use strict";g();ft.exports=function(i,t){t=t||process.argv;var e=t.indexOf("--"),r=/^-{1,2}/.test(i)?"":"--",n=t.indexOf(r+i);return n!==-1&&(e===-1?!0:n<e)}});var gt=v((Ye,pt)=>{"use strict";g();var de=X("os"),M=dt(),E=process.env,j=void 0;M("no-color")||M("no-colors")||M("color=false")?j=!1:(M("color")||M("colors")||M("color=true")||M("color=always"))&&(j=!0);"FORCE_COLOR"in E&&(j=E.FORCE_COLOR.length===0||parseInt(E.FORCE_COLOR,10)!==0);function pe(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}s(pe,"translateLevel");function ge(i){if(j===!1)return 0;if(M("color=16m")||M("color=full")||M("color=truecolor"))return 3;if(M("color=256"))return 2;if(i&&!i.isTTY&&j!==!0)return 0;var t=j?1:0;if(process.platform==="win32"){var e=de.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in E)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(n){return n in E})||E.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in E)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(E.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in E){var r=parseInt((E.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(E.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(E.TERM)?2:/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(E.TERM)||"COLORTERM"in E?1:(E.TERM==="dumb",t)}s(ge,"supportsColor");function N(i){var t=ge(i);return pe(t)}s(N,"getSupportLevel");pt.exports={supportsColor:N,stdout:N(process.stdout),stderr:N(process.stderr)}});var mt=v((Ue,bt)=>{g();bt.exports=s(function(t,e){var r="";t=t||"Run the trap, drop the bass",t=t.split("");var n={a:["@","\u0104","\u023A","\u0245","\u0394","\u039B","\u0414"],b:["\xDF","\u0181","\u0243","\u026E","\u03B2","\u0E3F"],c:["\xA9","\u023B","\u03FE"],d:["\xD0","\u018A","\u0500","\u0501","\u0502","\u0503"],e:["\xCB","\u0115","\u018E","\u0258","\u03A3","\u03BE","\u04BC","\u0A6C"],f:["\u04FA"],g:["\u0262"],h:["\u0126","\u0195","\u04A2","\u04BA","\u04C7","\u050A"],i:["\u0F0F"],j:["\u0134"],k:["\u0138","\u04A0","\u04C3","\u051E"],l:["\u0139"],m:["\u028D","\u04CD","\u04CE","\u0520","\u0521","\u0D69"],n:["\xD1","\u014B","\u019D","\u0376","\u03A0","\u048A"],o:["\xD8","\xF5","\xF8","\u01FE","\u0298","\u047A","\u05DD","\u06DD","\u0E4F"],p:["\u01F7","\u048E"],q:["\u09CD"],r:["\xAE","\u01A6","\u0210","\u024C","\u0280","\u042F"],s:["\xA7","\u03DE","\u03DF","\u03E8"],t:["\u0141","\u0166","\u0373"],u:["\u01B1","\u054D"],v:["\u05D8"],w:["\u0428","\u0460","\u047C","\u0D70"],x:["\u04B2","\u04FE","\u04FC","\u04FD"],y:["\xA5","\u04B0","\u04CB"],z:["\u01B5","\u0240"]};return t.forEach(function(o){o=o.toLowerCase();var l=n[o]||[" "],d=Math.floor(Math.random()*l.length);typeof n[o]<"u"?r+=n[o][d]:r+=o}),r},"runTheTrap")});var wt=v((Qe,yt)=>{g();yt.exports=s(function(t,e){t=t||" he is here ";var r={up:["\u030D","\u030E","\u0304","\u0305","\u033F","\u0311","\u0306","\u0310","\u0352","\u0357","\u0351","\u0307","\u0308","\u030A","\u0342","\u0313","\u0308","\u034A","\u034B","\u034C","\u0303","\u0302","\u030C","\u0350","\u0300","\u0301","\u030B","\u030F","\u0312","\u0313","\u0314","\u033D","\u0309","\u0363","\u0364","\u0365","\u0366","\u0367","\u0368","\u0369","\u036A","\u036B","\u036C","\u036D","\u036E","\u036F","\u033E","\u035B","\u0346","\u031A"],down:["\u0316","\u0317","\u0318","\u0319","\u031C","\u031D","\u031E","\u031F","\u0320","\u0324","\u0325","\u0326","\u0329","\u032A","\u032B","\u032C","\u032D","\u032E","\u032F","\u0330","\u0331","\u0332","\u0333","\u0339","\u033A","\u033B","\u033C","\u0345","\u0347","\u0348","\u0349","\u034D","\u034E","\u0353","\u0354","\u0355","\u0356","\u0359","\u035A","\u0323"],mid:["\u0315","\u031B","\u0300","\u0301","\u0358","\u0321","\u0322","\u0327","\u0328","\u0334","\u0335","\u0336","\u035C","\u035D","\u035E","\u035F","\u0360","\u0362","\u0338","\u0337","\u0361"," \u0489"]},n=[].concat(r.up,r.down,r.mid);function o(m){var h=Math.floor(Math.random()*m);return h}s(o,"randomNumber");function l(m){var h=!1;return n.filter(function(w){h=w===m}),h}s(l,"isChar");function d(m,h){var w="",S,y;h=h||{},h.up=typeof h.up<"u"?h.up:!0,h.mid=typeof h.mid<"u"?h.mid:!0,h.down=typeof h.down<"u"?h.down:!0,h.size=typeof h.size<"u"?h.size:"maxi",m=m.split("");for(y in m)if(!l(y)){switch(w=w+m[y],S={up:0,down:0,mid:0},h.size){case"mini":S.up=o(8),S.mid=o(2),S.down=o(8);break;case"maxi":S.up=o(16)+3,S.mid=o(4)+1,S.down=o(64)+3;break;default:S.up=o(8)+1,S.mid=o(6)/2,S.down=o(8)+1;break}var a=["up","mid","down"];for(var u in a)for(var c=a[u],p=0;p<=S[c];p++)h[c]&&(w=w+r[c][o(r[c].length)])}return w}return s(d,"heComes"),d(t,e)},"zalgo")});var St=v((ti,xt)=>{g();xt.exports=function(i){return function(t,e,r){if(t===" ")return t;switch(e%3){case 0:return i.red(t);case 1:return i.white(t);case 2:return i.blue(t)}}}});var Ct=v((ii,vt)=>{g();vt.exports=function(i){return function(t,e,r){return e%2===0?t:i.inverse(t)}}});var Et=v((ni,Ot)=>{g();Ot.exports=function(i){var t=["red","yellow","green","blue","magenta"];return function(e,r,n){return e===" "?e:i[t[r++%t.length]](e)}}});var At=v((si,Rt)=>{g();Rt.exports=function(i){var t=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(e,r,n){return e===" "?e:i[t[Math.round(Math.random()*(t.length-2))]](e)}}});var Bt=v((ai,kt)=>{g();var f={};kt.exports=f;f.themes={};var be=X("util"),T=f.styles=ct(),Wt=Object.defineProperties,me=new RegExp(/[\r\n]+/g);f.supportsColor=gt().supportsColor;typeof f.enabled>"u"&&(f.enabled=f.supportsColor()!==!1);f.enable=function(){f.enabled=!0};f.disable=function(){f.enabled=!1};f.stripColors=f.strip=function(i){return(""+i).replace(/\x1B\[\d+m/g,"")};var ui=f.stylize=s(function(t,e){if(!f.enabled)return t+"";var r=T[e];return!r&&e in f?f[e](t):r.open+t+r.close},"stylize"),ye=/[|\\{}()[\]^$+*?.]/g,we=s(function(i){if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(ye,"\\$&")},"escapeStringRegexp");function Lt(i){var t=s(function e(){return Se.apply(e,arguments)},"builder");return t._styles=i,t.__proto__=xe,t}s(Lt,"build");var Tt=(function(){var i={};return T.grey=T.gray,Object.keys(T).forEach(function(t){T[t].closeRe=new RegExp(we(T[t].close),"g"),i[t]={get:s(function(){return Lt(this._styles.concat(t))},"get")}}),i})(),xe=Wt(s(function(){},"colors"),Tt);function Se(){var i=Array.prototype.slice.call(arguments),t=i.map(function(l){return l!=null&&l.constructor===String?l:be.inspect(l)}).join(" ");if(!f.enabled||!t)return t;for(var e=t.indexOf(`
|
|
4
|
-
`)!=-1,r=this._styles,n=r.length;n--;){var o=T[r[n]];t=o.open+t.replace(o.closeRe,o.open)+o.close,e&&(t=t.replace(me,function(l){return o.close+l+o.open}))}return t}s(Se,"applyStyle");f.setTheme=function(i){if(typeof i=="string"){console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));");return}for(var t in i)(function(e){f[e]=function(r){if(typeof i[e]=="object"){var n=r;for(var o in i[e])n=f[i[e][o]](n);return n}return f[i[e]](r)}})(t)};function ve(){var i={};return Object.keys(Tt).forEach(function(t){i[t]={get:s(function(){return Lt([t])},"get")}}),i}s(ve,"init");var Ce=s(function(t,e){var r=e.split("");return r=r.map(t),r.join("")},"sequencer");f.trap=mt();f.zalgo=wt();f.maps={};f.maps.america=St()(f);f.maps.zebra=Ct()(f);f.maps.rainbow=Et()(f);f.maps.random=At()(f);for(Mt in f.maps)(function(i){f[i]=function(t){return Ce(f.maps[i],t)}})(Mt);var Mt;Wt(f,ve())});var qt=v((fi,jt)=>{g();var Oe=Bt();jt.exports=Oe});var Gt=v((pi,F)=>{g();var{info:Ee,debug:Pt}=$(),A=Y(),U=class i{static{s(this,"Cell")}constructor(t){this.setOptions(t),this.x=null,this.y=null}setOptions(t){["boolean","number","bigint","string"].indexOf(typeof t)!==-1&&(t={content:""+t}),t=t||{},this.options=t;let e=t.content;if(["boolean","number","bigint","string"].indexOf(typeof e)!==-1)this.content=String(e);else if(!e)this.content=this.options.href||"";else throw new Error("Content needs to be a primitive, got: "+typeof e);this.colSpan=t.colSpan||1,this.rowSpan=t.rowSpan||1,this.options.href&&Object.defineProperty(this,"href",{get(){return this.options.href}})}mergeTableOptions(t,e){this.cells=e;let r=this.options.chars||{},n=t.chars,o=this.chars={};Ae.forEach(function(m){V(r,n,m,o)}),this.truncate=this.options.truncate||t.truncate;let l=this.options.style=this.options.style||{},d=t.style;V(l,d,"padding-left",this),V(l,d,"padding-right",this),this.head=l.head||d.head,this.border=l.border||d.border,this.fixedWidth=t.colWidths[this.x],this.lines=this.computeLines(t),this.desiredWidth=A.strlen(this.content)+this.paddingLeft+this.paddingRight,this.desiredHeight=this.lines.length}computeLines(t){let e=t.wordWrap||t.textWrap,{wordWrap:r=e}=this.options;if(this.fixedWidth&&r){if(this.fixedWidth-=this.paddingLeft+this.paddingRight,this.colSpan){let l=1;for(;l<this.colSpan;)this.fixedWidth+=t.colWidths[this.x+l],l++}let{wrapOnWordBoundary:n=!0}=t,{wrapOnWordBoundary:o=n}=this.options;return this.wrapLines(A.wordWrap(this.fixedWidth,this.content,o))}return this.wrapLines(this.content.split(`
|
|
5
|
-
`))}wrapLines(t){let e=A.colorizeLines(t);return this.href?e.map(r=>A.hyperlink(this.href,r)):e}init(t){let e=this.x,r=this.y;this.widths=t.colWidths.slice(e,e+this.colSpan),this.heights=t.rowHeights.slice(r,r+this.rowSpan),this.width=this.widths.reduce(It,-1),this.height=this.heights.reduce(It,-1),this.hAlign=this.options.hAlign||t.colAligns[e],this.vAlign=this.options.vAlign||t.rowAligns[r],this.drawRight=e+this.colSpan==t.colWidths.length}draw(t,e){if(t=="top")return this.drawTop(this.drawRight);if(t=="bottom")return this.drawBottom(this.drawRight);let r=A.truncate(this.content,10,this.truncate);t||Ee(`${this.y}-${this.x}: ${this.rowSpan-t}x${this.colSpan} Cell ${r}`);let n=Math.max(this.height-this.lines.length,0),o;switch(this.vAlign){case"center":o=Math.ceil(n/2);break;case"bottom":o=n;break;default:o=0}if(t<o||t>=o+this.lines.length)return this.drawEmpty(this.drawRight,e);let l=this.lines.length>this.height&&t+1>=this.height;return this.drawLine(t-o,this.drawRight,l,e)}drawTop(t){let e=[];return this.cells?this.widths.forEach(function(r,n){e.push(this._topLeftChar(n)),e.push(A.repeat(this.chars[this.y==0?"top":"mid"],r))},this):(e.push(this._topLeftChar(0)),e.push(A.repeat(this.chars[this.y==0?"top":"mid"],this.width))),t&&e.push(this.chars[this.y==0?"topRight":"rightMid"]),this.wrapWithStyleColors("border",e.join(""))}_topLeftChar(t){let e=this.x+t,r;if(this.y==0)r=e==0?"topLeft":t==0?"topMid":"top";else if(e==0)r="leftMid";else if(r=t==0?"midMid":"bottomMid",this.cells&&(this.cells[this.y-1][e]instanceof i.ColSpanCell&&(r=t==0?"topMid":"mid"),t==0)){let o=1;for(;this.cells[this.y][e-o]instanceof i.ColSpanCell;)o++;this.cells[this.y][e-o]instanceof i.RowSpanCell&&(r="leftMid")}return this.chars[r]}wrapWithStyleColors(t,e){if(this[t]&&this[t].length)try{let r=qt();for(let n=this[t].length-1;n>=0;n--)r=r[this[t][n]];return r(e)}catch{return e}else return e}drawLine(t,e,r,n){let o=this.chars[this.x==0?"left":"middle"];if(this.x&&n&&this.cells){let y=this.cells[this.y+n][this.x-1];for(;y instanceof P;)y=this.cells[y.y][y.x-1];y instanceof G||(o=this.chars.rightMid)}let l=A.repeat(" ",this.paddingLeft),d=e?this.chars.right:"",m=A.repeat(" ",this.paddingRight),h=this.lines[t],w=this.width-(this.paddingLeft+this.paddingRight);r&&(h+=this.truncate||"\u2026");let S=A.truncate(h,w,this.truncate);return S=A.pad(S,w," ",this.hAlign),S=l+S+m,this.stylizeLine(o,S,d)}stylizeLine(t,e,r){return t=this.wrapWithStyleColors("border",t),r=this.wrapWithStyleColors("border",r),this.y===0&&(e=this.wrapWithStyleColors("head",e)),t+e+r}drawBottom(t){let e=this.chars[this.x==0?"bottomLeft":"bottomMid"],r=A.repeat(this.chars.bottom,this.width),n=t?this.chars.bottomRight:"";return this.wrapWithStyleColors("border",e+r+n)}drawEmpty(t,e){let r=this.chars[this.x==0?"left":"middle"];if(this.x&&e&&this.cells){let l=this.cells[this.y+e][this.x-1];for(;l instanceof P;)l=this.cells[l.y][l.x-1];l instanceof G||(r=this.chars.rightMid)}let n=t?this.chars.right:"",o=A.repeat(" ",this.width);return this.stylizeLine(r,o,n)}},P=class{static{s(this,"ColSpanCell")}constructor(){}draw(t){return typeof t=="number"&&Pt(`${this.y}-${this.x}: 1x1 ColSpanCell`),""}init(){}mergeTableOptions(){}},G=class{static{s(this,"RowSpanCell")}constructor(t){this.originalCell=t}init(t){let e=this.y,r=this.originalCell.y;this.cellOffset=e-r,this.offset=Re(t.rowHeights,r,this.cellOffset)}draw(t){return t=="top"?this.originalCell.draw(this.offset,this.cellOffset):t=="bottom"?this.originalCell.draw("bottom"):(Pt(`${this.y}-${this.x}: 1x${this.colSpan} RowSpanCell for ${this.originalCell.content}`),this.originalCell.draw(this.offset+1+t))}mergeTableOptions(){}};function _t(...i){return i.filter(t=>t!=null).shift()}s(_t,"firstDefined");function V(i,t,e,r){let n=e.split("-");n.length>1?(n[1]=n[1].charAt(0).toUpperCase()+n[1].substr(1),n=n.join(""),r[n]=_t(i[n],i[e],t[n],t[e])):r[e]=_t(i[e],t[e])}s(V,"setOption");function Re(i,t,e){let r=i[t];for(let n=1;n<e;n++)r+=1+i[t+n];return r}s(Re,"findDimension");function It(i,t){return i+t+1}s(It,"sumPlusOne");var Ae=["top","top-mid","top-left","top-right","bottom","bottom-mid","bottom-left","bottom-right","left","left-mid","mid","mid-mid","right","right-mid","middle"];F.exports=U;F.exports.ColSpanCell=P;F.exports.RowSpanCell=G});var Ft=v((mi,zt)=>{g();var{warn:Me,debug:We}=$(),J=Gt(),{ColSpanCell:Le,RowSpanCell:Te}=J;(function(){function i(a,u){return a[u]>0?i(a,u+1):u}s(i,"next");function t(a){let u={};a.forEach(function(c,p){let x=0;c.forEach(function(b){b.y=p,b.x=p?i(u,x):x;let O=b.rowSpan||1,R=b.colSpan||1;if(O>1)for(let q=0;q<R;q++)u[b.x+q]=O;x=b.x+R}),Object.keys(u).forEach(b=>{u[b]--,u[b]<1&&delete u[b]})})}s(t,"layoutTable");function e(a){let u=0;return a.forEach(function(c){c.forEach(function(p){u=Math.max(u,p.x+(p.colSpan||1))})}),u}s(e,"maxWidth");function r(a){return a.length}s(r,"maxHeight");function n(a,u){let c=a.y,p=a.y-1+(a.rowSpan||1),x=u.y,b=u.y-1+(u.rowSpan||1),O=!(c>b||x>p),R=a.x,q=a.x-1+(a.colSpan||1),Jt=u.x,Kt=u.x-1+(u.colSpan||1),Qt=!(R>Kt||Jt>q);return O&&Qt}s(n,"cellsConflict");function o(a,u,c){let p=Math.min(a.length-1,c),x={x:u,y:c};for(let b=0;b<=p;b++){let O=a[b];for(let R=0;R<O.length;R++)if(n(x,O[R]))return!0}return!1}s(o,"conflictExists");function l(a,u,c,p){for(let x=c;x<p;x++)if(o(a,x,u))return!1;return!0}s(l,"allBlank");function d(a){a.forEach(function(u,c){u.forEach(function(p){for(let x=1;x<p.rowSpan;x++){let b=new Te(p);b.x=p.x,b.y=p.y+x,b.colSpan=p.colSpan,h(b,a[c+x])}})})}s(d,"addRowSpanCells");function m(a){for(let u=a.length-1;u>=0;u--){let c=a[u];for(let p=0;p<c.length;p++){let x=c[p];for(let b=1;b<x.colSpan;b++){let O=new Le;O.x=x.x+b,O.y=x.y,c.splice(p+1,0,O)}}}}s(m,"addColSpanCells");function h(a,u){let c=0;for(;c<u.length&&u[c].x<a.x;)c++;u.splice(c,0,a)}s(h,"insertCell");function w(a){let u=r(a),c=e(a);We(`Max rows: ${u}; Max cols: ${c}`);for(let p=0;p<u;p++)for(let x=0;x<c;x++)if(!o(a,x,p)){let b={x,y:p,colSpan:1,rowSpan:1};for(x++;x<c&&!o(a,x,p);)b.colSpan++,x++;let O=p+1;for(;O<u&&l(a,O,b.x,b.x+b.colSpan);)b.rowSpan++,O++;let R=new J(b);R.x=b.x,R.y=b.y,Me(`Missing cell at ${R.y}-${R.x}.`),h(R,a[p])}}s(w,"fillInTable");function S(a){return a.map(function(u){if(!Array.isArray(u)){let c=Object.keys(u)[0];u=u[c],Array.isArray(u)?(u=u.slice(),u.unshift(c)):u=[c,u]}return u.map(function(c){return new J(c)})})}s(S,"generateCells");function y(a){let u=S(a);return t(u),w(u),d(u),m(u),u}s(y,"makeTableLayout"),zt.exports={makeTableLayout:y,layoutTable:t,addRowSpanCells:d,maxWidth:e,fillInTable:w,computeWidths:$t("colSpan","desiredWidth","x",1),computeHeights:$t("rowSpan","desiredHeight","y",1)}})();function $t(i,t,e,r){return function(n,o){let l=[],d=[],m={};o.forEach(function(h){h.forEach(function(w){(w[i]||1)>1?d.push(w):l[w[e]]=Math.max(l[w[e]]||0,w[t]||0,r)})}),n.forEach(function(h,w){typeof h=="number"&&(l[w]=h)});for(let h=d.length-1;h>=0;h--){let w=d[h],S=w[i],y=w[e],a=l[y],u=typeof n[y]=="number"?0:1;if(typeof a=="number")for(let c=1;c<S;c++)a+=1+l[y+c],typeof n[y+c]!="number"&&u++;else a=t==="desiredWidth"?w.desiredWidth-1:1,(!m[y]||m[y]<a)&&(m[y]=a);if(w[t]>a){let c=0;for(;u>0&&w[t]>a;){if(typeof n[y+c]!="number"){let p=Math.round((w[t]-a)/u);a+=p,l[y+c]+=p,u--}c++}}}Object.assign(n,l,m);for(let h=0;h<n.length;h++)n[h]=Math.max(r,n[h]||0)}}s($t,"makeComputeWidths")});var Dt=v((xi,Ht)=>{g();var L=$(),ke=Y(),K=Ft(),H=class extends Array{static{s(this,"Table")}constructor(t){super();let e=ke.mergeOptions(t);if(Object.defineProperty(this,"options",{value:e,enumerable:e.debug}),e.debug){switch(typeof e.debug){case"boolean":L.setDebugLevel(L.WARN);break;case"number":L.setDebugLevel(e.debug);break;case"string":L.setDebugLevel(parseInt(e.debug,10));break;default:L.setDebugLevel(L.WARN),L.warn(`Debug option is expected to be boolean, number, or string. Received a ${typeof e.debug}`)}Object.defineProperty(this,"messages",{get(){return L.debugMessages()}})}}toString(){let t=this,e=this.options.head&&this.options.head.length;e?(t=[this.options.head],this.length&&t.push.apply(t,this)):this.options.style.head=[];let r=K.makeTableLayout(t);r.forEach(function(o){o.forEach(function(l){l.mergeTableOptions(this.options,r)},this)},this),K.computeWidths(this.options.colWidths,r),K.computeHeights(this.options.rowHeights,r),r.forEach(function(o){o.forEach(function(l){l.init(this.options)},this)},this);let n=[];for(let o=0;o<r.length;o++){let l=r[o],d=this.options.rowHeights[o];(o===0||!this.options.style.compact||o==1&&e)&&Q(l,"top",n);for(let m=0;m<d;m++)Q(l,m,n);o+1==r.length&&Q(l,"bottom",n)}return n.join(`
|
|
6
|
-
`)}get width(){return this.toString().split(`
|
|
7
|
-
`)[0].length}};H.reset=()=>L.reset();function Q(i,t,e){let r=[];i.forEach(function(o){r.push(o.draw(t))});let n=r.join("");n.length&&e.push(n)}s(Q,"doDraw");Ht.exports=H});var Nt=v((Ci,Yt)=>{g();Yt.exports=Dt()});g();var Vt=Z(Nt(),1);var Ut=Z(Zt(),1);var Be=s(({title:i,headers:t,rows:e,footer:r,ensureEmptyLineAboveBody:n=!1,ensureEmptyLineAboveFooter:o=!1,borders:l="none",colAligns:d=[],colWidths:m=[],indent:h,...w})=>{let S=new Vt.default({chars:je[l],colAligns:d,colWidths:m,head:t,style:{head:[],border:[]}});S.push(...e);let y=S.toString()+`
|
|
8
|
-
`;return l==="none"&&(y=(0,Ut.dedent)(y).slice(1)),y=y.split(`
|
|
9
|
-
`).map(a=>a.trimEnd()).join(`
|
|
10
|
-
`),h&&(y=tt(y,h)),i&&(y=k(i)+k({content:y,ensureEmptyLineAbove:n})),r&&(y=k(y)+k({content:r,ensureEmptyLineAbove:o})),k({content:y,...w})},"sprintTable"),Mi=s(i=>{et(Be(i))},"printTable"),je={none:{"top-left":"",top:"","top-mid":"","top-right":"","left-mid":"",mid:"","mid-mid":"","right-mid":"",left:"",middle:"",right:"","bottom-left":"",bottom:"","bottom-mid":"","bottom-right":""},thin:{"top-left":"\u250C",top:"\u2500","top-mid":"\u252C","top-right":"\u2510","left-mid":"\u251C",mid:"\u2500","mid-mid":"\u253C","right-mid":"\u2524",left:"\u2502",middle:"\u2502",right:"\u2502","bottom-left":"\u2514",bottom:"\u2500","bottom-mid":"\u2534","bottom-right":"\u2518"},thick:{"top-left":"\u2554",top:"\u2550","top-mid":"\u2564","top-right":"\u2557",left:"\u2551",middle:"\u2502",right:"\u2551","left-mid":"\u255F",mid:"\u2500","mid-mid":"\u253C","right-mid":"\u2562","bottom-left":"\u255A",bottom:"\u2550","bottom-mid":"\u2567","bottom-right":"\u255D"}};export{Be as a,Mi as b};
|
|
11
|
-
//# sourceMappingURL=chunk-WZ2PO6H2.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../node_modules/.pnpm/cli-table3@0.6.5/node_modules/cli-table3/src/debug.js", "../node_modules/.pnpm/cli-table3@0.6.5/node_modules/cli-table3/src/utils.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/styles.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/system/has-flag.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/system/supports-colors.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/custom/trap.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/custom/zalgo.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/maps/america.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/maps/zebra.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/maps/rainbow.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/maps/random.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/lib/colors.js", "../node_modules/.pnpm/@colors+colors@1.5.0/node_modules/@colors/colors/safe.js", "../node_modules/.pnpm/cli-table3@0.6.5/node_modules/cli-table3/src/cell.js", "../node_modules/.pnpm/cli-table3@0.6.5/node_modules/cli-table3/src/layout-manager.js", "../node_modules/.pnpm/cli-table3@0.6.5/node_modules/cli-table3/src/table.js", "../node_modules/.pnpm/cli-table3@0.6.5/node_modules/cli-table3/index.js", "../src/services/output/table.ts"],
|
|
4
|
-
"sourcesContent": ["let messages = [];\nlet level = 0;\n\nconst debug = (msg, min) => {\n if (level >= min) {\n messages.push(msg);\n }\n};\n\ndebug.WARN = 1;\ndebug.INFO = 2;\ndebug.DEBUG = 3;\n\ndebug.reset = () => {\n messages = [];\n};\n\ndebug.setDebugLevel = (v) => {\n level = v;\n};\n\ndebug.warn = (msg) => debug(msg, debug.WARN);\ndebug.info = (msg) => debug(msg, debug.INFO);\ndebug.debug = (msg) => debug(msg, debug.DEBUG);\n\ndebug.debugMessages = () => messages;\n\nmodule.exports = debug;\n", "const stringWidth = require('string-width');\n\nfunction codeRegex(capture) {\n return capture ? /\\u001b\\[((?:\\d*;){0,5}\\d*)m/g : /\\u001b\\[(?:\\d*;){0,5}\\d*m/g;\n}\n\nfunction strlen(str) {\n let code = codeRegex();\n let stripped = ('' + str).replace(code, '');\n let split = stripped.split('\\n');\n return split.reduce(function (memo, s) {\n return stringWidth(s) > memo ? stringWidth(s) : memo;\n }, 0);\n}\n\nfunction repeat(str, times) {\n return Array(times + 1).join(str);\n}\n\nfunction pad(str, len, pad, dir) {\n let length = strlen(str);\n if (len + 1 >= length) {\n let padlen = len - length;\n switch (dir) {\n case 'right': {\n str = repeat(pad, padlen) + str;\n break;\n }\n case 'center': {\n let right = Math.ceil(padlen / 2);\n let left = padlen - right;\n str = repeat(pad, left) + str + repeat(pad, right);\n break;\n }\n default: {\n str = str + repeat(pad, padlen);\n break;\n }\n }\n }\n return str;\n}\n\nlet codeCache = {};\n\nfunction addToCodeCache(name, on, off) {\n on = '\\u001b[' + on + 'm';\n off = '\\u001b[' + off + 'm';\n codeCache[on] = { set: name, to: true };\n codeCache[off] = { set: name, to: false };\n codeCache[name] = { on: on, off: off };\n}\n\n//https://github.com/Marak/colors.js/blob/master/lib/styles.js\naddToCodeCache('bold', 1, 22);\naddToCodeCache('italics', 3, 23);\naddToCodeCache('underline', 4, 24);\naddToCodeCache('inverse', 7, 27);\naddToCodeCache('strikethrough', 9, 29);\n\nfunction updateState(state, controlChars) {\n let controlCode = controlChars[1] ? parseInt(controlChars[1].split(';')[0]) : 0;\n if ((controlCode >= 30 && controlCode <= 39) || (controlCode >= 90 && controlCode <= 97)) {\n state.lastForegroundAdded = controlChars[0];\n return;\n }\n if ((controlCode >= 40 && controlCode <= 49) || (controlCode >= 100 && controlCode <= 107)) {\n state.lastBackgroundAdded = controlChars[0];\n return;\n }\n if (controlCode === 0) {\n for (let i in state) {\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(state, i)) {\n delete state[i];\n }\n }\n return;\n }\n let info = codeCache[controlChars[0]];\n if (info) {\n state[info.set] = info.to;\n }\n}\n\nfunction readState(line) {\n let code = codeRegex(true);\n let controlChars = code.exec(line);\n let state = {};\n while (controlChars !== null) {\n updateState(state, controlChars);\n controlChars = code.exec(line);\n }\n return state;\n}\n\nfunction unwindState(state, ret) {\n let lastBackgroundAdded = state.lastBackgroundAdded;\n let lastForegroundAdded = state.lastForegroundAdded;\n\n delete state.lastBackgroundAdded;\n delete state.lastForegroundAdded;\n\n Object.keys(state).forEach(function (key) {\n if (state[key]) {\n ret += codeCache[key].off;\n }\n });\n\n if (lastBackgroundAdded && lastBackgroundAdded != '\\u001b[49m') {\n ret += '\\u001b[49m';\n }\n if (lastForegroundAdded && lastForegroundAdded != '\\u001b[39m') {\n ret += '\\u001b[39m';\n }\n\n return ret;\n}\n\nfunction rewindState(state, ret) {\n let lastBackgroundAdded = state.lastBackgroundAdded;\n let lastForegroundAdded = state.lastForegroundAdded;\n\n delete state.lastBackgroundAdded;\n delete state.lastForegroundAdded;\n\n Object.keys(state).forEach(function (key) {\n if (state[key]) {\n ret = codeCache[key].on + ret;\n }\n });\n\n if (lastBackgroundAdded && lastBackgroundAdded != '\\u001b[49m') {\n ret = lastBackgroundAdded + ret;\n }\n if (lastForegroundAdded && lastForegroundAdded != '\\u001b[39m') {\n ret = lastForegroundAdded + ret;\n }\n\n return ret;\n}\n\nfunction truncateWidth(str, desiredLength) {\n if (str.length === strlen(str)) {\n return str.substr(0, desiredLength);\n }\n\n while (strlen(str) > desiredLength) {\n str = str.slice(0, -1);\n }\n\n return str;\n}\n\nfunction truncateWidthWithAnsi(str, desiredLength) {\n let code = codeRegex(true);\n let split = str.split(codeRegex());\n let splitIndex = 0;\n let retLen = 0;\n let ret = '';\n let myArray;\n let state = {};\n\n while (retLen < desiredLength) {\n myArray = code.exec(str);\n let toAdd = split[splitIndex];\n splitIndex++;\n if (retLen + strlen(toAdd) > desiredLength) {\n toAdd = truncateWidth(toAdd, desiredLength - retLen);\n }\n ret += toAdd;\n retLen += strlen(toAdd);\n\n if (retLen < desiredLength) {\n if (!myArray) {\n break;\n } // full-width chars may cause a whitespace which cannot be filled\n ret += myArray[0];\n updateState(state, myArray);\n }\n }\n\n return unwindState(state, ret);\n}\n\nfunction truncate(str, desiredLength, truncateChar) {\n truncateChar = truncateChar || '\u2026';\n let lengthOfStr = strlen(str);\n if (lengthOfStr <= desiredLength) {\n return str;\n }\n desiredLength -= strlen(truncateChar);\n\n let ret = truncateWidthWithAnsi(str, desiredLength);\n\n ret += truncateChar;\n\n const hrefTag = '\\x1B]8;;\\x07';\n\n if (str.includes(hrefTag) && !ret.includes(hrefTag)) {\n ret += hrefTag;\n }\n\n return ret;\n}\n\nfunction defaultOptions() {\n return {\n chars: {\n top: '\u2500',\n 'top-mid': '\u252C',\n 'top-left': '\u250C',\n 'top-right': '\u2510',\n bottom: '\u2500',\n 'bottom-mid': '\u2534',\n 'bottom-left': '\u2514',\n 'bottom-right': '\u2518',\n left: '\u2502',\n 'left-mid': '\u251C',\n mid: '\u2500',\n 'mid-mid': '\u253C',\n right: '\u2502',\n 'right-mid': '\u2524',\n middle: '\u2502',\n },\n truncate: '\u2026',\n colWidths: [],\n rowHeights: [],\n colAligns: [],\n rowAligns: [],\n style: {\n 'padding-left': 1,\n 'padding-right': 1,\n head: ['red'],\n border: ['grey'],\n compact: false,\n },\n head: [],\n };\n}\n\nfunction mergeOptions(options, defaults) {\n options = options || {};\n defaults = defaults || defaultOptions();\n let ret = Object.assign({}, defaults, options);\n ret.chars = Object.assign({}, defaults.chars, options.chars);\n ret.style = Object.assign({}, defaults.style, options.style);\n return ret;\n}\n\n// Wrap on word boundary\nfunction wordWrap(maxLength, input) {\n let lines = [];\n let split = input.split(/(\\s+)/g);\n let line = [];\n let lineLength = 0;\n let whitespace;\n for (let i = 0; i < split.length; i += 2) {\n let word = split[i];\n let newLength = lineLength + strlen(word);\n if (lineLength > 0 && whitespace) {\n newLength += whitespace.length;\n }\n if (newLength > maxLength) {\n if (lineLength !== 0) {\n lines.push(line.join(''));\n }\n line = [word];\n lineLength = strlen(word);\n } else {\n line.push(whitespace || '', word);\n lineLength = newLength;\n }\n whitespace = split[i + 1];\n }\n if (lineLength) {\n lines.push(line.join(''));\n }\n return lines;\n}\n\n// Wrap text (ignoring word boundaries)\nfunction textWrap(maxLength, input) {\n let lines = [];\n let line = '';\n function pushLine(str, ws) {\n if (line.length && ws) line += ws;\n line += str;\n while (line.length > maxLength) {\n lines.push(line.slice(0, maxLength));\n line = line.slice(maxLength);\n }\n }\n let split = input.split(/(\\s+)/g);\n for (let i = 0; i < split.length; i += 2) {\n pushLine(split[i], i && split[i - 1]);\n }\n if (line.length) lines.push(line);\n return lines;\n}\n\nfunction multiLineWordWrap(maxLength, input, wrapOnWordBoundary = true) {\n let output = [];\n input = input.split('\\n');\n const handler = wrapOnWordBoundary ? wordWrap : textWrap;\n for (let i = 0; i < input.length; i++) {\n output.push.apply(output, handler(maxLength, input[i]));\n }\n return output;\n}\n\nfunction colorizeLines(input) {\n let state = {};\n let output = [];\n for (let i = 0; i < input.length; i++) {\n let line = rewindState(state, input[i]);\n state = readState(line);\n let temp = Object.assign({}, state);\n output.push(unwindState(temp, line));\n }\n return output;\n}\n\n/**\n * Credit: Matheus Sampaio https://github.com/matheussampaio\n */\nfunction hyperlink(url, text) {\n const OSC = '\\u001B]';\n const BEL = '\\u0007';\n const SEP = ';';\n\n return [OSC, '8', SEP, SEP, url || text, BEL, text, OSC, '8', SEP, SEP, BEL].join('');\n}\n\nmodule.exports = {\n strlen: strlen,\n repeat: repeat,\n pad: pad,\n truncate: truncate,\n mergeOptions: mergeOptions,\n wordWrap: multiLineWordWrap,\n colorizeLines: colorizeLines,\n hyperlink,\n};\n", "/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar styles = {};\nmodule['exports'] = styles;\n\nvar codes = {\n reset: [0, 0],\n\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n grey: [90, 39],\n\n brightRed: [91, 39],\n brightGreen: [92, 39],\n brightYellow: [93, 39],\n brightBlue: [94, 39],\n brightMagenta: [95, 39],\n brightCyan: [96, 39],\n brightWhite: [97, 39],\n\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n bgGray: [100, 49],\n bgGrey: [100, 49],\n\n bgBrightRed: [101, 49],\n bgBrightGreen: [102, 49],\n bgBrightYellow: [103, 49],\n bgBrightBlue: [104, 49],\n bgBrightMagenta: [105, 49],\n bgBrightCyan: [106, 49],\n bgBrightWhite: [107, 49],\n\n // legacy styles for colors pre v1.0.0\n blackBG: [40, 49],\n redBG: [41, 49],\n greenBG: [42, 49],\n yellowBG: [43, 49],\n blueBG: [44, 49],\n magentaBG: [45, 49],\n cyanBG: [46, 49],\n whiteBG: [47, 49],\n\n};\n\nObject.keys(codes).forEach(function(key) {\n var val = codes[key];\n var style = styles[key] = [];\n style.open = '\\u001b[' + val[0] + 'm';\n style.close = '\\u001b[' + val[1] + 'm';\n});\n", "/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n\n'use strict';\n\nmodule.exports = function(flag, argv) {\n argv = argv || process.argv;\n\n var terminatorPos = argv.indexOf('--');\n var prefix = /^-{1,2}/.test(flag) ? '' : '--';\n var pos = argv.indexOf(prefix + flag);\n\n return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n", "/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\n'use strict';\n\nvar os = require('os');\nvar hasFlag = require('./has-flag.js');\n\nvar env = process.env;\n\nvar forceColor = void 0;\nif (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {\n forceColor = false;\n} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true')\n || hasFlag('color=always')) {\n forceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n forceColor = env.FORCE_COLOR.length === 0\n || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n if (level === 0) {\n return false;\n }\n\n return {\n level: level,\n hasBasic: true,\n has256: level >= 2,\n has16m: level >= 3,\n };\n}\n\nfunction supportsColor(stream) {\n if (forceColor === false) {\n return 0;\n }\n\n if (hasFlag('color=16m') || hasFlag('color=full')\n || hasFlag('color=truecolor')) {\n return 3;\n }\n\n if (hasFlag('color=256')) {\n return 2;\n }\n\n if (stream && !stream.isTTY && forceColor !== true) {\n return 0;\n }\n\n var min = forceColor ? 1 : 0;\n\n if (process.platform === 'win32') {\n // Node.js 7.5.0 is the first version of Node.js to include a patch to\n // libuv that enables 256 color output on Windows. Anything earlier and it\n // won't work. However, here we target Node.js 8 at minimum as it is an LTS\n // release, and Node.js 7 is not. Windows 10 build 10586 is the first\n // Windows release that supports 256 colors. Windows 10 build 14931 is the\n // first release that supports 16m/TrueColor.\n var osRelease = os.release().split('.');\n if (Number(process.versions.node.split('.')[0]) >= 8\n && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {\n return Number(osRelease[2]) >= 14931 ? 3 : 2;\n }\n\n return 1;\n }\n\n if ('CI' in env) {\n if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(function(sign) {\n return sign in env;\n }) || env.CI_NAME === 'codeship') {\n return 1;\n }\n\n return min;\n }\n\n if ('TEAMCITY_VERSION' in env) {\n return (/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0\n );\n }\n\n if ('TERM_PROGRAM' in env) {\n var version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n switch (env.TERM_PROGRAM) {\n case 'iTerm.app':\n return version >= 3 ? 3 : 2;\n case 'Hyper':\n return 3;\n case 'Apple_Terminal':\n return 2;\n // No default\n }\n }\n\n if (/-256(color)?$/i.test(env.TERM)) {\n return 2;\n }\n\n if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n return 1;\n }\n\n if ('COLORTERM' in env) {\n return 1;\n }\n\n if (env.TERM === 'dumb') {\n return min;\n }\n\n return min;\n}\n\nfunction getSupportLevel(stream) {\n var level = supportsColor(stream);\n return translateLevel(level);\n}\n\nmodule.exports = {\n supportsColor: getSupportLevel,\n stdout: getSupportLevel(process.stdout),\n stderr: getSupportLevel(process.stderr),\n};\n", "module['exports'] = function runTheTrap(text, options) {\n var result = '';\n text = text || 'Run the trap, drop the bass';\n text = text.split('');\n var trap = {\n a: ['\\u0040', '\\u0104', '\\u023a', '\\u0245', '\\u0394', '\\u039b', '\\u0414'],\n b: ['\\u00df', '\\u0181', '\\u0243', '\\u026e', '\\u03b2', '\\u0e3f'],\n c: ['\\u00a9', '\\u023b', '\\u03fe'],\n d: ['\\u00d0', '\\u018a', '\\u0500', '\\u0501', '\\u0502', '\\u0503'],\n e: ['\\u00cb', '\\u0115', '\\u018e', '\\u0258', '\\u03a3', '\\u03be', '\\u04bc',\n '\\u0a6c'],\n f: ['\\u04fa'],\n g: ['\\u0262'],\n h: ['\\u0126', '\\u0195', '\\u04a2', '\\u04ba', '\\u04c7', '\\u050a'],\n i: ['\\u0f0f'],\n j: ['\\u0134'],\n k: ['\\u0138', '\\u04a0', '\\u04c3', '\\u051e'],\n l: ['\\u0139'],\n m: ['\\u028d', '\\u04cd', '\\u04ce', '\\u0520', '\\u0521', '\\u0d69'],\n n: ['\\u00d1', '\\u014b', '\\u019d', '\\u0376', '\\u03a0', '\\u048a'],\n o: ['\\u00d8', '\\u00f5', '\\u00f8', '\\u01fe', '\\u0298', '\\u047a', '\\u05dd',\n '\\u06dd', '\\u0e4f'],\n p: ['\\u01f7', '\\u048e'],\n q: ['\\u09cd'],\n r: ['\\u00ae', '\\u01a6', '\\u0210', '\\u024c', '\\u0280', '\\u042f'],\n s: ['\\u00a7', '\\u03de', '\\u03df', '\\u03e8'],\n t: ['\\u0141', '\\u0166', '\\u0373'],\n u: ['\\u01b1', '\\u054d'],\n v: ['\\u05d8'],\n w: ['\\u0428', '\\u0460', '\\u047c', '\\u0d70'],\n x: ['\\u04b2', '\\u04fe', '\\u04fc', '\\u04fd'],\n y: ['\\u00a5', '\\u04b0', '\\u04cb'],\n z: ['\\u01b5', '\\u0240'],\n };\n text.forEach(function(c) {\n c = c.toLowerCase();\n var chars = trap[c] || [' '];\n var rand = Math.floor(Math.random() * chars.length);\n if (typeof trap[c] !== 'undefined') {\n result += trap[c][rand];\n } else {\n result += c;\n }\n });\n return result;\n};\n", "// please no\nmodule['exports'] = function zalgo(text, options) {\n text = text || ' he is here ';\n var soul = {\n 'up': [\n '\u030D', '\u030E', '\u0304', '\u0305',\n '\u033F', '\u0311', '\u0306', '\u0310',\n '\u0352', '\u0357', '\u0351', '\u0307',\n '\u0308', '\u030A', '\u0342', '\u0313',\n '\u0308', '\u034A', '\u034B', '\u034C',\n '\u0303', '\u0302', '\u030C', '\u0350',\n '\u0300', '\u0301', '\u030B', '\u030F',\n '\u0312', '\u0313', '\u0314', '\u033D',\n '\u0309', '\u0363', '\u0364', '\u0365',\n '\u0366', '\u0367', '\u0368', '\u0369',\n '\u036A', '\u036B', '\u036C', '\u036D',\n '\u036E', '\u036F', '\u033E', '\u035B',\n '\u0346', '\u031A',\n ],\n 'down': [\n '\u0316', '\u0317', '\u0318', '\u0319',\n '\u031C', '\u031D', '\u031E', '\u031F',\n '\u0320', '\u0324', '\u0325', '\u0326',\n '\u0329', '\u032A', '\u032B', '\u032C',\n '\u032D', '\u032E', '\u032F', '\u0330',\n '\u0331', '\u0332', '\u0333', '\u0339',\n '\u033A', '\u033B', '\u033C', '\u0345',\n '\u0347', '\u0348', '\u0349', '\u034D',\n '\u034E', '\u0353', '\u0354', '\u0355',\n '\u0356', '\u0359', '\u035A', '\u0323',\n ],\n 'mid': [\n '\u0315', '\u031B', '\u0300', '\u0301',\n '\u0358', '\u0321', '\u0322', '\u0327',\n '\u0328', '\u0334', '\u0335', '\u0336',\n '\u035C', '\u035D', '\u035E',\n '\u035F', '\u0360', '\u0362', '\u0338',\n '\u0337', '\u0361', ' \u0489',\n ],\n };\n var all = [].concat(soul.up, soul.down, soul.mid);\n\n function randomNumber(range) {\n var r = Math.floor(Math.random() * range);\n return r;\n }\n\n function isChar(character) {\n var bool = false;\n all.filter(function(i) {\n bool = (i === character);\n });\n return bool;\n }\n\n\n function heComes(text, options) {\n var result = '';\n var counts;\n var l;\n options = options || {};\n options['up'] =\n typeof options['up'] !== 'undefined' ? options['up'] : true;\n options['mid'] =\n typeof options['mid'] !== 'undefined' ? options['mid'] : true;\n options['down'] =\n typeof options['down'] !== 'undefined' ? options['down'] : true;\n options['size'] =\n typeof options['size'] !== 'undefined' ? options['size'] : 'maxi';\n text = text.split('');\n for (l in text) {\n if (isChar(l)) {\n continue;\n }\n result = result + text[l];\n counts = {'up': 0, 'down': 0, 'mid': 0};\n switch (options.size) {\n case 'mini':\n counts.up = randomNumber(8);\n counts.mid = randomNumber(2);\n counts.down = randomNumber(8);\n break;\n case 'maxi':\n counts.up = randomNumber(16) + 3;\n counts.mid = randomNumber(4) + 1;\n counts.down = randomNumber(64) + 3;\n break;\n default:\n counts.up = randomNumber(8) + 1;\n counts.mid = randomNumber(6) / 2;\n counts.down = randomNumber(8) + 1;\n break;\n }\n\n var arr = ['up', 'mid', 'down'];\n for (var d in arr) {\n var index = arr[d];\n for (var i = 0; i <= counts[index]; i++) {\n if (options[index]) {\n result = result + soul[index][randomNumber(soul[index].length)];\n }\n }\n }\n }\n return result;\n }\n // don't summon him\n return heComes(text, options);\n};\n\n", "module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n if (letter === ' ') return letter;\n switch (i%3) {\n case 0: return colors.red(letter);\n case 1: return colors.white(letter);\n case 2: return colors.blue(letter);\n }\n };\n};\n", "module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n return i % 2 === 0 ? letter : colors.inverse(letter);\n };\n};\n", "module['exports'] = function(colors) {\n // RoY G BiV\n var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta'];\n return function(letter, i, exploded) {\n if (letter === ' ') {\n return letter;\n } else {\n return colors[rainbowColors[i++ % rainbowColors.length]](letter);\n }\n };\n};\n\n", "module['exports'] = function(colors) {\n var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green',\n 'blue', 'white', 'cyan', 'magenta', 'brightYellow', 'brightRed',\n 'brightGreen', 'brightBlue', 'brightWhite', 'brightCyan', 'brightMagenta'];\n return function(letter, i, exploded) {\n return letter === ' ' ? letter :\n colors[\n available[Math.round(Math.random() * (available.length - 2))]\n ](letter);\n };\n};\n", "/*\n\nThe MIT License (MIT)\n\nOriginal Library\n - Copyright (c) Marak Squires\n\nAdditional functionality\n - Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar colors = {};\nmodule['exports'] = colors;\n\ncolors.themes = {};\n\nvar util = require('util');\nvar ansiStyles = colors.styles = require('./styles');\nvar defineProps = Object.defineProperties;\nvar newLineRegex = new RegExp(/[\\r\\n]+/g);\n\ncolors.supportsColor = require('./system/supports-colors').supportsColor;\n\nif (typeof colors.enabled === 'undefined') {\n colors.enabled = colors.supportsColor() !== false;\n}\n\ncolors.enable = function() {\n colors.enabled = true;\n};\n\ncolors.disable = function() {\n colors.enabled = false;\n};\n\ncolors.stripColors = colors.strip = function(str) {\n return ('' + str).replace(/\\x1B\\[\\d+m/g, '');\n};\n\n// eslint-disable-next-line no-unused-vars\nvar stylize = colors.stylize = function stylize(str, style) {\n if (!colors.enabled) {\n return str+'';\n }\n\n var styleMap = ansiStyles[style];\n\n // Stylize should work for non-ANSI styles, too\n if (!styleMap && style in colors) {\n // Style maps like trap operate as functions on strings;\n // they don't have properties like open or close.\n return colors[style](str);\n }\n\n return styleMap.open + str + styleMap.close;\n};\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\nvar escapeStringRegexp = function(str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n return str.replace(matchOperatorsRe, '\\\\$&');\n};\n\nfunction build(_styles) {\n var builder = function builder() {\n return applyStyle.apply(builder, arguments);\n };\n builder._styles = _styles;\n // __proto__ is used because we must return a function, but there is\n // no way to create a function with a different prototype.\n builder.__proto__ = proto;\n return builder;\n}\n\nvar styles = (function() {\n var ret = {};\n ansiStyles.grey = ansiStyles.gray;\n Object.keys(ansiStyles).forEach(function(key) {\n ansiStyles[key].closeRe =\n new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n ret[key] = {\n get: function() {\n return build(this._styles.concat(key));\n },\n };\n });\n return ret;\n})();\n\nvar proto = defineProps(function colors() {}, styles);\n\nfunction applyStyle() {\n var args = Array.prototype.slice.call(arguments);\n\n var str = args.map(function(arg) {\n // Use weak equality check so we can colorize null/undefined in safe mode\n if (arg != null && arg.constructor === String) {\n return arg;\n } else {\n return util.inspect(arg);\n }\n }).join(' ');\n\n if (!colors.enabled || !str) {\n return str;\n }\n\n var newLinesPresent = str.indexOf('\\n') != -1;\n\n var nestedStyles = this._styles;\n\n var i = nestedStyles.length;\n while (i--) {\n var code = ansiStyles[nestedStyles[i]];\n str = code.open + str.replace(code.closeRe, code.open) + code.close;\n if (newLinesPresent) {\n str = str.replace(newLineRegex, function(match) {\n return code.close + match + code.open;\n });\n }\n }\n\n return str;\n}\n\ncolors.setTheme = function(theme) {\n if (typeof theme === 'string') {\n console.log('colors.setTheme now only accepts an object, not a string. ' +\n 'If you are trying to set a theme from a file, it is now your (the ' +\n 'caller\\'s) responsibility to require the file. The old syntax ' +\n 'looked like colors.setTheme(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'); The new syntax looks like '+\n 'colors.setTheme(require(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'));');\n return;\n }\n for (var style in theme) {\n (function(style) {\n colors[style] = function(str) {\n if (typeof theme[style] === 'object') {\n var out = str;\n for (var i in theme[style]) {\n out = colors[theme[style][i]](out);\n }\n return out;\n }\n return colors[theme[style]](str);\n };\n })(style);\n }\n};\n\nfunction init() {\n var ret = {};\n Object.keys(styles).forEach(function(name) {\n ret[name] = {\n get: function() {\n return build([name]);\n },\n };\n });\n return ret;\n}\n\nvar sequencer = function sequencer(map, str) {\n var exploded = str.split('');\n exploded = exploded.map(map);\n return exploded.join('');\n};\n\n// custom formatter methods\ncolors.trap = require('./custom/trap');\ncolors.zalgo = require('./custom/zalgo');\n\n// maps\ncolors.maps = {};\ncolors.maps.america = require('./maps/america')(colors);\ncolors.maps.zebra = require('./maps/zebra')(colors);\ncolors.maps.rainbow = require('./maps/rainbow')(colors);\ncolors.maps.random = require('./maps/random')(colors);\n\nfor (var map in colors.maps) {\n (function(map) {\n colors[map] = function(str) {\n return sequencer(colors.maps[map], str);\n };\n })(map);\n}\n\ndefineProps(colors, init());\n", "//\n// Remark: Requiring this file will use the \"safe\" colors API,\n// which will not touch String.prototype.\n//\n// var colors = require('colors/safe');\n// colors.red(\"foo\")\n//\n//\nvar colors = require('./lib/colors');\nmodule['exports'] = colors;\n", "const { info, debug } = require('./debug');\nconst utils = require('./utils');\n\nclass Cell {\n /**\n * A representation of a cell within the table.\n * Implementations must have `init` and `draw` methods,\n * as well as `colSpan`, `rowSpan`, `desiredHeight` and `desiredWidth` properties.\n * @param options\n * @constructor\n */\n constructor(options) {\n this.setOptions(options);\n\n /**\n * Each cell will have it's `x` and `y` values set by the `layout-manager` prior to\n * `init` being called;\n * @type {Number}\n */\n this.x = null;\n this.y = null;\n }\n\n setOptions(options) {\n if (['boolean', 'number', 'bigint', 'string'].indexOf(typeof options) !== -1) {\n options = { content: '' + options };\n }\n options = options || {};\n this.options = options;\n let content = options.content;\n if (['boolean', 'number', 'bigint', 'string'].indexOf(typeof content) !== -1) {\n this.content = String(content);\n } else if (!content) {\n this.content = this.options.href || '';\n } else {\n throw new Error('Content needs to be a primitive, got: ' + typeof content);\n }\n this.colSpan = options.colSpan || 1;\n this.rowSpan = options.rowSpan || 1;\n if (this.options.href) {\n Object.defineProperty(this, 'href', {\n get() {\n return this.options.href;\n },\n });\n }\n }\n\n mergeTableOptions(tableOptions, cells) {\n this.cells = cells;\n\n let optionsChars = this.options.chars || {};\n let tableChars = tableOptions.chars;\n let chars = (this.chars = {});\n CHAR_NAMES.forEach(function (name) {\n setOption(optionsChars, tableChars, name, chars);\n });\n\n this.truncate = this.options.truncate || tableOptions.truncate;\n\n let style = (this.options.style = this.options.style || {});\n let tableStyle = tableOptions.style;\n setOption(style, tableStyle, 'padding-left', this);\n setOption(style, tableStyle, 'padding-right', this);\n this.head = style.head || tableStyle.head;\n this.border = style.border || tableStyle.border;\n\n this.fixedWidth = tableOptions.colWidths[this.x];\n this.lines = this.computeLines(tableOptions);\n\n this.desiredWidth = utils.strlen(this.content) + this.paddingLeft + this.paddingRight;\n this.desiredHeight = this.lines.length;\n }\n\n computeLines(tableOptions) {\n const tableWordWrap = tableOptions.wordWrap || tableOptions.textWrap;\n const { wordWrap = tableWordWrap } = this.options;\n if (this.fixedWidth && wordWrap) {\n this.fixedWidth -= this.paddingLeft + this.paddingRight;\n if (this.colSpan) {\n let i = 1;\n while (i < this.colSpan) {\n this.fixedWidth += tableOptions.colWidths[this.x + i];\n i++;\n }\n }\n const { wrapOnWordBoundary: tableWrapOnWordBoundary = true } = tableOptions;\n const { wrapOnWordBoundary = tableWrapOnWordBoundary } = this.options;\n return this.wrapLines(utils.wordWrap(this.fixedWidth, this.content, wrapOnWordBoundary));\n }\n return this.wrapLines(this.content.split('\\n'));\n }\n\n wrapLines(computedLines) {\n const lines = utils.colorizeLines(computedLines);\n if (this.href) {\n return lines.map((line) => utils.hyperlink(this.href, line));\n }\n return lines;\n }\n\n /**\n * Initializes the Cells data structure.\n *\n * @param tableOptions - A fully populated set of tableOptions.\n * In addition to the standard default values, tableOptions must have fully populated the\n * `colWidths` and `rowWidths` arrays. Those arrays must have lengths equal to the number\n * of columns or rows (respectively) in this table, and each array item must be a Number.\n *\n */\n init(tableOptions) {\n let x = this.x;\n let y = this.y;\n this.widths = tableOptions.colWidths.slice(x, x + this.colSpan);\n this.heights = tableOptions.rowHeights.slice(y, y + this.rowSpan);\n this.width = this.widths.reduce(sumPlusOne, -1);\n this.height = this.heights.reduce(sumPlusOne, -1);\n\n this.hAlign = this.options.hAlign || tableOptions.colAligns[x];\n this.vAlign = this.options.vAlign || tableOptions.rowAligns[y];\n\n this.drawRight = x + this.colSpan == tableOptions.colWidths.length;\n }\n\n /**\n * Draws the given line of the cell.\n * This default implementation defers to methods `drawTop`, `drawBottom`, `drawLine` and `drawEmpty`.\n * @param lineNum - can be `top`, `bottom` or a numerical line number.\n * @param spanningCell - will be a number if being called from a RowSpanCell, and will represent how\n * many rows below it's being called from. Otherwise it's undefined.\n * @returns {String} The representation of this line.\n */\n draw(lineNum, spanningCell) {\n if (lineNum == 'top') return this.drawTop(this.drawRight);\n if (lineNum == 'bottom') return this.drawBottom(this.drawRight);\n let content = utils.truncate(this.content, 10, this.truncate);\n if (!lineNum) {\n info(`${this.y}-${this.x}: ${this.rowSpan - lineNum}x${this.colSpan} Cell ${content}`);\n } else {\n // debug(`${lineNum}-${this.x}: 1x${this.colSpan} RowSpanCell ${content}`);\n }\n let padLen = Math.max(this.height - this.lines.length, 0);\n let padTop;\n switch (this.vAlign) {\n case 'center':\n padTop = Math.ceil(padLen / 2);\n break;\n case 'bottom':\n padTop = padLen;\n break;\n default:\n padTop = 0;\n }\n if (lineNum < padTop || lineNum >= padTop + this.lines.length) {\n return this.drawEmpty(this.drawRight, spanningCell);\n }\n let forceTruncation = this.lines.length > this.height && lineNum + 1 >= this.height;\n return this.drawLine(lineNum - padTop, this.drawRight, forceTruncation, spanningCell);\n }\n\n /**\n * Renders the top line of the cell.\n * @param drawRight - true if this method should render the right edge of the cell.\n * @returns {String}\n */\n drawTop(drawRight) {\n let content = [];\n if (this.cells) {\n //TODO: cells should always exist - some tests don't fill it in though\n this.widths.forEach(function (width, index) {\n content.push(this._topLeftChar(index));\n content.push(utils.repeat(this.chars[this.y == 0 ? 'top' : 'mid'], width));\n }, this);\n } else {\n content.push(this._topLeftChar(0));\n content.push(utils.repeat(this.chars[this.y == 0 ? 'top' : 'mid'], this.width));\n }\n if (drawRight) {\n content.push(this.chars[this.y == 0 ? 'topRight' : 'rightMid']);\n }\n return this.wrapWithStyleColors('border', content.join(''));\n }\n\n _topLeftChar(offset) {\n let x = this.x + offset;\n let leftChar;\n if (this.y == 0) {\n leftChar = x == 0 ? 'topLeft' : offset == 0 ? 'topMid' : 'top';\n } else {\n if (x == 0) {\n leftChar = 'leftMid';\n } else {\n leftChar = offset == 0 ? 'midMid' : 'bottomMid';\n if (this.cells) {\n //TODO: cells should always exist - some tests don't fill it in though\n let spanAbove = this.cells[this.y - 1][x] instanceof Cell.ColSpanCell;\n if (spanAbove) {\n leftChar = offset == 0 ? 'topMid' : 'mid';\n }\n if (offset == 0) {\n let i = 1;\n while (this.cells[this.y][x - i] instanceof Cell.ColSpanCell) {\n i++;\n }\n if (this.cells[this.y][x - i] instanceof Cell.RowSpanCell) {\n leftChar = 'leftMid';\n }\n }\n }\n }\n }\n return this.chars[leftChar];\n }\n\n wrapWithStyleColors(styleProperty, content) {\n if (this[styleProperty] && this[styleProperty].length) {\n try {\n let colors = require('@colors/colors/safe');\n for (let i = this[styleProperty].length - 1; i >= 0; i--) {\n colors = colors[this[styleProperty][i]];\n }\n return colors(content);\n } catch (e) {\n return content;\n }\n } else {\n return content;\n }\n }\n\n /**\n * Renders a line of text.\n * @param lineNum - Which line of text to render. This is not necessarily the line within the cell.\n * There may be top-padding above the first line of text.\n * @param drawRight - true if this method should render the right edge of the cell.\n * @param forceTruncationSymbol - `true` if the rendered text should end with the truncation symbol even\n * if the text fits. This is used when the cell is vertically truncated. If `false` the text should\n * only include the truncation symbol if the text will not fit horizontally within the cell width.\n * @param spanningCell - a number of if being called from a RowSpanCell. (how many rows below). otherwise undefined.\n * @returns {String}\n */\n drawLine(lineNum, drawRight, forceTruncationSymbol, spanningCell) {\n let left = this.chars[this.x == 0 ? 'left' : 'middle'];\n if (this.x && spanningCell && this.cells) {\n let cellLeft = this.cells[this.y + spanningCell][this.x - 1];\n while (cellLeft instanceof ColSpanCell) {\n cellLeft = this.cells[cellLeft.y][cellLeft.x - 1];\n }\n if (!(cellLeft instanceof RowSpanCell)) {\n left = this.chars['rightMid'];\n }\n }\n let leftPadding = utils.repeat(' ', this.paddingLeft);\n let right = drawRight ? this.chars['right'] : '';\n let rightPadding = utils.repeat(' ', this.paddingRight);\n let line = this.lines[lineNum];\n let len = this.width - (this.paddingLeft + this.paddingRight);\n if (forceTruncationSymbol) line += this.truncate || '\u2026';\n let content = utils.truncate(line, len, this.truncate);\n content = utils.pad(content, len, ' ', this.hAlign);\n content = leftPadding + content + rightPadding;\n return this.stylizeLine(left, content, right);\n }\n\n stylizeLine(left, content, right) {\n left = this.wrapWithStyleColors('border', left);\n right = this.wrapWithStyleColors('border', right);\n if (this.y === 0) {\n content = this.wrapWithStyleColors('head', content);\n }\n return left + content + right;\n }\n\n /**\n * Renders the bottom line of the cell.\n * @param drawRight - true if this method should render the right edge of the cell.\n * @returns {String}\n */\n drawBottom(drawRight) {\n let left = this.chars[this.x == 0 ? 'bottomLeft' : 'bottomMid'];\n let content = utils.repeat(this.chars.bottom, this.width);\n let right = drawRight ? this.chars['bottomRight'] : '';\n return this.wrapWithStyleColors('border', left + content + right);\n }\n\n /**\n * Renders a blank line of text within the cell. Used for top and/or bottom padding.\n * @param drawRight - true if this method should render the right edge of the cell.\n * @param spanningCell - a number of if being called from a RowSpanCell. (how many rows below). otherwise undefined.\n * @returns {String}\n */\n drawEmpty(drawRight, spanningCell) {\n let left = this.chars[this.x == 0 ? 'left' : 'middle'];\n if (this.x && spanningCell && this.cells) {\n let cellLeft = this.cells[this.y + spanningCell][this.x - 1];\n while (cellLeft instanceof ColSpanCell) {\n cellLeft = this.cells[cellLeft.y][cellLeft.x - 1];\n }\n if (!(cellLeft instanceof RowSpanCell)) {\n left = this.chars['rightMid'];\n }\n }\n let right = drawRight ? this.chars['right'] : '';\n let content = utils.repeat(' ', this.width);\n return this.stylizeLine(left, content, right);\n }\n}\n\nclass ColSpanCell {\n /**\n * A Cell that doesn't do anything. It just draws empty lines.\n * Used as a placeholder in column spanning.\n * @constructor\n */\n constructor() {}\n\n draw(lineNum) {\n if (typeof lineNum === 'number') {\n debug(`${this.y}-${this.x}: 1x1 ColSpanCell`);\n }\n return '';\n }\n\n init() {}\n\n mergeTableOptions() {}\n}\n\nclass RowSpanCell {\n /**\n * A placeholder Cell for a Cell that spans multiple rows.\n * It delegates rendering to the original cell, but adds the appropriate offset.\n * @param originalCell\n * @constructor\n */\n constructor(originalCell) {\n this.originalCell = originalCell;\n }\n\n init(tableOptions) {\n let y = this.y;\n let originalY = this.originalCell.y;\n this.cellOffset = y - originalY;\n this.offset = findDimension(tableOptions.rowHeights, originalY, this.cellOffset);\n }\n\n draw(lineNum) {\n if (lineNum == 'top') {\n return this.originalCell.draw(this.offset, this.cellOffset);\n }\n if (lineNum == 'bottom') {\n return this.originalCell.draw('bottom');\n }\n debug(`${this.y}-${this.x}: 1x${this.colSpan} RowSpanCell for ${this.originalCell.content}`);\n return this.originalCell.draw(this.offset + 1 + lineNum);\n }\n\n mergeTableOptions() {}\n}\n\nfunction firstDefined(...args) {\n return args.filter((v) => v !== undefined && v !== null).shift();\n}\n\n// HELPER FUNCTIONS\nfunction setOption(objA, objB, nameB, targetObj) {\n let nameA = nameB.split('-');\n if (nameA.length > 1) {\n nameA[1] = nameA[1].charAt(0).toUpperCase() + nameA[1].substr(1);\n nameA = nameA.join('');\n targetObj[nameA] = firstDefined(objA[nameA], objA[nameB], objB[nameA], objB[nameB]);\n } else {\n targetObj[nameB] = firstDefined(objA[nameB], objB[nameB]);\n }\n}\n\nfunction findDimension(dimensionTable, startingIndex, span) {\n let ret = dimensionTable[startingIndex];\n for (let i = 1; i < span; i++) {\n ret += 1 + dimensionTable[startingIndex + i];\n }\n return ret;\n}\n\nfunction sumPlusOne(a, b) {\n return a + b + 1;\n}\n\nlet CHAR_NAMES = [\n 'top',\n 'top-mid',\n 'top-left',\n 'top-right',\n 'bottom',\n 'bottom-mid',\n 'bottom-left',\n 'bottom-right',\n 'left',\n 'left-mid',\n 'mid',\n 'mid-mid',\n 'right',\n 'right-mid',\n 'middle',\n];\n\nmodule.exports = Cell;\nmodule.exports.ColSpanCell = ColSpanCell;\nmodule.exports.RowSpanCell = RowSpanCell;\n", "const { warn, debug } = require('./debug');\nconst Cell = require('./cell');\nconst { ColSpanCell, RowSpanCell } = Cell;\n\n(function () {\n function next(alloc, col) {\n if (alloc[col] > 0) {\n return next(alloc, col + 1);\n }\n return col;\n }\n\n function layoutTable(table) {\n let alloc = {};\n table.forEach(function (row, rowIndex) {\n let col = 0;\n row.forEach(function (cell) {\n cell.y = rowIndex;\n // Avoid erroneous call to next() on first row\n cell.x = rowIndex ? next(alloc, col) : col;\n const rowSpan = cell.rowSpan || 1;\n const colSpan = cell.colSpan || 1;\n if (rowSpan > 1) {\n for (let cs = 0; cs < colSpan; cs++) {\n alloc[cell.x + cs] = rowSpan;\n }\n }\n col = cell.x + colSpan;\n });\n Object.keys(alloc).forEach((idx) => {\n alloc[idx]--;\n if (alloc[idx] < 1) delete alloc[idx];\n });\n });\n }\n\n function maxWidth(table) {\n let mw = 0;\n table.forEach(function (row) {\n row.forEach(function (cell) {\n mw = Math.max(mw, cell.x + (cell.colSpan || 1));\n });\n });\n return mw;\n }\n\n function maxHeight(table) {\n return table.length;\n }\n\n function cellsConflict(cell1, cell2) {\n let yMin1 = cell1.y;\n let yMax1 = cell1.y - 1 + (cell1.rowSpan || 1);\n let yMin2 = cell2.y;\n let yMax2 = cell2.y - 1 + (cell2.rowSpan || 1);\n let yConflict = !(yMin1 > yMax2 || yMin2 > yMax1);\n\n let xMin1 = cell1.x;\n let xMax1 = cell1.x - 1 + (cell1.colSpan || 1);\n let xMin2 = cell2.x;\n let xMax2 = cell2.x - 1 + (cell2.colSpan || 1);\n let xConflict = !(xMin1 > xMax2 || xMin2 > xMax1);\n\n return yConflict && xConflict;\n }\n\n function conflictExists(rows, x, y) {\n let i_max = Math.min(rows.length - 1, y);\n let cell = { x: x, y: y };\n for (let i = 0; i <= i_max; i++) {\n let row = rows[i];\n for (let j = 0; j < row.length; j++) {\n if (cellsConflict(cell, row[j])) {\n return true;\n }\n }\n }\n return false;\n }\n\n function allBlank(rows, y, xMin, xMax) {\n for (let x = xMin; x < xMax; x++) {\n if (conflictExists(rows, x, y)) {\n return false;\n }\n }\n return true;\n }\n\n function addRowSpanCells(table) {\n table.forEach(function (row, rowIndex) {\n row.forEach(function (cell) {\n for (let i = 1; i < cell.rowSpan; i++) {\n let rowSpanCell = new RowSpanCell(cell);\n rowSpanCell.x = cell.x;\n rowSpanCell.y = cell.y + i;\n rowSpanCell.colSpan = cell.colSpan;\n insertCell(rowSpanCell, table[rowIndex + i]);\n }\n });\n });\n }\n\n function addColSpanCells(cellRows) {\n for (let rowIndex = cellRows.length - 1; rowIndex >= 0; rowIndex--) {\n let cellColumns = cellRows[rowIndex];\n for (let columnIndex = 0; columnIndex < cellColumns.length; columnIndex++) {\n let cell = cellColumns[columnIndex];\n for (let k = 1; k < cell.colSpan; k++) {\n let colSpanCell = new ColSpanCell();\n colSpanCell.x = cell.x + k;\n colSpanCell.y = cell.y;\n cellColumns.splice(columnIndex + 1, 0, colSpanCell);\n }\n }\n }\n }\n\n function insertCell(cell, row) {\n let x = 0;\n while (x < row.length && row[x].x < cell.x) {\n x++;\n }\n row.splice(x, 0, cell);\n }\n\n function fillInTable(table) {\n let h_max = maxHeight(table);\n let w_max = maxWidth(table);\n debug(`Max rows: ${h_max}; Max cols: ${w_max}`);\n for (let y = 0; y < h_max; y++) {\n for (let x = 0; x < w_max; x++) {\n if (!conflictExists(table, x, y)) {\n let opts = { x: x, y: y, colSpan: 1, rowSpan: 1 };\n x++;\n while (x < w_max && !conflictExists(table, x, y)) {\n opts.colSpan++;\n x++;\n }\n let y2 = y + 1;\n while (y2 < h_max && allBlank(table, y2, opts.x, opts.x + opts.colSpan)) {\n opts.rowSpan++;\n y2++;\n }\n let cell = new Cell(opts);\n cell.x = opts.x;\n cell.y = opts.y;\n warn(`Missing cell at ${cell.y}-${cell.x}.`);\n insertCell(cell, table[y]);\n }\n }\n }\n }\n\n function generateCells(rows) {\n return rows.map(function (row) {\n if (!Array.isArray(row)) {\n let key = Object.keys(row)[0];\n row = row[key];\n if (Array.isArray(row)) {\n row = row.slice();\n row.unshift(key);\n } else {\n row = [key, row];\n }\n }\n return row.map(function (cell) {\n return new Cell(cell);\n });\n });\n }\n\n function makeTableLayout(rows) {\n let cellRows = generateCells(rows);\n layoutTable(cellRows);\n fillInTable(cellRows);\n addRowSpanCells(cellRows);\n addColSpanCells(cellRows);\n return cellRows;\n }\n\n module.exports = {\n makeTableLayout: makeTableLayout,\n layoutTable: layoutTable,\n addRowSpanCells: addRowSpanCells,\n maxWidth: maxWidth,\n fillInTable: fillInTable,\n computeWidths: makeComputeWidths('colSpan', 'desiredWidth', 'x', 1),\n computeHeights: makeComputeWidths('rowSpan', 'desiredHeight', 'y', 1),\n };\n})();\n\nfunction makeComputeWidths(colSpan, desiredWidth, x, forcedMin) {\n return function (vals, table) {\n let result = [];\n let spanners = [];\n let auto = {};\n table.forEach(function (row) {\n row.forEach(function (cell) {\n if ((cell[colSpan] || 1) > 1) {\n spanners.push(cell);\n } else {\n result[cell[x]] = Math.max(result[cell[x]] || 0, cell[desiredWidth] || 0, forcedMin);\n }\n });\n });\n\n vals.forEach(function (val, index) {\n if (typeof val === 'number') {\n result[index] = val;\n }\n });\n\n //spanners.forEach(function(cell){\n for (let k = spanners.length - 1; k >= 0; k--) {\n let cell = spanners[k];\n let span = cell[colSpan];\n let col = cell[x];\n let existingWidth = result[col];\n let editableCols = typeof vals[col] === 'number' ? 0 : 1;\n if (typeof existingWidth === 'number') {\n for (let i = 1; i < span; i++) {\n existingWidth += 1 + result[col + i];\n if (typeof vals[col + i] !== 'number') {\n editableCols++;\n }\n }\n } else {\n existingWidth = desiredWidth === 'desiredWidth' ? cell.desiredWidth - 1 : 1;\n if (!auto[col] || auto[col] < existingWidth) {\n auto[col] = existingWidth;\n }\n }\n\n if (cell[desiredWidth] > existingWidth) {\n let i = 0;\n while (editableCols > 0 && cell[desiredWidth] > existingWidth) {\n if (typeof vals[col + i] !== 'number') {\n let dif = Math.round((cell[desiredWidth] - existingWidth) / editableCols);\n existingWidth += dif;\n result[col + i] += dif;\n editableCols--;\n }\n i++;\n }\n }\n }\n\n Object.assign(vals, result, auto);\n for (let j = 0; j < vals.length; j++) {\n vals[j] = Math.max(forcedMin, vals[j] || 0);\n }\n };\n}\n", "const debug = require('./debug');\nconst utils = require('./utils');\nconst tableLayout = require('./layout-manager');\n\nclass Table extends Array {\n constructor(opts) {\n super();\n\n const options = utils.mergeOptions(opts);\n Object.defineProperty(this, 'options', {\n value: options,\n enumerable: options.debug,\n });\n\n if (options.debug) {\n switch (typeof options.debug) {\n case 'boolean':\n debug.setDebugLevel(debug.WARN);\n break;\n case 'number':\n debug.setDebugLevel(options.debug);\n break;\n case 'string':\n debug.setDebugLevel(parseInt(options.debug, 10));\n break;\n default:\n debug.setDebugLevel(debug.WARN);\n debug.warn(`Debug option is expected to be boolean, number, or string. Received a ${typeof options.debug}`);\n }\n Object.defineProperty(this, 'messages', {\n get() {\n return debug.debugMessages();\n },\n });\n }\n }\n\n toString() {\n let array = this;\n let headersPresent = this.options.head && this.options.head.length;\n if (headersPresent) {\n array = [this.options.head];\n if (this.length) {\n array.push.apply(array, this);\n }\n } else {\n this.options.style.head = [];\n }\n\n let cells = tableLayout.makeTableLayout(array);\n\n cells.forEach(function (row) {\n row.forEach(function (cell) {\n cell.mergeTableOptions(this.options, cells);\n }, this);\n }, this);\n\n tableLayout.computeWidths(this.options.colWidths, cells);\n tableLayout.computeHeights(this.options.rowHeights, cells);\n\n cells.forEach(function (row) {\n row.forEach(function (cell) {\n cell.init(this.options);\n }, this);\n }, this);\n\n let result = [];\n\n for (let rowIndex = 0; rowIndex < cells.length; rowIndex++) {\n let row = cells[rowIndex];\n let heightOfRow = this.options.rowHeights[rowIndex];\n\n if (rowIndex === 0 || !this.options.style.compact || (rowIndex == 1 && headersPresent)) {\n doDraw(row, 'top', result);\n }\n\n for (let lineNum = 0; lineNum < heightOfRow; lineNum++) {\n doDraw(row, lineNum, result);\n }\n\n if (rowIndex + 1 == cells.length) {\n doDraw(row, 'bottom', result);\n }\n }\n\n return result.join('\\n');\n }\n\n get width() {\n let str = this.toString().split('\\n');\n return str[0].length;\n }\n}\n\nTable.reset = () => debug.reset();\n\nfunction doDraw(row, lineNum, result) {\n let line = [];\n row.forEach(function (cell) {\n line.push(cell.draw(lineNum));\n });\n let str = line.join('');\n if (str.length) result.push(str);\n}\n\nmodule.exports = Table;\n", "module.exports = require('./src/table');", "import CliTable3 from \"cli-table3\";\nimport indentString from \"indent-string\";\nimport { dedent } from \"ts-dedent\";\n\nimport { println, type PrintOptions } from \"./print.js\";\nimport { sprintln, type SprintOptions } from \"./sprint.js\";\n\nexport type SprintTableOptions = SprintOptions & {\n /**\n * The text to print above the table.\n */\n title?: string;\n\n /**\n * The headers of the table.\n */\n headers?: string[];\n\n /**\n * The rows of the table.\n */\n rows: string[][];\n\n /**\n * The text to print below the table.\n */\n footer?: string;\n\n /**\n * Whether to add an empty line above the body of the table.\n *\n * @default false\n */\n ensureEmptyLineAboveBody?: boolean;\n\n /**\n * Whether to add an empty line above the footer of the table.\n *\n * @default false\n */\n ensureEmptyLineAboveFooter?: boolean;\n\n /**\n * The type of borders to use.\n *\n * @default \"none\"\n */\n borders?: \"none\" | \"thin\" | \"thick\";\n\n /**\n * The alignment of the content in each column.\n *\n * @default [] (left-aligned)\n */\n colAligns?: (\"left\" | \"center\" | \"right\")[];\n\n /**\n * The width of each column.\n *\n * @default [] (auto-sized)\n */\n colWidths?: number[];\n};\n\nexport const sprintTable = ({\n title,\n headers,\n rows,\n footer,\n ensureEmptyLineAboveBody = false,\n ensureEmptyLineAboveFooter = false,\n borders: borderType = \"none\",\n colAligns = [],\n colWidths = [],\n indent,\n ...printOptions\n}: SprintTableOptions): string => {\n const table = new CliTable3({\n chars: borders[borderType],\n colAligns,\n colWidths,\n head: headers,\n style: { head: [], border: [] },\n });\n\n table.push(...rows);\n\n let content = table.toString() + \"\\n\";\n if (borderType === \"none\") {\n // remove the left padding\n content = dedent(content).slice(1);\n }\n\n // remove the right padding\n content = content\n .split(\"\\n\")\n .map((line) => line.trimEnd())\n .join(\"\\n\");\n\n if (indent) {\n content = indentString(content, indent);\n }\n\n if (title) {\n content = sprintln(title) + sprintln({ content, ensureEmptyLineAbove: ensureEmptyLineAboveBody });\n }\n\n if (footer) {\n content = sprintln(content) + sprintln({ content: footer, ensureEmptyLineAbove: ensureEmptyLineAboveFooter });\n }\n\n return sprintln({ content, ...printOptions });\n};\n\nexport type PrintTableOptions = Omit<PrintOptions, \"content\"> & SprintTableOptions;\n\nexport const printTable = (options: PrintTableOptions): void => {\n println(sprintTable(options));\n};\n\n// oxfmt-ignore\nconst borders = {\n none: {\n \"top-left\": \"\",\n top: \"\",\n \"top-mid\": \"\",\n \"top-right\": \"\",\n \"left-mid\": \"\",\n mid: \"\",\n \"mid-mid\": \"\",\n \"right-mid\": \"\",\n left: \"\",\n middle: \"\",\n right: \"\",\n \"bottom-left\": \"\",\n bottom: \"\",\n \"bottom-mid\": \"\",\n \"bottom-right\": \"\",\n },\n thin: {\n \"top-left\": \"\u250C\",\n top: \"\u2500\",\n \"top-mid\": \"\u252C\",\n \"top-right\": \"\u2510\",\n \"left-mid\": \"\u251C\",\n mid: \"\u2500\",\n \"mid-mid\": \"\u253C\",\n \"right-mid\": \"\u2524\",\n left: \"\u2502\",\n middle: \"\u2502\",\n right: \"\u2502\",\n \"bottom-left\": \"\u2514\",\n bottom: \"\u2500\",\n \"bottom-mid\": \"\u2534\",\n \"bottom-right\": \"\u2518\",\n },\n thick: {\n \"top-left\": \"\u2554\",\n top: \"\u2550\",\n \"top-mid\": \"\u2564\",\n \"top-right\": \"\u2557\",\n left: \"\u2551\",\n middle: \"\u2502\",\n right: \"\u2551\",\n \"left-mid\": \"\u255F\",\n mid: \"\u2500\",\n \"mid-mid\": \"\u253C\",\n \"right-mid\": \"\u2562\",\n \"bottom-left\": \"\u255A\",\n bottom: \"\u2550\",\n \"bottom-mid\": \"\u2567\",\n \"bottom-right\": \"\u255D\",\n },\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["require_debug", "__commonJSMin", "exports", "module", "init_cjs", "messages", "level", "debug", "__name", "msg", "min", "v", "require_utils", "__commonJSMin", "exports", "module", "init_cjs", "stringWidth", "codeRegex", "capture", "__name", "strlen", "str", "code", "memo", "s", "repeat", "times", "pad", "len", "dir", "length", "padlen", "right", "left", "codeCache", "addToCodeCache", "name", "on", "off", "updateState", "state", "controlChars", "controlCode", "i", "info", "readState", "line", "unwindState", "ret", "lastBackgroundAdded", "lastForegroundAdded", "key", "rewindState", "truncateWidth", "desiredLength", "truncateWidthWithAnsi", "split", "splitIndex", "retLen", "myArray", "toAdd", "truncate", "truncateChar", "hrefTag", "defaultOptions", "mergeOptions", "options", "defaults", "wordWrap", "maxLength", "input", "lines", "lineLength", "whitespace", "word", "newLength", "textWrap", "pushLine", "ws", "multiLineWordWrap", "wrapOnWordBoundary", "output", "handler", "colorizeLines", "temp", "hyperlink", "url", "text", "require_styles", "__commonJSMin", "exports", "module", "init_cjs", "styles", "codes", "key", "val", "style", "require_has_flag", "__commonJSMin", "exports", "module", "init_cjs", "flag", "argv", "terminatorPos", "prefix", "pos", "require_supports_colors", "__commonJSMin", "exports", "module", "init_cjs", "os", "hasFlag", "env", "forceColor", "translateLevel", "level", "__name", "supportsColor", "stream", "min", "osRelease", "sign", "version", "getSupportLevel", "require_trap", "__commonJSMin", "exports", "module", "init_cjs", "__name", "text", "options", "result", "trap", "c", "chars", "rand", "require_zalgo", "__commonJSMin", "exports", "module", "init_cjs", "__name", "text", "options", "soul", "all", "randomNumber", "range", "r", "isChar", "character", "bool", "i", "heComes", "result", "counts", "l", "arr", "d", "index", "require_america", "__commonJSMin", "exports", "module", "init_cjs", "colors", "letter", "i", "exploded", "require_zebra", "__commonJSMin", "exports", "module", "init_cjs", "colors", "letter", "i", "exploded", "require_rainbow", "__commonJSMin", "exports", "module", "init_cjs", "colors", "rainbowColors", "letter", "i", "exploded", "require_random", "__commonJSMin", "exports", "module", "init_cjs", "colors", "available", "letter", "i", "exploded", "require_colors", "__commonJSMin", "exports", "module", "init_cjs", "colors", "util", "ansiStyles", "defineProps", "newLineRegex", "str", "stylize", "__name", "style", "styleMap", "matchOperatorsRe", "escapeStringRegexp", "build", "_styles", "builder", "applyStyle", "proto", "styles", "ret", "key", "args", "arg", "newLinesPresent", "nestedStyles", "i", "code", "match", "theme", "out", "init", "name", "sequencer", "map", "exploded", "require_safe", "__commonJSMin", "exports", "module", "init_cjs", "colors", "require_cell", "__commonJSMin", "exports", "module", "init_cjs", "info", "debug", "utils", "Cell", "_Cell", "__name", "options", "content", "tableOptions", "cells", "optionsChars", "tableChars", "chars", "CHAR_NAMES", "name", "setOption", "style", "tableStyle", "tableWordWrap", "wordWrap", "i", "tableWrapOnWordBoundary", "wrapOnWordBoundary", "computedLines", "lines", "line", "x", "y", "sumPlusOne", "lineNum", "spanningCell", "padLen", "padTop", "forceTruncation", "drawRight", "width", "index", "offset", "leftChar", "styleProperty", "colors", "forceTruncationSymbol", "left", "cellLeft", "ColSpanCell", "RowSpanCell", "leftPadding", "right", "rightPadding", "len", "originalCell", "originalY", "findDimension", "firstDefined", "args", "v", "objA", "objB", "nameB", "targetObj", "nameA", "dimensionTable", "startingIndex", "span", "ret", "a", "b", "require_layout_manager", "__commonJSMin", "exports", "module", "init_cjs", "warn", "debug", "Cell", "ColSpanCell", "RowSpanCell", "next", "alloc", "col", "__name", "layoutTable", "table", "row", "rowIndex", "cell", "rowSpan", "colSpan", "cs", "idx", "maxWidth", "mw", "maxHeight", "cellsConflict", "cell1", "cell2", "yMin1", "yMax1", "yMin2", "yMax2", "yConflict", "xMin1", "xMax1", "xMin2", "xMax2", "xConflict", "conflictExists", "rows", "x", "y", "i_max", "i", "j", "allBlank", "xMin", "xMax", "addRowSpanCells", "rowSpanCell", "insertCell", "addColSpanCells", "cellRows", "cellColumns", "columnIndex", "k", "colSpanCell", "fillInTable", "h_max", "w_max", "opts", "y2", "generateCells", "key", "makeTableLayout", "makeComputeWidths", "desiredWidth", "forcedMin", "vals", "result", "spanners", "auto", "val", "index", "span", "existingWidth", "editableCols", "dif", "require_table", "__commonJSMin", "exports", "module", "init_cjs", "debug", "utils", "tableLayout", "Table", "__name", "opts", "options", "array", "headersPresent", "cells", "row", "cell", "result", "rowIndex", "heightOfRow", "doDraw", "lineNum", "line", "str", "require_cli_table3", "__commonJSMin", "exports", "module", "init_cjs", "init_cjs", "import_cli_table3", "import_ts_dedent", "sprintTable", "__name", "title", "headers", "rows", "footer", "ensureEmptyLineAboveBody", "ensureEmptyLineAboveFooter", "borderType", "colAligns", "colWidths", "indent", "printOptions", "table", "CliTable3", "borders", "content", "line", "indentString", "sprintln", "printTable", "options", "println"]
|
|
7
|
-
}
|
package/dist/chunk-X4XSYLCE.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import{K}from"./chunk-ALSXPCRD.js";import{a as n,d as b,f as x,h as f}from"./chunk-7DYQUG5M.js";var F=b((It,p)=>{f();function v(e){return Array.isArray(e)?e:[e]}n(v,"makeArray");var V=void 0,w="",L=" ",I="\\",M=/^\s+$/,Y=/(?:[^\\]|^)\\$/,U=/^\\!/,q=/^\\#/,J=/\r?\n/g,Q=/^\.{0,2}\/|^\.{1,2}$/,Z=/\/$/,h="/",G="node-ignore";typeof Symbol<"u"&&(G=Symbol.for("node-ignore"));var D=G,_=n((e,t,s)=>(Object.defineProperty(e,t,{value:s}),s),"define"),tt=/([0-z])-([0-z])/g,H=n(()=>!1,"RETURN_FALSE"),et=n(e=>e.replace(tt,(t,s,r)=>s.charCodeAt(0)<=r.charCodeAt(0)?t:w),"sanitizeRange"),st=n(e=>{let{length:t}=e;return e.slice(0,t-t%2)},"cleanRangeBackSlash"),rt=[[/^\uFEFF/,()=>w],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,s)=>t+(s.indexOf("\\")===0?L:w)],[/(\\+?)\s/g,(e,t)=>{let{length:s}=t;return t.slice(0,s-s%2)+L}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,n(function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"},"startingReplacer")],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,s)=>t+6<s.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,s)=>{let r=s.replace(/\\\*/g,"[^\\/]*");return t+r}],[/\\\\\\(?=[$.|*+(){^])/g,()=>I],[/\\\\/g,()=>I],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,s,r,i)=>t===I?`\\[${s}${st(r)}${i}`:i==="]"&&r.length%2===0?`[${et(s)}${r}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],it=/(^|\\\/)?\\\*$/,E="regex",R="checkRegex",T="_",nt={[E](e,t){return`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`},[R](e,t){return`${t?`${t}[^/]*`:"[^/]*"}(?=$|\\/$)`}},ot=n(e=>rt.reduce((t,[s,r])=>t.replace(s,r.bind(e)),e),"makeRegexPrefix"),y=n(e=>typeof e=="string","isString"),at=n(e=>e&&y(e)&&!M.test(e)&&!Y.test(e)&&e.indexOf("#")!==0,"checkPattern"),ct=n(e=>e.split(J).filter(Boolean),"splitPattern"),N=class{static{n(this,"IgnoreRule")}constructor(t,s,r,i,o,u){this.pattern=t,this.mark=s,this.negative=o,_(this,"body",r),_(this,"ignoreCase",i),_(this,"regexPrefix",u)}get regex(){let t=T+E;return this[t]?this[t]:this._make(E,t)}get checkRegex(){let t=T+R;return this[t]?this[t]:this._make(R,t)}_make(t,s){let r=this.regexPrefix.replace(it,nt[t]),i=this.ignoreCase?new RegExp(r,"i"):new RegExp(r);return _(this,s,i)}},ut=n(({pattern:e,mark:t},s)=>{let r=!1,i=e;i.indexOf("!")===0&&(r=!0,i=i.substr(1)),i=i.replace(U,"!").replace(q,"#");let o=ot(i);return new N(e,t,i,s,r,o)},"createRule"),P=class{static{n(this,"RuleManager")}constructor(t){this._ignoreCase=t,this._rules=[]}_add(t){if(t&&t[D]){this._rules=this._rules.concat(t._rules._rules),this._added=!0;return}if(y(t)&&(t={pattern:t}),at(t.pattern)){let s=ut(t,this._ignoreCase);this._added=!0,this._rules.push(s)}}add(t){return this._added=!1,v(y(t)?ct(t):t).forEach(this._add,this),this._added}test(t,s,r){let i=!1,o=!1,u;this._rules.forEach(l=>{let{negative:c}=l;o===c&&i!==o||c&&!i&&!o&&!s||!l[r].test(t)||(i=!c,o=c,u=c?V:l)});let g={ignored:i,unignored:o};return u&&(g.rule=u),g}},lt=n((e,t)=>{throw new t(e)},"throwError"),a=n((e,t,s)=>y(e)?e?a.isNotRelative(e)?s(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:s("path must not be empty",TypeError):s(`path must be a string, but got \`${t}\``,TypeError),"checkPath"),O=n(e=>Q.test(e),"isNotRelative");a.isNotRelative=O;a.convert=e=>e;var $=class{static{n(this,"Ignore")}constructor({ignorecase:t=!0,ignoreCase:s=t,allowRelativePaths:r=!1}={}){_(this,D,!0),this._rules=new P(s),this._strictPathCheck=!r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(t){return this._rules.add(t)&&this._initCache(),this}addPattern(t){return this.add(t)}_test(t,s,r,i){let o=t&&a.convert(t);return a(o,t,this._strictPathCheck?lt:H),this._t(o,s,r,i)}checkIgnore(t){if(!Z.test(t))return this.test(t);let s=t.split(h).filter(Boolean);if(s.pop(),s.length){let r=this._t(s.join(h)+h,this._testCache,!0,s);if(r.ignored)return r}return this._rules.test(t,!1,R)}_t(t,s,r,i){if(t in s)return s[t];if(i||(i=t.split(h).filter(Boolean)),i.pop(),!i.length)return s[t]=this._rules.test(t,r,E);let o=this._t(i.join(h)+h,s,r,i);return s[t]=o.ignored?o:this._rules.test(t,r,E)}ignores(t){return this._test(t,this._ignoreCache,!1).ignored}createFilter(){return t=>!this.ignores(t)}filter(t){return v(t).filter(this.createFilter())}test(t){return this._test(t,this._testCache,!0)}},C=n(e=>new $(e),"factory"),ft=n(e=>a(e&&a.convert(e),e,H),"isPathValid"),k=n(()=>{let e=n(s=>/^\\\\\?\\/.test(s)||/["<>|\u0000-\u001F]+/u.test(s)?s:s.replace(/\\/g,"/"),"makePosix");a.convert=e;let t=/^[a-z]:\//i;a.isNotRelative=s=>t.test(s)||O(s)},"setupWindows");typeof process<"u"&&process.platform==="win32"&&k();p.exports=C;C.default=C;p.exports.isPathValid=ft;_(p.exports,Symbol.for("setupWindows"),k)});var W=b((Pt,X)=>{f();X.exports=function(e,t){if(typeof e!="string")throw new TypeError("expected path to be a string");if(e==="\\"||e==="/")return"/";var s=e.length;if(s<=1)return e;var r="";if(s>4&&e[3]==="\\"){var i=e[2];(i==="?"||i===".")&&e.slice(0,2)==="\\\\"&&(e=e.slice(2),r="//")}var o=e.split(/[/\\]+/);return t!==!1&&o[o.length-1]===""&&o.pop(),r+o.join("/")}});f();var m=x(K(),1),z=x(F(),1),S=x(W(),1);import ht from"node:assert";import{createHash as _t}from"node:crypto";import d from"node:path";import{Transform as dt}from"node:stream";import{pipeline as gt}from"node:stream/promises";var Et=[".gadget/"],mt=[".DS_Store","node_modules",".git",".shopify"],Rt=[".gadget/sync.json",".gadget/dev-lock.json",".gadget/backup","yarn-error.log"],j=class e{constructor(t){this.path=t}static{n(this,"Directory")}_ignorer;_isHashing=!1;_lastIgnoreFileLoadTime=0;static async init(t){let s=new e(t);return await s.loadIgnoreFile(),s._lastIgnoreFileLoadTime=0,s}relative(t){return d.isAbsolute(t)?d.relative(this.path,t):t}absolute(...t){let s=d.resolve(this.path,...t);return ht(s.startsWith(this.path),`expected ${s} to be within ${this.path}`),s}normalize(t,s){return d.isAbsolute(t)&&(t=this.relative(t)),t=(0,S.default)(t,!0),s&&(t+="/"),t}async loadIgnoreFile(){this._lastIgnoreFileLoadTime=Date.now(),this._ignorer=(0,z.default)(),this._ignorer.add(mt);try{let t=await m.default.readFile(this.absolute(".ignore"),"utf8");this._ignorer.add(t)}catch(t){if(B(t)||At(t))return;throw t}}ignoreFileLoadedWithin(t){return Date.now()-this._lastIgnoreFileLoadTime<t}ignores(t,s){return t=this.relative(t),t===""?!1:t.startsWith("..")||(t=(0,S.default)(t,!1),s&&!t.endsWith("/")&&(t+="/"),this._isHashing&&Rt.some(r=>t.startsWith(r)))?!0:Et.some(r=>t.startsWith(r))?!1:this._ignorer.ignores(t)}async*walk({dir:t=this.path}={}){t!==this.path&&(yield this.normalize(t,!0));for await(let s of await m.default.opendir(t)){let r=d.join(t,s.name);this.ignores(r,s.isDirectory())||(s.isDirectory()?yield*this.walk({dir:r}):s.isFile()&&(yield this.normalize(r,!1)))}}async hashes(){try{this._isHashing=!0;let t={};for await(let s of this.walk()){let r=this.absolute(s);t[s]=await pt(r)}return t}finally{this._isHashing=!1}}async hasFiles(){return!await this.isEmptyOrNonExistent()}async isEmptyOrNonExistent(){let t=!0;try{for await(let s of this.walk()){t=!1;break}}catch(s){xt(s)}return t}},yt=process.platform==="linux"||process.platform==="darwin",pt=n(async e=>{let t=_t("sha1");t.update(d.basename(e));let s=await m.default.stat(e),r;if(yt&&(r=s.mode&511),s.isDirectory())return{sha1:t.digest("hex"),permissions:r};let i=new dt({transform(o,u,g){if(!o.includes(13)){g(void 0,o);return}let l=Buffer.alloc(o.length),c=0;for(let A of o)A!==13&&(l[c++]=A);g(void 0,l.subarray(0,c))}});return await gt(m.default.createReadStream(e),i,t),{sha1:t.digest("hex"),permissions:r}},"hash");function B(e){return!!e&&typeof e=="object"&&"code"in e&&e.code==="ENOENT"}n(B,"isEnoentError");function At(e){return!!e&&typeof e=="object"&&"code"in e&&e.code==="EISDIR"}n(At,"isEisdirError");var xt=n(e=>{if(!B(e))throw e},"swallowEnoent");export{j as a,yt as b,xt as c};
|
|
2
|
-
/*! Bundled license information:
|
|
3
|
-
|
|
4
|
-
normalize-path/index.js:
|
|
5
|
-
(*!
|
|
6
|
-
* normalize-path <https://github.com/jonschlinkert/normalize-path>
|
|
7
|
-
*
|
|
8
|
-
* Copyright (c) 2014-2018, Jon Schlinkert.
|
|
9
|
-
* Released under the MIT License.
|
|
10
|
-
*)
|
|
11
|
-
*/
|
|
12
|
-
//# sourceMappingURL=chunk-X4XSYLCE.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../node_modules/.pnpm/ignore@7.0.5/node_modules/ignore/index.js", "../node_modules/.pnpm/normalize-path@3.0.0/node_modules/normalize-path/index.js", "../src/services/filesync/directory.ts"],
|
|
4
|
-
"sourcesContent": ["// A simple implementation of make-array\nfunction makeArray (subject) {\n return Array.isArray(subject)\n ? subject\n : [subject]\n}\n\nconst UNDEFINED = undefined\nconst EMPTY = ''\nconst SPACE = ' '\nconst ESCAPE = '\\\\'\nconst REGEX_TEST_BLANK_LINE = /^\\s+$/\nconst REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\\\]|^)\\\\$/\nconst REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\\\!/\nconst REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\\\#/\nconst REGEX_SPLITALL_CRLF = /\\r?\\n/g\n\n// Invalid:\n// - /foo,\n// - ./foo,\n// - ../foo,\n// - .\n// - ..\n// Valid:\n// - .foo\nconst REGEX_TEST_INVALID_PATH = /^\\.{0,2}\\/|^\\.{1,2}$/\n\nconst REGEX_TEST_TRAILING_SLASH = /\\/$/\n\nconst SLASH = '/'\n\n// Do not use ternary expression here, since \"istanbul ignore next\" is buggy\nlet TMP_KEY_IGNORE = 'node-ignore'\n/* istanbul ignore else */\nif (typeof Symbol !== 'undefined') {\n TMP_KEY_IGNORE = Symbol.for('node-ignore')\n}\nconst KEY_IGNORE = TMP_KEY_IGNORE\n\nconst define = (object, key, value) => {\n Object.defineProperty(object, key, {value})\n return value\n}\n\nconst REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g\n\nconst RETURN_FALSE = () => false\n\n// Sanitize the range of a regular expression\n// The cases are complicated, see test cases for details\nconst sanitizeRange = range => range.replace(\n REGEX_REGEXP_RANGE,\n (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0)\n ? match\n // Invalid range (out of order) which is ok for gitignore rules but\n // fatal for JavaScript regular expression, so eliminate it.\n : EMPTY\n)\n\n// See fixtures #59\nconst cleanRangeBackSlash = slashes => {\n const {length} = slashes\n return slashes.slice(0, length - length % 2)\n}\n\n// > If the pattern ends with a slash,\n// > it is removed for the purpose of the following description,\n// > but it would only find a match with a directory.\n// > In other words, foo/ will match a directory foo and paths underneath it,\n// > but will not match a regular file or a symbolic link foo\n// > (this is consistent with the way how pathspec works in general in Git).\n// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'\n// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call\n// you could use option `mark: true` with `glob`\n\n// '`foo/`' should not continue with the '`..`'\nconst REPLACERS = [\n\n [\n // Remove BOM\n // TODO:\n // Other similar zero-width characters?\n /^\\uFEFF/,\n () => EMPTY\n ],\n\n // > Trailing spaces are ignored unless they are quoted with backslash (\"\\\")\n [\n // (a\\ ) -> (a )\n // (a ) -> (a)\n // (a ) -> (a)\n // (a \\ ) -> (a )\n /((?:\\\\\\\\)*?)(\\\\?\\s+)$/,\n (_, m1, m2) => m1 + (\n m2.indexOf('\\\\') === 0\n ? SPACE\n : EMPTY\n )\n ],\n\n // Replace (\\ ) with ' '\n // (\\ ) -> ' '\n // (\\\\ ) -> '\\\\ '\n // (\\\\\\ ) -> '\\\\ '\n [\n /(\\\\+?)\\s/g,\n (_, m1) => {\n const {length} = m1\n return m1.slice(0, length - length % 2) + SPACE\n }\n ],\n\n // Escape metacharacters\n // which is written down by users but means special for regular expressions.\n\n // > There are 12 characters with special meanings:\n // > - the backslash \\,\n // > - the caret ^,\n // > - the dollar sign $,\n // > - the period or dot .,\n // > - the vertical bar or pipe symbol |,\n // > - the question mark ?,\n // > - the asterisk or star *,\n // > - the plus sign +,\n // > - the opening parenthesis (,\n // > - the closing parenthesis ),\n // > - and the opening square bracket [,\n // > - the opening curly brace {,\n // > These special characters are often called \"metacharacters\".\n [\n /[\\\\$.|*+(){^]/g,\n match => `\\\\${match}`\n ],\n\n [\n // > a question mark (?) matches a single character\n /(?!\\\\)\\?/g,\n () => '[^/]'\n ],\n\n // leading slash\n [\n\n // > A leading slash matches the beginning of the pathname.\n // > For example, \"/*.c\" matches \"cat-file.c\" but not \"mozilla-sha1/sha1.c\".\n // A leading slash matches the beginning of the pathname\n /^\\//,\n () => '^'\n ],\n\n // replace special metacharacter slash after the leading slash\n [\n /\\//g,\n () => '\\\\/'\n ],\n\n [\n // > A leading \"**\" followed by a slash means match in all directories.\n // > For example, \"**/foo\" matches file or directory \"foo\" anywhere,\n // > the same as pattern \"foo\".\n // > \"**/foo/bar\" matches file or directory \"bar\" anywhere that is directly\n // > under directory \"foo\".\n // Notice that the '*'s have been replaced as '\\\\*'\n /^\\^*\\\\\\*\\\\\\*\\\\\\//,\n\n // '**/foo' <-> 'foo'\n () => '^(?:.*\\\\/)?'\n ],\n\n // starting\n [\n // there will be no leading '/'\n // (which has been replaced by section \"leading slash\")\n // If starts with '**', adding a '^' to the regular expression also works\n /^(?=[^^])/,\n function startingReplacer () {\n // If has a slash `/` at the beginning or middle\n return !/\\/(?!$)/.test(this)\n // > Prior to 2.22.1\n // > If the pattern does not contain a slash /,\n // > Git treats it as a shell glob pattern\n // Actually, if there is only a trailing slash,\n // git also treats it as a shell glob pattern\n\n // After 2.22.1 (compatible but clearer)\n // > If there is a separator at the beginning or middle (or both)\n // > of the pattern, then the pattern is relative to the directory\n // > level of the particular .gitignore file itself.\n // > Otherwise the pattern may also match at any level below\n // > the .gitignore level.\n ? '(?:^|\\\\/)'\n\n // > Otherwise, Git treats the pattern as a shell glob suitable for\n // > consumption by fnmatch(3)\n : '^'\n }\n ],\n\n // two globstars\n [\n // Use lookahead assertions so that we could match more than one `'/**'`\n /\\\\\\/\\\\\\*\\\\\\*(?=\\\\\\/|$)/g,\n\n // Zero, one or several directories\n // should not use '*', or it will be replaced by the next replacer\n\n // Check if it is not the last `'/**'`\n (_, index, str) => index + 6 < str.length\n\n // case: /**/\n // > A slash followed by two consecutive asterisks then a slash matches\n // > zero or more directories.\n // > For example, \"a/**/b\" matches \"a/b\", \"a/x/b\", \"a/x/y/b\" and so on.\n // '/**/'\n ? '(?:\\\\/[^\\\\/]+)*'\n\n // case: /**\n // > A trailing `\"/**\"` matches everything inside.\n\n // #21: everything inside but it should not include the current folder\n : '\\\\/.+'\n ],\n\n // normal intermediate wildcards\n [\n // Never replace escaped '*'\n // ignore rule '\\*' will match the path '*'\n\n // 'abc.*/' -> go\n // 'abc.*' -> skip this rule,\n // coz trailing single wildcard will be handed by [trailing wildcard]\n /(^|[^\\\\]+)(\\\\\\*)+(?=.+)/g,\n\n // '*.js' matches '.js'\n // '*.js' doesn't match 'abc'\n (_, p1, p2) => {\n // 1.\n // > An asterisk \"*\" matches anything except a slash.\n // 2.\n // > Other consecutive asterisks are considered regular asterisks\n // > and will match according to the previous rules.\n const unescaped = p2.replace(/\\\\\\*/g, '[^\\\\/]*')\n return p1 + unescaped\n }\n ],\n\n [\n // unescape, revert step 3 except for back slash\n // For example, if a user escape a '\\\\*',\n // after step 3, the result will be '\\\\\\\\\\\\*'\n /\\\\\\\\\\\\(?=[$.|*+(){^])/g,\n () => ESCAPE\n ],\n\n [\n // '\\\\\\\\' -> '\\\\'\n /\\\\\\\\/g,\n () => ESCAPE\n ],\n\n [\n // > The range notation, e.g. [a-zA-Z],\n // > can be used to match one of the characters in a range.\n\n // `\\` is escaped by step 3\n /(\\\\)?\\[([^\\]/]*?)(\\\\*)($|\\])/g,\n (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE\n // '\\\\[bar]' -> '\\\\\\\\[bar\\\\]'\n ? `\\\\[${range}${cleanRangeBackSlash(endEscape)}${close}`\n : close === ']'\n ? endEscape.length % 2 === 0\n // A normal case, and it is a range notation\n // '[bar]'\n // '[bar\\\\\\\\]'\n ? `[${sanitizeRange(range)}${endEscape}]`\n // Invalid range notaton\n // '[bar\\\\]' -> '[bar\\\\\\\\]'\n : '[]'\n : '[]'\n ],\n\n // ending\n [\n // 'js' will not match 'js.'\n // 'ab' will not match 'abc'\n /(?:[^*])$/,\n\n // WTF!\n // https://git-scm.com/docs/gitignore\n // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)\n // which re-fixes #24, #38\n\n // > If there is a separator at the end of the pattern then the pattern\n // > will only match directories, otherwise the pattern can match both\n // > files and directories.\n\n // 'js*' will not match 'a.js'\n // 'js/' will not match 'a.js'\n // 'js' will match 'a.js' and 'a.js/'\n match => /\\/$/.test(match)\n // foo/ will not match 'foo'\n ? `${match}$`\n // foo matches 'foo' and 'foo/'\n : `${match}(?=$|\\\\/$)`\n ]\n]\n\nconst REGEX_REPLACE_TRAILING_WILDCARD = /(^|\\\\\\/)?\\\\\\*$/\nconst MODE_IGNORE = 'regex'\nconst MODE_CHECK_IGNORE = 'checkRegex'\nconst UNDERSCORE = '_'\n\nconst TRAILING_WILD_CARD_REPLACERS = {\n [MODE_IGNORE] (_, p1) {\n const prefix = p1\n // '\\^':\n // '/*' does not match EMPTY\n // '/*' does not match everything\n\n // '\\\\\\/':\n // 'abc/*' does not match 'abc/'\n ? `${p1}[^/]+`\n\n // 'a*' matches 'a'\n // 'a*' matches 'aa'\n : '[^/]*'\n\n return `${prefix}(?=$|\\\\/$)`\n },\n\n [MODE_CHECK_IGNORE] (_, p1) {\n // When doing `git check-ignore`\n const prefix = p1\n // '\\\\\\/':\n // 'abc/*' DOES match 'abc/' !\n ? `${p1}[^/]*`\n\n // 'a*' matches 'a'\n // 'a*' matches 'aa'\n : '[^/]*'\n\n return `${prefix}(?=$|\\\\/$)`\n }\n}\n\n// @param {pattern}\nconst makeRegexPrefix = pattern => REPLACERS.reduce(\n (prev, [matcher, replacer]) =>\n prev.replace(matcher, replacer.bind(pattern)),\n pattern\n)\n\nconst isString = subject => typeof subject === 'string'\n\n// > A blank line matches no files, so it can serve as a separator for readability.\nconst checkPattern = pattern => pattern\n && isString(pattern)\n && !REGEX_TEST_BLANK_LINE.test(pattern)\n && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern)\n\n // > A line starting with # serves as a comment.\n && pattern.indexOf('#') !== 0\n\nconst splitPattern = pattern => pattern\n.split(REGEX_SPLITALL_CRLF)\n.filter(Boolean)\n\nclass IgnoreRule {\n constructor (\n pattern,\n mark,\n body,\n ignoreCase,\n negative,\n prefix\n ) {\n this.pattern = pattern\n this.mark = mark\n this.negative = negative\n\n define(this, 'body', body)\n define(this, 'ignoreCase', ignoreCase)\n define(this, 'regexPrefix', prefix)\n }\n\n get regex () {\n const key = UNDERSCORE + MODE_IGNORE\n\n if (this[key]) {\n return this[key]\n }\n\n return this._make(MODE_IGNORE, key)\n }\n\n get checkRegex () {\n const key = UNDERSCORE + MODE_CHECK_IGNORE\n\n if (this[key]) {\n return this[key]\n }\n\n return this._make(MODE_CHECK_IGNORE, key)\n }\n\n _make (mode, key) {\n const str = this.regexPrefix.replace(\n REGEX_REPLACE_TRAILING_WILDCARD,\n\n // It does not need to bind pattern\n TRAILING_WILD_CARD_REPLACERS[mode]\n )\n\n const regex = this.ignoreCase\n ? new RegExp(str, 'i')\n : new RegExp(str)\n\n return define(this, key, regex)\n }\n}\n\nconst createRule = ({\n pattern,\n mark\n}, ignoreCase) => {\n let negative = false\n let body = pattern\n\n // > An optional prefix \"!\" which negates the pattern;\n if (body.indexOf('!') === 0) {\n negative = true\n body = body.substr(1)\n }\n\n body = body\n // > Put a backslash (\"\\\") in front of the first \"!\" for patterns that\n // > begin with a literal \"!\", for example, `\"\\!important!.txt\"`.\n .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!')\n // > Put a backslash (\"\\\") in front of the first hash for patterns that\n // > begin with a hash.\n .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#')\n\n const regexPrefix = makeRegexPrefix(body)\n\n return new IgnoreRule(\n pattern,\n mark,\n body,\n ignoreCase,\n negative,\n regexPrefix\n )\n}\n\nclass RuleManager {\n constructor (ignoreCase) {\n this._ignoreCase = ignoreCase\n this._rules = []\n }\n\n _add (pattern) {\n // #32\n if (pattern && pattern[KEY_IGNORE]) {\n this._rules = this._rules.concat(pattern._rules._rules)\n this._added = true\n return\n }\n\n if (isString(pattern)) {\n pattern = {\n pattern\n }\n }\n\n if (checkPattern(pattern.pattern)) {\n const rule = createRule(pattern, this._ignoreCase)\n this._added = true\n this._rules.push(rule)\n }\n }\n\n // @param {Array<string> | string | Ignore} pattern\n add (pattern) {\n this._added = false\n\n makeArray(\n isString(pattern)\n ? splitPattern(pattern)\n : pattern\n ).forEach(this._add, this)\n\n return this._added\n }\n\n // Test one single path without recursively checking parent directories\n //\n // - checkUnignored `boolean` whether should check if the path is unignored,\n // setting `checkUnignored` to `false` could reduce additional\n // path matching.\n // - check `string` either `MODE_IGNORE` or `MODE_CHECK_IGNORE`\n\n // @returns {TestResult} true if a file is ignored\n test (path, checkUnignored, mode) {\n let ignored = false\n let unignored = false\n let matchedRule\n\n this._rules.forEach(rule => {\n const {negative} = rule\n\n // | ignored : unignored\n // -------- | ---------------------------------------\n // negative | 0:0 | 0:1 | 1:0 | 1:1\n // -------- | ------- | ------- | ------- | --------\n // 0 | TEST | TEST | SKIP | X\n // 1 | TESTIF | SKIP | TEST | X\n\n // - SKIP: always skip\n // - TEST: always test\n // - TESTIF: only test if checkUnignored\n // - X: that never happen\n if (\n unignored === negative && ignored !== unignored\n || negative && !ignored && !unignored && !checkUnignored\n ) {\n return\n }\n\n const matched = rule[mode].test(path)\n\n if (!matched) {\n return\n }\n\n ignored = !negative\n unignored = negative\n\n matchedRule = negative\n ? UNDEFINED\n : rule\n })\n\n const ret = {\n ignored,\n unignored\n }\n\n if (matchedRule) {\n ret.rule = matchedRule\n }\n\n return ret\n }\n}\n\nconst throwError = (message, Ctor) => {\n throw new Ctor(message)\n}\n\nconst checkPath = (path, originalPath, doThrow) => {\n if (!isString(path)) {\n return doThrow(\n `path must be a string, but got \\`${originalPath}\\``,\n TypeError\n )\n }\n\n // We don't know if we should ignore EMPTY, so throw\n if (!path) {\n return doThrow(`path must not be empty`, TypeError)\n }\n\n // Check if it is a relative path\n if (checkPath.isNotRelative(path)) {\n const r = '`path.relative()`d'\n return doThrow(\n `path should be a ${r} string, but got \"${originalPath}\"`,\n RangeError\n )\n }\n\n return true\n}\n\nconst isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path)\n\ncheckPath.isNotRelative = isNotRelative\n\n// On windows, the following function will be replaced\n/* istanbul ignore next */\ncheckPath.convert = p => p\n\n\nclass Ignore {\n constructor ({\n ignorecase = true,\n ignoreCase = ignorecase,\n allowRelativePaths = false\n } = {}) {\n define(this, KEY_IGNORE, true)\n\n this._rules = new RuleManager(ignoreCase)\n this._strictPathCheck = !allowRelativePaths\n this._initCache()\n }\n\n _initCache () {\n // A cache for the result of `.ignores()`\n this._ignoreCache = Object.create(null)\n\n // A cache for the result of `.test()`\n this._testCache = Object.create(null)\n }\n\n add (pattern) {\n if (this._rules.add(pattern)) {\n // Some rules have just added to the ignore,\n // making the behavior changed,\n // so we need to re-initialize the result cache\n this._initCache()\n }\n\n return this\n }\n\n // legacy\n addPattern (pattern) {\n return this.add(pattern)\n }\n\n // @returns {TestResult}\n _test (originalPath, cache, checkUnignored, slices) {\n const path = originalPath\n // Supports nullable path\n && checkPath.convert(originalPath)\n\n checkPath(\n path,\n originalPath,\n this._strictPathCheck\n ? throwError\n : RETURN_FALSE\n )\n\n return this._t(path, cache, checkUnignored, slices)\n }\n\n checkIgnore (path) {\n // If the path doest not end with a slash, `.ignores()` is much equivalent\n // to `git check-ignore`\n if (!REGEX_TEST_TRAILING_SLASH.test(path)) {\n return this.test(path)\n }\n\n const slices = path.split(SLASH).filter(Boolean)\n slices.pop()\n\n if (slices.length) {\n const parent = this._t(\n slices.join(SLASH) + SLASH,\n this._testCache,\n true,\n slices\n )\n\n if (parent.ignored) {\n return parent\n }\n }\n\n return this._rules.test(path, false, MODE_CHECK_IGNORE)\n }\n\n _t (\n // The path to be tested\n path,\n\n // The cache for the result of a certain checking\n cache,\n\n // Whether should check if the path is unignored\n checkUnignored,\n\n // The path slices\n slices\n ) {\n if (path in cache) {\n return cache[path]\n }\n\n if (!slices) {\n // path/to/a.js\n // ['path', 'to', 'a.js']\n slices = path.split(SLASH).filter(Boolean)\n }\n\n slices.pop()\n\n // If the path has no parent directory, just test it\n if (!slices.length) {\n return cache[path] = this._rules.test(path, checkUnignored, MODE_IGNORE)\n }\n\n const parent = this._t(\n slices.join(SLASH) + SLASH,\n cache,\n checkUnignored,\n slices\n )\n\n // If the path contains a parent directory, check the parent first\n return cache[path] = parent.ignored\n // > It is not possible to re-include a file if a parent directory of\n // > that file is excluded.\n ? parent\n : this._rules.test(path, checkUnignored, MODE_IGNORE)\n }\n\n ignores (path) {\n return this._test(path, this._ignoreCache, false).ignored\n }\n\n createFilter () {\n return path => !this.ignores(path)\n }\n\n filter (paths) {\n return makeArray(paths).filter(this.createFilter())\n }\n\n // @returns {TestResult}\n test (path) {\n return this._test(path, this._testCache, true)\n }\n}\n\nconst factory = options => new Ignore(options)\n\nconst isPathValid = path =>\n checkPath(path && checkPath.convert(path), path, RETURN_FALSE)\n\n/* istanbul ignore next */\nconst setupWindows = () => {\n /* eslint no-control-regex: \"off\" */\n const makePosix = str => /^\\\\\\\\\\?\\\\/.test(str)\n || /[\"<>|\\u0000-\\u001F]+/u.test(str)\n ? str\n : str.replace(/\\\\/g, '/')\n\n checkPath.convert = makePosix\n\n // 'C:\\\\foo' <- 'C:\\\\foo' has been converted to 'C:/'\n // 'd:\\\\foo'\n const REGEX_TEST_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\\//i\n checkPath.isNotRelative = path =>\n REGEX_TEST_WINDOWS_PATH_ABSOLUTE.test(path)\n || isNotRelative(path)\n}\n\n\n// Windows\n// --------------------------------------------------------------\n/* istanbul ignore next */\nif (\n // Detect `process` so that it can run in browsers.\n typeof process !== 'undefined'\n && process.platform === 'win32'\n) {\n setupWindows()\n}\n\n// COMMONJS_EXPORTS ////////////////////////////////////////////////////////////\n\nmodule.exports = factory\n\n// Although it is an anti-pattern,\n// it is still widely misused by a lot of libraries in github\n// Ref: https://github.com/search?q=ignore.default%28%29&type=code\nfactory.default = factory\n\nmodule.exports.isPathValid = isPathValid\n\n// For testing purposes\ndefine(module.exports, Symbol.for('setupWindows'), setupWindows)\n", "/*!\n * normalize-path <https://github.com/jonschlinkert/normalize-path>\n *\n * Copyright (c) 2014-2018, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nmodule.exports = function(path, stripTrailing) {\n if (typeof path !== 'string') {\n throw new TypeError('expected path to be a string');\n }\n\n if (path === '\\\\' || path === '/') return '/';\n\n var len = path.length;\n if (len <= 1) return path;\n\n // ensure that win32 namespaces has two leading slashes, so that the path is\n // handled properly by the win32 version of path.parse() after being normalized\n // https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces\n var prefix = '';\n if (len > 4 && path[3] === '\\\\') {\n var ch = path[2];\n if ((ch === '?' || ch === '.') && path.slice(0, 2) === '\\\\\\\\') {\n path = path.slice(2);\n prefix = '//';\n }\n }\n\n var segs = path.split(/[/\\\\]+/);\n if (stripTrailing !== false && segs[segs.length - 1] === '') {\n segs.pop();\n }\n return prefix + segs.join('/');\n};\n", "import assert from \"node:assert\";\nimport { createHash } from \"node:crypto\";\nimport path from \"node:path\";\nimport { Transform } from \"node:stream\";\nimport { pipeline } from \"node:stream/promises\";\n\n/* eslint-disable func-style */\n/**\n * DO NOT MODIFY\n *\n * Everything in this file also exists in gadget to ensure that this logic\n * is the same between the two projects.\n */\nimport fs from \"fs-extra\";\nimport type { Ignore } from \"ignore\";\nimport ignore from \"ignore\";\nimport normalizePath from \"normalize-path\";\n\n/**\n * Paths that are never ignored, regardless of the contents of the `.ignore` file.\n */\nexport const NEVER_IGNORE_PATHS = [\".gadget/\"] as const;\n\n/**\n * Paths that are always ignored, regardless of the contents of the `.ignore` file.\n */\nexport const ALWAYS_IGNORE_PATHS = [\".DS_Store\", \"node_modules\", \".git\", \".shopify\"] as const;\n\n/**\n * Paths that are ignored when hashing the directory.\n *\n * NOTE: This is the _only_ thing that is allowed to be different between gadget and ggt.\n */\nexport const HASHING_IGNORE_PATHS = [\".gadget/sync.json\", \".gadget/dev-lock.json\", \".gadget/backup\", \"yarn-error.log\"] as const;\n\n/**\n * Represents a directory that is being synced.\n */\nexport class Directory {\n /**\n * A gitignore-style file parser used to determine which files to\n * ignore while syncing.\n *\n * @see https://www.npmjs.com/package/ignore\n */\n private _ignorer!: Ignore;\n\n /**\n * Whether the directory is currently being hashed.\n */\n private _isHashing = false;\n\n /**\n * Timestamp of the last {@linkcode loadIgnoreFile} call, used to\n * deduplicate redundant reloads from duplicate FSEvents.\n */\n private _lastIgnoreFileLoadTime = 0;\n\n private constructor(\n /**\n * An absolute path to the directory that is being synced.\n */\n readonly path: string,\n ) {}\n\n /**\n * Initializes a directory to be synced.\n *\n * If the directory does not exist, it is created.\n *\n * @param dir - The directory to initialize.\n * @returns A Promise that resolves to a Directory instance.\n */\n static async init(dir: string): Promise<Directory> {\n const directory = new Directory(dir);\n await directory.loadIgnoreFile();\n // don't count the init call as a recent load \u2014 the timestamp is\n // only meaningful once the file watcher is running\n directory._lastIgnoreFileLoadTime = 0;\n return directory;\n }\n\n /**\n * Returns the relative path from this directory to the specified path.\n *\n * @param to - The path to which the relative path is calculated.\n * @returns The relative path from this directory to the specified path.\n */\n relative(to: string): string {\n if (!path.isAbsolute(to)) {\n // the filepath is already relative\n return to;\n }\n\n return path.relative(this.path, to);\n }\n\n /**\n * Returns the absolute path by resolving the given path segments\n * relative to the directory path.\n *\n * @param pathSegments - The path segments to resolve.\n * @returns The absolute path.\n */\n absolute(...pathSegments: string[]): string {\n const result = path.resolve(this.path, ...pathSegments);\n assert(result.startsWith(this.path), `expected ${result} to be within ${this.path}`);\n return result;\n }\n\n /**\n * Similar to {@linkcode relative} in that it converts an absolute\n * path into a relative one from {@linkcode path}. However, it also\n * changes any slashes to be posix/unix-like forward slashes,\n * condenses repeated slashes into a single slash, and adds a trailing\n * slash if the path is a directory.\n *\n * This is used when sending files to Gadget to ensure that the paths\n * are consistent across platforms.\n *\n * @see https://www.npmjs.com/package/normalize-path\n */\n normalize(filepath: string, isDirectory: boolean): string {\n if (path.isAbsolute(filepath)) {\n filepath = this.relative(filepath);\n }\n\n // true = trim trailing slashes\n filepath = normalizePath(filepath, true);\n\n if (isDirectory) {\n filepath += \"/\";\n }\n\n return filepath;\n }\n\n /**\n * Loads the `.ignore` file in the directory. If the file does not\n * exist, it is silently ignored.\n */\n async loadIgnoreFile(): Promise<void> {\n this._lastIgnoreFileLoadTime = Date.now();\n this._ignorer = ignore();\n this._ignorer.add(ALWAYS_IGNORE_PATHS);\n\n try {\n const content = await fs.readFile(this.absolute(\".ignore\"), \"utf8\");\n this._ignorer.add(content);\n } catch (error) {\n if (isEnoentError(error) || isEisdirError(error)) {\n // ignore missing or is-directory errors\n return;\n }\n throw error;\n }\n }\n\n /**\n * Returns true if {@linkcode loadIgnoreFile} was called within the\n * given duration. Used to skip redundant watcher-triggered reloads\n * when a remote write already loaded the ignore file.\n */\n ignoreFileLoadedWithin(duration: number): boolean {\n return Date.now() - this._lastIgnoreFileLoadTime < duration;\n }\n\n /**\n * Determines if a file should be ignored based on its filepath.\n *\n * @param filepath - The filepath of the file to check.\n * @returns True if the file should be ignored, false otherwise.\n */\n ignores(filepath: string, isDirectory: boolean): boolean {\n filepath = this.relative(filepath);\n if (filepath === \"\") {\n // don't ignore the root dir\n return false;\n }\n\n if (filepath.startsWith(\"..\")) {\n // anything above the root dir is ignored\n return true;\n }\n\n // false = don't trim trailing slashes\n filepath = normalizePath(filepath, false);\n\n if (isDirectory && !filepath.endsWith(\"/\")) {\n filepath += \"/\";\n }\n\n if (this._isHashing && HASHING_IGNORE_PATHS.some((ignored) => filepath.startsWith(ignored))) {\n // special case for hashing\n return true;\n }\n\n if (NEVER_IGNORE_PATHS.some((neverIgnored) => filepath.startsWith(neverIgnored))) {\n // special case for never ignored paths\n return false;\n }\n\n return this._ignorer.ignores(filepath);\n }\n\n /**\n * Recursively walks through the directory and yields all non-ignored\n * files and directories within it.\n *\n * @yields - The normalized path of each file and directory.\n */\n async *walk({ dir = this.path } = {}): AsyncGenerator<string> {\n // don't yield the root directory\n if (dir !== this.path) {\n yield this.normalize(dir, true);\n }\n\n for await (const entry of await fs.opendir(dir)) {\n const filepath = path.join(dir, entry.name);\n if (this.ignores(filepath, entry.isDirectory())) {\n continue;\n }\n\n if (entry.isDirectory()) {\n yield* this.walk({ dir: filepath });\n } else if (entry.isFile()) {\n yield this.normalize(filepath, false);\n }\n }\n }\n\n /**\n * Calculates the hash of each file and directory and returns an\n * object containing the hashes keyed by the normalized file path.\n *\n * @returns A Promise that resolves to an object containing the hashes\n * of each file.\n */\n async hashes(): Promise<Hashes> {\n try {\n this._isHashing = true;\n const files = {} as Hashes;\n\n for await (const normalizedPath of this.walk()) {\n const absolutePath = this.absolute(normalizedPath);\n files[normalizedPath] = await hash(absolutePath);\n }\n\n return files;\n } finally {\n this._isHashing = false;\n }\n }\n\n async hasFiles(): Promise<boolean> {\n return !(await this.isEmptyOrNonExistent());\n }\n\n async isEmptyOrNonExistent(): Promise<boolean> {\n let isEmptyOrNonExistent = true;\n try {\n for await (const _ of this.walk()) {\n isEmptyOrNonExistent = false;\n break;\n }\n } catch (error) {\n swallowEnoent(error);\n }\n return isEmptyOrNonExistent;\n }\n}\n\n/**\n * Key/value pairs where the key is the normalized path and the value is\n * the result of {@linkcode hash} for that path.\n */\nexport type Hashes = Record<string, Hash>;\n\nexport type Hash = {\n /**\n * The SHA-1 hash of the file or directory.\n *\n * If the path points to a directory, the hash is calculated based on\n * the directory's basename. If the path points to a file, the hash is\n * calculated based on the file's basename and contents.\n */\n sha1: string;\n\n /**\n * The Unix-style file permissions of the file or directory, or\n * undefined if the platform that generated this hash doesn't support\n * them.\n *\n * @example 0o644\n * @see supportsPermissions\n */\n permissions?: number;\n};\n\n/**\n * Whether the current platform supports Unix-style file permissions.\n *\n * Windows doesn't support Unix-style file permissions and all file\n * permissions retrieved via `node:fs` on Windows are translated to 666\n * or 444.\n */\nexport const supportsPermissions = process.platform === \"linux\" || process.platform === \"darwin\";\n\n/**\n * Calculates the {@linkcode Hash} of the file or directory at the\n * specified absolute path.\n *\n * @param absolutePath - The absolute path to the file or directory.\n * @returns A Promise that resolves to the {@linkcode Hash} of the file\n * or directory.\n */\nconst hash = async (absolutePath: string): Promise<Hash> => {\n const sha1 = createHash(\"sha1\");\n sha1.update(path.basename(absolutePath));\n\n const stats = await fs.stat(absolutePath);\n\n let permissions;\n if (supportsPermissions) {\n // strip everything but the permissions\n permissions = stats.mode & 0o777;\n }\n\n if (stats.isDirectory()) {\n return { sha1: sha1.digest(\"hex\"), permissions };\n }\n\n // windows uses CRLF line endings whereas unix uses LF line endings so\n // we always strip out CR bytes (0x0d) when hashing files. this does\n // make us blind to files that only differ by CR bytes, but that's a\n // tradeoff we're willing to make.\n const removeCR = new Transform({\n transform(chunk: Buffer, _encoding, callback) {\n if (!chunk.includes(0x0d)) {\n callback(undefined, chunk);\n return;\n }\n\n const filteredChunk = Buffer.alloc(chunk.length);\n let i = 0;\n for (const byte of chunk) {\n if (byte !== 0x0d) {\n filteredChunk[i++] = byte;\n }\n }\n\n callback(undefined, filteredChunk.subarray(0, i));\n },\n });\n\n await pipeline(fs.createReadStream(absolutePath), removeCR, sha1);\n\n return { sha1: sha1.digest(\"hex\"), permissions };\n};\n\nfunction isEnoentError(error: unknown): error is { code: \"ENOENT\" } {\n return !!error && typeof error === \"object\" && \"code\" in error && error.code === \"ENOENT\";\n}\n\nfunction isEisdirError(error: unknown): error is { code: \"EISDIR\" } {\n return !!error && typeof error === \"object\" && \"code\" in error && error.code === \"EISDIR\";\n}\n\n/**\n * Swallows ENOENT errors and throws any other errors.\n *\n * @param error - The error to handle.\n * @throws The original error if it is not an ENOENT error.\n */\nexport const swallowEnoent = (error: unknown): void => {\n if (isEnoentError(error)) {\n return;\n }\n throw error;\n};\n"],
|
|
5
|
-
"mappings": "gGAAA,IAAAA,EAAAC,EAAA,CAAAC,GAAAC,IAAA,CAAAC,IACA,SAASC,EAAWC,EAAS,CAC3B,OAAO,MAAM,QAAQA,CAAO,EACxBA,EACA,CAACA,CAAO,CACd,CAJSC,EAAAF,EAAA,aAMT,IAAMG,EAAY,OACZC,EAAQ,GACRC,EAAQ,IACRC,EAAS,KACTC,EAAwB,QACxBC,EAAmC,iBACnCC,EAA4C,OAC5CC,EAAqC,OACrCC,EAAsB,SAUtBC,EAA0B,uBAE1BC,EAA4B,MAE5BC,EAAQ,IAGVC,EAAiB,cAEjB,OAAO,OAAW,MACpBA,EAAiB,OAAO,IAAI,aAAa,GAE3C,IAAMC,EAAaD,EAEbE,EAASf,EAAA,CAACgB,EAAQC,EAAKC,KAC3B,OAAO,eAAeF,EAAQC,EAAK,CAAC,MAAAC,CAAK,CAAC,EACnCA,GAFM,UAKTC,GAAqB,mBAErBC,EAAepB,EAAA,IAAM,GAAN,gBAIfqB,GAAgBrB,EAAAsB,GAASA,EAAM,QACnCH,GACA,CAACI,EAAOC,EAAMC,IAAOD,EAAK,WAAW,CAAC,GAAKC,EAAG,WAAW,CAAC,EACtDF,EAGArB,CACN,EAPsB,iBAUhBwB,GAAsB1B,EAAA2B,GAAW,CACrC,GAAM,CAAC,OAAAC,CAAM,EAAID,EACjB,OAAOA,EAAQ,MAAM,EAAGC,EAASA,EAAS,CAAC,CAC7C,EAH4B,uBAgBtBC,GAAY,CAEhB,CAIE,UACA,IAAM3B,CACR,EAGA,CAKE,wBACA,CAAC4B,EAAGC,EAAIC,IAAOD,GACbC,EAAG,QAAQ,IAAI,IAAM,EACjB7B,EACAD,EAER,EAMA,CACE,YACA,CAAC4B,EAAGC,IAAO,CACT,GAAM,CAAC,OAAAH,CAAM,EAAIG,EACjB,OAAOA,EAAG,MAAM,EAAGH,EAASA,EAAS,CAAC,EAAIzB,CAC5C,CACF,EAmBA,CACE,iBACAoB,GAAS,KAAKA,CAAK,EACrB,EAEA,CAEE,YACA,IAAM,MACR,EAGA,CAKE,MACA,IAAM,GACR,EAGA,CACE,MACA,IAAM,KACR,EAEA,CAOE,mBAGA,IAAM,aACR,EAGA,CAIE,YACAvB,EAAA,UAA6B,CAE3B,MAAQ,UAAU,KAAK,IAAI,EAiBvB,IAJA,WAKN,EApBA,mBAqBF,EAGA,CAEE,0BAMA,CAAC8B,EAAGG,EAAOC,IAAQD,EAAQ,EAAIC,EAAI,OAO/B,kBAMA,OACN,EAGA,CAOE,2BAIA,CAACJ,EAAGK,EAAIC,IAAO,CAMb,IAAMC,EAAYD,EAAG,QAAQ,QAAS,SAAS,EAC/C,OAAOD,EAAKE,CACd,CACF,EAEA,CAIE,yBACA,IAAMjC,CACR,EAEA,CAEE,QACA,IAAMA,CACR,EAEA,CAKE,gCACA,CAACmB,EAAOe,EAAYhB,EAAOiB,EAAWC,IAAUF,IAAelC,EAE3D,MAAMkB,CAAK,GAAGI,GAAoBa,CAAS,CAAC,GAAGC,CAAK,GACpDA,IAAU,KACRD,EAAU,OAAS,IAAM,EAIvB,IAAIlB,GAAcC,CAAK,CAAC,GAAGiB,CAAS,IAItC,IACR,EAGA,CAGE,YAcAhB,GAAS,MAAM,KAAKA,CAAK,EAErB,GAAGA,CAAK,IAER,GAAGA,CAAK,YACd,CACF,EAEMkB,GAAkC,iBAClCC,EAAc,QACdC,EAAoB,aACpBC,EAAa,IAEbC,GAA+B,CACnC,CAACH,CAAW,EAAGZ,EAAGK,EAAI,CAcpB,MAAO,GAbQA,EAOX,GAAGA,CAAE,QAIL,OAEY,YAClB,EAEA,CAACQ,CAAiB,EAAGb,EAAGK,EAAI,CAW1B,MAAO,GATQA,EAGX,GAAGA,CAAE,QAIL,OAEY,YAClB,CACF,EAGMW,GAAkB9C,EAAA+C,GAAWlB,GAAU,OAC3C,CAACmB,EAAM,CAACC,EAASC,CAAQ,IACvBF,EAAK,QAAQC,EAASC,EAAS,KAAKH,CAAO,CAAC,EAC9CA,CACF,EAJwB,mBAMlBI,EAAWnD,EAAAD,GAAW,OAAOA,GAAY,SAA9B,YAGXqD,GAAepD,EAAA+C,GAAWA,GAC3BI,EAASJ,CAAO,GAChB,CAAC1C,EAAsB,KAAK0C,CAAO,GACnC,CAACzC,EAAiC,KAAKyC,CAAO,GAG9CA,EAAQ,QAAQ,GAAG,IAAM,EANT,gBAQfM,GAAerD,EAAA+C,GAAWA,EAC/B,MAAMtC,CAAmB,EACzB,OAAO,OAAO,EAFM,gBAIf6C,EAAN,KAAiB,CA/WjB,MA+WiB,CAAAtD,EAAA,mBACf,YACE+C,EACAQ,EACAC,EACAC,EACAC,EACAC,EACA,CACA,KAAK,QAAUZ,EACf,KAAK,KAAOQ,EACZ,KAAK,SAAWG,EAEhB3C,EAAO,KAAM,OAAQyC,CAAI,EACzBzC,EAAO,KAAM,aAAc0C,CAAU,EACrC1C,EAAO,KAAM,cAAe4C,CAAM,CACpC,CAEA,IAAI,OAAS,CACX,IAAM1C,EAAM2B,EAAaF,EAEzB,OAAI,KAAKzB,CAAG,EACH,KAAKA,CAAG,EAGV,KAAK,MAAMyB,EAAazB,CAAG,CACpC,CAEA,IAAI,YAAc,CAChB,IAAMA,EAAM2B,EAAaD,EAEzB,OAAI,KAAK1B,CAAG,EACH,KAAKA,CAAG,EAGV,KAAK,MAAM0B,EAAmB1B,CAAG,CAC1C,CAEA,MAAO2C,EAAM3C,EAAK,CAChB,IAAMiB,EAAM,KAAK,YAAY,QAC3BO,GAGAI,GAA6Be,CAAI,CACnC,EAEMC,EAAQ,KAAK,WACf,IAAI,OAAO3B,EAAK,GAAG,EACnB,IAAI,OAAOA,CAAG,EAElB,OAAOnB,EAAO,KAAME,EAAK4C,CAAK,CAChC,CACF,EAEMC,GAAa9D,EAAA,CAAC,CAClB,QAAA+C,EACA,KAAAQ,CACF,EAAGE,IAAe,CAChB,IAAIC,EAAW,GACXF,EAAOT,EAGPS,EAAK,QAAQ,GAAG,IAAM,IACxBE,EAAW,GACXF,EAAOA,EAAK,OAAO,CAAC,GAGtBA,EAAOA,EAGN,QAAQjD,EAA2C,GAAG,EAGtD,QAAQC,EAAoC,GAAG,EAEhD,IAAMuD,EAAcjB,GAAgBU,CAAI,EAExC,OAAO,IAAIF,EACTP,EACAQ,EACAC,EACAC,EACAC,EACAK,CACF,CACF,EA/BmB,cAiCbC,EAAN,KAAkB,CAtclB,MAsckB,CAAAhE,EAAA,oBAChB,YAAayD,EAAY,CACvB,KAAK,YAAcA,EACnB,KAAK,OAAS,CAAC,CACjB,CAEA,KAAMV,EAAS,CAEb,GAAIA,GAAWA,EAAQjC,CAAU,EAAG,CAClC,KAAK,OAAS,KAAK,OAAO,OAAOiC,EAAQ,OAAO,MAAM,EACtD,KAAK,OAAS,GACd,MACF,CAQA,GANII,EAASJ,CAAO,IAClBA,EAAU,CACR,QAAAA,CACF,GAGEK,GAAaL,EAAQ,OAAO,EAAG,CACjC,IAAMkB,EAAOH,GAAWf,EAAS,KAAK,WAAW,EACjD,KAAK,OAAS,GACd,KAAK,OAAO,KAAKkB,CAAI,CACvB,CACF,CAGA,IAAKlB,EAAS,CACZ,YAAK,OAAS,GAEdjD,EACEqD,EAASJ,CAAO,EACZM,GAAaN,CAAO,EACpBA,CACN,EAAE,QAAQ,KAAK,KAAM,IAAI,EAElB,KAAK,MACd,CAUA,KAAMmB,EAAMC,EAAgBP,EAAM,CAChC,IAAIQ,EAAU,GACVC,EAAY,GACZC,EAEJ,KAAK,OAAO,QAAQL,GAAQ,CAC1B,GAAM,CAAC,SAAAP,CAAQ,EAAIO,EAcjBI,IAAcX,GAAYU,IAAYC,GACnCX,GAAY,CAACU,GAAW,CAACC,GAAa,CAACF,GAOxC,CAFYF,EAAKL,CAAI,EAAE,KAAKM,CAAI,IAMpCE,EAAU,CAACV,EACXW,EAAYX,EAEZY,EAAcZ,EACVzD,EACAgE,EACN,CAAC,EAED,IAAMM,EAAM,CACV,QAAAH,EACA,UAAAC,CACF,EAEA,OAAIC,IACFC,EAAI,KAAOD,GAGNC,CACT,CACF,EAEMC,GAAaxE,EAAA,CAACyE,EAASC,IAAS,CACpC,MAAM,IAAIA,EAAKD,CAAO,CACxB,EAFmB,cAIbE,EAAY3E,EAAA,CAACkE,EAAMU,EAAcC,IAChC1B,EAASe,CAAI,EAQbA,EAKDS,EAAU,cAAcT,CAAI,EAEvBW,EACL,0DAA0CD,CAAY,IACtD,UACF,EAGK,GAZEC,EAAQ,yBAA0B,SAAS,EAR3CA,EACL,oCAAoCD,CAAY,KAChD,SACF,EALc,aAyBZE,EAAgB9E,EAAAkE,GAAQxD,EAAwB,KAAKwD,CAAI,EAAzC,iBAEtBS,EAAU,cAAgBG,EAI1BH,EAAU,QAAUI,GAAKA,EAGzB,IAAMC,EAAN,KAAa,CAjlBb,MAilBa,CAAAhF,EAAA,eACX,YAAa,CACX,WAAAiF,EAAa,GACb,WAAAxB,EAAawB,EACb,mBAAAC,EAAqB,EACvB,EAAI,CAAC,EAAG,CACNnE,EAAO,KAAMD,EAAY,EAAI,EAE7B,KAAK,OAAS,IAAIkD,EAAYP,CAAU,EACxC,KAAK,iBAAmB,CAACyB,EACzB,KAAK,WAAW,CAClB,CAEA,YAAc,CAEZ,KAAK,aAAe,OAAO,OAAO,IAAI,EAGtC,KAAK,WAAa,OAAO,OAAO,IAAI,CACtC,CAEA,IAAKnC,EAAS,CACZ,OAAI,KAAK,OAAO,IAAIA,CAAO,GAIzB,KAAK,WAAW,EAGX,IACT,CAGA,WAAYA,EAAS,CACnB,OAAO,KAAK,IAAIA,CAAO,CACzB,CAGA,MAAO6B,EAAcO,EAAOhB,EAAgBiB,EAAQ,CAClD,IAAMlB,EAAOU,GAERD,EAAU,QAAQC,CAAY,EAEnC,OAAAD,EACET,EACAU,EACA,KAAK,iBACDJ,GACApD,CACN,EAEO,KAAK,GAAG8C,EAAMiB,EAAOhB,EAAgBiB,CAAM,CACpD,CAEA,YAAalB,EAAM,CAGjB,GAAI,CAACvD,EAA0B,KAAKuD,CAAI,EACtC,OAAO,KAAK,KAAKA,CAAI,EAGvB,IAAMkB,EAASlB,EAAK,MAAMtD,CAAK,EAAE,OAAO,OAAO,EAG/C,GAFAwE,EAAO,IAAI,EAEPA,EAAO,OAAQ,CACjB,IAAMC,EAAS,KAAK,GAClBD,EAAO,KAAKxE,CAAK,EAAIA,EACrB,KAAK,WACL,GACAwE,CACF,EAEA,GAAIC,EAAO,QACT,OAAOA,CAEX,CAEA,OAAO,KAAK,OAAO,KAAKnB,EAAM,GAAOvB,CAAiB,CACxD,CAEA,GAEEuB,EAGAiB,EAGAhB,EAGAiB,EACA,CACA,GAAIlB,KAAQiB,EACV,OAAOA,EAAMjB,CAAI,EAYnB,GATKkB,IAGHA,EAASlB,EAAK,MAAMtD,CAAK,EAAE,OAAO,OAAO,GAG3CwE,EAAO,IAAI,EAGP,CAACA,EAAO,OACV,OAAOD,EAAMjB,CAAI,EAAI,KAAK,OAAO,KAAKA,EAAMC,EAAgBzB,CAAW,EAGzE,IAAM2C,EAAS,KAAK,GAClBD,EAAO,KAAKxE,CAAK,EAAIA,EACrBuE,EACAhB,EACAiB,CACF,EAGA,OAAOD,EAAMjB,CAAI,EAAImB,EAAO,QAGxBA,EACA,KAAK,OAAO,KAAKnB,EAAMC,EAAgBzB,CAAW,CACxD,CAEA,QAASwB,EAAM,CACb,OAAO,KAAK,MAAMA,EAAM,KAAK,aAAc,EAAK,EAAE,OACpD,CAEA,cAAgB,CACd,OAAOA,GAAQ,CAAC,KAAK,QAAQA,CAAI,CACnC,CAEA,OAAQoB,EAAO,CACb,OAAOxF,EAAUwF,CAAK,EAAE,OAAO,KAAK,aAAa,CAAC,CACpD,CAGA,KAAMpB,EAAM,CACV,OAAO,KAAK,MAAMA,EAAM,KAAK,WAAY,EAAI,CAC/C,CACF,EAEMqB,EAAUvF,EAAAwF,GAAW,IAAIR,EAAOQ,CAAO,EAA7B,WAEVC,GAAczF,EAAAkE,GAClBS,EAAUT,GAAQS,EAAU,QAAQT,CAAI,EAAGA,EAAM9C,CAAY,EAD3C,eAIdsE,EAAe1F,EAAA,IAAM,CAEzB,IAAM2F,EAAY3F,EAAAkC,GAAO,YAAY,KAAKA,CAAG,GAC1C,wBAAwB,KAAKA,CAAG,EAC/BA,EACAA,EAAI,QAAQ,MAAO,GAAG,EAHR,aAKlByC,EAAU,QAAUgB,EAIpB,IAAMC,EAAmC,aACzCjB,EAAU,cAAgBT,GACxB0B,EAAiC,KAAK1B,CAAI,GACvCY,EAAcZ,CAAI,CACzB,EAfqB,gBAuBnB,OAAO,QAAY,KAChB,QAAQ,WAAa,SAExBwB,EAAa,EAKf9F,EAAO,QAAU2F,EAKjBA,EAAQ,QAAUA,EAElB3F,EAAO,QAAQ,YAAc6F,GAG7B1E,EAAOnB,EAAO,QAAS,OAAO,IAAI,cAAc,EAAG8F,CAAY,IC/wB/D,IAAAG,EAAAC,EAAA,CAAAC,GAAAC,IAAA,CAAAC,IAOAD,EAAO,QAAU,SAASE,EAAMC,EAAe,CAC7C,GAAI,OAAOD,GAAS,SAClB,MAAM,IAAI,UAAU,8BAA8B,EAGpD,GAAIA,IAAS,MAAQA,IAAS,IAAK,MAAO,IAE1C,IAAIE,EAAMF,EAAK,OACf,GAAIE,GAAO,EAAG,OAAOF,EAKrB,IAAIG,EAAS,GACb,GAAID,EAAM,GAAKF,EAAK,CAAC,IAAM,KAAM,CAC/B,IAAII,EAAKJ,EAAK,CAAC,GACVI,IAAO,KAAOA,IAAO,MAAQJ,EAAK,MAAM,EAAG,CAAC,IAAM,SACrDA,EAAOA,EAAK,MAAM,CAAC,EACnBG,EAAS,KAEb,CAEA,IAAIE,EAAOL,EAAK,MAAM,QAAQ,EAC9B,OAAIC,IAAkB,IAASI,EAAKA,EAAK,OAAS,CAAC,IAAM,IACvDA,EAAK,IAAI,EAEJF,EAASE,EAAK,KAAK,GAAG,CAC/B,IClCAC,IAaA,IAAAC,EAAe,SAEfC,EAAmB,SACnBC,EAA0B,SAhB1B,OAAOC,OAAY,cACnB,OAAS,cAAAC,OAAkB,cAC3B,OAAOC,MAAU,YACjB,OAAS,aAAAC,OAAiB,cAC1B,OAAS,YAAAC,OAAgB,uBAiBlB,IAAMC,GAAqB,CAAC,UAAU,EAKhCC,GAAsB,CAAC,YAAa,eAAgB,OAAQ,UAAU,EAOtEC,GAAuB,CAAC,oBAAqB,wBAAyB,iBAAkB,gBAAgB,EAKxGC,EAAN,MAAMC,CAAU,CAoBb,YAIGC,EACT,CADS,UAAAA,CACR,CA/DL,MAsCuB,CAAAC,EAAA,kBAOb,SAKA,WAAa,GAMb,wBAA0B,EAiBlC,aAAa,KAAKC,EAAiC,CACjD,IAAMC,EAAY,IAAIJ,EAAUG,CAAG,EACnC,aAAMC,EAAU,eAAe,EAG/BA,EAAU,wBAA0B,EAC7BA,CACT,CAQA,SAASC,EAAoB,CAC3B,OAAKJ,EAAK,WAAWI,CAAE,EAKhBJ,EAAK,SAAS,KAAK,KAAMI,CAAE,EAHzBA,CAIX,CASA,YAAYC,EAAgC,CAC1C,IAAMC,EAASN,EAAK,QAAQ,KAAK,KAAM,GAAGK,CAAY,EACtD,OAAAE,GAAOD,EAAO,WAAW,KAAK,IAAI,EAAG,YAAYA,CAAM,iBAAiB,KAAK,IAAI,EAAE,EAC5EA,CACT,CAcA,UAAUE,EAAkBC,EAA8B,CACxD,OAAIT,EAAK,WAAWQ,CAAQ,IAC1BA,EAAW,KAAK,SAASA,CAAQ,GAInCA,KAAW,EAAAE,SAAcF,EAAU,EAAI,EAEnCC,IACFD,GAAY,KAGPA,CACT,CAMA,MAAM,gBAAgC,CACpC,KAAK,wBAA0B,KAAK,IAAI,EACxC,KAAK,YAAW,EAAAG,SAAO,EACvB,KAAK,SAAS,IAAIf,EAAmB,EAErC,GAAI,CACF,IAAMgB,EAAU,MAAM,EAAAC,QAAG,SAAS,KAAK,SAAS,SAAS,EAAG,MAAM,EAClE,KAAK,SAAS,IAAID,CAAO,CAC3B,OAASE,EAAO,CACd,GAAIC,EAAcD,CAAK,GAAKE,GAAcF,CAAK,EAE7C,OAEF,MAAMA,CACR,CACF,CAOA,uBAAuBG,EAA2B,CAChD,OAAO,KAAK,IAAI,EAAI,KAAK,wBAA0BA,CACrD,CAQA,QAAQT,EAAkBC,EAA+B,CAEvD,OADAD,EAAW,KAAK,SAASA,CAAQ,EAC7BA,IAAa,GAER,GAGLA,EAAS,WAAW,IAAI,IAM5BA,KAAW,EAAAE,SAAcF,EAAU,EAAK,EAEpCC,GAAe,CAACD,EAAS,SAAS,GAAG,IACvCA,GAAY,KAGV,KAAK,YAAcX,GAAqB,KAAMqB,GAAYV,EAAS,WAAWU,CAAO,CAAC,GAEjF,GAGLvB,GAAmB,KAAMwB,GAAiBX,EAAS,WAAWW,CAAY,CAAC,EAEtE,GAGF,KAAK,SAAS,QAAQX,CAAQ,CACvC,CAQA,MAAO,KAAK,CAAE,IAAAN,EAAM,KAAK,IAAK,EAAI,CAAC,EAA2B,CAExDA,IAAQ,KAAK,OACf,MAAM,KAAK,UAAUA,EAAK,EAAI,GAGhC,cAAiBkB,KAAS,MAAM,EAAAP,QAAG,QAAQX,CAAG,EAAG,CAC/C,IAAMM,EAAWR,EAAK,KAAKE,EAAKkB,EAAM,IAAI,EACtC,KAAK,QAAQZ,EAAUY,EAAM,YAAY,CAAC,IAI1CA,EAAM,YAAY,EACpB,MAAO,KAAK,KAAK,CAAE,IAAKZ,CAAS,CAAC,EACzBY,EAAM,OAAO,IACtB,MAAM,KAAK,UAAUZ,EAAU,EAAK,GAExC,CACF,CASA,MAAM,QAA0B,CAC9B,GAAI,CACF,KAAK,WAAa,GAClB,IAAMa,EAAQ,CAAC,EAEf,cAAiBC,KAAkB,KAAK,KAAK,EAAG,CAC9C,IAAMC,EAAe,KAAK,SAASD,CAAc,EACjDD,EAAMC,CAAc,EAAI,MAAME,GAAKD,CAAY,CACjD,CAEA,OAAOF,CACT,QAAE,CACA,KAAK,WAAa,EACpB,CACF,CAEA,MAAM,UAA6B,CACjC,MAAO,CAAE,MAAM,KAAK,qBAAqB,CAC3C,CAEA,MAAM,sBAAyC,CAC7C,IAAII,EAAuB,GAC3B,GAAI,CACF,cAAiBC,KAAK,KAAK,KAAK,EAAG,CACjCD,EAAuB,GACvB,KACF,CACF,OAASX,EAAO,CACda,GAAcb,CAAK,CACrB,CACA,OAAOW,CACT,CACF,EAoCaG,GAAsB,QAAQ,WAAa,SAAW,QAAQ,WAAa,SAUlFJ,GAAOvB,EAAA,MAAOsB,GAAwC,CAC1D,IAAMM,EAAOC,GAAW,MAAM,EAC9BD,EAAK,OAAO7B,EAAK,SAASuB,CAAY,CAAC,EAEvC,IAAMQ,EAAQ,MAAM,EAAAlB,QAAG,KAAKU,CAAY,EAEpCS,EAMJ,GALIJ,KAEFI,EAAcD,EAAM,KAAO,KAGzBA,EAAM,YAAY,EACpB,MAAO,CAAE,KAAMF,EAAK,OAAO,KAAK,EAAG,YAAAG,CAAY,EAOjD,IAAMC,EAAW,IAAIC,GAAU,CAC7B,UAAUC,EAAeC,EAAWC,EAAU,CAC5C,GAAI,CAACF,EAAM,SAAS,EAAI,EAAG,CACzBE,EAAS,OAAWF,CAAK,EACzB,MACF,CAEA,IAAMG,EAAgB,OAAO,MAAMH,EAAM,MAAM,EAC3CI,EAAI,EACR,QAAWC,KAAQL,EACbK,IAAS,KACXF,EAAcC,GAAG,EAAIC,GAIzBH,EAAS,OAAWC,EAAc,SAAS,EAAGC,CAAC,CAAC,CAClD,CACF,CAAC,EAED,aAAME,GAAS,EAAA5B,QAAG,iBAAiBU,CAAY,EAAGU,EAAUJ,CAAI,EAEzD,CAAE,KAAMA,EAAK,OAAO,KAAK,EAAG,YAAAG,CAAY,CACjD,EA1Ca,QA4Cb,SAASjB,EAAcD,EAA6C,CAClE,MAAO,CAAC,CAACA,GAAS,OAAOA,GAAU,UAAY,SAAUA,GAASA,EAAM,OAAS,QACnF,CAFSb,EAAAc,EAAA,iBAIT,SAASC,GAAcF,EAA6C,CAClE,MAAO,CAAC,CAACA,GAAS,OAAOA,GAAU,UAAY,SAAUA,GAASA,EAAM,OAAS,QACnF,CAFSb,EAAAe,GAAA,iBAUF,IAAMW,GAAgB1B,EAACa,GAAyB,CACrD,GAAI,CAAAC,EAAcD,CAAK,EAGvB,MAAMA,CACR,EAL6B",
|
|
6
|
-
"names": ["require_ignore", "__commonJSMin", "exports", "module", "init_cjs", "makeArray", "subject", "__name", "UNDEFINED", "EMPTY", "SPACE", "ESCAPE", "REGEX_TEST_BLANK_LINE", "REGEX_INVALID_TRAILING_BACKSLASH", "REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION", "REGEX_REPLACE_LEADING_EXCAPED_HASH", "REGEX_SPLITALL_CRLF", "REGEX_TEST_INVALID_PATH", "REGEX_TEST_TRAILING_SLASH", "SLASH", "TMP_KEY_IGNORE", "KEY_IGNORE", "define", "object", "key", "value", "REGEX_REGEXP_RANGE", "RETURN_FALSE", "sanitizeRange", "range", "match", "from", "to", "cleanRangeBackSlash", "slashes", "length", "REPLACERS", "_", "m1", "m2", "index", "str", "p1", "p2", "unescaped", "leadEscape", "endEscape", "close", "REGEX_REPLACE_TRAILING_WILDCARD", "MODE_IGNORE", "MODE_CHECK_IGNORE", "UNDERSCORE", "TRAILING_WILD_CARD_REPLACERS", "makeRegexPrefix", "pattern", "prev", "matcher", "replacer", "isString", "checkPattern", "splitPattern", "IgnoreRule", "mark", "body", "ignoreCase", "negative", "prefix", "mode", "regex", "createRule", "regexPrefix", "RuleManager", "rule", "path", "checkUnignored", "ignored", "unignored", "matchedRule", "ret", "throwError", "message", "Ctor", "checkPath", "originalPath", "doThrow", "isNotRelative", "p", "Ignore", "ignorecase", "allowRelativePaths", "cache", "slices", "parent", "paths", "factory", "options", "isPathValid", "setupWindows", "makePosix", "REGEX_TEST_WINDOWS_PATH_ABSOLUTE", "require_normalize_path", "__commonJSMin", "exports", "module", "init_cjs", "path", "stripTrailing", "len", "prefix", "ch", "segs", "init_cjs", "import_fs_extra", "import_ignore", "import_normalize_path", "assert", "createHash", "path", "Transform", "pipeline", "NEVER_IGNORE_PATHS", "ALWAYS_IGNORE_PATHS", "HASHING_IGNORE_PATHS", "Directory", "_Directory", "path", "__name", "dir", "directory", "to", "pathSegments", "result", "assert", "filepath", "isDirectory", "normalizePath", "ignore", "content", "fs", "error", "isEnoentError", "isEisdirError", "duration", "ignored", "neverIgnored", "entry", "files", "normalizedPath", "absolutePath", "hash", "isEmptyOrNonExistent", "_", "swallowEnoent", "supportsPermissions", "sha1", "createHash", "stats", "permissions", "removeCR", "Transform", "chunk", "_encoding", "callback", "filteredChunk", "i", "byte", "pipeline"]
|
|
7
|
-
}
|
package/dist/chunk-ZYDMXS5R.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{a as J}from"./chunk-GFQYFEEH.js";import{a as r,b as A,d as O,h as d}from"./chunk-7DYQUG5M.js";var T=O((Fe,j)=>{d();function Z(e){t.debug=t,t.default=t,t.coerce=z,t.disable=P,t.enable=F,t.enabled=U,t.humanize=J(),t.destroy=V,Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={};function o(n){let s=0;for(let c=0;c<n.length;c++)s=(s<<5)-s+n.charCodeAt(c),s|=0;return t.colors[Math.abs(s)%t.colors.length]}r(o,"selectColor"),t.selectColor=o;function t(n){let s,c=null,f,b;function C(...p){if(!C.enabled)return;let g=C,w=Number(new Date),$=w-(s||w);g.diff=$,g.prev=s,g.curr=w,s=w,p[0]=t.coerce(p[0]),typeof p[0]!="string"&&p.unshift("%O");let v=0;p[0]=p[0].replace(/%([a-zA-Z%])/g,(R,Y)=>{if(R==="%%")return"%";v++;let L=t.formatters[Y];if(typeof L=="function"){let W=p[v];R=L.call(g,W),p.splice(v,1),v--}return R}),t.formatArgs.call(g,p),(g.log||t.log).apply(g,p)}return r(C,"debug"),C.namespace=n,C.useColors=t.useColors(),C.color=t.selectColor(n),C.extend=i,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:r(()=>c!==null?c:(f!==t.namespaces&&(f=t.namespaces,b=t.enabled(n)),b),"get"),set:r(p=>{c=p},"set")}),typeof t.init=="function"&&t.init(C),C}r(t,"createDebug");function i(n,s){let c=t(this.namespace+(typeof s>"u"?":":s)+n);return c.log=this.log,c}r(i,"extend");function F(n){t.save(n),t.namespaces=n,t.names=[],t.skips=[];let s=(typeof n=="string"?n:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let c of s)c[0]==="-"?t.skips.push(c.slice(1)):t.names.push(c)}r(F,"enable");function h(n,s){let c=0,f=0,b=-1,C=0;for(;c<n.length;)if(f<s.length&&(s[f]===n[c]||s[f]==="*"))s[f]==="*"?(b=f,C=c,f++):(c++,f++);else if(b!==-1)f=b+1,C++,c=C;else return!1;for(;f<s.length&&s[f]==="*";)f++;return f===s.length}r(h,"matchesTemplate");function P(){let n=[...t.names,...t.skips.map(s=>"-"+s)].join(",");return t.enable(""),n}r(P,"disable");function U(n){for(let s of t.skips)if(h(n,s))return!1;for(let s of t.names)if(h(n,s))return!0;return!1}r(U,"enabled");function z(n){return n instanceof Error?n.stack||n.message:n}r(z,"coerce");function V(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r(V,"destroy"),t.enable(t.load()),t}r(Z,"setup");j.exports=Z});var B=O((a,x)=>{d();a.formatArgs=K;a.save=Q;a.load=X;a.useColors=H;a.storage=ee();a.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();a.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function H(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}r(H,"useColors");function K(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+x.exports.humanize(this.diff),!this.useColors)return;let o="color: "+this.color;e.splice(1,0,o,"color: inherit");let t=0,i=0;e[0].replace(/%[a-zA-Z%]/g,F=>{F!=="%%"&&(t++,F==="%c"&&(i=t))}),e.splice(i,0,o)}r(K,"formatArgs");a.log=console.debug||console.log||(()=>{});function Q(e){try{e?a.storage.setItem("debug",e):a.storage.removeItem("debug")}catch{}}r(Q,"save");function X(){let e;try{e=a.storage.getItem("debug")||a.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}r(X,"load");function ee(){try{return localStorage}catch{}}r(ee,"localstorage");x.exports=T()(a);var{formatters:te}=x.exports;te.j=function(e){try{return JSON.stringify(e)}catch(o){return"[UnexpectedJSONParseError]: "+o.message}}});var k=O((Oe,N)=>{"use strict";d();N.exports=(e,o)=>{o=o||process.argv;let t=e.startsWith("-")?"":e.length===1?"-":"--",i=o.indexOf(t+e),F=o.indexOf("--");return i!==-1&&(F===-1?!0:i<F)}});var q=O((we,D)=>{"use strict";d();var re=A("os"),m=k(),u=process.env,y;m("no-color")||m("no-colors")||m("color=false")?y=!1:(m("color")||m("colors")||m("color=true")||m("color=always"))&&(y=!0);"FORCE_COLOR"in u&&(y=u.FORCE_COLOR.length===0||parseInt(u.FORCE_COLOR,10)!==0);function oe(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}r(oe,"translateLevel");function ne(e){if(y===!1)return 0;if(m("color=16m")||m("color=full")||m("color=truecolor"))return 3;if(m("color=256"))return 2;if(e&&!e.isTTY&&y!==!0)return 0;let o=y?1:0;if(process.platform==="win32"){let t=re.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(t[0])>=10&&Number(t[2])>=10586?Number(t[2])>=14931?3:2:1}if("CI"in u)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(t=>t in u)||u.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in u)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(u.TEAMCITY_VERSION)?1:0;if(u.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in u){let t=parseInt((u.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(u.TERM_PROGRAM){case"iTerm.app":return t>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(u.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(u.TERM)||"COLORTERM"in u?1:(u.TERM==="dumb",o)}r(ne,"supportsColor");function _(e){let o=ne(e);return oe(o)}r(_,"getSupportLevel");D.exports={supportsColor:_,stdout:_(process.stdout),stderr:_(process.stderr)}});var G=O((l,I)=>{d();var se=A("tty"),E=A("util");l.init=ae;l.log=ue;l.formatArgs=ce;l.save=fe;l.load=Ce;l.useColors=ie;l.destroy=E.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");l.colors=[6,2,3,4,5,1];try{let e=q();e&&(e.stderr||e).level>=2&&(l.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}l.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,o)=>{let t=o.substring(6).toLowerCase().replace(/_([a-z])/g,(F,h)=>h.toUpperCase()),i=process.env[o];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),e[t]=i,e},{});function ie(){return"colors"in l.inspectOpts?!!l.inspectOpts.colors:se.isatty(process.stderr.fd)}r(ie,"useColors");function ce(e){let{namespace:o,useColors:t}=this;if(t){let i=this.color,F="\x1B[3"+(i<8?i:"8;5;"+i),h=` ${F};1m${o} \x1B[0m`;e[0]=h+e[0].split(`
|
|
2
|
-
`).join(`
|
|
3
|
-
`+h),e.push(F+"m+"+I.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=le()+o+" "+e[0]}r(ce,"formatArgs");function le(){return l.inspectOpts.hideDate?"":new Date().toISOString()+" "}r(le,"getDate");function ue(...e){return process.stderr.write(E.formatWithOptions(l.inspectOpts,...e)+`
|
|
4
|
-
`)}r(ue,"log");function fe(e){e?process.env.DEBUG=e:delete process.env.DEBUG}r(fe,"save");function Ce(){return process.env.DEBUG}r(Ce,"load");function ae(e){e.inspectOpts={};let o=Object.keys(l.inspectOpts);for(let t=0;t<o.length;t++)e.inspectOpts[o[t]]=l.inspectOpts[o[t]]}r(ae,"init");I.exports=T()(l);var{formatters:S}=I.exports;S.o=function(e){return this.inspectOpts.colors=this.useColors,E.inspect(e,this.inspectOpts).split(`
|
|
5
|
-
`).map(o=>o.trim()).join(" ")};S.O=function(e){return this.inspectOpts.colors=this.useColors,E.inspect(e,this.inspectOpts)}});var pe=O((Re,M)=>{d();typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?M.exports=B():M.exports=G()});export{pe as a};
|
|
6
|
-
//# sourceMappingURL=chunk-ZYDMXS5R.js.map
|