@pikku/cli 0.11.0 → 0.11.2
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/.pikku/channel/pikku-channel-types.gen.ts +11 -12
- package/.pikku/channel/pikku-channels-map.gen.d.ts +9 -9
- package/.pikku/channel/pikku-channels-meta.gen.ts +1 -1
- package/.pikku/channel/pikku-channels.gen.ts +1 -1
- package/.pikku/cli/pikku-cli-channel.ts +92 -0
- package/.pikku/cli/pikku-cli-client.gen.ts +54 -0
- package/.pikku/cli/pikku-cli-types.gen.ts +3 -3
- package/.pikku/cli/pikku-cli-wirings-meta.gen.json +146 -0
- package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +4 -34
- package/.pikku/cli/pikku-cli-wirings.gen.ts +2 -1
- package/.pikku/cli/pikku-cli.gen.ts +41 -0
- package/.pikku/function/pikku-function-types.gen.ts +49 -63
- package/.pikku/function/pikku-functions-meta.gen.json +988 -0
- package/.pikku/function/pikku-functions-meta.gen.ts +4 -970
- package/.pikku/function/pikku-functions-meta.min.gen.json +212 -0
- package/.pikku/function/pikku-functions-meta.min.gen.ts +4 -209
- package/.pikku/http/pikku-http-types.gen.ts +2 -2
- package/.pikku/http/pikku-http-wirings-map.gen.d.ts +9 -9
- package/.pikku/http/pikku-http-wirings-meta.gen.ts +1 -1
- package/.pikku/http/pikku-http-wirings.gen.ts +1 -1
- package/.pikku/mcp/pikku-mcp-types.gen.ts +13 -13
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +6 -4
- package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
- package/.pikku/pikku-bootstrap.gen.ts +1 -4
- package/.pikku/pikku-services.gen.ts +6 -8
- package/.pikku/pikku-types.gen.ts +1 -1
- package/.pikku/pikku-websocket.gen.ts +1 -1
- package/.pikku/queue/pikku-queue-types.gen.ts +2 -2
- package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +9 -9
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +5 -7
- package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
- package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +2 -2
- package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +9 -9
- package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +41 -40
- package/.pikku/scheduler/pikku-scheduler-types.gen.ts +2 -2
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +5 -2
- package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
- package/.pikku/schemas/register.gen.ts +27 -27
- package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
- package/.pikku/services/config.gen.json +99 -0
- package/.pikku/services/getInspectorState.gen.json +10 -0
- package/.pikku/services/jwt.gen.json +13 -0
- package/.pikku/services/logger.gen.json +25 -0
- package/.pikku/services/queueService.gen.json +14 -0
- package/.pikku/services/schedulerService.gen.json +17 -0
- package/.pikku/services/schema.gen.json +14 -0
- package/.pikku/services/variables.gen.json +13 -0
- package/.pikku/services/workflowService.gen.json +31 -0
- package/.pikku/workflow/pikku-workflow-map.gen.d.ts +9 -9
- package/.pikku/workflow/pikku-workflow-types.gen.ts +36 -31
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +1 -0
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +5 -2
- package/.pikku/workflow/pikku-workflow-wirings.gen.ts +6 -2
- package/CHANGELOG.md +27 -1
- package/bin/pikku.ts +6 -32
- package/build.sh +53 -31
- package/cli.schema.json +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +6 -7
- package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
- package/dist/.pikku/channel/pikku-channels-meta.gen.js +1 -1
- package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.js +91 -0
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +10 -0
- package/dist/.pikku/cli/pikku-cli-client.gen.js +44 -0
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +3 -3
- package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +3 -34
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +146 -0
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +2 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +2 -1
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +10 -0
- package/dist/.pikku/cli/pikku-cli.gen.js +38 -0
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +29 -79
- package/dist/.pikku/function/pikku-function-types.gen.js +19 -15
- package/dist/.pikku/function/pikku-functions-meta.gen.js +3 -969
- package/dist/.pikku/function/pikku-functions-meta.gen.json +988 -0
- package/dist/.pikku/function/pikku-functions-meta.min.gen.js +3 -208
- package/dist/.pikku/function/pikku-functions-meta.min.gen.json +212 -0
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +2 -2
- package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +1 -1
- package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +13 -13
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +5 -4
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -4
- package/dist/.pikku/pikku-bootstrap.gen.js +1 -4
- package/dist/.pikku/pikku-services.gen.d.ts +5 -8
- package/dist/.pikku/pikku-services.gen.js +3 -6
- package/dist/.pikku/pikku-types.gen.d.ts +1 -1
- package/dist/.pikku/pikku-types.gen.js +1 -1
- package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
- package/dist/.pikku/pikku-websocket.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +2 -2
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +3 -7
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
- 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-remote-rpc-workers.gen.d.ts +6 -9
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +2 -2
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +2 -2
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +3 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +17 -17
- package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +29 -25
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +22 -8
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -2
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +1 -0
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +6 -2
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +6 -3
- package/dist/bin/pikku.js +5 -28
- package/dist/src/cli.wiring.js +108 -106
- package/dist/src/functions/commands/all.js +82 -42
- package/dist/src/functions/commands/bootstrap.js +22 -10
- package/dist/src/functions/commands/watch.js +6 -3
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +12 -7
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +42 -4
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +40 -2
- package/dist/src/functions/wirings/channels/pikku-channels.js +9 -2
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +10 -11
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +4 -4
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.js +9 -3
- package/dist/src/functions/wirings/cli/serialize-channel-cli.js +1 -1
- package/dist/src/functions/wirings/cli/serialize-cli-types.js +2 -2
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +1 -1
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +4 -4
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +4 -4
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +15 -5
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +23 -23
- package/dist/src/functions/wirings/functions/schemas.js +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 +50 -64
- package/dist/src/functions/wirings/http/openapi-spec-generator.js +4 -4
- package/dist/src/functions/wirings/http/pikku-http-routes.js +9 -2
- package/dist/src/functions/wirings/http/serialize-http-types.js +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +18 -4
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +12 -12
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +26 -2
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +5 -2
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +5 -13
- package/dist/src/functions/wirings/queue/pikku-command-queue.js +9 -3
- package/dist/src/functions/wirings/queue/pikku-queue.js +9 -3
- package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +2 -1
- package/dist/src/functions/wirings/queue/serialize-queue-meta.js +10 -1
- package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +9 -2
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -4
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +1 -1
- package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +3 -3
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +6 -3
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +2 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +11 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +1 -0
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +22 -0
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +3 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +12 -8
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +2 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +11 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +36 -31
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +8 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +30 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +2 -2
- package/dist/src/middleware/log-command-info-and-time.d.ts +2 -2
- package/dist/src/middleware/log-command-info-and-time.js +1 -4
- package/dist/src/services/cli-logger-forwarder.service.d.ts +3 -0
- package/dist/src/services/cli-logger-forwarder.service.js +9 -2
- package/dist/src/services.d.ts +2 -7
- package/dist/src/services.js +14 -12
- package/dist/src/utils/check-required-types.d.ts +2 -2
- package/dist/src/utils/check-required-types.js +2 -3
- package/dist/src/utils/pikku-cli-config.js +35 -2
- package/dist/src/utils/pikku-files-and-methods.d.ts +2 -2
- package/dist/src/utils/pikku-files-and-methods.js +4 -4
- package/dist/src/utils/schema-generator.d.ts +1 -1
- package/dist/src/utils/schema-generator.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -8
- package/src/cli.wiring.ts +110 -105
- package/src/functions/commands/all.ts +94 -45
- package/src/functions/commands/bootstrap.ts +25 -10
- package/src/functions/commands/watch.ts +6 -3
- package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +26 -5
- package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +43 -4
- package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +40 -1
- package/src/functions/wirings/channels/pikku-channels.ts +27 -3
- package/src/functions/wirings/channels/serialize-channel-types.ts +10 -11
- package/src/functions/wirings/cli/pikku-command-cli-entry.ts +4 -4
- package/src/functions/wirings/cli/pikku-command-cli-types.ts +1 -1
- package/src/functions/wirings/cli/pikku-command-cli.ts +26 -3
- package/src/functions/wirings/cli/serialize-channel-cli.ts +1 -1
- package/src/functions/wirings/cli/serialize-cli-types.ts +2 -2
- package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +5 -5
- package/src/functions/wirings/functions/pikku-command-function-types-split.ts +6 -6
- package/src/functions/wirings/functions/pikku-command-functions.ts +39 -4
- package/src/functions/wirings/functions/pikku-command-services.ts +25 -25
- package/src/functions/wirings/functions/schemas.ts +2 -2
- package/src/functions/wirings/functions/serialize-function-types.ts +51 -65
- package/src/functions/wirings/http/openapi-spec-generator.ts +14 -5
- package/src/functions/wirings/http/pikku-http-routes.ts +28 -2
- package/src/functions/wirings/http/serialize-http-types.ts +1 -1
- package/src/functions/wirings/mcp/pikku-command-mcp.ts +30 -4
- package/src/functions/wirings/mcp/serialize-mcp-types.ts +12 -12
- package/src/functions/wirings/middleware/pikku-command-middleware.ts +35 -2
- package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +4 -19
- package/src/functions/wirings/permissions/pikku-command-permissions.ts +2 -2
- package/src/functions/wirings/queue/pikku-command-queue.ts +27 -2
- package/src/functions/wirings/queue/pikku-queue.ts +27 -2
- package/src/functions/wirings/queue/serialize-queue-meta.ts +15 -1
- package/src/functions/wirings/queue/serialize-queue-types.ts +1 -1
- package/src/functions/wirings/rpc/pikku-command-rpc.ts +25 -2
- package/src/functions/wirings/rpc/serialize-public-rpc.ts +11 -4
- package/src/functions/wirings/rpc/serialize-remote-rpc.ts +1 -1
- package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +3 -3
- package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +30 -4
- package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +20 -1
- package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +1 -1
- package/src/functions/wirings/services/pikku-command-service-metadata.ts +25 -0
- package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +8 -1
- package/src/functions/wirings/workflow/pikku-command-workflow.ts +36 -8
- package/src/functions/wirings/workflow/serialize-workflow-meta.ts +18 -1
- package/src/functions/wirings/workflow/serialize-workflow-types.ts +39 -31
- package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +47 -0
- package/src/functions/wirings/workflow/serialize-workflow-workers.ts +2 -2
- package/src/middleware/log-command-info-and-time.ts +3 -6
- package/src/services/cli-logger-forwarder.service.ts +11 -2
- package/src/services.ts +15 -15
- package/src/utils/check-required-types.ts +4 -7
- package/src/utils/pikku-cli-config.ts +69 -2
- package/src/utils/pikku-files-and-methods.ts +10 -13
- package/src/utils/schema-generator.ts +2 -2
- package/types/application-types.d.ts +1 -1
- package/types/config.d.ts +12 -1
- package/.pikku/function/pikku-functions.gen.ts +0 -84
- package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +0 -47
- package/dist/.pikku/function/pikku-functions.gen.js +0 -83
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +0 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +0 -47
- package/dist/.pikku/schemas/schemas/PikkuRemoteInternalRPCInput.schema.json +0 -1
- /package/dist/.pikku/{function/pikku-functions.gen.d.ts → cli/pikku-cli-channel.d.ts} +0 -0
package/dist/src/cli.wiring.js
CHANGED
|
@@ -1,107 +1,109 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { pikkuSchemas } from './functions/wirings/functions/schemas.js';
|
|
2
|
+
import { pikkuFetch } from './functions/wirings/fetch/index.js';
|
|
3
|
+
import { pikkuWebSocketTyped } from './functions/wirings/channels/pikku-command-websocket-typed.js';
|
|
4
|
+
import { pikkuRPCClient } from './functions/wirings/rpc/pikku-command-rpc-client.js';
|
|
5
|
+
import { pikkuQueueService } from './functions/wirings/queue/pikku-command-queue-service.js';
|
|
6
|
+
import { pikkuOpenAPI } from './functions/wirings/http/pikku-command-openapi.js';
|
|
7
|
+
import { pikkuNext } from './functions/runtimes/nextjs/pikku-command-nextjs.js';
|
|
8
|
+
import { pikkuCLICommand, wireCLI } from '../.pikku/cli/pikku-cli-types.gen.js';
|
|
9
|
+
import { all } from './functions/commands/all.js';
|
|
10
|
+
import { bootstrap } from './functions/commands/bootstrap.js';
|
|
11
|
+
import { watch } from './functions/commands/watch.js';
|
|
11
12
|
// import { clientCLIRenderer } from './services.js'
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
13
|
+
wireCLI({
|
|
14
|
+
program: 'pikku',
|
|
15
|
+
description: 'Pikku CLI - Code generation tool for type-safe backend development',
|
|
16
|
+
// render: clientCLIRenderer,
|
|
17
|
+
options: {
|
|
18
|
+
config: {
|
|
19
|
+
description: 'Path to pikku.config.json file',
|
|
20
|
+
short: 'c',
|
|
21
|
+
},
|
|
22
|
+
logLevel: {
|
|
23
|
+
description: 'Set log level',
|
|
24
|
+
default: 'info',
|
|
25
|
+
short: 'l',
|
|
26
|
+
},
|
|
27
|
+
userSessionType: {
|
|
28
|
+
description: 'Specify which UserSession type to use (when multiple exist)',
|
|
29
|
+
},
|
|
30
|
+
singletonServicesFactoryType: {
|
|
31
|
+
description: 'Specify which singleton services factory to use',
|
|
32
|
+
},
|
|
33
|
+
wireServicesFactoryType: {
|
|
34
|
+
description: 'Specify which wire services factory to use',
|
|
35
|
+
},
|
|
36
|
+
stateOutput: {
|
|
37
|
+
description: 'Save inspector state to JSON file for reuse',
|
|
38
|
+
},
|
|
39
|
+
stateInput: {
|
|
40
|
+
description: 'Load inspector state from JSON file (skips inspection)',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
commands: {
|
|
44
|
+
all: pikkuCLICommand({
|
|
45
|
+
func: all,
|
|
46
|
+
description: 'Generate all Pikku files (types, schemas, wirings, etc.)',
|
|
47
|
+
isDefault: true,
|
|
48
|
+
options: {
|
|
49
|
+
tags: {
|
|
50
|
+
description: 'Filter functions by tags (comma-separated)',
|
|
51
|
+
short: 't',
|
|
52
|
+
},
|
|
53
|
+
types: {
|
|
54
|
+
description: 'Filter functions by types (comma-separated)',
|
|
55
|
+
},
|
|
56
|
+
directories: {
|
|
57
|
+
description: 'Filter functions by directories (comma-separated)',
|
|
58
|
+
short: 'd',
|
|
59
|
+
},
|
|
60
|
+
httpMethods: {
|
|
61
|
+
description: 'Filter HTTP routes by methods (comma-separated)',
|
|
62
|
+
},
|
|
63
|
+
httpRoutes: {
|
|
64
|
+
description: 'Filter HTTP routes by route patterns (comma-separated)',
|
|
65
|
+
},
|
|
66
|
+
names: {
|
|
67
|
+
description: 'Filter functions by name patterns (supports wildcards)',
|
|
68
|
+
short: 'n',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
}),
|
|
72
|
+
bootstrap: pikkuCLICommand({
|
|
73
|
+
func: bootstrap,
|
|
74
|
+
description: 'Generate only type files (setup phase only)',
|
|
75
|
+
}),
|
|
76
|
+
watch: pikkuCLICommand({
|
|
77
|
+
func: watch,
|
|
78
|
+
description: 'Watch for file changes and regenerate automatically',
|
|
79
|
+
}),
|
|
80
|
+
schemas: pikkuCLICommand({
|
|
81
|
+
func: pikkuSchemas,
|
|
82
|
+
description: 'Generate JSON schemas for function input/output types',
|
|
83
|
+
}),
|
|
84
|
+
fetch: pikkuCLICommand({
|
|
85
|
+
func: pikkuFetch,
|
|
86
|
+
description: 'Generate type-safe HTTP fetch client',
|
|
87
|
+
}),
|
|
88
|
+
websocket: pikkuCLICommand({
|
|
89
|
+
func: pikkuWebSocketTyped,
|
|
90
|
+
description: 'Generate type-safe WebSocket client',
|
|
91
|
+
}),
|
|
92
|
+
rpc: pikkuCLICommand({
|
|
93
|
+
func: pikkuRPCClient,
|
|
94
|
+
description: 'Generate RPC client wrappers',
|
|
95
|
+
}),
|
|
96
|
+
'queue-service': pikkuCLICommand({
|
|
97
|
+
func: pikkuQueueService,
|
|
98
|
+
description: 'Generate queue service wrapper',
|
|
99
|
+
}),
|
|
100
|
+
openapi: pikkuCLICommand({
|
|
101
|
+
func: pikkuOpenAPI,
|
|
102
|
+
description: 'Generate OpenAPI specification from HTTP routes',
|
|
103
|
+
}),
|
|
104
|
+
nextjs: pikkuCLICommand({
|
|
105
|
+
func: pikkuNext,
|
|
106
|
+
description: 'Generate Next.js backend and HTTP wrappers',
|
|
107
|
+
}),
|
|
108
|
+
},
|
|
109
|
+
});
|
|
@@ -3,38 +3,79 @@ import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
|
|
|
3
3
|
import { getFileImportRelativePath } from '../../utils/file-import-path.js';
|
|
4
4
|
import { writeFileInDir } from '../../utils/file-writer.js';
|
|
5
5
|
import { CommandSummary } from '../../utils/command-summary.js';
|
|
6
|
+
// Import all command functions directly
|
|
7
|
+
import { pikkuFunctionTypes } from '../wirings/functions/pikku-command-function-types.js';
|
|
8
|
+
import { pikkuFunctionTypesSplit } from '../wirings/functions/pikku-command-function-types-split.js';
|
|
9
|
+
import { pikkuHTTPTypes } from '../wirings/http/pikku-command-http-types.js';
|
|
10
|
+
import { pikkuChannelTypes } from '../wirings/channels/pikku-command-channel-types.js';
|
|
11
|
+
import { pikkuSchedulerTypes } from '../wirings/scheduler/pikku-command-scheduler-types.js';
|
|
12
|
+
import { pikkuQueueTypes } from '../wirings/queue/pikku-command-queue-types.js';
|
|
13
|
+
import { pikkuWorkflowTypes } from '../wirings/workflow/pikku-command-workflow-types.js';
|
|
14
|
+
import { pikkuMCPTypes } from '../wirings/mcp/pikku-command-mcp-types.js';
|
|
15
|
+
import { pikkuCLITypes } from '../wirings/cli/pikku-command-cli-types.js';
|
|
16
|
+
import { pikkuFunctions } from '../wirings/functions/pikku-command-functions.js';
|
|
17
|
+
import { pikkuMiddleware } from '../wirings/middleware/pikku-command-middleware.js';
|
|
18
|
+
import { pikkuPermissions } from '../wirings/permissions/pikku-command-permissions.js';
|
|
19
|
+
import { pikkuServices } from '../wirings/functions/pikku-command-services.js';
|
|
20
|
+
import { pikkuServiceMetadata } from '../wirings/services/pikku-command-service-metadata.js';
|
|
21
|
+
import { pikkuRPC } from '../wirings/rpc/pikku-command-rpc.js';
|
|
22
|
+
import { pikkuRPCExposedMap, pikkuRPCInternalMap, } from '../wirings/rpc/pikku-command-rpc-map.js';
|
|
23
|
+
import { pikkuPublicRPC } from '../wirings/rpc/pikku-command-public-rpc.js';
|
|
24
|
+
import { pikkuRPCClient } from '../wirings/rpc/pikku-command-rpc-client.js';
|
|
25
|
+
import { pikkuSchemas } from '../wirings/functions/schemas.js';
|
|
26
|
+
import { pikkuHTTP } from '../wirings/http/pikku-command-http-routes.js';
|
|
27
|
+
import { pikkuHTTPMap } from '../wirings/http/pikku-command-http-map.js';
|
|
28
|
+
import { pikkuFetch } from '../wirings/fetch/index.js';
|
|
29
|
+
import { pikkuScheduler } from '../wirings/scheduler/pikku-command-scheduler.js';
|
|
30
|
+
import { pikkuWorkflow } from '../wirings/workflow/pikku-command-workflow.js';
|
|
31
|
+
import { pikkuRemoteRPC } from '../wirings/rpc/pikku-command-remote-rpc.js';
|
|
32
|
+
import { pikkuWorkflowMap } from '../wirings/workflow/pikku-command-workflow-map.js';
|
|
33
|
+
import { pikkuQueue } from '../wirings/queue/pikku-command-queue.js';
|
|
34
|
+
import { pikkuQueueMap } from '../wirings/queue/pikku-command-queue-map.js';
|
|
35
|
+
import { pikkuQueueService } from '../wirings/queue/pikku-command-queue-service.js';
|
|
36
|
+
import { pikkuChannels } from '../wirings/channels/pikku-command-channels.js';
|
|
37
|
+
import { pikkuChannelsMap } from '../wirings/channels/pikku-command-channels-map.js';
|
|
38
|
+
import { pikkuWebSocketTyped } from '../wirings/channels/pikku-command-websocket-typed.js';
|
|
39
|
+
import { pikkuMCP } from '../wirings/mcp/pikku-command-mcp.js';
|
|
40
|
+
import { pikkuMCPJSON } from '../wirings/mcp/pikku-command-mcp-json.js';
|
|
41
|
+
import { pikkuCLI } from '../wirings/cli/pikku-command-cli.js';
|
|
42
|
+
import { pikkuCLIEntry } from '../wirings/cli/pikku-command-cli-entry.js';
|
|
43
|
+
import { pikkuNext } from '../runtimes/nextjs/pikku-command-nextjs.js';
|
|
44
|
+
import { pikkuOpenAPI } from '../wirings/http/pikku-command-openapi.js';
|
|
6
45
|
export const all = pikkuVoidFunc({
|
|
7
|
-
func: async ({ logger, config,
|
|
46
|
+
func: async ({ logger, config, getInspectorState }) => {
|
|
47
|
+
const wire = {};
|
|
48
|
+
const services = { logger, config, getInspectorState };
|
|
8
49
|
const summary = new CommandSummary('all');
|
|
9
50
|
const allImports = [];
|
|
10
51
|
let typesDeclarationFileExists = true;
|
|
11
52
|
if (!existsSync(config.typesDeclarationFile)) {
|
|
12
53
|
typesDeclarationFileExists = false;
|
|
13
54
|
}
|
|
14
|
-
await
|
|
55
|
+
await pikkuFunctionTypes.func(services, null, wire);
|
|
15
56
|
// This is needed since the wireHTTP function will add the routes to the visitState
|
|
16
57
|
if (!typesDeclarationFileExists) {
|
|
17
58
|
logger.debug(`• Type file first created, inspecting again...`);
|
|
18
59
|
await getInspectorState(true);
|
|
19
60
|
}
|
|
20
61
|
// Generate wiring-specific type files for tree-shaking
|
|
21
|
-
await
|
|
22
|
-
await
|
|
23
|
-
await
|
|
24
|
-
await
|
|
25
|
-
await
|
|
26
|
-
await
|
|
27
|
-
await
|
|
28
|
-
await
|
|
29
|
-
const hasFunctionRegistrations = await
|
|
62
|
+
await pikkuFunctionTypesSplit.func(services, null, wire);
|
|
63
|
+
await pikkuHTTPTypes.func(services, null, wire);
|
|
64
|
+
await pikkuChannelTypes.func(services, null, wire);
|
|
65
|
+
await pikkuSchedulerTypes.func(services, null, wire);
|
|
66
|
+
await pikkuQueueTypes.func(services, null, wire);
|
|
67
|
+
await pikkuWorkflowTypes.func(services, null, wire);
|
|
68
|
+
await pikkuMCPTypes.func(services, null, wire);
|
|
69
|
+
await pikkuCLITypes.func(services, null, wire);
|
|
70
|
+
const hasFunctionRegistrations = await pikkuFunctions.func(services, wire, null);
|
|
30
71
|
// Generate and register middleware
|
|
31
|
-
const middleware = await
|
|
72
|
+
const middleware = await pikkuMiddleware.func(services, null, wire);
|
|
32
73
|
// Middleware must be imported before functions meta to ensure registration happens first
|
|
33
74
|
if (middleware) {
|
|
34
75
|
allImports.push(config.middlewareFile);
|
|
35
76
|
}
|
|
36
77
|
// Generate and register permissions
|
|
37
|
-
const permissions = await
|
|
78
|
+
const permissions = await pikkuPermissions.func(services, null, wire);
|
|
38
79
|
// Permissions must be imported before functions meta to ensure registration happens first
|
|
39
80
|
if (permissions) {
|
|
40
81
|
allImports.push(config.permissionsFile);
|
|
@@ -46,79 +87,78 @@ export const all = pikkuVoidFunc({
|
|
|
46
87
|
allImports.push(config.functionsFile);
|
|
47
88
|
}
|
|
48
89
|
// Generate services map
|
|
49
|
-
await
|
|
50
|
-
|
|
51
|
-
await
|
|
52
|
-
await
|
|
53
|
-
await
|
|
90
|
+
await pikkuServices.func(services, null, wire);
|
|
91
|
+
// Generate service metadata JSON files for AI consumption
|
|
92
|
+
await pikkuServiceMetadata.func(services, null, wire);
|
|
93
|
+
const hasInternalRPCs = await pikkuRPC.func(services, null, wire);
|
|
94
|
+
await pikkuRPCInternalMap.func(services, null, wire);
|
|
95
|
+
await pikkuRPCExposedMap.func(services, null, wire);
|
|
96
|
+
await pikkuPublicRPC.func(services, null, wire);
|
|
97
|
+
await pikkuRPCClient.func(services, null, wire);
|
|
54
98
|
if (hasInternalRPCs) {
|
|
55
99
|
allImports.push(config.rpcInternalWiringMetaFile);
|
|
56
100
|
}
|
|
57
|
-
const schemas = await
|
|
101
|
+
const schemas = await pikkuSchemas.func(services, null, wire);
|
|
58
102
|
if (schemas) {
|
|
59
103
|
allImports.push(`${config.schemaDirectory}/register.gen.ts`);
|
|
60
104
|
}
|
|
61
105
|
// Generate HTTP
|
|
62
|
-
const http = await
|
|
106
|
+
const http = await pikkuHTTP.func(services, null, wire);
|
|
63
107
|
if (http) {
|
|
64
|
-
await
|
|
65
|
-
await
|
|
108
|
+
await pikkuHTTPMap.func(services, null, wire);
|
|
109
|
+
await pikkuFetch.func(services, null, wire);
|
|
66
110
|
allImports.push(config.httpWiringMetaFile, config.httpWiringsFile);
|
|
67
111
|
}
|
|
68
112
|
// Generate Scheduler
|
|
69
|
-
const scheduler = await
|
|
113
|
+
const scheduler = await pikkuScheduler.func(services, null, wire);
|
|
70
114
|
if (scheduler) {
|
|
71
115
|
allImports.push(config.schedulersWiringMetaFile, config.schedulersWiringFile);
|
|
72
116
|
}
|
|
73
117
|
// Generate Workflows
|
|
74
|
-
const workflows = await
|
|
118
|
+
const workflows = await pikkuWorkflow.func(services, null, wire);
|
|
75
119
|
// Generate Remote RPC Workers (must be before queue discovery so wireQueueWorker calls are picked up)
|
|
76
|
-
const remoteRPC = await
|
|
120
|
+
const remoteRPC = await pikkuRemoteRPC.func(services, null, wire);
|
|
77
121
|
// Reinspect to pick up generated workflow workers and remote RPC workers BEFORE generating maps
|
|
78
122
|
if (workflows || remoteRPC) {
|
|
79
123
|
await getInspectorState(true);
|
|
80
124
|
}
|
|
81
125
|
if (workflows) {
|
|
82
|
-
await
|
|
126
|
+
await pikkuWorkflowMap.func(services, null, wire);
|
|
83
127
|
allImports.push(config.workflowsWiringMetaFile, config.workflowsWiringFile);
|
|
84
128
|
}
|
|
85
|
-
if (remoteRPC && config.rpc?.remoteRpcWorkersPath) {
|
|
86
|
-
// Only add to imports if we actually generated the file
|
|
87
|
-
allImports.push(config.rpc.remoteRpcWorkersPath);
|
|
88
|
-
}
|
|
89
129
|
// Generate Queues
|
|
90
|
-
const queues = await
|
|
130
|
+
const queues = await pikkuQueue.func(services, null, wire);
|
|
91
131
|
if (queues) {
|
|
92
|
-
await
|
|
93
|
-
await
|
|
132
|
+
await pikkuQueueMap.func(services, null, wire);
|
|
133
|
+
await pikkuQueueService.func(services, null, wire);
|
|
94
134
|
allImports.push(config.queueWorkersWiringMetaFile, config.queueWorkersWiringFile);
|
|
95
135
|
}
|
|
96
136
|
// Generate Channels
|
|
97
|
-
const channels = await
|
|
137
|
+
const channels = await pikkuChannels.func(services, null, wire);
|
|
98
138
|
if (channels) {
|
|
99
|
-
await
|
|
100
|
-
await
|
|
139
|
+
await pikkuChannelsMap.func(services, null, wire);
|
|
140
|
+
await pikkuWebSocketTyped.func(services, null, wire);
|
|
101
141
|
allImports.push(config.channelsWiringMetaFile, config.channelsWiringFile);
|
|
102
142
|
}
|
|
103
143
|
// Generate MCP
|
|
104
|
-
const mcp = await
|
|
144
|
+
const mcp = await pikkuMCP.func(services, null, wire);
|
|
105
145
|
if (mcp) {
|
|
106
|
-
await
|
|
146
|
+
await pikkuMCPJSON.func(services, null, wire);
|
|
107
147
|
allImports.push(config.mcpWiringsMetaFile, config.mcpWiringsFile);
|
|
108
148
|
}
|
|
109
149
|
// Generate CLI
|
|
110
|
-
const cli = await
|
|
150
|
+
const cli = await pikkuCLI.func(services, null, wire);
|
|
111
151
|
if (cli) {
|
|
112
|
-
await
|
|
152
|
+
await pikkuCLIEntry.func(services, null, wire);
|
|
113
153
|
allImports.push(config.cliWiringMetaFile, config.cliWiringsFile);
|
|
114
154
|
}
|
|
115
155
|
if (config.nextBackendFile || config.nextHTTPFile) {
|
|
116
|
-
await
|
|
156
|
+
await pikkuNext.func(services, null, wire);
|
|
117
157
|
}
|
|
118
158
|
if (config.openAPI) {
|
|
119
159
|
logger.debug(`• OpenAPI requires a reinspection to pickup new generated types..`);
|
|
120
160
|
await getInspectorState(true);
|
|
121
|
-
await
|
|
161
|
+
await pikkuOpenAPI.func(services, null, wire);
|
|
122
162
|
}
|
|
123
163
|
// Generate main bootstrap file (pass all imports directly since this is the main file)
|
|
124
164
|
await writeFileInDir(logger, config.bootstrapFile, allImports
|
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
|
|
2
|
+
// Import command functions directly
|
|
3
|
+
import { pikkuFunctionTypes } from '../wirings/functions/pikku-command-function-types.js';
|
|
4
|
+
import { pikkuFunctionTypesSplit } from '../wirings/functions/pikku-command-function-types-split.js';
|
|
5
|
+
import { pikkuHTTPTypes } from '../wirings/http/pikku-command-http-types.js';
|
|
6
|
+
import { pikkuChannelTypes } from '../wirings/channels/pikku-command-channel-types.js';
|
|
7
|
+
import { pikkuSchedulerTypes } from '../wirings/scheduler/pikku-command-scheduler-types.js';
|
|
8
|
+
import { pikkuQueueTypes } from '../wirings/queue/pikku-command-queue-types.js';
|
|
9
|
+
import { pikkuWorkflowTypes } from '../wirings/workflow/pikku-command-workflow-types.js';
|
|
10
|
+
import { pikkuMCPTypes } from '../wirings/mcp/pikku-command-mcp-types.js';
|
|
11
|
+
import { pikkuCLITypes } from '../wirings/cli/pikku-command-cli-types.js';
|
|
2
12
|
export const bootstrap = pikkuVoidFunc({
|
|
3
|
-
func: async ({ logger, config,
|
|
13
|
+
func: async ({ logger, config, getInspectorState }) => {
|
|
14
|
+
const wire = {};
|
|
15
|
+
const services = { logger, config, getInspectorState };
|
|
4
16
|
// Initialize inspector state in bootstrap mode with core types only
|
|
5
17
|
// This allows bootstrap to run immediately without inspecting the codebase
|
|
6
18
|
// All subsequent RPC commands will use this cached state
|
|
7
19
|
await getInspectorState(false, false, true);
|
|
8
|
-
await
|
|
20
|
+
await pikkuFunctionTypes.func(services, null, wire);
|
|
9
21
|
// Generate wiring-specific type files for tree-shaking
|
|
10
22
|
// These use the bootstrap mode state with core types
|
|
11
|
-
await
|
|
12
|
-
await
|
|
13
|
-
await
|
|
14
|
-
await
|
|
15
|
-
await
|
|
16
|
-
await
|
|
17
|
-
await
|
|
18
|
-
await
|
|
23
|
+
await pikkuFunctionTypesSplit.func(services, null, wire);
|
|
24
|
+
await pikkuHTTPTypes.func(services, null, wire);
|
|
25
|
+
await pikkuChannelTypes.func(services, null, wire);
|
|
26
|
+
await pikkuSchedulerTypes.func(services, null, wire);
|
|
27
|
+
await pikkuQueueTypes.func(services, null, wire);
|
|
28
|
+
await pikkuWorkflowTypes.func(services, null, wire);
|
|
29
|
+
await pikkuMCPTypes.func(services, null, wire);
|
|
30
|
+
await pikkuCLITypes.func(services, null, wire);
|
|
19
31
|
// Check for critical errors and exit if any were logged
|
|
20
32
|
if (logger.hasCriticalErrors()) {
|
|
21
33
|
process.exit(1);
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
|
|
2
2
|
import chokidar from 'chokidar';
|
|
3
|
+
import { all } from './all.js';
|
|
3
4
|
export const watch = pikkuVoidFunc({
|
|
4
|
-
func: async ({ logger, config,
|
|
5
|
+
func: async ({ logger, config, getInspectorState }) => {
|
|
6
|
+
const services = { logger, config, getInspectorState };
|
|
5
7
|
const configWatcher = chokidar.watch(config.srcDirectories, {
|
|
6
8
|
ignoreInitial: true,
|
|
7
9
|
ignored: /.*\.gen\.tsx?/,
|
|
@@ -18,14 +20,15 @@ export const watch = pikkuVoidFunc({
|
|
|
18
20
|
const handle = async () => {
|
|
19
21
|
try {
|
|
20
22
|
const start = Date.now();
|
|
21
|
-
await
|
|
23
|
+
await all.func(services, null, {});
|
|
22
24
|
logger.info({
|
|
23
25
|
message: `✓ Generated in ${Date.now() - start}ms`,
|
|
24
26
|
type: 'timing',
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
29
|
catch (err) {
|
|
28
|
-
|
|
30
|
+
console.error(err);
|
|
31
|
+
logger.error('Error running watch');
|
|
29
32
|
}
|
|
30
33
|
};
|
|
31
34
|
await handle();
|
|
@@ -7,7 +7,7 @@ import { serializeNextJsBackendWrapper as serializeNextBackendWrapper } from './
|
|
|
7
7
|
import { serializeNextJsHTTPWrapper as serializeNextHTTPWrapper } from './serialize-nextjs-http-wrapper.js';
|
|
8
8
|
export const pikkuNext = pikkuSessionlessFunc({
|
|
9
9
|
func: async ({ logger, config, getInspectorState }) => {
|
|
10
|
-
const { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, packageMappings, fetchFile, } = config;
|
|
10
|
+
const { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, rpcMapDeclarationFile, packageMappings, fetchFile, } = config;
|
|
11
11
|
// If both files are undefined, clean up any existing files and return
|
|
12
12
|
if (!nextBackendFile && !nextHTTPFile) {
|
|
13
13
|
logger.info({
|
|
@@ -20,31 +20,36 @@ export const pikkuNext = pikkuSessionlessFunc({
|
|
|
20
20
|
if (nextHTTPFile && !fetchFile) {
|
|
21
21
|
throw new Error('fetchFile is required in pikku config in order for nextJS http wrapper to work');
|
|
22
22
|
}
|
|
23
|
+
if ((nextBackendFile || nextHTTPFile) && !rpcMapDeclarationFile) {
|
|
24
|
+
throw new Error('rpcMapDeclarationFile is required in pikku config in order for nextJS wrapper to work');
|
|
25
|
+
}
|
|
23
26
|
if (nextBackendFile) {
|
|
24
27
|
// Check for required types
|
|
25
28
|
checkRequiredTypes(visitState.filesAndMethodsErrors, {
|
|
26
29
|
config: true,
|
|
27
30
|
singletonServicesFactory: true,
|
|
28
|
-
|
|
31
|
+
wireServicesFactory: true,
|
|
29
32
|
});
|
|
30
|
-
const { pikkuConfigFactory, singletonServicesFactory,
|
|
33
|
+
const { pikkuConfigFactory, singletonServicesFactory, wireServicesFactory, } = visitState.filesAndMethods;
|
|
31
34
|
if (!pikkuConfigFactory ||
|
|
32
35
|
!singletonServicesFactory ||
|
|
33
|
-
!
|
|
36
|
+
!wireServicesFactory) {
|
|
34
37
|
throw new Error('Required types not found');
|
|
35
38
|
}
|
|
36
39
|
const pikkuConfigImport = `import { ${pikkuConfigFactory.variable} as createConfig } from '${getFileImportRelativePath(nextBackendFile, pikkuConfigFactory.file, packageMappings)}'`;
|
|
37
40
|
const singletonServicesImport = `import { ${singletonServicesFactory.variable} as createSingletonServices } from '${getFileImportRelativePath(nextBackendFile, singletonServicesFactory.file, packageMappings)}'`;
|
|
38
|
-
const
|
|
41
|
+
const wireServicesImport = `import { ${wireServicesFactory.variable} as createWireServices } from '${getFileImportRelativePath(nextBackendFile, wireServicesFactory.file, packageMappings)}'`;
|
|
39
42
|
const bootstrapPath = getFileImportRelativePath(nextBackendFile, config.bootstrapFile, packageMappings);
|
|
40
43
|
const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpMapDeclarationFile, packageMappings);
|
|
41
|
-
const
|
|
44
|
+
const rpcMapDeclarationPath = getFileImportRelativePath(nextBackendFile, rpcMapDeclarationFile, packageMappings);
|
|
45
|
+
const content = serializeNextBackendWrapper(bootstrapPath, routesMapDeclarationPath, rpcMapDeclarationPath, pikkuConfigImport, singletonServicesImport, wireServicesImport);
|
|
42
46
|
await writeFileInDir(logger, nextBackendFile, content);
|
|
43
47
|
}
|
|
44
48
|
if (nextHTTPFile && fetchFile) {
|
|
45
49
|
const routesMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, httpMapDeclarationFile, packageMappings);
|
|
50
|
+
const rpcMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, rpcMapDeclarationFile, packageMappings);
|
|
46
51
|
const fetchPath = getFileImportRelativePath(nextHTTPFile, fetchFile, packageMappings);
|
|
47
|
-
const content = serializeNextHTTPWrapper(routesMapDeclarationPath, fetchPath);
|
|
52
|
+
const content = serializeNextHTTPWrapper(routesMapDeclarationPath, rpcMapDeclarationPath, fetchPath);
|
|
48
53
|
await writeFileInDir(logger, nextHTTPFile, content);
|
|
49
54
|
}
|
|
50
55
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const serializeNextJsBackendWrapper: (bootstrapPath: string, routesMapPath: string, configImport: string, singleServicesFactoryImport: string,
|
|
1
|
+
export declare const serializeNextJsBackendWrapper: (bootstrapPath: string, routesMapPath: string, rpcMapPath: string, configImport: string, singleServicesFactoryImport: string, wireServicesImport: string) => string;
|