@geekmidas/cli 0.0.26 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/FUNCTION_CRON_SUPPORT.md +266 -0
  2. package/README.md +84 -17
  3. package/dist/CronGenerator-1PflEYe2.cjs +60 -0
  4. package/dist/CronGenerator-1PflEYe2.cjs.map +1 -0
  5. package/dist/CronGenerator-DXRfHQcV.mjs +54 -0
  6. package/dist/CronGenerator-DXRfHQcV.mjs.map +1 -0
  7. package/dist/EndpointGenerator-BbGrDiCP.cjs +264 -0
  8. package/dist/EndpointGenerator-BbGrDiCP.cjs.map +1 -0
  9. package/dist/EndpointGenerator-BmZ9BxbO.mjs +258 -0
  10. package/dist/EndpointGenerator-BmZ9BxbO.mjs.map +1 -0
  11. package/dist/FunctionGenerator-Clw64SwQ.cjs +59 -0
  12. package/dist/FunctionGenerator-Clw64SwQ.cjs.map +1 -0
  13. package/dist/FunctionGenerator-DOEB_yPh.mjs +53 -0
  14. package/dist/FunctionGenerator-DOEB_yPh.mjs.map +1 -0
  15. package/dist/Generator-CDoEXCDg.cjs +47 -0
  16. package/dist/Generator-CDoEXCDg.cjs.map +1 -0
  17. package/dist/Generator-UanJW0_V.mjs +41 -0
  18. package/dist/Generator-UanJW0_V.mjs.map +1 -0
  19. package/dist/SubscriberGenerator-BfMZCVNy.cjs +204 -0
  20. package/dist/SubscriberGenerator-BfMZCVNy.cjs.map +1 -0
  21. package/dist/SubscriberGenerator-D2u00NI3.mjs +198 -0
  22. package/dist/SubscriberGenerator-D2u00NI3.mjs.map +1 -0
  23. package/dist/build/index.cjs +12 -0
  24. package/dist/build/index.mjs +12 -0
  25. package/dist/build/manifests.cjs +3 -0
  26. package/dist/build/manifests.mjs +3 -0
  27. package/dist/build/providerResolver.cjs +5 -0
  28. package/dist/build/providerResolver.mjs +3 -0
  29. package/dist/build/types.cjs +0 -0
  30. package/dist/build/types.mjs +0 -0
  31. package/dist/build-BBhlEjf5.cjs +89 -0
  32. package/dist/build-BBhlEjf5.cjs.map +1 -0
  33. package/dist/build-kY-lG30Q.mjs +83 -0
  34. package/dist/build-kY-lG30Q.mjs.map +1 -0
  35. package/dist/config-D1EpSGk6.cjs +36 -0
  36. package/dist/config-D1EpSGk6.cjs.map +1 -0
  37. package/dist/config-U-mdW-7Y.mjs +30 -0
  38. package/dist/config-U-mdW-7Y.mjs.map +1 -0
  39. package/dist/config.cjs +1 -1
  40. package/dist/config.mjs +1 -1
  41. package/dist/generators/CronGenerator.cjs +4 -0
  42. package/dist/generators/CronGenerator.mjs +4 -0
  43. package/dist/generators/EndpointGenerator.cjs +4 -0
  44. package/dist/generators/EndpointGenerator.mjs +4 -0
  45. package/dist/generators/FunctionGenerator.cjs +4 -0
  46. package/dist/generators/FunctionGenerator.mjs +4 -0
  47. package/dist/generators/Generator.cjs +3 -0
  48. package/dist/generators/Generator.mjs +3 -0
  49. package/dist/generators/SubscriberGenerator.cjs +4 -0
  50. package/dist/generators/SubscriberGenerator.mjs +4 -0
  51. package/dist/generators/index.cjs +12 -0
  52. package/dist/generators/index.mjs +8 -0
  53. package/dist/generators-CEKtVh81.cjs +0 -0
  54. package/dist/generators-CsLujGXs.mjs +0 -0
  55. package/dist/index.cjs +71 -25
  56. package/dist/index.cjs.map +1 -0
  57. package/dist/index.mjs +71 -25
  58. package/dist/index.mjs.map +1 -0
  59. package/dist/manifests-BrJXpHrf.mjs +21 -0
  60. package/dist/manifests-BrJXpHrf.mjs.map +1 -0
  61. package/dist/manifests-D0saShvH.cjs +27 -0
  62. package/dist/manifests-D0saShvH.cjs.map +1 -0
  63. package/dist/{openapi-CksVdkh2.mjs → openapi-BQx3_JbM.mjs} +8 -6
  64. package/dist/openapi-BQx3_JbM.mjs.map +1 -0
  65. package/dist/{openapi-D4QQJUPY.cjs → openapi-CMLr04cz.cjs} +9 -7
  66. package/dist/openapi-CMLr04cz.cjs.map +1 -0
  67. package/dist/{openapi-react-query-DpT3XHFC.mjs → openapi-react-query-DbrWwQzb.mjs} +5 -3
  68. package/dist/openapi-react-query-DbrWwQzb.mjs.map +1 -0
  69. package/dist/{openapi-react-query-C1JLYUOs.cjs → openapi-react-query-Dvjqx_Eo.cjs} +5 -3
  70. package/dist/openapi-react-query-Dvjqx_Eo.cjs.map +1 -0
  71. package/dist/openapi-react-query.cjs +1 -1
  72. package/dist/openapi-react-query.mjs +1 -1
  73. package/dist/openapi.cjs +4 -3
  74. package/dist/openapi.mjs +4 -3
  75. package/dist/providerResolver-B_TjNF0_.mjs +96 -0
  76. package/dist/providerResolver-B_TjNF0_.mjs.map +1 -0
  77. package/dist/providerResolver-DgvzNfP4.cjs +114 -0
  78. package/dist/providerResolver-DgvzNfP4.cjs.map +1 -0
  79. package/examples/cron-example.ts +45 -0
  80. package/examples/function-example.ts +40 -0
  81. package/examples/gkm.config.json +22 -0
  82. package/examples/gkm.minimal.config.json +7 -0
  83. package/examples/gkm.production.config.json +27 -0
  84. package/examples/logger.ts +1 -1
  85. package/package.json +38 -14
  86. package/src/__tests__/config.spec.ts +110 -0
  87. package/src/__tests__/openapi-react-query.spec.ts +506 -0
  88. package/src/__tests__/openapi.spec.ts +362 -0
  89. package/src/__tests__/test-helpers.ts +180 -0
  90. package/src/build/__tests__/index-new.spec.ts +577 -0
  91. package/src/build/index.ts +197 -0
  92. package/src/build/manifests.ts +35 -0
  93. package/src/build/providerResolver.ts +184 -0
  94. package/src/build/types.ts +37 -0
  95. package/src/config.ts +14 -6
  96. package/src/generators/CronGenerator.ts +98 -0
  97. package/src/generators/EndpointGenerator.ts +389 -0
  98. package/src/generators/FunctionGenerator.ts +97 -0
  99. package/src/generators/Generator.ts +95 -0
  100. package/src/generators/SubscriberGenerator.ts +271 -0
  101. package/src/generators/__tests__/CronGenerator.spec.ts +445 -0
  102. package/src/generators/__tests__/EndpointGenerator.spec.ts +394 -0
  103. package/src/generators/__tests__/FunctionGenerator.spec.ts +256 -0
  104. package/src/generators/__tests__/SubscriberGenerator.spec.ts +341 -0
  105. package/src/generators/index.ts +9 -0
  106. package/src/index.ts +57 -22
  107. package/src/openapi-react-query.ts +2 -1
  108. package/src/openapi.ts +5 -4
  109. package/src/types.ts +91 -2
  110. package/dist/build-BTggTCYL.cjs +0 -176
  111. package/dist/build-Ca4P6_lY.mjs +0 -170
  112. package/dist/build.cjs +0 -5
  113. package/dist/build.mjs +0 -5
  114. package/dist/config-BNqUMsvc.cjs +0 -24
  115. package/dist/config-BciAdY6_.mjs +0 -18
  116. package/dist/loadEndpoints-BBIavB9h.cjs +0 -37
  117. package/dist/loadEndpoints-DAZ53Og2.mjs +0 -31
  118. package/dist/loadEndpoints.cjs +0 -3
  119. package/dist/loadEndpoints.mjs +0 -3
  120. package/src/build.ts +0 -305
  121. package/src/loadEndpoints.ts +0 -48
@@ -1,176 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_config = require('./config-BNqUMsvc.cjs');
3
- const require_loadEndpoints = require('./loadEndpoints-BBIavB9h.cjs');
4
- const node_fs_promises = require_chunk.__toESM(require("node:fs/promises"));
5
- const path = require_chunk.__toESM(require("path"));
6
-
7
- //#region src/build.ts
8
- const logger = console;
9
- async function buildCommand(options) {
10
- logger.log(`Building with providers: ${options.providers.join(", ")}`);
11
- const config = await require_config.loadConfig();
12
- logger.log(`Loading routes from: ${config.routes}`);
13
- logger.log(`Using envParser: ${config.envParser}`);
14
- const [envParserPath, envParserName] = config.envParser.split("#");
15
- const envParserImportPattern = !envParserName ? "envParser" : envParserName === "envParser" ? "{ envParser }" : `{ ${envParserName} as envParser }`;
16
- const [loggerPath, loggerName] = config.logger.split("#");
17
- const loggerImportPattern = !loggerName ? "logger" : loggerName === "logger" ? "{ logger }" : `{ ${loggerName} as logger }`;
18
- const loadedEndpoints = await require_loadEndpoints.loadEndpoints(config.routes);
19
- if (loadedEndpoints.length === 0) {
20
- logger.log("No endpoints found to process");
21
- return;
22
- }
23
- const allEndpoints = loadedEndpoints.map(({ name, endpoint, file }) => {
24
- const routeInfo = {
25
- path: endpoint._path,
26
- method: endpoint.method,
27
- handler: ""
28
- };
29
- logger.log(`Found endpoint: ${name} - ${routeInfo.method} ${routeInfo.path}`);
30
- return {
31
- file: (0, path.relative)(process.cwd(), file),
32
- exportName: name,
33
- endpoint,
34
- routeInfo
35
- };
36
- });
37
- for (const provider of options.providers) {
38
- const routes = [];
39
- const outputDir = (0, path.join)(process.cwd(), ".gkm", provider);
40
- await (0, node_fs_promises.mkdir)(outputDir, { recursive: true });
41
- logger.log(`\nGenerating handlers for provider: ${provider}`);
42
- if (provider === "server") {
43
- const serverFile = await generateServerFile(outputDir, allEndpoints, envParserPath, envParserImportPattern, loggerPath, loggerImportPattern, options.enableOpenApi || false);
44
- routes.push({
45
- path: "*",
46
- method: "ALL",
47
- handler: (0, path.relative)(process.cwd(), serverFile)
48
- });
49
- logger.log(`Generated server app with ${allEndpoints.length} endpoints${options.enableOpenApi ? " (OpenAPI enabled)" : ""}`);
50
- } else for (const { file, exportName, routeInfo } of allEndpoints) {
51
- const handlerFile = await generateHandlerFile(outputDir, file, exportName, provider, routeInfo, envParserPath, envParserImportPattern);
52
- routes.push({
53
- ...routeInfo,
54
- handler: (0, path.relative)(process.cwd(), handlerFile).replace(/\.ts$/, ".handler")
55
- });
56
- logger.log(`Generated handler for ${routeInfo.method} ${routeInfo.path}`);
57
- }
58
- const manifest = { routes };
59
- const manifestPath = (0, path.join)(outputDir, "routes.json");
60
- await (0, node_fs_promises.writeFile)(manifestPath, JSON.stringify(manifest, null, 2));
61
- logger.log(`Generated ${routes.length} handlers in ${(0, path.relative)(process.cwd(), outputDir)}`);
62
- logger.log(`Routes manifest: ${(0, path.relative)(process.cwd(), manifestPath)}`);
63
- }
64
- }
65
- async function generateServerFile(outputDir, endpoints, envParserPath, envParserImportPattern, loggerPath, loggerImportPattern, enableOpenApi) {
66
- const serverFileName = "app.ts";
67
- const serverPath = (0, path.join)(outputDir, serverFileName);
68
- const importsByFile = /* @__PURE__ */ new Map();
69
- for (const { file, exportName } of endpoints) {
70
- const relativePath = (0, path.relative)((0, path.dirname)(serverPath), file);
71
- const importPath = relativePath.replace(/\.ts$/, ".js");
72
- if (!importsByFile.has(importPath)) importsByFile.set(importPath, []);
73
- importsByFile.get(importPath).push(exportName);
74
- }
75
- const relativeEnvParserPath = (0, path.relative)((0, path.dirname)(serverPath), envParserPath);
76
- const relativeLoggerPath = (0, path.relative)((0, path.dirname)(serverPath), loggerPath);
77
- const imports = Array.from(importsByFile.entries()).map(([importPath, exports$1]) => `import { ${exports$1.join(", ")} } from '${importPath}';`).join("\n");
78
- const allExportNames = endpoints.map(({ exportName }) => exportName);
79
- const content = `import { HonoEndpoint } from '@geekmidas/api/hono';
80
- import { Endpoint } from '@geekmidas/api/server';
81
- import { ServiceDiscovery } from '@geekmidas/api/services';
82
- import { Hono } from 'hono';
83
- import ${envParserImportPattern} from '${relativeEnvParserPath}';
84
- import ${loggerImportPattern} from '${relativeLoggerPath}';
85
- ${imports}
86
-
87
- export function createApp(app?: Hono, enableOpenApi: boolean = ${enableOpenApi}): Hono {
88
- const honoApp = app || new Hono();
89
-
90
- const endpoints: Endpoint<any, any, any, any, any, any, any>[] = [
91
- ${allExportNames.join(",\n ")}
92
- ];
93
-
94
- const serviceDiscovery = ServiceDiscovery.getInstance(
95
- logger,
96
- envParser
97
- );
98
-
99
- // Configure OpenAPI options based on enableOpenApi flag
100
- const openApiOptions: any = enableOpenApi ? {
101
- docsPath: '/docs',
102
- openApiOptions: {
103
- title: 'API Documentation',
104
- version: '1.0.0',
105
- description: 'Generated API documentation'
106
- }
107
- } : { docsPath: false };
108
-
109
- HonoEndpoint.addRoutes(endpoints, serviceDiscovery, honoApp, openApiOptions);
110
-
111
- return honoApp;
112
- }
113
-
114
- // Default export for convenience
115
- export default createApp;
116
- `;
117
- await (0, node_fs_promises.writeFile)(serverPath, content);
118
- return serverPath;
119
- }
120
- async function generateHandlerFile(outputDir, sourceFile, exportName, provider, _routeInfo, envParserPath, envParserImportPattern) {
121
- const handlerFileName = `${exportName}.ts`;
122
- const handlerPath = (0, path.join)(outputDir, handlerFileName);
123
- const relativePath = (0, path.relative)((0, path.dirname)(handlerPath), sourceFile);
124
- const importPath = relativePath.replace(/\.ts$/, ".js");
125
- const relativeEnvParserPath = (0, path.relative)((0, path.dirname)(handlerPath), envParserPath);
126
- let content;
127
- switch (provider) {
128
- case "aws-apigatewayv1":
129
- content = generateAWSApiGatewayV1Handler(importPath, exportName, relativeEnvParserPath, envParserImportPattern);
130
- break;
131
- case "aws-apigatewayv2":
132
- content = generateAWSApiGatewayV2Handler(importPath, exportName, relativeEnvParserPath, envParserImportPattern);
133
- break;
134
- case "server":
135
- content = generateServerHandler(importPath, exportName);
136
- break;
137
- default: throw new Error(`Unsupported provider: ${provider}`);
138
- }
139
- await (0, node_fs_promises.writeFile)(handlerPath, content);
140
- return handlerPath;
141
- }
142
- function generateAWSApiGatewayV1Handler(importPath, exportName, envParserPath, envParserImportPattern) {
143
- return `import { AmazonApiGatewayV1Endpoint } from '@geekmidas/api/aws-apigateway';
144
- import { ${exportName} } from '${importPath}';
145
- import ${envParserImportPattern} from '${envParserPath}';
146
-
147
- const adapter = new AmazonApiGatewayV1Endpoint(envParser, ${exportName});
148
-
149
- export const handler = adapter.handler;
150
- `;
151
- }
152
- function generateAWSApiGatewayV2Handler(importPath, exportName, envParserPath, envParserImportPattern) {
153
- return `import { AmazonApiGatewayV2Endpoint } from '@geekmidas/api/aws-apigateway';
154
- import { ${exportName} } from '${importPath}';
155
- import ${envParserImportPattern} from '${envParserPath}';
156
-
157
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, ${exportName});
158
-
159
- export const handler = adapter.handler;
160
- `;
161
- }
162
- function generateServerHandler(importPath, exportName) {
163
- return `import { ${exportName} } from '${importPath}';
164
-
165
- // Server handler - implement based on your server framework
166
- export const handler = ${exportName};
167
- `;
168
- }
169
-
170
- //#endregion
171
- Object.defineProperty(exports, 'buildCommand', {
172
- enumerable: true,
173
- get: function () {
174
- return buildCommand;
175
- }
176
- });
@@ -1,170 +0,0 @@
1
- import { loadConfig } from "./config-BciAdY6_.mjs";
2
- import { loadEndpoints } from "./loadEndpoints-DAZ53Og2.mjs";
3
- import { mkdir, writeFile } from "node:fs/promises";
4
- import { dirname, join, relative } from "path";
5
-
6
- //#region src/build.ts
7
- const logger = console;
8
- async function buildCommand(options) {
9
- logger.log(`Building with providers: ${options.providers.join(", ")}`);
10
- const config = await loadConfig();
11
- logger.log(`Loading routes from: ${config.routes}`);
12
- logger.log(`Using envParser: ${config.envParser}`);
13
- const [envParserPath, envParserName] = config.envParser.split("#");
14
- const envParserImportPattern = !envParserName ? "envParser" : envParserName === "envParser" ? "{ envParser }" : `{ ${envParserName} as envParser }`;
15
- const [loggerPath, loggerName] = config.logger.split("#");
16
- const loggerImportPattern = !loggerName ? "logger" : loggerName === "logger" ? "{ logger }" : `{ ${loggerName} as logger }`;
17
- const loadedEndpoints = await loadEndpoints(config.routes);
18
- if (loadedEndpoints.length === 0) {
19
- logger.log("No endpoints found to process");
20
- return;
21
- }
22
- const allEndpoints = loadedEndpoints.map(({ name, endpoint, file }) => {
23
- const routeInfo = {
24
- path: endpoint._path,
25
- method: endpoint.method,
26
- handler: ""
27
- };
28
- logger.log(`Found endpoint: ${name} - ${routeInfo.method} ${routeInfo.path}`);
29
- return {
30
- file: relative(process.cwd(), file),
31
- exportName: name,
32
- endpoint,
33
- routeInfo
34
- };
35
- });
36
- for (const provider of options.providers) {
37
- const routes = [];
38
- const outputDir = join(process.cwd(), ".gkm", provider);
39
- await mkdir(outputDir, { recursive: true });
40
- logger.log(`\nGenerating handlers for provider: ${provider}`);
41
- if (provider === "server") {
42
- const serverFile = await generateServerFile(outputDir, allEndpoints, envParserPath, envParserImportPattern, loggerPath, loggerImportPattern, options.enableOpenApi || false);
43
- routes.push({
44
- path: "*",
45
- method: "ALL",
46
- handler: relative(process.cwd(), serverFile)
47
- });
48
- logger.log(`Generated server app with ${allEndpoints.length} endpoints${options.enableOpenApi ? " (OpenAPI enabled)" : ""}`);
49
- } else for (const { file, exportName, routeInfo } of allEndpoints) {
50
- const handlerFile = await generateHandlerFile(outputDir, file, exportName, provider, routeInfo, envParserPath, envParserImportPattern);
51
- routes.push({
52
- ...routeInfo,
53
- handler: relative(process.cwd(), handlerFile).replace(/\.ts$/, ".handler")
54
- });
55
- logger.log(`Generated handler for ${routeInfo.method} ${routeInfo.path}`);
56
- }
57
- const manifest = { routes };
58
- const manifestPath = join(outputDir, "routes.json");
59
- await writeFile(manifestPath, JSON.stringify(manifest, null, 2));
60
- logger.log(`Generated ${routes.length} handlers in ${relative(process.cwd(), outputDir)}`);
61
- logger.log(`Routes manifest: ${relative(process.cwd(), manifestPath)}`);
62
- }
63
- }
64
- async function generateServerFile(outputDir, endpoints, envParserPath, envParserImportPattern, loggerPath, loggerImportPattern, enableOpenApi) {
65
- const serverFileName = "app.ts";
66
- const serverPath = join(outputDir, serverFileName);
67
- const importsByFile = /* @__PURE__ */ new Map();
68
- for (const { file, exportName } of endpoints) {
69
- const relativePath = relative(dirname(serverPath), file);
70
- const importPath = relativePath.replace(/\.ts$/, ".js");
71
- if (!importsByFile.has(importPath)) importsByFile.set(importPath, []);
72
- importsByFile.get(importPath).push(exportName);
73
- }
74
- const relativeEnvParserPath = relative(dirname(serverPath), envParserPath);
75
- const relativeLoggerPath = relative(dirname(serverPath), loggerPath);
76
- const imports = Array.from(importsByFile.entries()).map(([importPath, exports]) => `import { ${exports.join(", ")} } from '${importPath}';`).join("\n");
77
- const allExportNames = endpoints.map(({ exportName }) => exportName);
78
- const content = `import { HonoEndpoint } from '@geekmidas/api/hono';
79
- import { Endpoint } from '@geekmidas/api/server';
80
- import { ServiceDiscovery } from '@geekmidas/api/services';
81
- import { Hono } from 'hono';
82
- import ${envParserImportPattern} from '${relativeEnvParserPath}';
83
- import ${loggerImportPattern} from '${relativeLoggerPath}';
84
- ${imports}
85
-
86
- export function createApp(app?: Hono, enableOpenApi: boolean = ${enableOpenApi}): Hono {
87
- const honoApp = app || new Hono();
88
-
89
- const endpoints: Endpoint<any, any, any, any, any, any, any>[] = [
90
- ${allExportNames.join(",\n ")}
91
- ];
92
-
93
- const serviceDiscovery = ServiceDiscovery.getInstance(
94
- logger,
95
- envParser
96
- );
97
-
98
- // Configure OpenAPI options based on enableOpenApi flag
99
- const openApiOptions: any = enableOpenApi ? {
100
- docsPath: '/docs',
101
- openApiOptions: {
102
- title: 'API Documentation',
103
- version: '1.0.0',
104
- description: 'Generated API documentation'
105
- }
106
- } : { docsPath: false };
107
-
108
- HonoEndpoint.addRoutes(endpoints, serviceDiscovery, honoApp, openApiOptions);
109
-
110
- return honoApp;
111
- }
112
-
113
- // Default export for convenience
114
- export default createApp;
115
- `;
116
- await writeFile(serverPath, content);
117
- return serverPath;
118
- }
119
- async function generateHandlerFile(outputDir, sourceFile, exportName, provider, _routeInfo, envParserPath, envParserImportPattern) {
120
- const handlerFileName = `${exportName}.ts`;
121
- const handlerPath = join(outputDir, handlerFileName);
122
- const relativePath = relative(dirname(handlerPath), sourceFile);
123
- const importPath = relativePath.replace(/\.ts$/, ".js");
124
- const relativeEnvParserPath = relative(dirname(handlerPath), envParserPath);
125
- let content;
126
- switch (provider) {
127
- case "aws-apigatewayv1":
128
- content = generateAWSApiGatewayV1Handler(importPath, exportName, relativeEnvParserPath, envParserImportPattern);
129
- break;
130
- case "aws-apigatewayv2":
131
- content = generateAWSApiGatewayV2Handler(importPath, exportName, relativeEnvParserPath, envParserImportPattern);
132
- break;
133
- case "server":
134
- content = generateServerHandler(importPath, exportName);
135
- break;
136
- default: throw new Error(`Unsupported provider: ${provider}`);
137
- }
138
- await writeFile(handlerPath, content);
139
- return handlerPath;
140
- }
141
- function generateAWSApiGatewayV1Handler(importPath, exportName, envParserPath, envParserImportPattern) {
142
- return `import { AmazonApiGatewayV1Endpoint } from '@geekmidas/api/aws-apigateway';
143
- import { ${exportName} } from '${importPath}';
144
- import ${envParserImportPattern} from '${envParserPath}';
145
-
146
- const adapter = new AmazonApiGatewayV1Endpoint(envParser, ${exportName});
147
-
148
- export const handler = adapter.handler;
149
- `;
150
- }
151
- function generateAWSApiGatewayV2Handler(importPath, exportName, envParserPath, envParserImportPattern) {
152
- return `import { AmazonApiGatewayV2Endpoint } from '@geekmidas/api/aws-apigateway';
153
- import { ${exportName} } from '${importPath}';
154
- import ${envParserImportPattern} from '${envParserPath}';
155
-
156
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, ${exportName});
157
-
158
- export const handler = adapter.handler;
159
- `;
160
- }
161
- function generateServerHandler(importPath, exportName) {
162
- return `import { ${exportName} } from '${importPath}';
163
-
164
- // Server handler - implement based on your server framework
165
- export const handler = ${exportName};
166
- `;
167
- }
168
-
169
- //#endregion
170
- export { buildCommand };
package/dist/build.cjs DELETED
@@ -1,5 +0,0 @@
1
- require('./config-BNqUMsvc.cjs');
2
- require('./loadEndpoints-BBIavB9h.cjs');
3
- const require_build = require('./build-BTggTCYL.cjs');
4
-
5
- exports.buildCommand = require_build.buildCommand;
package/dist/build.mjs DELETED
@@ -1,5 +0,0 @@
1
- import "./config-BciAdY6_.mjs";
2
- import "./loadEndpoints-DAZ53Og2.mjs";
3
- import { buildCommand } from "./build-Ca4P6_lY.mjs";
4
-
5
- export { buildCommand };
@@ -1,24 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const path = require_chunk.__toESM(require("path"));
3
- const fs = require_chunk.__toESM(require("fs"));
4
- const fs_promises = require_chunk.__toESM(require("fs/promises"));
5
-
6
- //#region src/config.ts
7
- async function loadConfig() {
8
- const configPath = (0, path.join)(process.cwd(), "gkm.config.json");
9
- if (!(0, fs.existsSync)(configPath)) throw new Error("gkm.config.json not found. Please create a configuration file.");
10
- try {
11
- const config = await (0, fs_promises.readFile)(configPath, "utf-8");
12
- return JSON.parse(config);
13
- } catch (error) {
14
- throw new Error(`Failed to load gkm.config.json: ${error.message}`);
15
- }
16
- }
17
-
18
- //#endregion
19
- Object.defineProperty(exports, 'loadConfig', {
20
- enumerable: true,
21
- get: function () {
22
- return loadConfig;
23
- }
24
- });
@@ -1,18 +0,0 @@
1
- import { join } from "path";
2
- import { existsSync } from "fs";
3
- import { readFile } from "fs/promises";
4
-
5
- //#region src/config.ts
6
- async function loadConfig() {
7
- const configPath = join(process.cwd(), "gkm.config.json");
8
- if (!existsSync(configPath)) throw new Error("gkm.config.json not found. Please create a configuration file.");
9
- try {
10
- const config = await readFile(configPath, "utf-8");
11
- return JSON.parse(config);
12
- } catch (error) {
13
- throw new Error(`Failed to load gkm.config.json: ${error.message}`);
14
- }
15
- }
16
-
17
- //#endregion
18
- export { loadConfig };
@@ -1,37 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const __geekmidas_api_server = require_chunk.__toESM(require("@geekmidas/api/server"));
3
- const fast_glob = require_chunk.__toESM(require("fast-glob"));
4
-
5
- //#region src/loadEndpoints.ts
6
- async function loadEndpoints(routes) {
7
- const logger = console;
8
- const files = await fast_glob.default.stream(routes, {
9
- cwd: process.cwd(),
10
- absolute: true
11
- });
12
- const endpoints = [];
13
- for await (const f of files) try {
14
- const file = f.toString();
15
- const module$1 = await import(file);
16
- for (const [exportName, exportValue] of Object.entries(module$1)) if (__geekmidas_api_server.Endpoint.isEndpoint(exportValue)) {
17
- exportValue.operationId = exportName;
18
- endpoints.push({
19
- name: exportName,
20
- endpoint: exportValue,
21
- file
22
- });
23
- }
24
- } catch (error) {
25
- logger.warn(`Failed to load ${f}:`, error.message);
26
- throw new Error("Failed to load endpoints. Please check the logs for details.");
27
- }
28
- return endpoints;
29
- }
30
-
31
- //#endregion
32
- Object.defineProperty(exports, 'loadEndpoints', {
33
- enumerable: true,
34
- get: function () {
35
- return loadEndpoints;
36
- }
37
- });
@@ -1,31 +0,0 @@
1
- import { Endpoint } from "@geekmidas/api/server";
2
- import fg from "fast-glob";
3
-
4
- //#region src/loadEndpoints.ts
5
- async function loadEndpoints(routes) {
6
- const logger = console;
7
- const files = await fg.stream(routes, {
8
- cwd: process.cwd(),
9
- absolute: true
10
- });
11
- const endpoints = [];
12
- for await (const f of files) try {
13
- const file = f.toString();
14
- const module = await import(file);
15
- for (const [exportName, exportValue] of Object.entries(module)) if (Endpoint.isEndpoint(exportValue)) {
16
- exportValue.operationId = exportName;
17
- endpoints.push({
18
- name: exportName,
19
- endpoint: exportValue,
20
- file
21
- });
22
- }
23
- } catch (error) {
24
- logger.warn(`Failed to load ${f}:`, error.message);
25
- throw new Error("Failed to load endpoints. Please check the logs for details.");
26
- }
27
- return endpoints;
28
- }
29
-
30
- //#endregion
31
- export { loadEndpoints };
@@ -1,3 +0,0 @@
1
- const require_loadEndpoints = require('./loadEndpoints-BBIavB9h.cjs');
2
-
3
- exports.loadEndpoints = require_loadEndpoints.loadEndpoints;
@@ -1,3 +0,0 @@
1
- import { loadEndpoints } from "./loadEndpoints-DAZ53Og2.mjs";
2
-
3
- export { loadEndpoints };