@pikku/cli 0.12.144 → 0.12.151
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/console-app/assets/HelpPanel-CxjgE40i.js +1 -0
- package/console-app/assets/{abnfDiagram-N423BO3Z-BIPJyOId.js → abnfDiagram-VCTEODGH-UPW1PlxM.js} +1 -1
- package/console-app/assets/architecture-7GRP2DOG-BQN972Vc.js +1 -0
- package/console-app/assets/architectureDiagram-5GKGNRK7-B3XFrvZk.js +36 -0
- package/console-app/assets/blockDiagram-I7D4REHJ-Ca0v9UJQ.js +129 -0
- package/console-app/assets/c4Diagram-7LVT6UL2-CLewVsj_.js +38 -0
- package/console-app/assets/channel-B8xtOmL3.js +1 -0
- package/console-app/assets/chunk-4HAMMTFA-BwhbhOD9.js +62 -0
- package/console-app/assets/{chunk-NSK5VX7P-VK0slsok.js → chunk-75Z2AOVW-C7nAgNk0.js} +1 -1
- package/console-app/assets/chunk-DU6HZSFF-D4yYAcHt.js +127 -0
- package/console-app/assets/{chunk-2GRJ4B5K-pBREt5-Y.js → chunk-F27PBJKO-UHllOPps.js} +1 -1
- package/console-app/assets/{chunk-KEIR6QF5-BICK3FdT.js → chunk-FOHPRMQF-CoA4358r.js} +9 -9
- package/console-app/assets/chunk-GMAD6QVW-C0l_vm7T.js +72 -0
- package/console-app/assets/chunk-GVQU2GXP-h-H2Oird.js +1 -0
- package/console-app/assets/{chunk-5RXB4S5H-wo8Xtqiv.js → chunk-IMKFNOWR-DJ_W9CSg.js} +2 -2
- package/console-app/assets/chunk-L3NEJ4N5-Ce9oniwE.js +1 -0
- package/console-app/assets/chunk-OSK3NFVY-CdGE5qxS.js +10 -0
- package/console-app/assets/chunk-P2QGCYS3-DK1pHDdz.js +1 -0
- package/console-app/assets/{chunk-KBJHAD2P-PiPaopal.js → chunk-POPQ4Y6H-DjevEFNo.js} +1 -1
- package/console-app/assets/{chunk-4I5QYGJK-SmJ1Rqsn.js → chunk-PWAF6VOD-BVF5N1No.js} +1 -1
- package/console-app/assets/chunk-SHT3W25Y-BX8We-wN.js +168 -0
- package/console-app/assets/{chunk-6Q2QTUOP-B6uqaxr0.js → chunk-SVP7TREG-Cl0GgAPC.js} +1 -1
- package/console-app/assets/{chunk-GF5L2VYU-Cw7tsTe6.js → chunk-TICWLB2K-IWZAWDhu.js} +2 -2
- package/console-app/assets/chunk-XXDRQBXY-CGWcS5Ol.js +1 -0
- package/console-app/assets/classDiagram-ZZMXUADV-OGsmOlmO.js +1 -0
- package/console-app/assets/classDiagram-v2-VYDZK3BY-OGsmOlmO.js +1 -0
- package/console-app/assets/cose-bilkent-JH36ORCC-GsQ0JAnL.js +1 -0
- package/console-app/assets/cynefin-OW5HDTMX-hZsAZp_5.js +1 -0
- package/console-app/assets/{cynefinDiagram-MW4NZA55-BzFWEf8Y.js → cynefinDiagram-5FMLGOSQ-CsyMovx1.js} +1 -1
- package/console-app/assets/cytoscape.esm-B-1iW2ft.js +321 -0
- package/console-app/assets/dagre-BP8XEFz-.js +1 -0
- package/console-app/assets/dagre-GXQ25YYZ-Jg5285rx.js +4 -0
- package/console-app/assets/{diagram-7IWD3JNH-C58VaHJt.js → diagram-S7CK7UJ4-n9JiR8HK.js} +4 -4
- package/console-app/assets/{diagram-UB23O5K3-CmRNd5vm.js → diagram-UQ7AKVKN-Cde-dgbI.js} +1 -1
- package/console-app/assets/{diagram-B4RE2ZJO-B3w3TcXn.js → diagram-VSXAHHWV-CPZUg4FP.js} +1 -1
- package/console-app/assets/{diagram-Q27KOJAE-7oaP3D-d.js → diagram-VX7I27RA-B2rCDWvn.js} +1 -1
- package/console-app/assets/{diagram-LBJQPF4R-L1ZkDsab.js → diagram-Z3DM3KII-UwO0hte3.js} +1 -1
- package/console-app/assets/{ebnfDiagram-BXEA7PRR-D0rxzLaa.js → ebnfDiagram-PWID7BFC-BGJ_PBlS.js} +1 -1
- package/console-app/assets/erDiagram-RLTQ6QDP-CKsTScr3.js +99 -0
- package/console-app/assets/eventmodeling-NTZA5JFV-CnZOTLz3.js +1 -0
- package/console-app/assets/flowDiagram-HODETNUW-TYMCrte8.js +1 -0
- package/console-app/assets/ganttDiagram-EL5Y4UJY-koeTkIEA.js +292 -0
- package/console-app/assets/gitGraph-4MIJSDKK-DyRPbcM4.js +1 -0
- package/console-app/assets/{gitGraphDiagram-DS77QQ5N-JaW7OYCY.js → gitGraphDiagram-WWUBYQGX-DSIejrYw.js} +1 -1
- package/console-app/assets/graphlib-BpQ_697T.js +1 -0
- package/console-app/assets/index-BbJGr-r1.css +1 -0
- package/console-app/assets/index-Du9_fRSw.js +262 -0
- package/console-app/assets/info-A6RAGUB7-C63f9an_.js +1 -0
- package/console-app/assets/{infoDiagram-6WML65LV-DIbMcTbW.js → infoDiagram-27XIBGKW-Dz5gMcUF.js} +1 -1
- package/console-app/assets/{ishikawaDiagram-WSZJBQD7-mozqgfxi.js → ishikawaDiagram-5VMMS53U-m-nTAZTH.js} +1 -1
- package/console-app/assets/{journeyDiagram-NVQOT4AX-CKDrjPz5.js → journeyDiagram-3NMN7TZE-C7mjFY7i.js} +2 -2
- package/console-app/assets/{kanban-definition-27J2QSJJ-B9shPbST.js → kanban-definition-UXKFOSKX-Cm7PqOOP.js} +2 -2
- package/console-app/assets/{katex-CXMH3UgJ.js → katex-ZlcWpGUi.js} +2 -2
- package/console-app/assets/{line-DLrnl2PN.js → line-RZNRGurC.js} +1 -1
- package/console-app/assets/linear-C2IGWMlF.js +1 -0
- package/console-app/assets/{mermaid-parser.core-ElI_yw4f.js → mermaid-parser.core-DN1yDqgB.js} +3 -3
- package/console-app/assets/mermaid.core-DDRs3TbC.js +44 -0
- package/console-app/assets/{mindmap-definition-FAOFIHXS-BTvmLZE7.js → mindmap-definition-YA3MSWOX-o6riOwlF.js} +1 -1
- package/console-app/assets/packet-AYTQ26CC-B89F6gXG.js +1 -0
- package/console-app/assets/{pegDiagram-VL7TDLO6-1hBiUSmO.js → pegDiagram-XKGWAZYB-BQ1AAIaV.js} +1 -1
- package/console-app/assets/pie-WAS4IAKB-CzuwQlQz.js +1 -0
- package/console-app/assets/{pieDiagram-7S7Q4E2Y-vvgYfdFq.js → pieDiagram-E7YTZNPT-DlcGHWGT.js} +1 -1
- package/console-app/assets/{quadrantDiagram-CIZ2JOQS-B_emxK6O.js → quadrantDiagram-AXDQQJYC-DdITwqw-.js} +1 -1
- package/console-app/assets/radar-RG4KPBEZ-DlJ29jAN.js +1 -0
- package/console-app/assets/railroad-74A4TZTK-BL49fdM8.js +1 -0
- package/console-app/assets/railroad-abnf-HS5TGJTU-D9Ej_sin.js +1 -0
- package/console-app/assets/railroad-ebnf-LZEXJU2U-CjzlC3qv.js +1 -0
- package/console-app/assets/railroad-peg-WCYAUIDC-BPa6lIrj.js +1 -0
- package/console-app/assets/{railroadDiagram-AXF67PYL-IXXj_KlB.js → railroadDiagram-O6MQD6OU-BNgQGtF5.js} +1 -1
- package/console-app/assets/{requirementDiagram-LRYGKXZP-B15ZEbec.js → requirementDiagram-BXWQKSXE-48lE_WeD.js} +2 -2
- package/console-app/assets/{sankeyDiagram-W5VNT64P-w-sj_WN8.js → sankeyDiagram-P5KCCOFB-WmTardCP.js} +1 -1
- package/console-app/assets/{sequenceDiagram-SI44F4Z6-BP1UgEbX.js → sequenceDiagram-WJ2MYXX4-Bd5cHDMs.js} +1 -1
- package/console-app/assets/src-BTXg_NtK.js +1 -0
- package/console-app/assets/{stateDiagram-OKZ733FA-DE4L-y3n.js → stateDiagram-D77RDMKH-DBoCkqGv.js} +1 -1
- package/console-app/assets/stateDiagram-v2-MP3YSRHH-BLbaZawL.js +1 -0
- package/console-app/assets/swimlanes-42K2YHIH-lecUPBaK.js +1 -0
- package/console-app/assets/swimlanesDiagram-VR7AAH4N-CM_5HS_7.js +8 -0
- package/console-app/assets/{timeline-definition-Z64GVDOM-Cc8M2qee.js → timeline-definition-24CTP7MA-CWq0OWm1.js} +1 -1
- package/console-app/assets/treeView-Q6P3EWNA-C7lEeqUz.js +1 -0
- package/console-app/assets/treemap-WGGIJYW6-Bkx2DAoI.js +1 -0
- package/console-app/assets/{vennDiagram-T6HMQDX7-dpGyGzMg.js → vennDiagram-4TSXK5OY-Bw_kGRL3.js} +1 -1
- package/console-app/assets/wardley-WFR3VGLG-V0zki2L0.js +1 -0
- package/console-app/assets/{wardleyDiagram-T6FBY63Y-CBvRf8GJ.js → wardleyDiagram-VM6X3IG4-C5vrwEHM.js} +1 -1
- package/console-app/assets/{xychartDiagram-ELKLHX3M-UlPqx-ve.js → xychartDiagram-S5SC5T6Z-B9uA0moC.js} +3 -3
- package/console-app/index.html +2 -3
- package/dist/.pikku/addon/index.d.ts +1 -1
- package/dist/.pikku/addon/index.js +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
- package/dist/.pikku/agent/index.d.ts +1 -1
- package/dist/.pikku/agent/index.js +1 -1
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +6 -6
- package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
- package/dist/.pikku/analytics/index.d.ts +7 -0
- package/dist/.pikku/analytics/index.js +7 -0
- package/dist/.pikku/analytics/pikku-analytics-types.gen.d.ts +5 -0
- package/dist/.pikku/analytics/pikku-analytics-types.gen.js +4 -0
- package/dist/.pikku/auth/auth.types.d.ts +1 -1
- package/dist/.pikku/auth/auth.types.js +1 -1
- package/dist/.pikku/auth/index.d.ts +1 -1
- package/dist/.pikku/auth/index.js +1 -1
- package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +1 -1
- package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
- package/dist/.pikku/channel/index.d.ts +1 -1
- package/dist/.pikku/channel/index.js +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +3 -3
- package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
- package/dist/.pikku/cli/index.d.ts +1 -1
- package/dist/.pikku/cli/index.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.d.ts +7 -7
- package/dist/.pikku/cli/pikku-cli-channel.js +31 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.json +170 -0
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +2 -2
- package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +170 -0
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
- package/dist/.pikku/error/index.d.ts +1 -1
- package/dist/.pikku/error/index.js +1 -1
- package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
- package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
- package/dist/.pikku/function/index.d.ts +1 -1
- package/dist/.pikku/function/index.js +1 -1
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +8 -7
- package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.json +235 -27
- package/dist/.pikku/function/pikku-functions.gen.js +9 -1
- package/dist/.pikku/gateway/index.d.ts +1 -1
- package/dist/.pikku/gateway/index.js +1 -1
- package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
- package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
- package/dist/.pikku/http/index.d.ts +1 -1
- package/dist/.pikku/http/index.js +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
- package/dist/.pikku/mcp/index.d.ts +1 -1
- package/dist/.pikku/mcp/index.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/middleware/index.d.ts +1 -1
- package/dist/.pikku/middleware/index.js +1 -1
- package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
- package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
- package/dist/.pikku/pikku-services.gen.d.ts +5 -1
- package/dist/.pikku/pikku-services.gen.js +4 -0
- package/dist/.pikku/queue/index.d.ts +1 -1
- package/dist/.pikku/queue/index.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +10 -0
- package/dist/.pikku/scenarios/index.d.ts +1 -1
- package/dist/.pikku/scenarios/index.js +1 -1
- package/dist/.pikku/scenarios/pikku-personas.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
- package/dist/.pikku/scheduler/index.d.ts +1 -1
- package/dist/.pikku/scheduler/index.js +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +31 -1
- package/dist/.pikku/schemas/schemas/FabricChangesAskInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesAskOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesClaimInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesClaimOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesDoneInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesDoneOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesListInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesListOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesShotInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesShotOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesShowInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesShowOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricDeployApplyOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricFindingsListOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricProjectsListOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricPublishOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricRollbackOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricSecretsDeleteOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricSecretsRotateOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuAnalyticsOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuFeatureFlagsScaffoldOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuFlagsInput.schema.json +1 -0
- package/dist/.pikku/scopes/index.d.ts +2 -1
- package/dist/.pikku/scopes/index.js +2 -1
- package/dist/.pikku/scopes/pikku-flags-meta.gen.json +1 -0
- package/dist/.pikku/scopes/pikku-flags.gen.d.ts +41 -0
- package/dist/.pikku/scopes/pikku-flags.gen.js +34 -0
- package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +2 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.js +2 -1
- package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
- package/dist/.pikku/secrets/index.d.ts +1 -1
- package/dist/.pikku/secrets/index.js +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
- package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
- package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
- package/dist/.pikku/setup/index.d.ts +1 -1
- package/dist/.pikku/setup/index.js +1 -1
- package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +2 -2
- package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
- package/dist/.pikku/trigger/index.d.ts +1 -1
- package/dist/.pikku/trigger/index.js +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
- package/dist/.pikku/variables/index.d.ts +1 -1
- package/dist/.pikku/variables/index.js +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
- package/dist/.pikku/workflow/index.d.ts +1 -1
- package/dist/.pikku/workflow/index.js +1 -1
- package/dist/.pikku/workflow/meta/allWorkflow.gen.json +42 -6
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
- package/dist/bin/pikku-bin.mjs +2 -2
- package/dist/src/deploy/analyzer/analyzer.d.ts +8 -1
- package/dist/src/deploy/analyzer/analyzer.js +212 -52
- package/dist/src/deploy/analyzer/grouping.d.ts +57 -0
- package/dist/src/deploy/analyzer/grouping.js +148 -0
- package/dist/src/deploy/analyzer/index.d.ts +1 -0
- package/dist/src/deploy/analyzer/naming.d.ts +1 -0
- package/dist/src/deploy/analyzer/naming.js +9 -0
- package/dist/src/deploy/build-pipeline.d.ts +2 -0
- package/dist/src/deploy/build-pipeline.js +24 -0
- package/dist/src/fabric/fabric-commands.d.ts +323 -138
- package/dist/src/fabric/fabric-commands.js +135 -0
- package/dist/src/fabric/functions/add.function.d.ts +3 -3
- package/dist/src/fabric/functions/addon-verify.function.d.ts +9 -9
- package/dist/src/fabric/functions/changes-ask.function.d.ts +34 -0
- package/dist/src/fabric/functions/changes-ask.function.js +30 -0
- package/dist/src/fabric/functions/changes-claim.function.d.ts +50 -0
- package/dist/src/fabric/functions/changes-claim.function.js +43 -0
- package/dist/src/fabric/functions/changes-done.function.d.ts +55 -0
- package/dist/src/fabric/functions/changes-done.function.js +59 -0
- package/dist/src/fabric/functions/changes-list.function.d.ts +60 -0
- package/dist/src/fabric/functions/changes-list.function.js +82 -0
- package/dist/src/fabric/functions/changes-shot.function.d.ts +66 -0
- package/dist/src/fabric/functions/changes-shot.function.js +56 -0
- package/dist/src/fabric/functions/changes-show.function.d.ts +41 -0
- package/dist/src/fabric/functions/changes-show.function.js +80 -0
- package/dist/src/fabric/functions/db-schema.function.d.ts +3 -3
- package/dist/src/fabric/functions/deploy-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/deploy-units.function.d.ts +3 -3
- package/dist/src/fabric/functions/deploy.function.d.ts +12 -12
- package/dist/src/fabric/functions/deploy.function.js +6 -5
- package/dist/src/fabric/functions/domains-add.function.d.ts +7 -7
- package/dist/src/fabric/functions/domains-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/domains-remove.function.d.ts +3 -3
- package/dist/src/fabric/functions/errors.function.d.ts +3 -3
- package/dist/src/fabric/functions/findings-clear.function.d.ts +3 -3
- package/dist/src/fabric/functions/findings-flush.function.d.ts +3 -3
- package/dist/src/fabric/functions/findings-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/init.function.d.ts +3 -3
- package/dist/src/fabric/functions/link.function.d.ts +3 -3
- package/dist/src/fabric/functions/link.function.js +3 -2
- package/dist/src/fabric/functions/llm-key.function.d.ts +9 -9
- package/dist/src/fabric/functions/login.function.d.ts +3 -3
- package/dist/src/fabric/functions/logs.function.d.ts +3 -3
- package/dist/src/fabric/functions/logs.function.js +2 -1
- package/dist/src/fabric/functions/metrics.function.d.ts +3 -3
- package/dist/src/fabric/functions/projects-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/publish.function.d.ts +3 -3
- package/dist/src/fabric/functions/report.function.d.ts +15 -15
- package/dist/src/fabric/functions/rollback.function.d.ts +9 -9
- package/dist/src/fabric/functions/secrets-delete.function.d.ts +3 -3
- package/dist/src/fabric/functions/secrets-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/secrets-rotate.function.d.ts +3 -3
- package/dist/src/fabric/functions/secrets-set.function.d.ts +3 -3
- package/dist/src/fabric/functions/smoke.function.d.ts +3 -3
- package/dist/src/fabric/functions/status.function.d.ts +3 -3
- package/dist/src/fabric/functions/trace.function.d.ts +3 -3
- package/dist/src/fabric/functions/validate.function.d.ts +7 -7
- package/dist/src/fabric/functions/variables-get.function.d.ts +3 -3
- package/dist/src/fabric/functions/variables-set.function.d.ts +6 -6
- package/dist/src/fabric/lib/changes.d.ts +38 -0
- package/dist/src/fabric/lib/changes.js +70 -0
- package/dist/src/fabric/lib/errors.d.ts +21 -0
- package/dist/src/fabric/lib/errors.js +21 -0
- package/dist/src/fabric/lib/finding.d.ts +3 -3
- package/dist/src/fabric/lib/git.d.ts +3 -2
- package/dist/src/fabric/lib/git.js +10 -8
- package/dist/src/fabric/lib/output.d.ts +20 -0
- package/dist/src/fabric/lib/output.js +32 -7
- package/dist/src/functions/commands/all.d.ts +1 -1
- package/dist/src/functions/commands/audit.d.ts +1 -1
- package/dist/src/functions/commands/binary.d.ts +3 -3
- package/dist/src/functions/commands/bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/bootstrap.js +3 -0
- package/dist/src/functions/commands/db-audit.d.ts +1 -1
- package/dist/src/functions/commands/db-baseline.d.ts +1 -1
- package/dist/src/functions/commands/db-check.d.ts +1 -1
- package/dist/src/functions/commands/db-codegen.d.ts +1 -1
- package/dist/src/functions/commands/db-export.d.ts +1 -1
- package/dist/src/functions/commands/db-generate.d.ts +1 -1
- package/dist/src/functions/commands/db-migrate.d.ts +1 -1
- package/dist/src/functions/commands/db-reset.d.ts +3 -3
- package/dist/src/functions/commands/deploy-apply.d.ts +3 -3
- package/dist/src/functions/commands/deploy-apply.js +36 -3
- package/dist/src/functions/commands/deploy-info.d.ts +1 -1
- package/dist/src/functions/commands/deploy-plan.d.ts +3 -3
- package/dist/src/functions/commands/deploy-plan.js +2 -0
- package/dist/src/functions/commands/dev-agent-runner.d.ts +9 -7
- package/dist/src/functions/commands/dev-agent-runner.js +56 -12
- package/dist/src/functions/commands/dev.d.ts +3 -3
- package/dist/src/functions/commands/dev.js +60 -6
- package/dist/src/functions/commands/dist.d.ts +3 -3
- package/dist/src/functions/commands/dist.js +2 -9
- package/dist/src/functions/commands/doc.d.ts +3 -3
- package/dist/src/functions/commands/emails-init.d.ts +1 -1
- package/dist/src/functions/commands/enable.d.ts +9 -9
- package/dist/src/functions/commands/import-n8n.d.ts +3 -3
- package/dist/src/functions/commands/info.d.ts +4 -4
- package/dist/src/functions/commands/init-or-warn.d.ts +19 -0
- package/dist/src/functions/commands/init-or-warn.js +25 -0
- package/dist/src/functions/commands/knowledge-index.d.ts +6 -6
- package/dist/src/functions/commands/knowledge-plan.d.ts +15 -15
- package/dist/src/functions/commands/knowledge-reconcile.d.ts +6 -6
- package/dist/src/functions/commands/knowledge-validate.d.ts +6 -6
- package/dist/src/functions/commands/login.d.ts +7 -7
- package/dist/src/functions/commands/meta.d.ts +34 -34
- package/dist/src/functions/commands/new-addon.d.ts +3 -3
- package/dist/src/functions/commands/new-function.d.ts +3 -3
- package/dist/src/functions/commands/new-middleware.d.ts +3 -3
- package/dist/src/functions/commands/new-permission.d.ts +3 -3
- package/dist/src/functions/commands/new-wiring.d.ts +3 -3
- package/dist/src/functions/commands/persona-sync.d.ts +3 -3
- package/dist/src/functions/commands/persona.d.ts +7 -7
- package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
- package/dist/src/functions/commands/roles-audit.d.ts +1 -1
- package/dist/src/functions/commands/roles-prune.d.ts +3 -3
- package/dist/src/functions/commands/scenario.d.ts +7 -7
- package/dist/src/functions/commands/scopes-audit.d.ts +1 -1
- package/dist/src/functions/commands/scopes-prune.d.ts +3 -3
- package/dist/src/functions/commands/semver.d.ts +1 -1
- package/dist/src/functions/commands/serve.d.ts +3 -3
- package/dist/src/functions/commands/serve.js +40 -3
- package/dist/src/functions/commands/skills.d.ts +6 -6
- package/dist/src/functions/commands/update.d.ts +1 -1
- package/dist/src/functions/commands/validate.d.ts +6 -6
- package/dist/src/functions/commands/versions-check.d.ts +1 -1
- package/dist/src/functions/commands/versions-init.d.ts +3 -3
- package/dist/src/functions/commands/versions-update.d.ts +1 -1
- package/dist/src/functions/commands/watch.d.ts +3 -3
- package/dist/src/functions/db/zod-codegen.d.ts +19 -19
- package/dist/src/functions/knowledge/schemas.d.ts +5 -5
- package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
- package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
- package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
- package/dist/src/functions/surface/build-surface-doc.js +1 -1
- package/dist/src/functions/surface/surface-doc.types.d.ts +1 -1
- package/dist/src/functions/surface/surface-editorial.js +5 -0
- package/dist/src/functions/validate/pikku-barrel-checks.js +2 -22
- package/dist/src/functions/validate/validate.d.ts +2 -2
- package/dist/src/functions/validate/websocket-deps-checks.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-agent-types.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-agent.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-public-agent.d.ts +1 -1
- package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.d.ts +1 -1
- package/dist/src/functions/wirings/analytics/pikku-command-analytics.d.ts +11 -0
- package/dist/src/functions/wirings/analytics/pikku-command-analytics.js +66 -0
- package/dist/src/functions/wirings/analytics/serialize-analytics.d.ts +30 -0
- package/dist/src/functions/wirings/analytics/serialize-analytics.js +141 -0
- package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +3 -3
- package/dist/src/functions/wirings/auth/pikku-command-auth.js +2 -6
- package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +1 -1
- package/dist/src/functions/wirings/auth/serialize-auth-gen.js +15 -36
- package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
- package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
- package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
- package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
- package/dist/src/functions/wirings/errors/pikku-command-error-types.d.ts +1 -1
- package/dist/src/functions/wirings/flags/pikku-command-feature-flags-scaffold.d.ts +1 -0
- package/dist/src/functions/wirings/flags/pikku-command-feature-flags-scaffold.js +36 -0
- package/dist/src/functions/wirings/flags/pikku-command-flags.d.ts +7 -0
- package/dist/src/functions/wirings/flags/pikku-command-flags.js +36 -0
- package/dist/src/functions/wirings/flags/serialize-feature-flags-scaffold.d.ts +13 -0
- package/dist/src/functions/wirings/flags/serialize-feature-flags-scaffold.js +73 -0
- package/dist/src/functions/wirings/flags/serialize-flags-types.d.ts +14 -0
- package/dist/src/functions/wirings/flags/serialize-flags-types.js +68 -0
- package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +3 -3
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.d.ts +2 -2
- package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.js +2 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +9 -2
- package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +9 -4
- package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.d.ts +3 -3
- package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
- package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
- package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +4 -3
- package/dist/src/functions/wirings/package/pikku-command-package-types.js +14 -1
- package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
- package/dist/src/functions/wirings/package/serialize-package-types.d.ts +1 -0
- package/dist/src/functions/wirings/package/serialize-package-types.js +15 -0
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
- package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +3 -3
- package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
- package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
- package/dist/src/functions/wirings/remote-jobs/pikku-command-remote-jobs.d.ts +1 -1
- package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +3 -3
- package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +3 -3
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
- package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +3 -3
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +3 -3
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
- package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
- package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.d.ts +1 -1
- package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
- package/dist/src/functions/workflows/all.workflow.js +34 -9
- package/dist/src/services.js +7 -0
- package/dist/src/utils/analytics-schemas-file.d.ts +6 -0
- package/dist/src/utils/analytics-schemas-file.js +9 -0
- package/dist/src/utils/file-import-path.js +4 -1
- package/dist/src/utils/pikku-cli-config.d.ts +2 -2
- package/dist/src/utils/pikku-cli-config.js +28 -0
- package/dist/src/utils/remove-legacy-scaffold-file.js +4 -0
- package/dist/src/utils/resolve-from-project.d.ts +5 -0
- package/dist/src/utils/resolve-from-project.js +8 -2
- package/dist/src/utils/tsc-check.d.ts +11 -15
- package/dist/src/utils/tsc-check.js +97 -86
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +32 -25
- package/snippets.json +1 -1
- package/surface.json +743 -27
- package/CHANGELOG.md +0 -9599
- package/console-app/assets/HelpPanel-nYO2hRY5.js +0 -1
- package/console-app/assets/architecture-TIHT7OUA-B-c05-x5.js +0 -1
- package/console-app/assets/architectureDiagram-T3A2C74G-BAH1O4B7.js +0 -36
- package/console-app/assets/blockDiagram-VBNYF7ZC-T3kmcPgj.js +0 -132
- package/console-app/assets/c4Diagram-5PPSVZJV-DRva89Br.js +0 -10
- package/console-app/assets/channel-DJ3jfSNX.js +0 -1
- package/console-app/assets/chunk-7BUUIJ7U-Bb538aSH.js +0 -1
- package/console-app/assets/chunk-7Z6QIM7H-uxzNGOHh.js +0 -10
- package/console-app/assets/chunk-I66GZJ75-DksrbEtn.js +0 -127
- package/console-app/assets/chunk-JQJVKLGR-BnRvPhDK.js +0 -156
- package/console-app/assets/chunk-QR6OTTB3-CgQotuzQ.js +0 -62
- package/console-app/assets/chunk-RYQCIY6F-Cei0abOq.js +0 -1
- package/console-app/assets/chunk-UBXNYLIW-B55XJk4O.js +0 -1
- package/console-app/assets/chunk-W5SLKNZC-gFa01tuI.js +0 -1
- package/console-app/assets/chunk-WRU74C26-C3ESZQ-F.js +0 -70
- package/console-app/assets/chunk-XXDRQBXY-D0tL6SVk.js +0 -1
- package/console-app/assets/classDiagram-JCYQIIEL-BqEwCDi8.js +0 -1
- package/console-app/assets/classDiagram-v2-OCEON4UE-BqEwCDi8.js +0 -1
- package/console-app/assets/cose-bilkent-JH36ORCC-CUxqwjs-.js +0 -1
- package/console-app/assets/cynefin-VYW2F7L2-Dh1yOBBs.js +0 -1
- package/console-app/assets/cytoscape.esm-B-NFISlW.js +0 -321
- package/console-app/assets/dagre-DKjebq_c.js +0 -1
- package/console-app/assets/dagre-VZM6K2ZE-BllFBMe9.js +0 -4
- package/console-app/assets/erDiagram-JOGREHBK-Bg0FPLS0.js +0 -85
- package/console-app/assets/eventmodeling-45OFAUF4-CVovwmpS.js +0 -1
- package/console-app/assets/flowDiagram-UKHOOZJN-DwRgEyXD.js +0 -1
- package/console-app/assets/ganttDiagram-PKOTCBZU-BBxxHrPG.js +0 -292
- package/console-app/assets/gitGraph-TEB2WS4Q-Cn1MjFvM.js +0 -1
- package/console-app/assets/graphlib-IlWVLY3o.js +0 -1
- package/console-app/assets/index-C8MC-uMB.css +0 -1
- package/console-app/assets/index-Deds7K2I.js +0 -290
- package/console-app/assets/info-DKCQHKI2-C2R7hV-y.js +0 -1
- package/console-app/assets/isUndefined-T4snU1Mx.js +0 -1
- package/console-app/assets/linear-BQOZezXu.js +0 -1
- package/console-app/assets/map-BmPfXn7V.js +0 -1
- package/console-app/assets/mermaid.core-B02bSmuz.js +0 -42
- package/console-app/assets/packet-7NZHBO7P-CkYMF0Cd.js +0 -1
- package/console-app/assets/pie-RZYD4A2V-BFMvieVM.js +0 -1
- package/console-app/assets/radar-I7S5WNFK-C_2tp7_w.js +0 -1
- package/console-app/assets/railroad-3IZDKUUU-DwlFJLv5.js +0 -1
- package/console-app/assets/railroad-abnf-AHOZXSZD-Cyu_rpdZ.js +0 -1
- package/console-app/assets/railroad-ebnf-EBAXGLYW-BLiwK-H7.js +0 -1
- package/console-app/assets/railroad-peg-LSFZ7HO6-BUDTDYmP.js +0 -1
- package/console-app/assets/src-BI35UZf8.js +0 -1
- package/console-app/assets/stateDiagram-v2-UEYNNEHI-BsP8TwKV.js +0 -1
- package/console-app/assets/swimlanes-SLNWSIFB-DvAJxCGQ.js +0 -2
- package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BAXO3Id2.js +0 -8
- package/console-app/assets/treeView-QDETBFTQ-DnlS0s0_.js +0 -1
- package/console-app/assets/treemap-6X3UGDF4-CiUoxlJe.js +0 -1
- package/console-app/assets/wardley-OPB4EBWU-DrTySJtR.js +0 -1
- package/dist/.pikku/console/index.d.ts +0 -1
- package/dist/.pikku/console/index.js +0 -1
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +0 -6
- package/dist/.pikku/console/pikku-node-types.gen.js +0 -1
- package/dist/.pikku/pikku-meta-service.gen.d.ts +0 -7
- package/dist/.pikku/pikku-meta-service.gen.js +0 -9
- package/dist/.pikku/pikku-types.gen.d.ts +0 -17
- package/dist/.pikku/pikku-types.gen.js +0 -28
- package/dist/.pikku/workflow/pikku-personas.gen.d.ts +0 -15
- package/dist/.pikku/workflow/pikku-personas.gen.js +0 -17
- package/dist/src/functions/surface/collect-surface.d.ts +0 -58
- package/dist/src/functions/surface/collect-surface.js +0 -613
- /package/console-app/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js} +0 -0
|
@@ -1,613 +0,0 @@
|
|
|
1
|
-
import { existsSync, readdirSync } from 'node:fs';
|
|
2
|
-
import { readFile } from 'node:fs/promises';
|
|
3
|
-
import { join, relative, resolve } from 'node:path';
|
|
4
|
-
import ts from 'typescript';
|
|
5
|
-
const SOURCE_EXTENSIONS = ['.ts', '.tsx', '.mts', '.cts'];
|
|
6
|
-
const MODULE_EXTENSIONS = [...SOURCE_EXTENSIONS, '.js', '.jsx', '.mjs', '.cjs'];
|
|
7
|
-
const wildcardStem = (fileName) => {
|
|
8
|
-
if (fileName.endsWith('.map'))
|
|
9
|
-
return null;
|
|
10
|
-
if (/\.d\.(ts|mts|cts)$/.test(fileName))
|
|
11
|
-
return null;
|
|
12
|
-
const extension = MODULE_EXTENSIONS.find((each) => fileName.endsWith(each));
|
|
13
|
-
return extension ? fileName.slice(0, -extension.length) : null;
|
|
14
|
-
};
|
|
15
|
-
const subpathMap = (exports) => {
|
|
16
|
-
if (typeof exports === 'string')
|
|
17
|
-
return { '.': exports };
|
|
18
|
-
return Object.keys(exports).some((key) => key.startsWith('.'))
|
|
19
|
-
? exports
|
|
20
|
-
: { '.': exports };
|
|
21
|
-
};
|
|
22
|
-
const publishesCode = (target) => !/\.(css|scss|json|svg|png|woff2?|txt|md)$/.test(target);
|
|
23
|
-
const sourceForTarget = (packageDir, target, outDir) => {
|
|
24
|
-
const withoutPrefix = target.replace(/^\.\//, '');
|
|
25
|
-
const isDeclaration = /\.d\.(ts|mts|cts)$/.test(withoutPrefix);
|
|
26
|
-
if (!isDeclaration &&
|
|
27
|
-
SOURCE_EXTENSIONS.some((extension) => withoutPrefix.endsWith(extension))) {
|
|
28
|
-
return existsSync(join(packageDir, withoutPrefix)) ? withoutPrefix : null;
|
|
29
|
-
}
|
|
30
|
-
const stripped = withoutPrefix.startsWith(`${outDir}/`)
|
|
31
|
-
? withoutPrefix.slice(outDir.length + 1)
|
|
32
|
-
: withoutPrefix;
|
|
33
|
-
const base = stripped
|
|
34
|
-
.replace(/\.d\.(ts|mts|cts)$/, '')
|
|
35
|
-
.replace(/\.(js|jsx|mjs|cjs)$/, '');
|
|
36
|
-
const withoutSrc = base.startsWith('src/') ? base.slice(4) : base;
|
|
37
|
-
const candidates = [];
|
|
38
|
-
for (const extension of SOURCE_EXTENSIONS) {
|
|
39
|
-
candidates.push(join('src', `${base}${extension}`), `${base}${extension}`, join('src', `${withoutSrc}${extension}`), join('src', base, `index${extension}`), join(base, `index${extension}`));
|
|
40
|
-
}
|
|
41
|
-
for (const candidate of candidates) {
|
|
42
|
-
if (existsSync(join(packageDir, candidate)))
|
|
43
|
-
return candidate;
|
|
44
|
-
}
|
|
45
|
-
return null;
|
|
46
|
-
};
|
|
47
|
-
const expandWildcard = (packageDir, subpath, target, outDir) => {
|
|
48
|
-
const targetDir = target.replace(/^\.\//, '').split('*')[0] ?? '';
|
|
49
|
-
const suffix = target.slice(target.indexOf('*') + 1);
|
|
50
|
-
const suffixStem = wildcardStem(suffix) ?? suffix;
|
|
51
|
-
// A package that points its subpaths at the build output has nothing to walk
|
|
52
|
-
// until it is built, so the sources the output would be compiled from stand
|
|
53
|
-
// in for it. `sourceForTarget` strips the same prefix, so the target stays
|
|
54
|
-
// the declared one and only the directory being read changes.
|
|
55
|
-
const scanDir = existsSync(join(packageDir, targetDir)) ||
|
|
56
|
-
!targetDir.startsWith(`${outDir}/`)
|
|
57
|
-
? targetDir
|
|
58
|
-
: targetDir.slice(outDir.length + 1);
|
|
59
|
-
const absolute = join(packageDir, scanDir);
|
|
60
|
-
if (!existsSync(absolute))
|
|
61
|
-
return [];
|
|
62
|
-
const expanded = [];
|
|
63
|
-
const walk = (directory, prefix) => {
|
|
64
|
-
for (const entry of readdirSync(directory, { withFileTypes: true })) {
|
|
65
|
-
if (entry.isDirectory()) {
|
|
66
|
-
walk(join(directory, entry.name), `${prefix}${entry.name}/`);
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
if (!entry.isFile())
|
|
70
|
-
continue;
|
|
71
|
-
if (wildcardStem(entry.name) === null)
|
|
72
|
-
continue;
|
|
73
|
-
// The suffix is matched against the path the wildcard stands in for, not
|
|
74
|
-
// the file name, so `#pikku/*` → `./.pikku/*/index.ts` captures the leaf
|
|
75
|
-
// directory rather than failing to match `index.ts` against `/index.ts`.
|
|
76
|
-
const relativePath = `${prefix}${entry.name}`;
|
|
77
|
-
// Matched without extensions, so a `*/index.js` target still finds the
|
|
78
|
-
// `index.ts` it would have been compiled from.
|
|
79
|
-
const pathStem = `${prefix}${wildcardStem(entry.name)}`;
|
|
80
|
-
if (suffixStem && !pathStem.endsWith(suffixStem))
|
|
81
|
-
continue;
|
|
82
|
-
const captured = suffixStem
|
|
83
|
-
? pathStem.slice(0, -suffixStem.length)
|
|
84
|
-
: pathStem;
|
|
85
|
-
if (!captured)
|
|
86
|
-
continue;
|
|
87
|
-
expanded.push({
|
|
88
|
-
subpath: subpath.replace('*', captured),
|
|
89
|
-
target: `${scanDir}${relativePath}`,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
walk(absolute, '');
|
|
94
|
-
return expanded;
|
|
95
|
-
};
|
|
96
|
-
const targetOf = (value) => {
|
|
97
|
-
if (typeof value === 'string')
|
|
98
|
-
return value;
|
|
99
|
-
// A fallback array declares the same specifier several ways; the first entry
|
|
100
|
-
// is the one a resolver reaches for, and the rest only matter when it misses.
|
|
101
|
-
if (Array.isArray(value)) {
|
|
102
|
-
for (const candidate of value) {
|
|
103
|
-
const resolved = targetOf(candidate);
|
|
104
|
-
if (resolved)
|
|
105
|
-
return resolved;
|
|
106
|
-
}
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
if (!value || typeof value !== 'object')
|
|
110
|
-
return null;
|
|
111
|
-
const conditions = value;
|
|
112
|
-
for (const key of ['types', 'import', 'default', 'require']) {
|
|
113
|
-
const resolved = targetOf(conditions[key]);
|
|
114
|
-
if (resolved)
|
|
115
|
-
return resolved;
|
|
116
|
-
}
|
|
117
|
-
return null;
|
|
118
|
-
};
|
|
119
|
-
const readJson = async (path) => {
|
|
120
|
-
try {
|
|
121
|
-
return JSON.parse(await readFile(path, 'utf8'));
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
const readCompilerOptions = async (packageDir) => {
|
|
128
|
-
const configPath = join(packageDir, 'tsconfig.json');
|
|
129
|
-
if (!existsSync(configPath))
|
|
130
|
-
return { outDir: 'dist', paths: {} };
|
|
131
|
-
const configFile = ts.readConfigFile(configPath, ts.sys.readFile);
|
|
132
|
-
if (configFile.error)
|
|
133
|
-
return { outDir: 'dist', paths: {} };
|
|
134
|
-
const { options } = ts.parseJsonConfigFileContent(configFile.config, ts.sys, packageDir);
|
|
135
|
-
const { baseUrl, paths, pathsBasePath } = options;
|
|
136
|
-
return {
|
|
137
|
-
outDir: options.outDir ? relative(packageDir, options.outDir) : 'dist',
|
|
138
|
-
paths: {
|
|
139
|
-
...(baseUrl !== undefined ? { baseUrl } : {}),
|
|
140
|
-
...(paths !== undefined ? { paths } : {}),
|
|
141
|
-
...(pathsBasePath !== undefined ? { pathsBasePath } : {}),
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
};
|
|
145
|
-
const KIND_BY_FLAG = [
|
|
146
|
-
[ts.SymbolFlags.Class, 'class'],
|
|
147
|
-
[ts.SymbolFlags.Interface, 'interface'],
|
|
148
|
-
[ts.SymbolFlags.RegularEnum | ts.SymbolFlags.ConstEnum, 'enum'],
|
|
149
|
-
[ts.SymbolFlags.Function, 'function'],
|
|
150
|
-
[ts.SymbolFlags.TypeAlias, 'type'],
|
|
151
|
-
[ts.SymbolFlags.Namespace, 'namespace'],
|
|
152
|
-
];
|
|
153
|
-
/**
|
|
154
|
-
* A leaf re-exports through `export *`, so the symbol reached here is an alias
|
|
155
|
-
* that carries no kind, no documentation, no tags and no type of its own.
|
|
156
|
-
*/
|
|
157
|
-
const aliasTargetOf = (symbol, checker) => symbol.flags & ts.SymbolFlags.Alias
|
|
158
|
-
? checker.getAliasedSymbol(symbol)
|
|
159
|
-
: symbol;
|
|
160
|
-
const kindOf = (symbol, checker) => {
|
|
161
|
-
const target = aliasTargetOf(symbol, checker);
|
|
162
|
-
for (const [flag, kind] of KIND_BY_FLAG) {
|
|
163
|
-
if (target.flags & flag)
|
|
164
|
-
return kind;
|
|
165
|
-
}
|
|
166
|
-
if (target.flags & ts.SymbolFlags.Variable) {
|
|
167
|
-
const declaration = target.declarations?.[0];
|
|
168
|
-
if (declaration) {
|
|
169
|
-
const type = checker.getTypeOfSymbolAtLocation(target, declaration);
|
|
170
|
-
if (type.getCallSignatures().length > 0)
|
|
171
|
-
return 'function';
|
|
172
|
-
}
|
|
173
|
-
return 'const';
|
|
174
|
-
}
|
|
175
|
-
return 'const';
|
|
176
|
-
};
|
|
177
|
-
const jsDocTagsOf = (symbol, checker) => {
|
|
178
|
-
const own = symbol.getJsDocTags(checker);
|
|
179
|
-
if (own.length > 0)
|
|
180
|
-
return own;
|
|
181
|
-
return aliasTargetOf(symbol, checker).getJsDocTags(checker);
|
|
182
|
-
};
|
|
183
|
-
const isDeprecated = (tags) => tags.some((tag) => tag.name === 'deprecated');
|
|
184
|
-
const deprecationReason = (tags) => {
|
|
185
|
-
const tag = tags.find((each) => each.name === 'deprecated');
|
|
186
|
-
if (!tag)
|
|
187
|
-
return undefined;
|
|
188
|
-
const text = ts.displayPartsToString(tag.text).trim();
|
|
189
|
-
return text.length > 0 ? text : undefined;
|
|
190
|
-
};
|
|
191
|
-
export class UnknownSnippetError extends Error {
|
|
192
|
-
constructor(name, symbol, known) {
|
|
193
|
-
super(`The example on ${symbol} names the snippet "${name}", which no template declares. Wrap the code you want shown in "// @snippet start ${name}" / "// @snippet end ${name}". Declared: ${known.join(', ')}.`);
|
|
194
|
-
this.name = 'UnknownSnippetError';
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
const SNIPPET_REFERENCE = /^snippet:\s*(\S+)$/;
|
|
198
|
-
/**
|
|
199
|
-
* The `@example` blocks. `getDocumentationComment` returns the description only,
|
|
200
|
-
* so an example an author wrote is dropped unless the tags are read separately.
|
|
201
|
-
* An `@example snippet: name` names a region of real template source instead of
|
|
202
|
-
* restating it, and is resolved here so the shipped doc holds code that compiles.
|
|
203
|
-
*/
|
|
204
|
-
const examplesOf = (tags, symbolName, snippets) => tags
|
|
205
|
-
.filter((tag) => tag.name === 'example')
|
|
206
|
-
.map((tag) => ts.displayPartsToString(tag.text).trim())
|
|
207
|
-
.filter((text) => text.length > 0)
|
|
208
|
-
.map((text) => {
|
|
209
|
-
const reference = text.match(SNIPPET_REFERENCE);
|
|
210
|
-
if (!reference?.[1] || !snippets)
|
|
211
|
-
return text;
|
|
212
|
-
const snippet = snippets.get(reference[1]);
|
|
213
|
-
if (snippet === undefined) {
|
|
214
|
-
throw new UnknownSnippetError(reference[1], symbolName, [
|
|
215
|
-
...snippets.keys(),
|
|
216
|
-
]);
|
|
217
|
-
}
|
|
218
|
-
return snippet;
|
|
219
|
-
});
|
|
220
|
-
/**
|
|
221
|
-
* The doc comment as written. A leaf re-exports through `export *`, so the
|
|
222
|
-
* symbol reached here is an alias carrying no documentation of its own, and an
|
|
223
|
-
* overloaded function documents whichever overload the author chose to explain
|
|
224
|
-
* — hence the walk through the aliased symbol and then every declaration.
|
|
225
|
-
*/
|
|
226
|
-
const documentationOf = (symbol, checker) => {
|
|
227
|
-
const targets = [symbol];
|
|
228
|
-
if (symbol.flags & ts.SymbolFlags.Alias) {
|
|
229
|
-
targets.push(checker.getAliasedSymbol(symbol));
|
|
230
|
-
}
|
|
231
|
-
for (const target of targets) {
|
|
232
|
-
const documentation = ts
|
|
233
|
-
.displayPartsToString(target.getDocumentationComment(checker))
|
|
234
|
-
.trim();
|
|
235
|
-
if (documentation.length > 0)
|
|
236
|
-
return documentation;
|
|
237
|
-
}
|
|
238
|
-
return exportDeclarationDocumentationOf(symbol);
|
|
239
|
-
};
|
|
240
|
-
/**
|
|
241
|
-
* A re-export the generator documents (`export type { Services }`) carries its
|
|
242
|
-
* JSDoc on the export statement, which TypeScript attaches to no symbol at all
|
|
243
|
-
* — so it is read off the node.
|
|
244
|
-
*/
|
|
245
|
-
const exportDeclarationDocumentationOf = (symbol) => {
|
|
246
|
-
for (const declaration of symbol.declarations ?? []) {
|
|
247
|
-
if (!ts.isExportSpecifier(declaration))
|
|
248
|
-
continue;
|
|
249
|
-
const statement = declaration.parent.parent;
|
|
250
|
-
const [comment] = ts.getJSDocCommentsAndTags(statement);
|
|
251
|
-
if (!comment || !ts.isJSDoc(comment))
|
|
252
|
-
continue;
|
|
253
|
-
const documentation = ts.getTextOfJSDocComment(comment.comment)?.trim();
|
|
254
|
-
if (documentation && documentation.length > 0)
|
|
255
|
-
return documentation;
|
|
256
|
-
}
|
|
257
|
-
return undefined;
|
|
258
|
-
};
|
|
259
|
-
/**
|
|
260
|
-
* The first paragraph of the doc comment. A symbol's JSDoc regularly runs to
|
|
261
|
-
* several paragraphs of examples, and a list row shows one line.
|
|
262
|
-
*/
|
|
263
|
-
const summaryOf = (documentation) => {
|
|
264
|
-
if (!documentation)
|
|
265
|
-
return undefined;
|
|
266
|
-
return documentation
|
|
267
|
-
.split(/\n\s*\n/)[0]
|
|
268
|
-
.replace(/\s+/g, ' ')
|
|
269
|
-
.trim();
|
|
270
|
-
};
|
|
271
|
-
const declarationFileOf = (symbol, checker) => {
|
|
272
|
-
const target = aliasTargetOf(symbol, checker);
|
|
273
|
-
const declaration = target.declarations?.[0] ?? symbol.declarations?.[0];
|
|
274
|
-
return declaration?.getSourceFile().fileName ?? null;
|
|
275
|
-
};
|
|
276
|
-
/**
|
|
277
|
-
* `NoTruncation` is the load-bearing one: the default cuts a type off at ~160
|
|
278
|
-
* characters, which lands in the middle of the generics of every wiring helper.
|
|
279
|
-
* `UseAliasDefinedOutsideCurrentScope` keeps a named alias named instead of
|
|
280
|
-
* inlining its definition, which is what keeps the result readable.
|
|
281
|
-
*/
|
|
282
|
-
const SIGNATURE_FLAGS = ts.TypeFormatFlags.NoTruncation |
|
|
283
|
-
ts.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope |
|
|
284
|
-
ts.TypeFormatFlags.WriteTypeArgumentsOfSignature;
|
|
285
|
-
const DECLARED_TYPE_KINDS = new Set(['interface', 'type']);
|
|
286
|
-
const typeOfSymbol = (symbol, kind, checker) => {
|
|
287
|
-
if (DECLARED_TYPE_KINDS.has(kind))
|
|
288
|
-
return checker.getDeclaredTypeOfSymbol(symbol);
|
|
289
|
-
const declaration = symbol.declarations?.[0];
|
|
290
|
-
return declaration
|
|
291
|
-
? checker.getTypeOfSymbolAtLocation(symbol, declaration)
|
|
292
|
-
: undefined;
|
|
293
|
-
};
|
|
294
|
-
const printType = (type, location, checker) => checker.typeToString(type, location, SIGNATURE_FLAGS).replace(/\s+/g, ' ');
|
|
295
|
-
/**
|
|
296
|
-
* The widest an expanded type may print before its name is the better answer.
|
|
297
|
-
* A method verb or a content type says everything inline; a wiring object does
|
|
298
|
-
* not, and expanding it buries the keys that matter in the ones that do not.
|
|
299
|
-
*/
|
|
300
|
-
const INLINE_LIMIT = 72;
|
|
301
|
-
const EXPANDED_FLAGS = SIGNATURE_FLAGS & ~ts.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope;
|
|
302
|
-
const NOT_TERMINAL = /[{}]|=>/;
|
|
303
|
-
const collapse = (constituents) => {
|
|
304
|
-
const collapsed = constituents.includes('true') && constituents.includes('false')
|
|
305
|
-
? [
|
|
306
|
-
'boolean',
|
|
307
|
-
...constituents.filter((c) => c !== 'true' && c !== 'false'),
|
|
308
|
-
]
|
|
309
|
-
: constituents;
|
|
310
|
-
const isAbsent = (c) => c === 'undefined' || c === 'null';
|
|
311
|
-
return [
|
|
312
|
-
...collapsed.filter((c) => !isAbsent(c)),
|
|
313
|
-
...collapsed.filter(isAbsent),
|
|
314
|
-
];
|
|
315
|
-
};
|
|
316
|
-
/**
|
|
317
|
-
* A named type whose definition is a short union or an index signature costs a
|
|
318
|
-
* reader a second lookup to learn something that fits on the line they are
|
|
319
|
-
* already reading, so it is printed as its values rather than its name.
|
|
320
|
-
*/
|
|
321
|
-
const printResolved = (type, location, checker, optional = false) => {
|
|
322
|
-
const constraint = type.flags & ts.TypeFlags.TypeParameter
|
|
323
|
-
? checker.getBaseConstraintOfType(type)
|
|
324
|
-
: undefined;
|
|
325
|
-
if (constraint) {
|
|
326
|
-
return printResolved(constraint, location, checker, optional);
|
|
327
|
-
}
|
|
328
|
-
const named = printType(type, location, checker);
|
|
329
|
-
const expanded = type.isUnion()
|
|
330
|
-
? collapse(type.types.map((constituent) => checker.typeToString(constituent, location, EXPANDED_FLAGS))).join(' | ')
|
|
331
|
-
: checker.typeToString(type, location, EXPANDED_FLAGS).replace(/\s+/g, ' ');
|
|
332
|
-
const shed = optional ? / \| undefined$/ : /(?!)/;
|
|
333
|
-
if (expanded === named || expanded.length > INLINE_LIMIT) {
|
|
334
|
-
return named.replace(shed, '');
|
|
335
|
-
}
|
|
336
|
-
return (NOT_TERMINAL.test(expanded) ? named : expanded).replace(shed, '');
|
|
337
|
-
};
|
|
338
|
-
/**
|
|
339
|
-
* A class prints as `typeof Foo`, which says nothing. Its construct signatures
|
|
340
|
-
* are what a caller needs, so they stand in for it.
|
|
341
|
-
*/
|
|
342
|
-
const constructorSignature = (name, type, checker) => {
|
|
343
|
-
const signatures = type.getConstructSignatures();
|
|
344
|
-
if (signatures.length === 0)
|
|
345
|
-
return undefined;
|
|
346
|
-
return signatures
|
|
347
|
-
.map((signature) => `new ${name}(${signature
|
|
348
|
-
.getParameters()
|
|
349
|
-
.map((parameter) => {
|
|
350
|
-
const declaration = parameter.valueDeclaration;
|
|
351
|
-
const parameterType = declaration
|
|
352
|
-
? checker.getTypeOfSymbolAtLocation(parameter, declaration)
|
|
353
|
-
: checker.getTypeOfSymbol(parameter);
|
|
354
|
-
const optional = declaration &&
|
|
355
|
-
ts.isParameter(declaration) &&
|
|
356
|
-
declaration.questionToken
|
|
357
|
-
? '?'
|
|
358
|
-
: '';
|
|
359
|
-
return `${parameter.getName()}${optional}: ${printResolved(parameterType, declaration, checker, optional === '?')}`;
|
|
360
|
-
})
|
|
361
|
-
.join(', ')})`)
|
|
362
|
-
.join(' | ');
|
|
363
|
-
};
|
|
364
|
-
const signatureOf = (name, type, kind, location, checker) => {
|
|
365
|
-
const printed = kind === 'class'
|
|
366
|
-
? constructorSignature(name, type, checker)
|
|
367
|
-
: printType(type, location, checker);
|
|
368
|
-
if (!printed || printed === 'any' || printed === 'error' || printed === name)
|
|
369
|
-
return undefined;
|
|
370
|
-
return collapseRuns(printed);
|
|
371
|
-
};
|
|
372
|
-
/**
|
|
373
|
-
* A union parameterised by the project — every function name, every route —
|
|
374
|
-
* is unbounded and belongs to `pikku meta`, not to a framework doc that is the
|
|
375
|
-
* same for every project. Printed in full it buried one export under 4,000
|
|
376
|
-
* tokens of another project's identifiers.
|
|
377
|
-
*/
|
|
378
|
-
const LITERAL_RUN = /("[^"]*"(?: \| "[^"]*"){7,})/g;
|
|
379
|
-
const collapseRuns = (line) => line.replace(LITERAL_RUN, (run) => `${run.split(' | ').length} names (pikku meta)`);
|
|
380
|
-
/**
|
|
381
|
-
* A key declared by the project rather than by the framework — the services in
|
|
382
|
-
* its own `SingletonServices`, a type it wrote — is not part of the surface
|
|
383
|
-
* every project shares. Left in, the doc built from the sample project told
|
|
384
|
-
* every reader their singleton services hold a `todoStore`.
|
|
385
|
-
*/
|
|
386
|
-
const isProjectOwned = (declaration, root) => {
|
|
387
|
-
const file = declaration.getSourceFile().fileName;
|
|
388
|
-
return file.startsWith(root) && !file.includes('node_modules');
|
|
389
|
-
};
|
|
390
|
-
const memberLine = (property, checker, program, root) => {
|
|
391
|
-
if (property.getName().startsWith('__'))
|
|
392
|
-
return undefined;
|
|
393
|
-
const declaration = property.valueDeclaration ?? property.declarations?.[0];
|
|
394
|
-
if (declaration &&
|
|
395
|
-
(program.isSourceFileDefaultLibrary(declaration.getSourceFile()) ||
|
|
396
|
-
isProjectOwned(declaration, root))) {
|
|
397
|
-
return undefined;
|
|
398
|
-
}
|
|
399
|
-
const type = declaration
|
|
400
|
-
? checker.getTypeOfSymbolAtLocation(property, declaration)
|
|
401
|
-
: checker.getTypeOfSymbol(property);
|
|
402
|
-
const optional = property.flags & ts.SymbolFlags.Optional ? '?' : '';
|
|
403
|
-
const doc = ts
|
|
404
|
-
.displayPartsToString(property.getDocumentationComment(checker))
|
|
405
|
-
.replace(/\s+/g, ' ')
|
|
406
|
-
.trim();
|
|
407
|
-
return {
|
|
408
|
-
line: collapseRuns(`${property.getName()}${optional}: ${printResolved(type, declaration, checker, optional === '?')}`),
|
|
409
|
-
...(doc ? { doc } : {}),
|
|
410
|
-
};
|
|
411
|
-
};
|
|
412
|
-
/**
|
|
413
|
-
* Every wiring and function helper takes one options object, so its signature
|
|
414
|
-
* can only name that object's type and the keys someone has to write sit one
|
|
415
|
-
* level below it. Anything else describes itself.
|
|
416
|
-
*/
|
|
417
|
-
const shapeOf = (type, kind, checker) => {
|
|
418
|
-
if (kind === 'class') {
|
|
419
|
-
return type.getConstructSignatures()[0]?.getReturnType();
|
|
420
|
-
}
|
|
421
|
-
if (kind !== 'function' && kind !== 'const')
|
|
422
|
-
return type;
|
|
423
|
-
const signature = type.getCallSignatures()[0];
|
|
424
|
-
if (!signature)
|
|
425
|
-
return type;
|
|
426
|
-
for (const parameter of signature.getParameters()) {
|
|
427
|
-
const declaration = parameter.valueDeclaration;
|
|
428
|
-
const parameterType = declaration
|
|
429
|
-
? checker.getTypeOfSymbolAtLocation(parameter, declaration)
|
|
430
|
-
: checker.getTypeOfSymbol(parameter);
|
|
431
|
-
if (checker.getPropertiesOfType(parameterType).length > 0)
|
|
432
|
-
return parameterType;
|
|
433
|
-
}
|
|
434
|
-
return undefined;
|
|
435
|
-
};
|
|
436
|
-
const membersOf = (type, kind, checker, program, root) => {
|
|
437
|
-
const shape = shapeOf(type, kind, checker);
|
|
438
|
-
if (!shape)
|
|
439
|
-
return [];
|
|
440
|
-
return checker
|
|
441
|
-
.getPropertiesOfType(shape)
|
|
442
|
-
.map((property) => memberLine(property, checker, program, root))
|
|
443
|
-
.filter((member) => member !== undefined)
|
|
444
|
-
.sort((a, b) => a.line.localeCompare(b.line));
|
|
445
|
-
};
|
|
446
|
-
/**
|
|
447
|
-
* `addError(SomeError, { status })` is a runtime registration, so nothing about
|
|
448
|
-
* a class says what it maps to. The calls are top-level statements next to the
|
|
449
|
-
* classes they register, which makes the mapping readable by parsing rather
|
|
450
|
-
* than by importing and booting the runtime.
|
|
451
|
-
*
|
|
452
|
-
* A surveyed project consumes pikku as `.d.ts`, and a declaration file carries
|
|
453
|
-
* no statements — the registrations survive only in the `.js` beside it, which
|
|
454
|
-
* is why the emitted sibling is parsed too.
|
|
455
|
-
*/
|
|
456
|
-
const collectErrorStatuses = (program) => {
|
|
457
|
-
const statuses = new Map();
|
|
458
|
-
const record = (name, details) => {
|
|
459
|
-
if (!ts.isIdentifier(name) || !ts.isObjectLiteralExpression(details))
|
|
460
|
-
return;
|
|
461
|
-
for (const property of details.properties) {
|
|
462
|
-
if (!ts.isPropertyAssignment(property))
|
|
463
|
-
continue;
|
|
464
|
-
if (property.name.getText() !== 'status')
|
|
465
|
-
continue;
|
|
466
|
-
const status = Number(property.initializer.getText());
|
|
467
|
-
if (Number.isFinite(status))
|
|
468
|
-
statuses.set(name.text, status);
|
|
469
|
-
}
|
|
470
|
-
};
|
|
471
|
-
const scan = (sourceFile) => {
|
|
472
|
-
for (const statement of sourceFile.statements) {
|
|
473
|
-
if (!ts.isExpressionStatement(statement))
|
|
474
|
-
continue;
|
|
475
|
-
const call = statement.expression;
|
|
476
|
-
if (!ts.isCallExpression(call) || !ts.isIdentifier(call.expression))
|
|
477
|
-
continue;
|
|
478
|
-
if (call.expression.text === 'addError') {
|
|
479
|
-
const [name, details] = call.arguments;
|
|
480
|
-
if (name && details)
|
|
481
|
-
record(name, details);
|
|
482
|
-
continue;
|
|
483
|
-
}
|
|
484
|
-
if (call.expression.text !== 'addErrors')
|
|
485
|
-
continue;
|
|
486
|
-
const [list] = call.arguments;
|
|
487
|
-
if (!list || !ts.isArrayLiteralExpression(list))
|
|
488
|
-
continue;
|
|
489
|
-
for (const entry of list.elements) {
|
|
490
|
-
if (!ts.isArrayLiteralExpression(entry))
|
|
491
|
-
continue;
|
|
492
|
-
const [name, details] = entry.elements;
|
|
493
|
-
if (name && details)
|
|
494
|
-
record(name, details);
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
};
|
|
498
|
-
for (const sourceFile of program.getSourceFiles()) {
|
|
499
|
-
if (!sourceFile.isDeclarationFile) {
|
|
500
|
-
scan(sourceFile);
|
|
501
|
-
continue;
|
|
502
|
-
}
|
|
503
|
-
if (!sourceFile.text.includes('PikkuError'))
|
|
504
|
-
continue;
|
|
505
|
-
const emitted = sourceFile.fileName.replace(/\.d\.([cm]?ts)$/, '.$1');
|
|
506
|
-
if (emitted === sourceFile.fileName)
|
|
507
|
-
continue;
|
|
508
|
-
const source = ts.sys.readFile(emitted.replace(/\.ts$/, '.js'));
|
|
509
|
-
if (source === undefined)
|
|
510
|
-
continue;
|
|
511
|
-
scan(ts.createSourceFile(emitted, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.JS));
|
|
512
|
-
}
|
|
513
|
-
return statuses;
|
|
514
|
-
};
|
|
515
|
-
export const collectSurface = async (packageDir, { importsSubpath, subpaths, snippets } = {}) => {
|
|
516
|
-
const root = resolve(packageDir);
|
|
517
|
-
const packageJson = await readJson(join(root, 'package.json'));
|
|
518
|
-
if (!packageJson)
|
|
519
|
-
return [];
|
|
520
|
-
const declaredMap = importsSubpath
|
|
521
|
-
? packageJson.imports?.[importsSubpath] !== undefined
|
|
522
|
-
? { [importsSubpath]: packageJson.imports[importsSubpath] }
|
|
523
|
-
: {}
|
|
524
|
-
: packageJson.exports
|
|
525
|
-
? subpathMap(packageJson.exports)
|
|
526
|
-
: {};
|
|
527
|
-
if (Object.keys(declaredMap).length === 0)
|
|
528
|
-
return [];
|
|
529
|
-
const { outDir, paths } = await readCompilerOptions(root);
|
|
530
|
-
const packageName = packageJson.name ?? '';
|
|
531
|
-
const entries = [];
|
|
532
|
-
const seenEntryFiles = new Set();
|
|
533
|
-
for (const [subpath, value] of Object.entries(declaredMap)) {
|
|
534
|
-
if (!importsSubpath && !subpath.startsWith('.'))
|
|
535
|
-
continue;
|
|
536
|
-
const target = targetOf(value);
|
|
537
|
-
if (!target || !publishesCode(target))
|
|
538
|
-
continue;
|
|
539
|
-
const declared = target.includes('*')
|
|
540
|
-
? expandWildcard(root, subpath, target, outDir)
|
|
541
|
-
: [{ subpath, target }];
|
|
542
|
-
for (const each of declared) {
|
|
543
|
-
if (subpaths && !subpaths.includes(each.subpath))
|
|
544
|
-
continue;
|
|
545
|
-
const entryFile = sourceForTarget(root, each.target, outDir);
|
|
546
|
-
if (!entryFile || seenEntryFiles.has(entryFile))
|
|
547
|
-
continue;
|
|
548
|
-
seenEntryFiles.add(entryFile);
|
|
549
|
-
entries.push({
|
|
550
|
-
subpath: each.subpath,
|
|
551
|
-
specifier: importsSubpath
|
|
552
|
-
? each.subpath
|
|
553
|
-
: each.subpath === '.'
|
|
554
|
-
? packageName
|
|
555
|
-
: `${packageName}${each.subpath.slice(1)}`,
|
|
556
|
-
entryFile,
|
|
557
|
-
});
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
if (entries.length === 0)
|
|
561
|
-
return [];
|
|
562
|
-
const program = ts.createProgram(entries.map((entry) => join(root, entry.entryFile)), {
|
|
563
|
-
...paths,
|
|
564
|
-
target: ts.ScriptTarget.ESNext,
|
|
565
|
-
module: ts.ModuleKind.Node16,
|
|
566
|
-
moduleResolution: ts.ModuleResolutionKind.Node16,
|
|
567
|
-
skipLibCheck: true,
|
|
568
|
-
skipDefaultLibCheck: true,
|
|
569
|
-
types: [],
|
|
570
|
-
allowJs: false,
|
|
571
|
-
checkJs: false,
|
|
572
|
-
});
|
|
573
|
-
const checker = program.getTypeChecker();
|
|
574
|
-
const errorStatuses = collectErrorStatuses(program);
|
|
575
|
-
return entries.map((entry) => {
|
|
576
|
-
const sourceFile = program.getSourceFile(join(root, entry.entryFile));
|
|
577
|
-
const moduleSymbol = sourceFile
|
|
578
|
-
? checker.getSymbolAtLocation(sourceFile)
|
|
579
|
-
: undefined;
|
|
580
|
-
const symbols = [];
|
|
581
|
-
for (const symbol of moduleSymbol
|
|
582
|
-
? checker.getExportsOfModule(moduleSymbol)
|
|
583
|
-
: []) {
|
|
584
|
-
const file = declarationFileOf(symbol, checker);
|
|
585
|
-
const kind = kindOf(symbol, checker);
|
|
586
|
-
const docs = documentationOf(symbol, checker);
|
|
587
|
-
const tags = jsDocTagsOf(symbol, checker);
|
|
588
|
-
const name = symbol.getName();
|
|
589
|
-
const target = aliasTargetOf(symbol, checker);
|
|
590
|
-
const type = typeOfSymbol(target, kind, checker);
|
|
591
|
-
const location = target.declarations?.[0];
|
|
592
|
-
const examples = examplesOf(tags, name, snippets);
|
|
593
|
-
const members = type ? membersOf(type, kind, checker, program, root) : [];
|
|
594
|
-
symbols.push({
|
|
595
|
-
name,
|
|
596
|
-
kind,
|
|
597
|
-
declaredAt: file ? relative(root, file) : entry.entryFile,
|
|
598
|
-
declaredIn: file,
|
|
599
|
-
deprecated: isDeprecated(tags),
|
|
600
|
-
deprecatedReason: deprecationReason(tags),
|
|
601
|
-
summary: summaryOf(docs),
|
|
602
|
-
docs,
|
|
603
|
-
signature: type
|
|
604
|
-
? signatureOf(name, type, kind, location, checker)
|
|
605
|
-
: undefined,
|
|
606
|
-
members: members.length > 0 ? members : undefined,
|
|
607
|
-
examples: examples.length > 0 ? examples : undefined,
|
|
608
|
-
status: errorStatuses.get(name),
|
|
609
|
-
});
|
|
610
|
-
}
|
|
611
|
-
return { ...entry, symbols };
|
|
612
|
-
});
|
|
613
|
-
};
|
/package/console-app/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js}
RENAMED
|
File without changes
|