@pikku/cli 0.12.124 → 0.12.125
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/CHANGELOG.md +79 -0
- package/console-app/assets/{abnfDiagram-N423BO3Z-BP7zxMq6.js → abnfDiagram-N423BO3Z-B2suyn6i.js} +1 -1
- package/console-app/assets/architecture-TIHT7OUA-DmG0bXDT.js +1 -0
- package/console-app/assets/{architectureDiagram-T3A2C74G-mvqdkIfF.js → architectureDiagram-T3A2C74G-BQ5Dfvpo.js} +1 -1
- package/console-app/assets/{blockDiagram-VBNYF7ZC-daD8h3VT.js → blockDiagram-VBNYF7ZC-D4pVRDiF.js} +1 -1
- package/console-app/assets/{c4Diagram-5PPSVZJV-Bd0_wKJj.js → c4Diagram-5PPSVZJV-Da04jGpq.js} +1 -1
- package/console-app/assets/channel-BgCT5gon.js +1 -0
- package/console-app/assets/{chunk-2GRJ4B5K-BFRr_H2V.js → chunk-2GRJ4B5K-CwODIPP4.js} +1 -1
- package/console-app/assets/{chunk-4I5QYGJK-BXWo5Xyx.js → chunk-4I5QYGJK-Bep4akjR.js} +1 -1
- package/console-app/assets/{chunk-5RXB4S5H-BFnXfzzz.js → chunk-5RXB4S5H-CGyCRU9L.js} +1 -1
- package/console-app/assets/{chunk-6Q2QTUOP-Bswg4T3s.js → chunk-6Q2QTUOP-D0IK0SMT.js} +1 -1
- package/console-app/assets/{chunk-7Z6QIM7H-StNGH40U.js → chunk-7Z6QIM7H-D12vS1jX.js} +1 -1
- package/console-app/assets/{chunk-GF5L2VYU-QwXKtQxa.js → chunk-GF5L2VYU-kOLwTzIA.js} +1 -1
- package/console-app/assets/{chunk-I66GZJ75-DDQhhfA0.js → chunk-I66GZJ75-Cb2nDoa3.js} +1 -1
- package/console-app/assets/{chunk-JQJVKLGR-wFyF2bUv.js → chunk-JQJVKLGR-B3a_ctfQ.js} +1 -1
- package/console-app/assets/{chunk-KBJHAD2P-CQPQVDkD.js → chunk-KBJHAD2P-DeP2Lqwp.js} +1 -1
- package/console-app/assets/{chunk-NSK5VX7P-DZhjvnHm.js → chunk-NSK5VX7P-BO8vlGrO.js} +1 -1
- package/console-app/assets/{chunk-QR6OTTB3-D1-TbcCP.js → chunk-QR6OTTB3-sX5V0Lok.js} +1 -1
- package/console-app/assets/{chunk-RYQCIY6F-82OYF6U8.js → chunk-RYQCIY6F-DoCObEhk.js} +1 -1
- package/console-app/assets/{chunk-UBXNYLIW-D85x6Zh2.js → chunk-UBXNYLIW-BndMXU5r.js} +1 -1
- package/console-app/assets/{chunk-W5SLKNZC-B1Ps46_n.js → chunk-W5SLKNZC--VrZN8EC.js} +1 -1
- package/console-app/assets/{chunk-WRU74C26-Ct8XrToU.js → chunk-WRU74C26-DdS0mzXO.js} +1 -1
- package/console-app/assets/chunk-XXDRQBXY-EP2C9tTO.js +1 -0
- package/console-app/assets/classDiagram-JCYQIIEL-D9wGqB4J.js +1 -0
- package/console-app/assets/classDiagram-v2-OCEON4UE-D9wGqB4J.js +1 -0
- package/console-app/assets/{cose-bilkent-JH36ORCC-DdevwV5Y.js → cose-bilkent-JH36ORCC-C5EnHkFn.js} +1 -1
- package/console-app/assets/{cynefin-VYW2F7L2-Dj55csoo.js → cynefin-VYW2F7L2-9irdkTt4.js} +1 -1
- package/console-app/assets/{cynefinDiagram-MW4NZA55-XWSzdajo.js → cynefinDiagram-MW4NZA55-DY19660c.js} +1 -1
- package/console-app/assets/{dagre-VZM6K2ZE-BV2l3zSF.js → dagre-VZM6K2ZE-BYFZSaSb.js} +1 -1
- package/console-app/assets/{dagre-CLoXIMX5.js → dagre-nXgDYqvf.js} +1 -1
- package/console-app/assets/{diagram-7IWD3JNH-DC9NK-nv.js → diagram-7IWD3JNH-oDftiTp1.js} +1 -1
- package/console-app/assets/{diagram-B4RE2ZJO-Cirfb0aN.js → diagram-B4RE2ZJO-Cbj-pPbH.js} +1 -1
- package/console-app/assets/{diagram-LBJQPF4R-BuRRy5X5.js → diagram-LBJQPF4R-Ch53oSKw.js} +1 -1
- package/console-app/assets/{diagram-Q27KOJAE-CAOKQ2xs.js → diagram-Q27KOJAE-DA7K814v.js} +1 -1
- package/console-app/assets/{diagram-UB23O5K3-Bto5kBJo.js → diagram-UB23O5K3-B-_C-ctS.js} +1 -1
- package/console-app/assets/{ebnfDiagram-BXEA7PRR-C5OndYGC.js → ebnfDiagram-BXEA7PRR-DsOdsKXy.js} +1 -1
- package/console-app/assets/{erDiagram-JOGREHBK-DqU4xV4C.js → erDiagram-JOGREHBK-XB1mP5_A.js} +1 -1
- package/console-app/assets/eventmodeling-45OFAUF4-NKFCZ8Fj.js +1 -0
- package/console-app/assets/flowDiagram-UKHOOZJN-BpdPkmum.js +1 -0
- package/console-app/assets/{ganttDiagram-PKOTCBZU-D5_DE9R0.js → ganttDiagram-PKOTCBZU-knk0XSHi.js} +1 -1
- package/console-app/assets/{gitGraph-TEB2WS4Q-nuqfz7Fd.js → gitGraph-TEB2WS4Q-COJnK2tM.js} +1 -1
- package/console-app/assets/{gitGraphDiagram-DS77QQ5N-BtJwp2Y3.js → gitGraphDiagram-DS77QQ5N-sF0v605q.js} +1 -1
- package/console-app/assets/{index-DXcH2K9z.css → index-C8MC-uMB.css} +1 -1
- package/console-app/assets/{index-DRfts2XF.js → index-DMnbsgzs.js} +3 -3
- package/console-app/assets/{info-DKCQHKI2-CIfPVqHr.js → info-DKCQHKI2-Cbatr0w6.js} +1 -1
- package/console-app/assets/{infoDiagram-6WML65LV-B-gTHQad.js → infoDiagram-6WML65LV-93TFPCu2.js} +1 -1
- package/console-app/assets/{ishikawaDiagram-WSZJBQD7-CCwAWb1g.js → ishikawaDiagram-WSZJBQD7-BBR8_Qms.js} +1 -1
- package/console-app/assets/{journeyDiagram-NVQOT4AX-DhqNj_ci.js → journeyDiagram-NVQOT4AX-zG55yDoc.js} +1 -1
- package/console-app/assets/{kanban-definition-27J2QSJJ-DspZ1b3Y.js → kanban-definition-27J2QSJJ-DonGcEAY.js} +1 -1
- package/console-app/assets/{line-D7ZCpNkR.js → line-D1WdVm1S.js} +1 -1
- package/console-app/assets/{linear-B5jMy_q9.js → linear-D2GQL4Cm.js} +1 -1
- package/console-app/assets/{mermaid-parser.core-CMBFGJ0U.js → mermaid-parser.core-b4yKyO56.js} +3 -3
- package/console-app/assets/{mermaid.core-DYoDrSEJ.js → mermaid.core-Cwfec1gr.js} +4 -4
- package/console-app/assets/{mindmap-definition-FAOFIHXS-DsHwd2K9.js → mindmap-definition-FAOFIHXS-D0G4yKgw.js} +1 -1
- package/console-app/assets/{packet-7NZHBO7P-BSRRjf4H.js → packet-7NZHBO7P-DDa4HL2T.js} +1 -1
- package/console-app/assets/{pegDiagram-VL7TDLO6-Bi0OlzgS.js → pegDiagram-VL7TDLO6-fPdN5VZs.js} +1 -1
- package/console-app/assets/{pie-RZYD4A2V-D-8tgqYW.js → pie-RZYD4A2V-DRHURUqo.js} +1 -1
- package/console-app/assets/{pieDiagram-7S7Q4E2Y-CsYbVqaR.js → pieDiagram-7S7Q4E2Y-DMYn8ga_.js} +1 -1
- package/console-app/assets/{quadrantDiagram-CIZ2JOQS-LkLWrWKK.js → quadrantDiagram-CIZ2JOQS-C190OamC.js} +1 -1
- package/console-app/assets/{radar-I7S5WNFK-Bst62XZP.js → radar-I7S5WNFK-Djvqzz9A.js} +1 -1
- package/console-app/assets/{railroad-3IZDKUUU-zJswMQYF.js → railroad-3IZDKUUU-C9YvFeFq.js} +1 -1
- package/console-app/assets/railroad-abnf-AHOZXSZD-B3CYVW4p.js +1 -0
- package/console-app/assets/railroad-ebnf-EBAXGLYW-DrZ2yF62.js +1 -0
- package/console-app/assets/railroad-peg-LSFZ7HO6-CWAmMyxd.js +1 -0
- package/console-app/assets/{railroadDiagram-AXF67PYL-C0QZkg7m.js → railroadDiagram-AXF67PYL-IRFg1VrU.js} +1 -1
- package/console-app/assets/{requirementDiagram-LRYGKXZP-BQg0AbLI.js → requirementDiagram-LRYGKXZP-L-7ubbcT.js} +1 -1
- package/console-app/assets/{sankeyDiagram-W5VNT64P-CQb0BMMi.js → sankeyDiagram-W5VNT64P-DBttV6Gt.js} +1 -1
- package/console-app/assets/{sequenceDiagram-SI44F4Z6-BzgBi0a5.js → sequenceDiagram-SI44F4Z6-Bg15oKAB.js} +1 -1
- package/console-app/assets/{src-Dg-KiSsV.js → src-DUC7tLWb.js} +1 -1
- package/console-app/assets/{stateDiagram-OKZ733FA-BiqXn68g.js → stateDiagram-OKZ733FA-PWl0XGs5.js} +1 -1
- package/console-app/assets/stateDiagram-v2-UEYNNEHI-Celbgz4u.js +1 -0
- package/console-app/assets/{swimlanes-SLNWSIFB-Dy7wDP1q.js → swimlanes-SLNWSIFB-CyXEtGBV.js} +1 -1
- package/console-app/assets/swimlanesDiagram-ULZ7WXOC-zxpNaB4U.js +8 -0
- package/console-app/assets/{timeline-definition-Z64GVDOM-DSWXli8X.js → timeline-definition-Z64GVDOM-BLA-DhBt.js} +1 -1
- package/console-app/assets/{treeView-QDETBFTQ-CeWwcs9r.js → treeView-QDETBFTQ-Bfnmn2UY.js} +1 -1
- package/console-app/assets/{treemap-6X3UGDF4-BfrumiJh.js → treemap-6X3UGDF4-DTA0wveO.js} +1 -1
- package/console-app/assets/{vennDiagram-T6HMQDX7-BsuldZ1n.js → vennDiagram-T6HMQDX7-CLXYZln0.js} +1 -1
- package/console-app/assets/{wardley-OPB4EBWU-oZldxS8z.js → wardley-OPB4EBWU-zwxqisG0.js} +1 -1
- package/console-app/assets/{wardleyDiagram-T6FBY63Y-C5LXyHMj.js → wardleyDiagram-T6FBY63Y-hKtKvNlv.js} +1 -1
- package/console-app/assets/{xychartDiagram-ELKLHX3M-CwhqhNkO.js → xychartDiagram-ELKLHX3M-BGf8p4bo.js} +1 -1
- package/console-app/index.html +2 -2
- 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 +1 -1
- package/dist/.pikku/agent/pikku-model-aliases.gen.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 +1 -1
- 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.js +6 -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 +7 -0
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
- 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 +14 -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 +1 -1
- 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 +25 -6
- package/dist/.pikku/function/pikku-functions.gen.js +1 -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 +1 -1
- 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 +1 -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.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 +5 -1
- package/dist/.pikku/schemas/schemas/DeployApplyInput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricProjectsListInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricProjectsListOutput.schema.json +1 -0
- package/dist/.pikku/scopes/index.d.ts +1 -1
- package/dist/.pikku/scopes/index.js +1 -1
- 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 +1 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -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 +1 -1
- 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/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/cli.wiring.js +7 -0
- package/dist/src/deploy/build-pipeline.d.ts +10 -0
- package/dist/src/deploy/build-pipeline.js +16 -1
- package/dist/src/deploy/frontend-assets.d.ts +50 -0
- package/dist/src/deploy/frontend-assets.js +82 -0
- package/dist/src/fabric/fabric-commands.d.ts +40 -0
- package/dist/src/fabric/fabric-commands.js +6 -0
- package/dist/src/fabric/functions/projects-list.function.d.ts +72 -0
- package/dist/src/fabric/functions/projects-list.function.js +63 -0
- package/dist/src/functions/commands/deploy-apply.d.ts +10 -0
- package/dist/src/functions/commands/deploy-apply.js +8 -0
- package/dist/src/functions/commands/deploy-plan.js +1 -0
- package/dist/src/functions/commands/dev.js +13 -2
- package/dist/src/functions/commands/environment.d.ts +10 -0
- package/dist/src/functions/commands/environment.js +24 -0
- package/dist/src/functions/commands/serve-frontend.d.ts +11 -0
- package/dist/src/functions/commands/serve-frontend.js +17 -0
- package/dist/src/functions/commands/serve.js +16 -3
- package/dist/src/functions/db/annotation-parser.d.ts +8 -0
- package/dist/src/functions/db/annotation-parser.js +2 -0
- package/dist/src/functions/db/db-codegen.js +20 -1
- package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +6 -3
- package/dist/src/server/dev-server-runner.interface.d.ts +9 -0
- package/dist/src/server/node-server-runner.js +3 -0
- package/dist/src/server/server-ready.d.ts +6 -9
- package/dist/src/server/server-ready.js +6 -9
- package/dist/src/utils/frontend.d.ts +9 -0
- package/dist/src/utils/frontend.js +18 -0
- package/dist/src/utils/pikku-cli-config.d.ts +10 -1
- package/dist/src/utils/pikku-cli-config.js +27 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/snippets.json +2 -2
- package/surface.json +1 -1
- package/console-app/assets/architecture-TIHT7OUA-D4Hj6824.js +0 -1
- package/console-app/assets/channel-09aKDzM0.js +0 -1
- package/console-app/assets/chunk-XXDRQBXY-C1KaR4pt.js +0 -1
- package/console-app/assets/classDiagram-JCYQIIEL-23nagJMi.js +0 -1
- package/console-app/assets/classDiagram-v2-OCEON4UE-23nagJMi.js +0 -1
- package/console-app/assets/eventmodeling-45OFAUF4-RyG54ZHy.js +0 -1
- package/console-app/assets/flowDiagram-UKHOOZJN-DNdfrnRg.js +0 -1
- package/console-app/assets/railroad-abnf-AHOZXSZD-DX4FqVY6.js +0 -1
- package/console-app/assets/railroad-ebnf-EBAXGLYW-DdyOtX1l.js +0 -1
- package/console-app/assets/railroad-peg-LSFZ7HO6-CclC1sXF.js +0 -1
- package/console-app/assets/stateDiagram-v2-UEYNNEHI-I34jrzP0.js +0 -1
- package/console-app/assets/swimlanesDiagram-ULZ7WXOC-C1PrPB0G.js +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.12.
|
|
2
|
+
* This file was generated by @pikku/cli@0.12.125
|
|
3
3
|
*/
|
|
4
4
|
import { WorkflowCancelledException } from '@pikku/core/workflow';
|
|
5
5
|
import type { PikkuWorkflowGraphConfig, PikkuWorkflowGraphResult } from '@pikku/core/workflow';
|
package/dist/bin/pikku-bin.mjs
CHANGED
|
@@ -11,8 +11,8 @@ async function checkForUpdate() {
|
|
|
11
11
|
})
|
|
12
12
|
if (!res.ok) return
|
|
13
13
|
const { version: latest } = await res.json()
|
|
14
|
-
if (latest !== '0.12.
|
|
15
|
-
process.stderr.write(`\n Update available 0.12.
|
|
14
|
+
if (latest !== '0.12.125') {
|
|
15
|
+
process.stderr.write(`\n Update available 0.12.125 → ${latest}\n brew upgrade pikku or npm install -g @pikku/cli\n\n`)
|
|
16
16
|
}
|
|
17
17
|
} catch {}
|
|
18
18
|
}
|
package/dist/src/cli.wiring.js
CHANGED
|
@@ -909,6 +909,13 @@ wireCLI({
|
|
|
909
909
|
description: 'Server runtime for the standalone provider: node (bundle.js) or bun (compiled executable)',
|
|
910
910
|
default: 'node',
|
|
911
911
|
},
|
|
912
|
+
desktop: {
|
|
913
|
+
description: 'Also generate a desktop shell (src-tauri/) that runs the compiled binary as a sidecar. Requires --provider standalone --runtime bun, unless --desktop-url is given.',
|
|
914
|
+
default: false,
|
|
915
|
+
},
|
|
916
|
+
desktopUrl: {
|
|
917
|
+
description: 'Point the desktop shell at an already-deployed server instead of bundling one. Implies --desktop; nothing is shipped with the app.',
|
|
918
|
+
},
|
|
912
919
|
fromPlan: {
|
|
913
920
|
description: 'Skip build pipeline, deploy from existing plan output',
|
|
914
921
|
default: false,
|
|
@@ -52,6 +52,16 @@ export declare function runBuildPipeline(options: {
|
|
|
52
52
|
defaultTarget?: 'serverless' | 'server';
|
|
53
53
|
globalHTTPPrefix?: string;
|
|
54
54
|
getEntryContext: (unitDir: string, pikkuDir: string, unit: DeploymentManifest['units'][0], state: InspectorState) => unknown;
|
|
55
|
+
/**
|
|
56
|
+
* A built frontend to ship with the bundle, from the project's `frontend`
|
|
57
|
+
* config. Single-unit builds only — a decomposed deployment has no one unit
|
|
58
|
+
* that owns the origin the UI would be served from.
|
|
59
|
+
*/
|
|
60
|
+
frontend?: {
|
|
61
|
+
dir: string;
|
|
62
|
+
urlPrefix: string;
|
|
63
|
+
spaFallback: boolean;
|
|
64
|
+
};
|
|
55
65
|
deployDir?: string;
|
|
56
66
|
outDir?: string;
|
|
57
67
|
/** Emit sourcemaps + per-unit `metafile.json` (debug-only). Default false. */
|
|
@@ -11,6 +11,8 @@ import { PikkuError } from '@pikku/core/errors';
|
|
|
11
11
|
import { analyzeDeployment } from './analyzer/index.js';
|
|
12
12
|
import { withoutScenarios } from '../functions/wirings/scenarios/scenario-partition.js';
|
|
13
13
|
import { generatePerUnitCodegen } from './codegen/per-unit-codegen.js';
|
|
14
|
+
import { materializeFrontend } from './frontend-assets.js';
|
|
15
|
+
import { assertFrontendBuilt } from '../utils/frontend.js';
|
|
14
16
|
import { generateServerEntrySource, SERVER_DOCKERFILE, SERVER_DOCKERIGNORE, } from './server-entry.js';
|
|
15
17
|
/**
|
|
16
18
|
* A unit that failed codegen or bundling is an expected build outcome (the
|
|
@@ -100,7 +102,20 @@ export async function runBuildPipeline(options) {
|
|
|
100
102
|
const unitDir = join(providerDir, unitName);
|
|
101
103
|
const pikkuDir = options.outDir ?? join(projectDir, '.pikku');
|
|
102
104
|
await mkdir(unitDir, { recursive: true });
|
|
103
|
-
|
|
105
|
+
let frontendMount;
|
|
106
|
+
if (options.frontend) {
|
|
107
|
+
await assertFrontendBuilt(options.frontend.dir);
|
|
108
|
+
const keys = await materializeFrontend(options.frontend.dir, unitDir);
|
|
109
|
+
frontendMount = {
|
|
110
|
+
urlPrefix: options.frontend.urlPrefix,
|
|
111
|
+
spaFallback: options.frontend.spaFallback,
|
|
112
|
+
};
|
|
113
|
+
logger.info(`Frontend: ${keys.length} files from ${options.frontend.dir}`);
|
|
114
|
+
}
|
|
115
|
+
const ctx = {
|
|
116
|
+
...getEntryContext(unitDir, pikkuDir, singleUnit, inspectorState),
|
|
117
|
+
frontend: frontendMount,
|
|
118
|
+
};
|
|
104
119
|
const source = provider.generateEntrySource(ctx);
|
|
105
120
|
const entryPath = join(unitDir, 'entry.ts');
|
|
106
121
|
await writeFile(entryPath, source, 'utf-8');
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embed a built frontend into a `bun build --compile` binary.
|
|
3
|
+
*
|
|
4
|
+
* Bun embeds a file imported with `with { type: 'file' }` and hands back an
|
|
5
|
+
* opaque `/$bunfs/…` path at runtime. That attribute cannot be applied to a
|
|
6
|
+
* dynamic import, and there is no way to embed a directory, so each file needs
|
|
7
|
+
* its own literal `import` statement — hence a generated module rather than a
|
|
8
|
+
* walk at startup.
|
|
9
|
+
*
|
|
10
|
+
* esbuild rejects the attribute outright ("Importing with a type attribute of
|
|
11
|
+
* \"file\" is not supported"), so this module is kept out of the esbuild bundle
|
|
12
|
+
* as an external and is resolved by the later `bun build --compile` step, which
|
|
13
|
+
* follows the import from the emitted `bundle.js`.
|
|
14
|
+
*
|
|
15
|
+
* The manifest can only name files that already exist, which fixes the build
|
|
16
|
+
* order: frontend build → manifest generation → server bundle → compile.
|
|
17
|
+
*/
|
|
18
|
+
export declare const FRONTEND_ASSET_MANIFEST_FILE = "frontend-assets.gen.js";
|
|
19
|
+
/** Directory name the built frontend is copied to inside a deploy unit. */
|
|
20
|
+
export declare const FRONTEND_DIR_NAME = "frontend";
|
|
21
|
+
export interface FrontendAsset {
|
|
22
|
+
/** Mount-relative request path, POSIX-separated (`assets/app-a1b2c3.js`). */
|
|
23
|
+
key: string;
|
|
24
|
+
/** Absolute path of the built file. */
|
|
25
|
+
path: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Every file under `dir`, keyed by its path relative to it.
|
|
29
|
+
*
|
|
30
|
+
* Sorted by key: directory read order is not stable across filesystems, and the
|
|
31
|
+
* manifest feeds a build whose output should not change run to run.
|
|
32
|
+
*/
|
|
33
|
+
export declare function collectFrontendAssets(dir: string): Promise<FrontendAsset[]>;
|
|
34
|
+
/**
|
|
35
|
+
* The manifest module source, with specifiers relative to `manifestDir` — the
|
|
36
|
+
* directory the file itself is written to.
|
|
37
|
+
*/
|
|
38
|
+
export declare function generateFrontendAssetManifest(assets: FrontendAsset[], manifestDir: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Copy a built frontend into a deploy unit and write the manifest beside it.
|
|
41
|
+
*
|
|
42
|
+
* The copy comes first and the manifest is generated from the copy, not the
|
|
43
|
+
* source: the unit directory is what the bundle and the compile step see, and
|
|
44
|
+
* the machine that compiles has no reason to still hold the frontend's build
|
|
45
|
+
* tree. A stale copy is removed rather than merged into, so a file dropped
|
|
46
|
+
* from the frontend's output cannot survive into the next binary.
|
|
47
|
+
*
|
|
48
|
+
* Returns the keys that were embedded, in manifest order.
|
|
49
|
+
*/
|
|
50
|
+
export declare function materializeFrontend(frontendDir: string, unitDir: string): Promise<string[]>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embed a built frontend into a `bun build --compile` binary.
|
|
3
|
+
*
|
|
4
|
+
* Bun embeds a file imported with `with { type: 'file' }` and hands back an
|
|
5
|
+
* opaque `/$bunfs/…` path at runtime. That attribute cannot be applied to a
|
|
6
|
+
* dynamic import, and there is no way to embed a directory, so each file needs
|
|
7
|
+
* its own literal `import` statement — hence a generated module rather than a
|
|
8
|
+
* walk at startup.
|
|
9
|
+
*
|
|
10
|
+
* esbuild rejects the attribute outright ("Importing with a type attribute of
|
|
11
|
+
* \"file\" is not supported"), so this module is kept out of the esbuild bundle
|
|
12
|
+
* as an external and is resolved by the later `bun build --compile` step, which
|
|
13
|
+
* follows the import from the emitted `bundle.js`.
|
|
14
|
+
*
|
|
15
|
+
* The manifest can only name files that already exist, which fixes the build
|
|
16
|
+
* order: frontend build → manifest generation → server bundle → compile.
|
|
17
|
+
*/
|
|
18
|
+
import { cp, readdir, rm, writeFile } from 'node:fs/promises';
|
|
19
|
+
import { join, relative } from 'node:path';
|
|
20
|
+
export const FRONTEND_ASSET_MANIFEST_FILE = 'frontend-assets.gen.js';
|
|
21
|
+
/** Directory name the built frontend is copied to inside a deploy unit. */
|
|
22
|
+
export const FRONTEND_DIR_NAME = 'frontend';
|
|
23
|
+
const toPosix = (value) => value.replace(/\\/g, '/');
|
|
24
|
+
/**
|
|
25
|
+
* Every file under `dir`, keyed by its path relative to it.
|
|
26
|
+
*
|
|
27
|
+
* Sorted by key: directory read order is not stable across filesystems, and the
|
|
28
|
+
* manifest feeds a build whose output should not change run to run.
|
|
29
|
+
*/
|
|
30
|
+
export async function collectFrontendAssets(dir) {
|
|
31
|
+
const assets = [];
|
|
32
|
+
const walk = async (current) => {
|
|
33
|
+
const entries = await readdir(current, { withFileTypes: true });
|
|
34
|
+
for (const entry of entries) {
|
|
35
|
+
const absolute = join(current, entry.name);
|
|
36
|
+
if (entry.isDirectory()) {
|
|
37
|
+
await walk(absolute);
|
|
38
|
+
}
|
|
39
|
+
else if (entry.isFile()) {
|
|
40
|
+
assets.push({ key: toPosix(relative(dir, absolute)), path: absolute });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
await walk(dir);
|
|
45
|
+
return assets.sort((a, b) => (a.key < b.key ? -1 : a.key > b.key ? 1 : 0));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The manifest module source, with specifiers relative to `manifestDir` — the
|
|
49
|
+
* directory the file itself is written to.
|
|
50
|
+
*/
|
|
51
|
+
export function generateFrontendAssetManifest(assets, manifestDir) {
|
|
52
|
+
const lines = ['// Generated by @pikku/cli — do not edit'];
|
|
53
|
+
assets.forEach((asset, index) => {
|
|
54
|
+
const specifier = toPosix(relative(manifestDir, asset.path));
|
|
55
|
+
lines.push(`import asset${index} from './${specifier}' with { type: 'file' }`);
|
|
56
|
+
});
|
|
57
|
+
lines.push('', 'export const frontendAssets = {');
|
|
58
|
+
assets.forEach((asset, index) => {
|
|
59
|
+
lines.push(` '${asset.key}': asset${index},`);
|
|
60
|
+
});
|
|
61
|
+
lines.push('}', '');
|
|
62
|
+
return lines.join('\n');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Copy a built frontend into a deploy unit and write the manifest beside it.
|
|
66
|
+
*
|
|
67
|
+
* The copy comes first and the manifest is generated from the copy, not the
|
|
68
|
+
* source: the unit directory is what the bundle and the compile step see, and
|
|
69
|
+
* the machine that compiles has no reason to still hold the frontend's build
|
|
70
|
+
* tree. A stale copy is removed rather than merged into, so a file dropped
|
|
71
|
+
* from the frontend's output cannot survive into the next binary.
|
|
72
|
+
*
|
|
73
|
+
* Returns the keys that were embedded, in manifest order.
|
|
74
|
+
*/
|
|
75
|
+
export async function materializeFrontend(frontendDir, unitDir) {
|
|
76
|
+
const target = join(unitDir, FRONTEND_DIR_NAME);
|
|
77
|
+
await rm(target, { recursive: true, force: true });
|
|
78
|
+
await cp(frontendDir, target, { recursive: true });
|
|
79
|
+
const assets = await collectFrontendAssets(target);
|
|
80
|
+
await writeFile(join(unitDir, FRONTEND_ASSET_MANIFEST_FILE), generateFrontendAssetManifest(assets, unitDir), 'utf-8');
|
|
81
|
+
return assets.map((asset) => asset.key);
|
|
82
|
+
}
|
|
@@ -760,6 +760,46 @@ export declare const fabricCommands: {
|
|
|
760
760
|
projectId: string;
|
|
761
761
|
status: any;
|
|
762
762
|
}, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").WiredServices>, undefined, undefined>, import("../../.pikku/middleware/pikku-middleware-types.gen.js").PikkuMiddleware, (services: import("../../types/application-types.js").SingletonServices, data: any, session?: import("../../types/application-types.js").UserSession | undefined) => void | Promise<void>, string>;
|
|
763
|
+
projects: import("@pikku/core/cli").CoreCLICommandConfig<import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionConfig<{
|
|
764
|
+
apiUrl?: string | undefined;
|
|
765
|
+
}, {
|
|
766
|
+
projects: {
|
|
767
|
+
projectId: string;
|
|
768
|
+
name: string;
|
|
769
|
+
slug: string;
|
|
770
|
+
status: string;
|
|
771
|
+
productionBranch: string;
|
|
772
|
+
gitRepoUrl: string | null;
|
|
773
|
+
createdAt: string;
|
|
774
|
+
linked: boolean;
|
|
775
|
+
}[];
|
|
776
|
+
}, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionSessionless<{
|
|
777
|
+
apiUrl?: string | undefined;
|
|
778
|
+
}, {
|
|
779
|
+
projects: {
|
|
780
|
+
projectId: string;
|
|
781
|
+
name: string;
|
|
782
|
+
slug: string;
|
|
783
|
+
status: string;
|
|
784
|
+
productionBranch: string;
|
|
785
|
+
gitRepoUrl: string | null;
|
|
786
|
+
createdAt: string;
|
|
787
|
+
linked: boolean;
|
|
788
|
+
}[];
|
|
789
|
+
}, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").WiredServices, unknown> | import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunction<{
|
|
790
|
+
apiUrl?: string | undefined;
|
|
791
|
+
}, {
|
|
792
|
+
projects: {
|
|
793
|
+
projectId: string;
|
|
794
|
+
name: string;
|
|
795
|
+
slug: string;
|
|
796
|
+
status: string;
|
|
797
|
+
productionBranch: string;
|
|
798
|
+
gitRepoUrl: string | null;
|
|
799
|
+
createdAt: string;
|
|
800
|
+
linked: boolean;
|
|
801
|
+
}[];
|
|
802
|
+
}, "rpc" | "session", import("../../.pikku/function/pikku-function-types.gen.js").WiredServices>, undefined, undefined>, import("../../.pikku/middleware/pikku-middleware-types.gen.js").PikkuMiddleware, (services: import("../../types/application-types.js").SingletonServices, data: any, session?: import("../../types/application-types.js").UserSession | undefined) => void | Promise<void>, string>;
|
|
763
803
|
errors: import("@pikku/core/cli").CoreCLICommandConfig<import("../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionConfig<{
|
|
764
804
|
branch: string;
|
|
765
805
|
function?: string | undefined;
|
|
@@ -26,6 +26,7 @@ import { FabricDeployApply, renderDeployApply, } from './functions/deploy.functi
|
|
|
26
26
|
import { FabricDeployList, renderDeployList, } from './functions/deploy-list.function.js';
|
|
27
27
|
import { FabricDeployUnits, renderDeployUnits, } from './functions/deploy-units.function.js';
|
|
28
28
|
import { FabricStatus, renderStatus } from './functions/status.function.js';
|
|
29
|
+
import { FabricProjectsList, renderProjectsList, } from './functions/projects-list.function.js';
|
|
29
30
|
import { FabricErrors, renderErrors } from './functions/errors.function.js';
|
|
30
31
|
import { FabricDbSchema, renderDbSchema, } from './functions/db-schema.function.js';
|
|
31
32
|
import { FabricRollback } from './functions/rollback.function.js';
|
|
@@ -325,6 +326,11 @@ export const fabricCommands = defineCLICommands({
|
|
|
325
326
|
render: renderStatus,
|
|
326
327
|
description: 'Show the linked project status (active + in-flight deploy)',
|
|
327
328
|
}),
|
|
329
|
+
projects: pikkuCLICommand({
|
|
330
|
+
func: FabricProjectsList,
|
|
331
|
+
render: renderProjectsList,
|
|
332
|
+
description: 'List the projects in your organization, with their ids (works unlinked)',
|
|
333
|
+
}),
|
|
328
334
|
errors: pikkuCLICommand({
|
|
329
335
|
func: FabricErrors,
|
|
330
336
|
render: renderErrors,
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const FabricProjectsListInput: z.ZodObject<{
|
|
3
|
+
apiUrl: z.ZodOptional<z.ZodString>;
|
|
4
|
+
}, z.core.$strip>;
|
|
5
|
+
export declare const FabricProjectsListOutput: z.ZodObject<{
|
|
6
|
+
projects: z.ZodArray<z.ZodObject<{
|
|
7
|
+
projectId: z.ZodString;
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
slug: z.ZodString;
|
|
10
|
+
status: z.ZodString;
|
|
11
|
+
productionBranch: z.ZodString;
|
|
12
|
+
gitRepoUrl: z.ZodNullable<z.ZodString>;
|
|
13
|
+
createdAt: z.ZodString;
|
|
14
|
+
linked: z.ZodBoolean;
|
|
15
|
+
}, z.core.$strip>>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
/**
|
|
18
|
+
* The only fabric command that does not need a linked project, which is the
|
|
19
|
+
* point of it: a checkout whose config still holds `__PROJECT_ID__` can run
|
|
20
|
+
* nothing else, and `fabric init` cannot recover the id either — it creates,
|
|
21
|
+
* so against an existing project it fails with a 409 that carries no id.
|
|
22
|
+
*/
|
|
23
|
+
export declare const FabricProjectsList: import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionConfig<{
|
|
24
|
+
apiUrl?: string | undefined;
|
|
25
|
+
}, {
|
|
26
|
+
projects: {
|
|
27
|
+
projectId: string;
|
|
28
|
+
name: string;
|
|
29
|
+
slug: string;
|
|
30
|
+
status: string;
|
|
31
|
+
productionBranch: string;
|
|
32
|
+
gitRepoUrl: string | null;
|
|
33
|
+
createdAt: string;
|
|
34
|
+
linked: boolean;
|
|
35
|
+
}[];
|
|
36
|
+
}, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunctionSessionless<{
|
|
37
|
+
apiUrl?: string | undefined;
|
|
38
|
+
}, {
|
|
39
|
+
projects: {
|
|
40
|
+
projectId: string;
|
|
41
|
+
name: string;
|
|
42
|
+
slug: string;
|
|
43
|
+
status: string;
|
|
44
|
+
productionBranch: string;
|
|
45
|
+
gitRepoUrl: string | null;
|
|
46
|
+
createdAt: string;
|
|
47
|
+
linked: boolean;
|
|
48
|
+
}[];
|
|
49
|
+
}, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").WiredServices, unknown> | import("../../../.pikku/function/pikku-function-types.gen.js").PikkuFunction<{
|
|
50
|
+
apiUrl?: string | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
projects: {
|
|
53
|
+
projectId: string;
|
|
54
|
+
name: string;
|
|
55
|
+
slug: string;
|
|
56
|
+
status: string;
|
|
57
|
+
productionBranch: string;
|
|
58
|
+
gitRepoUrl: string | null;
|
|
59
|
+
createdAt: string;
|
|
60
|
+
linked: boolean;
|
|
61
|
+
}[];
|
|
62
|
+
}, "rpc" | "session", import("../../../.pikku/function/pikku-function-types.gen.js").WiredServices>, undefined, undefined>;
|
|
63
|
+
type FabricProject = {
|
|
64
|
+
projectId: string;
|
|
65
|
+
name: string;
|
|
66
|
+
gitRepoUrl: string | null;
|
|
67
|
+
linked: boolean;
|
|
68
|
+
};
|
|
69
|
+
export declare const renderProjectsList: (_s: unknown, { projects }: {
|
|
70
|
+
projects: FabricProject[];
|
|
71
|
+
}) => void;
|
|
72
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { pikkuSessionlessFunc } from '../../../.pikku/function/index.js';
|
|
3
|
+
import { findProjectConfig, resolveApiContext } from '../lib/config.js';
|
|
4
|
+
import { getFabricRPC } from '../lib/http.js';
|
|
5
|
+
import { dim } from '../lib/output.js';
|
|
6
|
+
export const FabricProjectsListInput = z.object({
|
|
7
|
+
apiUrl: z.string().optional(),
|
|
8
|
+
});
|
|
9
|
+
export const FabricProjectsListOutput = z.object({
|
|
10
|
+
projects: z.array(z.object({
|
|
11
|
+
projectId: z.string(),
|
|
12
|
+
name: z.string(),
|
|
13
|
+
slug: z.string(),
|
|
14
|
+
status: z.string(),
|
|
15
|
+
productionBranch: z.string(),
|
|
16
|
+
gitRepoUrl: z.string().nullable(),
|
|
17
|
+
createdAt: z.string(),
|
|
18
|
+
linked: z.boolean(),
|
|
19
|
+
})),
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* The only fabric command that does not need a linked project, which is the
|
|
23
|
+
* point of it: a checkout whose config still holds `__PROJECT_ID__` can run
|
|
24
|
+
* nothing else, and `fabric init` cannot recover the id either — it creates,
|
|
25
|
+
* so against an existing project it fails with a 409 that carries no id.
|
|
26
|
+
*/
|
|
27
|
+
export const FabricProjectsList = pikkuSessionlessFunc({
|
|
28
|
+
description: 'List the projects in your organization.',
|
|
29
|
+
input: FabricProjectsListInput,
|
|
30
|
+
output: FabricProjectsListOutput,
|
|
31
|
+
func: async (_services, { apiUrl: apiUrlOverride }) => {
|
|
32
|
+
const ctx = await resolveApiContext({ apiUrlOverride });
|
|
33
|
+
if (!ctx.token)
|
|
34
|
+
throw new Error('Not logged in. Run `pikku fabric login` first.');
|
|
35
|
+
const rpc = getFabricRPC({ apiUrl: ctx.apiUrl, token: ctx.token });
|
|
36
|
+
const { projects } = await rpc.invoke('fabricCliProjects', {});
|
|
37
|
+
const local = await findProjectConfig();
|
|
38
|
+
const linkedId = local?.config.projectId;
|
|
39
|
+
return {
|
|
40
|
+
projects: projects.map((project) => ({
|
|
41
|
+
...project,
|
|
42
|
+
linked: linkedId !== undefined && project.projectId === linkedId,
|
|
43
|
+
})),
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
export const renderProjectsList = (_s, { projects }) => {
|
|
48
|
+
console.log('');
|
|
49
|
+
if (projects.length === 0) {
|
|
50
|
+
console.log(dim(' No projects yet. Run `pikku fabric link` to create one.'));
|
|
51
|
+
console.log('');
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const width = Math.max(...projects.map((p) => p.name.length));
|
|
55
|
+
for (const project of projects) {
|
|
56
|
+
console.log(` ${project.linked ? '*' : ' '} ${project.name.padEnd(width)} ${project.projectId} ${dim(project.gitRepoUrl ?? 'no repo')}`);
|
|
57
|
+
}
|
|
58
|
+
console.log('');
|
|
59
|
+
if (projects.some((p) => p.linked)) {
|
|
60
|
+
console.log(dim(' * this checkout'));
|
|
61
|
+
console.log('');
|
|
62
|
+
}
|
|
63
|
+
};
|
|
@@ -8,23 +8,33 @@ export declare function resolveProvider(config?: {
|
|
|
8
8
|
};
|
|
9
9
|
}, providerName?: string, options?: {
|
|
10
10
|
runtime?: string;
|
|
11
|
+
desktop?: boolean;
|
|
12
|
+
projectDir?: string;
|
|
13
|
+
desktopIdentifier?: string;
|
|
14
|
+
desktopUrl?: string;
|
|
11
15
|
}): Promise<ProviderAdapter>;
|
|
12
16
|
export declare const deployApply: import("#pikku/function").PikkuFunctionConfig<{
|
|
13
17
|
fromPlan?: boolean;
|
|
14
18
|
provider?: string;
|
|
15
19
|
runtime?: string;
|
|
20
|
+
desktop?: boolean;
|
|
21
|
+
desktopUrl?: string;
|
|
16
22
|
resultFile?: string;
|
|
17
23
|
debugArtifacts?: boolean;
|
|
18
24
|
}, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
|
|
19
25
|
fromPlan?: boolean;
|
|
20
26
|
provider?: string;
|
|
21
27
|
runtime?: string;
|
|
28
|
+
desktop?: boolean;
|
|
29
|
+
desktopUrl?: string;
|
|
22
30
|
resultFile?: string;
|
|
23
31
|
debugArtifacts?: boolean;
|
|
24
32
|
}, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
|
|
25
33
|
fromPlan?: boolean;
|
|
26
34
|
provider?: string;
|
|
27
35
|
runtime?: string;
|
|
36
|
+
desktop?: boolean;
|
|
37
|
+
desktopUrl?: string;
|
|
28
38
|
resultFile?: string;
|
|
29
39
|
debugArtifacts?: boolean;
|
|
30
40
|
}, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|