vercel 62.2.0 → 62.5.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/dist/chunks/{add-7HJR3HK7.js → add-HN4OXQLM.js} +1 -1
- package/dist/chunks/add-SUDX7R63.js +8 -0
- package/dist/chunks/add-UNQJB3SM.js +8 -0
- package/dist/chunks/build-BRMOQZHW.js +7 -0
- package/dist/chunks/{chunk-C6ITILVT.js → chunk-2E6XILZC.js} +1 -1
- package/dist/chunks/{chunk-I46LFJJG.js → chunk-2FQCZE6S.js} +1 -1
- package/dist/chunks/{chunk-7T4CJ6MJ.js → chunk-2Z47VG5H.js} +1 -1
- package/dist/chunks/{chunk-2RQFMCPJ.js → chunk-35QK5NDD.js} +1 -1
- package/dist/chunks/{chunk-MCCL762Q.js → chunk-3J2P52OU.js} +1 -1
- package/dist/chunks/{chunk-GASSNHZG.js → chunk-4AY4YYKS.js} +1 -1
- package/dist/chunks/{chunk-743NGLUN.js → chunk-4BRFG5HP.js} +1 -1
- package/dist/chunks/chunk-4CACOKMS.js +7 -0
- package/dist/chunks/{chunk-RINZXCDJ.js → chunk-4WS3D23J.js} +1 -1
- package/dist/chunks/chunk-5CSWEE7J.js +7 -0
- package/dist/chunks/{chunk-PV5YI2ZZ.js → chunk-5IPBCD7K.js} +1 -1
- package/dist/chunks/{chunk-6JU3QZ3O.js → chunk-5NSYN7IO.js} +1 -1
- package/dist/chunks/{chunk-HYW4A5B3.js → chunk-5QVOIOPN.js} +5 -5
- package/dist/chunks/{chunk-3GUBYJN6.js → chunk-65Z5UPUC.js} +1 -1
- package/dist/chunks/{chunk-WOKSTB3F.js → chunk-6ALOD3OE.js} +1 -1
- package/dist/chunks/{chunk-7JFK53D4.js → chunk-6C4RPAG7.js} +1 -1
- package/dist/chunks/{chunk-KREBNPHL.js → chunk-6LOW7CGD.js} +9 -5
- package/dist/chunks/{chunk-DQ2KI6FO.js → chunk-72YTT324.js} +1 -1
- package/dist/chunks/chunk-733ZK37Y.js +7 -0
- package/dist/chunks/chunk-774D3BGN.js +7 -0
- package/dist/chunks/chunk-7SNMU7U7.js +7 -0
- package/dist/chunks/chunk-AJT64XO2.js +21 -0
- package/dist/chunks/{chunk-MK3CTSDV.js → chunk-AMSFO2VK.js} +1 -1
- package/dist/chunks/{chunk-N7XPPYQQ.js → chunk-B3MYIRFE.js} +1 -1
- package/dist/chunks/{chunk-FA6O7FPC.js → chunk-C7SLCL3Z.js} +2 -2
- package/dist/chunks/{chunk-CQ3RAERR.js → chunk-CAAD55US.js} +1 -1
- package/dist/chunks/{chunk-UWO3M2L2.js → chunk-D6JBONML.js} +1 -1
- package/dist/chunks/{chunk-VDOJERIW.js → chunk-DOWDSQPG.js} +1 -1
- package/dist/chunks/{chunk-6NPXWN5F.js → chunk-DQXGNNPB.js} +1 -1
- package/dist/chunks/{chunk-EQHNA4BW.js → chunk-DWPCZHDT.js} +1 -1
- package/dist/chunks/chunk-DZZFEAM6.js +7 -0
- package/dist/chunks/chunk-EA3BJUUK.js +7 -0
- package/dist/chunks/{chunk-NESZV33T.js → chunk-EDDOQXEI.js} +1 -1
- package/dist/chunks/chunk-EJNFKH6Y.js +10 -0
- package/dist/chunks/chunk-EPBZNTIJ.js +9 -0
- package/dist/chunks/{chunk-N4PVXHAJ.js → chunk-G3NHWIPJ.js} +1 -1
- package/dist/chunks/chunk-GXNSAACA.js +7 -0
- package/dist/chunks/{chunk-C3XFIO5L.js → chunk-H3QRCTIJ.js} +1 -1
- package/dist/chunks/{chunk-SM5JI6QM.js → chunk-HRQQ2N5B.js} +1 -1
- package/dist/chunks/{chunk-B5PFD6Q3.js → chunk-HVJERSGE.js} +1 -1
- package/dist/chunks/{chunk-6BZCSVH6.js → chunk-ILR6YA2A.js} +1 -1
- package/dist/chunks/{chunk-S2LBGLRE.js → chunk-JNLWD6DK.js} +1 -1
- package/dist/chunks/{chunk-VGXFOQ4P.js → chunk-L57FNGBV.js} +1 -1
- package/dist/chunks/{chunk-S5CEIACD.js → chunk-LG4JQAY7.js} +1 -1
- package/dist/chunks/chunk-LGFCHU75.js +8 -0
- package/dist/chunks/chunk-LSF7FY6X.js +7 -0
- package/dist/chunks/{chunk-NT67T6DL.js → chunk-M4IWOZEG.js} +1 -1
- package/dist/chunks/{chunk-R3B67TKQ.js → chunk-MCOJUSDV.js} +1 -1
- package/dist/chunks/{chunk-KG5BMLOI.js → chunk-MHKDLJEI.js} +1 -1
- package/dist/chunks/chunk-MJWC4W6J.js +10 -0
- package/dist/chunks/{chunk-D5VTBRWF.js → chunk-MOLEXKVC.js} +1 -1
- package/dist/chunks/{chunk-LCWCTL6L.js → chunk-MQW6DKD2.js} +1 -1
- package/dist/chunks/{chunk-EWWFNMPZ.js → chunk-MR423MWE.js} +3 -1
- package/dist/chunks/{chunk-MKY5IBKK.js → chunk-MUJP4VPF.js} +1 -1
- package/dist/chunks/chunk-NDZOUAFO.js +9 -0
- package/dist/chunks/{chunk-V6MR45PD.js → chunk-NNP5NITU.js} +1 -1
- package/dist/chunks/chunk-NTRM6VO6.js +9 -0
- package/dist/chunks/{chunk-LCY4SULE.js → chunk-O552UV4H.js} +1 -1
- package/dist/chunks/chunk-O5A7CNRV.js +7 -0
- package/dist/chunks/{chunk-KOSM3DYE.js → chunk-OQVE2WXX.js} +1 -1
- package/dist/chunks/{chunk-X47XV2WG.js → chunk-OYWYHFXV.js} +1 -1
- package/dist/chunks/{chunk-WN6OXK2F.js → chunk-P3YADO62.js} +1 -1
- package/dist/chunks/{chunk-K5WTLFS6.js → chunk-P3ZZVBZQ.js} +1 -1
- package/dist/chunks/{chunk-7POWBJDF.js → chunk-P4BGC5RL.js} +3 -3
- package/dist/chunks/{chunk-DECIQZZQ.js → chunk-PD3ZD52Q.js} +3 -3
- package/dist/chunks/{chunk-SDGWKUST.js → chunk-PQV3QNDG.js} +1 -1
- package/dist/chunks/{chunk-LQBC5QPO.js → chunk-PTKSYVXM.js} +1 -1
- package/dist/chunks/{chunk-4HXRTNAK.js → chunk-PY6YO4MR.js} +2 -2
- package/dist/chunks/{chunk-YMM3VY3J.js → chunk-QCOPZAUC.js} +1 -1
- package/dist/chunks/{chunk-7IRKF3ZG.js → chunk-QMTPSHRV.js} +4 -4
- package/dist/chunks/chunk-RERUTI3O.js +9 -0
- package/dist/chunks/{chunk-HWWHR7H3.js → chunk-RHUAFRZX.js} +1 -1
- package/dist/chunks/chunk-S54ISKGR.js +9 -0
- package/dist/chunks/{chunk-HLVUEYOZ.js → chunk-ST2X5QRA.js} +1 -1
- package/dist/chunks/chunk-SX64OM5A.js +7 -0
- package/dist/chunks/{chunk-L46BHPRD.js → chunk-TEYG3UZQ.js} +1 -1
- package/dist/chunks/{chunk-ZUYWATU5.js → chunk-TG6SMD7D.js} +1 -1
- package/dist/chunks/{chunk-U6N2RNDI.js → chunk-TN4IR2LY.js} +1 -1
- package/dist/chunks/{chunk-XQQGQ55A.js → chunk-TNGDWVMX.js} +1 -1
- package/dist/chunks/{chunk-7ANQHBBE.js → chunk-U4C2LU7H.js} +1 -1
- package/dist/chunks/{chunk-C5KVTG2O.js → chunk-UKC3NSS6.js} +1 -1
- package/dist/chunks/{chunk-A752WDCH.js → chunk-UXAYYF6I.js} +1 -1
- package/dist/chunks/{chunk-JO3XBFR3.js → chunk-VMHUBZRU.js} +1 -1
- package/dist/chunks/{chunk-JSKSNCK2.js → chunk-W45NZSSK.js} +1 -1
- package/dist/chunks/{chunk-UOHVKN6N.js → chunk-W6M24BQ4.js} +2 -2
- package/dist/chunks/{chunk-E4RLHRDF.js → chunk-WJZV7BI4.js} +1 -1
- package/dist/chunks/{vlt-builder-graph-B4DFIUS6.js → chunk-WKZ6JSGZ.js} +1 -1
- package/dist/chunks/{chunk-Z4VR6CQ2.js → chunk-WNG72BRT.js} +1 -1
- package/dist/chunks/chunk-WOTPEBSH.js +11 -0
- package/dist/chunks/chunk-X7F3567X.js +7 -0
- package/dist/chunks/{chunk-ACCZWEKL.js → chunk-X7U35FBE.js} +1 -1
- package/dist/chunks/chunk-XMV7OSFJ.js +9 -0
- package/dist/chunks/chunk-YW5R6XQI.js +7 -0
- package/dist/chunks/chunk-ZFYW4CEL.js +8 -0
- package/dist/chunks/{chunk-7I23VXBQ.js → chunk-ZTUQEA2X.js} +1 -1
- package/dist/chunks/{chunk-VTMLKJVQ.js → chunk-ZX2JOGOA.js} +1 -1
- package/dist/chunks/{chunk-N5MNZPPJ.js → chunk-ZXDS7NJI.js} +1 -1
- package/dist/chunks/clear-M6LODAMD.js +8 -0
- package/dist/chunks/{compile-vercel-config-2IC23CNT.js → compile-vercel-config-NBX5UWHW.js} +1 -1
- package/dist/chunks/{config-T3WHONFJ.js → config-Q3TRA4NK.js} +1 -1
- package/dist/chunks/config-YQ7FIAFK.js +8 -0
- package/dist/chunks/config-validator.mjs +1 -1
- package/dist/chunks/{connect-git-provider-VYU65KTS.js → connect-git-provider-67DJOI6X.js} +1 -1
- package/dist/chunks/{constants-NCE2LWSS.js → constants-G4UYVLOF.js} +1 -1
- package/dist/chunks/delete-KSZ7R5V6.js +10 -0
- package/dist/chunks/delete-NRWKSTCN.js +9 -0
- package/dist/chunks/{detect-projects-GJF4VXQI.js → detect-projects-AWDCPVLE.js} +1 -1
- package/dist/chunks/{detect-services-K3363KB7.js → detect-services-MWYUJZJZ.js} +1 -1
- package/dist/chunks/disable-BUGWQUS7.js +7 -0
- package/dist/chunks/discard-J5O3C753.js +14 -0
- package/dist/chunks/edit-DMOIBVEP.js +8 -0
- package/dist/chunks/edit-YRWAXGEI.js +9 -0
- package/dist/chunks/enable-IL27VHSU.js +7 -0
- package/dist/chunks/{exec-3RMS2X6B.js → exec-GYSSNCNK.js} +1 -1
- package/dist/chunks/{export-CMP3APAJ.js → export-HBUUGMGE.js} +2 -2
- package/dist/chunks/{future-GS7ZLJ3N.js → future-BXETJ6CT.js} +1 -1
- package/dist/chunks/{generate-cert-for-deploy-2HHUYGHU.js → generate-cert-for-deploy-K5QDHEEQ.js} +1 -1
- package/dist/chunks/image-M2XIQYXT.js +7 -0
- package/dist/chunks/import-builders-UGIWTKRS.js +7 -0
- package/dist/chunks/inspect-HASOG2PB.js +13 -0
- package/dist/chunks/inspect-OGUGKPVK.js +9 -0
- package/dist/chunks/{inspect-KYFVYFWX.js → inspect-SUEMHSB6.js} +2 -2
- package/dist/chunks/{inspect-V7HA2GZ5.js → inspect-TDHISMRV.js} +2 -2
- package/dist/chunks/{inspect-DYNTJMTQ.js → inspect-XANEFWYN.js} +2 -2
- package/dist/chunks/list-32NXD7OW.js +11 -0
- package/dist/chunks/{list-X4MKKDJX.js → list-Q566PTT4.js} +2 -2
- package/dist/chunks/{list-TSDBEAVF.js → list-Z6DRFZ7F.js} +2 -2
- package/dist/chunks/login-A6R3RQIW.js +9 -0
- package/dist/chunks/login-GPCBSMHV.js +7 -0
- package/dist/chunks/logs-L33R4G67.js +7 -0
- package/dist/chunks/ls-6CYMQBX3.js +12 -0
- package/dist/chunks/ls-CTIACPC5.js +8 -0
- package/dist/chunks/ls-DUCIK4E6.js +11 -0
- package/dist/chunks/{ls-4W4KTJ6T.js → ls-GDR45ANC.js} +2 -2
- package/dist/chunks/{ls-BMAVUMXU.js → ls-JPL3AFIM.js} +2 -2
- package/dist/chunks/{ls-HK45UWBD.js → ls-R442RADW.js} +2 -2
- package/dist/chunks/ls-VSK2ZFSY.js +8 -0
- package/dist/chunks/mutate-MUWQVZKM.js +9 -0
- package/dist/chunks/notifications-YKGIFXKO.js +7 -0
- package/dist/chunks/open-OJAIEDS5.js +7 -0
- package/dist/chunks/{openapi-W365UPH2.js → openapi-Y4NWAKUM.js} +1 -1
- package/dist/chunks/permissions-LWKZBBU7.js +7 -0
- package/dist/chunks/{prompt-missing-credentials-VDR5HVA2.js → prompt-missing-credentials-O3GGMOZH.js} +1 -1
- package/dist/chunks/publish-JHNLZT6K.js +15 -0
- package/dist/chunks/pull-E4K6BVQW.js +7 -0
- package/dist/chunks/purchase-domain-if-available-CJK3G4DT.js +7 -0
- package/dist/chunks/push-MUMGVOSY.js +7 -0
- package/dist/chunks/{query-ABPO2REN.js → query-2TTSDOFF.js} +2 -2
- package/dist/chunks/{reauthenticate-3H5Q2ZWD.js → reauthenticate-S47X66LM.js} +1 -1
- package/dist/chunks/reorder-NGBZWNZH.js +10 -0
- package/dist/chunks/reply-5WF5YHOM.js +9 -0
- package/dist/chunks/resolve-MPZBUK5V.js +12 -0
- package/dist/chunks/restore-NVY4A3T3.js +16 -0
- package/dist/chunks/rm-DB5K2RI7.js +8 -0
- package/dist/chunks/rm-HFJCOK2D.js +8 -0
- package/dist/chunks/{rm-KHO6RV55.js → rm-QXQ2AD4R.js} +1 -1
- package/dist/chunks/rm-SMKVHN75.js +8 -0
- package/dist/chunks/rm-ZO5JP3GF.js +8 -0
- package/dist/chunks/{routes-FOCZWOGO.js → routes-KO5NFCCJ.js} +1 -1
- package/dist/chunks/rule-inspect-VZARLRS3.js +8 -0
- package/dist/chunks/rules-G2WFYCPB.js +7 -0
- package/dist/chunks/{schema-EKWTCBNR.js → schema-G6BOZBNB.js} +1 -1
- package/dist/chunks/{schema-FZVKQRNB.js → schema-SVYU72YU.js} +1 -1
- package/dist/chunks/{select-org-37C26F7T.js → select-org-2W67WKBG.js} +1 -1
- package/dist/chunks/set-ILVKMTUD.js +7 -0
- package/dist/chunks/setup-and-link-VFCYLLB5.js +7 -0
- package/dist/chunks/tags-C34XXMYO.js +7 -0
- package/dist/chunks/{types-UN5J66MI.js → types-MATC4UQL.js} +2 -2
- package/dist/chunks/{update-QY3ZME4T.js → update-IVWOZO4P.js} +2 -2
- package/dist/chunks/{chunk-TKBORMUF.js → vlt-builder-graph-S4YJ5UTQ.js} +1 -1
- package/dist/chunks/vlt-builder-importer-2ITR3DMQ.js +11 -0
- package/dist/commands/build/index.js +3 -3
- package/dist/commands/deploy/index.js +13 -10
- package/dist/commands/dev/index.js +6 -6
- package/dist/commands/env/index.js +12 -12
- package/dist/commands/link/index.js +2 -2
- package/dist/commands/list/index.js +1 -1
- package/dist/commands-bulk.js +552 -535
- package/dist/index.js +8 -7
- package/dist/internal-build-worker.js +4 -4
- package/dist/internal-build.js +11 -0
- package/dist/root-help-commands.mjs +1 -1
- package/dist/vc.js +26 -10
- package/dist/version.mjs +1 -1
- package/package.json +53 -53
- package/dist/chunks/add-Q5OZFIRM.js +0 -8
- package/dist/chunks/add-VLVURKGS.js +0 -8
- package/dist/chunks/build-MR7MUWBQ.js +0 -7
- package/dist/chunks/chunk-3R66O72V.js +0 -7
- package/dist/chunks/chunk-5VWK73R6.js +0 -10
- package/dist/chunks/chunk-ADDXKC3J.js +0 -9
- package/dist/chunks/chunk-AKPQWZIP.js +0 -21
- package/dist/chunks/chunk-ALXWJ7XN.js +0 -7
- package/dist/chunks/chunk-CJPM2DXZ.js +0 -7
- package/dist/chunks/chunk-CVX5X5RI.js +0 -7
- package/dist/chunks/chunk-HVROAV4B.js +0 -9
- package/dist/chunks/chunk-ILXXXXVQ.js +0 -8
- package/dist/chunks/chunk-JRU6AGXG.js +0 -11
- package/dist/chunks/chunk-LHQUNL52.js +0 -7
- package/dist/chunks/chunk-M7ZGWERO.js +0 -9
- package/dist/chunks/chunk-NRN65VUM.js +0 -8
- package/dist/chunks/chunk-NXTK7VKL.js +0 -7
- package/dist/chunks/chunk-PADCVJ7G.js +0 -7
- package/dist/chunks/chunk-PAI3WRPA.js +0 -9
- package/dist/chunks/chunk-PTFKU33G.js +0 -10
- package/dist/chunks/chunk-RFWCEREA.js +0 -7
- package/dist/chunks/chunk-RVKOPGOI.js +0 -7
- package/dist/chunks/chunk-VZDY57PJ.js +0 -7
- package/dist/chunks/chunk-W7PVS44H.js +0 -7
- package/dist/chunks/chunk-WW3VUXRV.js +0 -9
- package/dist/chunks/chunk-ZQIUMXCI.js +0 -7
- package/dist/chunks/clear-PPE55RPM.js +0 -8
- package/dist/chunks/config-G2A6KPPM.js +0 -8
- package/dist/chunks/delete-75SYJKNE.js +0 -10
- package/dist/chunks/delete-MHXN5KTO.js +0 -9
- package/dist/chunks/disable-OUYOHEWN.js +0 -7
- package/dist/chunks/discard-RXSHOY3J.js +0 -14
- package/dist/chunks/edit-Y7OL72ZK.js +0 -9
- package/dist/chunks/edit-Z5RCWPOX.js +0 -8
- package/dist/chunks/enable-HI2UH2NM.js +0 -7
- package/dist/chunks/image-SQIUEBFK.js +0 -7
- package/dist/chunks/import-builders-EUOOFPHW.js +0 -7
- package/dist/chunks/inspect-2SXPXNYH.js +0 -13
- package/dist/chunks/inspect-J3F3U3YF.js +0 -9
- package/dist/chunks/list-ZQSOWXRI.js +0 -11
- package/dist/chunks/login-5FMKHZVG.js +0 -7
- package/dist/chunks/login-YEDMPXUF.js +0 -9
- package/dist/chunks/logs-X2OIQXGW.js +0 -7
- package/dist/chunks/ls-6EDJUUDW.js +0 -12
- package/dist/chunks/ls-LAYBQVU2.js +0 -8
- package/dist/chunks/ls-SQ42O6O5.js +0 -11
- package/dist/chunks/ls-XIJ4CY2N.js +0 -8
- package/dist/chunks/mutate-6FCOCHSA.js +0 -9
- package/dist/chunks/notifications-JTK7ZOLC.js +0 -7
- package/dist/chunks/open-3G4R3VIN.js +0 -7
- package/dist/chunks/permissions-IWUBXZBZ.js +0 -7
- package/dist/chunks/publish-5QKVU6YV.js +0 -15
- package/dist/chunks/pull-K4JQEP7N.js +0 -7
- package/dist/chunks/purchase-domain-if-available-Q7H2TGKR.js +0 -7
- package/dist/chunks/push-COILRLCW.js +0 -7
- package/dist/chunks/reorder-FBUQ5ET7.js +0 -10
- package/dist/chunks/reply-FR5VO7DA.js +0 -9
- package/dist/chunks/resolve-JI2ENFS6.js +0 -12
- package/dist/chunks/restore-LYY4BSYJ.js +0 -16
- package/dist/chunks/rm-C2RWWMO3.js +0 -8
- package/dist/chunks/rm-CYYVIF2U.js +0 -8
- package/dist/chunks/rm-ETLZ75RJ.js +0 -8
- package/dist/chunks/rm-GHSQEFRG.js +0 -8
- package/dist/chunks/rule-inspect-MISYALLU.js +0 -8
- package/dist/chunks/rules-KAGL6MH3.js +0 -7
- package/dist/chunks/set-5D7C6HMZ.js +0 -7
- package/dist/chunks/setup-and-link-H4P3FZB3.js +0 -7
- package/dist/chunks/tags-DVGQQZNC.js +0 -7
- package/dist/chunks/vlt-builder-importer-W63QEXYX.js +0 -11
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __dirname_ } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __dirname_(__filename);
|
|
7
|
+
import{createBuilderIndex}from"./chunk-4CACOKMS.js";import{require_cli_config}from"./chunk-BRK4OB4B.js";import{__toESM}from"./chunk-6L236MNA.js";var import_cli_config=__toESM(require_cli_config(),1);import{createHash,randomBytes}from"node:crypto";import{link,lstat,mkdir,open,readFile,rename,rm,unlink,writeFile}from"node:fs/promises";import{join}from"node:path";var LOCK_RETRY_MS=50,LOCK_WAIT_MS=5*60*1e3,LOCK_EMPTY_GRACE_MS=1e3,REMOVE_MAX_RETRIES=5,REMOVE_RETRY_DELAY_MS=100,activeInstallations=new Map;function compareKeys(a,b){return a<b?-1:a>b?1:0}function canonicalize(value){return Array.isArray(value)?value.map(canonicalize):value&&typeof value=="object"?Object.fromEntries(Object.entries(value).sort(([a],[b])=>compareKeys(a,b)).map(([key,child])=>[key,canonicalize(child)])):value}function validateGraph(graph){let{hash,...contents}=graph;if(createHash("sha256").update(JSON.stringify(canonicalize(contents))).digest("hex")!==hash)throw new Error(`The embedded vlt Builder graph for ${graph.name} is invalid.`)}async function wait(ms){await new Promise(resolve=>setTimeout(resolve,ms))}function hasErrorCode(error,code){return error instanceof Error&&"code"in error&&error.code===code}function isProcessAlive(pid){try{return process.kill(pid,0),!0}catch(error){return hasErrorCode(error,"EPERM")}}async function isLockHolderAlive(path){try{let pid=Number.parseInt((await readFile(path,"utf8")).trim(),10);return Number.isInteger(pid)&&pid>0&&isProcessAlive(pid)}catch{return!1}}async function tryStealStaleLock(path,emptyGraceMs){let first;try{first=await lstat(path)}catch{return!0}if(first.size===0&&Date.now()-first.mtimeMs<emptyGraceMs||await isLockHolderAlive(path))return!1;let second;try{second=await lstat(path)}catch{return!0}if(second.dev!==first.dev||second.ino!==first.ino||second.mtimeMs!==first.mtimeMs||second.size!==first.size)return!1;try{return await unlink(path),!0}catch{return!1}}async function acquireLock(path,{waitMs=LOCK_WAIT_MS,emptyGraceMs=LOCK_EMPTY_GRACE_MS}={}){await mkdir(join(path,".."),{recursive:!0});let startedAt=Date.now();for(;;){let tmp=`${path}.${process.pid}-${randomBytes(6).toString("hex")}`;await writeFile(tmp,`${process.pid}
|
|
8
|
+
`,{flag:"wx"});try{return await link(tmp,path),await unlink(tmp).catch(()=>{}),await open(path,"r")}catch(error){if(await unlink(tmp).catch(()=>{}),!hasErrorCode(error,"EEXIST"))throw error;if(await tryStealStaleLock(path,emptyGraceMs))continue;if(Date.now()-startedAt>waitMs)throw new Error(`Timed out waiting for vlt Builder lock "${path}".`);await wait(LOCK_RETRY_MS)}}}async function removeInstallation(path){await rm(path,{recursive:!0,force:!0,maxRetries:REMOVE_MAX_RETRIES,retryDelay:REMOVE_RETRY_DELAY_MS})}async function installationComplete(root,hash){try{return(await readFile(join(root,".vercel-builder-graph"),"utf8")).trim()===hash}catch{return!1}}var defaultPackageInfoFactory=async()=>{let{PackageInfoClient}=await import("@vltpkg/package-info");return options=>new PackageInfoClient(options)};async function removePackageInfoCache(packageInfo,path){try{await(await packageInfo.getRegistryClient()).cache.promise()}catch{}await removeInstallation(path).catch(()=>{})}async function reifyGraph(root,graph,packageInfoFactory){let[{install},{PackageJson},{PathScurry},createPackageInfo]=await Promise.all([import("@vltpkg/graph"),import("@vltpkg/package-json"),import("path-scurry"),packageInfoFactory??defaultPackageInfoFactory()]),packageJson=new PackageJson,packageInfoCache=join(root,".vlt-package-info-cache"),packageInfo=createPackageInfo({...graph.lockfile.options,projectRoot:root,packageJson,cache:packageInfoCache});try{await install({...graph.lockfile.options,projectRoot:root,packageJson,packageInfo,scurry:new PathScurry(root),allowScripts:":not(*)",frozenLockfile:!0,cleanInstall:!0})}finally{await removePackageInfoCache(packageInfo,packageInfoCache)}}async function ensureGraph(graph,cacheRoot,packageInfoFactory){validateGraph(graph);let root=join(cacheRoot,graph.hash),active=activeInstallations.get(root);if(active)return active;let installation=(async()=>{if(await installationComplete(root,graph.hash))return{root,installed:!1};let lockPath=join(cacheRoot,"locks",`${graph.hash}.lock`),lock=await acquireLock(lockPath),temporaryRoot;try{return await installationComplete(root,graph.hash)?{root,installed:!1}:(await removeInstallation(root),temporaryRoot=process.platform==="win32"?root:join(cacheRoot,"tmp",`${graph.hash}-${process.pid}-${randomBytes(6).toString("hex")}`),await mkdir(temporaryRoot,{recursive:!0}),await writeFile(join(temporaryRoot,"package.json"),`${JSON.stringify(graph.manifest,null,2)}
|
|
9
|
+
`),await writeFile(join(temporaryRoot,"vlt-lock.json"),`${JSON.stringify(graph.lockfile,null,2)}
|
|
10
|
+
`),await reifyGraph(temporaryRoot,graph,packageInfoFactory),await writeFile(join(temporaryRoot,".vercel-builder-graph"),`${graph.hash}
|
|
11
|
+
`),temporaryRoot!==root&&(await mkdir(join(root,".."),{recursive:!0}),await rename(temporaryRoot,root)),temporaryRoot=void 0,{root,installed:!0})}finally{await lock.close(),await unlink(lockPath).catch(()=>{}),temporaryRoot&&await removeInstallation(temporaryRoot)}})();activeInstallations.set(root,installation);let clearInstallation=()=>{activeInstallations.get(root)===installation&&activeInstallations.delete(root)};return installation.then(clearInstallation,clearInstallation),installation}function createVltBuilderImporter({graphs,loadGraphs=async()=>graphs,loadIndex=async()=>createBuilderIndex(await loadGraphs()),require:require2,cacheRoot=join((0,import_cli_config.getCachePath)(),"builders-vlt"),packageInfoFactory,debug=()=>{}}){let install=async(name,expected)=>{let loadedGraphs=await loadGraphs();if(loadedGraphs.schemaVersion!==1)throw new Error("The embedded vlt Builder graph index is invalid.");let graph=loadedGraphs.builders[name];if(!graph)throw new Error(`No pinned vlt graph exists for ${name}.`);if(graph.hash!==expected.hash||graph.version!==expected.version)throw new Error(`The embedded vlt Builder index does not match the graph for ${name}.`);return ensureGraph(graph,cacheRoot,packageInfoFactory)};return async function(specs,span){if(specs.size===0)return new Map;let index=await loadIndex();if(index.schemaVersion!==1)throw new Error("The embedded vlt Builder graph index is invalid.");let builders=new Map,installedNames=[],reusedNames=[],ensureMs=0,requireMs=0;return await Promise.all([...specs].map(async([spec,name])=>{let graph=index.builders[name];if(!graph)throw new Error(`No pinned vlt graph exists for ${name}.`);let ensureStartedAt=performance.now(),cachedRoot=join(cacheRoot,graph.hash),{root,installed}=await installationComplete(cachedRoot,graph.hash)?{root:cachedRoot,installed:!1}:await install(name,graph);ensureMs+=performance.now()-ensureStartedAt,(installed?installedNames:reusedNames).push(name);let pkgPath=require2.resolve(`${name}/package.json`,{paths:[root]}),pkg=JSON.parse(await readFile(pkgPath,"utf8"));if(pkg.name!==name||pkg.version!==graph.version)throw new Error(`The vlt Builder graph materialized ${String(pkg.name)}@${String(pkg.version)} instead of ${name}@${graph.version}.`);let path=require2.resolve(name,{paths:[root]});debug(`Resolved ${name}@${graph.version} with vlt from ${root}`);let requireStartedAt=performance.now(),builder=require2(path);requireMs+=performance.now()-requireStartedAt,builders.set(spec,{path,pkgPath,pkg:{...pkg,name},builder,dynamicallyInstalled:!0})})),span?.setAttributes({"builders.vlt.installed":installedNames.sort().join(","),"builders.vlt.reused":reusedNames.sort().join(","),"builders.vlt.ensureMs":String(Math.round(ensureMs)),"builders.vlt.requireMs":String(Math.round(requireMs))}),builders}}export{acquireLock,createVltBuilderImporter,removePackageInfoCache};
|