@wo658/redpact 0.4.1 → 0.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/adapters/changes/projects.js +9 -6
- package/dist/adapters/storage/files.js +7 -1
- package/dist/adapters/storage/migrations.js +108 -0
- package/dist/app.js +1 -0
- package/dist/core/runtime-migrations.js +60 -0
- package/dist/core/types/runtime-migrations.js +1 -0
- package/dist/interfaces/http/docs/schemas.js +1 -0
- package/dist/interfaces/http/worktrees.js +46 -4
- package/dist/main.js +34 -8
- package/dist/mcp/app.html +2 -2
- package/dist/runtime-lock.yaml +200 -3
- package/dist/ui/assets/{abnfDiagram-O67JEVCF-EXZIR7uE.js → abnfDiagram-O67JEVCF-BiCoaTQf.js} +1 -1
- package/dist/ui/assets/{arc-DZ7IkhQL.js → arc-CxrXKzN8.js} +1 -1
- package/dist/ui/assets/architecture-7GRP2DOG-DzS62Mws.js +1 -0
- package/dist/ui/assets/{architectureDiagram-NJMV4G6O-oFZ4jPG2.js → architectureDiagram-NJMV4G6O-Ds10Nax8.js} +1 -1
- package/dist/ui/assets/{blockDiagram-BEXU5L5S-BBUTa13d.js → blockDiagram-BEXU5L5S-Dcwb-Nc2.js} +1 -1
- package/dist/ui/assets/{c4Diagram-YGBWAQC7-CrOB8ApR.js → c4Diagram-YGBWAQC7-HJ2BM4QS.js} +1 -1
- package/dist/ui/assets/channel-B7JCQNOt.js +1 -0
- package/dist/ui/assets/{chunk-3FUC2YCW-W4k2bur_.js → chunk-3FUC2YCW-CuqADqJd.js} +1 -1
- package/dist/ui/assets/{chunk-5DYCD2WN-DsvkZxf0.js → chunk-5DYCD2WN-b1GJEpV0.js} +1 -1
- package/dist/ui/assets/{chunk-742MDFTN-Q9c012fL.js → chunk-742MDFTN-DwTTnubN.js} +1 -1
- package/dist/ui/assets/{chunk-7INBJB4K-D6-5S_eb.js → chunk-7INBJB4K-ByUayPM9.js} +1 -1
- package/dist/ui/assets/{chunk-7M6MHVWA-BX-zqrmJ.js → chunk-7M6MHVWA-BzJnRALV.js} +1 -1
- package/dist/ui/assets/{chunk-7PRAP22T-D5sSirGe.js → chunk-7PRAP22T-CvUIEla0.js} +1 -1
- package/dist/ui/assets/{chunk-GTNCS2PH-BrjKdoU7.js → chunk-GTNCS2PH-BczyBknu.js} +1 -1
- package/dist/ui/assets/{chunk-GWA4HPMP-BzyuOibA.js → chunk-GWA4HPMP-nIcuf26U.js} +1 -1
- package/dist/ui/assets/{chunk-MBY4JIJT-Jg4QirYy.js → chunk-MBY4JIJT-CPIDP_2H.js} +1 -1
- package/dist/ui/assets/{chunk-NETBCI7D-Bo5sr5ak.js → chunk-NETBCI7D-JpQfB3bx.js} +1 -1
- package/dist/ui/assets/{chunk-O7XYJQB3-ADuOEPCt.js → chunk-O7XYJQB3-CC25iKdK.js} +1 -1
- package/dist/ui/assets/{chunk-UA2S7LBM-BWLbUYDY.js → chunk-UA2S7LBM-nOnMeXlB.js} +1 -1
- package/dist/ui/assets/{chunk-WEXAMYUT-BfdLD4oE.js → chunk-WEXAMYUT-Cb5Q6TBg.js} +1 -1
- package/dist/ui/assets/{chunk-XXDRQBXY-CEdjCwp8.js → chunk-XXDRQBXY-BR_j9H82.js} +1 -1
- package/dist/ui/assets/{chunk-Z7XXMR3K-ooKdHdRU.js → chunk-Z7XXMR3K-Br0zWe3T.js} +1 -1
- package/dist/ui/assets/{chunk-ZIGJFQKS-u0lffPbH.js → chunk-ZIGJFQKS-CawGFIJO.js} +1 -1
- package/dist/ui/assets/{classDiagram-v2-NBCMYWYE-kQl6D-HR.js → classDiagram-v2-NBCMYWYE-NKNUahqj.js} +1 -1
- package/dist/ui/assets/{cose-bilkent-JH36ORCC-DFDknAe8.js → cose-bilkent-JH36ORCC-Y-4g3CTm.js} +1 -1
- package/dist/ui/assets/{cynefin-OW5HDTMX-D4vNepxD.js → cynefin-OW5HDTMX-Chevf1KQ.js} +1 -1
- package/dist/ui/assets/{cynefinDiagram-VND7K2PF-BFJ8dEz7.js → cynefinDiagram-VND7K2PF-CixOvfUu.js} +1 -1
- package/dist/ui/assets/{dagre-6A5THRUB-CedM101q.js → dagre-6A5THRUB-BIi9RwPd.js} +1 -1
- package/dist/ui/assets/{diagram-22UHCM2B-Drvoaqhq.js → diagram-22UHCM2B-7GYKgpWA.js} +1 -1
- package/dist/ui/assets/{diagram-3UASUU5V-BqSEx6TG.js → diagram-3UASUU5V-lDVeRm5S.js} +1 -1
- package/dist/ui/assets/{diagram-ATOU4E4O-SZKgc7Zh.js → diagram-ATOU4E4O-BbeHNWgT.js} +1 -1
- package/dist/ui/assets/{diagram-CDSNMT55-Dt8thVhY.js → diagram-CDSNMT55-DEPkOKCq.js} +1 -1
- package/dist/ui/assets/{diagram-MLGK6HIB-CWFs_OOW.js → diagram-MLGK6HIB-BOhVXMr1.js} +1 -1
- package/dist/ui/assets/{diagram-MPIPVDR6-Cwm3bA8U.js → diagram-MPIPVDR6-B1zhvHtS.js} +1 -1
- package/dist/ui/assets/{dist-B7TllD9l.js → dist-Y9mhSTs4.js} +1 -1
- package/dist/ui/assets/{ebnfDiagram-ZINNZB2B-D6kGEe9D.js → ebnfDiagram-ZINNZB2B-DkBkKcsD.js} +1 -1
- package/dist/ui/assets/{elk-276RUBZZ-wW1KTjEC.js → elk-276RUBZZ-D-FlTgY6.js} +1 -1
- package/dist/ui/assets/{erDiagram-OPXOYQCR-vfhl3sOr.js → erDiagram-OPXOYQCR--6wxlspu.js} +1 -1
- package/dist/ui/assets/eventmodeling-NTZA5JFV-Cyxnh7Fo.js +1 -0
- package/dist/ui/assets/flowDiagram-KWPJA3E3-DlO_dsqu.js +1 -0
- package/dist/ui/assets/{ganttDiagram-FUAMR5RP-BZbSmUfV.js → ganttDiagram-FUAMR5RP-D9hU2YEJ.js} +1 -1
- package/dist/ui/assets/{gitGraph-4MIJSDKK-D59WREq2.js → gitGraph-4MIJSDKK-DcM8C44E.js} +1 -1
- package/dist/ui/assets/{gitGraphDiagram-X574FWY7-CEWcL54p.js → gitGraphDiagram-X574FWY7-BpyLWtlE.js} +1 -1
- package/dist/ui/assets/{index-Bv8TXM17.js → index-C6BQea5D.js} +39 -39
- package/dist/ui/assets/index-wV1j-lxy.css +2 -0
- package/dist/ui/assets/{info-A6RAGUB7-CCjOD-hV.js → info-A6RAGUB7-kmvTF9rq.js} +1 -1
- package/dist/ui/assets/{infoDiagram-VRGFBTTK-LS-F_-al.js → infoDiagram-VRGFBTTK-C4j1703E.js} +1 -1
- package/dist/ui/assets/{ishikawaDiagram-OU5B5YK6-D0NTg-LK.js → ishikawaDiagram-OU5B5YK6-CKT-7Yqr.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-ZHPQQLJL-Dw4e6Wl7.js → journeyDiagram-ZHPQQLJL--1ABIaof.js} +1 -1
- package/dist/ui/assets/{kanban-definition-PNTS6WVX-k5spTfT7.js → kanban-definition-PNTS6WVX-HRsNQdJi.js} +1 -1
- package/dist/ui/assets/{line-BFO0LY2j.js → line-BNnBYEq7.js} +1 -1
- package/dist/ui/assets/{linear-Cs_Nmu23.js → linear-Dg21fXMn.js} +1 -1
- package/dist/ui/assets/{mermaid-parser.core-CMSpXjeX.js → mermaid-parser.core-51-5cp-f.js} +3 -3
- package/dist/ui/assets/{mermaid.core-BBeLf7h3.js → mermaid.core-Bh6yYw1O.js} +4 -4
- package/dist/ui/assets/{mindmap-definition-NLK3R4M7-BmsEfsvR.js → mindmap-definition-NLK3R4M7-KvbA5EXr.js} +1 -1
- package/dist/ui/assets/{packet-AYTQ26CC-Cv3YK0Ee.js → packet-AYTQ26CC-DjdXSHI4.js} +1 -1
- package/dist/ui/assets/{pegDiagram-GJSIUBJH-31oI4OLR.js → pegDiagram-GJSIUBJH-C8FSYsRP.js} +1 -1
- package/dist/ui/assets/{pie-WAS4IAKB-bdwe8hf8.js → pie-WAS4IAKB-C46SWflT.js} +1 -1
- package/dist/ui/assets/{pieDiagram-5QR66LMP-TTKdYDzT.js → pieDiagram-5QR66LMP-DcpJ7J7i.js} +1 -1
- package/dist/ui/assets/{quadrantDiagram-O4NWA36T-DxVQLgKu.js → quadrantDiagram-O4NWA36T-CI7l8g1A.js} +1 -1
- package/dist/ui/assets/{radar-RG4KPBEZ-giEqBoGT.js → radar-RG4KPBEZ-PjPzXWz1.js} +1 -1
- package/dist/ui/assets/{railroad-74A4TZTK-D-K0dGi8.js → railroad-74A4TZTK-5pPV-Bvc.js} +1 -1
- package/dist/ui/assets/railroad-abnf-HS5TGJTU-CDH0BmAo.js +1 -0
- package/dist/ui/assets/railroad-ebnf-LZEXJU2U-DK1lYHjb.js +1 -0
- package/dist/ui/assets/railroad-peg-WCYAUIDC-K3xlbKcQ.js +1 -0
- package/dist/ui/assets/{railroadDiagram-XR7U4H2S-DrB5UCmO.js → railroadDiagram-XR7U4H2S-CIexvrBP.js} +1 -1
- package/dist/ui/assets/{requirementDiagram-PLB6GJNP-BQyLWXsL.js → requirementDiagram-PLB6GJNP-Bv8jD81I.js} +1 -1
- package/dist/ui/assets/{sankeyDiagram-IPEJSGJF-De5TIeaU.js → sankeyDiagram-IPEJSGJF-CQ9lxjuX.js} +1 -1
- package/dist/ui/assets/{sequenceDiagram-PO4LG4MO-DUtE2LLg.js → sequenceDiagram-PO4LG4MO-yp4qzDdM.js} +1 -1
- package/dist/ui/assets/{src-DwTKHdVd.js → src-DF6fzdKB.js} +1 -1
- package/dist/ui/assets/{stateDiagram-v2-GCMORJYK-CVT5Ge16.js → stateDiagram-v2-GCMORJYK-DHWaTU4b.js} +1 -1
- package/dist/ui/assets/{swimlanes-2SLR337P-Cu-5s066.js → swimlanes-2SLR337P-BfUiEMri.js} +1 -1
- package/dist/ui/assets/swimlanesDiagram-TC7HE7FX-BVGQ6M2p.js +8 -0
- package/dist/ui/assets/{timeline-definition-EJHVYXUP-CJ8w-7KC.js → timeline-definition-EJHVYXUP-Cj3SdHoX.js} +1 -1
- package/dist/ui/assets/{treeView-Q6P3EWNA-D1S3DvGP.js → treeView-Q6P3EWNA-DmyaZDs_.js} +1 -1
- package/dist/ui/assets/{treemap-WGGIJYW6-DblW82Ly.js → treemap-WGGIJYW6-Cy3z00JO.js} +1 -1
- package/dist/ui/assets/{usecaseDiagram-POWQR4AR-D8BYMSlq.js → usecaseDiagram-POWQR4AR-BHAy9inW.js} +1 -1
- package/dist/ui/assets/{vennDiagram-UO4OBE2U-CosmdYh9.js → vennDiagram-UO4OBE2U-GHEFwE_2.js} +1 -1
- package/dist/ui/assets/{wardley-WFR3VGLG-D9U9ulTn.js → wardley-WFR3VGLG-CjNcKpKj.js} +1 -1
- package/dist/ui/assets/{wardleyDiagram-VNRHLVJA-CgtqeFIO.js → wardleyDiagram-VNRHLVJA-shbe21uu.js} +1 -1
- package/dist/ui/assets/{xychartDiagram-PMCCYNJV-DR25rR7D.js → xychartDiagram-PMCCYNJV-CHbAVh2z.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/dist/workflows/merge.js +17 -1
- package/dist/workflows/observe-projects.js +3 -0
- package/dist/workflows/project-graph.js +7 -0
- package/dist/workflows/pull-requests.js +30 -17
- package/dist/workflows/runtime-migrations.js +72 -0
- package/dist/workflows/start-work.js +3 -0
- package/dist/workflows/test-container.js +1 -0
- package/dist/workflows/unit-tests.js +5 -0
- package/dist/workflows/worktrees.js +91 -8
- package/node_modules/@nodelib/fs.scandir/LICENSE +21 -0
- package/node_modules/@nodelib/fs.scandir/README.md +171 -0
- package/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0
- package/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +19 -0
- package/node_modules/@nodelib/fs.scandir/out/constants.d.ts +4 -0
- package/node_modules/@nodelib/fs.scandir/out/constants.js +17 -0
- package/node_modules/@nodelib/fs.scandir/out/index.d.ts +12 -0
- package/node_modules/@nodelib/fs.scandir/out/index.js +26 -0
- package/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0
- package/node_modules/@nodelib/fs.scandir/out/providers/async.js +104 -0
- package/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +1 -0
- package/node_modules/@nodelib/fs.scandir/out/providers/common.js +13 -0
- package/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +5 -0
- package/node_modules/@nodelib/fs.scandir/out/providers/sync.js +54 -0
- package/node_modules/@nodelib/fs.scandir/out/settings.d.ts +20 -0
- package/node_modules/@nodelib/fs.scandir/out/settings.js +24 -0
- package/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +20 -0
- package/node_modules/@nodelib/fs.scandir/out/types/index.js +2 -0
- package/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +2 -0
- package/node_modules/@nodelib/fs.scandir/out/utils/fs.js +19 -0
- package/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +2 -0
- package/node_modules/@nodelib/fs.scandir/out/utils/index.js +5 -0
- package/node_modules/@nodelib/fs.scandir/package.json +44 -0
- package/node_modules/@nodelib/fs.stat/LICENSE +21 -0
- package/node_modules/@nodelib/fs.stat/README.md +126 -0
- package/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0
- package/node_modules/@nodelib/fs.stat/out/adapters/fs.js +17 -0
- package/node_modules/@nodelib/fs.stat/out/index.d.ts +12 -0
- package/node_modules/@nodelib/fs.stat/out/index.js +26 -0
- package/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +4 -0
- package/node_modules/@nodelib/fs.stat/out/providers/async.js +36 -0
- package/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +3 -0
- package/node_modules/@nodelib/fs.stat/out/providers/sync.js +23 -0
- package/node_modules/@nodelib/fs.stat/out/settings.d.ts +16 -0
- package/node_modules/@nodelib/fs.stat/out/settings.js +16 -0
- package/node_modules/@nodelib/fs.stat/out/types/index.d.ts +4 -0
- package/node_modules/@nodelib/fs.stat/out/types/index.js +2 -0
- package/node_modules/@nodelib/fs.stat/package.json +37 -0
- package/node_modules/@nodelib/fs.walk/LICENSE +21 -0
- package/node_modules/@nodelib/fs.walk/README.md +215 -0
- package/node_modules/@nodelib/fs.walk/out/index.d.ts +14 -0
- package/node_modules/@nodelib/fs.walk/out/index.js +34 -0
- package/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +12 -0
- package/node_modules/@nodelib/fs.walk/out/providers/async.js +30 -0
- package/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +4 -0
- package/node_modules/@nodelib/fs.walk/out/providers/index.js +9 -0
- package/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +12 -0
- package/node_modules/@nodelib/fs.walk/out/providers/stream.js +34 -0
- package/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +10 -0
- package/node_modules/@nodelib/fs.walk/out/providers/sync.js +14 -0
- package/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +30 -0
- package/node_modules/@nodelib/fs.walk/out/readers/async.js +97 -0
- package/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +7 -0
- package/node_modules/@nodelib/fs.walk/out/readers/common.js +31 -0
- package/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0
- package/node_modules/@nodelib/fs.walk/out/readers/reader.js +11 -0
- package/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +15 -0
- package/node_modules/@nodelib/fs.walk/out/readers/sync.js +59 -0
- package/node_modules/@nodelib/fs.walk/out/settings.d.ts +30 -0
- package/node_modules/@nodelib/fs.walk/out/settings.js +26 -0
- package/node_modules/@nodelib/fs.walk/out/types/index.d.ts +8 -0
- package/node_modules/@nodelib/fs.walk/out/types/index.js +2 -0
- package/node_modules/@nodelib/fs.walk/package.json +44 -0
- package/node_modules/@rushstack/node-core-library/CHANGELOG.json +3087 -0
- package/node_modules/@rushstack/node-core-library/CHANGELOG.md +1710 -0
- package/node_modules/@rushstack/node-core-library/LICENSE +24 -0
- package/node_modules/@rushstack/node-core-library/README.md +38 -0
- package/node_modules/@rushstack/node-core-library/dist/node-core-library.d.ts +4005 -0
- package/node_modules/@rushstack/node-core-library/dist/tsdoc-metadata.json +11 -0
- package/node_modules/@rushstack/node-core-library/lib/AlreadyReportedError.d.ts +36 -0
- package/node_modules/@rushstack/node-core-library/lib/AlreadyReportedError.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/AlreadyReportedError.js +54 -0
- package/node_modules/@rushstack/node-core-library/lib/AlreadyReportedError.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Async.d.ts +200 -0
- package/node_modules/@rushstack/node-core-library/lib/Async.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Async.js +236 -0
- package/node_modules/@rushstack/node-core-library/lib/Async.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Constants.d.ts +27 -0
- package/node_modules/@rushstack/node-core-library/lib/Constants.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Constants.js +34 -0
- package/node_modules/@rushstack/node-core-library/lib/Constants.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Enum.d.ts +120 -0
- package/node_modules/@rushstack/node-core-library/lib/Enum.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Enum.js +136 -0
- package/node_modules/@rushstack/node-core-library/lib/Enum.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/EnvironmentMap.d.ts +72 -0
- package/node_modules/@rushstack/node-core-library/lib/EnvironmentMap.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/EnvironmentMap.js +108 -0
- package/node_modules/@rushstack/node-core-library/lib/EnvironmentMap.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Executable.d.ts +349 -0
- package/node_modules/@rushstack/node-core-library/lib/Executable.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Executable.js +698 -0
- package/node_modules/@rushstack/node-core-library/lib/Executable.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/FileError.d.ts +81 -0
- package/node_modules/@rushstack/node-core-library/lib/FileError.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/FileError.js +113 -0
- package/node_modules/@rushstack/node-core-library/lib/FileError.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/FileSystem.d.ts +687 -0
- package/node_modules/@rushstack/node-core-library/lib/FileSystem.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/FileSystem.js +1201 -0
- package/node_modules/@rushstack/node-core-library/lib/FileSystem.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/FileWriter.d.ts +67 -0
- package/node_modules/@rushstack/node-core-library/lib/FileWriter.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/FileWriter.js +73 -0
- package/node_modules/@rushstack/node-core-library/lib/FileWriter.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/IPackageJson.d.ts +295 -0
- package/node_modules/@rushstack/node-core-library/lib/IPackageJson.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/IPackageJson.js +5 -0
- package/node_modules/@rushstack/node-core-library/lib/IPackageJson.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Import.d.ts +255 -0
- package/node_modules/@rushstack/node-core-library/lib/Import.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Import.js +390 -0
- package/node_modules/@rushstack/node-core-library/lib/Import.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/InternalError.d.ts +36 -0
- package/node_modules/@rushstack/node-core-library/lib/InternalError.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/InternalError.js +55 -0
- package/node_modules/@rushstack/node-core-library/lib/InternalError.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/JsonFile.d.ts +252 -0
- package/node_modules/@rushstack/node-core-library/lib/JsonFile.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/JsonFile.js +438 -0
- package/node_modules/@rushstack/node-core-library/lib/JsonFile.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/JsonSchema.d.ts +172 -0
- package/node_modules/@rushstack/node-core-library/lib/JsonSchema.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/JsonSchema.js +287 -0
- package/node_modules/@rushstack/node-core-library/lib/JsonSchema.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/LegacyAdapters.d.ts +24 -0
- package/node_modules/@rushstack/node-core-library/lib/LegacyAdapters.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/LegacyAdapters.js +62 -0
- package/node_modules/@rushstack/node-core-library/lib/LegacyAdapters.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/LockFile.d.ts +94 -0
- package/node_modules/@rushstack/node-core-library/lib/LockFile.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/LockFile.js +462 -0
- package/node_modules/@rushstack/node-core-library/lib/LockFile.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/MapExtensions.d.ts +26 -0
- package/node_modules/@rushstack/node-core-library/lib/MapExtensions.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/MapExtensions.js +40 -0
- package/node_modules/@rushstack/node-core-library/lib/MapExtensions.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/MinimumHeap.d.ts +39 -0
- package/node_modules/@rushstack/node-core-library/lib/MinimumHeap.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/MinimumHeap.js +99 -0
- package/node_modules/@rushstack/node-core-library/lib/MinimumHeap.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/PackageJsonLookup.d.ts +142 -0
- package/node_modules/@rushstack/node-core-library/lib/PackageJsonLookup.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/PackageJsonLookup.js +338 -0
- package/node_modules/@rushstack/node-core-library/lib/PackageJsonLookup.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/PackageName.d.ts +142 -0
- package/node_modules/@rushstack/node-core-library/lib/PackageName.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/PackageName.js +213 -0
- package/node_modules/@rushstack/node-core-library/lib/PackageName.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Path.d.ts +155 -0
- package/node_modules/@rushstack/node-core-library/lib/Path.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Path.js +224 -0
- package/node_modules/@rushstack/node-core-library/lib/Path.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/PosixModeBits.d.ts +73 -0
- package/node_modules/@rushstack/node-core-library/lib/PosixModeBits.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/PosixModeBits.js +83 -0
- package/node_modules/@rushstack/node-core-library/lib/PosixModeBits.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/PrimitiveTypes.d.ts +41 -0
- package/node_modules/@rushstack/node-core-library/lib/PrimitiveTypes.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/PrimitiveTypes.js +5 -0
- package/node_modules/@rushstack/node-core-library/lib/PrimitiveTypes.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/ProtectableMap.d.ts +83 -0
- package/node_modules/@rushstack/node-core-library/lib/ProtectableMap.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/ProtectableMap.js +90 -0
- package/node_modules/@rushstack/node-core-library/lib/ProtectableMap.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/ProtectableMapView.d.ts +20 -0
- package/node_modules/@rushstack/node-core-library/lib/ProtectableMapView.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/ProtectableMapView.js +56 -0
- package/node_modules/@rushstack/node-core-library/lib/ProtectableMapView.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/RealNodeModulePath.d.ts +58 -0
- package/node_modules/@rushstack/node-core-library/lib/RealNodeModulePath.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/RealNodeModulePath.js +177 -0
- package/node_modules/@rushstack/node-core-library/lib/RealNodeModulePath.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Sort.d.ts +114 -0
- package/node_modules/@rushstack/node-core-library/lib/Sort.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Sort.js +266 -0
- package/node_modules/@rushstack/node-core-library/lib/Sort.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/StringBuilder.d.ts +46 -0
- package/node_modules/@rushstack/node-core-library/lib/StringBuilder.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/StringBuilder.js +41 -0
- package/node_modules/@rushstack/node-core-library/lib/StringBuilder.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/SubprocessTerminator.d.ts +64 -0
- package/node_modules/@rushstack/node-core-library/lib/SubprocessTerminator.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/SubprocessTerminator.js +190 -0
- package/node_modules/@rushstack/node-core-library/lib/SubprocessTerminator.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Text.d.ts +141 -0
- package/node_modules/@rushstack/node-core-library/lib/Text.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/Text.js +310 -0
- package/node_modules/@rushstack/node-core-library/lib/Text.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/TypeUuid.d.ts +48 -0
- package/node_modules/@rushstack/node-core-library/lib/TypeUuid.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/TypeUuid.js +87 -0
- package/node_modules/@rushstack/node-core-library/lib/TypeUuid.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/index.d.ts +37 -0
- package/node_modules/@rushstack/node-core-library/lib/index.d.ts.map +1 -0
- package/node_modules/@rushstack/node-core-library/lib/index.js +75 -0
- package/node_modules/@rushstack/node-core-library/lib/index.js.map +1 -0
- package/node_modules/@rushstack/node-core-library/node_modules/lru-cache/LICENSE +15 -0
- package/node_modules/@rushstack/node-core-library/node_modules/lru-cache/README.md +166 -0
- package/node_modules/@rushstack/node-core-library/node_modules/lru-cache/index.js +334 -0
- package/node_modules/@rushstack/node-core-library/node_modules/lru-cache/package.json +34 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/LICENSE +15 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/README.md +637 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/bin/semver.js +197 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/classes/comparator.js +141 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/classes/index.js +5 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/classes/range.js +539 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/classes/semver.js +302 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/clean.js +6 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/cmp.js +52 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/coerce.js +52 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/compare-build.js +7 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/compare-loose.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/compare.js +5 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/diff.js +65 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/eq.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/gt.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/gte.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/inc.js +19 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/lt.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/lte.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/major.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/minor.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/neq.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/parse.js +16 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/patch.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/prerelease.js +6 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/rcompare.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/rsort.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/satisfies.js +10 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/sort.js +3 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/functions/valid.js +6 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/index.js +89 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/constants.js +35 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/debug.js +9 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/identifiers.js +23 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/parse-options.js +15 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/internal/re.js +212 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/package.json +87 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/preload.js +2 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/range.bnf +16 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/gtr.js +4 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/intersects.js +7 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/ltr.js +4 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/max-satisfying.js +25 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/min-satisfying.js +24 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/min-version.js +61 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/outside.js +80 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/simplify.js +47 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/subset.js +247 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/to-comparators.js +8 -0
- package/node_modules/@rushstack/node-core-library/node_modules/semver/ranges/valid.js +11 -0
- package/node_modules/@rushstack/node-core-library/package.json +47 -0
- package/node_modules/@rushstack/terminal/CHANGELOG.json +5021 -0
- package/node_modules/@rushstack/terminal/CHANGELOG.md +1661 -0
- package/node_modules/@rushstack/terminal/LICENSE +24 -0
- package/node_modules/@rushstack/terminal/README.md +53 -0
- package/node_modules/@rushstack/terminal/dist/terminal.d.ts +1304 -0
- package/node_modules/@rushstack/terminal/dist/tsdoc-metadata.json +11 -0
- package/node_modules/@rushstack/terminal/lib/AnsiEscape.d.ts +35 -0
- package/node_modules/@rushstack/terminal/lib/AnsiEscape.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/AnsiEscape.js +136 -0
- package/node_modules/@rushstack/terminal/lib/AnsiEscape.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/CallbackWritable.d.ts +29 -0
- package/node_modules/@rushstack/terminal/lib/CallbackWritable.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/CallbackWritable.js +31 -0
- package/node_modules/@rushstack/terminal/lib/CallbackWritable.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/Colorize.d.ts +81 -0
- package/node_modules/@rushstack/terminal/lib/Colorize.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/Colorize.js +162 -0
- package/node_modules/@rushstack/terminal/lib/Colorize.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/ConsoleTerminalProvider.d.ts +49 -0
- package/node_modules/@rushstack/terminal/lib/ConsoleTerminalProvider.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/ConsoleTerminalProvider.js +65 -0
- package/node_modules/@rushstack/terminal/lib/ConsoleTerminalProvider.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/DiscardStdoutTransform.d.ts +55 -0
- package/node_modules/@rushstack/terminal/lib/DiscardStdoutTransform.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/DiscardStdoutTransform.js +94 -0
- package/node_modules/@rushstack/terminal/lib/DiscardStdoutTransform.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/ITerminal.d.ts +81 -0
- package/node_modules/@rushstack/terminal/lib/ITerminal.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/ITerminal.js +5 -0
- package/node_modules/@rushstack/terminal/lib/ITerminal.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/ITerminalChunk.d.ts +45 -0
- package/node_modules/@rushstack/terminal/lib/ITerminalChunk.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/ITerminalChunk.js +21 -0
- package/node_modules/@rushstack/terminal/lib/ITerminalChunk.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/ITerminalProvider.d.ts +54 -0
- package/node_modules/@rushstack/terminal/lib/ITerminalProvider.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/ITerminalProvider.js +32 -0
- package/node_modules/@rushstack/terminal/lib/ITerminalProvider.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/MockWritable.d.ts +15 -0
- package/node_modules/@rushstack/terminal/lib/MockWritable.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/MockWritable.js +32 -0
- package/node_modules/@rushstack/terminal/lib/MockWritable.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/NoOpTerminalProvider.d.ts +23 -0
- package/node_modules/@rushstack/terminal/lib/NoOpTerminalProvider.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/NoOpTerminalProvider.js +34 -0
- package/node_modules/@rushstack/terminal/lib/NoOpTerminalProvider.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/NormalizeNewlinesTextRewriter.d.ts +43 -0
- package/node_modules/@rushstack/terminal/lib/NormalizeNewlinesTextRewriter.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/NormalizeNewlinesTextRewriter.js +70 -0
- package/node_modules/@rushstack/terminal/lib/NormalizeNewlinesTextRewriter.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/PrefixProxyTerminalProvider.d.ts +57 -0
- package/node_modules/@rushstack/terminal/lib/PrefixProxyTerminalProvider.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/PrefixProxyTerminalProvider.js +64 -0
- package/node_modules/@rushstack/terminal/lib/PrefixProxyTerminalProvider.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/PrintUtilities.d.ts +77 -0
- package/node_modules/@rushstack/terminal/lib/PrintUtilities.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/PrintUtilities.js +150 -0
- package/node_modules/@rushstack/terminal/lib/PrintUtilities.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/RemoveColorsTextRewriter.d.ts +17 -0
- package/node_modules/@rushstack/terminal/lib/RemoveColorsTextRewriter.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/RemoveColorsTextRewriter.js +95 -0
- package/node_modules/@rushstack/terminal/lib/RemoveColorsTextRewriter.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/SplitterTransform.d.ts +32 -0
- package/node_modules/@rushstack/terminal/lib/SplitterTransform.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/SplitterTransform.js +48 -0
- package/node_modules/@rushstack/terminal/lib/SplitterTransform.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/StdioLineTransform.d.ts +72 -0
- package/node_modules/@rushstack/terminal/lib/StdioLineTransform.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/StdioLineTransform.js +115 -0
- package/node_modules/@rushstack/terminal/lib/StdioLineTransform.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/StdioSummarizer.d.ts +63 -0
- package/node_modules/@rushstack/terminal/lib/StdioSummarizer.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/StdioSummarizer.js +99 -0
- package/node_modules/@rushstack/terminal/lib/StdioSummarizer.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/StdioWritable.d.ts +17 -0
- package/node_modules/@rushstack/terminal/lib/StdioWritable.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/StdioWritable.js +34 -0
- package/node_modules/@rushstack/terminal/lib/StdioWritable.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/StringBufferTerminalProvider.d.ts +67 -0
- package/node_modules/@rushstack/terminal/lib/StringBufferTerminalProvider.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/StringBufferTerminalProvider.js +113 -0
- package/node_modules/@rushstack/terminal/lib/StringBufferTerminalProvider.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/Terminal.d.ts +63 -0
- package/node_modules/@rushstack/terminal/lib/Terminal.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/Terminal.js +348 -0
- package/node_modules/@rushstack/terminal/lib/Terminal.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TerminalStreamWritable.d.ts +33 -0
- package/node_modules/@rushstack/terminal/lib/TerminalStreamWritable.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TerminalStreamWritable.js +53 -0
- package/node_modules/@rushstack/terminal/lib/TerminalStreamWritable.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TerminalTransform.d.ts +68 -0
- package/node_modules/@rushstack/terminal/lib/TerminalTransform.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TerminalTransform.js +57 -0
- package/node_modules/@rushstack/terminal/lib/TerminalTransform.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TerminalWritable.d.ts +125 -0
- package/node_modules/@rushstack/terminal/lib/TerminalWritable.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TerminalWritable.js +123 -0
- package/node_modules/@rushstack/terminal/lib/TerminalWritable.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TextRewriter.d.ts +70 -0
- package/node_modules/@rushstack/terminal/lib/TextRewriter.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TextRewriter.js +39 -0
- package/node_modules/@rushstack/terminal/lib/TextRewriter.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TextRewriterTransform.d.ts +61 -0
- package/node_modules/@rushstack/terminal/lib/TextRewriterTransform.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/TextRewriterTransform.js +94 -0
- package/node_modules/@rushstack/terminal/lib/TextRewriterTransform.js.map +1 -0
- package/node_modules/@rushstack/terminal/lib/index.d.ts +36 -0
- package/node_modules/@rushstack/terminal/lib/index.d.ts.map +1 -0
- package/node_modules/@rushstack/terminal/lib/index.js +65 -0
- package/node_modules/@rushstack/terminal/lib/index.js.map +1 -0
- package/node_modules/@rushstack/terminal/package.json +38 -0
- package/node_modules/@rushstack/ts-command-line/CHANGELOG.json +2206 -0
- package/node_modules/@rushstack/ts-command-line/CHANGELOG.md +1099 -0
- package/node_modules/@rushstack/ts-command-line/LICENSE +24 -0
- package/node_modules/@rushstack/ts-command-line/README.md +247 -0
- package/node_modules/@rushstack/ts-command-line/dist/ts-command-line.d.ts +1174 -0
- package/node_modules/@rushstack/ts-command-line/dist/tsdoc-metadata.json +11 -0
- package/node_modules/@rushstack/ts-command-line/lib/CommandLineHelper.d.ts +14 -0
- package/node_modules/@rushstack/ts-command-line/lib/CommandLineHelper.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/CommandLineHelper.js +23 -0
- package/node_modules/@rushstack/ts-command-line/lib/CommandLineHelper.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/Constants.d.ts +13 -0
- package/node_modules/@rushstack/ts-command-line/lib/Constants.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/Constants.js +19 -0
- package/node_modules/@rushstack/ts-command-line/lib/Constants.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/TypeUuidLite.d.ts +9 -0
- package/node_modules/@rushstack/ts-command-line/lib/TypeUuidLite.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/TypeUuidLite.js +32 -0
- package/node_modules/@rushstack/ts-command-line/lib/TypeUuidLite.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/index.d.ts +25 -0
- package/node_modules/@rushstack/ts-command-line/lib/index.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/index.js +50 -0
- package/node_modules/@rushstack/ts-command-line/lib/index.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/BaseClasses.d.ts +130 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/BaseClasses.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/BaseClasses.js +168 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/BaseClasses.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceListParameter.d.ts +33 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceListParameter.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceListParameter.js +83 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceListParameter.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceParameter.d.ts +47 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceParameter.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceParameter.js +94 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineChoiceParameter.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineDefinition.d.ts +236 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineDefinition.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineDefinition.js +5 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineDefinition.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineFlagParameter.d.ts +29 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineFlagParameter.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineFlagParameter.js +69 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineFlagParameter.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerListParameter.d.ts +29 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerListParameter.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerListParameter.js +79 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerListParameter.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerParameter.d.ts +43 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerParameter.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerParameter.js +83 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineIntegerParameter.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineRemainder.d.ts +28 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineRemainder.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineRemainder.js +47 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineRemainder.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringListParameter.d.ts +29 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringListParameter.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringListParameter.js +70 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringListParameter.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringParameter.d.ts +43 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringParameter.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringParameter.js +82 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/CommandLineStringParameter.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/EnvironmentVariableParser.d.ts +10 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/EnvironmentVariableParser.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/EnvironmentVariableParser.js +51 -0
- package/node_modules/@rushstack/ts-command-line/lib/parameters/EnvironmentVariableParser.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/AliasCommandLineAction.d.ts +60 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/AliasCommandLineAction.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/AliasCommandLineAction.js +168 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/AliasCommandLineAction.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineAction.d.ts +69 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineAction.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineAction.js +82 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineAction.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParameterProvider.d.ts +332 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParameterProvider.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParameterProvider.js +707 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParameterProvider.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParser.d.ts +115 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParser.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParser.js +283 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParser.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParserExitError.d.ts +10 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParserExitError.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParserExitError.js +67 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/CommandLineParserExitError.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineAction.d.ts +8 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineAction.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineAction.js +17 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineAction.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineParser.d.ts +7 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineParser.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineParser.js +13 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/DynamicCommandLineParser.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/ScopedCommandLineAction.d.ts +84 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/ScopedCommandLineAction.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/ScopedCommandLineAction.js +209 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/ScopedCommandLineAction.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/TabCompletionAction.d.ts +17 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/TabCompletionAction.d.ts.map +1 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/TabCompletionAction.js +173 -0
- package/node_modules/@rushstack/ts-command-line/lib/providers/TabCompletionAction.js.map +1 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/LICENSE +21 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/README.md +257 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/index.js +3 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/append/constant.js +47 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/append.js +53 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/count.js +40 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/help.js +47 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/store/constant.js +43 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/store/false.js +27 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/store/true.js +26 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/store.js +50 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/subparsers.js +149 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action/version.js +47 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action.js +146 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/action_container.js +482 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argparse.js +14 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argument/error.js +50 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argument/exclusive.js +54 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argument/group.js +75 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/argument_parser.js +1161 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/const.js +21 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/help/added_formatters.js +87 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/help/formatter.js +795 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/namespace.js +76 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/lib/utils.js +57 -0
- package/node_modules/@rushstack/ts-command-line/node_modules/argparse/package.json +34 -0
- package/node_modules/@rushstack/ts-command-line/package.json +32 -0
- package/node_modules/@types/argparse/LICENSE +21 -0
- package/node_modules/@types/argparse/README.md +16 -0
- package/node_modules/@types/argparse/index.d.ts +121 -0
- package/node_modules/@types/argparse/package.json +44 -0
- package/node_modules/ajv/.runkit_example.js +23 -0
- package/node_modules/ajv/LICENSE +22 -0
- package/node_modules/ajv/README.md +207 -0
- package/node_modules/ajv/dist/2019.d.ts +19 -0
- package/node_modules/ajv/dist/2019.js +61 -0
- package/node_modules/ajv/dist/2019.js.map +1 -0
- package/node_modules/ajv/dist/2020.d.ts +19 -0
- package/node_modules/ajv/dist/2020.js +55 -0
- package/node_modules/ajv/dist/2020.js.map +1 -0
- package/node_modules/ajv/dist/ajv.d.ts +18 -0
- package/node_modules/ajv/dist/ajv.js +50 -0
- package/node_modules/ajv/dist/ajv.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
- package/node_modules/ajv/dist/compile/codegen/code.js +156 -0
- package/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
- package/node_modules/ajv/dist/compile/codegen/index.js +697 -0
- package/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
- package/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/node_modules/ajv/dist/compile/errors.d.ts +13 -0
- package/node_modules/ajv/dist/compile/errors.js +123 -0
- package/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/node_modules/ajv/dist/compile/index.d.ts +80 -0
- package/node_modules/ajv/dist/compile/index.js +242 -0
- package/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
- package/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
- package/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.js +236 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
- package/node_modules/ajv/dist/compile/jtd/types.js +14 -0
- package/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
- package/node_modules/ajv/dist/compile/names.d.ts +20 -0
- package/node_modules/ajv/dist/compile/names.js +28 -0
- package/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
- package/node_modules/ajv/dist/compile/ref_error.js +12 -0
- package/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
- package/node_modules/ajv/dist/compile/resolve.js +155 -0
- package/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/node_modules/ajv/dist/compile/rules.d.ts +28 -0
- package/node_modules/ajv/dist/compile/rules.js +26 -0
- package/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/node_modules/ajv/dist/compile/util.d.ts +40 -0
- package/node_modules/ajv/dist/compile/util.js +178 -0
- package/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
- package/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
- package/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
- package/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
- package/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
- package/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
- package/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
- package/node_modules/ajv/dist/compile/validate/index.js +520 -0
- package/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
- package/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
- package/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
- package/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
- package/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/node_modules/ajv/dist/core.d.ts +174 -0
- package/node_modules/ajv/dist/core.js +618 -0
- package/node_modules/ajv/dist/core.js.map +1 -0
- package/node_modules/ajv/dist/jtd.d.ts +47 -0
- package/node_modules/ajv/dist/jtd.js +72 -0
- package/node_modules/ajv/dist/jtd.js.map +1 -0
- package/node_modules/ajv/dist/refs/data.json +13 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
- package/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- package/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
- package/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
- package/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
- package/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
- package/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/equal.js +7 -0
- package/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
- package/node_modules/ajv/dist/runtime/parseJson.js +185 -0
- package/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
- package/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/quote.js +30 -0
- package/node_modules/ajv/dist/runtime/quote.js.map +1 -0
- package/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/re2.js +6 -0
- package/node_modules/ajv/dist/runtime/re2.js.map +1 -0
- package/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/timestamp.js +42 -0
- package/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
- package/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
- package/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/uri.js +6 -0
- package/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
- package/node_modules/ajv/dist/runtime/validation_error.js +11 -0
- package/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/node_modules/ajv/dist/standalone/index.d.ts +6 -0
- package/node_modules/ajv/dist/standalone/index.js +90 -0
- package/node_modules/ajv/dist/standalone/index.js.map +1 -0
- package/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
- package/node_modules/ajv/dist/standalone/instance.js +35 -0
- package/node_modules/ajv/dist/standalone/instance.js.map +1 -0
- package/node_modules/ajv/dist/types/index.d.ts +183 -0
- package/node_modules/ajv/dist/types/index.js +3 -0
- package/node_modules/ajv/dist/types/index.js.map +1 -0
- package/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
- package/node_modules/ajv/dist/types/json-schema.js +3 -0
- package/node_modules/ajv/dist/types/json-schema.js.map +1 -0
- package/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
- package/node_modules/ajv/dist/types/jtd-schema.js +3 -0
- package/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
- package/node_modules/ajv/dist/vocabularies/code.js +131 -0
- package/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
- package/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
- package/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
- package/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/errors.js +3 -0
- package/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
- package/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
- package/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
- package/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/next.js +8 -0
- package/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/node_modules/ajv/lib/2019.ts +81 -0
- package/node_modules/ajv/lib/2020.ts +75 -0
- package/node_modules/ajv/lib/ajv.ts +70 -0
- package/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
- package/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
- package/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
- package/node_modules/ajv/lib/compile/errors.ts +184 -0
- package/node_modules/ajv/lib/compile/index.ts +324 -0
- package/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
- package/node_modules/ajv/lib/compile/jtd/serialize.ts +277 -0
- package/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
- package/node_modules/ajv/lib/compile/names.ts +27 -0
- package/node_modules/ajv/lib/compile/ref_error.ts +13 -0
- package/node_modules/ajv/lib/compile/resolve.ts +149 -0
- package/node_modules/ajv/lib/compile/rules.ts +50 -0
- package/node_modules/ajv/lib/compile/util.ts +213 -0
- package/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
- package/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
- package/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
- package/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
- package/node_modules/ajv/lib/compile/validate/index.ts +582 -0
- package/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
- package/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
- package/node_modules/ajv/lib/core.ts +892 -0
- package/node_modules/ajv/lib/jtd.ts +132 -0
- package/node_modules/ajv/lib/refs/data.json +13 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
- package/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
- package/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
- package/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
- package/node_modules/ajv/lib/runtime/equal.ts +7 -0
- package/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
- package/node_modules/ajv/lib/runtime/quote.ts +31 -0
- package/node_modules/ajv/lib/runtime/re2.ts +6 -0
- package/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
- package/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
- package/node_modules/ajv/lib/runtime/uri.ts +6 -0
- package/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
- package/node_modules/ajv/lib/standalone/index.ts +100 -0
- package/node_modules/ajv/lib/standalone/instance.ts +36 -0
- package/node_modules/ajv/lib/types/index.ts +244 -0
- package/node_modules/ajv/lib/types/json-schema.ts +187 -0
- package/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
- package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
- package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
- package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
- package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
- package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
- package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
- package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
- package/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
- package/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
- package/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
- package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
- package/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
- package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
- package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
- package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
- package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
- package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
- package/node_modules/ajv/lib/vocabularies/code.ts +168 -0
- package/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
- package/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
- package/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
- package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
- package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
- package/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
- package/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
- package/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
- package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
- package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
- package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
- package/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
- package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
- package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
- package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
- package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
- package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
- package/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
- package/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
- package/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
- package/node_modules/ajv/lib/vocabularies/next.ts +8 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
- package/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
- package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
- package/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
- package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
- package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +39 -0
- package/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
- package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
- package/node_modules/ajv/package.json +126 -0
- package/node_modules/ajv-draft-04/LICENSE +21 -0
- package/node_modules/ajv-draft-04/README.md +40 -0
- package/node_modules/ajv-draft-04/dist/index.d.ts +17 -0
- package/node_modules/ajv-draft-04/dist/index.js +50 -0
- package/node_modules/ajv-draft-04/dist/index.js.map +1 -0
- package/node_modules/ajv-draft-04/dist/refs/json-schema-draft-04.json +138 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/core.d.ts +3 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/core.js +13 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/core.js.map +1 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/draft4.d.ts +3 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/draft4.js +16 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/draft4.js.map +1 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/index.d.ts +16 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/index.js +35 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/index.js.map +1 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.d.ts +12 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.js +44 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.js.map +1 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.d.ts +3 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.js +19 -0
- package/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.js.map +1 -0
- package/node_modules/ajv-draft-04/package.json +74 -0
- package/node_modules/ajv-draft-04/src/index.ts +81 -0
- package/node_modules/ajv-draft-04/src/refs/json-schema-draft-04.json +138 -0
- package/node_modules/ajv-draft-04/src/vocabulary/core.ts +13 -0
- package/node_modules/ajv-draft-04/src/vocabulary/draft4.ts +17 -0
- package/node_modules/ajv-draft-04/src/vocabulary/validation/index.ts +51 -0
- package/node_modules/ajv-draft-04/src/vocabulary/validation/limitNumber.ts +76 -0
- package/node_modules/ajv-draft-04/src/vocabulary/validation/limitNumberExclusive.ts +26 -0
- package/node_modules/ajv-formats/LICENSE +21 -0
- package/node_modules/ajv-formats/README.md +125 -0
- package/node_modules/ajv-formats/dist/formats.d.ts +9 -0
- package/node_modules/ajv-formats/dist/formats.js +208 -0
- package/node_modules/ajv-formats/dist/formats.js.map +1 -0
- package/node_modules/ajv-formats/dist/index.d.ts +15 -0
- package/node_modules/ajv-formats/dist/index.js +37 -0
- package/node_modules/ajv-formats/dist/index.js.map +1 -0
- package/node_modules/ajv-formats/dist/limit.d.ts +10 -0
- package/node_modules/ajv-formats/dist/limit.js +69 -0
- package/node_modules/ajv-formats/dist/limit.js.map +1 -0
- package/node_modules/ajv-formats/package.json +74 -0
- package/node_modules/ajv-formats/src/formats.ts +269 -0
- package/node_modules/ajv-formats/src/index.ts +62 -0
- package/node_modules/ajv-formats/src/limit.ts +99 -0
- package/node_modules/braces/LICENSE +21 -0
- package/node_modules/braces/README.md +586 -0
- package/node_modules/braces/index.js +170 -0
- package/node_modules/braces/lib/compile.js +60 -0
- package/node_modules/braces/lib/constants.js +57 -0
- package/node_modules/braces/lib/expand.js +113 -0
- package/node_modules/braces/lib/parse.js +331 -0
- package/node_modules/braces/lib/stringify.js +32 -0
- package/node_modules/braces/lib/utils.js +122 -0
- package/node_modules/braces/package.json +77 -0
- package/node_modules/emittery/index.d.ts +606 -0
- package/node_modules/emittery/index.js +531 -0
- package/node_modules/emittery/license +9 -0
- package/node_modules/emittery/maps.js +9 -0
- package/node_modules/emittery/package.json +67 -0
- package/node_modules/emittery/readme.md +569 -0
- package/node_modules/es-errors/.eslintrc +5 -0
- package/node_modules/es-errors/.github/FUNDING.yml +12 -0
- package/node_modules/es-errors/CHANGELOG.md +40 -0
- package/node_modules/es-errors/LICENSE +21 -0
- package/node_modules/es-errors/README.md +55 -0
- package/node_modules/es-errors/eval.d.ts +3 -0
- package/node_modules/es-errors/eval.js +4 -0
- package/node_modules/es-errors/index.d.ts +3 -0
- package/node_modules/es-errors/index.js +4 -0
- package/node_modules/es-errors/package.json +80 -0
- package/node_modules/es-errors/range.d.ts +3 -0
- package/node_modules/es-errors/range.js +4 -0
- package/node_modules/es-errors/ref.d.ts +3 -0
- package/node_modules/es-errors/ref.js +4 -0
- package/node_modules/es-errors/syntax.d.ts +3 -0
- package/node_modules/es-errors/syntax.js +4 -0
- package/node_modules/es-errors/test/index.js +19 -0
- package/node_modules/es-errors/tsconfig.json +49 -0
- package/node_modules/es-errors/type.d.ts +3 -0
- package/node_modules/es-errors/type.js +4 -0
- package/node_modules/es-errors/uri.d.ts +3 -0
- package/node_modules/es-errors/uri.js +4 -0
- package/node_modules/fast-deep-equal/LICENSE +21 -0
- package/node_modules/fast-deep-equal/README.md +96 -0
- package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/index.js +72 -0
- package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/react.js +79 -0
- package/node_modules/fast-deep-equal/index.d.ts +4 -0
- package/node_modules/fast-deep-equal/index.js +46 -0
- package/node_modules/fast-deep-equal/package.json +61 -0
- package/node_modules/fast-deep-equal/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/react.js +53 -0
- package/node_modules/fast-glob/LICENSE +21 -0
- package/node_modules/fast-glob/README.md +830 -0
- package/node_modules/fast-glob/out/index.d.ts +40 -0
- package/node_modules/fast-glob/out/index.js +102 -0
- package/node_modules/fast-glob/out/managers/tasks.d.ts +22 -0
- package/node_modules/fast-glob/out/managers/tasks.js +110 -0
- package/node_modules/fast-glob/out/providers/async.d.ts +9 -0
- package/node_modules/fast-glob/out/providers/async.js +23 -0
- package/node_modules/fast-glob/out/providers/filters/deep.d.ts +16 -0
- package/node_modules/fast-glob/out/providers/filters/deep.js +62 -0
- package/node_modules/fast-glob/out/providers/filters/entry.d.ts +17 -0
- package/node_modules/fast-glob/out/providers/filters/entry.js +85 -0
- package/node_modules/fast-glob/out/providers/filters/error.d.ts +8 -0
- package/node_modules/fast-glob/out/providers/filters/error.js +15 -0
- package/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +33 -0
- package/node_modules/fast-glob/out/providers/matchers/matcher.js +45 -0
- package/node_modules/fast-glob/out/providers/matchers/partial.d.ts +4 -0
- package/node_modules/fast-glob/out/providers/matchers/partial.js +38 -0
- package/node_modules/fast-glob/out/providers/provider.d.ts +19 -0
- package/node_modules/fast-glob/out/providers/provider.js +48 -0
- package/node_modules/fast-glob/out/providers/stream.d.ts +11 -0
- package/node_modules/fast-glob/out/providers/stream.js +31 -0
- package/node_modules/fast-glob/out/providers/sync.d.ts +9 -0
- package/node_modules/fast-glob/out/providers/sync.js +23 -0
- package/node_modules/fast-glob/out/providers/transformers/entry.d.ts +8 -0
- package/node_modules/fast-glob/out/providers/transformers/entry.js +26 -0
- package/node_modules/fast-glob/out/readers/async.d.ts +10 -0
- package/node_modules/fast-glob/out/readers/async.js +35 -0
- package/node_modules/fast-glob/out/readers/reader.d.ts +15 -0
- package/node_modules/fast-glob/out/readers/reader.js +33 -0
- package/node_modules/fast-glob/out/readers/stream.d.ts +14 -0
- package/node_modules/fast-glob/out/readers/stream.js +55 -0
- package/node_modules/fast-glob/out/readers/sync.d.ts +12 -0
- package/node_modules/fast-glob/out/readers/sync.js +43 -0
- package/node_modules/fast-glob/out/settings.d.ts +164 -0
- package/node_modules/fast-glob/out/settings.js +59 -0
- package/node_modules/fast-glob/out/types/index.d.ts +31 -0
- package/node_modules/fast-glob/out/types/index.js +2 -0
- package/node_modules/fast-glob/out/utils/array.d.ts +2 -0
- package/node_modules/fast-glob/out/utils/array.js +22 -0
- package/node_modules/fast-glob/out/utils/errno.d.ts +2 -0
- package/node_modules/fast-glob/out/utils/errno.js +7 -0
- package/node_modules/fast-glob/out/utils/fs.d.ts +4 -0
- package/node_modules/fast-glob/out/utils/fs.js +19 -0
- package/node_modules/fast-glob/out/utils/index.d.ts +8 -0
- package/node_modules/fast-glob/out/utils/index.js +17 -0
- package/node_modules/fast-glob/out/utils/path.d.ts +13 -0
- package/node_modules/fast-glob/out/utils/path.js +68 -0
- package/node_modules/fast-glob/out/utils/pattern.d.ts +49 -0
- package/node_modules/fast-glob/out/utils/pattern.js +206 -0
- package/node_modules/fast-glob/out/utils/stream.d.ts +4 -0
- package/node_modules/fast-glob/out/utils/stream.js +17 -0
- package/node_modules/fast-glob/out/utils/string.d.ts +2 -0
- package/node_modules/fast-glob/out/utils/string.js +11 -0
- package/node_modules/fast-glob/package.json +81 -0
- package/node_modules/fast-uri/.gitattributes +2 -0
- package/node_modules/fast-uri/.github/dependabot.yml +13 -0
- package/node_modules/fast-uri/.github/workflows/ci.yml +106 -0
- package/node_modules/fast-uri/.github/workflows/lock-threads.yml +19 -0
- package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +24 -0
- package/node_modules/fast-uri/LICENSE +30 -0
- package/node_modules/fast-uri/README.md +152 -0
- package/node_modules/fast-uri/benchmark/benchmark.mjs +159 -0
- package/node_modules/fast-uri/benchmark/equal.mjs +51 -0
- package/node_modules/fast-uri/benchmark/non-simple-domain.mjs +22 -0
- package/node_modules/fast-uri/benchmark/package.json +17 -0
- package/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs +24 -0
- package/node_modules/fast-uri/benchmark/ws-is-secure.mjs +65 -0
- package/node_modules/fast-uri/eslint.config.js +6 -0
- package/node_modules/fast-uri/index.js +612 -0
- package/node_modules/fast-uri/lib/schemes.js +272 -0
- package/node_modules/fast-uri/lib/utils.js +740 -0
- package/node_modules/fast-uri/package.json +68 -0
- package/node_modules/fast-uri/test/ajv.test.js +43 -0
- package/node_modules/fast-uri/test/component-safe-serialization.test.js +105 -0
- package/node_modules/fast-uri/test/equal.test.js +145 -0
- package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +503 -0
- package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +120 -0
- package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
- package/node_modules/fast-uri/test/ipv6-validation.test.js +90 -0
- package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
- package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
- package/node_modules/fast-uri/test/parse.test.js +327 -0
- package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
- package/node_modules/fast-uri/test/resolve.test.js +87 -0
- package/node_modules/fast-uri/test/rfc-3986.test.js +90 -0
- package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
- package/node_modules/fast-uri/test/security-normalization.test.js +140 -0
- package/node_modules/fast-uri/test/security.test.js +431 -0
- package/node_modules/fast-uri/test/serialize.test.js +151 -0
- package/node_modules/fast-uri/test/uri-js-compatibility.test.js +33 -0
- package/node_modules/fast-uri/test/uri-js.test.js +912 -0
- package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
- package/node_modules/fast-uri/test/util.test.js +38 -0
- package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
- package/node_modules/fast-uri/tsconfig.json +9 -0
- package/node_modules/fast-uri/types/index.d.ts +60 -0
- package/node_modules/fast-uri/types/index.test-d.ts +17 -0
- package/node_modules/fastq/LICENSE +13 -0
- package/node_modules/fastq/README.md +310 -0
- package/node_modules/fastq/SECURITY.md +15 -0
- package/node_modules/fastq/bench.js +66 -0
- package/node_modules/fastq/eslint.config.js +11 -0
- package/node_modules/fastq/example.js +14 -0
- package/node_modules/fastq/example.mjs +9 -0
- package/node_modules/fastq/index.d.ts +59 -0
- package/node_modules/fastq/package.json +49 -0
- package/node_modules/fastq/queue.js +348 -0
- package/node_modules/fastq/test/example.ts +83 -0
- package/node_modules/fastq/test/promise.js +356 -0
- package/node_modules/fastq/test/test.js +808 -0
- package/node_modules/fastq/test/tsconfig.json +11 -0
- package/node_modules/fill-range/LICENSE +21 -0
- package/node_modules/fill-range/README.md +237 -0
- package/node_modules/fill-range/index.js +248 -0
- package/node_modules/fill-range/package.json +74 -0
- package/node_modules/fs-extra/LICENSE +15 -0
- package/node_modules/fs-extra/README.md +294 -0
- package/node_modules/fs-extra/lib/copy/copy-sync.js +176 -0
- package/node_modules/fs-extra/lib/copy/copy.js +180 -0
- package/node_modules/fs-extra/lib/copy/index.js +7 -0
- package/node_modules/fs-extra/lib/empty/index.js +39 -0
- package/node_modules/fs-extra/lib/ensure/file.js +66 -0
- package/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/node_modules/fs-extra/lib/ensure/link.js +64 -0
- package/node_modules/fs-extra/lib/ensure/symlink-paths.js +101 -0
- package/node_modules/fs-extra/lib/ensure/symlink-type.js +34 -0
- package/node_modules/fs-extra/lib/ensure/symlink.js +92 -0
- package/node_modules/fs-extra/lib/esm.mjs +68 -0
- package/node_modules/fs-extra/lib/fs/index.js +146 -0
- package/node_modules/fs-extra/lib/index.js +16 -0
- package/node_modules/fs-extra/lib/json/index.js +16 -0
- package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- package/node_modules/fs-extra/lib/json/output-json.js +12 -0
- package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
- package/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
- package/node_modules/fs-extra/lib/move/index.js +7 -0
- package/node_modules/fs-extra/lib/move/move-sync.js +55 -0
- package/node_modules/fs-extra/lib/move/move.js +59 -0
- package/node_modules/fs-extra/lib/output-file/index.js +31 -0
- package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/node_modules/fs-extra/lib/remove/index.js +17 -0
- package/node_modules/fs-extra/lib/util/async.js +29 -0
- package/node_modules/fs-extra/lib/util/stat.js +165 -0
- package/node_modules/fs-extra/lib/util/utimes.js +53 -0
- package/node_modules/fs-extra/package.json +71 -0
- package/node_modules/function-bind/.eslintrc +21 -0
- package/node_modules/function-bind/.github/FUNDING.yml +12 -0
- package/node_modules/function-bind/.github/SECURITY.md +3 -0
- package/node_modules/function-bind/.nycrc +13 -0
- package/node_modules/function-bind/CHANGELOG.md +136 -0
- package/node_modules/function-bind/LICENSE +20 -0
- package/node_modules/function-bind/README.md +46 -0
- package/node_modules/function-bind/implementation.js +84 -0
- package/node_modules/function-bind/index.js +5 -0
- package/node_modules/function-bind/package.json +87 -0
- package/node_modules/function-bind/test/.eslintrc +9 -0
- package/node_modules/function-bind/test/index.js +252 -0
- package/node_modules/glob-parent/LICENSE +15 -0
- package/node_modules/glob-parent/README.md +137 -0
- package/node_modules/glob-parent/index.js +42 -0
- package/node_modules/glob-parent/package.json +48 -0
- package/node_modules/has-flag/index.d.ts +39 -0
- package/node_modules/has-flag/index.js +8 -0
- package/node_modules/has-flag/license +9 -0
- package/node_modules/has-flag/package.json +46 -0
- package/node_modules/has-flag/readme.md +89 -0
- package/node_modules/hasown/.github/FUNDING.yml +12 -0
- package/node_modules/hasown/.nycrc +13 -0
- package/node_modules/hasown/CHANGELOG.md +58 -0
- package/node_modules/hasown/LICENSE +21 -0
- package/node_modules/hasown/README.md +40 -0
- package/node_modules/hasown/eslint.config.mjs +6 -0
- package/node_modules/hasown/index.d.ts +3 -0
- package/node_modules/hasown/index.js +8 -0
- package/node_modules/hasown/package.json +91 -0
- package/node_modules/hasown/tsconfig.json +6 -0
- package/node_modules/import-lazy/index.d.ts +26 -0
- package/node_modules/import-lazy/index.js +27 -0
- package/node_modules/import-lazy/license +9 -0
- package/node_modules/import-lazy/package.json +40 -0
- package/node_modules/import-lazy/readme.md +57 -0
- package/node_modules/is-core-module/CHANGELOG.md +243 -0
- package/node_modules/is-core-module/LICENSE +20 -0
- package/node_modules/is-core-module/README.md +58 -0
- package/node_modules/is-core-module/core.json +163 -0
- package/node_modules/is-core-module/index.d.ts +12 -0
- package/node_modules/is-core-module/index.js +76 -0
- package/node_modules/is-core-module/package.json +90 -0
- package/node_modules/is-extglob/LICENSE +21 -0
- package/node_modules/is-extglob/README.md +107 -0
- package/node_modules/is-extglob/index.js +20 -0
- package/node_modules/is-extglob/package.json +69 -0
- package/node_modules/is-glob/LICENSE +21 -0
- package/node_modules/is-glob/README.md +206 -0
- package/node_modules/is-glob/index.js +150 -0
- package/node_modules/is-glob/package.json +81 -0
- package/node_modules/is-number/LICENSE +21 -0
- package/node_modules/is-number/README.md +187 -0
- package/node_modules/is-number/index.js +18 -0
- package/node_modules/is-number/package.json +82 -0
- package/node_modules/jju/LICENSE +21 -0
- package/node_modules/jju/Makefile +20 -0
- package/node_modules/jju/README.md +249 -0
- package/node_modules/jju/index.js +32 -0
- package/node_modules/jju/lib/analyze.js +87 -0
- package/node_modules/jju/lib/document.js +480 -0
- package/node_modules/jju/lib/parse.js +760 -0
- package/node_modules/jju/lib/stringify.js +378 -0
- package/node_modules/jju/lib/unicode.js +70 -0
- package/node_modules/jju/lib/utils.js +46 -0
- package/node_modules/jju/package.json +34 -0
- package/node_modules/jju/package.yaml +36 -0
- package/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
- package/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
- package/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
- package/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
- package/node_modules/json-schema-traverse/LICENSE +21 -0
- package/node_modules/json-schema-traverse/README.md +95 -0
- package/node_modules/json-schema-traverse/index.d.ts +40 -0
- package/node_modules/json-schema-traverse/index.js +93 -0
- package/node_modules/json-schema-traverse/package.json +43 -0
- package/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
- package/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
- package/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
- package/node_modules/jsonfile/LICENSE +15 -0
- package/node_modules/jsonfile/README.md +230 -0
- package/node_modules/jsonfile/index.js +88 -0
- package/node_modules/jsonfile/package.json +40 -0
- package/node_modules/jsonfile/utils.js +18 -0
- package/node_modules/merge2/LICENSE +21 -0
- package/node_modules/merge2/README.md +144 -0
- package/node_modules/merge2/index.js +144 -0
- package/node_modules/merge2/package.json +43 -0
- package/node_modules/micromatch/LICENSE +21 -0
- package/node_modules/micromatch/README.md +1024 -0
- package/node_modules/micromatch/index.js +474 -0
- package/node_modules/micromatch/node_modules/picomatch/LICENSE +21 -0
- package/node_modules/micromatch/node_modules/picomatch/README.md +716 -0
- package/node_modules/micromatch/node_modules/picomatch/index.js +3 -0
- package/node_modules/micromatch/node_modules/picomatch/lib/constants.js +184 -0
- package/node_modules/micromatch/node_modules/picomatch/lib/parse.js +1392 -0
- package/node_modules/micromatch/node_modules/picomatch/lib/picomatch.js +342 -0
- package/node_modules/micromatch/node_modules/picomatch/lib/scan.js +391 -0
- package/node_modules/micromatch/node_modules/picomatch/lib/utils.js +64 -0
- package/node_modules/micromatch/node_modules/picomatch/package.json +81 -0
- package/node_modules/micromatch/package.json +119 -0
- package/node_modules/path-parse/LICENSE +21 -0
- package/node_modules/path-parse/README.md +42 -0
- package/node_modules/path-parse/index.js +75 -0
- package/node_modules/path-parse/package.json +33 -0
- package/node_modules/pony-cause/LICENSE +14 -0
- package/node_modules/pony-cause/README.md +192 -0
- package/node_modules/pony-cause/compat.d.ts +2 -0
- package/node_modules/pony-cause/index.d.ts +7 -0
- package/node_modules/pony-cause/index.d.ts.map +1 -0
- package/node_modules/pony-cause/index.js +18 -0
- package/node_modules/pony-cause/index.mjs +10 -0
- package/node_modules/pony-cause/lib/error-with-cause-compat.d.ts +7 -0
- package/node_modules/pony-cause/lib/error-with-cause.d.ts +7 -0
- package/node_modules/pony-cause/lib/error-with-cause.d.ts.map +1 -0
- package/node_modules/pony-cause/lib/error-with-cause.js +25 -0
- package/node_modules/pony-cause/lib/error-with-cause.mjs +21 -0
- package/node_modules/pony-cause/lib/helpers.d.ts +9 -0
- package/node_modules/pony-cause/lib/helpers.d.ts.map +1 -0
- package/node_modules/pony-cause/lib/helpers.js +143 -0
- package/node_modules/pony-cause/lib/helpers.mjs +136 -0
- package/node_modules/pony-cause/package.json +106 -0
- package/node_modules/queue-microtask/LICENSE +20 -0
- package/node_modules/queue-microtask/README.md +90 -0
- package/node_modules/queue-microtask/index.d.ts +2 -0
- package/node_modules/queue-microtask/index.js +9 -0
- package/node_modules/queue-microtask/package.json +55 -0
- package/node_modules/require-from-string/index.js +34 -0
- package/node_modules/require-from-string/license +21 -0
- package/node_modules/require-from-string/package.json +28 -0
- package/node_modules/require-from-string/readme.md +56 -0
- package/node_modules/resolve/.claude/notes.md +26 -0
- package/node_modules/resolve/.claude/settings.local.json +26 -0
- package/node_modules/resolve/.editorconfig +38 -0
- package/node_modules/resolve/.eslintrc +65 -0
- package/node_modules/resolve/.github/FUNDING.yml +12 -0
- package/node_modules/resolve/.github/INCIDENT_RESPONSE_PROCESS.md +119 -0
- package/node_modules/resolve/.github/THREAT_MODEL.md +74 -0
- package/node_modules/resolve/LICENSE +21 -0
- package/node_modules/resolve/SECURITY.md +13 -0
- package/node_modules/resolve/async.js +3 -0
- package/node_modules/resolve/bin/resolve +50 -0
- package/node_modules/resolve/eslint.config.mjs +80 -0
- package/node_modules/resolve/example/async.js +5 -0
- package/node_modules/resolve/example/sync.js +3 -0
- package/node_modules/resolve/index.js +6 -0
- package/node_modules/resolve/lib/async.js +336 -0
- package/node_modules/resolve/lib/caller.js +12 -0
- package/node_modules/resolve/lib/core.js +12 -0
- package/node_modules/resolve/lib/core.json +162 -0
- package/node_modules/resolve/lib/homedir.js +31 -0
- package/node_modules/resolve/lib/is-core.js +5 -0
- package/node_modules/resolve/lib/node-modules-paths.js +45 -0
- package/node_modules/resolve/lib/normalize-options.js +10 -0
- package/node_modules/resolve/lib/sync.js +216 -0
- package/node_modules/resolve/package.json +78 -0
- package/node_modules/resolve/readme.markdown +300 -0
- package/node_modules/resolve/sync.js +3 -0
- package/node_modules/resolve/test/core.js +88 -0
- package/node_modules/resolve/test/default_paths.js +49 -0
- package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
- package/node_modules/resolve/test/dotdot/index.js +1 -0
- package/node_modules/resolve/test/dotdot.js +29 -0
- package/node_modules/resolve/test/faulty_basedir.js +29 -0
- package/node_modules/resolve/test/filter.js +34 -0
- package/node_modules/resolve/test/filter_sync.js +33 -0
- package/node_modules/resolve/test/home_paths.js +127 -0
- package/node_modules/resolve/test/home_paths_sync.js +114 -0
- package/node_modules/resolve/test/homedir.js +112 -0
- package/node_modules/resolve/test/mock.js +353 -0
- package/node_modules/resolve/test/mock_sync.js +234 -0
- package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
- package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
- package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
- package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
- package/node_modules/resolve/test/module_dir.js +56 -0
- package/node_modules/resolve/test/node-modules-paths.js +143 -0
- package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
- package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
- package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
- package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
- package/node_modules/resolve/test/node_path.js +70 -0
- package/node_modules/resolve/test/nonstring.js +9 -0
- package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
- package/node_modules/resolve/test/pathfilter.js +75 -0
- package/node_modules/resolve/test/pathfilter_sync.js +24 -0
- package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
- package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
- package/node_modules/resolve/test/precedence/aaa.js +1 -0
- package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
- package/node_modules/resolve/test/precedence/bbb.js +1 -0
- package/node_modules/resolve/test/precedence.js +23 -0
- package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
- package/node_modules/resolve/test/resolver/baz/package.json +4 -0
- package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
- package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
- package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
- package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
- package/node_modules/resolve/test/resolver/cup.coffee +1 -0
- package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
- package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
- package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/false_main/index.js +0 -0
- package/node_modules/resolve/test/resolver/false_main/package.json +4 -0
- package/node_modules/resolve/test/resolver/foo.js +1 -0
- package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
- package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
- package/node_modules/resolve/test/resolver/mug.coffee +0 -0
- package/node_modules/resolve/test/resolver/mug.js +0 -0
- package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
- package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
- package/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
- package/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
- package/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
- package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
- package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
- package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
- package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
- package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
- package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
- package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
- package/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
- package/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
- package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
- package/node_modules/resolve/test/resolver.js +597 -0
- package/node_modules/resolve/test/resolver_sync.js +730 -0
- package/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
- package/node_modules/resolve/test/shadowed_core.js +54 -0
- package/node_modules/resolve/test/subdirs.js +13 -0
- package/node_modules/resolve/test/symlinks.js +176 -0
- package/node_modules/reusify/.github/dependabot.yml +7 -0
- package/node_modules/reusify/.github/workflows/ci.yml +96 -0
- package/node_modules/reusify/LICENSE +22 -0
- package/node_modules/reusify/README.md +139 -0
- package/node_modules/reusify/SECURITY.md +15 -0
- package/node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0
- package/node_modules/reusify/benchmarks/fib.js +13 -0
- package/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0
- package/node_modules/reusify/eslint.config.js +14 -0
- package/node_modules/reusify/package.json +50 -0
- package/node_modules/reusify/reusify.d.ts +14 -0
- package/node_modules/reusify/reusify.js +33 -0
- package/node_modules/reusify/test.js +66 -0
- package/node_modules/reusify/tsconfig.json +11 -0
- package/node_modules/run-parallel/LICENSE +20 -0
- package/node_modules/run-parallel/README.md +85 -0
- package/node_modules/run-parallel/index.js +51 -0
- package/node_modules/run-parallel/package.json +58 -0
- package/node_modules/sprintf-js/.npmignore +1 -0
- package/node_modules/sprintf-js/LICENSE +24 -0
- package/node_modules/sprintf-js/README.md +88 -0
- package/node_modules/sprintf-js/bower.json +14 -0
- package/node_modules/sprintf-js/demo/angular.html +20 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
- package/node_modules/sprintf-js/gruntfile.js +36 -0
- package/node_modules/sprintf-js/package.json +22 -0
- package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
- package/node_modules/sprintf-js/src/sprintf.js +208 -0
- package/node_modules/sprintf-js/test/test.js +82 -0
- package/node_modules/string-argv/CHANGELOG.md +13 -0
- package/node_modules/string-argv/LICENSE +21 -0
- package/node_modules/string-argv/README.md +58 -0
- package/node_modules/string-argv/commonjs/index.js +45 -0
- package/node_modules/string-argv/commonjs/package.json +3 -0
- package/node_modules/string-argv/index.d.ts +2 -0
- package/node_modules/string-argv/index.js +41 -0
- package/node_modules/string-argv/package.json +51 -0
- package/node_modules/supports-color/browser.js +24 -0
- package/node_modules/supports-color/index.js +152 -0
- package/node_modules/supports-color/license +9 -0
- package/node_modules/supports-color/package.json +58 -0
- package/node_modules/supports-color/readme.md +77 -0
- package/node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0
- package/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0
- package/node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0
- package/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0
- package/node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0
- package/node_modules/supports-preserve-symlinks-flag/README.md +42 -0
- package/node_modules/supports-preserve-symlinks-flag/browser.js +3 -0
- package/node_modules/supports-preserve-symlinks-flag/index.js +9 -0
- package/node_modules/supports-preserve-symlinks-flag/package.json +70 -0
- package/node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0
- package/node_modules/to-regex-range/LICENSE +21 -0
- package/node_modules/to-regex-range/README.md +305 -0
- package/node_modules/to-regex-range/index.js +288 -0
- package/node_modules/to-regex-range/package.json +88 -0
- package/node_modules/type-fest/index.d.ts +178 -0
- package/node_modules/type-fest/license-cc0 +121 -0
- package/node_modules/type-fest/license-mit +9 -0
- package/node_modules/type-fest/package.json +91 -0
- package/node_modules/type-fest/readme.md +1060 -0
- package/node_modules/type-fest/source/all-union-fields.d.ts +88 -0
- package/node_modules/type-fest/source/and.d.ts +25 -0
- package/node_modules/type-fest/source/array-indices.d.ts +23 -0
- package/node_modules/type-fest/source/array-slice.d.ts +109 -0
- package/node_modules/type-fest/source/array-splice.d.ts +99 -0
- package/node_modules/type-fest/source/array-tail.d.ts +76 -0
- package/node_modules/type-fest/source/array-values.d.ts +22 -0
- package/node_modules/type-fest/source/arrayable.d.ts +29 -0
- package/node_modules/type-fest/source/async-return-type.d.ts +23 -0
- package/node_modules/type-fest/source/asyncify.d.ts +32 -0
- package/node_modules/type-fest/source/basic.d.ts +68 -0
- package/node_modules/type-fest/source/camel-case.d.ts +89 -0
- package/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +97 -0
- package/node_modules/type-fest/source/camel-cased-properties.d.ts +43 -0
- package/node_modules/type-fest/source/conditional-except.d.ts +45 -0
- package/node_modules/type-fest/source/conditional-keys.d.ts +47 -0
- package/node_modules/type-fest/source/conditional-pick-deep.d.ts +118 -0
- package/node_modules/type-fest/source/conditional-pick.d.ts +44 -0
- package/node_modules/type-fest/source/conditional-simplify.d.ts +32 -0
- package/node_modules/type-fest/source/delimiter-case.d.ts +78 -0
- package/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +106 -0
- package/node_modules/type-fest/source/delimiter-cased-properties.d.ts +46 -0
- package/node_modules/type-fest/source/distributed-omit.d.ts +89 -0
- package/node_modules/type-fest/source/distributed-pick.d.ts +85 -0
- package/node_modules/type-fest/source/empty-object.d.ts +46 -0
- package/node_modules/type-fest/source/enforce-optional.d.ts +47 -0
- package/node_modules/type-fest/source/entries.d.ts +62 -0
- package/node_modules/type-fest/source/entry.d.ts +65 -0
- package/node_modules/type-fest/source/exact.d.ts +68 -0
- package/node_modules/type-fest/source/except.d.ts +108 -0
- package/node_modules/type-fest/source/find-global-type.d.ts +64 -0
- package/node_modules/type-fest/source/fixed-length-array.d.ts +43 -0
- package/node_modules/type-fest/source/get.d.ts +219 -0
- package/node_modules/type-fest/source/global-this.d.ts +21 -0
- package/node_modules/type-fest/source/greater-than-or-equal.d.ts +22 -0
- package/node_modules/type-fest/source/greater-than.d.ts +56 -0
- package/node_modules/type-fest/source/has-optional-keys.d.ts +21 -0
- package/node_modules/type-fest/source/has-readonly-keys.d.ts +21 -0
- package/node_modules/type-fest/source/has-required-keys.d.ts +59 -0
- package/node_modules/type-fest/source/has-writable-keys.d.ts +21 -0
- package/node_modules/type-fest/source/if-any.d.ts +24 -0
- package/node_modules/type-fest/source/if-empty-object.d.ts +26 -0
- package/node_modules/type-fest/source/if-never.d.ts +24 -0
- package/node_modules/type-fest/source/if-null.d.ts +24 -0
- package/node_modules/type-fest/source/if-unknown.d.ts +24 -0
- package/node_modules/type-fest/source/includes.d.ts +22 -0
- package/node_modules/type-fest/source/int-closed-range.d.ts +35 -0
- package/node_modules/type-fest/source/int-range.d.ts +55 -0
- package/node_modules/type-fest/source/internal/array.d.ts +126 -0
- package/node_modules/type-fest/source/internal/characters.d.ts +67 -0
- package/node_modules/type-fest/source/internal/index.d.ts +8 -0
- package/node_modules/type-fest/source/internal/keys.d.ts +97 -0
- package/node_modules/type-fest/source/internal/numeric.d.ts +118 -0
- package/node_modules/type-fest/source/internal/object.d.ts +236 -0
- package/node_modules/type-fest/source/internal/string.d.ts +210 -0
- package/node_modules/type-fest/source/internal/tuple.d.ts +90 -0
- package/node_modules/type-fest/source/internal/type.d.ts +139 -0
- package/node_modules/type-fest/source/invariant-of.d.ts +76 -0
- package/node_modules/type-fest/source/is-any.d.ts +33 -0
- package/node_modules/type-fest/source/is-equal.d.ts +31 -0
- package/node_modules/type-fest/source/is-float.d.ts +41 -0
- package/node_modules/type-fest/source/is-integer.d.ts +58 -0
- package/node_modules/type-fest/source/is-literal.d.ts +296 -0
- package/node_modules/type-fest/source/is-never.d.ts +42 -0
- package/node_modules/type-fest/source/is-null.d.ts +20 -0
- package/node_modules/type-fest/source/is-tuple.d.ts +89 -0
- package/node_modules/type-fest/source/is-unknown.d.ts +52 -0
- package/node_modules/type-fest/source/iterable-element.d.ts +64 -0
- package/node_modules/type-fest/source/join.d.ts +68 -0
- package/node_modules/type-fest/source/jsonifiable.d.ts +37 -0
- package/node_modules/type-fest/source/jsonify.d.ts +122 -0
- package/node_modules/type-fest/source/kebab-case.d.ts +44 -0
- package/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +63 -0
- package/node_modules/type-fest/source/kebab-cased-properties.d.ts +40 -0
- package/node_modules/type-fest/source/keys-of-union.d.ts +42 -0
- package/node_modules/type-fest/source/last-array-element.d.ts +38 -0
- package/node_modules/type-fest/source/less-than-or-equal.d.ts +22 -0
- package/node_modules/type-fest/source/less-than.d.ts +26 -0
- package/node_modules/type-fest/source/literal-to-primitive-deep.d.ts +36 -0
- package/node_modules/type-fest/source/literal-to-primitive.d.ts +36 -0
- package/node_modules/type-fest/source/literal-union.d.ts +37 -0
- package/node_modules/type-fest/source/merge-deep.d.ts +486 -0
- package/node_modules/type-fest/source/merge-exclusive.d.ts +41 -0
- package/node_modules/type-fest/source/merge.d.ts +48 -0
- package/node_modules/type-fest/source/multidimensional-array.d.ts +44 -0
- package/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +48 -0
- package/node_modules/type-fest/source/non-empty-object.d.ts +35 -0
- package/node_modules/type-fest/source/non-empty-string.d.ts +28 -0
- package/node_modules/type-fest/source/non-empty-tuple.d.ts +21 -0
- package/node_modules/type-fest/source/numeric.d.ts +222 -0
- package/node_modules/type-fest/source/observable-like.d.ts +63 -0
- package/node_modules/type-fest/source/omit-deep.d.ts +167 -0
- package/node_modules/type-fest/source/omit-index-signature.d.ts +95 -0
- package/node_modules/type-fest/source/opaque.d.ts +1 -0
- package/node_modules/type-fest/source/optional-keys-of.d.ts +39 -0
- package/node_modules/type-fest/source/or.d.ts +25 -0
- package/node_modules/type-fest/source/override-properties.d.ts +36 -0
- package/node_modules/type-fest/source/package-json.d.ts +676 -0
- package/node_modules/type-fest/source/partial-deep.d.ts +151 -0
- package/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +78 -0
- package/node_modules/type-fest/source/pascal-case.d.ts +42 -0
- package/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +62 -0
- package/node_modules/type-fest/source/pascal-cased-properties.d.ts +36 -0
- package/node_modules/type-fest/source/paths.d.ts +262 -0
- package/node_modules/type-fest/source/pick-deep.d.ts +149 -0
- package/node_modules/type-fest/source/pick-index-signature.d.ts +50 -0
- package/node_modules/type-fest/source/primitive.d.ts +13 -0
- package/node_modules/type-fest/source/promisable.d.ts +25 -0
- package/node_modules/type-fest/source/readonly-deep.d.ts +81 -0
- package/node_modules/type-fest/source/readonly-keys-of.d.ts +30 -0
- package/node_modules/type-fest/source/readonly-tuple.d.ts +41 -0
- package/node_modules/type-fest/source/replace.d.ts +85 -0
- package/node_modules/type-fest/source/require-all-or-none.d.ts +51 -0
- package/node_modules/type-fest/source/require-at-least-one.d.ts +47 -0
- package/node_modules/type-fest/source/require-exactly-one.d.ts +45 -0
- package/node_modules/type-fest/source/require-one-or-none.d.ts +46 -0
- package/node_modules/type-fest/source/required-deep.d.ts +78 -0
- package/node_modules/type-fest/source/required-keys-of.d.ts +30 -0
- package/node_modules/type-fest/source/schema.d.ts +114 -0
- package/node_modules/type-fest/source/screaming-snake-case.d.ts +28 -0
- package/node_modules/type-fest/source/set-field-type.d.ts +65 -0
- package/node_modules/type-fest/source/set-non-nullable-deep.d.ts +83 -0
- package/node_modules/type-fest/source/set-non-nullable.d.ts +39 -0
- package/node_modules/type-fest/source/set-optional.d.ts +38 -0
- package/node_modules/type-fest/source/set-parameter-type.d.ts +117 -0
- package/node_modules/type-fest/source/set-readonly.d.ts +39 -0
- package/node_modules/type-fest/source/set-required-deep.d.ts +68 -0
- package/node_modules/type-fest/source/set-required.d.ts +70 -0
- package/node_modules/type-fest/source/set-return-type.d.ts +29 -0
- package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +178 -0
- package/node_modules/type-fest/source/shared-union-fields.d.ts +76 -0
- package/node_modules/type-fest/source/simplify-deep.d.ts +115 -0
- package/node_modules/type-fest/source/simplify.d.ts +58 -0
- package/node_modules/type-fest/source/single-key-object.d.ts +29 -0
- package/node_modules/type-fest/source/snake-case.d.ts +45 -0
- package/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +63 -0
- package/node_modules/type-fest/source/snake-cased-properties.d.ts +40 -0
- package/node_modules/type-fest/source/split.d.ts +88 -0
- package/node_modules/type-fest/source/spread.d.ts +84 -0
- package/node_modules/type-fest/source/string-key-of.d.ts +25 -0
- package/node_modules/type-fest/source/string-repeat.d.ts +47 -0
- package/node_modules/type-fest/source/string-slice.d.ts +37 -0
- package/node_modules/type-fest/source/stringified.d.ts +23 -0
- package/node_modules/type-fest/source/structured-cloneable.d.ts +92 -0
- package/node_modules/type-fest/source/subtract.d.ts +83 -0
- package/node_modules/type-fest/source/sum.d.ts +78 -0
- package/node_modules/type-fest/source/tagged-union.d.ts +51 -0
- package/node_modules/type-fest/source/tagged.d.ts +256 -0
- package/node_modules/type-fest/source/trim.d.ts +27 -0
- package/node_modules/type-fest/source/tsconfig-json.d.ts +1294 -0
- package/node_modules/type-fest/source/tuple-to-object.d.ts +42 -0
- package/node_modules/type-fest/source/tuple-to-union.d.ts +51 -0
- package/node_modules/type-fest/source/typed-array.d.ts +17 -0
- package/node_modules/type-fest/source/undefined-on-partial-deep.d.ts +80 -0
- package/node_modules/type-fest/source/union-to-intersection.d.ts +61 -0
- package/node_modules/type-fest/source/union-to-tuple.d.ts +56 -0
- package/node_modules/type-fest/source/unknown-array.d.ts +25 -0
- package/node_modules/type-fest/source/unknown-map.d.ts +24 -0
- package/node_modules/type-fest/source/unknown-record.d.ts +31 -0
- package/node_modules/type-fest/source/unknown-set.d.ts +24 -0
- package/node_modules/type-fest/source/value-of.d.ts +42 -0
- package/node_modules/type-fest/source/words.d.ts +118 -0
- package/node_modules/type-fest/source/writable-deep.d.ts +83 -0
- package/node_modules/type-fest/source/writable-keys-of.d.ts +33 -0
- package/node_modules/type-fest/source/writable.d.ts +68 -0
- package/node_modules/umzug/LICENSE +21 -0
- package/node_modules/umzug/README.md +849 -0
- package/node_modules/umzug/lib/cli.d.ts +44 -0
- package/node_modules/umzug/lib/cli.js +275 -0
- package/node_modules/umzug/lib/cli.js.map +1 -0
- package/node_modules/umzug/lib/file-locker.d.ts +46 -0
- package/node_modules/umzug/lib/file-locker.js +96 -0
- package/node_modules/umzug/lib/file-locker.js.map +1 -0
- package/node_modules/umzug/lib/index.d.ts +5 -0
- package/node_modules/umzug/lib/index.js +22 -0
- package/node_modules/umzug/lib/index.js.map +1 -0
- package/node_modules/umzug/lib/storage/contract.d.ts +17 -0
- package/node_modules/umzug/lib/storage/contract.js +18 -0
- package/node_modules/umzug/lib/storage/contract.js.map +1 -0
- package/node_modules/umzug/lib/storage/index.d.ts +5 -0
- package/node_modules/umzug/lib/storage/index.js +24 -0
- package/node_modules/umzug/lib/storage/index.js.map +1 -0
- package/node_modules/umzug/lib/storage/json.d.ts +20 -0
- package/node_modules/umzug/lib/storage/json.js +61 -0
- package/node_modules/umzug/lib/storage/json.js.map +1 -0
- package/node_modules/umzug/lib/storage/memory.d.ts +2 -0
- package/node_modules/umzug/lib/storage/memory.js +17 -0
- package/node_modules/umzug/lib/storage/memory.js.map +1 -0
- package/node_modules/umzug/lib/storage/mongodb.d.ts +35 -0
- package/node_modules/umzug/lib/storage/mongodb.js +31 -0
- package/node_modules/umzug/lib/storage/mongodb.js.map +1 -0
- package/node_modules/umzug/lib/storage/sequelize.d.ts +106 -0
- package/node_modules/umzug/lib/storage/sequelize.js +85 -0
- package/node_modules/umzug/lib/storage/sequelize.js.map +1 -0
- package/node_modules/umzug/lib/templates.d.ts +5 -0
- package/node_modules/umzug/lib/templates.js +32 -0
- package/node_modules/umzug/lib/templates.js.map +1 -0
- package/node_modules/umzug/lib/types.d.ts +129 -0
- package/node_modules/umzug/lib/types.js +12 -0
- package/node_modules/umzug/lib/types.js.map +1 -0
- package/node_modules/umzug/lib/umzug.d.ts +105 -0
- package/node_modules/umzug/lib/umzug.js +414 -0
- package/node_modules/umzug/lib/umzug.js.map +1 -0
- package/node_modules/umzug/package.json +92 -0
- package/node_modules/universalify/LICENSE +20 -0
- package/node_modules/universalify/README.md +76 -0
- package/node_modules/universalify/index.js +24 -0
- package/node_modules/universalify/package.json +34 -0
- package/node_modules/yallist/LICENSE +15 -0
- package/node_modules/yallist/README.md +204 -0
- package/node_modules/yallist/iterator.js +8 -0
- package/node_modules/yallist/package.json +29 -0
- package/node_modules/yallist/yallist.js +426 -0
- package/package.json +4 -2
- package/dist/ui/assets/architecture-7GRP2DOG-DPAY49ac.js +0 -1
- package/dist/ui/assets/channel-B4U25mhB.js +0 -1
- package/dist/ui/assets/eventmodeling-NTZA5JFV-CJyNnV02.js +0 -1
- package/dist/ui/assets/flowDiagram-KWPJA3E3-C0h7u26C.js +0 -1
- package/dist/ui/assets/index-gtLHyvxQ.css +0 -2
- package/dist/ui/assets/railroad-abnf-HS5TGJTU-DcEI15f8.js +0 -1
- package/dist/ui/assets/railroad-ebnf-LZEXJU2U-COHEIK3C.js +0 -1
- package/dist/ui/assets/railroad-peg-WCYAUIDC-DXgo491l.js +0 -1
- package/dist/ui/assets/swimlanesDiagram-TC7HE7FX-636k0i2s.js +0 -8
|
@@ -0,0 +1,4005 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core libraries that every NodeJS toolchain project should use.
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/// <reference types="node" />
|
|
8
|
+
|
|
9
|
+
import * as child_process from 'child_process';
|
|
10
|
+
import * as nodeFs from 'fs';
|
|
11
|
+
import * as nodePath from 'path';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Specifies the behavior of APIs such as {@link FileSystem.copyFile} or
|
|
15
|
+
* {@link FileSystem.createSymbolicLinkFile} when the output file path already exists.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* For {@link FileSystem.copyFile} and related APIs, the "output file path" is
|
|
19
|
+
* {@link IFileSystemCopyFileOptions.destinationPath}.
|
|
20
|
+
*
|
|
21
|
+
* For {@link FileSystem.createSymbolicLinkFile} and related APIs, the "output file path" is
|
|
22
|
+
* {@link IFileSystemCreateLinkOptions.newLinkPath}.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export declare enum AlreadyExistsBehavior {
|
|
27
|
+
/**
|
|
28
|
+
* If the output file path already exists, try to overwrite the existing object.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* If overwriting the object would require recursively deleting a folder tree,
|
|
32
|
+
* then the operation will fail. As an example, suppose {@link FileSystem.copyFile}
|
|
33
|
+
* is copying a single file `/a/b/c` to the destination path `/d/e`, and `/d/e` is a
|
|
34
|
+
* nonempty folder. In this situation, an error will be reported; specifying
|
|
35
|
+
* `AlreadyExistsBehavior.Overwrite` does not help. Empty folders can be overwritten
|
|
36
|
+
* depending on the details of the implementation.
|
|
37
|
+
*/
|
|
38
|
+
Overwrite = "overwrite",
|
|
39
|
+
/**
|
|
40
|
+
* If the output file path already exists, the operation will fail, and an error
|
|
41
|
+
* will be reported.
|
|
42
|
+
*/
|
|
43
|
+
Error = "error",
|
|
44
|
+
/**
|
|
45
|
+
* If the output file path already exists, skip this item, and continue the operation.
|
|
46
|
+
*/
|
|
47
|
+
Ignore = "ignore"
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* This exception can be thrown to indicate that an operation failed and an error message has already
|
|
52
|
+
* been reported appropriately. Thus, the catch handler does not have responsibility for reporting
|
|
53
|
+
* the error.
|
|
54
|
+
*
|
|
55
|
+
* @remarks
|
|
56
|
+
* For example, suppose a tool writes interactive output to `console.log()`. When an exception is thrown,
|
|
57
|
+
* the `catch` handler will typically provide simplistic reporting such as this:
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* catch (error) {
|
|
61
|
+
* console.log("ERROR: " + error.message);
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* Suppose that the code performing the operation normally prints rich output to the console. It may be able to
|
|
66
|
+
* present an error message more nicely (for example, as part of a table, or structured log format). Throwing
|
|
67
|
+
* `AlreadyReportedError` provides a way to use exception handling to abort the operation, but instruct the `catch`
|
|
68
|
+
* handler not to print an error a second time:
|
|
69
|
+
*
|
|
70
|
+
* ```ts
|
|
71
|
+
* catch (error) {
|
|
72
|
+
* if (error instanceof AlreadyReportedError) {
|
|
73
|
+
* return;
|
|
74
|
+
* }
|
|
75
|
+
* console.log("ERROR: " + error.message);
|
|
76
|
+
* }
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
export declare class AlreadyReportedError extends Error {
|
|
82
|
+
constructor();
|
|
83
|
+
static [Symbol.hasInstance](instance: object): boolean;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Utilities for parallel asynchronous operations, for use with the system `Promise` APIs.
|
|
88
|
+
*
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
export declare class Async {
|
|
92
|
+
/**
|
|
93
|
+
* Given an input array and a `callback` function, invoke the callback to start a
|
|
94
|
+
* promise for each element in the array. Returns an array containing the results.
|
|
95
|
+
*
|
|
96
|
+
* @remarks
|
|
97
|
+
* This API is similar to the system `Array#map`, except that the loop is asynchronous,
|
|
98
|
+
* and the maximum number of concurrent promises can be throttled
|
|
99
|
+
* using {@link IAsyncParallelismOptions.concurrency}.
|
|
100
|
+
*
|
|
101
|
+
* If `callback` throws a synchronous exception, or if it returns a promise that rejects,
|
|
102
|
+
* then the loop stops immediately. Any remaining array items will be skipped, and
|
|
103
|
+
* overall operation will reject with the first error that was encountered.
|
|
104
|
+
*
|
|
105
|
+
* @param iterable - the array of inputs for the callback function
|
|
106
|
+
* @param callback - a function that starts an asynchronous promise for an element
|
|
107
|
+
* from the array
|
|
108
|
+
* @param options - options for customizing the control flow
|
|
109
|
+
* @returns an array containing the result for each callback, in the same order
|
|
110
|
+
* as the original input `array`
|
|
111
|
+
*/
|
|
112
|
+
static mapAsync<TEntry, TRetVal>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<TRetVal>, options?: (IAsyncParallelismOptions & {
|
|
113
|
+
weighted?: false;
|
|
114
|
+
}) | undefined): Promise<TRetVal[]>;
|
|
115
|
+
/**
|
|
116
|
+
* Given an input array and a `callback` function, invoke the callback to start a
|
|
117
|
+
* promise for each element in the array. Returns an array containing the results.
|
|
118
|
+
*
|
|
119
|
+
* @remarks
|
|
120
|
+
* This API is similar to the system `Array#map`, except that the loop is asynchronous,
|
|
121
|
+
* and the maximum number of concurrent units can be throttled
|
|
122
|
+
* using {@link IAsyncParallelismOptions.concurrency}. Using the {@link IAsyncParallelismOptions.weighted}
|
|
123
|
+
* option, the weight of each operation can be specified, which determines how many concurrent units it takes up.
|
|
124
|
+
*
|
|
125
|
+
* If `callback` throws a synchronous exception, or if it returns a promise that rejects,
|
|
126
|
+
* then the loop stops immediately. Any remaining array items will be skipped, and
|
|
127
|
+
* overall operation will reject with the first error that was encountered.
|
|
128
|
+
*
|
|
129
|
+
* @param iterable - the array of inputs for the callback function
|
|
130
|
+
* @param callback - a function that starts an asynchronous promise for an element
|
|
131
|
+
* from the array
|
|
132
|
+
* @param options - options for customizing the control flow
|
|
133
|
+
* @returns an array containing the result for each callback, in the same order
|
|
134
|
+
* as the original input `array`
|
|
135
|
+
*/
|
|
136
|
+
static mapAsync<TEntry extends IWeighted, TRetVal>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<TRetVal>, options: IAsyncParallelismOptions & {
|
|
137
|
+
weighted: true;
|
|
138
|
+
}): Promise<TRetVal[]>;
|
|
139
|
+
private static _forEachWeightedAsync;
|
|
140
|
+
/**
|
|
141
|
+
* Given an input array and a `callback` function, invoke the callback to start a
|
|
142
|
+
* promise for each element in the array.
|
|
143
|
+
*
|
|
144
|
+
* @remarks
|
|
145
|
+
* This API is similar to the system `Array#forEach`, except that the loop is asynchronous,
|
|
146
|
+
* and the maximum number of concurrent promises can be throttled
|
|
147
|
+
* using {@link IAsyncParallelismOptions.concurrency}.
|
|
148
|
+
*
|
|
149
|
+
* If `callback` throws a synchronous exception, or if it returns a promise that rejects,
|
|
150
|
+
* then the loop stops immediately. Any remaining array items will be skipped, and
|
|
151
|
+
* overall operation will reject with the first error that was encountered.
|
|
152
|
+
*
|
|
153
|
+
* @param iterable - the array of inputs for the callback function
|
|
154
|
+
* @param callback - a function that starts an asynchronous promise for an element
|
|
155
|
+
* from the array
|
|
156
|
+
* @param options - options for customizing the control flow
|
|
157
|
+
*/
|
|
158
|
+
static forEachAsync<TEntry>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<void>, options?: (IAsyncParallelismOptions & {
|
|
159
|
+
weighted?: false;
|
|
160
|
+
}) | undefined): Promise<void>;
|
|
161
|
+
/**
|
|
162
|
+
* Given an input array and a `callback` function, invoke the callback to start a
|
|
163
|
+
* promise for each element in the array.
|
|
164
|
+
*
|
|
165
|
+
* @remarks
|
|
166
|
+
* This API is similar to the other `Array#forEachAsync`, except that each item can have
|
|
167
|
+
* a weight that determines how many concurrent operations are allowed. The unweighted
|
|
168
|
+
* `Array#forEachAsync` is a special case of this method where weight = 1 for all items.
|
|
169
|
+
*
|
|
170
|
+
* The maximum number of concurrent operations can still be throttled using
|
|
171
|
+
* {@link IAsyncParallelismOptions.concurrency}, however it no longer determines the
|
|
172
|
+
* maximum number of operations that can be in progress at once. Instead, it determines the
|
|
173
|
+
* number of concurrency units that can be in progress at once. The weight of each operation
|
|
174
|
+
* determines how many concurrency units it takes up. For example, if the concurrency is 2
|
|
175
|
+
* and the first operation has a weight of 2, then only one more operation can be in progress.
|
|
176
|
+
*
|
|
177
|
+
* If `callback` throws a synchronous exception, or if it returns a promise that rejects,
|
|
178
|
+
* then the loop stops immediately. Any remaining array items will be skipped, and
|
|
179
|
+
* overall operation will reject with the first error that was encountered.
|
|
180
|
+
*
|
|
181
|
+
* @param iterable - the array of inputs for the callback function
|
|
182
|
+
* @param callback - a function that starts an asynchronous promise for an element
|
|
183
|
+
* from the array
|
|
184
|
+
* @param options - options for customizing the control flow
|
|
185
|
+
*/
|
|
186
|
+
static forEachAsync<TEntry extends IWeighted>(iterable: Iterable<TEntry> | AsyncIterable<TEntry>, callback: (entry: TEntry, arrayIndex: number) => Promise<void>, options: IAsyncParallelismOptions & {
|
|
187
|
+
weighted: true;
|
|
188
|
+
}): Promise<void>;
|
|
189
|
+
/**
|
|
190
|
+
* Return a promise that resolves after the specified number of milliseconds.
|
|
191
|
+
*/
|
|
192
|
+
static sleepAsync(ms: number): Promise<void>;
|
|
193
|
+
/**
|
|
194
|
+
* Executes an async function and optionally retries it if it fails.
|
|
195
|
+
*/
|
|
196
|
+
static runWithRetriesAsync<TResult>({ action, maxRetries, retryDelayMs }: IRunWithRetriesOptions<TResult>): Promise<TResult>;
|
|
197
|
+
/**
|
|
198
|
+
* Ensures that the argument is a valid {@link IWeighted}, with a `weight` argument that
|
|
199
|
+
* is a positive integer or 0.
|
|
200
|
+
*/
|
|
201
|
+
static validateWeightedIterable(operation: IWeighted): void;
|
|
202
|
+
/**
|
|
203
|
+
* Returns a Signal, a.k.a. a "deferred promise".
|
|
204
|
+
*/
|
|
205
|
+
static getSignal(): [Promise<void>, () => void, (err: Error) => void];
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* A queue that allows for asynchronous iteration. During iteration, the queue will wait until
|
|
210
|
+
* the next item is pushed into the queue before yielding. If instead all queue items are consumed
|
|
211
|
+
* and all callbacks have been called, the queue will return.
|
|
212
|
+
*
|
|
213
|
+
* @public
|
|
214
|
+
*/
|
|
215
|
+
export declare class AsyncQueue<T> implements AsyncIterable<[T, () => void]> {
|
|
216
|
+
private _queue;
|
|
217
|
+
private _onPushSignal;
|
|
218
|
+
private _onPushResolve;
|
|
219
|
+
constructor(iterable?: Iterable<T>);
|
|
220
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<[T, () => void]>;
|
|
221
|
+
/**
|
|
222
|
+
* Adds an item to the queue.
|
|
223
|
+
*
|
|
224
|
+
* @param item - The item to push into the queue.
|
|
225
|
+
*/
|
|
226
|
+
push(item: T): void;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* A "branded type" is a primitive type with a compile-type key that makes it incompatible with other
|
|
231
|
+
* aliases for the primitive type.
|
|
232
|
+
*
|
|
233
|
+
* @remarks
|
|
234
|
+
*
|
|
235
|
+
* Example usage:
|
|
236
|
+
*
|
|
237
|
+
* ```ts
|
|
238
|
+
* // PhoneNumber is a branded type based on the "string" primitive.
|
|
239
|
+
* type PhoneNumber = Brand<string, 'PhoneNumber'>;
|
|
240
|
+
*
|
|
241
|
+
* function createPhoneNumber(input: string): PhoneNumber {
|
|
242
|
+
* if (!/\d+(\-\d+)+/.test(input)) {
|
|
243
|
+
* throw new Error('Invalid phone number: ' + JSON.stringify(input));
|
|
244
|
+
* }
|
|
245
|
+
* return input as PhoneNumber;
|
|
246
|
+
* }
|
|
247
|
+
*
|
|
248
|
+
* const p1: PhoneNumber = createPhoneNumber('123-456-7890');
|
|
249
|
+
*
|
|
250
|
+
* // PhoneNumber is a string and can be used as one:
|
|
251
|
+
* const p2: string = p1;
|
|
252
|
+
*
|
|
253
|
+
* // But an arbitrary string cannot be implicitly type cast as PhoneNumber.
|
|
254
|
+
* // ERROR: Type 'string' is not assignable to type 'PhoneNumber'
|
|
255
|
+
* const p3: PhoneNumber = '123-456-7890';
|
|
256
|
+
* ```
|
|
257
|
+
*
|
|
258
|
+
* For more information about this pattern, see {@link
|
|
259
|
+
* https://github.com/Microsoft/TypeScript/blob/7b48a182c05ea4dea81bab73ecbbe9e013a79e99/src/compiler/types.ts#L693-L698
|
|
260
|
+
* | this comment} explaining the TypeScript compiler's introduction of this pattern, and
|
|
261
|
+
* {@link https://spin.atomicobject.com/2018/01/15/typescript-flexible-nominal-typing/ | this article}
|
|
262
|
+
* explaining the technique in depth.
|
|
263
|
+
*
|
|
264
|
+
* @public
|
|
265
|
+
*/
|
|
266
|
+
export declare type Brand<T, BrandTag extends string> = T & {
|
|
267
|
+
__brand: BrandTag;
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* The allowed types of encodings, as supported by Node.js
|
|
272
|
+
* @public
|
|
273
|
+
*/
|
|
274
|
+
export declare enum Encoding {
|
|
275
|
+
Utf8 = "utf8"
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* A helper for looking up TypeScript `enum` keys/values.
|
|
280
|
+
*
|
|
281
|
+
* @remarks
|
|
282
|
+
* TypeScript enums implement a lookup table for mapping between their keys and values:
|
|
283
|
+
*
|
|
284
|
+
* ```ts
|
|
285
|
+
* enum Colors {
|
|
286
|
+
* Red = 1
|
|
287
|
+
* }
|
|
288
|
+
*
|
|
289
|
+
* // Prints "Red"
|
|
290
|
+
* console.log(Colors[1]);
|
|
291
|
+
*
|
|
292
|
+
* // Prints "1"
|
|
293
|
+
* console.log(Colors["Red]);
|
|
294
|
+
* ```
|
|
295
|
+
*
|
|
296
|
+
* However the compiler's "noImplicitAny" validation has trouble with these mappings, because
|
|
297
|
+
* there are so many possible types for the map elements:
|
|
298
|
+
*
|
|
299
|
+
* ```ts
|
|
300
|
+
* function f(s: string): Colors | undefined {
|
|
301
|
+
* // (TS 7015) Element implicitly has an 'any' type because
|
|
302
|
+
* // index expression is not of type 'number'.
|
|
303
|
+
* return Colors[s];
|
|
304
|
+
* }
|
|
305
|
+
* ```
|
|
306
|
+
*
|
|
307
|
+
* The `Enum` helper provides a more specific, strongly typed way to access members:
|
|
308
|
+
*
|
|
309
|
+
* ```ts
|
|
310
|
+
* function f(s: string): Colors | undefined {
|
|
311
|
+
* return Enum.tryGetValueByKey(Colors, s);
|
|
312
|
+
* }
|
|
313
|
+
* ```
|
|
314
|
+
*
|
|
315
|
+
* @public
|
|
316
|
+
*/
|
|
317
|
+
export declare class Enum {
|
|
318
|
+
private constructor();
|
|
319
|
+
/**
|
|
320
|
+
* Returns an enum value, given its key. Returns `undefined` if no matching key is found.
|
|
321
|
+
*
|
|
322
|
+
* @example
|
|
323
|
+
*
|
|
324
|
+
* Example usage:
|
|
325
|
+
* ```ts
|
|
326
|
+
* enum Colors {
|
|
327
|
+
* Red = 1
|
|
328
|
+
* }
|
|
329
|
+
*
|
|
330
|
+
* // Prints "1"
|
|
331
|
+
* console.log(Enum.tryGetValueByKey(Colors, "Red"));
|
|
332
|
+
*
|
|
333
|
+
* // Prints "undefined"
|
|
334
|
+
* console.log(Enum.tryGetValueByKey(Colors, "Black"));
|
|
335
|
+
* ```
|
|
336
|
+
*/
|
|
337
|
+
static tryGetValueByKey<TEnumValue>(enumObject: {
|
|
338
|
+
[key: string]: TEnumValue | string;
|
|
339
|
+
[key: number]: TEnumValue | string;
|
|
340
|
+
}, key: string): TEnumValue | undefined;
|
|
341
|
+
/**
|
|
342
|
+
* This API is similar to {@link Enum.tryGetValueByKey}, except that it throws an exception
|
|
343
|
+
* if the key is undefined.
|
|
344
|
+
*/
|
|
345
|
+
static getValueByKey<TEnumValue>(enumObject: {
|
|
346
|
+
[key: string]: TEnumValue | string;
|
|
347
|
+
[key: number]: TEnumValue | string;
|
|
348
|
+
}, key: string): TEnumValue;
|
|
349
|
+
/**
|
|
350
|
+
* Returns an enum string key, given its numeric value. Returns `undefined` if no matching value
|
|
351
|
+
* is found.
|
|
352
|
+
*
|
|
353
|
+
* @remarks
|
|
354
|
+
* The TypeScript compiler only creates a reverse mapping for enum members whose value is numeric.
|
|
355
|
+
* For example:
|
|
356
|
+
*
|
|
357
|
+
* ```ts
|
|
358
|
+
* enum E {
|
|
359
|
+
* A = 1,
|
|
360
|
+
* B = 'c'
|
|
361
|
+
* }
|
|
362
|
+
*
|
|
363
|
+
* // Prints "A"
|
|
364
|
+
* console.log(E[1]);
|
|
365
|
+
*
|
|
366
|
+
* // Prints "undefined"
|
|
367
|
+
* console.log(E["c"]);
|
|
368
|
+
* ```
|
|
369
|
+
*
|
|
370
|
+
* @example
|
|
371
|
+
*
|
|
372
|
+
* Example usage:
|
|
373
|
+
* ```ts
|
|
374
|
+
* enum Colors {
|
|
375
|
+
* Red = 1,
|
|
376
|
+
* Blue = 'blue'
|
|
377
|
+
* }
|
|
378
|
+
*
|
|
379
|
+
* // Prints "Red"
|
|
380
|
+
* console.log(Enum.tryGetKeyByNumber(Colors, 1));
|
|
381
|
+
*
|
|
382
|
+
* // Prints "undefined"
|
|
383
|
+
* console.log(Enum.tryGetKeyByNumber(Colors, -1));
|
|
384
|
+
* ```
|
|
385
|
+
*/
|
|
386
|
+
static tryGetKeyByNumber<TEnumValue, TEnumObject extends {
|
|
387
|
+
[key: string]: TEnumValue;
|
|
388
|
+
}>(enumObject: TEnumObject, value: number): keyof typeof enumObject | undefined;
|
|
389
|
+
/**
|
|
390
|
+
* This API is similar to {@link Enum.tryGetKeyByNumber}, except that it throws an exception
|
|
391
|
+
* if the key is undefined.
|
|
392
|
+
*/
|
|
393
|
+
static getKeyByNumber<TEnumValue, TEnumObject extends {
|
|
394
|
+
[key: string]: TEnumValue;
|
|
395
|
+
}>(enumObject: TEnumObject, value: number): keyof typeof enumObject;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* A map data structure that stores process environment variables. On Windows
|
|
400
|
+
* operating system, the variable names are case-insensitive.
|
|
401
|
+
* @public
|
|
402
|
+
*/
|
|
403
|
+
export declare class EnvironmentMap {
|
|
404
|
+
private readonly _map;
|
|
405
|
+
/**
|
|
406
|
+
* Whether the environment variable names are case-sensitive.
|
|
407
|
+
*
|
|
408
|
+
* @remarks
|
|
409
|
+
* On Windows operating system, environment variables are case-insensitive.
|
|
410
|
+
* The map will preserve the variable name casing from the most recent assignment operation.
|
|
411
|
+
*/
|
|
412
|
+
readonly caseSensitive: boolean;
|
|
413
|
+
constructor(environmentObject?: Record<string, string | undefined>);
|
|
414
|
+
/**
|
|
415
|
+
* Clears all entries, resulting in an empty map.
|
|
416
|
+
*/
|
|
417
|
+
clear(): void;
|
|
418
|
+
/**
|
|
419
|
+
* Assigns the variable to the specified value. A previous value will be overwritten.
|
|
420
|
+
*
|
|
421
|
+
* @remarks
|
|
422
|
+
* The value can be an empty string. To completely remove the entry, use
|
|
423
|
+
* {@link EnvironmentMap.unset} instead.
|
|
424
|
+
*/
|
|
425
|
+
set(name: string, value: string): void;
|
|
426
|
+
/**
|
|
427
|
+
* Removes the key from the map, if present.
|
|
428
|
+
*/
|
|
429
|
+
unset(name: string): void;
|
|
430
|
+
/**
|
|
431
|
+
* Returns the value of the specified variable, or `undefined` if the map does not contain that name.
|
|
432
|
+
*/
|
|
433
|
+
get(name: string): string | undefined;
|
|
434
|
+
/**
|
|
435
|
+
* Returns the map keys, which are environment variable names.
|
|
436
|
+
*/
|
|
437
|
+
names(): IterableIterator<string>;
|
|
438
|
+
/**
|
|
439
|
+
* Returns the map entries.
|
|
440
|
+
*/
|
|
441
|
+
entries(): IterableIterator<IEnvironmentEntry>;
|
|
442
|
+
/**
|
|
443
|
+
* Adds each entry from `environmentMap` to this map.
|
|
444
|
+
*/
|
|
445
|
+
mergeFrom(environmentMap: EnvironmentMap): void;
|
|
446
|
+
/**
|
|
447
|
+
* Merges entries from a plain JavaScript object, such as would be used with the `process.env` API.
|
|
448
|
+
*/
|
|
449
|
+
mergeFromObject(environmentObject?: Record<string, string | undefined>): void;
|
|
450
|
+
/**
|
|
451
|
+
* Returns the keys as a plain JavaScript object similar to the object returned by the `process.env` API.
|
|
452
|
+
*/
|
|
453
|
+
toObject(): Record<string, string>;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* The Executable class provides a safe, portable, recommended solution for tools that need
|
|
458
|
+
* to launch child processes.
|
|
459
|
+
*
|
|
460
|
+
* @remarks
|
|
461
|
+
* The NodeJS child_process API provides a solution for launching child processes, however
|
|
462
|
+
* its design encourages reliance on the operating system shell for certain features.
|
|
463
|
+
* Invoking the OS shell is not safe, not portable, and generally not recommended:
|
|
464
|
+
*
|
|
465
|
+
* - Different shells have different behavior and command-line syntax, and which shell you
|
|
466
|
+
* will get with NodeJS is unpredictable. There is no universal shell guaranteed to be
|
|
467
|
+
* available on all platforms.
|
|
468
|
+
*
|
|
469
|
+
* - If a command parameter contains symbol characters, a shell may interpret them, which
|
|
470
|
+
* can introduce a security vulnerability
|
|
471
|
+
*
|
|
472
|
+
* - Each shell has different rules for escaping these symbols. On Windows, the default
|
|
473
|
+
* shell is incapable of escaping certain character sequences.
|
|
474
|
+
*
|
|
475
|
+
* The Executable API provides a pure JavaScript implementation of primitive shell-like
|
|
476
|
+
* functionality for searching the default PATH, appending default file extensions on Windows,
|
|
477
|
+
* and executing a file that may contain a POSIX shebang. This primitive functionality
|
|
478
|
+
* is sufficient (and recommended) for most tooling scenarios.
|
|
479
|
+
*
|
|
480
|
+
* If you need additional shell features such as wildcard globbing, environment variable
|
|
481
|
+
* expansion, piping, or built-in commands, then we recommend to use the `@microsoft/rushell`
|
|
482
|
+
* library instead. Rushell is a pure JavaScript shell with a standard syntax that is
|
|
483
|
+
* guaranteed to work consistently across all platforms.
|
|
484
|
+
*
|
|
485
|
+
* @public
|
|
486
|
+
*/
|
|
487
|
+
export declare class Executable {
|
|
488
|
+
/**
|
|
489
|
+
* Synchronously create a child process and optionally capture its output.
|
|
490
|
+
*
|
|
491
|
+
* @remarks
|
|
492
|
+
* This function is similar to child_process.spawnSync(). The main differences are:
|
|
493
|
+
*
|
|
494
|
+
* - It does not invoke the OS shell unless the executable file is a shell script.
|
|
495
|
+
* - Command-line arguments containing special characters are more accurately passed
|
|
496
|
+
* through to the child process.
|
|
497
|
+
* - If the filename is missing a path, then the shell's default PATH will be searched.
|
|
498
|
+
* - If the filename is missing a file extension, then Windows default file extensions
|
|
499
|
+
* will be searched.
|
|
500
|
+
*
|
|
501
|
+
* @param filename - The name of the executable file. This string must not contain any
|
|
502
|
+
* command-line arguments. If the name contains any path delimiters, then the shell's
|
|
503
|
+
* default PATH will not be searched.
|
|
504
|
+
* @param args - The command-line arguments to be passed to the process.
|
|
505
|
+
* @param options - Additional options
|
|
506
|
+
* @returns the same data type as returned by the NodeJS child_process.spawnSync() API
|
|
507
|
+
*
|
|
508
|
+
* @privateRemarks
|
|
509
|
+
*
|
|
510
|
+
* NOTE: The NodeJS spawnSync() returns SpawnSyncReturns<string> or SpawnSyncReturns<Buffer>
|
|
511
|
+
* polymorphically based on the options.encoding parameter value. This is a fairly confusing
|
|
512
|
+
* design. In most cases, developers want string with the default encoding. If/when someone
|
|
513
|
+
* wants binary output or a non-default text encoding, we will introduce a separate API function
|
|
514
|
+
* with a name like "spawnWithBufferSync".
|
|
515
|
+
*/
|
|
516
|
+
static spawnSync(filename: string, args: string[], options?: IExecutableSpawnSyncOptions): child_process.SpawnSyncReturns<string>;
|
|
517
|
+
/**
|
|
518
|
+
* Start a child process.
|
|
519
|
+
*
|
|
520
|
+
* @remarks
|
|
521
|
+
* This function is similar to child_process.spawn(). The main differences are:
|
|
522
|
+
*
|
|
523
|
+
* - It does not invoke the OS shell unless the executable file is a shell script.
|
|
524
|
+
* - Command-line arguments containing special characters are more accurately passed
|
|
525
|
+
* through to the child process.
|
|
526
|
+
* - If the filename is missing a path, then the shell's default PATH will be searched.
|
|
527
|
+
* - If the filename is missing a file extension, then Windows default file extensions
|
|
528
|
+
* will be searched.
|
|
529
|
+
*
|
|
530
|
+
* This command is asynchronous, but it does not return a `Promise`. Instead it returns
|
|
531
|
+
* a Node.js `ChildProcess` supporting event notifications.
|
|
532
|
+
*
|
|
533
|
+
* @param filename - The name of the executable file. This string must not contain any
|
|
534
|
+
* command-line arguments. If the name contains any path delimiters, then the shell's
|
|
535
|
+
* default PATH will not be searched.
|
|
536
|
+
* @param args - The command-line arguments to be passed to the process.
|
|
537
|
+
* @param options - Additional options
|
|
538
|
+
* @returns the same data type as returned by the NodeJS child_process.spawnSync() API
|
|
539
|
+
*/
|
|
540
|
+
static spawn(filename: string, args: string[], options?: IExecutableSpawnOptions): child_process.ChildProcess;
|
|
541
|
+
/** {@inheritDoc Executable.(waitForExitAsync:3)} */
|
|
542
|
+
static waitForExitAsync(childProcess: child_process.ChildProcess, options: IWaitForExitWithStringOptions): Promise<IWaitForExitResult<string>>;
|
|
543
|
+
/** {@inheritDoc Executable.(waitForExitAsync:3)} */
|
|
544
|
+
static waitForExitAsync(childProcess: child_process.ChildProcess, options: IWaitForExitWithBufferOptions): Promise<IWaitForExitResult<Buffer>>;
|
|
545
|
+
/**
|
|
546
|
+
* Wait for a child process to exit and return the result.
|
|
547
|
+
*
|
|
548
|
+
* @param childProcess - The child process to wait for.
|
|
549
|
+
* @param options - Options for waiting for the process to exit.
|
|
550
|
+
*/
|
|
551
|
+
static waitForExitAsync(childProcess: child_process.ChildProcess, options?: IWaitForExitOptions): Promise<IWaitForExitResult<never>>;
|
|
552
|
+
/**
|
|
553
|
+
* Get the list of processes currently running on the system, keyed by the process ID.
|
|
554
|
+
*
|
|
555
|
+
* @remarks The underlying implementation depends on the operating system:
|
|
556
|
+
* - On Windows, this uses the `wmic.exe` utility.
|
|
557
|
+
* - On Unix, this uses the `ps` utility.
|
|
558
|
+
*/
|
|
559
|
+
static getProcessInfoByIdAsync(): Promise<Map<number, IProcessInfo>>;
|
|
560
|
+
/**
|
|
561
|
+
* {@inheritDoc Executable.getProcessInfoByIdAsync}
|
|
562
|
+
*/
|
|
563
|
+
static getProcessInfoById(): Map<number, IProcessInfo>;
|
|
564
|
+
/**
|
|
565
|
+
* Get the list of processes currently running on the system, keyed by the process name. All processes
|
|
566
|
+
* with the same name will be grouped.
|
|
567
|
+
*
|
|
568
|
+
* @remarks The underlying implementation depends on the operating system:
|
|
569
|
+
* - On Windows, this uses the `wmic.exe` utility.
|
|
570
|
+
* - On Unix, this uses the `ps` utility.
|
|
571
|
+
*/
|
|
572
|
+
static getProcessInfoByNameAsync(): Promise<Map<string, IProcessInfo[]>>;
|
|
573
|
+
/**
|
|
574
|
+
* {@inheritDoc Executable.getProcessInfoByNameAsync}
|
|
575
|
+
*/
|
|
576
|
+
static getProcessInfoByName(): Map<string, IProcessInfo[]>;
|
|
577
|
+
private static _buildCommandLineFixup;
|
|
578
|
+
/**
|
|
579
|
+
* Given a filename, this determines the absolute path of the executable file that would
|
|
580
|
+
* be executed by a shell:
|
|
581
|
+
*
|
|
582
|
+
* - If the filename is missing a path, then the shell's default PATH will be searched.
|
|
583
|
+
* - If the filename is missing a file extension, then Windows default file extensions
|
|
584
|
+
* will be searched.
|
|
585
|
+
*
|
|
586
|
+
* @remarks
|
|
587
|
+
*
|
|
588
|
+
* @param filename - The name of the executable file. This string must not contain any
|
|
589
|
+
* command-line arguments. If the name contains any path delimiters, then the shell's
|
|
590
|
+
* default PATH will not be searched.
|
|
591
|
+
* @param options - optional other parameters
|
|
592
|
+
* @returns the absolute path of the executable, or undefined if it was not found
|
|
593
|
+
*/
|
|
594
|
+
static tryResolve(filename: string, options?: IExecutableResolveOptions): string | undefined;
|
|
595
|
+
private static _tryResolve;
|
|
596
|
+
private static _tryResolveFileExtension;
|
|
597
|
+
private static _buildEnvironmentMap;
|
|
598
|
+
/**
|
|
599
|
+
* This is used when searching the shell PATH for an executable, to determine
|
|
600
|
+
* whether a match should be skipped or not. If it returns true, this does not
|
|
601
|
+
* guarantee that the file can be successfully executed.
|
|
602
|
+
*/
|
|
603
|
+
private static _canExecute;
|
|
604
|
+
/**
|
|
605
|
+
* Returns the list of folders where we will search for an executable,
|
|
606
|
+
* based on the PATH environment variable.
|
|
607
|
+
*/
|
|
608
|
+
private static _getSearchFolders;
|
|
609
|
+
private static _getExecutableContext;
|
|
610
|
+
/**
|
|
611
|
+
* Given an input string containing special symbol characters, this inserts the "^" escape
|
|
612
|
+
* character to ensure the symbols are interpreted literally by the Windows shell.
|
|
613
|
+
*/
|
|
614
|
+
private static _getEscapedForWindowsShell;
|
|
615
|
+
/**
|
|
616
|
+
* Checks for characters that are unsafe to pass to a Windows batch file
|
|
617
|
+
* due to the way that cmd.exe implements escaping.
|
|
618
|
+
*/
|
|
619
|
+
private static _validateArgsForWindowsShell;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Types for {@link IExecutableSpawnSyncOptions.stdio}
|
|
624
|
+
* and {@link IExecutableSpawnOptions.stdio}
|
|
625
|
+
* @public
|
|
626
|
+
*/
|
|
627
|
+
export declare type ExecutableStdioMapping = 'pipe' | 'ignore' | 'inherit' | ExecutableStdioStreamMapping[];
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* Typings for one of the streams inside IExecutableSpawnSyncOptions.stdio.
|
|
631
|
+
* @public
|
|
632
|
+
*/
|
|
633
|
+
export declare type ExecutableStdioStreamMapping = 'pipe' | 'ignore' | 'inherit' | NodeJS.WritableStream | NodeJS.ReadableStream | number | undefined;
|
|
634
|
+
|
|
635
|
+
/**
|
|
636
|
+
* String constants for common filenames and parts of filenames.
|
|
637
|
+
*
|
|
638
|
+
* @public
|
|
639
|
+
*/
|
|
640
|
+
export declare const FileConstants: {
|
|
641
|
+
/**
|
|
642
|
+
* "package.json" - the configuration file that defines an NPM package
|
|
643
|
+
*/
|
|
644
|
+
readonly PackageJson: "package.json";
|
|
645
|
+
};
|
|
646
|
+
|
|
647
|
+
/**
|
|
648
|
+
* An `Error` subclass that should be thrown to report an unexpected state that specifically references
|
|
649
|
+
* a location in a file.
|
|
650
|
+
*
|
|
651
|
+
* @remarks The file path provided to the FileError constructor is expected to exist on disk. FileError
|
|
652
|
+
* should not be used for reporting errors that are not in reference to an existing file.
|
|
653
|
+
*
|
|
654
|
+
* @public
|
|
655
|
+
*/
|
|
656
|
+
export declare class FileError extends Error {
|
|
657
|
+
/** @internal */
|
|
658
|
+
static _sanitizedEnvironmentVariable: string | undefined;
|
|
659
|
+
/** @internal */
|
|
660
|
+
static _environmentVariableIsAbsolutePath: boolean;
|
|
661
|
+
private static _environmentVariableBasePathFnMap;
|
|
662
|
+
/** {@inheritdoc IFileErrorOptions.absolutePath} */
|
|
663
|
+
readonly absolutePath: string;
|
|
664
|
+
/** {@inheritdoc IFileErrorOptions.projectFolder} */
|
|
665
|
+
readonly projectFolder: string;
|
|
666
|
+
/** {@inheritdoc IFileErrorOptions.line} */
|
|
667
|
+
readonly line: number | undefined;
|
|
668
|
+
/** {@inheritdoc IFileErrorOptions.column} */
|
|
669
|
+
readonly column: number | undefined;
|
|
670
|
+
/**
|
|
671
|
+
* Constructs a new instance of the {@link FileError} class.
|
|
672
|
+
*
|
|
673
|
+
* @param message - A message describing the error.
|
|
674
|
+
* @param options - Options for the error.
|
|
675
|
+
*/
|
|
676
|
+
constructor(message: string, options: IFileErrorOptions);
|
|
677
|
+
/**
|
|
678
|
+
* Get the Unix-formatted the error message.
|
|
679
|
+
*
|
|
680
|
+
* @override
|
|
681
|
+
*/
|
|
682
|
+
toString(): string;
|
|
683
|
+
/**
|
|
684
|
+
* Get the formatted error message.
|
|
685
|
+
*
|
|
686
|
+
* @param options - Options for the error message format.
|
|
687
|
+
*/
|
|
688
|
+
getFormattedErrorMessage(options?: IFileErrorFormattingOptions): string;
|
|
689
|
+
private _evaluateBaseFolder;
|
|
690
|
+
static [Symbol.hasInstance](instance: object): boolean;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
/**
|
|
694
|
+
* The format that the FileError message should conform to. The supported formats are:
|
|
695
|
+
* - Unix: `<path>:<line>:<column> - <message>`
|
|
696
|
+
* - VisualStudio: `<path>(<line>,<column>) - <message>`
|
|
697
|
+
*
|
|
698
|
+
* @public
|
|
699
|
+
*/
|
|
700
|
+
export declare type FileLocationStyle = 'Unix' | 'VisualStudio';
|
|
701
|
+
|
|
702
|
+
/**
|
|
703
|
+
* The FileSystem API provides a complete set of recommended operations for interacting with the file system.
|
|
704
|
+
*
|
|
705
|
+
* @remarks
|
|
706
|
+
* We recommend to use this instead of the native `fs` API, because `fs` is a minimal set of low-level
|
|
707
|
+
* primitives that must be mapped for each supported operating system. The FileSystem API takes a
|
|
708
|
+
* philosophical approach of providing "one obvious way" to do each operation. We also prefer synchronous
|
|
709
|
+
* operations except in cases where there would be a clear performance benefit for using async, since synchronous
|
|
710
|
+
* code is much easier to read and debug. Also, indiscriminate parallelism has been seen to actually worsen
|
|
711
|
+
* performance, versus improving it.
|
|
712
|
+
*
|
|
713
|
+
* Note that in the documentation, we refer to "filesystem objects", this can be a
|
|
714
|
+
* file, folder, symbolic link, hard link, directory junction, etc.
|
|
715
|
+
*
|
|
716
|
+
* @public
|
|
717
|
+
*/
|
|
718
|
+
export declare class FileSystem {
|
|
719
|
+
/**
|
|
720
|
+
* Returns true if the path exists on disk.
|
|
721
|
+
* Behind the scenes it uses `fs.existsSync()`.
|
|
722
|
+
* @remarks
|
|
723
|
+
* There is a debate about the fact that after `fs.existsSync()` returns true,
|
|
724
|
+
* the file might be deleted before fs.readSync() is called, which would imply that everybody
|
|
725
|
+
* should catch a `readSync()` exception, and nobody should ever use `fs.existsSync()`.
|
|
726
|
+
* We find this to be unpersuasive, since "unexceptional exceptions" really hinder the
|
|
727
|
+
* break-on-exception debugging experience. Also, throwing/catching is generally slow.
|
|
728
|
+
* @param path - The absolute or relative path to the filesystem object.
|
|
729
|
+
*/
|
|
730
|
+
static exists(path: string): boolean;
|
|
731
|
+
/**
|
|
732
|
+
* An async version of {@link FileSystem.exists}.
|
|
733
|
+
*/
|
|
734
|
+
static existsAsync(path: string): Promise<boolean>;
|
|
735
|
+
/**
|
|
736
|
+
* Gets the statistics for a particular filesystem object.
|
|
737
|
+
* If the path is a link, this function follows the link and returns statistics about the link target.
|
|
738
|
+
* Behind the scenes it uses `fs.statSync()`.
|
|
739
|
+
* @param path - The absolute or relative path to the filesystem object.
|
|
740
|
+
*/
|
|
741
|
+
static getStatistics(path: string): FileSystemStats;
|
|
742
|
+
/**
|
|
743
|
+
* An async version of {@link FileSystem.getStatistics}.
|
|
744
|
+
*/
|
|
745
|
+
static getStatisticsAsync(path: string): Promise<FileSystemStats>;
|
|
746
|
+
/**
|
|
747
|
+
* Updates the accessed and modified timestamps of the filesystem object referenced by path.
|
|
748
|
+
* Behind the scenes it uses `fs.utimesSync()`.
|
|
749
|
+
* The caller should specify both times in the `times` parameter.
|
|
750
|
+
* @param path - The path of the file that should be modified.
|
|
751
|
+
* @param times - The times that the object should be updated to reflect.
|
|
752
|
+
*/
|
|
753
|
+
static updateTimes(path: string, times: IFileSystemUpdateTimeParameters): void;
|
|
754
|
+
/**
|
|
755
|
+
* An async version of {@link FileSystem.updateTimes}.
|
|
756
|
+
*/
|
|
757
|
+
static updateTimesAsync(path: string, times: IFileSystemUpdateTimeParameters): Promise<void>;
|
|
758
|
+
/**
|
|
759
|
+
* Changes the permissions (i.e. file mode bits) for a filesystem object.
|
|
760
|
+
* Behind the scenes it uses `fs.chmodSync()`.
|
|
761
|
+
* @param path - The absolute or relative path to the object that should be updated.
|
|
762
|
+
* @param modeBits - POSIX-style file mode bits specified using the {@link PosixModeBits} enum
|
|
763
|
+
*/
|
|
764
|
+
static changePosixModeBits(path: string, modeBits: PosixModeBits): void;
|
|
765
|
+
/**
|
|
766
|
+
* An async version of {@link FileSystem.changePosixModeBits}.
|
|
767
|
+
*/
|
|
768
|
+
static changePosixModeBitsAsync(path: string, mode: PosixModeBits): Promise<void>;
|
|
769
|
+
/**
|
|
770
|
+
* Retrieves the permissions (i.e. file mode bits) for a filesystem object.
|
|
771
|
+
* Behind the scenes it uses `fs.chmodSync()`.
|
|
772
|
+
* @param path - The absolute or relative path to the object that should be updated.
|
|
773
|
+
*
|
|
774
|
+
* @remarks
|
|
775
|
+
* This calls {@link FileSystem.getStatistics} to get the POSIX mode bits.
|
|
776
|
+
* If statistics in addition to the mode bits are needed, it is more efficient
|
|
777
|
+
* to call {@link FileSystem.getStatistics} directly instead.
|
|
778
|
+
*/
|
|
779
|
+
static getPosixModeBits(path: string): PosixModeBits;
|
|
780
|
+
/**
|
|
781
|
+
* An async version of {@link FileSystem.getPosixModeBits}.
|
|
782
|
+
*/
|
|
783
|
+
static getPosixModeBitsAsync(path: string): Promise<PosixModeBits>;
|
|
784
|
+
/**
|
|
785
|
+
* Returns a 10-character string representation of a PosixModeBits value similar to what
|
|
786
|
+
* would be displayed by a command such as "ls -l" on a POSIX-like operating system.
|
|
787
|
+
* @remarks
|
|
788
|
+
* For example, `PosixModeBits.AllRead | PosixModeBits.AllWrite` would be formatted as "-rw-rw-rw-".
|
|
789
|
+
* @param modeBits - POSIX-style file mode bits specified using the {@link PosixModeBits} enum
|
|
790
|
+
*/
|
|
791
|
+
static formatPosixModeBits(modeBits: PosixModeBits): string;
|
|
792
|
+
/**
|
|
793
|
+
* Moves a file. The folder must exist, unless the `ensureFolderExists` option is provided.
|
|
794
|
+
* Behind the scenes it uses `fs-extra.moveSync()`
|
|
795
|
+
*/
|
|
796
|
+
static move(options: IFileSystemMoveOptions): void;
|
|
797
|
+
/**
|
|
798
|
+
* An async version of {@link FileSystem.move}.
|
|
799
|
+
*/
|
|
800
|
+
static moveAsync(options: IFileSystemMoveOptions): Promise<void>;
|
|
801
|
+
/**
|
|
802
|
+
* Recursively creates a folder at a given path.
|
|
803
|
+
* Behind the scenes is uses `fs-extra.ensureDirSync()`.
|
|
804
|
+
* @remarks
|
|
805
|
+
* Throws an exception if anything in the folderPath is not a folder.
|
|
806
|
+
* @param folderPath - The absolute or relative path of the folder which should be created.
|
|
807
|
+
*/
|
|
808
|
+
static ensureFolder(folderPath: string): void;
|
|
809
|
+
/**
|
|
810
|
+
* An async version of {@link FileSystem.ensureFolder}.
|
|
811
|
+
*/
|
|
812
|
+
static ensureFolderAsync(folderPath: string): Promise<void>;
|
|
813
|
+
/**
|
|
814
|
+
* Reads the names of folder entries, not including "." or "..".
|
|
815
|
+
* Behind the scenes it uses `fs.readdirSync()`.
|
|
816
|
+
* @param folderPath - The absolute or relative path to the folder which should be read.
|
|
817
|
+
* @param options - Optional settings that can change the behavior. Type: `IReadFolderOptions`
|
|
818
|
+
*/
|
|
819
|
+
static readFolderItemNames(folderPath: string, options?: IFileSystemReadFolderOptions): string[];
|
|
820
|
+
/**
|
|
821
|
+
* An async version of {@link FileSystem.readFolderItemNames}.
|
|
822
|
+
*/
|
|
823
|
+
static readFolderItemNamesAsync(folderPath: string, options?: IFileSystemReadFolderOptions): Promise<string[]>;
|
|
824
|
+
/**
|
|
825
|
+
* Reads the contents of the folder, not including "." or "..", returning objects including the
|
|
826
|
+
* entry names and types.
|
|
827
|
+
* Behind the scenes it uses `fs.readdirSync()`.
|
|
828
|
+
* @param folderPath - The absolute or relative path to the folder which should be read.
|
|
829
|
+
* @param options - Optional settings that can change the behavior. Type: `IReadFolderOptions`
|
|
830
|
+
*/
|
|
831
|
+
static readFolderItems(folderPath: string, options?: IFileSystemReadFolderOptions): FolderItem[];
|
|
832
|
+
/**
|
|
833
|
+
* An async version of {@link FileSystem.readFolderItems}.
|
|
834
|
+
*/
|
|
835
|
+
static readFolderItemsAsync(folderPath: string, options?: IFileSystemReadFolderOptions): Promise<FolderItem[]>;
|
|
836
|
+
/**
|
|
837
|
+
* Deletes a folder, including all of its contents.
|
|
838
|
+
* Behind the scenes is uses `fs-extra.removeSync()`.
|
|
839
|
+
* @remarks
|
|
840
|
+
* Does not throw if the folderPath does not exist.
|
|
841
|
+
* @param folderPath - The absolute or relative path to the folder which should be deleted.
|
|
842
|
+
*/
|
|
843
|
+
static deleteFolder(folderPath: string): void;
|
|
844
|
+
/**
|
|
845
|
+
* An async version of {@link FileSystem.deleteFolder}.
|
|
846
|
+
*/
|
|
847
|
+
static deleteFolderAsync(folderPath: string): Promise<void>;
|
|
848
|
+
/**
|
|
849
|
+
* Deletes the content of a folder, but not the folder itself. Also ensures the folder exists.
|
|
850
|
+
* Behind the scenes it uses `fs-extra.emptyDirSync()`.
|
|
851
|
+
* @remarks
|
|
852
|
+
* This is a workaround for a common race condition, where the virus scanner holds a lock on the folder
|
|
853
|
+
* for a brief period after it was deleted, causing EBUSY errors for any code that tries to recreate the folder.
|
|
854
|
+
* @param folderPath - The absolute or relative path to the folder which should have its contents deleted.
|
|
855
|
+
*/
|
|
856
|
+
static ensureEmptyFolder(folderPath: string): void;
|
|
857
|
+
/**
|
|
858
|
+
* An async version of {@link FileSystem.ensureEmptyFolder}.
|
|
859
|
+
*/
|
|
860
|
+
static ensureEmptyFolderAsync(folderPath: string): Promise<void>;
|
|
861
|
+
/**
|
|
862
|
+
* Writes a text string to a file on disk, overwriting the file if it already exists.
|
|
863
|
+
* Behind the scenes it uses `fs.writeFileSync()`.
|
|
864
|
+
* @remarks
|
|
865
|
+
* Throws an error if the folder doesn't exist, unless ensureFolder=true.
|
|
866
|
+
* @param filePath - The absolute or relative path of the file.
|
|
867
|
+
* @param contents - The text that should be written to the file.
|
|
868
|
+
* @param options - Optional settings that can change the behavior. Type: `IWriteFileOptions`
|
|
869
|
+
*/
|
|
870
|
+
static writeFile(filePath: string, contents: string | Buffer, options?: IFileSystemWriteFileOptions): void;
|
|
871
|
+
/**
|
|
872
|
+
* Writes the contents of multiple Uint8Arrays to a file on disk, overwriting the file if it already exists.
|
|
873
|
+
* Behind the scenes it uses `fs.writevSync()`.
|
|
874
|
+
*
|
|
875
|
+
* This API is useful for writing large files efficiently, especially if the input is being concatenated from
|
|
876
|
+
* multiple sources.
|
|
877
|
+
*
|
|
878
|
+
* @remarks
|
|
879
|
+
* Throws an error if the folder doesn't exist, unless ensureFolder=true.
|
|
880
|
+
* @param filePath - The absolute or relative path of the file.
|
|
881
|
+
* @param contents - The content that should be written to the file.
|
|
882
|
+
* @param options - Optional settings that can change the behavior.
|
|
883
|
+
*/
|
|
884
|
+
static writeBuffersToFile(filePath: string, contents: ReadonlyArray<NodeJS.ArrayBufferView>, options?: IFileSystemWriteBinaryFileOptions): void;
|
|
885
|
+
/**
|
|
886
|
+
* An async version of {@link FileSystem.writeFile}.
|
|
887
|
+
*/
|
|
888
|
+
static writeFileAsync(filePath: string, contents: string | Buffer, options?: IFileSystemWriteFileOptions): Promise<void>;
|
|
889
|
+
/**
|
|
890
|
+
* An async version of {@link FileSystem.writeBuffersToFile}.
|
|
891
|
+
*/
|
|
892
|
+
static writeBuffersToFileAsync(filePath: string, contents: ReadonlyArray<NodeJS.ArrayBufferView>, options?: IFileSystemWriteBinaryFileOptions): Promise<void>;
|
|
893
|
+
/**
|
|
894
|
+
* Writes a text string to a file on disk, appending to the file if it already exists.
|
|
895
|
+
* Behind the scenes it uses `fs.appendFileSync()`.
|
|
896
|
+
* @remarks
|
|
897
|
+
* Throws an error if the folder doesn't exist, unless ensureFolder=true.
|
|
898
|
+
* @param filePath - The absolute or relative path of the file.
|
|
899
|
+
* @param contents - The text that should be written to the file.
|
|
900
|
+
* @param options - Optional settings that can change the behavior. Type: `IWriteFileOptions`
|
|
901
|
+
*/
|
|
902
|
+
static appendToFile(filePath: string, contents: string | Buffer, options?: IFileSystemWriteFileOptions): void;
|
|
903
|
+
/**
|
|
904
|
+
* An async version of {@link FileSystem.appendToFile}.
|
|
905
|
+
*/
|
|
906
|
+
static appendToFileAsync(filePath: string, contents: string | Buffer, options?: IFileSystemWriteFileOptions): Promise<void>;
|
|
907
|
+
/**
|
|
908
|
+
* Reads the contents of a file into a string.
|
|
909
|
+
* Behind the scenes it uses `fs.readFileSync()`.
|
|
910
|
+
* @param filePath - The relative or absolute path to the file whose contents should be read.
|
|
911
|
+
* @param options - Optional settings that can change the behavior. Type: `IReadFileOptions`
|
|
912
|
+
*/
|
|
913
|
+
static readFile(filePath: string, options?: IFileSystemReadFileOptions): string;
|
|
914
|
+
/**
|
|
915
|
+
* An async version of {@link FileSystem.readFile}.
|
|
916
|
+
*/
|
|
917
|
+
static readFileAsync(filePath: string, options?: IFileSystemReadFileOptions): Promise<string>;
|
|
918
|
+
/**
|
|
919
|
+
* Reads the contents of a file into a buffer.
|
|
920
|
+
* Behind the scenes is uses `fs.readFileSync()`.
|
|
921
|
+
* @param filePath - The relative or absolute path to the file whose contents should be read.
|
|
922
|
+
*/
|
|
923
|
+
static readFileToBuffer(filePath: string): Buffer;
|
|
924
|
+
/**
|
|
925
|
+
* An async version of {@link FileSystem.readFileToBuffer}.
|
|
926
|
+
*/
|
|
927
|
+
static readFileToBufferAsync(filePath: string): Promise<Buffer>;
|
|
928
|
+
/**
|
|
929
|
+
* Copies a single file from one location to another.
|
|
930
|
+
* By default, destinationPath is overwritten if it already exists.
|
|
931
|
+
*
|
|
932
|
+
* @remarks
|
|
933
|
+
* The `copyFile()` API cannot be used to copy folders. It copies at most one file.
|
|
934
|
+
* Use {@link FileSystem.copyFiles} if you need to recursively copy a tree of folders.
|
|
935
|
+
*
|
|
936
|
+
* The implementation is based on `copySync()` from the `fs-extra` package.
|
|
937
|
+
*/
|
|
938
|
+
static copyFile(options: IFileSystemCopyFileOptions): void;
|
|
939
|
+
/**
|
|
940
|
+
* An async version of {@link FileSystem.copyFile}.
|
|
941
|
+
*/
|
|
942
|
+
static copyFileAsync(options: IFileSystemCopyFileOptions): Promise<void>;
|
|
943
|
+
/**
|
|
944
|
+
* Copies a file or folder from one location to another, recursively copying any folder contents.
|
|
945
|
+
* By default, destinationPath is overwritten if it already exists.
|
|
946
|
+
*
|
|
947
|
+
* @remarks
|
|
948
|
+
* If you only intend to copy a single file, it is recommended to use {@link FileSystem.copyFile}
|
|
949
|
+
* instead to more clearly communicate the intended operation.
|
|
950
|
+
*
|
|
951
|
+
* The implementation is based on `copySync()` from the `fs-extra` package.
|
|
952
|
+
*/
|
|
953
|
+
static copyFiles(options: IFileSystemCopyFilesOptions): void;
|
|
954
|
+
/**
|
|
955
|
+
* An async version of {@link FileSystem.copyFiles}.
|
|
956
|
+
*/
|
|
957
|
+
static copyFilesAsync(options: IFileSystemCopyFilesAsyncOptions): Promise<void>;
|
|
958
|
+
/**
|
|
959
|
+
* Deletes a file. Can optionally throw if the file doesn't exist.
|
|
960
|
+
* Behind the scenes it uses `fs.unlinkSync()`.
|
|
961
|
+
* @param filePath - The absolute or relative path to the file that should be deleted.
|
|
962
|
+
* @param options - Optional settings that can change the behavior. Type: `IDeleteFileOptions`
|
|
963
|
+
*/
|
|
964
|
+
static deleteFile(filePath: string, options?: IFileSystemDeleteFileOptions): void;
|
|
965
|
+
/**
|
|
966
|
+
* An async version of {@link FileSystem.deleteFile}.
|
|
967
|
+
*/
|
|
968
|
+
static deleteFileAsync(filePath: string, options?: IFileSystemDeleteFileOptions): Promise<void>;
|
|
969
|
+
/**
|
|
970
|
+
* Gets the statistics of a filesystem object. Does NOT follow the link to its target.
|
|
971
|
+
* Behind the scenes it uses `fs.lstatSync()`.
|
|
972
|
+
* @param path - The absolute or relative path to the filesystem object.
|
|
973
|
+
*/
|
|
974
|
+
static getLinkStatistics(path: string): FileSystemStats;
|
|
975
|
+
/**
|
|
976
|
+
* An async version of {@link FileSystem.getLinkStatistics}.
|
|
977
|
+
*/
|
|
978
|
+
static getLinkStatisticsAsync(path: string): Promise<FileSystemStats>;
|
|
979
|
+
/**
|
|
980
|
+
* If `path` refers to a symbolic link, this returns the path of the link target, which may be
|
|
981
|
+
* an absolute or relative path.
|
|
982
|
+
*
|
|
983
|
+
* @remarks
|
|
984
|
+
* If `path` refers to a filesystem object that is not a symbolic link, then an `ErrnoException` is thrown
|
|
985
|
+
* with code 'UNKNOWN'. If `path` does not exist, then an `ErrnoException` is thrown with code `ENOENT`.
|
|
986
|
+
*
|
|
987
|
+
* @param path - The absolute or relative path to the symbolic link.
|
|
988
|
+
* @returns the path of the link target
|
|
989
|
+
*/
|
|
990
|
+
static readLink(path: string): string;
|
|
991
|
+
/**
|
|
992
|
+
* An async version of {@link FileSystem.readLink}.
|
|
993
|
+
*/
|
|
994
|
+
static readLinkAsync(path: string): Promise<string>;
|
|
995
|
+
/**
|
|
996
|
+
* Creates an NTFS "directory junction" on Windows operating systems; for other operating systems, it
|
|
997
|
+
* creates a regular symbolic link. The link target must be a folder, not a file.
|
|
998
|
+
* Behind the scenes it uses `fs.symlinkSync()`.
|
|
999
|
+
*
|
|
1000
|
+
* @remarks
|
|
1001
|
+
* For security reasons, Windows operating systems by default require administrator elevation to create
|
|
1002
|
+
* symbolic links. As a result, on Windows it's generally recommended for Node.js tools to use hard links
|
|
1003
|
+
* (for files) or NTFS directory junctions (for folders), since regular users are allowed to create them.
|
|
1004
|
+
* Hard links and junctions are less vulnerable to symlink attacks because they cannot reference a network share,
|
|
1005
|
+
* and their target must exist at the time of link creation. Non-Windows operating systems generally don't
|
|
1006
|
+
* restrict symlink creation, and as such are more vulnerable to symlink attacks. Note that Windows can be
|
|
1007
|
+
* configured to permit regular users to create symlinks, for example by enabling Windows 10 "developer mode."
|
|
1008
|
+
*
|
|
1009
|
+
* A directory junction requires the link source and target to both be located on local disk volumes;
|
|
1010
|
+
* if not, use a symbolic link instead.
|
|
1011
|
+
*/
|
|
1012
|
+
static createSymbolicLinkJunction(options: IFileSystemCreateLinkOptions): void;
|
|
1013
|
+
/**
|
|
1014
|
+
* An async version of {@link FileSystem.createSymbolicLinkJunction}.
|
|
1015
|
+
*/
|
|
1016
|
+
static createSymbolicLinkJunctionAsync(options: IFileSystemCreateLinkOptions): Promise<void>;
|
|
1017
|
+
/**
|
|
1018
|
+
* Creates a symbolic link to a file. On Windows operating systems, this may require administrator elevation.
|
|
1019
|
+
* Behind the scenes it uses `fs.symlinkSync()`.
|
|
1020
|
+
*
|
|
1021
|
+
* @remarks
|
|
1022
|
+
* To avoid administrator elevation on Windows, use {@link FileSystem.createHardLink} instead.
|
|
1023
|
+
*
|
|
1024
|
+
* On Windows operating systems, the NTFS file system distinguishes file symlinks versus directory symlinks:
|
|
1025
|
+
* If the target is not the correct type, the symlink will be created successfully, but will fail to resolve.
|
|
1026
|
+
* Other operating systems do not make this distinction, in which case {@link FileSystem.createSymbolicLinkFile}
|
|
1027
|
+
* and {@link FileSystem.createSymbolicLinkFolder} can be used interchangeably, but doing so will make your
|
|
1028
|
+
* tool incompatible with Windows.
|
|
1029
|
+
*/
|
|
1030
|
+
static createSymbolicLinkFile(options: IFileSystemCreateLinkOptions): void;
|
|
1031
|
+
/**
|
|
1032
|
+
* An async version of {@link FileSystem.createSymbolicLinkFile}.
|
|
1033
|
+
*/
|
|
1034
|
+
static createSymbolicLinkFileAsync(options: IFileSystemCreateLinkOptions): Promise<void>;
|
|
1035
|
+
/**
|
|
1036
|
+
* Creates a symbolic link to a folder. On Windows operating systems, this may require administrator elevation.
|
|
1037
|
+
* Behind the scenes it uses `fs.symlinkSync()`.
|
|
1038
|
+
*
|
|
1039
|
+
* @remarks
|
|
1040
|
+
* To avoid administrator elevation on Windows, use {@link FileSystem.createSymbolicLinkJunction} instead.
|
|
1041
|
+
*
|
|
1042
|
+
* On Windows operating systems, the NTFS file system distinguishes file symlinks versus directory symlinks:
|
|
1043
|
+
* If the target is not the correct type, the symlink will be created successfully, but will fail to resolve.
|
|
1044
|
+
* Other operating systems do not make this distinction, in which case {@link FileSystem.createSymbolicLinkFile}
|
|
1045
|
+
* and {@link FileSystem.createSymbolicLinkFolder} can be used interchangeably, but doing so will make your
|
|
1046
|
+
* tool incompatible with Windows.
|
|
1047
|
+
*/
|
|
1048
|
+
static createSymbolicLinkFolder(options: IFileSystemCreateLinkOptions): void;
|
|
1049
|
+
/**
|
|
1050
|
+
* An async version of {@link FileSystem.createSymbolicLinkFolder}.
|
|
1051
|
+
*/
|
|
1052
|
+
static createSymbolicLinkFolderAsync(options: IFileSystemCreateLinkOptions): Promise<void>;
|
|
1053
|
+
/**
|
|
1054
|
+
* Creates a hard link. The link target must be a file, not a folder.
|
|
1055
|
+
* Behind the scenes it uses `fs.linkSync()`.
|
|
1056
|
+
*
|
|
1057
|
+
* @remarks
|
|
1058
|
+
* For security reasons, Windows operating systems by default require administrator elevation to create
|
|
1059
|
+
* symbolic links. As a result, on Windows it's generally recommended for Node.js tools to use hard links
|
|
1060
|
+
* (for files) or NTFS directory junctions (for folders), since regular users are allowed to create them.
|
|
1061
|
+
* Hard links and junctions are less vulnerable to symlink attacks because they cannot reference a network share,
|
|
1062
|
+
* and their target must exist at the time of link creation. Non-Windows operating systems generally don't
|
|
1063
|
+
* restrict symlink creation, and as such are more vulnerable to symlink attacks. Note that Windows can be
|
|
1064
|
+
* configured to permit regular users to create symlinks, for example by enabling Windows 10 "developer mode."
|
|
1065
|
+
*
|
|
1066
|
+
* A hard link requires the link source and target to both be located on same disk volume;
|
|
1067
|
+
* if not, use a symbolic link instead.
|
|
1068
|
+
*/
|
|
1069
|
+
static createHardLink(options: IFileSystemCreateLinkOptions): void;
|
|
1070
|
+
/**
|
|
1071
|
+
* An async version of {@link FileSystem.createHardLink}.
|
|
1072
|
+
*/
|
|
1073
|
+
static createHardLinkAsync(options: IFileSystemCreateLinkOptions): Promise<void>;
|
|
1074
|
+
/**
|
|
1075
|
+
* Follows a link to its destination and returns the absolute path to the final target of the link.
|
|
1076
|
+
* Behind the scenes it uses `fs.realpathSync()`.
|
|
1077
|
+
* @param linkPath - The path to the link.
|
|
1078
|
+
*/
|
|
1079
|
+
static getRealPath(linkPath: string): string;
|
|
1080
|
+
/**
|
|
1081
|
+
* An async version of {@link FileSystem.getRealPath}.
|
|
1082
|
+
*/
|
|
1083
|
+
static getRealPathAsync(linkPath: string): Promise<string>;
|
|
1084
|
+
/**
|
|
1085
|
+
* Returns true if the error object indicates the file or folder already exists (`EEXIST`).
|
|
1086
|
+
*/
|
|
1087
|
+
static isExistError(error: Error): boolean;
|
|
1088
|
+
/**
|
|
1089
|
+
* Returns true if the error object indicates the file or folder does not exist (`ENOENT` or `ENOTDIR`)
|
|
1090
|
+
*/
|
|
1091
|
+
static isNotExistError(error: Error): boolean;
|
|
1092
|
+
/**
|
|
1093
|
+
* Returns true if the error object indicates the file does not exist (`ENOENT`).
|
|
1094
|
+
*/
|
|
1095
|
+
static isFileDoesNotExistError(error: Error): boolean;
|
|
1096
|
+
/**
|
|
1097
|
+
* Returns true if the error object indicates the folder does not exist (`ENOTDIR`).
|
|
1098
|
+
*/
|
|
1099
|
+
static isFolderDoesNotExistError(error: Error): boolean;
|
|
1100
|
+
/**
|
|
1101
|
+
* Returns true if the error object indicates the target is a directory (`EISDIR`).
|
|
1102
|
+
*/
|
|
1103
|
+
static isDirectoryError(error: Error): boolean;
|
|
1104
|
+
/**
|
|
1105
|
+
* Returns true if the error object indicates the target is not a directory (`ENOTDIR`).
|
|
1106
|
+
*/
|
|
1107
|
+
static isNotDirectoryError(error: Error): boolean;
|
|
1108
|
+
/**
|
|
1109
|
+
* Returns true if the error object indicates that the `unlink` system call failed
|
|
1110
|
+
* due to a permissions issue (`EPERM`).
|
|
1111
|
+
*/
|
|
1112
|
+
static isUnlinkNotPermittedError(error: Error): boolean;
|
|
1113
|
+
/**
|
|
1114
|
+
* Detects if the provided error object is a `NodeJS.ErrnoException`
|
|
1115
|
+
*/
|
|
1116
|
+
static isErrnoException(error: Error): error is NodeJS.ErrnoException;
|
|
1117
|
+
private static _handleLink;
|
|
1118
|
+
private static _handleLinkAsync;
|
|
1119
|
+
private static _wrapException;
|
|
1120
|
+
private static _wrapExceptionAsync;
|
|
1121
|
+
private static _updateErrorMessage;
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
/**
|
|
1125
|
+
* Callback function type for {@link IFileSystemCopyFilesAsyncOptions.filter}
|
|
1126
|
+
* @public
|
|
1127
|
+
*/
|
|
1128
|
+
export declare type FileSystemCopyFilesAsyncFilter = (sourcePath: string, destinationPath: string) => Promise<boolean>;
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* Callback function type for {@link IFileSystemCopyFilesOptions.filter}
|
|
1132
|
+
* @public
|
|
1133
|
+
*/
|
|
1134
|
+
export declare type FileSystemCopyFilesFilter = (sourcePath: string, destinationPath: string) => boolean;
|
|
1135
|
+
|
|
1136
|
+
/**
|
|
1137
|
+
* An alias for the Node.js `fs.Stats` object.
|
|
1138
|
+
*
|
|
1139
|
+
* @remarks
|
|
1140
|
+
* This avoids the need to import the `fs` package when using the {@link FileSystem} API.
|
|
1141
|
+
* @public
|
|
1142
|
+
*/
|
|
1143
|
+
export declare type FileSystemStats = nodeFs.Stats;
|
|
1144
|
+
|
|
1145
|
+
/**
|
|
1146
|
+
* API for interacting with file handles.
|
|
1147
|
+
* @public
|
|
1148
|
+
*/
|
|
1149
|
+
export declare class FileWriter {
|
|
1150
|
+
/**
|
|
1151
|
+
* The `filePath` that was passed to {@link FileWriter.open}.
|
|
1152
|
+
*/
|
|
1153
|
+
readonly filePath: string;
|
|
1154
|
+
private _fileDescriptor;
|
|
1155
|
+
private constructor();
|
|
1156
|
+
/**
|
|
1157
|
+
* Opens a new file handle to the file at the specified path and given mode.
|
|
1158
|
+
* Behind the scenes it uses `fs.openSync()`.
|
|
1159
|
+
* The behaviour of this function is platform specific.
|
|
1160
|
+
* See: https://nodejs.org/docs/latest-v8.x/api/fs.html#fs_fs_open_path_flags_mode_callback
|
|
1161
|
+
* @param filePath - The absolute or relative path to the file handle that should be opened.
|
|
1162
|
+
* @param flags - The flags for opening the handle
|
|
1163
|
+
*/
|
|
1164
|
+
static open(filePath: string, flags?: IFileWriterFlags): FileWriter;
|
|
1165
|
+
/**
|
|
1166
|
+
* Helper function to convert the file writer array to a Node.js style string (e.g. "wx" or "a").
|
|
1167
|
+
* @param flags - The flags that should be converted.
|
|
1168
|
+
*/
|
|
1169
|
+
private static _convertFlagsForNode;
|
|
1170
|
+
/**
|
|
1171
|
+
* Writes some text to the given file handle. Throws if the file handle has been closed.
|
|
1172
|
+
* Behind the scenes it uses `fs.writeSync()`.
|
|
1173
|
+
* @param text - The text to write to the file.
|
|
1174
|
+
*/
|
|
1175
|
+
write(text: string): void;
|
|
1176
|
+
/**
|
|
1177
|
+
* Closes the file handle permanently. No operations can be made on this file handle after calling this.
|
|
1178
|
+
* Behind the scenes it uses `fs.closeSync()` and releases the file descriptor to be re-used.
|
|
1179
|
+
*
|
|
1180
|
+
* @remarks
|
|
1181
|
+
* The `close()` method can be called more than once; additional calls are ignored.
|
|
1182
|
+
*/
|
|
1183
|
+
close(): void;
|
|
1184
|
+
/**
|
|
1185
|
+
* Gets the statistics for the given file handle. Throws if the file handle has been closed.
|
|
1186
|
+
* Behind the scenes it uses `fs.statSync()`.
|
|
1187
|
+
*/
|
|
1188
|
+
getStatistics(): FileSystemStats;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
/**
|
|
1192
|
+
* String constants for common folder names.
|
|
1193
|
+
*
|
|
1194
|
+
* @public
|
|
1195
|
+
*/
|
|
1196
|
+
export declare const FolderConstants: {
|
|
1197
|
+
/**
|
|
1198
|
+
* ".git" - the data storage for a Git working folder
|
|
1199
|
+
*/
|
|
1200
|
+
readonly Git: ".git";
|
|
1201
|
+
/**
|
|
1202
|
+
* "node_modules" - the folder where package managers install their files
|
|
1203
|
+
*/
|
|
1204
|
+
readonly NodeModules: "node_modules";
|
|
1205
|
+
};
|
|
1206
|
+
|
|
1207
|
+
/**
|
|
1208
|
+
* An alias for the Node.js `fs.Dirent` object.
|
|
1209
|
+
*
|
|
1210
|
+
* @remarks
|
|
1211
|
+
* This avoids the need to import the `fs` package when using the {@link FileSystem} API.
|
|
1212
|
+
* @public
|
|
1213
|
+
*/
|
|
1214
|
+
export declare type FolderItem = nodeFs.Dirent;
|
|
1215
|
+
|
|
1216
|
+
/**
|
|
1217
|
+
* Options for controlling the parallelism of asynchronous operations.
|
|
1218
|
+
*
|
|
1219
|
+
* @remarks
|
|
1220
|
+
* Used with {@link (Async:class).(mapAsync:1)}, {@link (Async:class).(mapAsync:2)} and
|
|
1221
|
+
* {@link (Async:class).(forEachAsync:1)}, and {@link (Async:class).(forEachAsync:2)}.
|
|
1222
|
+
*
|
|
1223
|
+
* @public
|
|
1224
|
+
*/
|
|
1225
|
+
export declare interface IAsyncParallelismOptions {
|
|
1226
|
+
/**
|
|
1227
|
+
* Optionally used with the {@link (Async:class).(mapAsync:1)}, {@link (Async:class).(mapAsync:2)} and
|
|
1228
|
+
* {@link (Async:class).(forEachAsync:1)}, and {@link (Async:class).(forEachAsync:2)} to limit the maximum
|
|
1229
|
+
* number of concurrent promises to the specified number.
|
|
1230
|
+
*/
|
|
1231
|
+
concurrency?: number;
|
|
1232
|
+
/**
|
|
1233
|
+
* Optionally used with the {@link (Async:class).(forEachAsync:2)} to enable weighted operations where an operation can
|
|
1234
|
+
* take up more or less than one concurrency unit.
|
|
1235
|
+
*/
|
|
1236
|
+
weighted?: boolean;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
/**
|
|
1240
|
+
* This interface is part of the {@link IPackageJson} file format. It is used for the
|
|
1241
|
+
* "dependenciesMeta" field.
|
|
1242
|
+
* @public
|
|
1243
|
+
*/
|
|
1244
|
+
export declare interface IDependenciesMetaTable {
|
|
1245
|
+
[dependencyName: string]: {
|
|
1246
|
+
injected?: boolean;
|
|
1247
|
+
};
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
/**
|
|
1251
|
+
* A process environment variable name and its value. Used by {@link EnvironmentMap}.
|
|
1252
|
+
* @public
|
|
1253
|
+
*/
|
|
1254
|
+
export declare interface IEnvironmentEntry {
|
|
1255
|
+
/**
|
|
1256
|
+
* The name of the environment variable.
|
|
1257
|
+
*/
|
|
1258
|
+
name: string;
|
|
1259
|
+
/**
|
|
1260
|
+
* The value of the environment variable.
|
|
1261
|
+
*/
|
|
1262
|
+
value: string;
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
/**
|
|
1266
|
+
* Options for Executable.tryResolve().
|
|
1267
|
+
* @public
|
|
1268
|
+
*/
|
|
1269
|
+
export declare interface IExecutableResolveOptions {
|
|
1270
|
+
/**
|
|
1271
|
+
* The current working directory. If omitted, process.cwd() will be used.
|
|
1272
|
+
*/
|
|
1273
|
+
currentWorkingDirectory?: string;
|
|
1274
|
+
/**
|
|
1275
|
+
* The environment variables for the child process.
|
|
1276
|
+
*
|
|
1277
|
+
* @remarks
|
|
1278
|
+
* If `environment` and `environmentMap` are both omitted, then `process.env` will be used.
|
|
1279
|
+
* If `environment` and `environmentMap` cannot both be specified.
|
|
1280
|
+
*/
|
|
1281
|
+
environment?: NodeJS.ProcessEnv;
|
|
1282
|
+
/**
|
|
1283
|
+
* The environment variables for the child process.
|
|
1284
|
+
*
|
|
1285
|
+
* @remarks
|
|
1286
|
+
* If `environment` and `environmentMap` are both omitted, then `process.env` will be used.
|
|
1287
|
+
* If `environment` and `environmentMap` cannot both be specified.
|
|
1288
|
+
*/
|
|
1289
|
+
environmentMap?: EnvironmentMap;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
/**
|
|
1293
|
+
* Options for {@link Executable.spawn}
|
|
1294
|
+
* @public
|
|
1295
|
+
*/
|
|
1296
|
+
export declare interface IExecutableSpawnOptions extends IExecutableResolveOptions {
|
|
1297
|
+
/**
|
|
1298
|
+
* The stdio mappings for the child process.
|
|
1299
|
+
*
|
|
1300
|
+
* NOTE: If IExecutableSpawnSyncOptions.input is provided, it will take precedence
|
|
1301
|
+
* over the stdin mapping (stdio[0]).
|
|
1302
|
+
*/
|
|
1303
|
+
stdio?: ExecutableStdioMapping;
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
/**
|
|
1307
|
+
* Options for {@link Executable.spawnSync}
|
|
1308
|
+
* @public
|
|
1309
|
+
*/
|
|
1310
|
+
export declare interface IExecutableSpawnSyncOptions extends IExecutableResolveOptions {
|
|
1311
|
+
/**
|
|
1312
|
+
* The content to be passed to the child process's stdin.
|
|
1313
|
+
*
|
|
1314
|
+
* NOTE: If specified, this content replaces any IExecutableSpawnSyncOptions.stdio[0]
|
|
1315
|
+
* mapping for stdin.
|
|
1316
|
+
*/
|
|
1317
|
+
input?: string;
|
|
1318
|
+
/**
|
|
1319
|
+
* The stdio mappings for the child process.
|
|
1320
|
+
*
|
|
1321
|
+
* NOTE: If IExecutableSpawnSyncOptions.input is provided, it will take precedence
|
|
1322
|
+
* over the stdin mapping (stdio[0]).
|
|
1323
|
+
*/
|
|
1324
|
+
stdio?: ExecutableStdioMapping;
|
|
1325
|
+
/**
|
|
1326
|
+
* The maximum time the process is allowed to run before it will be terminated.
|
|
1327
|
+
*/
|
|
1328
|
+
timeoutMs?: number;
|
|
1329
|
+
/**
|
|
1330
|
+
* The largest amount of bytes allowed on stdout or stderr for this synchronous operation.
|
|
1331
|
+
* If exceeded, the child process will be terminated. The default is 200 * 1024.
|
|
1332
|
+
*/
|
|
1333
|
+
maxBuffer?: number;
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1336
|
+
/**
|
|
1337
|
+
* Provides options for the output message of a file error.
|
|
1338
|
+
*
|
|
1339
|
+
* @public
|
|
1340
|
+
*/
|
|
1341
|
+
export declare interface IFileErrorFormattingOptions {
|
|
1342
|
+
/**
|
|
1343
|
+
* The format for the error message. If no format is provided, format 'Unix' is used by default.
|
|
1344
|
+
*/
|
|
1345
|
+
format?: FileLocationStyle;
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
/**
|
|
1349
|
+
* Provides options for the creation of a FileError.
|
|
1350
|
+
*
|
|
1351
|
+
* @public
|
|
1352
|
+
*/
|
|
1353
|
+
export declare interface IFileErrorOptions {
|
|
1354
|
+
/**
|
|
1355
|
+
* The absolute path to the file that contains the error.
|
|
1356
|
+
*/
|
|
1357
|
+
absolutePath: string;
|
|
1358
|
+
/**
|
|
1359
|
+
* The root folder for the project that the error is in relation to.
|
|
1360
|
+
*/
|
|
1361
|
+
projectFolder: string;
|
|
1362
|
+
/**
|
|
1363
|
+
* The line number of the error in the target file. Minimum value is 1.
|
|
1364
|
+
*/
|
|
1365
|
+
line?: number;
|
|
1366
|
+
/**
|
|
1367
|
+
* The column number of the error in the target file. Minimum value is 1.
|
|
1368
|
+
*/
|
|
1369
|
+
column?: number;
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
/**
|
|
1373
|
+
* @public
|
|
1374
|
+
*/
|
|
1375
|
+
export declare interface IFileSystemCopyFileBaseOptions {
|
|
1376
|
+
/**
|
|
1377
|
+
* The path of the existing object to be copied.
|
|
1378
|
+
* The path may be absolute or relative.
|
|
1379
|
+
*/
|
|
1380
|
+
sourcePath: string;
|
|
1381
|
+
/**
|
|
1382
|
+
* Specifies what to do if the destination path already exists.
|
|
1383
|
+
* @defaultValue {@link AlreadyExistsBehavior.Overwrite}
|
|
1384
|
+
*/
|
|
1385
|
+
alreadyExistsBehavior?: AlreadyExistsBehavior;
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
/**
|
|
1389
|
+
* The options for {@link FileSystem.copyFile}
|
|
1390
|
+
* @public
|
|
1391
|
+
*/
|
|
1392
|
+
export declare interface IFileSystemCopyFileOptions extends IFileSystemCopyFileBaseOptions {
|
|
1393
|
+
/**
|
|
1394
|
+
* The path that the object will be copied to.
|
|
1395
|
+
* The path may be absolute or relative.
|
|
1396
|
+
*/
|
|
1397
|
+
destinationPath: string;
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1400
|
+
/**
|
|
1401
|
+
* The options for {@link FileSystem.copyFilesAsync}
|
|
1402
|
+
* @public
|
|
1403
|
+
*/
|
|
1404
|
+
export declare interface IFileSystemCopyFilesAsyncOptions {
|
|
1405
|
+
/**
|
|
1406
|
+
* The starting path of the file or folder to be copied.
|
|
1407
|
+
* The path may be absolute or relative.
|
|
1408
|
+
*/
|
|
1409
|
+
sourcePath: string;
|
|
1410
|
+
/**
|
|
1411
|
+
* The path that the files will be copied to.
|
|
1412
|
+
* The path may be absolute or relative.
|
|
1413
|
+
*/
|
|
1414
|
+
destinationPath: string;
|
|
1415
|
+
/**
|
|
1416
|
+
* If true, then when copying symlinks, copy the target object instead of copying the link.
|
|
1417
|
+
*/
|
|
1418
|
+
dereferenceSymlinks?: boolean;
|
|
1419
|
+
/**
|
|
1420
|
+
* Specifies what to do if a destination path already exists.
|
|
1421
|
+
*
|
|
1422
|
+
* @remarks
|
|
1423
|
+
* This setting is applied individually for each file being copied.
|
|
1424
|
+
* For example, `AlreadyExistsBehavior.Overwrite` will not recursively delete a folder
|
|
1425
|
+
* whose path corresponds to an individual file that is being copied to that location.
|
|
1426
|
+
*/
|
|
1427
|
+
alreadyExistsBehavior?: AlreadyExistsBehavior;
|
|
1428
|
+
/**
|
|
1429
|
+
* If true, then the target object will be assigned "last modification" and "last access" timestamps
|
|
1430
|
+
* that are the same as the source. Otherwise, the OS default timestamps are assigned.
|
|
1431
|
+
*/
|
|
1432
|
+
preserveTimestamps?: boolean;
|
|
1433
|
+
/**
|
|
1434
|
+
* A callback that will be invoked for each path that is copied. The callback can return `false`
|
|
1435
|
+
* to cause the object to be excluded from the operation.
|
|
1436
|
+
*/
|
|
1437
|
+
filter?: FileSystemCopyFilesAsyncFilter | FileSystemCopyFilesFilter;
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1440
|
+
/**
|
|
1441
|
+
* The options for {@link FileSystem.copyFiles}
|
|
1442
|
+
* @public
|
|
1443
|
+
*/
|
|
1444
|
+
export declare interface IFileSystemCopyFilesOptions extends IFileSystemCopyFilesAsyncOptions {
|
|
1445
|
+
/** {@inheritdoc IFileSystemCopyFilesAsyncOptions.filter} */
|
|
1446
|
+
filter?: FileSystemCopyFilesFilter;
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
/**
|
|
1450
|
+
* The options for {@link FileSystem.createSymbolicLinkJunction}, {@link FileSystem.createSymbolicLinkFile},
|
|
1451
|
+
* {@link FileSystem.createSymbolicLinkFolder}, and {@link FileSystem.createHardLink}.
|
|
1452
|
+
*
|
|
1453
|
+
* @public
|
|
1454
|
+
*/
|
|
1455
|
+
export declare interface IFileSystemCreateLinkOptions {
|
|
1456
|
+
/**
|
|
1457
|
+
* The newly created symbolic link will point to `linkTargetPath` as its target.
|
|
1458
|
+
*/
|
|
1459
|
+
linkTargetPath: string;
|
|
1460
|
+
/**
|
|
1461
|
+
* The newly created symbolic link will have this path.
|
|
1462
|
+
*/
|
|
1463
|
+
newLinkPath: string;
|
|
1464
|
+
/**
|
|
1465
|
+
* Specifies what to do if the path to create already exists.
|
|
1466
|
+
* The default is `AlreadyExistsBehavior.Error`.
|
|
1467
|
+
*/
|
|
1468
|
+
alreadyExistsBehavior?: AlreadyExistsBehavior;
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
/**
|
|
1472
|
+
* The options for {@link FileSystem.deleteFile}
|
|
1473
|
+
* @public
|
|
1474
|
+
*/
|
|
1475
|
+
export declare interface IFileSystemDeleteFileOptions {
|
|
1476
|
+
/**
|
|
1477
|
+
* If true, will throw an exception if the file did not exist before `deleteFile()` was called.
|
|
1478
|
+
* @defaultValue false
|
|
1479
|
+
*/
|
|
1480
|
+
throwIfNotExists?: boolean;
|
|
1481
|
+
}
|
|
1482
|
+
|
|
1483
|
+
/**
|
|
1484
|
+
* The options for {@link FileSystem.move}
|
|
1485
|
+
* @public
|
|
1486
|
+
*/
|
|
1487
|
+
export declare interface IFileSystemMoveOptions {
|
|
1488
|
+
/**
|
|
1489
|
+
* The path of the existing object to be moved.
|
|
1490
|
+
* The path may be absolute or relative.
|
|
1491
|
+
*/
|
|
1492
|
+
sourcePath: string;
|
|
1493
|
+
/**
|
|
1494
|
+
* The new path for the object.
|
|
1495
|
+
* The path may be absolute or relative.
|
|
1496
|
+
*/
|
|
1497
|
+
destinationPath: string;
|
|
1498
|
+
/**
|
|
1499
|
+
* If true, will overwrite the file if it already exists.
|
|
1500
|
+
* @defaultValue true
|
|
1501
|
+
*/
|
|
1502
|
+
overwrite?: boolean;
|
|
1503
|
+
/**
|
|
1504
|
+
* If true, will ensure the folder is created before writing the file.
|
|
1505
|
+
* @defaultValue false
|
|
1506
|
+
*/
|
|
1507
|
+
ensureFolderExists?: boolean;
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1510
|
+
/**
|
|
1511
|
+
* The options for {@link FileSystem.readFile}
|
|
1512
|
+
* @public
|
|
1513
|
+
*/
|
|
1514
|
+
export declare interface IFileSystemReadFileOptions {
|
|
1515
|
+
/**
|
|
1516
|
+
* If specified, will change the encoding of the file that will be written.
|
|
1517
|
+
* @defaultValue Encoding.Utf8
|
|
1518
|
+
*/
|
|
1519
|
+
encoding?: Encoding;
|
|
1520
|
+
/**
|
|
1521
|
+
* If specified, will normalize line endings to the specified style of newline.
|
|
1522
|
+
* @defaultValue `undefined` which means no conversion will be performed
|
|
1523
|
+
*/
|
|
1524
|
+
convertLineEndings?: NewlineKind;
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
/**
|
|
1528
|
+
* The options for {@link FileSystem.readFolderItems} and {@link FileSystem.readFolderItemNames}.
|
|
1529
|
+
* @public
|
|
1530
|
+
*/
|
|
1531
|
+
export declare interface IFileSystemReadFolderOptions {
|
|
1532
|
+
/**
|
|
1533
|
+
* If true, returns the absolute paths of the files in the folder.
|
|
1534
|
+
* @defaultValue false
|
|
1535
|
+
*/
|
|
1536
|
+
absolutePaths?: boolean;
|
|
1537
|
+
}
|
|
1538
|
+
|
|
1539
|
+
/**
|
|
1540
|
+
* The options for {@link FileSystem.updateTimes}
|
|
1541
|
+
* Both times must be specified.
|
|
1542
|
+
* @public
|
|
1543
|
+
*/
|
|
1544
|
+
export declare interface IFileSystemUpdateTimeParameters {
|
|
1545
|
+
/**
|
|
1546
|
+
* The POSIX epoch time or Date when this was last accessed.
|
|
1547
|
+
*/
|
|
1548
|
+
accessedTime: number | Date;
|
|
1549
|
+
/**
|
|
1550
|
+
* The POSIX epoch time or Date when this was last modified
|
|
1551
|
+
*/
|
|
1552
|
+
modifiedTime: number | Date;
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
/**
|
|
1556
|
+
* The options for {@link FileSystem.writeBuffersToFile}
|
|
1557
|
+
* @public
|
|
1558
|
+
*/
|
|
1559
|
+
export declare interface IFileSystemWriteBinaryFileOptions {
|
|
1560
|
+
/**
|
|
1561
|
+
* If true, will ensure the folder is created before writing the file.
|
|
1562
|
+
* @defaultValue false
|
|
1563
|
+
*/
|
|
1564
|
+
ensureFolderExists?: boolean;
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
/**
|
|
1568
|
+
* The options for {@link FileSystem.writeFile}
|
|
1569
|
+
* @public
|
|
1570
|
+
*/
|
|
1571
|
+
export declare interface IFileSystemWriteFileOptions extends IFileSystemWriteBinaryFileOptions {
|
|
1572
|
+
/**
|
|
1573
|
+
* If specified, will normalize line endings to the specified style of newline.
|
|
1574
|
+
* @defaultValue `undefined` which means no conversion will be performed
|
|
1575
|
+
*/
|
|
1576
|
+
convertLineEndings?: NewlineKind;
|
|
1577
|
+
/**
|
|
1578
|
+
* If specified, will change the encoding of the file that will be written.
|
|
1579
|
+
* @defaultValue "utf8"
|
|
1580
|
+
*/
|
|
1581
|
+
encoding?: Encoding;
|
|
1582
|
+
}
|
|
1583
|
+
|
|
1584
|
+
/**
|
|
1585
|
+
* Interface which represents the flags about which mode the file should be opened in.
|
|
1586
|
+
* @public
|
|
1587
|
+
*/
|
|
1588
|
+
export declare interface IFileWriterFlags {
|
|
1589
|
+
/**
|
|
1590
|
+
* Open file for appending.
|
|
1591
|
+
*/
|
|
1592
|
+
append?: boolean;
|
|
1593
|
+
/**
|
|
1594
|
+
* Fails if path exists. The exclusive flag ensures that path is newly created.
|
|
1595
|
+
*
|
|
1596
|
+
* @remarks
|
|
1597
|
+
* On POSIX-like operating systems, path is considered to exist even if it is a symlink to a
|
|
1598
|
+
* non-existent file. The exclusive flag may or may not work with network file systems.
|
|
1599
|
+
*
|
|
1600
|
+
* POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
|
|
1601
|
+
*/
|
|
1602
|
+
exclusive?: boolean;
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1605
|
+
/**
|
|
1606
|
+
* Common options shared by {@link IImportResolveModuleAsyncOptions} and {@link IImportResolvePackageAsyncOptions}
|
|
1607
|
+
* @public
|
|
1608
|
+
*/
|
|
1609
|
+
export declare interface IImportResolveAsyncOptions extends IImportResolveOptions {
|
|
1610
|
+
/**
|
|
1611
|
+
* A function used to resolve the realpath of a provided file path.
|
|
1612
|
+
*
|
|
1613
|
+
* @remarks
|
|
1614
|
+
* This is used to resolve symlinks and other non-standard file paths. By default, this uses the
|
|
1615
|
+
* {@link FileSystem.getRealPath} function. However, it can be overridden to use a custom implementation
|
|
1616
|
+
* which may be faster, more accurate, or provide support for additional non-standard file paths.
|
|
1617
|
+
*/
|
|
1618
|
+
getRealPathAsync?: (filePath: string) => Promise<string>;
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
/**
|
|
1622
|
+
* Options for {@link Import.resolveModuleAsync}
|
|
1623
|
+
* @public
|
|
1624
|
+
*/
|
|
1625
|
+
export declare interface IImportResolveModuleAsyncOptions extends IImportResolveAsyncOptions {
|
|
1626
|
+
/**
|
|
1627
|
+
* The module identifier to resolve. For example "\@rushstack/node-core-library" or
|
|
1628
|
+
* "\@rushstack/node-core-library/lib/index.js"
|
|
1629
|
+
*/
|
|
1630
|
+
modulePath: string;
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
/**
|
|
1634
|
+
* Options for {@link Import.resolveModule}
|
|
1635
|
+
* @public
|
|
1636
|
+
*/
|
|
1637
|
+
export declare interface IImportResolveModuleOptions extends IImportResolveOptions {
|
|
1638
|
+
/**
|
|
1639
|
+
* The module identifier to resolve. For example "\@rushstack/node-core-library" or
|
|
1640
|
+
* "\@rushstack/node-core-library/lib/index.js"
|
|
1641
|
+
*/
|
|
1642
|
+
modulePath: string;
|
|
1643
|
+
}
|
|
1644
|
+
|
|
1645
|
+
/**
|
|
1646
|
+
* Common options shared by {@link IImportResolveModuleOptions} and {@link IImportResolvePackageOptions}
|
|
1647
|
+
* @public
|
|
1648
|
+
*/
|
|
1649
|
+
export declare interface IImportResolveOptions {
|
|
1650
|
+
/**
|
|
1651
|
+
* The path from which {@link IImportResolveModuleOptions.modulePath} or
|
|
1652
|
+
* {@link IImportResolvePackageOptions.packageName} should be resolved.
|
|
1653
|
+
*/
|
|
1654
|
+
baseFolderPath: string;
|
|
1655
|
+
/**
|
|
1656
|
+
* If true, if the package name matches a Node.js system module, then the return
|
|
1657
|
+
* value will be the package name without any path.
|
|
1658
|
+
*
|
|
1659
|
+
* @remarks
|
|
1660
|
+
* This will take precedence over an installed NPM package of the same name.
|
|
1661
|
+
*
|
|
1662
|
+
* Example:
|
|
1663
|
+
* ```ts
|
|
1664
|
+
* // Returns the string "fs" indicating the Node.js system module
|
|
1665
|
+
* Import.resolveModulePath({
|
|
1666
|
+
* resolvePath: "fs",
|
|
1667
|
+
* basePath: process.cwd()
|
|
1668
|
+
* })
|
|
1669
|
+
* ```
|
|
1670
|
+
*/
|
|
1671
|
+
includeSystemModules?: boolean;
|
|
1672
|
+
/**
|
|
1673
|
+
* If true, then resolvePath is allowed to refer to the package.json of the active project.
|
|
1674
|
+
*
|
|
1675
|
+
* @remarks
|
|
1676
|
+
* This will take precedence over any installed dependency with the same name.
|
|
1677
|
+
* Note that this requires an additional PackageJsonLookup calculation.
|
|
1678
|
+
*
|
|
1679
|
+
* Example:
|
|
1680
|
+
* ```ts
|
|
1681
|
+
* // Returns an absolute path to the current package
|
|
1682
|
+
* Import.resolveModulePath({
|
|
1683
|
+
* resolvePath: "current-project",
|
|
1684
|
+
* basePath: process.cwd(),
|
|
1685
|
+
* allowSelfReference: true
|
|
1686
|
+
* })
|
|
1687
|
+
* ```
|
|
1688
|
+
*/
|
|
1689
|
+
allowSelfReference?: boolean;
|
|
1690
|
+
/**
|
|
1691
|
+
* A function used to resolve the realpath of a provided file path.
|
|
1692
|
+
*
|
|
1693
|
+
* @remarks
|
|
1694
|
+
* This is used to resolve symlinks and other non-standard file paths. By default, this uses the
|
|
1695
|
+
* {@link FileSystem.getRealPath} function. However, it can be overridden to use a custom implementation
|
|
1696
|
+
* which may be faster, more accurate, or provide support for additional non-standard file paths.
|
|
1697
|
+
*/
|
|
1698
|
+
getRealPath?: (filePath: string) => string;
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
/**
|
|
1702
|
+
* Options for {@link Import.resolvePackageAsync}
|
|
1703
|
+
* @public
|
|
1704
|
+
*/
|
|
1705
|
+
export declare interface IImportResolvePackageAsyncOptions extends IImportResolveAsyncOptions {
|
|
1706
|
+
/**
|
|
1707
|
+
* The package name to resolve. For example "\@rushstack/node-core-library"
|
|
1708
|
+
*/
|
|
1709
|
+
packageName: string;
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1712
|
+
/**
|
|
1713
|
+
* Options for {@link Import.resolvePackage}
|
|
1714
|
+
* @public
|
|
1715
|
+
*/
|
|
1716
|
+
export declare interface IImportResolvePackageOptions extends IImportResolveOptions {
|
|
1717
|
+
/**
|
|
1718
|
+
* The package name to resolve. For example "\@rushstack/node-core-library"
|
|
1719
|
+
*/
|
|
1720
|
+
packageName: string;
|
|
1721
|
+
/**
|
|
1722
|
+
* If true, then the module path will be resolved using Node.js's built-in resolution algorithm.
|
|
1723
|
+
*
|
|
1724
|
+
* @remarks
|
|
1725
|
+
* This allows reusing Node's built-in resolver cache.
|
|
1726
|
+
* This implies `allowSelfReference: true`. The passed `getRealPath` will only be used on `baseFolderPath`.
|
|
1727
|
+
*/
|
|
1728
|
+
useNodeJSResolver?: boolean;
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
/**
|
|
1732
|
+
* Options for {@link JsonFile.loadAndValidate} and {@link JsonFile.loadAndValidateAsync}
|
|
1733
|
+
*
|
|
1734
|
+
* @public
|
|
1735
|
+
*/
|
|
1736
|
+
export declare interface IJsonFileLoadAndValidateOptions extends IJsonFileParseOptions, IJsonSchemaValidateOptions {
|
|
1737
|
+
}
|
|
1738
|
+
|
|
1739
|
+
/**
|
|
1740
|
+
* Options for {@link JsonFile.parseString}, {@link JsonFile.load}, and {@link JsonFile.loadAsync}.
|
|
1741
|
+
*
|
|
1742
|
+
* @public
|
|
1743
|
+
*/
|
|
1744
|
+
export declare interface IJsonFileParseOptions {
|
|
1745
|
+
/**
|
|
1746
|
+
* Specifies the variant of JSON syntax to be used.
|
|
1747
|
+
*
|
|
1748
|
+
* @defaultValue
|
|
1749
|
+
* {@link JsonSyntax.Json5}
|
|
1750
|
+
*
|
|
1751
|
+
* NOTE: This default will be changed to `JsonSyntax.JsonWithComments` in a future release.
|
|
1752
|
+
*/
|
|
1753
|
+
jsonSyntax?: JsonSyntax;
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
/**
|
|
1757
|
+
* Options for {@link JsonFile.save} and {@link JsonFile.saveAsync}.
|
|
1758
|
+
*
|
|
1759
|
+
* @public
|
|
1760
|
+
*/
|
|
1761
|
+
export declare interface IJsonFileSaveOptions extends IJsonFileStringifyOptions {
|
|
1762
|
+
/**
|
|
1763
|
+
* If there is an existing file, and the contents have not changed, then
|
|
1764
|
+
* don't write anything; this preserves the old timestamp.
|
|
1765
|
+
*/
|
|
1766
|
+
onlyIfChanged?: boolean;
|
|
1767
|
+
/**
|
|
1768
|
+
* Creates the folder recursively using FileSystem.ensureFolder()
|
|
1769
|
+
* Defaults to false.
|
|
1770
|
+
*/
|
|
1771
|
+
ensureFolderExists?: boolean;
|
|
1772
|
+
/**
|
|
1773
|
+
* If true, use the "jju" library to preserve the existing JSON formatting: The file will be loaded
|
|
1774
|
+
* from the target filename, the new content will be merged in (preserving whitespace and comments),
|
|
1775
|
+
* and then the file will be overwritten with the merged contents. If the target file does not exist,
|
|
1776
|
+
* then the file is saved normally.
|
|
1777
|
+
*/
|
|
1778
|
+
updateExistingFile?: boolean;
|
|
1779
|
+
}
|
|
1780
|
+
|
|
1781
|
+
/**
|
|
1782
|
+
* Options for {@link JsonFile.stringify}
|
|
1783
|
+
*
|
|
1784
|
+
* @public
|
|
1785
|
+
*/
|
|
1786
|
+
export declare interface IJsonFileStringifyOptions extends IJsonFileParseOptions {
|
|
1787
|
+
/**
|
|
1788
|
+
* If provided, the specified newline type will be used instead of the default `\r\n`.
|
|
1789
|
+
*/
|
|
1790
|
+
newlineConversion?: NewlineKind;
|
|
1791
|
+
/**
|
|
1792
|
+
* By default, {@link JsonFile.stringify} validates that the object does not contain any
|
|
1793
|
+
* keys whose value is `undefined`. To disable this validation, set
|
|
1794
|
+
* {@link IJsonFileStringifyOptions.ignoreUndefinedValues} to `true`
|
|
1795
|
+
* which causes such keys to be silently discarded, consistent with the system `JSON.stringify()`.
|
|
1796
|
+
*
|
|
1797
|
+
* @remarks
|
|
1798
|
+
*
|
|
1799
|
+
* The JSON file format can represent `null` values ({@link JsonNull}) but not `undefined` values.
|
|
1800
|
+
* In ECMAScript code however, we generally avoid `null` and always represent empty states
|
|
1801
|
+
* as `undefined`, because it is the default value of missing/uninitialized variables.
|
|
1802
|
+
* (In practice, distinguishing "null" versus "uninitialized" has more drawbacks than benefits.)
|
|
1803
|
+
* This poses a problem when serializing ECMAScript objects that contain `undefined` members.
|
|
1804
|
+
* As a safeguard, {@link JsonFile} will report an error if any `undefined` values are encountered
|
|
1805
|
+
* during serialization. Set {@link IJsonFileStringifyOptions.ignoreUndefinedValues} to `true`
|
|
1806
|
+
* to disable this safeguard.
|
|
1807
|
+
*/
|
|
1808
|
+
ignoreUndefinedValues?: boolean;
|
|
1809
|
+
/**
|
|
1810
|
+
* If true, then the "jju" library will be used to improve the text formatting.
|
|
1811
|
+
* Note that this is slightly slower than the native JSON.stringify() implementation.
|
|
1812
|
+
*/
|
|
1813
|
+
prettyFormatting?: boolean;
|
|
1814
|
+
/**
|
|
1815
|
+
* If specified, this header will be prepended to the start of the file. The header must consist
|
|
1816
|
+
* of lines prefixed by "//" characters.
|
|
1817
|
+
* @remarks
|
|
1818
|
+
* When used with {@link IJsonFileSaveOptions.updateExistingFile}
|
|
1819
|
+
* or {@link JsonFile.updateString}, the header will ONLY be added for a newly created file.
|
|
1820
|
+
*/
|
|
1821
|
+
headerComment?: string;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
/**
|
|
1825
|
+
* A definition for a custom format to consider during validation.
|
|
1826
|
+
* @public
|
|
1827
|
+
*/
|
|
1828
|
+
export declare interface IJsonSchemaCustomFormat<T extends string | number> {
|
|
1829
|
+
/**
|
|
1830
|
+
* The base JSON type.
|
|
1831
|
+
*/
|
|
1832
|
+
type: T extends string ? 'string' : T extends number ? 'number' : never;
|
|
1833
|
+
/**
|
|
1834
|
+
* A validation function for the format.
|
|
1835
|
+
* @param data - The raw field data to validate.
|
|
1836
|
+
* @returns whether the data is valid according to the format.
|
|
1837
|
+
*/
|
|
1838
|
+
validate: (data: T) => boolean;
|
|
1839
|
+
}
|
|
1840
|
+
|
|
1841
|
+
/**
|
|
1842
|
+
* Callback function arguments for {@link JsonSchema.validateObjectWithCallback}
|
|
1843
|
+
* @public
|
|
1844
|
+
*/
|
|
1845
|
+
export declare interface IJsonSchemaErrorInfo {
|
|
1846
|
+
/**
|
|
1847
|
+
* The ajv error list, formatted as an indented text string.
|
|
1848
|
+
*/
|
|
1849
|
+
details: string;
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
/**
|
|
1853
|
+
* Options for {@link JsonSchema.fromFile}
|
|
1854
|
+
* @public
|
|
1855
|
+
*/
|
|
1856
|
+
export declare type IJsonSchemaFromFileOptions = IJsonSchemaLoadOptions;
|
|
1857
|
+
|
|
1858
|
+
/**
|
|
1859
|
+
* Options for {@link JsonSchema.fromLoadedObject}
|
|
1860
|
+
* @public
|
|
1861
|
+
*/
|
|
1862
|
+
export declare type IJsonSchemaFromObjectOptions = IJsonSchemaLoadOptions;
|
|
1863
|
+
|
|
1864
|
+
/**
|
|
1865
|
+
* Options for {@link JsonSchema.fromFile} and {@link JsonSchema.fromLoadedObject}
|
|
1866
|
+
* @public
|
|
1867
|
+
*/
|
|
1868
|
+
export declare interface IJsonSchemaLoadOptions {
|
|
1869
|
+
/**
|
|
1870
|
+
* Other schemas that this schema references, e.g. via the "$ref" directive.
|
|
1871
|
+
* @remarks
|
|
1872
|
+
* The tree of dependent schemas may reference the same schema more than once.
|
|
1873
|
+
* However, if the same schema "$id" is used by two different JsonSchema instances,
|
|
1874
|
+
* an error will be reported. This means you cannot load the same filename twice
|
|
1875
|
+
* and use them both together, and you cannot have diamond dependencies on different
|
|
1876
|
+
* versions of the same schema. Although technically this would be possible to support,
|
|
1877
|
+
* it normally indicates an error or design problem.
|
|
1878
|
+
*
|
|
1879
|
+
* JsonSchema also does not allow circular references between schema dependencies.
|
|
1880
|
+
*/
|
|
1881
|
+
dependentSchemas?: JsonSchema[];
|
|
1882
|
+
/**
|
|
1883
|
+
* The json-schema version to target for validation.
|
|
1884
|
+
*
|
|
1885
|
+
* @defaultValue draft-07
|
|
1886
|
+
*
|
|
1887
|
+
* @remarks
|
|
1888
|
+
* If the a version is not explicitly set, the schema object's `$schema` property
|
|
1889
|
+
* will be inspected to determine the version. If a `$schema` property is not found
|
|
1890
|
+
* or does not match an expected URL, the default version will be used.
|
|
1891
|
+
*/
|
|
1892
|
+
schemaVersion?: JsonSchemaVersion;
|
|
1893
|
+
/**
|
|
1894
|
+
* Any custom formats to consider during validation. Some standard formats are supported
|
|
1895
|
+
* out-of-the-box (e.g. emails, uris), but additional formats can be defined here. You could
|
|
1896
|
+
* for example define generic numeric formats (e.g. uint8) or domain-specific formats.
|
|
1897
|
+
*/
|
|
1898
|
+
customFormats?: Record<string, IJsonSchemaCustomFormat<string> | IJsonSchemaCustomFormat<number>>;
|
|
1899
|
+
}
|
|
1900
|
+
|
|
1901
|
+
/**
|
|
1902
|
+
* Options for {@link JsonSchema.validateObjectWithCallback}
|
|
1903
|
+
* @public
|
|
1904
|
+
*/
|
|
1905
|
+
export declare interface IJsonSchemaValidateObjectWithOptions {
|
|
1906
|
+
/**
|
|
1907
|
+
* If true, the root-level `$schema` property in a JSON object being validated will be ignored during validation.
|
|
1908
|
+
* If this is set to `true` and the schema requires a `$schema` property, validation will fail.
|
|
1909
|
+
*/
|
|
1910
|
+
ignoreSchemaField?: boolean;
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
/**
|
|
1914
|
+
* Options for {@link JsonSchema.validateObject}
|
|
1915
|
+
* @public
|
|
1916
|
+
*/
|
|
1917
|
+
export declare interface IJsonSchemaValidateOptions extends IJsonSchemaValidateObjectWithOptions {
|
|
1918
|
+
/**
|
|
1919
|
+
* A custom header that will be used to report schema errors.
|
|
1920
|
+
* @remarks
|
|
1921
|
+
* If omitted, the default header is "JSON validation failed:". The error message starts with
|
|
1922
|
+
* the header, followed by the full input filename, followed by the ajv error list.
|
|
1923
|
+
* If you wish to customize all aspects of the error message, use JsonFile.loadAndValidateWithCallback()
|
|
1924
|
+
* or JsonSchema.validateObjectWithCallback().
|
|
1925
|
+
*/
|
|
1926
|
+
customErrorHeader?: string;
|
|
1927
|
+
}
|
|
1928
|
+
|
|
1929
|
+
/**
|
|
1930
|
+
* Helpers for resolving and importing Node.js modules.
|
|
1931
|
+
* @public
|
|
1932
|
+
*/
|
|
1933
|
+
export declare class Import {
|
|
1934
|
+
private static __builtInModules;
|
|
1935
|
+
private static get _builtInModules();
|
|
1936
|
+
/**
|
|
1937
|
+
* Provides a way to improve process startup times by lazy-loading imported modules.
|
|
1938
|
+
*
|
|
1939
|
+
* @remarks
|
|
1940
|
+
* This is a more structured wrapper for the {@link https://www.npmjs.com/package/import-lazy|import-lazy}
|
|
1941
|
+
* package. It enables you to replace an import like this:
|
|
1942
|
+
*
|
|
1943
|
+
* ```ts
|
|
1944
|
+
* import * as example from 'example'; // <-- 100ms load time
|
|
1945
|
+
*
|
|
1946
|
+
* if (condition) {
|
|
1947
|
+
* example.doSomething();
|
|
1948
|
+
* }
|
|
1949
|
+
* ```
|
|
1950
|
+
*
|
|
1951
|
+
* ...with a pattern like this:
|
|
1952
|
+
*
|
|
1953
|
+
* ```ts
|
|
1954
|
+
* const example: typeof import('example') = Import.lazy('example', require);
|
|
1955
|
+
*
|
|
1956
|
+
* if (condition) {
|
|
1957
|
+
* example.doSomething(); // <-- 100ms load time occurs here, only if needed
|
|
1958
|
+
* }
|
|
1959
|
+
* ```
|
|
1960
|
+
*
|
|
1961
|
+
* The implementation relies on JavaScript's `Proxy` feature to intercept access to object members. Thus
|
|
1962
|
+
* it will only work correctly with certain types of module exports. If a particular export isn't well behaved,
|
|
1963
|
+
* you may need to find (or introduce) some other module in your dependency graph to apply the optimization to.
|
|
1964
|
+
*
|
|
1965
|
+
* Usage guidelines:
|
|
1966
|
+
*
|
|
1967
|
+
* - Always specify types using `typeof` as shown above.
|
|
1968
|
+
*
|
|
1969
|
+
* - Never apply lazy-loading in a way that would convert the module's type to `any`. Losing type safety
|
|
1970
|
+
* seriously impacts the maintainability of the code base.
|
|
1971
|
+
*
|
|
1972
|
+
* - In cases where the non-runtime types are needed, import them separately using the `Types` suffix:
|
|
1973
|
+
*
|
|
1974
|
+
* ```ts
|
|
1975
|
+
* const example: typeof import('example') = Import.lazy('example', require);
|
|
1976
|
+
* import type * as exampleTypes from 'example';
|
|
1977
|
+
* ```
|
|
1978
|
+
*
|
|
1979
|
+
* - If the imported module confusingly has the same name as its export, then use the Module suffix:
|
|
1980
|
+
*
|
|
1981
|
+
* ```ts
|
|
1982
|
+
* const exampleModule: typeof import('../../logic/Example') = Import.lazy(
|
|
1983
|
+
* '../../logic/Example', require);
|
|
1984
|
+
* import type * as exampleTypes from '../../logic/Example';
|
|
1985
|
+
* ```
|
|
1986
|
+
*
|
|
1987
|
+
* - If the exports cause a lot of awkwardness (e.g. too many expressions need to have `exampleModule.` inserted
|
|
1988
|
+
* into them), or if some exports cannot be proxied (e.g. `Import.lazy('example', require)` returns a function
|
|
1989
|
+
* signature), then do not lazy-load that module. Instead, apply lazy-loading to some other module which is
|
|
1990
|
+
* better behaved.
|
|
1991
|
+
*
|
|
1992
|
+
* - It's recommended to sort imports in a standard ordering:
|
|
1993
|
+
*
|
|
1994
|
+
* ```ts
|
|
1995
|
+
* // 1. external imports
|
|
1996
|
+
* import * as path from 'path';
|
|
1997
|
+
* import { Import, JsonFile, JsonObject } from '@rushstack/node-core-library';
|
|
1998
|
+
*
|
|
1999
|
+
* // 2. local imports
|
|
2000
|
+
* import { LocalFile } from './path/LocalFile';
|
|
2001
|
+
*
|
|
2002
|
+
* // 3. lazy-imports (which are technically variables, not imports)
|
|
2003
|
+
* const semver: typeof import('semver') = Import.lazy('semver', require);
|
|
2004
|
+
* ```
|
|
2005
|
+
*/
|
|
2006
|
+
static lazy(moduleName: string, require: (id: string) => unknown): any;
|
|
2007
|
+
/**
|
|
2008
|
+
* This resolves a module path using similar logic as the Node.js `require.resolve()` API,
|
|
2009
|
+
* but supporting extra features such as specifying the base folder.
|
|
2010
|
+
*
|
|
2011
|
+
* @remarks
|
|
2012
|
+
* A module path is a text string that might appear in a statement such as
|
|
2013
|
+
* `import { X } from "____";` or `const x = require("___");`. The implementation is based
|
|
2014
|
+
* on the popular `resolve` NPM package.
|
|
2015
|
+
*
|
|
2016
|
+
* Suppose `example` is an NPM package whose entry point is `lib/index.js`:
|
|
2017
|
+
* ```ts
|
|
2018
|
+
* // Returns "/path/to/project/node_modules/example/lib/index.js"
|
|
2019
|
+
* Import.resolveModule({ modulePath: 'example' });
|
|
2020
|
+
*
|
|
2021
|
+
* // Returns "/path/to/project/node_modules/example/lib/other.js"
|
|
2022
|
+
* Import.resolveModule({ modulePath: 'example/lib/other' });
|
|
2023
|
+
* ```
|
|
2024
|
+
* If you need to determine the containing package folder
|
|
2025
|
+
* (`/path/to/project/node_modules/example`), use {@link Import.resolvePackage} instead.
|
|
2026
|
+
*
|
|
2027
|
+
* @returns the absolute path of the resolved module.
|
|
2028
|
+
* If {@link IImportResolveOptions.includeSystemModules} is specified
|
|
2029
|
+
* and a system module is found, then its name is returned without any file path.
|
|
2030
|
+
*/
|
|
2031
|
+
static resolveModule(options: IImportResolveModuleOptions): string;
|
|
2032
|
+
/**
|
|
2033
|
+
* Async version of {@link Import.resolveModule}.
|
|
2034
|
+
*/
|
|
2035
|
+
static resolveModuleAsync(options: IImportResolveModuleAsyncOptions): Promise<string>;
|
|
2036
|
+
/**
|
|
2037
|
+
* Performs module resolution to determine the folder where a package is installed.
|
|
2038
|
+
*
|
|
2039
|
+
* @remarks
|
|
2040
|
+
* Suppose `example` is an NPM package whose entry point is `lib/index.js`:
|
|
2041
|
+
* ```ts
|
|
2042
|
+
* // Returns "/path/to/project/node_modules/example"
|
|
2043
|
+
* Import.resolvePackage({ packageName: 'example' });
|
|
2044
|
+
* ```
|
|
2045
|
+
*
|
|
2046
|
+
* If you need to resolve a module path, use {@link Import.resolveModule} instead:
|
|
2047
|
+
* ```ts
|
|
2048
|
+
* // Returns "/path/to/project/node_modules/example/lib/index.js"
|
|
2049
|
+
* Import.resolveModule({ modulePath: 'example' });
|
|
2050
|
+
* ```
|
|
2051
|
+
*
|
|
2052
|
+
* @returns the absolute path of the package folder.
|
|
2053
|
+
* If {@link IImportResolveOptions.includeSystemModules} is specified
|
|
2054
|
+
* and a system module is found, then its name is returned without any file path.
|
|
2055
|
+
*/
|
|
2056
|
+
static resolvePackage(options: IImportResolvePackageOptions): string;
|
|
2057
|
+
/**
|
|
2058
|
+
* Async version of {@link Import.resolvePackage}.
|
|
2059
|
+
*/
|
|
2060
|
+
static resolvePackageAsync(options: IImportResolvePackageAsyncOptions): Promise<string>;
|
|
2061
|
+
private static _getPackageName;
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2064
|
+
/**
|
|
2065
|
+
* An interface for accessing common fields from a package.json file whose version field may be missing.
|
|
2066
|
+
*
|
|
2067
|
+
* @remarks
|
|
2068
|
+
* This interface is the same as {@link IPackageJson}, except that the `version` field is optional.
|
|
2069
|
+
* According to the {@link https://docs.npmjs.com/files/package.json | NPM documentation}
|
|
2070
|
+
* and {@link http://wiki.commonjs.org/wiki/Packages/1.0 | CommonJS Packages specification}, the `version` field
|
|
2071
|
+
* is normally a required field for package.json files.
|
|
2072
|
+
*
|
|
2073
|
+
* However, NodeJS relaxes this requirement for its `require()` API. The
|
|
2074
|
+
* {@link https://nodejs.org/dist/latest-v10.x/docs/api/modules.html#modules_folders_as_modules
|
|
2075
|
+
* | "Folders as Modules" section} from the NodeJS documentation gives an example of a package.json file
|
|
2076
|
+
* that has only the `name` and `main` fields. NodeJS does not consider the `version` field during resolution,
|
|
2077
|
+
* so it can be omitted. Some libraries do this.
|
|
2078
|
+
*
|
|
2079
|
+
* Use the `INodePackageJson` interface when loading such files. Use `IPackageJson` for package.json files
|
|
2080
|
+
* that are installed from an NPM registry, or are otherwise known to have a `version` field.
|
|
2081
|
+
*
|
|
2082
|
+
* @public
|
|
2083
|
+
*/
|
|
2084
|
+
export declare interface INodePackageJson {
|
|
2085
|
+
/**
|
|
2086
|
+
* The name of the package.
|
|
2087
|
+
*/
|
|
2088
|
+
name: string;
|
|
2089
|
+
/**
|
|
2090
|
+
* A version number conforming to the Semantic Versioning (SemVer) standard.
|
|
2091
|
+
*/
|
|
2092
|
+
version?: string;
|
|
2093
|
+
/**
|
|
2094
|
+
* Indicates whether this package is allowed to be published or not.
|
|
2095
|
+
*/
|
|
2096
|
+
private?: boolean;
|
|
2097
|
+
/**
|
|
2098
|
+
* A brief description of the package.
|
|
2099
|
+
*/
|
|
2100
|
+
description?: string;
|
|
2101
|
+
/**
|
|
2102
|
+
* The URL of the project's repository.
|
|
2103
|
+
*/
|
|
2104
|
+
repository?: string | IPackageJsonRepository;
|
|
2105
|
+
/**
|
|
2106
|
+
* The URL to the project's web page.
|
|
2107
|
+
*/
|
|
2108
|
+
homepage?: string;
|
|
2109
|
+
/**
|
|
2110
|
+
* The name of the license.
|
|
2111
|
+
*/
|
|
2112
|
+
license?: string;
|
|
2113
|
+
/**
|
|
2114
|
+
* The path to the module file that will act as the main entry point.
|
|
2115
|
+
*/
|
|
2116
|
+
main?: string;
|
|
2117
|
+
/**
|
|
2118
|
+
* The path to the TypeScript *.d.ts file describing the module file
|
|
2119
|
+
* that will act as the main entry point.
|
|
2120
|
+
*/
|
|
2121
|
+
types?: string;
|
|
2122
|
+
/**
|
|
2123
|
+
* Alias for `types`
|
|
2124
|
+
*/
|
|
2125
|
+
typings?: string;
|
|
2126
|
+
/**
|
|
2127
|
+
* The path to the TSDoc metadata file.
|
|
2128
|
+
* This is still being standardized: https://github.com/microsoft/tsdoc/issues/7#issuecomment-442271815
|
|
2129
|
+
* @beta
|
|
2130
|
+
*/
|
|
2131
|
+
tsdocMetadata?: string;
|
|
2132
|
+
/**
|
|
2133
|
+
* The main entry point for the package.
|
|
2134
|
+
*/
|
|
2135
|
+
bin?: string | Record<string, string>;
|
|
2136
|
+
/**
|
|
2137
|
+
* An array of dependencies that must always be installed for this package.
|
|
2138
|
+
*/
|
|
2139
|
+
dependencies?: IPackageJsonDependencyTable;
|
|
2140
|
+
/**
|
|
2141
|
+
* An array of optional dependencies that may be installed for this package.
|
|
2142
|
+
*/
|
|
2143
|
+
optionalDependencies?: IPackageJsonDependencyTable;
|
|
2144
|
+
/**
|
|
2145
|
+
* An array of dependencies that must only be installed for developers who will
|
|
2146
|
+
* build this package.
|
|
2147
|
+
*/
|
|
2148
|
+
devDependencies?: IPackageJsonDependencyTable;
|
|
2149
|
+
/**
|
|
2150
|
+
* An array of dependencies that must be installed by a consumer of this package,
|
|
2151
|
+
* but which will not be automatically installed by this package.
|
|
2152
|
+
*/
|
|
2153
|
+
peerDependencies?: IPackageJsonDependencyTable;
|
|
2154
|
+
/**
|
|
2155
|
+
* An array of metadata for dependencies declared inside dependencies, optionalDependencies, and devDependencies.
|
|
2156
|
+
* https://pnpm.io/package_json#dependenciesmeta
|
|
2157
|
+
*/
|
|
2158
|
+
dependenciesMeta?: IDependenciesMetaTable;
|
|
2159
|
+
/**
|
|
2160
|
+
* An array of metadata about peer dependencies.
|
|
2161
|
+
*/
|
|
2162
|
+
peerDependenciesMeta?: IPeerDependenciesMetaTable;
|
|
2163
|
+
/**
|
|
2164
|
+
* A table of script hooks that a package manager or build tool may invoke.
|
|
2165
|
+
*/
|
|
2166
|
+
scripts?: IPackageJsonScriptTable;
|
|
2167
|
+
/**
|
|
2168
|
+
* A table of package version resolutions. This feature is only implemented by the Yarn package manager.
|
|
2169
|
+
*
|
|
2170
|
+
* @remarks
|
|
2171
|
+
* See the {@link https://github.com/yarnpkg/rfcs/blob/master/implemented/0000-selective-versions-resolutions.md
|
|
2172
|
+
* | 0000-selective-versions-resolutions.md RFC} for details.
|
|
2173
|
+
*/
|
|
2174
|
+
resolutions?: Record<string, string>;
|
|
2175
|
+
/**
|
|
2176
|
+
* A table of TypeScript *.d.ts file paths that are compatible with specific TypeScript version
|
|
2177
|
+
* selectors. This data take a form similar to that of the {@link INodePackageJson.exports} field,
|
|
2178
|
+
* with fallbacks listed in order in the value array for example:
|
|
2179
|
+
*
|
|
2180
|
+
* ```JSON
|
|
2181
|
+
* "typesVersions": {
|
|
2182
|
+
* ">=3.1": {
|
|
2183
|
+
* "*": ["./types-3.1/*", "./types-3.1-fallback/*"]
|
|
2184
|
+
* },
|
|
2185
|
+
* ">=3.0": {
|
|
2186
|
+
* "*": ["./types-legacy/*"]
|
|
2187
|
+
* }
|
|
2188
|
+
* }
|
|
2189
|
+
* ```
|
|
2190
|
+
*
|
|
2191
|
+
* or
|
|
2192
|
+
*
|
|
2193
|
+
* ```JSON
|
|
2194
|
+
* "typesVersions": {
|
|
2195
|
+
* ">=3.1": {
|
|
2196
|
+
* "app/*": ["./app/types-3.1/*"],
|
|
2197
|
+
* "lib/*": ["./lib/types-3.1/*"]
|
|
2198
|
+
* },
|
|
2199
|
+
* ">=3.0": {
|
|
2200
|
+
* "app/*": ["./app/types-legacy/*"],
|
|
2201
|
+
* "lib/*": ["./lib/types-legacy/*"]
|
|
2202
|
+
* }
|
|
2203
|
+
* }
|
|
2204
|
+
* ```
|
|
2205
|
+
*
|
|
2206
|
+
* See the
|
|
2207
|
+
* {@link https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions
|
|
2208
|
+
* | TypeScript documentation} for details.
|
|
2209
|
+
*/
|
|
2210
|
+
typesVersions?: Record<string, Record<string, [string, ...string[]]>>;
|
|
2211
|
+
/**
|
|
2212
|
+
* The "exports" field is used to specify the entry points for a package.
|
|
2213
|
+
* See {@link https://nodejs.org/api/packages.html#exports | Node.js documentation}
|
|
2214
|
+
*/
|
|
2215
|
+
exports?: string | string[] | Record<string, null | string | IPackageJsonExports>;
|
|
2216
|
+
/**
|
|
2217
|
+
* The "files" field is an array of file globs that should be included in the package during publishing.
|
|
2218
|
+
*
|
|
2219
|
+
* See the {@link https://docs.npmjs.com/cli/v6/configuring-npm/package-json#files | NPM documentation}.
|
|
2220
|
+
*/
|
|
2221
|
+
files?: string[];
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2224
|
+
/**
|
|
2225
|
+
* An `Error` subclass that should be thrown to report an unexpected state that may indicate a software defect.
|
|
2226
|
+
* An application may handle this error by instructing the end user to report an issue to the application maintainers.
|
|
2227
|
+
*
|
|
2228
|
+
* @remarks
|
|
2229
|
+
* Do not use this class unless you intend to solicit bug reports from end users.
|
|
2230
|
+
*
|
|
2231
|
+
* @public
|
|
2232
|
+
*/
|
|
2233
|
+
export declare class InternalError extends Error {
|
|
2234
|
+
/**
|
|
2235
|
+
* If true, a JavScript `debugger;` statement will be invoked whenever the `InternalError` constructor is called.
|
|
2236
|
+
*
|
|
2237
|
+
* @remarks
|
|
2238
|
+
* Generally applications should not be catching and ignoring an `InternalError`. Instead, the error should
|
|
2239
|
+
* be reported and typically the application will terminate. Thus, if `InternalError` is constructed, it's
|
|
2240
|
+
* almost always something we want to examine in a debugger.
|
|
2241
|
+
*/
|
|
2242
|
+
static breakInDebugger: boolean;
|
|
2243
|
+
/**
|
|
2244
|
+
* The underlying error message, without the additional boilerplate for an `InternalError`.
|
|
2245
|
+
*/
|
|
2246
|
+
readonly unformattedMessage: string;
|
|
2247
|
+
/**
|
|
2248
|
+
* Constructs a new instance of the {@link InternalError} class.
|
|
2249
|
+
*
|
|
2250
|
+
* @param message - A message describing the error. This will be assigned to
|
|
2251
|
+
* {@link InternalError.unformattedMessage}. The `Error.message` field will have additional boilerplate
|
|
2252
|
+
* explaining that the user has encountered a software defect.
|
|
2253
|
+
*/
|
|
2254
|
+
constructor(message: string);
|
|
2255
|
+
private static _formatMessage;
|
|
2256
|
+
/** @override */
|
|
2257
|
+
toString(): string;
|
|
2258
|
+
}
|
|
2259
|
+
|
|
2260
|
+
/**
|
|
2261
|
+
* An interface for accessing common fields from a package.json file.
|
|
2262
|
+
*
|
|
2263
|
+
* @remarks
|
|
2264
|
+
* This interface describes a package.json file format whose `name` and `version` field are required.
|
|
2265
|
+
* In some situations, the `version` field is optional; in that case, use the {@link INodePackageJson}
|
|
2266
|
+
* interface instead.
|
|
2267
|
+
*
|
|
2268
|
+
* More fields may be added to this interface in the future. For documentation about the package.json file format,
|
|
2269
|
+
* see the {@link http://wiki.commonjs.org/wiki/Packages/1.0 | CommonJS Packages specification}
|
|
2270
|
+
* and the {@link https://docs.npmjs.com/files/package.json | NPM manual page}.
|
|
2271
|
+
*
|
|
2272
|
+
* @public
|
|
2273
|
+
*/
|
|
2274
|
+
export declare interface IPackageJson extends INodePackageJson {
|
|
2275
|
+
/** {@inheritDoc INodePackageJson.version} */
|
|
2276
|
+
version: string;
|
|
2277
|
+
}
|
|
2278
|
+
|
|
2279
|
+
/**
|
|
2280
|
+
* This interface is part of the {@link IPackageJson} file format. It is used for the
|
|
2281
|
+
* "dependencies", "optionalDependencies", and "devDependencies" fields.
|
|
2282
|
+
* @public
|
|
2283
|
+
*/
|
|
2284
|
+
export declare interface IPackageJsonDependencyTable {
|
|
2285
|
+
/**
|
|
2286
|
+
* The key is the name of a dependency. The value is a Semantic Versioning (SemVer)
|
|
2287
|
+
* range specifier.
|
|
2288
|
+
*/
|
|
2289
|
+
[dependencyName: string]: string;
|
|
2290
|
+
}
|
|
2291
|
+
|
|
2292
|
+
/**
|
|
2293
|
+
* This interface is part of the {@link IPackageJson} file format. It is used for the values
|
|
2294
|
+
* of the "exports" field.
|
|
2295
|
+
*
|
|
2296
|
+
* See {@link https://nodejs.org/api/packages.html#conditional-exports | Node.js documentation on Conditional Exports} and
|
|
2297
|
+
* {@link https://nodejs.org/api/packages.html#community-conditions-definitions | Node.js documentation on Community Conditional Exports}.
|
|
2298
|
+
*
|
|
2299
|
+
* @public
|
|
2300
|
+
*/
|
|
2301
|
+
export declare interface IPackageJsonExports {
|
|
2302
|
+
/**
|
|
2303
|
+
* This export is like {@link IPackageJsonExports.node} in that it matches for any NodeJS environment.
|
|
2304
|
+
* This export is specifically for native C++ addons.
|
|
2305
|
+
*/
|
|
2306
|
+
'node-addons'?: string | IPackageJsonExports;
|
|
2307
|
+
/**
|
|
2308
|
+
* This export matches for any NodeJS environment.
|
|
2309
|
+
*/
|
|
2310
|
+
node?: string | IPackageJsonExports;
|
|
2311
|
+
/**
|
|
2312
|
+
* This export matches when loaded via ESM syntax (i.e. - `import '...'` or `import('...')`).
|
|
2313
|
+
* This is always mutually exclusive with {@link IPackageJsonExports.require}.
|
|
2314
|
+
*/
|
|
2315
|
+
import?: string | IPackageJsonExports;
|
|
2316
|
+
/**
|
|
2317
|
+
* This export matches when loaded via `require()`.
|
|
2318
|
+
* This is always mutually exclusive with {@link IPackageJsonExports.import}.
|
|
2319
|
+
*/
|
|
2320
|
+
require?: string | IPackageJsonExports;
|
|
2321
|
+
/**
|
|
2322
|
+
* This export matches as a fallback when no other conditions match. Because exports are evaluated in
|
|
2323
|
+
* the order that they are specified in the `package.json` file, this condition should always come last
|
|
2324
|
+
* as no later exports will match if this one does.
|
|
2325
|
+
*/
|
|
2326
|
+
default?: string | IPackageJsonExports;
|
|
2327
|
+
/**
|
|
2328
|
+
* This export matches when loaded by the typing system (i.e. - the TypeScript compiler).
|
|
2329
|
+
*/
|
|
2330
|
+
types?: string | IPackageJsonExports;
|
|
2331
|
+
/**
|
|
2332
|
+
* Any web browser environment.
|
|
2333
|
+
*/
|
|
2334
|
+
browser?: string | IPackageJsonExports;
|
|
2335
|
+
/**
|
|
2336
|
+
* This export matches in development-only environments.
|
|
2337
|
+
* This is always mutually exclusive with {@link IPackageJsonExports.production}.
|
|
2338
|
+
*/
|
|
2339
|
+
development?: string | IPackageJsonExports;
|
|
2340
|
+
/**
|
|
2341
|
+
* This export matches in production-only environments.
|
|
2342
|
+
* This is always mutually exclusive with {@link IPackageJsonExports.development}.
|
|
2343
|
+
*/
|
|
2344
|
+
production?: string | IPackageJsonExports;
|
|
2345
|
+
}
|
|
2346
|
+
|
|
2347
|
+
/**
|
|
2348
|
+
* Constructor parameters for {@link PackageJsonLookup}
|
|
2349
|
+
*
|
|
2350
|
+
* @public
|
|
2351
|
+
*/
|
|
2352
|
+
export declare interface IPackageJsonLookupParameters {
|
|
2353
|
+
/**
|
|
2354
|
+
* Certain package.json fields such as "contributors" can be very large, and may
|
|
2355
|
+
* significantly increase the memory footprint for the PackageJsonLookup cache.
|
|
2356
|
+
* By default, PackageJsonLookup only loads a subset of standard commonly used
|
|
2357
|
+
* fields names. Set loadExtraFields=true to always return all fields.
|
|
2358
|
+
*/
|
|
2359
|
+
loadExtraFields?: boolean;
|
|
2360
|
+
}
|
|
2361
|
+
|
|
2362
|
+
/**
|
|
2363
|
+
* This interface is part of the {@link IPackageJson} file format. It is used for the
|
|
2364
|
+
* "repository" field.
|
|
2365
|
+
* @public
|
|
2366
|
+
*/
|
|
2367
|
+
export declare interface IPackageJsonRepository {
|
|
2368
|
+
/**
|
|
2369
|
+
* The source control type for the repository that hosts the project. This is typically "git".
|
|
2370
|
+
*/
|
|
2371
|
+
type: string;
|
|
2372
|
+
/**
|
|
2373
|
+
* The URL of the repository that hosts the project.
|
|
2374
|
+
*/
|
|
2375
|
+
url: string;
|
|
2376
|
+
/**
|
|
2377
|
+
* If the project does not exist at the root of the repository, its path is specified here.
|
|
2378
|
+
*/
|
|
2379
|
+
directory?: string;
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
/**
|
|
2383
|
+
* This interface is part of the {@link IPackageJson} file format. It is used for the
|
|
2384
|
+
* "scripts" field.
|
|
2385
|
+
* @public
|
|
2386
|
+
*/
|
|
2387
|
+
export declare interface IPackageJsonScriptTable {
|
|
2388
|
+
/**
|
|
2389
|
+
* The key is the name of the script hook. The value is the script body which may
|
|
2390
|
+
* be a file path or shell script command.
|
|
2391
|
+
*/
|
|
2392
|
+
[scriptName: string]: string;
|
|
2393
|
+
}
|
|
2394
|
+
|
|
2395
|
+
/**
|
|
2396
|
+
* Options that configure the validation rules used by a {@link PackageNameParser} instance.
|
|
2397
|
+
*
|
|
2398
|
+
* @remarks
|
|
2399
|
+
* The default validation is based on the npmjs.com registry's policy for published packages, and includes these
|
|
2400
|
+
* restrictions:
|
|
2401
|
+
*
|
|
2402
|
+
* - The package name cannot be longer than 214 characters.
|
|
2403
|
+
*
|
|
2404
|
+
* - The package name must not be empty.
|
|
2405
|
+
*
|
|
2406
|
+
* - Other than the `@` and `/` delimiters used for scopes, the only allowed characters
|
|
2407
|
+
* are letters, numbers, `-`, `_`, and `.`.
|
|
2408
|
+
*
|
|
2409
|
+
* - The name must not start with a `.` or `_`.
|
|
2410
|
+
*
|
|
2411
|
+
* @public
|
|
2412
|
+
*/
|
|
2413
|
+
export declare interface IPackageNameParserOptions {
|
|
2414
|
+
/**
|
|
2415
|
+
* If true, allows upper-case letters in package names.
|
|
2416
|
+
* This improves compatibility with some legacy private registries that still allow that.
|
|
2417
|
+
*/
|
|
2418
|
+
allowUpperCase?: boolean;
|
|
2419
|
+
}
|
|
2420
|
+
|
|
2421
|
+
/**
|
|
2422
|
+
* A package name that has been separated into its scope and unscoped name.
|
|
2423
|
+
*
|
|
2424
|
+
* @public
|
|
2425
|
+
*/
|
|
2426
|
+
export declare interface IParsedPackageName {
|
|
2427
|
+
/**
|
|
2428
|
+
* The parsed NPM scope, or an empty string if there was no scope. The scope value will
|
|
2429
|
+
* always include the at-sign.
|
|
2430
|
+
* @remarks
|
|
2431
|
+
* For example, if the parsed input was "\@scope/example", then scope would be "\@scope".
|
|
2432
|
+
*/
|
|
2433
|
+
scope: string;
|
|
2434
|
+
/**
|
|
2435
|
+
* The parsed NPM package name without the scope.
|
|
2436
|
+
* @remarks
|
|
2437
|
+
* For example, if the parsed input was "\@scope/example", then the name would be "example".
|
|
2438
|
+
*/
|
|
2439
|
+
unscopedName: string;
|
|
2440
|
+
}
|
|
2441
|
+
|
|
2442
|
+
/**
|
|
2443
|
+
* Result object returned by {@link PackageName.tryParse}
|
|
2444
|
+
*
|
|
2445
|
+
* @public
|
|
2446
|
+
*/
|
|
2447
|
+
export declare interface IParsedPackageNameOrError extends IParsedPackageName {
|
|
2448
|
+
/**
|
|
2449
|
+
* If the input string could not be parsed, then this string will contain a nonempty
|
|
2450
|
+
* error message. Otherwise it will be an empty string.
|
|
2451
|
+
*/
|
|
2452
|
+
error: string;
|
|
2453
|
+
}
|
|
2454
|
+
|
|
2455
|
+
/**
|
|
2456
|
+
* Options for {@link Path.formatConcisely}.
|
|
2457
|
+
* @public
|
|
2458
|
+
*/
|
|
2459
|
+
export declare interface IPathFormatConciselyOptions {
|
|
2460
|
+
/**
|
|
2461
|
+
* The path to be converted.
|
|
2462
|
+
*/
|
|
2463
|
+
pathToConvert: string;
|
|
2464
|
+
/**
|
|
2465
|
+
* The base path to use when converting `pathToConvert` to a relative path.
|
|
2466
|
+
*/
|
|
2467
|
+
baseFolder: string;
|
|
2468
|
+
/**
|
|
2469
|
+
* If set to true, don't include the leading `./` if the path is under the base folder.
|
|
2470
|
+
*/
|
|
2471
|
+
trimLeadingDotSlash?: boolean;
|
|
2472
|
+
}
|
|
2473
|
+
|
|
2474
|
+
/**
|
|
2475
|
+
* Options for {@link Path.formatFileLocation}.
|
|
2476
|
+
* @public
|
|
2477
|
+
*/
|
|
2478
|
+
export declare interface IPathFormatFileLocationOptions {
|
|
2479
|
+
/**
|
|
2480
|
+
* The base path to use when converting `pathToFormat` to a relative path. If not specified,
|
|
2481
|
+
* `pathToFormat` will be used as-is.
|
|
2482
|
+
*/
|
|
2483
|
+
baseFolder?: string;
|
|
2484
|
+
/**
|
|
2485
|
+
* The path that will be used to specify the file location.
|
|
2486
|
+
*/
|
|
2487
|
+
pathToFormat: string;
|
|
2488
|
+
/**
|
|
2489
|
+
* The message related to the file location.
|
|
2490
|
+
*/
|
|
2491
|
+
message: string;
|
|
2492
|
+
/**
|
|
2493
|
+
* The style of file location formatting to use.
|
|
2494
|
+
*/
|
|
2495
|
+
format: FileLocationStyle;
|
|
2496
|
+
/**
|
|
2497
|
+
* The optional line number. If not specified, the line number will not be included
|
|
2498
|
+
* in the formatted string.
|
|
2499
|
+
*/
|
|
2500
|
+
line?: number;
|
|
2501
|
+
/**
|
|
2502
|
+
* The optional column number. If not specified, the column number will not be included
|
|
2503
|
+
* in the formatted string.
|
|
2504
|
+
*/
|
|
2505
|
+
column?: number;
|
|
2506
|
+
}
|
|
2507
|
+
|
|
2508
|
+
/**
|
|
2509
|
+
* This interface is part of the {@link IPackageJson} file format. It is used for the
|
|
2510
|
+
* "peerDependenciesMeta" field.
|
|
2511
|
+
* @public
|
|
2512
|
+
*/
|
|
2513
|
+
export declare interface IPeerDependenciesMetaTable {
|
|
2514
|
+
[dependencyName: string]: {
|
|
2515
|
+
optional?: boolean;
|
|
2516
|
+
};
|
|
2517
|
+
}
|
|
2518
|
+
|
|
2519
|
+
/**
|
|
2520
|
+
* Process information sourced from the system. This process info is sourced differently depending
|
|
2521
|
+
* on the operating system:
|
|
2522
|
+
* - On Windows, this uses the `wmic.exe` utility.
|
|
2523
|
+
* - On Unix, this uses the `ps` utility.
|
|
2524
|
+
*
|
|
2525
|
+
* @public
|
|
2526
|
+
*/
|
|
2527
|
+
export declare interface IProcessInfo {
|
|
2528
|
+
/**
|
|
2529
|
+
* The name of the process.
|
|
2530
|
+
*
|
|
2531
|
+
* @remarks On Windows, the process name will be empty if the process is a kernel process.
|
|
2532
|
+
* On Unix, the process name will be empty if the process is the root process.
|
|
2533
|
+
*/
|
|
2534
|
+
processName: string;
|
|
2535
|
+
/**
|
|
2536
|
+
* The process ID.
|
|
2537
|
+
*/
|
|
2538
|
+
processId: number;
|
|
2539
|
+
/**
|
|
2540
|
+
* The parent process info.
|
|
2541
|
+
*
|
|
2542
|
+
* @remarks On Windows, the parent process info will be undefined if the process is a kernel process.
|
|
2543
|
+
* On Unix, the parent process info will be undefined if the process is the root process.
|
|
2544
|
+
*/
|
|
2545
|
+
parentProcessInfo: IProcessInfo | undefined;
|
|
2546
|
+
/**
|
|
2547
|
+
* The child process infos.
|
|
2548
|
+
*/
|
|
2549
|
+
childProcessInfos: IProcessInfo[];
|
|
2550
|
+
}
|
|
2551
|
+
|
|
2552
|
+
/**
|
|
2553
|
+
* Constructor parameters for {@link ProtectableMap}
|
|
2554
|
+
*
|
|
2555
|
+
* @public
|
|
2556
|
+
*/
|
|
2557
|
+
export declare interface IProtectableMapParameters<K, V> {
|
|
2558
|
+
/**
|
|
2559
|
+
* An optional hook that will be invoked before Map.clear() is performed.
|
|
2560
|
+
*/
|
|
2561
|
+
onClear?: (source: ProtectableMap<K, V>) => void;
|
|
2562
|
+
/**
|
|
2563
|
+
* An optional hook that will be invoked before Map.delete() is performed.
|
|
2564
|
+
*/
|
|
2565
|
+
onDelete?: (source: ProtectableMap<K, V>, key: K) => void;
|
|
2566
|
+
/**
|
|
2567
|
+
* An optional hook that will be invoked before Map.set() is performed.
|
|
2568
|
+
* @remarks
|
|
2569
|
+
* If this hook is provided, the function MUST return the `value` parameter.
|
|
2570
|
+
* This provides the opportunity to modify the value before it is added
|
|
2571
|
+
* to the map.
|
|
2572
|
+
*/
|
|
2573
|
+
onSet?: (source: ProtectableMap<K, V>, key: K, value: V) => V;
|
|
2574
|
+
}
|
|
2575
|
+
|
|
2576
|
+
/**
|
|
2577
|
+
* Options used when calling the {@link Text.readLinesFromIterable} or
|
|
2578
|
+
* {@link Text.readLinesFromIterableAsync} methods.
|
|
2579
|
+
*
|
|
2580
|
+
* @public
|
|
2581
|
+
*/
|
|
2582
|
+
export declare interface IReadLinesFromIterableOptions {
|
|
2583
|
+
/**
|
|
2584
|
+
* The encoding of the input iterable. The default is utf8.
|
|
2585
|
+
*/
|
|
2586
|
+
encoding?: Encoding;
|
|
2587
|
+
/**
|
|
2588
|
+
* If true, empty lines will not be returned. The default is false.
|
|
2589
|
+
*/
|
|
2590
|
+
ignoreEmptyLines?: boolean;
|
|
2591
|
+
}
|
|
2592
|
+
|
|
2593
|
+
/**
|
|
2594
|
+
* Arguments used to create a function that resolves symlinked node_modules in a path
|
|
2595
|
+
* @public
|
|
2596
|
+
*/
|
|
2597
|
+
export declare interface IRealNodeModulePathResolverOptions {
|
|
2598
|
+
fs?: Partial<Pick<typeof nodeFs, 'lstatSync' | 'readlinkSync'>>;
|
|
2599
|
+
path?: Partial<Pick<typeof nodePath, 'isAbsolute' | 'join' | 'resolve' | 'sep'>>;
|
|
2600
|
+
/**
|
|
2601
|
+
* If set to true, the resolver will not throw if part of the path does not exist.
|
|
2602
|
+
* @defaultValue false
|
|
2603
|
+
*/
|
|
2604
|
+
ignoreMissingPaths?: boolean;
|
|
2605
|
+
}
|
|
2606
|
+
|
|
2607
|
+
/**
|
|
2608
|
+
* @remarks
|
|
2609
|
+
* Used with {@link Async.runWithRetriesAsync}.
|
|
2610
|
+
*
|
|
2611
|
+
* @public
|
|
2612
|
+
*/
|
|
2613
|
+
export declare interface IRunWithRetriesOptions<TResult> {
|
|
2614
|
+
/**
|
|
2615
|
+
* The action to be performed. The action is repeatedly executed until it completes without throwing or the
|
|
2616
|
+
* maximum number of retries is reached.
|
|
2617
|
+
*
|
|
2618
|
+
* @param retryCount - The number of times the action has been retried.
|
|
2619
|
+
*/
|
|
2620
|
+
action: (retryCount: number) => Promise<TResult> | TResult;
|
|
2621
|
+
/**
|
|
2622
|
+
* The maximum number of times the action should be retried.
|
|
2623
|
+
*/
|
|
2624
|
+
maxRetries: number;
|
|
2625
|
+
/**
|
|
2626
|
+
* The delay in milliseconds between retries.
|
|
2627
|
+
*/
|
|
2628
|
+
retryDelayMs?: number;
|
|
2629
|
+
}
|
|
2630
|
+
|
|
2631
|
+
/**
|
|
2632
|
+
* An interface for a builder object that allows a large text string to be constructed incrementally by appending
|
|
2633
|
+
* small chunks.
|
|
2634
|
+
*
|
|
2635
|
+
* @remarks
|
|
2636
|
+
*
|
|
2637
|
+
* {@link StringBuilder} is the default implementation of this contract.
|
|
2638
|
+
*
|
|
2639
|
+
* @public
|
|
2640
|
+
*/
|
|
2641
|
+
export declare interface IStringBuilder {
|
|
2642
|
+
/**
|
|
2643
|
+
* Append the specified text to the buffer.
|
|
2644
|
+
*/
|
|
2645
|
+
append(text: string): void;
|
|
2646
|
+
/**
|
|
2647
|
+
* Returns a single string containing all the text that was appended to the buffer so far.
|
|
2648
|
+
*
|
|
2649
|
+
* @remarks
|
|
2650
|
+
*
|
|
2651
|
+
* This is a potentially expensive operation.
|
|
2652
|
+
*/
|
|
2653
|
+
toString(): string;
|
|
2654
|
+
}
|
|
2655
|
+
|
|
2656
|
+
/**
|
|
2657
|
+
* Details about how the `child_process.ChildProcess` was created.
|
|
2658
|
+
*
|
|
2659
|
+
* @beta
|
|
2660
|
+
*/
|
|
2661
|
+
export declare interface ISubprocessOptions {
|
|
2662
|
+
/**
|
|
2663
|
+
* Whether or not the child process was started in detached mode.
|
|
2664
|
+
*
|
|
2665
|
+
* @remarks
|
|
2666
|
+
* On POSIX systems, detached=true is required for killing the subtree. Attempting to kill the
|
|
2667
|
+
* subtree on POSIX systems with detached=false will throw an error. On Windows, detached=true
|
|
2668
|
+
* creates a separate console window and is not required for killing the subtree. In general,
|
|
2669
|
+
* it is recommended to use SubprocessTerminator.RECOMMENDED_OPTIONS when forking or spawning
|
|
2670
|
+
* a child process.
|
|
2671
|
+
*/
|
|
2672
|
+
detached: boolean;
|
|
2673
|
+
}
|
|
2674
|
+
|
|
2675
|
+
/**
|
|
2676
|
+
* The options for running a process to completion using {@link Executable.(waitForExitAsync:3)}.
|
|
2677
|
+
*
|
|
2678
|
+
* @public
|
|
2679
|
+
*/
|
|
2680
|
+
export declare interface IWaitForExitOptions {
|
|
2681
|
+
/**
|
|
2682
|
+
* Whether or not to throw when the process completes with a non-zero exit code. Defaults to false.
|
|
2683
|
+
*
|
|
2684
|
+
* @defaultValue false
|
|
2685
|
+
*/
|
|
2686
|
+
throwOnNonZeroExitCode?: boolean;
|
|
2687
|
+
/**
|
|
2688
|
+
* Whether or not to throw when the process is terminated by a signal. Defaults to false.
|
|
2689
|
+
*
|
|
2690
|
+
* @defaultValue false
|
|
2691
|
+
*/
|
|
2692
|
+
throwOnSignal?: boolean;
|
|
2693
|
+
/**
|
|
2694
|
+
* The encoding of the output. If not provided, the output will not be collected.
|
|
2695
|
+
*/
|
|
2696
|
+
encoding?: BufferEncoding | 'buffer';
|
|
2697
|
+
}
|
|
2698
|
+
|
|
2699
|
+
/**
|
|
2700
|
+
* The result of running a process to completion using {@link Executable.(waitForExitAsync:3)}.
|
|
2701
|
+
*
|
|
2702
|
+
* @public
|
|
2703
|
+
*/
|
|
2704
|
+
export declare interface IWaitForExitResult<T extends Buffer | string | never = never> {
|
|
2705
|
+
/**
|
|
2706
|
+
* The process stdout output, if encoding was specified.
|
|
2707
|
+
*/
|
|
2708
|
+
stdout: T;
|
|
2709
|
+
/**
|
|
2710
|
+
* The process stderr output, if encoding was specified.
|
|
2711
|
+
*/
|
|
2712
|
+
stderr: T;
|
|
2713
|
+
/**
|
|
2714
|
+
* The process exit code. If the process was terminated, this will be null.
|
|
2715
|
+
*/
|
|
2716
|
+
exitCode: number | null;
|
|
2717
|
+
/**
|
|
2718
|
+
* The process signal that terminated the process. If the process exited normally, this will be null.
|
|
2719
|
+
*/
|
|
2720
|
+
signal: string | null;
|
|
2721
|
+
}
|
|
2722
|
+
|
|
2723
|
+
/**
|
|
2724
|
+
* {@inheritDoc IWaitForExitOptions}
|
|
2725
|
+
*
|
|
2726
|
+
* @public
|
|
2727
|
+
*/
|
|
2728
|
+
export declare interface IWaitForExitWithBufferOptions extends IWaitForExitOptions {
|
|
2729
|
+
/**
|
|
2730
|
+
* {@inheritDoc IWaitForExitOptions.encoding}
|
|
2731
|
+
*/
|
|
2732
|
+
encoding: 'buffer';
|
|
2733
|
+
}
|
|
2734
|
+
|
|
2735
|
+
/**
|
|
2736
|
+
* {@inheritDoc IWaitForExitOptions}
|
|
2737
|
+
*
|
|
2738
|
+
* @public
|
|
2739
|
+
*/
|
|
2740
|
+
export declare interface IWaitForExitWithStringOptions extends IWaitForExitOptions {
|
|
2741
|
+
/**
|
|
2742
|
+
* {@inheritDoc IWaitForExitOptions.encoding}
|
|
2743
|
+
*/
|
|
2744
|
+
encoding: BufferEncoding;
|
|
2745
|
+
}
|
|
2746
|
+
|
|
2747
|
+
/**
|
|
2748
|
+
* @remarks
|
|
2749
|
+
* Used with {@link (Async:class).(forEachAsync:2)} and {@link (Async:class).(mapAsync:2)}.
|
|
2750
|
+
*
|
|
2751
|
+
* @public
|
|
2752
|
+
*/
|
|
2753
|
+
export declare interface IWeighted {
|
|
2754
|
+
/**
|
|
2755
|
+
* The weight of the element, used to determine the concurrency units that it will take up.
|
|
2756
|
+
* Must be a whole number greater than or equal to 0.
|
|
2757
|
+
*/
|
|
2758
|
+
weight: number;
|
|
2759
|
+
}
|
|
2760
|
+
|
|
2761
|
+
/**
|
|
2762
|
+
* Utilities for reading/writing JSON files.
|
|
2763
|
+
* @public
|
|
2764
|
+
*/
|
|
2765
|
+
export declare class JsonFile {
|
|
2766
|
+
/**
|
|
2767
|
+
* @internal
|
|
2768
|
+
*/
|
|
2769
|
+
static _formatPathForError: (path: string) => string;
|
|
2770
|
+
/**
|
|
2771
|
+
* Loads a JSON file.
|
|
2772
|
+
*/
|
|
2773
|
+
static load(jsonFilename: string, options?: IJsonFileParseOptions): JsonObject;
|
|
2774
|
+
/**
|
|
2775
|
+
* An async version of {@link JsonFile.load}.
|
|
2776
|
+
*/
|
|
2777
|
+
static loadAsync(jsonFilename: string, options?: IJsonFileParseOptions): Promise<JsonObject>;
|
|
2778
|
+
/**
|
|
2779
|
+
* Parses a JSON file's contents.
|
|
2780
|
+
*/
|
|
2781
|
+
static parseString(jsonContents: string, options?: IJsonFileParseOptions): JsonObject;
|
|
2782
|
+
/**
|
|
2783
|
+
* Loads a JSON file and validate its schema.
|
|
2784
|
+
*/
|
|
2785
|
+
static loadAndValidate(jsonFilename: string, jsonSchema: JsonSchema, options?: IJsonFileLoadAndValidateOptions): JsonObject;
|
|
2786
|
+
/**
|
|
2787
|
+
* An async version of {@link JsonFile.loadAndValidate}.
|
|
2788
|
+
*/
|
|
2789
|
+
static loadAndValidateAsync(jsonFilename: string, jsonSchema: JsonSchema, options?: IJsonFileLoadAndValidateOptions): Promise<JsonObject>;
|
|
2790
|
+
/**
|
|
2791
|
+
* Loads a JSON file and validate its schema, reporting errors using a callback
|
|
2792
|
+
* @remarks
|
|
2793
|
+
* See JsonSchema.validateObjectWithCallback() for more info.
|
|
2794
|
+
*/
|
|
2795
|
+
static loadAndValidateWithCallback(jsonFilename: string, jsonSchema: JsonSchema, errorCallback: (errorInfo: IJsonSchemaErrorInfo) => void, options?: IJsonFileLoadAndValidateOptions): JsonObject;
|
|
2796
|
+
/**
|
|
2797
|
+
* An async version of {@link JsonFile.loadAndValidateWithCallback}.
|
|
2798
|
+
*/
|
|
2799
|
+
static loadAndValidateWithCallbackAsync(jsonFilename: string, jsonSchema: JsonSchema, errorCallback: (errorInfo: IJsonSchemaErrorInfo) => void, options?: IJsonFileLoadAndValidateOptions): Promise<JsonObject>;
|
|
2800
|
+
/**
|
|
2801
|
+
* Serializes the specified JSON object to a string buffer.
|
|
2802
|
+
* @param jsonObject - the object to be serialized
|
|
2803
|
+
* @param options - other settings that control serialization
|
|
2804
|
+
* @returns a JSON string, with newlines, and indented with two spaces
|
|
2805
|
+
*/
|
|
2806
|
+
static stringify(jsonObject: JsonObject, options?: IJsonFileStringifyOptions): string;
|
|
2807
|
+
/**
|
|
2808
|
+
* Serializes the specified JSON object to a string buffer.
|
|
2809
|
+
* @param previousJson - the previous JSON string, which will be updated
|
|
2810
|
+
* @param newJsonObject - the object to be serialized
|
|
2811
|
+
* @param options - other settings that control serialization
|
|
2812
|
+
* @returns a JSON string, with newlines, and indented with two spaces
|
|
2813
|
+
*/
|
|
2814
|
+
static updateString(previousJson: string, newJsonObject: JsonObject, options?: IJsonFileStringifyOptions): string;
|
|
2815
|
+
/**
|
|
2816
|
+
* Saves the file to disk. Returns false if nothing was written due to options.onlyIfChanged.
|
|
2817
|
+
* @param jsonObject - the object to be saved
|
|
2818
|
+
* @param jsonFilename - the file path to write
|
|
2819
|
+
* @param options - other settings that control how the file is saved
|
|
2820
|
+
* @returns false if ISaveJsonFileOptions.onlyIfChanged didn't save anything; true otherwise
|
|
2821
|
+
*/
|
|
2822
|
+
static save(jsonObject: JsonObject, jsonFilename: string, options?: IJsonFileSaveOptions): boolean;
|
|
2823
|
+
/**
|
|
2824
|
+
* An async version of {@link JsonFile.save}.
|
|
2825
|
+
*/
|
|
2826
|
+
static saveAsync(jsonObject: JsonObject, jsonFilename: string, options?: IJsonFileSaveOptions): Promise<boolean>;
|
|
2827
|
+
/**
|
|
2828
|
+
* Used to validate a data structure before writing. Reports an error if there
|
|
2829
|
+
* are any undefined members.
|
|
2830
|
+
*/
|
|
2831
|
+
static validateNoUndefinedMembers(jsonObject: JsonObject): void;
|
|
2832
|
+
private static _validateNoUndefinedMembers;
|
|
2833
|
+
private static _formatKeyPath;
|
|
2834
|
+
private static _formatJsonHeaderComment;
|
|
2835
|
+
private static _buildJjuParseOptions;
|
|
2836
|
+
}
|
|
2837
|
+
|
|
2838
|
+
/**
|
|
2839
|
+
* The Rush Stack lint rules discourage usage of `null`. However, JSON parsers always return JavaScript's
|
|
2840
|
+
* `null` to keep the two syntaxes consistent. When creating interfaces that describe JSON structures,
|
|
2841
|
+
* use `JsonNull` to avoid triggering the lint rule. Do not use `JsonNull` for any other purpose.
|
|
2842
|
+
*
|
|
2843
|
+
* @remarks
|
|
2844
|
+
* If you are designing a new JSON file format, it's a good idea to avoid `null` entirely. In most cases
|
|
2845
|
+
* there are better representations that convey more information about an item that is unknown, omitted, or disabled.
|
|
2846
|
+
*
|
|
2847
|
+
* To understand why `null` is deprecated, please see the `@rushstack/eslint-plugin` documentation here:
|
|
2848
|
+
*
|
|
2849
|
+
* {@link https://www.npmjs.com/package/@rushstack/eslint-plugin#rushstackno-null}
|
|
2850
|
+
*
|
|
2851
|
+
* @public
|
|
2852
|
+
*/
|
|
2853
|
+
export declare type JsonNull = null;
|
|
2854
|
+
|
|
2855
|
+
/**
|
|
2856
|
+
* Represents a JSON-serializable object whose type has not been determined yet.
|
|
2857
|
+
*
|
|
2858
|
+
* @remarks
|
|
2859
|
+
*
|
|
2860
|
+
* This type is similar to `any`, except that it communicates that the object is serializable JSON.
|
|
2861
|
+
*
|
|
2862
|
+
* @public
|
|
2863
|
+
*/
|
|
2864
|
+
export declare type JsonObject = any;
|
|
2865
|
+
|
|
2866
|
+
/**
|
|
2867
|
+
* Represents a JSON schema that can be used to validate JSON data files loaded by the JsonFile class.
|
|
2868
|
+
* @remarks
|
|
2869
|
+
* The schema itself is normally loaded and compiled later, only if it is actually required to validate
|
|
2870
|
+
* an input. To avoid schema errors at runtime, it's recommended to create a unit test that calls
|
|
2871
|
+
* JsonSchema.ensureCompiled() for each of your schema objects.
|
|
2872
|
+
*
|
|
2873
|
+
* @public
|
|
2874
|
+
*/
|
|
2875
|
+
export declare class JsonSchema {
|
|
2876
|
+
private _dependentSchemas;
|
|
2877
|
+
private _filename;
|
|
2878
|
+
private _validator;
|
|
2879
|
+
private _schemaObject;
|
|
2880
|
+
private _schemaVersion;
|
|
2881
|
+
private _customFormats;
|
|
2882
|
+
private constructor();
|
|
2883
|
+
/**
|
|
2884
|
+
* Registers a JsonSchema that will be loaded from a file on disk.
|
|
2885
|
+
* @remarks
|
|
2886
|
+
* NOTE: An error occurs if the file does not exist; however, the file itself is not loaded or validated
|
|
2887
|
+
* until it the schema is actually used.
|
|
2888
|
+
*/
|
|
2889
|
+
static fromFile(filename: string, options?: IJsonSchemaFromFileOptions): JsonSchema;
|
|
2890
|
+
/**
|
|
2891
|
+
* Registers a JsonSchema that will be loaded from an object.
|
|
2892
|
+
*/
|
|
2893
|
+
static fromLoadedObject(schemaObject: JsonObject, options?: IJsonSchemaFromObjectOptions): JsonSchema;
|
|
2894
|
+
private static _collectDependentSchemas;
|
|
2895
|
+
/**
|
|
2896
|
+
* Used to nicely format the ZSchema error tree.
|
|
2897
|
+
*/
|
|
2898
|
+
private static _formatErrorDetails;
|
|
2899
|
+
/**
|
|
2900
|
+
* Used by _formatErrorDetails.
|
|
2901
|
+
*/
|
|
2902
|
+
private static _formatErrorDetailsHelper;
|
|
2903
|
+
/**
|
|
2904
|
+
* Returns a short name for this schema, for use in error messages.
|
|
2905
|
+
* @remarks
|
|
2906
|
+
* If the schema was loaded from a file, then the base filename is used. Otherwise, the "$id"
|
|
2907
|
+
* field is used if available.
|
|
2908
|
+
*/
|
|
2909
|
+
get shortName(): string;
|
|
2910
|
+
/**
|
|
2911
|
+
* If not already done, this loads the schema from disk and compiles it.
|
|
2912
|
+
* @remarks
|
|
2913
|
+
* Any dependencies will be compiled as well.
|
|
2914
|
+
*/
|
|
2915
|
+
ensureCompiled(): void;
|
|
2916
|
+
/**
|
|
2917
|
+
* Validates the specified JSON object against this JSON schema. If the validation fails,
|
|
2918
|
+
* an exception will be thrown.
|
|
2919
|
+
* @param jsonObject - The JSON data to be validated
|
|
2920
|
+
* @param filenameForErrors - The filename that the JSON data was available, or an empty string
|
|
2921
|
+
* if not applicable
|
|
2922
|
+
* @param options - Other options that control the validation
|
|
2923
|
+
*/
|
|
2924
|
+
validateObject(jsonObject: JsonObject, filenameForErrors: string, options?: IJsonSchemaValidateOptions): void;
|
|
2925
|
+
/**
|
|
2926
|
+
* Validates the specified JSON object against this JSON schema. If the validation fails,
|
|
2927
|
+
* a callback is called for each validation error.
|
|
2928
|
+
*/
|
|
2929
|
+
validateObjectWithCallback(jsonObject: JsonObject, errorCallback: (errorInfo: IJsonSchemaErrorInfo) => void, options?: IJsonSchemaValidateObjectWithOptions): void;
|
|
2930
|
+
private _ensureLoaded;
|
|
2931
|
+
}
|
|
2932
|
+
|
|
2933
|
+
/**
|
|
2934
|
+
* Specifies the version of json-schema to be validated against.
|
|
2935
|
+
* https://json-schema.org/specification
|
|
2936
|
+
* @public
|
|
2937
|
+
*/
|
|
2938
|
+
export declare type JsonSchemaVersion = 'draft-04' | 'draft-07';
|
|
2939
|
+
|
|
2940
|
+
/**
|
|
2941
|
+
* Specifies the variant of JSON syntax to be used.
|
|
2942
|
+
*
|
|
2943
|
+
* @public
|
|
2944
|
+
*/
|
|
2945
|
+
export declare enum JsonSyntax {
|
|
2946
|
+
/**
|
|
2947
|
+
* Specifies the exact RFC 8259 format as implemented by the `JSON.parse()` system API.
|
|
2948
|
+
* This format was designed for machine generated inputs such as an HTTP payload.
|
|
2949
|
+
* It is not a recommend choice for human-authored files, because it does not support
|
|
2950
|
+
* code comments.
|
|
2951
|
+
*
|
|
2952
|
+
* @remarks
|
|
2953
|
+
*
|
|
2954
|
+
* A well-known quote from Douglas Crockford, the inventor of JSON:
|
|
2955
|
+
*
|
|
2956
|
+
* "I removed comments from JSON because I saw people were using them to hold parsing directives,
|
|
2957
|
+
* a practice which would have destroyed interoperability. I know that the lack of comments makes
|
|
2958
|
+
* some people sad, but it shouldn't. Suppose you are using JSON to keep configuration files,
|
|
2959
|
+
* which you would like to annotate. Go ahead and insert all the comments you like.
|
|
2960
|
+
* Then pipe it through JSMin before handing it to your JSON parser."
|
|
2961
|
+
*
|
|
2962
|
+
* @see {@link https://datatracker.ietf.org/doc/html/rfc8259 | RFC 8259}
|
|
2963
|
+
*/
|
|
2964
|
+
Strict = "strict",
|
|
2965
|
+
/**
|
|
2966
|
+
* `JsonSyntax.JsonWithComments` is the recommended format for human-authored config files.
|
|
2967
|
+
* It is a minimal extension to `JsonSyntax.Strict` adding support for code comments
|
|
2968
|
+
* using `//` and `/*`.
|
|
2969
|
+
*
|
|
2970
|
+
* @remarks
|
|
2971
|
+
*
|
|
2972
|
+
* VS Code calls this format `jsonc`, but it should not be confused with unrelated file formats
|
|
2973
|
+
* and libraries that also use the name "JSONC".
|
|
2974
|
+
*
|
|
2975
|
+
* To fix VS Code syntax highlighting, add this setting:
|
|
2976
|
+
* `"files.associations": { "*.json": "jsonc" }`
|
|
2977
|
+
*
|
|
2978
|
+
* To fix GitHub syntax highlighting, add this to your `.gitattributes`:
|
|
2979
|
+
* `*.json linguist-language=JSON-with-Comments`
|
|
2980
|
+
*/
|
|
2981
|
+
JsonWithComments = "jsonWithComments",
|
|
2982
|
+
/**
|
|
2983
|
+
* JSON5 is a project that proposes a JSON-like format supplemented with ECMAScript 5.1
|
|
2984
|
+
* notations for objects, numbers, comments, and more.
|
|
2985
|
+
*
|
|
2986
|
+
* @remarks
|
|
2987
|
+
* Files using this format should use the `.json5` file extension instead of `.json`.
|
|
2988
|
+
*
|
|
2989
|
+
* JSON5 has substantial differences from JSON: object keys may be unquoted, trailing commas
|
|
2990
|
+
* are allowed, and strings may span multiple lines. Whereas {@link JsonSyntax.JsonWithComments} can
|
|
2991
|
+
* be cheaply converted to standard JSON by stripping comments, parsing JSON5 requires a
|
|
2992
|
+
* nontrivial algorithm that may not be easily available in some contexts or programming languages.
|
|
2993
|
+
*
|
|
2994
|
+
* @see {@link https://json5.org/ | JSON5 project website}
|
|
2995
|
+
*/
|
|
2996
|
+
Json5 = "json5"
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2999
|
+
/**
|
|
3000
|
+
* Helper functions used when interacting with APIs that do not follow modern coding practices.
|
|
3001
|
+
* @public
|
|
3002
|
+
*/
|
|
3003
|
+
export declare class LegacyAdapters {
|
|
3004
|
+
/**
|
|
3005
|
+
* This function wraps a function with a callback in a promise.
|
|
3006
|
+
*/
|
|
3007
|
+
static convertCallbackToPromise<TResult, TError>(fn: (cb: LegacyCallback<TResult, TError>) => void): Promise<TResult>;
|
|
3008
|
+
static convertCallbackToPromise<TResult, TError, TArg1>(fn: (arg1: TArg1, cb: LegacyCallback<TResult, TError>) => void, arg1: TArg1): Promise<TResult>;
|
|
3009
|
+
static convertCallbackToPromise<TResult, TError, TArg1, TArg2>(fn: (arg1: TArg1, arg2: TArg2, cb: LegacyCallback<TResult, TError>) => void, arg1: TArg1, arg2: TArg2): Promise<TResult>;
|
|
3010
|
+
static convertCallbackToPromise<TResult, TError, TArg1, TArg2, TArg3>(fn: (arg1: TArg1, arg2: TArg2, arg3: TArg3, cb: LegacyCallback<TResult, TError>) => void, arg1: TArg1, arg2: TArg2, arg3: TArg3): Promise<TResult>;
|
|
3011
|
+
static convertCallbackToPromise<TResult, TError, TArg1, TArg2, TArg3, TArg4>(fn: (arg1: TArg1, arg2: TArg2, arg3: TArg3, arg4: TArg4, cb: LegacyCallback<TResult, TError>) => void, arg1: TArg1, arg2: TArg2, arg3: TArg3, arg4: TArg4): Promise<TResult>;
|
|
3012
|
+
/**
|
|
3013
|
+
* Normalizes an object into an `Error` object.
|
|
3014
|
+
*/
|
|
3015
|
+
static scrubError(error: Error | string | any): Error;
|
|
3016
|
+
}
|
|
3017
|
+
|
|
3018
|
+
/**
|
|
3019
|
+
* Callback used by {@link LegacyAdapters}.
|
|
3020
|
+
* @public
|
|
3021
|
+
*/
|
|
3022
|
+
export declare type LegacyCallback<TResult, TError> = (error: TError | null | undefined, result: TResult) => void;
|
|
3023
|
+
|
|
3024
|
+
/**
|
|
3025
|
+
* The `LockFile` implements a file-based mutex for synchronizing access to a shared resource
|
|
3026
|
+
* between multiple Node.js processes. It is not recommended for synchronization solely within
|
|
3027
|
+
* a single Node.js process.
|
|
3028
|
+
* @remarks
|
|
3029
|
+
* The implementation works on Windows, Mac, and Linux without requiring any native helpers.
|
|
3030
|
+
* On non-Windows systems, the algorithm requires access to the `ps` shell command. On Linux,
|
|
3031
|
+
* it requires access the `/proc/${pidString}/stat` filesystem.
|
|
3032
|
+
* @public
|
|
3033
|
+
*/
|
|
3034
|
+
export declare class LockFile {
|
|
3035
|
+
private static _getStartTime;
|
|
3036
|
+
private _fileWriter;
|
|
3037
|
+
private _filePath;
|
|
3038
|
+
private _dirtyWhenAcquired;
|
|
3039
|
+
private constructor();
|
|
3040
|
+
/**
|
|
3041
|
+
* Returns the path of the lockfile that will be created when a lock is successfully acquired.
|
|
3042
|
+
* @param resourceFolder - The folder where the lock file will be created
|
|
3043
|
+
* @param resourceName - An alphanumeric name that describes the resource being locked. This will become
|
|
3044
|
+
* the filename of the temporary file created to manage the lock.
|
|
3045
|
+
* @param pid - The PID for the current Node.js process (`process.pid`), which is used by the locking algorithm.
|
|
3046
|
+
*/
|
|
3047
|
+
static getLockFilePath(resourceFolder: string, resourceName: string, pid?: number): string;
|
|
3048
|
+
/**
|
|
3049
|
+
* Attempts to create a lockfile with the given filePath.
|
|
3050
|
+
* @param resourceFolder - The folder where the lock file will be created
|
|
3051
|
+
* @param resourceName - An alphanumeric name that describes the resource being locked. This will become
|
|
3052
|
+
* the filename of the temporary file created to manage the lock.
|
|
3053
|
+
* @returns If successful, returns a `LockFile` instance. If unable to get a lock, returns `undefined`.
|
|
3054
|
+
*/
|
|
3055
|
+
static tryAcquire(resourceFolder: string, resourceName: string): LockFile | undefined;
|
|
3056
|
+
/**
|
|
3057
|
+
* @deprecated Use {@link LockFile.acquireAsync} instead.
|
|
3058
|
+
*/
|
|
3059
|
+
static acquire(resourceFolder: string, resourceName: string, maxWaitMs?: number): Promise<LockFile>;
|
|
3060
|
+
/**
|
|
3061
|
+
* Attempts to create the lockfile. Will continue to loop at every 100ms until the lock becomes available
|
|
3062
|
+
* or the maxWaitMs is surpassed.
|
|
3063
|
+
*
|
|
3064
|
+
* @remarks
|
|
3065
|
+
* This function is subject to starvation, whereby it does not ensure that the process that has been
|
|
3066
|
+
* waiting the longest to acquire the lock will get it first. This means that a process could theoretically
|
|
3067
|
+
* wait for the lock forever, while other processes skipped it in line and acquired the lock first.
|
|
3068
|
+
*
|
|
3069
|
+
* @param resourceFolder - The folder where the lock file will be created
|
|
3070
|
+
* @param resourceName - An alphanumeric name that describes the resource being locked. This will become
|
|
3071
|
+
* the filename of the temporary file created to manage the lock.
|
|
3072
|
+
* @param maxWaitMs - The maximum number of milliseconds to wait for the lock before reporting an error
|
|
3073
|
+
*/
|
|
3074
|
+
static acquireAsync(resourceFolder: string, resourceName: string, maxWaitMs?: number): Promise<LockFile>;
|
|
3075
|
+
private static _tryAcquireInner;
|
|
3076
|
+
/**
|
|
3077
|
+
* Attempts to acquire the lock on a Linux or OSX machine
|
|
3078
|
+
*/
|
|
3079
|
+
private static _tryAcquireMacOrLinux;
|
|
3080
|
+
/**
|
|
3081
|
+
* Attempts to acquire the lock using Windows
|
|
3082
|
+
* This algorithm is much simpler since we can rely on the operating system
|
|
3083
|
+
*/
|
|
3084
|
+
private static _tryAcquireWindows;
|
|
3085
|
+
/**
|
|
3086
|
+
* Unlocks a file and optionally removes it from disk.
|
|
3087
|
+
* This can only be called once.
|
|
3088
|
+
*
|
|
3089
|
+
* @param deleteFile - Whether to delete the lockfile from disk. Defaults to true.
|
|
3090
|
+
*/
|
|
3091
|
+
release(deleteFile?: boolean): void;
|
|
3092
|
+
/**
|
|
3093
|
+
* Returns the initial state of the lock.
|
|
3094
|
+
* This can be used to detect if the previous process was terminated before releasing the resource.
|
|
3095
|
+
*/
|
|
3096
|
+
get dirtyWhenAcquired(): boolean;
|
|
3097
|
+
/**
|
|
3098
|
+
* Returns the absolute path to the lockfile
|
|
3099
|
+
*/
|
|
3100
|
+
get filePath(): string;
|
|
3101
|
+
/**
|
|
3102
|
+
* Returns true if this lock is currently being held.
|
|
3103
|
+
*/
|
|
3104
|
+
get isReleased(): boolean;
|
|
3105
|
+
}
|
|
3106
|
+
|
|
3107
|
+
/**
|
|
3108
|
+
* Helper functions for working with the `Map<K, V>` data type.
|
|
3109
|
+
*
|
|
3110
|
+
* @public
|
|
3111
|
+
*/
|
|
3112
|
+
export declare class MapExtensions {
|
|
3113
|
+
/**
|
|
3114
|
+
* Adds all the (key, value) pairs from the source map into the target map.
|
|
3115
|
+
* @remarks
|
|
3116
|
+
* This function modifies targetMap. Any existing keys will be overwritten.
|
|
3117
|
+
* @param targetMap - The map that entries will be added to
|
|
3118
|
+
* @param sourceMap - The map containing the entries to be added
|
|
3119
|
+
*/
|
|
3120
|
+
static mergeFromMap<K, V>(targetMap: Map<K, V>, sourceMap: ReadonlyMap<K, V>): void;
|
|
3121
|
+
/**
|
|
3122
|
+
* Converts a string-keyed map to an object.
|
|
3123
|
+
* @remarks
|
|
3124
|
+
* This function has the same effect as Object.fromEntries(map.entries())
|
|
3125
|
+
* in supported versions of Node (\>= 12.0.0).
|
|
3126
|
+
* @param map - The map that the object properties will be sourced from
|
|
3127
|
+
*/
|
|
3128
|
+
static toObject<TValue>(map: Map<string, TValue>): {
|
|
3129
|
+
[key: string]: TValue;
|
|
3130
|
+
};
|
|
3131
|
+
}
|
|
3132
|
+
|
|
3133
|
+
/**
|
|
3134
|
+
* Implements a standard heap data structure for items of type T and a custom comparator.
|
|
3135
|
+
* The root will always be the minimum value as determined by the comparator.
|
|
3136
|
+
*
|
|
3137
|
+
* @public
|
|
3138
|
+
*/
|
|
3139
|
+
export declare class MinimumHeap<T> {
|
|
3140
|
+
private readonly _items;
|
|
3141
|
+
private readonly _comparator;
|
|
3142
|
+
/**
|
|
3143
|
+
* Constructs a new MinimumHeap instance.
|
|
3144
|
+
* @param comparator - a comparator function that determines the order of the items in the heap.
|
|
3145
|
+
* If the comparator returns a value less than zero, then `a` will be considered less than `b`.
|
|
3146
|
+
* If the comparator returns zero, then `a` and `b` are considered equal.
|
|
3147
|
+
* Otherwise, `a` will be considered greater than `b`.
|
|
3148
|
+
*/
|
|
3149
|
+
constructor(comparator: (a: T, b: T) => number);
|
|
3150
|
+
/**
|
|
3151
|
+
* Returns the number of items in the heap.
|
|
3152
|
+
* @returns the number of items in the heap.
|
|
3153
|
+
*/
|
|
3154
|
+
get size(): number;
|
|
3155
|
+
/**
|
|
3156
|
+
* Retrieves the root item from the heap without removing it.
|
|
3157
|
+
* @returns the root item, or `undefined` if the heap is empty
|
|
3158
|
+
*/
|
|
3159
|
+
peek(): T | undefined;
|
|
3160
|
+
/**
|
|
3161
|
+
* Retrieves and removes the root item from the heap. The next smallest item will become the new root.
|
|
3162
|
+
* @returns the root item, or `undefined` if the heap is empty
|
|
3163
|
+
*/
|
|
3164
|
+
poll(): T | undefined;
|
|
3165
|
+
/**
|
|
3166
|
+
* Pushes an item into the heap.
|
|
3167
|
+
* @param item - the item to push
|
|
3168
|
+
*/
|
|
3169
|
+
push(item: T): void;
|
|
3170
|
+
}
|
|
3171
|
+
|
|
3172
|
+
/**
|
|
3173
|
+
* Enumeration controlling conversion of newline characters.
|
|
3174
|
+
* @public
|
|
3175
|
+
*/
|
|
3176
|
+
export declare enum NewlineKind {
|
|
3177
|
+
/**
|
|
3178
|
+
* Windows-style newlines
|
|
3179
|
+
*/
|
|
3180
|
+
CrLf = "\r\n",
|
|
3181
|
+
/**
|
|
3182
|
+
* POSIX-style newlines
|
|
3183
|
+
*
|
|
3184
|
+
* @remarks
|
|
3185
|
+
* POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
|
|
3186
|
+
*/
|
|
3187
|
+
Lf = "\n",
|
|
3188
|
+
/**
|
|
3189
|
+
* Default newline type for this operating system (`os.EOL`).
|
|
3190
|
+
*/
|
|
3191
|
+
OsDefault = "os"
|
|
3192
|
+
}
|
|
3193
|
+
|
|
3194
|
+
/**
|
|
3195
|
+
* This class provides methods for finding the nearest "package.json" for a folder
|
|
3196
|
+
* and retrieving the name of the package. The results are cached.
|
|
3197
|
+
*
|
|
3198
|
+
* @public
|
|
3199
|
+
*/
|
|
3200
|
+
export declare class PackageJsonLookup {
|
|
3201
|
+
private static _instance;
|
|
3202
|
+
/**
|
|
3203
|
+
* A singleton instance of `PackageJsonLookup`, which is useful for short-lived processes
|
|
3204
|
+
* that can reasonably assume that the file system will not be modified after the cache
|
|
3205
|
+
* is populated.
|
|
3206
|
+
*
|
|
3207
|
+
* @remarks
|
|
3208
|
+
* For long-running processes that need to clear the cache at appropriate times,
|
|
3209
|
+
* it is recommended to create your own instance of `PackageJsonLookup` instead
|
|
3210
|
+
* of relying on this instance.
|
|
3211
|
+
*/
|
|
3212
|
+
static get instance(): PackageJsonLookup;
|
|
3213
|
+
private _loadExtraFields;
|
|
3214
|
+
private _packageFolderCache;
|
|
3215
|
+
private _packageJsonCache;
|
|
3216
|
+
constructor(parameters?: IPackageJsonLookupParameters);
|
|
3217
|
+
/**
|
|
3218
|
+
* A helper for loading the caller's own package.json file.
|
|
3219
|
+
*
|
|
3220
|
+
* @remarks
|
|
3221
|
+
*
|
|
3222
|
+
* This function provides a concise and efficient way for an NPM package to report metadata about itself.
|
|
3223
|
+
* For example, a tool might want to report its version.
|
|
3224
|
+
*
|
|
3225
|
+
* The `loadOwnPackageJson()` probes upwards from the caller's folder, expecting to find a package.json file,
|
|
3226
|
+
* which is assumed to be the caller's package. The result is cached, under the assumption that a tool's
|
|
3227
|
+
* own package.json (and intermediary folders) will never change during the lifetime of the process.
|
|
3228
|
+
*
|
|
3229
|
+
* @example
|
|
3230
|
+
* ```ts
|
|
3231
|
+
* // Report the version of our NPM package
|
|
3232
|
+
* const myPackageVersion: string = PackageJsonLookup.loadOwnPackageJson(__dirname).version;
|
|
3233
|
+
* console.log(`Cool Tool - Version ${myPackageVersion}`);
|
|
3234
|
+
* ```
|
|
3235
|
+
*
|
|
3236
|
+
* @param dirnameOfCaller - The NodeJS `__dirname` macro for the caller.
|
|
3237
|
+
* @returns This function always returns a valid `IPackageJson` object. If any problems are encountered during
|
|
3238
|
+
* loading, an exception will be thrown instead.
|
|
3239
|
+
*/
|
|
3240
|
+
static loadOwnPackageJson(dirnameOfCaller: string): IPackageJson;
|
|
3241
|
+
/**
|
|
3242
|
+
* Clears the internal file cache.
|
|
3243
|
+
* @remarks
|
|
3244
|
+
* Call this method if changes have been made to the package.json files on disk.
|
|
3245
|
+
*/
|
|
3246
|
+
clearCache(): void;
|
|
3247
|
+
/**
|
|
3248
|
+
* Returns the absolute path of a folder containing a package.json file, by looking
|
|
3249
|
+
* upwards from the specified fileOrFolderPath. If no package.json can be found,
|
|
3250
|
+
* undefined is returned.
|
|
3251
|
+
*
|
|
3252
|
+
* @remarks
|
|
3253
|
+
* The fileOrFolderPath is not required to actually exist on disk.
|
|
3254
|
+
* The fileOrFolderPath itself can be the return value, if it is a folder containing
|
|
3255
|
+
* a package.json file.
|
|
3256
|
+
* Both positive and negative lookup results are cached.
|
|
3257
|
+
*
|
|
3258
|
+
* @param fileOrFolderPath - a relative or absolute path to a source file or folder
|
|
3259
|
+
* that may be part of a package
|
|
3260
|
+
* @returns an absolute path to a folder containing a package.json file
|
|
3261
|
+
*/
|
|
3262
|
+
tryGetPackageFolderFor(fileOrFolderPath: string): string | undefined;
|
|
3263
|
+
/**
|
|
3264
|
+
* If the specified file or folder is part of a package, this returns the absolute path
|
|
3265
|
+
* to the associated package.json file.
|
|
3266
|
+
*
|
|
3267
|
+
* @remarks
|
|
3268
|
+
* The package folder is determined using the same algorithm
|
|
3269
|
+
* as {@link PackageJsonLookup.tryGetPackageFolderFor}.
|
|
3270
|
+
*
|
|
3271
|
+
* @param fileOrFolderPath - a relative or absolute path to a source file or folder
|
|
3272
|
+
* that may be part of a package
|
|
3273
|
+
* @returns an absolute path to * package.json file
|
|
3274
|
+
*/
|
|
3275
|
+
tryGetPackageJsonFilePathFor(fileOrFolderPath: string): string | undefined;
|
|
3276
|
+
/**
|
|
3277
|
+
* If the specified file or folder is part of a package, this loads and returns the
|
|
3278
|
+
* associated package.json file.
|
|
3279
|
+
*
|
|
3280
|
+
* @remarks
|
|
3281
|
+
* The package folder is determined using the same algorithm
|
|
3282
|
+
* as {@link PackageJsonLookup.tryGetPackageFolderFor}.
|
|
3283
|
+
*
|
|
3284
|
+
* @param fileOrFolderPath - a relative or absolute path to a source file or folder
|
|
3285
|
+
* that may be part of a package
|
|
3286
|
+
* @returns an IPackageJson object, or undefined if the fileOrFolderPath does not
|
|
3287
|
+
* belong to a package
|
|
3288
|
+
*/
|
|
3289
|
+
tryLoadPackageJsonFor(fileOrFolderPath: string): IPackageJson | undefined;
|
|
3290
|
+
/**
|
|
3291
|
+
* This function is similar to {@link PackageJsonLookup.tryLoadPackageJsonFor}, except that it does not report
|
|
3292
|
+
* an error if the `version` field is missing from the package.json file.
|
|
3293
|
+
*/
|
|
3294
|
+
tryLoadNodePackageJsonFor(fileOrFolderPath: string): INodePackageJson | undefined;
|
|
3295
|
+
/**
|
|
3296
|
+
* Loads the specified package.json file, if it is not already present in the cache.
|
|
3297
|
+
*
|
|
3298
|
+
* @remarks
|
|
3299
|
+
* Unless {@link IPackageJsonLookupParameters.loadExtraFields} was specified,
|
|
3300
|
+
* the returned IPackageJson object will contain a subset of essential fields.
|
|
3301
|
+
* The returned object should be considered to be immutable; the caller must never
|
|
3302
|
+
* modify it.
|
|
3303
|
+
*
|
|
3304
|
+
* @param jsonFilename - a relative or absolute path to a package.json file
|
|
3305
|
+
*/
|
|
3306
|
+
loadPackageJson(jsonFilename: string): IPackageJson;
|
|
3307
|
+
/**
|
|
3308
|
+
* This function is similar to {@link PackageJsonLookup.loadPackageJson}, except that it does not report an error
|
|
3309
|
+
* if the `version` field is missing from the package.json file.
|
|
3310
|
+
*/
|
|
3311
|
+
loadNodePackageJson(jsonFilename: string): INodePackageJson;
|
|
3312
|
+
private _loadPackageJsonInner;
|
|
3313
|
+
/**
|
|
3314
|
+
* Try to load a package.json file as an INodePackageJson,
|
|
3315
|
+
* returning undefined if the found file does not contain a `name` field.
|
|
3316
|
+
*/
|
|
3317
|
+
private _tryLoadNodePackageJsonInner;
|
|
3318
|
+
private _tryGetPackageFolderFor;
|
|
3319
|
+
}
|
|
3320
|
+
|
|
3321
|
+
/**
|
|
3322
|
+
* Provides basic operations for validating and manipulating NPM package names such as `my-package`
|
|
3323
|
+
* or `@scope/my-package`.
|
|
3324
|
+
*
|
|
3325
|
+
* @remarks
|
|
3326
|
+
* This is the default implementation of {@link PackageNameParser}, exposed as a convenient static class.
|
|
3327
|
+
* If you need to configure the parsing rules, use `PackageNameParser` instead.
|
|
3328
|
+
*
|
|
3329
|
+
* @public
|
|
3330
|
+
*/
|
|
3331
|
+
export declare class PackageName {
|
|
3332
|
+
private static readonly _parser;
|
|
3333
|
+
/** {@inheritDoc PackageNameParser.tryParse} */
|
|
3334
|
+
static tryParse(packageName: string): IParsedPackageNameOrError;
|
|
3335
|
+
/** {@inheritDoc PackageNameParser.parse} */
|
|
3336
|
+
static parse(packageName: string): IParsedPackageName;
|
|
3337
|
+
/** {@inheritDoc PackageNameParser.getScope} */
|
|
3338
|
+
static getScope(packageName: string): string;
|
|
3339
|
+
/** {@inheritDoc PackageNameParser.getUnscopedName} */
|
|
3340
|
+
static getUnscopedName(packageName: string): string;
|
|
3341
|
+
/** {@inheritDoc PackageNameParser.isValidName} */
|
|
3342
|
+
static isValidName(packageName: string): boolean;
|
|
3343
|
+
/** {@inheritDoc PackageNameParser.validate} */
|
|
3344
|
+
static validate(packageName: string): void;
|
|
3345
|
+
/** {@inheritDoc PackageNameParser.combineParts} */
|
|
3346
|
+
static combineParts(scope: string, unscopedName: string): string;
|
|
3347
|
+
}
|
|
3348
|
+
|
|
3349
|
+
/**
|
|
3350
|
+
* A configurable parser for validating and manipulating NPM package names such as `my-package` or `@scope/my-package`.
|
|
3351
|
+
*
|
|
3352
|
+
* @remarks
|
|
3353
|
+
* If you do not need to customize the parser configuration, it is recommended to use {@link PackageName}
|
|
3354
|
+
* which exposes these operations as a simple static class.
|
|
3355
|
+
*
|
|
3356
|
+
* @public
|
|
3357
|
+
*/
|
|
3358
|
+
export declare class PackageNameParser {
|
|
3359
|
+
private static readonly _invalidNameCharactersRegExp;
|
|
3360
|
+
private readonly _options;
|
|
3361
|
+
constructor(options?: IPackageNameParserOptions);
|
|
3362
|
+
/**
|
|
3363
|
+
* This attempts to parse a package name that may include a scope component.
|
|
3364
|
+
* The packageName must not be an empty string.
|
|
3365
|
+
* @remarks
|
|
3366
|
+
* This function will not throw an exception.
|
|
3367
|
+
*
|
|
3368
|
+
* @returns an {@link IParsedPackageNameOrError} structure whose `error` property will be
|
|
3369
|
+
* nonempty if the string could not be parsed.
|
|
3370
|
+
*/
|
|
3371
|
+
tryParse(packageName: string): IParsedPackageNameOrError;
|
|
3372
|
+
/**
|
|
3373
|
+
* Same as {@link PackageName.tryParse}, except this throws an exception if the input
|
|
3374
|
+
* cannot be parsed.
|
|
3375
|
+
* @remarks
|
|
3376
|
+
* The packageName must not be an empty string.
|
|
3377
|
+
*/
|
|
3378
|
+
parse(packageName: string): IParsedPackageName;
|
|
3379
|
+
/**
|
|
3380
|
+
* {@inheritDoc IParsedPackageName.scope}
|
|
3381
|
+
*/
|
|
3382
|
+
getScope(packageName: string): string;
|
|
3383
|
+
/**
|
|
3384
|
+
* {@inheritDoc IParsedPackageName.unscopedName}
|
|
3385
|
+
*/
|
|
3386
|
+
getUnscopedName(packageName: string): string;
|
|
3387
|
+
/**
|
|
3388
|
+
* Returns true if the specified package name is valid, or false otherwise.
|
|
3389
|
+
* @remarks
|
|
3390
|
+
* This function will not throw an exception.
|
|
3391
|
+
*/
|
|
3392
|
+
isValidName(packageName: string): boolean;
|
|
3393
|
+
/**
|
|
3394
|
+
* Throws an exception if the specified name is not a valid package name.
|
|
3395
|
+
* The packageName must not be an empty string.
|
|
3396
|
+
*/
|
|
3397
|
+
validate(packageName: string): void;
|
|
3398
|
+
/**
|
|
3399
|
+
* Combines an optional package scope with an unscoped root name.
|
|
3400
|
+
* @param scope - Must be either an empty string, or a scope name such as "\@example"
|
|
3401
|
+
* @param unscopedName - Must be a nonempty package name that does not contain a scope
|
|
3402
|
+
* @returns A full package name such as "\@example/some-library".
|
|
3403
|
+
*/
|
|
3404
|
+
combineParts(scope: string, unscopedName: string): string;
|
|
3405
|
+
}
|
|
3406
|
+
|
|
3407
|
+
/**
|
|
3408
|
+
* Common operations for manipulating file and directory paths.
|
|
3409
|
+
* @remarks
|
|
3410
|
+
* This API is intended to eventually be a complete replacement for the NodeJS "path" API.
|
|
3411
|
+
* @public
|
|
3412
|
+
*/
|
|
3413
|
+
export declare class Path {
|
|
3414
|
+
private static _relativePathRegex;
|
|
3415
|
+
private static _upwardPathSegmentRegex;
|
|
3416
|
+
/**
|
|
3417
|
+
* Returns true if "childPath" is located inside the "parentFolderPath" folder
|
|
3418
|
+
* or one of its child folders. Note that "parentFolderPath" is not considered to be
|
|
3419
|
+
* under itself. The "childPath" can refer to any type of file system object.
|
|
3420
|
+
*
|
|
3421
|
+
* @remarks
|
|
3422
|
+
* The indicated file/folder objects are not required to actually exist on disk.
|
|
3423
|
+
* For example, "parentFolderPath" is interpreted as a folder name even if it refers to a file.
|
|
3424
|
+
* If the paths are relative, they will first be resolved using path.resolve().
|
|
3425
|
+
*/
|
|
3426
|
+
static isUnder(childPath: string, parentFolderPath: string): boolean;
|
|
3427
|
+
/**
|
|
3428
|
+
* Returns true if "childPath" is equal to "parentFolderPath", or if it is inside that folder
|
|
3429
|
+
* or one of its children. The "childPath" can refer to any type of file system object.
|
|
3430
|
+
*
|
|
3431
|
+
* @remarks
|
|
3432
|
+
* The indicated file/folder objects are not required to actually exist on disk.
|
|
3433
|
+
* For example, "parentFolderPath" is interpreted as a folder name even if it refers to a file.
|
|
3434
|
+
* If the paths are relative, they will first be resolved using path.resolve().
|
|
3435
|
+
*/
|
|
3436
|
+
static isUnderOrEqual(childPath: string, parentFolderPath: string): boolean;
|
|
3437
|
+
/**
|
|
3438
|
+
* Returns true if `path1` and `path2` refer to the same underlying path.
|
|
3439
|
+
*
|
|
3440
|
+
* @remarks
|
|
3441
|
+
*
|
|
3442
|
+
* The comparison is performed using `path.relative()`.
|
|
3443
|
+
*/
|
|
3444
|
+
static isEqual(path1: string, path2: string): boolean;
|
|
3445
|
+
/**
|
|
3446
|
+
* Formats a path to look nice for reporting purposes.
|
|
3447
|
+
* @remarks
|
|
3448
|
+
* If `pathToConvert` is under the `baseFolder`, then it will be converted to a relative with the `./` prefix
|
|
3449
|
+
* unless the {@link IPathFormatConciselyOptions.trimLeadingDotSlash} option is set to `true`.
|
|
3450
|
+
* Otherwise, it will be converted to an absolute path.
|
|
3451
|
+
*
|
|
3452
|
+
* Backslashes will be converted to slashes, unless the path starts with an OS-specific string like `C:\`.
|
|
3453
|
+
*/
|
|
3454
|
+
static formatConcisely(options: IPathFormatConciselyOptions): string;
|
|
3455
|
+
/**
|
|
3456
|
+
* Formats a file location to look nice for reporting purposes.
|
|
3457
|
+
* @remarks
|
|
3458
|
+
* If `pathToFormat` is under the `baseFolder`, then it will be converted to a relative with the `./` prefix.
|
|
3459
|
+
* Otherwise, it will be converted to an absolute path.
|
|
3460
|
+
*
|
|
3461
|
+
* Backslashes will be converted to slashes, unless the path starts with an OS-specific string like `C:\`.
|
|
3462
|
+
*/
|
|
3463
|
+
static formatFileLocation(options: IPathFormatFileLocationOptions): string;
|
|
3464
|
+
/**
|
|
3465
|
+
* Replaces Windows-style backslashes with POSIX-style slashes.
|
|
3466
|
+
*
|
|
3467
|
+
* @remarks
|
|
3468
|
+
* POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
|
|
3469
|
+
*/
|
|
3470
|
+
static convertToSlashes(inputPath: string): string;
|
|
3471
|
+
/**
|
|
3472
|
+
* Replaces POSIX-style slashes with Windows-style backslashes
|
|
3473
|
+
*
|
|
3474
|
+
* @remarks
|
|
3475
|
+
* POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
|
|
3476
|
+
*/
|
|
3477
|
+
static convertToBackslashes(inputPath: string): string;
|
|
3478
|
+
/**
|
|
3479
|
+
* Replaces slashes or backslashes with the appropriate slash for the current operating system.
|
|
3480
|
+
*/
|
|
3481
|
+
static convertToPlatformDefault(inputPath: string): string;
|
|
3482
|
+
/**
|
|
3483
|
+
* Returns true if the specified path is a relative path and does not use `..` to walk upwards.
|
|
3484
|
+
*
|
|
3485
|
+
* @example
|
|
3486
|
+
* ```ts
|
|
3487
|
+
* // These evaluate to true
|
|
3488
|
+
* isDownwardRelative('folder');
|
|
3489
|
+
* isDownwardRelative('file');
|
|
3490
|
+
* isDownwardRelative('folder/');
|
|
3491
|
+
* isDownwardRelative('./folder/');
|
|
3492
|
+
* isDownwardRelative('./folder/file');
|
|
3493
|
+
*
|
|
3494
|
+
* // These evaluate to false
|
|
3495
|
+
* isDownwardRelative('../folder');
|
|
3496
|
+
* isDownwardRelative('folder/../file');
|
|
3497
|
+
* isDownwardRelative('/folder/file');
|
|
3498
|
+
* ```
|
|
3499
|
+
*/
|
|
3500
|
+
static isDownwardRelative(inputPath: string): boolean;
|
|
3501
|
+
}
|
|
3502
|
+
|
|
3503
|
+
/**
|
|
3504
|
+
* An integer value used to specify file permissions for POSIX-like operating systems.
|
|
3505
|
+
*
|
|
3506
|
+
* @remarks
|
|
3507
|
+
*
|
|
3508
|
+
* This bitfield corresponds to the "mode_t" structure described in this document:
|
|
3509
|
+
* http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html
|
|
3510
|
+
*
|
|
3511
|
+
* It is used with NodeJS APIs such as fs.Stat.mode and fs.chmodSync(). These values
|
|
3512
|
+
* represent a set of permissions and can be combined using bitwise arithmetic.
|
|
3513
|
+
*
|
|
3514
|
+
* POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
|
|
3515
|
+
*
|
|
3516
|
+
* @public
|
|
3517
|
+
*/
|
|
3518
|
+
export declare enum PosixModeBits {
|
|
3519
|
+
/**
|
|
3520
|
+
* Indicates that the item's owner can read the item.
|
|
3521
|
+
*/
|
|
3522
|
+
UserRead = 256,
|
|
3523
|
+
/**
|
|
3524
|
+
* Indicates that the item's owner can modify the item.
|
|
3525
|
+
*/
|
|
3526
|
+
UserWrite = 128,
|
|
3527
|
+
/**
|
|
3528
|
+
* Indicates that the item's owner can execute the item (if it is a file)
|
|
3529
|
+
* or search the item (if it is a directory).
|
|
3530
|
+
*/
|
|
3531
|
+
UserExecute = 64,
|
|
3532
|
+
/**
|
|
3533
|
+
* Indicates that users belonging to the item's group can read the item.
|
|
3534
|
+
*/
|
|
3535
|
+
GroupRead = 32,
|
|
3536
|
+
/**
|
|
3537
|
+
* Indicates that users belonging to the item's group can modify the item.
|
|
3538
|
+
*/
|
|
3539
|
+
GroupWrite = 16,
|
|
3540
|
+
/**
|
|
3541
|
+
* Indicates that users belonging to the item's group can execute the item (if it is a file)
|
|
3542
|
+
* or search the item (if it is a directory).
|
|
3543
|
+
*/
|
|
3544
|
+
GroupExecute = 8,
|
|
3545
|
+
/**
|
|
3546
|
+
* Indicates that other users (besides the item's owner user or group) can read the item.
|
|
3547
|
+
*/
|
|
3548
|
+
OthersRead = 4,
|
|
3549
|
+
/**
|
|
3550
|
+
* Indicates that other users (besides the item's owner user or group) can modify the item.
|
|
3551
|
+
*/
|
|
3552
|
+
OthersWrite = 2,
|
|
3553
|
+
/**
|
|
3554
|
+
* Indicates that other users (besides the item's owner user or group) can execute the item (if it is a file)
|
|
3555
|
+
* or search the item (if it is a directory).
|
|
3556
|
+
*/
|
|
3557
|
+
OthersExecute = 1,
|
|
3558
|
+
/**
|
|
3559
|
+
* A zero value where no permissions bits are set.
|
|
3560
|
+
*/
|
|
3561
|
+
None = 0,
|
|
3562
|
+
/**
|
|
3563
|
+
* An alias combining OthersRead, GroupRead, and UserRead permission bits.
|
|
3564
|
+
*/
|
|
3565
|
+
AllRead = 292,
|
|
3566
|
+
/**
|
|
3567
|
+
* An alias combining OthersWrite, GroupWrite, and UserWrite permission bits.
|
|
3568
|
+
*/
|
|
3569
|
+
AllWrite = 146,
|
|
3570
|
+
/**
|
|
3571
|
+
* An alias combining OthersExecute, GroupExecute, and UserExecute permission bits.
|
|
3572
|
+
*/
|
|
3573
|
+
AllExecute = 73
|
|
3574
|
+
}
|
|
3575
|
+
|
|
3576
|
+
/**
|
|
3577
|
+
* The ProtectableMap provides an easy way for an API to expose a `Map<K, V>` property
|
|
3578
|
+
* while intercepting and validating any write operations that are performed by
|
|
3579
|
+
* consumers of the API.
|
|
3580
|
+
*
|
|
3581
|
+
* @remarks
|
|
3582
|
+
* The ProtectableMap itself is intended to be a private object that only its owner
|
|
3583
|
+
* can access directly. Any operations performed directly on the ProtectableMap will
|
|
3584
|
+
* bypass the hooks and any validation they perform. The public property that is exposed
|
|
3585
|
+
* to API consumers should return {@link ProtectableMap.protectedView} instead.
|
|
3586
|
+
*
|
|
3587
|
+
* For example, suppose you want to share your `Map<string, number>` data structure,
|
|
3588
|
+
* but you want to enforce that the key must always be an upper case string:
|
|
3589
|
+
* You could use the onSet() hook to validate the keys and throw an exception
|
|
3590
|
+
* if the key is not uppercase.
|
|
3591
|
+
*
|
|
3592
|
+
* @public
|
|
3593
|
+
*/
|
|
3594
|
+
export declare class ProtectableMap<K, V> {
|
|
3595
|
+
private readonly _protectedView;
|
|
3596
|
+
constructor(parameters: IProtectableMapParameters<K, V>);
|
|
3597
|
+
/**
|
|
3598
|
+
* The owner of the protectable map should return this object via its public API.
|
|
3599
|
+
*/
|
|
3600
|
+
get protectedView(): Map<K, V>;
|
|
3601
|
+
/**
|
|
3602
|
+
* Removes all entries from the map.
|
|
3603
|
+
* This operation does NOT invoke the ProtectableMap onClear() hook.
|
|
3604
|
+
*/
|
|
3605
|
+
clear(): void;
|
|
3606
|
+
/**
|
|
3607
|
+
* Removes the specified key from the map.
|
|
3608
|
+
* This operation does NOT invoke the ProtectableMap onDelete() hook.
|
|
3609
|
+
*/
|
|
3610
|
+
delete(key: K): boolean;
|
|
3611
|
+
/**
|
|
3612
|
+
* Sets a value for the specified key.
|
|
3613
|
+
* This operation does NOT invoke the ProtectableMap onSet() hook.
|
|
3614
|
+
*/
|
|
3615
|
+
set(key: K, value: V): this;
|
|
3616
|
+
/**
|
|
3617
|
+
* Performs an operation for each (key, value) entries in the map.
|
|
3618
|
+
*/
|
|
3619
|
+
forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;
|
|
3620
|
+
/**
|
|
3621
|
+
* Retrieves the value for the specified key.
|
|
3622
|
+
* @returns undefined if the value is undefined OR if the key is missing;
|
|
3623
|
+
* otherwise returns the value associated with the key.
|
|
3624
|
+
*/
|
|
3625
|
+
get(key: K): V | undefined;
|
|
3626
|
+
/**
|
|
3627
|
+
* Returns true if the specified key belongs to the map.
|
|
3628
|
+
*/
|
|
3629
|
+
has(key: K): boolean;
|
|
3630
|
+
/**
|
|
3631
|
+
* Returns the number of (key, value) entries in the map.
|
|
3632
|
+
*/
|
|
3633
|
+
get size(): number;
|
|
3634
|
+
}
|
|
3635
|
+
|
|
3636
|
+
/**
|
|
3637
|
+
* This class encapsulates a caching resolver for symlinks in node_modules directories.
|
|
3638
|
+
* It assumes that the only symlinks that exist in input paths are those that correspond to
|
|
3639
|
+
* npm packages.
|
|
3640
|
+
*
|
|
3641
|
+
* @remarks
|
|
3642
|
+
* In a repository with a symlinked node_modules installation, some symbolic links need to be mapped for
|
|
3643
|
+
* node module resolution to produce correct results. However, calling `fs.realpathSync.native` on every path,
|
|
3644
|
+
* as is commonly done by most resolvers, involves an enormous number of file system operations (for reference,
|
|
3645
|
+
* each invocation of `fs.realpathSync.native` involves a series of `fs.readlinkSync` calls, up to one for each
|
|
3646
|
+
* path segment in the input).
|
|
3647
|
+
*
|
|
3648
|
+
* @public
|
|
3649
|
+
*/
|
|
3650
|
+
export declare class RealNodeModulePathResolver {
|
|
3651
|
+
/**
|
|
3652
|
+
* Similar in function to `fs.realpathSync.native`, but assumes the only symlinks present are npm packages.
|
|
3653
|
+
*
|
|
3654
|
+
* @param input - A path to a file or directory, where the path separator is `${require('node:path').sep}`
|
|
3655
|
+
* @returns The real path to the input, resolving the node_modules symlinks in the path
|
|
3656
|
+
* @public
|
|
3657
|
+
*/
|
|
3658
|
+
readonly realNodeModulePath: (input: string) => string;
|
|
3659
|
+
private readonly _cache;
|
|
3660
|
+
private readonly _errorCache;
|
|
3661
|
+
private readonly _fs;
|
|
3662
|
+
private readonly _path;
|
|
3663
|
+
private readonly _lstatOptions;
|
|
3664
|
+
constructor(options?: IRealNodeModulePathResolverOptions);
|
|
3665
|
+
/**
|
|
3666
|
+
* Clears the cache of resolved symlinks.
|
|
3667
|
+
* @public
|
|
3668
|
+
*/
|
|
3669
|
+
clearCache(): void;
|
|
3670
|
+
/**
|
|
3671
|
+
* Tries to read a symbolic link at the specified path.
|
|
3672
|
+
* If the input is not a symbolic link, returns undefined.
|
|
3673
|
+
* @param link - The link to try to read
|
|
3674
|
+
* @returns The target of the symbolic link, or undefined if the input is not a symbolic link
|
|
3675
|
+
*/
|
|
3676
|
+
private _tryReadLink;
|
|
3677
|
+
}
|
|
3678
|
+
|
|
3679
|
+
/**
|
|
3680
|
+
* Operations for sorting collections.
|
|
3681
|
+
*
|
|
3682
|
+
* @public
|
|
3683
|
+
*/
|
|
3684
|
+
export declare class Sort {
|
|
3685
|
+
/**
|
|
3686
|
+
* Compares `x` and `y` using the JavaScript `>` and `<` operators. This function is suitable for usage as
|
|
3687
|
+
* the callback for `array.sort()`.
|
|
3688
|
+
*
|
|
3689
|
+
* @remarks
|
|
3690
|
+
*
|
|
3691
|
+
* The JavaScript ordering is generalized so that `undefined` \< `null` \< all other values.
|
|
3692
|
+
*
|
|
3693
|
+
* @returns -1 if `x` is smaller than `y`, 1 if `x` is greater than `y`, or 0 if the values are equal.
|
|
3694
|
+
*
|
|
3695
|
+
* @example
|
|
3696
|
+
*
|
|
3697
|
+
* ```ts
|
|
3698
|
+
* let array: number[] = [3, 6, 2];
|
|
3699
|
+
* array.sort(Sort.compareByValue); // [2, 3, 6]
|
|
3700
|
+
* ```
|
|
3701
|
+
*/
|
|
3702
|
+
static compareByValue(x: any, y: any): number;
|
|
3703
|
+
/**
|
|
3704
|
+
* Sorts the array according to a key which is obtained from the array elements.
|
|
3705
|
+
* The result is guaranteed to be a stable sort.
|
|
3706
|
+
*
|
|
3707
|
+
* @example
|
|
3708
|
+
*
|
|
3709
|
+
* ```ts
|
|
3710
|
+
* let array: string[] = [ 'aaa', 'bb', 'c' ];
|
|
3711
|
+
* Sort.sortBy(array, x => x.length); // [ 'c', 'bb', 'aaa' ]
|
|
3712
|
+
* ```
|
|
3713
|
+
*/
|
|
3714
|
+
static sortBy<T>(array: T[], keySelector: (element: T) => any, comparer?: (x: any, y: any) => number): void;
|
|
3715
|
+
/**
|
|
3716
|
+
* Returns true if the collection is already sorted.
|
|
3717
|
+
*/
|
|
3718
|
+
static isSorted<T>(collection: Iterable<T>, comparer?: (x: any, y: any) => number): boolean;
|
|
3719
|
+
/**
|
|
3720
|
+
* Returns true if the collection is already sorted by the specified key.
|
|
3721
|
+
*
|
|
3722
|
+
* @example
|
|
3723
|
+
*
|
|
3724
|
+
* ```ts
|
|
3725
|
+
* let array: string[] = [ 'a', 'bb', 'ccc' ];
|
|
3726
|
+
* Sort.isSortedBy(array, x => x.length); // true
|
|
3727
|
+
* ```
|
|
3728
|
+
*/
|
|
3729
|
+
static isSortedBy<T>(collection: Iterable<T>, keySelector: (element: T) => any, comparer?: (x: any, y: any) => number): boolean;
|
|
3730
|
+
/**
|
|
3731
|
+
* Sorts the entries in a Map object according to the map keys.
|
|
3732
|
+
* The result is guaranteed to be a stable sort.
|
|
3733
|
+
*
|
|
3734
|
+
* @example
|
|
3735
|
+
*
|
|
3736
|
+
* ```ts
|
|
3737
|
+
* let map: Map<string, number> = new Map<string, number>();
|
|
3738
|
+
* map.set('zebra', 1);
|
|
3739
|
+
* map.set('goose', 2);
|
|
3740
|
+
* map.set('aardvark', 3);
|
|
3741
|
+
* Sort.sortMapKeys(map);
|
|
3742
|
+
* console.log(JSON.stringify(Array.from(map.keys()))); // ["aardvark","goose","zebra"]
|
|
3743
|
+
* ```
|
|
3744
|
+
*/
|
|
3745
|
+
static sortMapKeys<K, V>(map: Map<K, V>, keyComparer?: (x: K, y: K) => number): void;
|
|
3746
|
+
/**
|
|
3747
|
+
* Sorts the entries in a Set object according to the specified keys.
|
|
3748
|
+
* The result is guaranteed to be a stable sort.
|
|
3749
|
+
*
|
|
3750
|
+
* @example
|
|
3751
|
+
*
|
|
3752
|
+
* ```ts
|
|
3753
|
+
* let set: Set<string> = new Set<string>();
|
|
3754
|
+
* set.add('aaa');
|
|
3755
|
+
* set.add('bb');
|
|
3756
|
+
* set.add('c');
|
|
3757
|
+
* Sort.sortSetBy(set, x => x.length);
|
|
3758
|
+
* console.log(Array.from(set)); // ['c', 'bb', 'aaa']
|
|
3759
|
+
* ```
|
|
3760
|
+
*/
|
|
3761
|
+
static sortSetBy<T>(set: Set<T>, keySelector: (element: T) => any, keyComparer?: (x: T, y: T) => number): void;
|
|
3762
|
+
/**
|
|
3763
|
+
* Sorts the entries in a Set object. The result is guaranteed to be a stable sort.
|
|
3764
|
+
*
|
|
3765
|
+
* @example
|
|
3766
|
+
*
|
|
3767
|
+
* ```ts
|
|
3768
|
+
* let set: Set<string> = new Set<string>();
|
|
3769
|
+
* set.add('zebra');
|
|
3770
|
+
* set.add('goose');
|
|
3771
|
+
* set.add('aardvark');
|
|
3772
|
+
* Sort.sortSet(set);
|
|
3773
|
+
* console.log(Array.from(set)); // ['aardvark', 'goose', 'zebra']
|
|
3774
|
+
* ```
|
|
3775
|
+
*/
|
|
3776
|
+
static sortSet<T>(set: Set<T>, comparer?: (x: T, y: T) => number): void;
|
|
3777
|
+
/**
|
|
3778
|
+
* Sort the keys deeply given an object or an array.
|
|
3779
|
+
*
|
|
3780
|
+
* Doesn't handle cyclic reference.
|
|
3781
|
+
*
|
|
3782
|
+
* @param object - The object to be sorted
|
|
3783
|
+
*
|
|
3784
|
+
* @example
|
|
3785
|
+
*
|
|
3786
|
+
* ```ts
|
|
3787
|
+
* console.log(Sort.sortKeys({ c: 3, b: 2, a: 1 })); // { a: 1, b: 2, c: 3}
|
|
3788
|
+
* ```
|
|
3789
|
+
*/
|
|
3790
|
+
static sortKeys<T extends Partial<Record<string, unknown>> | unknown[]>(object: T): T;
|
|
3791
|
+
}
|
|
3792
|
+
|
|
3793
|
+
/**
|
|
3794
|
+
* This class allows a large text string to be constructed incrementally by appending small chunks. The final
|
|
3795
|
+
* string can be obtained by calling StringBuilder.toString().
|
|
3796
|
+
*
|
|
3797
|
+
* @remarks
|
|
3798
|
+
* A naive approach might use the `+=` operator to append strings: This would have the downside of copying
|
|
3799
|
+
* the entire string each time a chunk is appended, resulting in `O(n^2)` bytes of memory being allocated
|
|
3800
|
+
* (and later freed by the garbage collector), and many of the allocations could be very large objects.
|
|
3801
|
+
* StringBuilder avoids this overhead by accumulating the chunks in an array, and efficiently joining them
|
|
3802
|
+
* when `getText()` is finally called.
|
|
3803
|
+
*
|
|
3804
|
+
* @public
|
|
3805
|
+
*/
|
|
3806
|
+
export declare class StringBuilder implements IStringBuilder {
|
|
3807
|
+
private _chunks;
|
|
3808
|
+
constructor();
|
|
3809
|
+
/** {@inheritDoc IStringBuilder.append} */
|
|
3810
|
+
append(text: string): void;
|
|
3811
|
+
/** {@inheritDoc IStringBuilder.toString} */
|
|
3812
|
+
toString(): string;
|
|
3813
|
+
}
|
|
3814
|
+
|
|
3815
|
+
/**
|
|
3816
|
+
* When a child process is created, registering it with the SubprocessTerminator will ensure
|
|
3817
|
+
* that the child gets terminated when the current process terminates.
|
|
3818
|
+
*
|
|
3819
|
+
* @remarks
|
|
3820
|
+
* This works by hooking the current process's events for SIGTERM/SIGINT/exit, and ensuring the
|
|
3821
|
+
* child process gets terminated in those cases.
|
|
3822
|
+
*
|
|
3823
|
+
* SubprocessTerminator doesn't do anything on Windows, since by default Windows automatically
|
|
3824
|
+
* terminates child processes when their parent is terminated.
|
|
3825
|
+
*
|
|
3826
|
+
* @beta
|
|
3827
|
+
*/
|
|
3828
|
+
export declare class SubprocessTerminator {
|
|
3829
|
+
/**
|
|
3830
|
+
* Whether the hooks are installed
|
|
3831
|
+
*/
|
|
3832
|
+
private static _initialized;
|
|
3833
|
+
/**
|
|
3834
|
+
* The list of registered child processes. Processes are removed from this set if they
|
|
3835
|
+
* terminate on their own.
|
|
3836
|
+
*/
|
|
3837
|
+
private static _subprocessesByPid;
|
|
3838
|
+
private static readonly _isWindows;
|
|
3839
|
+
/**
|
|
3840
|
+
* The recommended options when creating a child process.
|
|
3841
|
+
*/
|
|
3842
|
+
static readonly RECOMMENDED_OPTIONS: ISubprocessOptions;
|
|
3843
|
+
/**
|
|
3844
|
+
* Registers a child process so that it will be terminated automatically if the current process
|
|
3845
|
+
* is terminated.
|
|
3846
|
+
*/
|
|
3847
|
+
static killProcessTreeOnExit(subprocess: child_process.ChildProcess, subprocessOptions: ISubprocessOptions): void;
|
|
3848
|
+
/**
|
|
3849
|
+
* Terminate the child process and all of its children.
|
|
3850
|
+
*/
|
|
3851
|
+
static killProcessTree(subprocess: child_process.ChildProcess, subprocessOptions: ISubprocessOptions): void;
|
|
3852
|
+
private static _ensureInitialized;
|
|
3853
|
+
private static _cleanupChildProcesses;
|
|
3854
|
+
private static _validateSubprocessOptions;
|
|
3855
|
+
private static _onExit;
|
|
3856
|
+
private static _onTerminateSignal;
|
|
3857
|
+
private static _logDebug;
|
|
3858
|
+
}
|
|
3859
|
+
|
|
3860
|
+
/**
|
|
3861
|
+
* Operations for working with strings that contain text.
|
|
3862
|
+
*
|
|
3863
|
+
* @remarks
|
|
3864
|
+
* The utilities provided by this class are intended to be simple, small, and very
|
|
3865
|
+
* broadly applicable.
|
|
3866
|
+
*
|
|
3867
|
+
* @public
|
|
3868
|
+
*/
|
|
3869
|
+
export declare class Text {
|
|
3870
|
+
private static readonly _newLineRegEx;
|
|
3871
|
+
private static readonly _newLineAtEndRegEx;
|
|
3872
|
+
/**
|
|
3873
|
+
* Returns the same thing as targetString.replace(searchValue, replaceValue), except that
|
|
3874
|
+
* all matches are replaced, rather than just the first match.
|
|
3875
|
+
* @param input - The string to be modified
|
|
3876
|
+
* @param searchValue - The value to search for
|
|
3877
|
+
* @param replaceValue - The replacement text
|
|
3878
|
+
*/
|
|
3879
|
+
static replaceAll(input: string, searchValue: string, replaceValue: string): string;
|
|
3880
|
+
/**
|
|
3881
|
+
* Converts all newlines in the provided string to use Windows-style CRLF end of line characters.
|
|
3882
|
+
*/
|
|
3883
|
+
static convertToCrLf(input: string): string;
|
|
3884
|
+
/**
|
|
3885
|
+
* Converts all newlines in the provided string to use POSIX-style LF end of line characters.
|
|
3886
|
+
*
|
|
3887
|
+
* POSIX is a registered trademark of the Institute of Electrical and Electronic Engineers, Inc.
|
|
3888
|
+
*/
|
|
3889
|
+
static convertToLf(input: string): string;
|
|
3890
|
+
/**
|
|
3891
|
+
* Converts all newlines in the provided string to use the specified newline type.
|
|
3892
|
+
*/
|
|
3893
|
+
static convertTo(input: string, newlineKind: NewlineKind): string;
|
|
3894
|
+
/**
|
|
3895
|
+
* Returns the newline character sequence for the specified `NewlineKind`.
|
|
3896
|
+
*/
|
|
3897
|
+
static getNewline(newlineKind: NewlineKind): string;
|
|
3898
|
+
/**
|
|
3899
|
+
* Append characters to the end of a string to ensure the result has a minimum length.
|
|
3900
|
+
* @remarks
|
|
3901
|
+
* If the string length already exceeds the minimum length, then the string is unchanged.
|
|
3902
|
+
* The string is not truncated.
|
|
3903
|
+
*/
|
|
3904
|
+
static padEnd(s: string, minimumLength: number, paddingCharacter?: string): string;
|
|
3905
|
+
/**
|
|
3906
|
+
* Append characters to the start of a string to ensure the result has a minimum length.
|
|
3907
|
+
* @remarks
|
|
3908
|
+
* If the string length already exceeds the minimum length, then the string is unchanged.
|
|
3909
|
+
* The string is not truncated.
|
|
3910
|
+
*/
|
|
3911
|
+
static padStart(s: string, minimumLength: number, paddingCharacter?: string): string;
|
|
3912
|
+
/**
|
|
3913
|
+
* If the string is longer than maximumLength characters, truncate it to that length
|
|
3914
|
+
* using "..." to indicate the truncation.
|
|
3915
|
+
*
|
|
3916
|
+
* @remarks
|
|
3917
|
+
* For example truncateWithEllipsis('1234578', 5) would produce '12...'.
|
|
3918
|
+
*/
|
|
3919
|
+
static truncateWithEllipsis(s: string, maximumLength: number): string;
|
|
3920
|
+
/**
|
|
3921
|
+
* Returns the input string with a trailing `\n` character appended, if not already present.
|
|
3922
|
+
*/
|
|
3923
|
+
static ensureTrailingNewline(s: string, newlineKind?: NewlineKind): string;
|
|
3924
|
+
/**
|
|
3925
|
+
* Escapes a string so that it can be treated as a literal string when used in a regular expression.
|
|
3926
|
+
*/
|
|
3927
|
+
static escapeRegExp(literal: string): string;
|
|
3928
|
+
/**
|
|
3929
|
+
* Read lines from an iterable object that returns strings or buffers, and return a generator that
|
|
3930
|
+
* produces the lines as strings. The lines will not include the newline characters.
|
|
3931
|
+
*
|
|
3932
|
+
* @param iterable - An iterable object that returns strings or buffers
|
|
3933
|
+
* @param options - Options used when reading the lines from the provided iterable
|
|
3934
|
+
*/
|
|
3935
|
+
static readLinesFromIterableAsync(iterable: AsyncIterable<string | Buffer>, options?: IReadLinesFromIterableOptions): AsyncGenerator<string>;
|
|
3936
|
+
/**
|
|
3937
|
+
* Read lines from an iterable object that returns strings or buffers, and return a generator that
|
|
3938
|
+
* produces the lines as strings. The lines will not include the newline characters.
|
|
3939
|
+
*
|
|
3940
|
+
* @param iterable - An iterable object that returns strings or buffers
|
|
3941
|
+
* @param options - Options used when reading the lines from the provided iterable
|
|
3942
|
+
*/
|
|
3943
|
+
static readLinesFromIterable(iterable: Iterable<string | Buffer | null>, options?: IReadLinesFromIterableOptions): Generator<string>;
|
|
3944
|
+
/**
|
|
3945
|
+
* Returns a new string that is the input string with the order of characters reversed.
|
|
3946
|
+
*/
|
|
3947
|
+
static reverse(s: string): string;
|
|
3948
|
+
/**
|
|
3949
|
+
* Splits the provided string by newlines. Note that leading and trailing newlines will produce
|
|
3950
|
+
* leading or trailing empty string array entries.
|
|
3951
|
+
*/
|
|
3952
|
+
static splitByNewLines(s: undefined): undefined;
|
|
3953
|
+
static splitByNewLines(s: string): string[];
|
|
3954
|
+
static splitByNewLines(s: string | undefined): string[] | undefined;
|
|
3955
|
+
}
|
|
3956
|
+
|
|
3957
|
+
/**
|
|
3958
|
+
* Provides a version-independent implementation of the JavaScript `instanceof` operator.
|
|
3959
|
+
*
|
|
3960
|
+
* @remarks
|
|
3961
|
+
* The JavaScript `instanceof` operator normally only identifies objects from a particular library instance.
|
|
3962
|
+
* For example, suppose the NPM package `example-lib` has two published versions 1.2.0 and 1.3.0, and
|
|
3963
|
+
* it exports a class called `A`. Suppose some code consumes version `1.3.0` of the library, but it receives
|
|
3964
|
+
* an object that was constructed using version `1.2.0`. In this situation `a instanceof A` will return `false`,
|
|
3965
|
+
* even though `a` is an instance of `A`. The reason is that there are two prototypes for `A`; one for each
|
|
3966
|
+
* version.
|
|
3967
|
+
*
|
|
3968
|
+
* The `TypeUuid` facility provides a way to make `a instanceof A` return true for both prototypes of `A`,
|
|
3969
|
+
* by instead using a universally unique identifier (UUID) to detect object instances.
|
|
3970
|
+
*
|
|
3971
|
+
* You can use `Symbol.hasInstance` to enable the system `instanceof` operator to recognize type UUID equivalence:
|
|
3972
|
+
* ```ts
|
|
3973
|
+
* const uuidWidget: string = '9c340ef0-d29f-4e2e-a09f-42bacc59024b';
|
|
3974
|
+
* class Widget {
|
|
3975
|
+
* public static [Symbol.hasInstance](instance: object): boolean {
|
|
3976
|
+
* return TypeUuid.isInstanceOf(instance, uuidWidget);
|
|
3977
|
+
* }
|
|
3978
|
+
* }
|
|
3979
|
+
* ```
|
|
3980
|
+
* // Example usage:
|
|
3981
|
+
* ```ts
|
|
3982
|
+
* import { Widget as Widget1 } from 'v1-of-library';
|
|
3983
|
+
* import { Widget as Widget2 } from 'v2-of-library';
|
|
3984
|
+
* const widget = new Widget2();
|
|
3985
|
+
* console.log(widget instanceof Widget1); // prints true
|
|
3986
|
+
* ```
|
|
3987
|
+
*
|
|
3988
|
+
* @public
|
|
3989
|
+
*/
|
|
3990
|
+
export declare class TypeUuid {
|
|
3991
|
+
private static _uuidRegExp;
|
|
3992
|
+
/**
|
|
3993
|
+
* Registers a JavaScript class as having a type identified by the specified UUID.
|
|
3994
|
+
* @privateRemarks
|
|
3995
|
+
* We cannot use a construct signature for `targetClass` because it may be an abstract class.
|
|
3996
|
+
*/
|
|
3997
|
+
static registerClass(targetClass: any, typeUuid: string): void;
|
|
3998
|
+
/**
|
|
3999
|
+
* Returns true if the `targetObject` is an instance of a JavaScript class that was previously
|
|
4000
|
+
* registered using the specified `typeUuid`. Base classes are also considered.
|
|
4001
|
+
*/
|
|
4002
|
+
static isInstanceOf(targetObject: unknown, typeUuid: string): boolean;
|
|
4003
|
+
}
|
|
4004
|
+
|
|
4005
|
+
export { }
|