@ingenyus/swarm-wasp 0.1.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 (126) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +34 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/common/filesystem.d.ts +87 -0
  5. package/dist/common/filesystem.d.ts.map +1 -0
  6. package/dist/common/index.d.ts +6 -0
  7. package/dist/common/index.d.ts.map +1 -0
  8. package/dist/common/plugin.d.ts +2 -0
  9. package/dist/common/plugin.d.ts.map +1 -0
  10. package/dist/common/prisma.d.ts +80 -0
  11. package/dist/common/prisma.d.ts.map +1 -0
  12. package/dist/common/schemas.d.ts +50 -0
  13. package/dist/common/schemas.d.ts.map +1 -0
  14. package/dist/common/templates.d.ts +15 -0
  15. package/dist/common/templates.d.ts.map +1 -0
  16. package/dist/generators/action/action-generator.d.ts +36 -0
  17. package/dist/generators/action/action-generator.d.ts.map +1 -0
  18. package/dist/generators/action/index.d.ts +2 -0
  19. package/dist/generators/action/index.d.ts.map +1 -0
  20. package/dist/generators/action/schema.d.ts +27 -0
  21. package/dist/generators/action/schema.d.ts.map +1 -0
  22. package/dist/generators/api/api-generator.d.ts +37 -0
  23. package/dist/generators/api/api-generator.d.ts.map +1 -0
  24. package/dist/generators/api/index.d.ts +2 -0
  25. package/dist/generators/api/index.d.ts.map +1 -0
  26. package/dist/generators/api/schema.d.ts +26 -0
  27. package/dist/generators/api/schema.d.ts.map +1 -0
  28. package/dist/generators/api/templates/api.eta +6 -0
  29. package/dist/generators/api/templates/config/api.eta +11 -0
  30. package/dist/generators/api-namespace/api-namespace-generator.d.ts +28 -0
  31. package/dist/generators/api-namespace/api-namespace-generator.d.ts.map +1 -0
  32. package/dist/generators/api-namespace/index.d.ts +2 -0
  33. package/dist/generators/api-namespace/index.d.ts.map +1 -0
  34. package/dist/generators/api-namespace/schema.d.ts +16 -0
  35. package/dist/generators/api-namespace/schema.d.ts.map +1 -0
  36. package/dist/generators/api-namespace/templates/config/api-namespace.eta +3 -0
  37. package/dist/generators/api-namespace/templates/middleware.eta +19 -0
  38. package/dist/generators/args.types.d.ts +85 -0
  39. package/dist/generators/args.types.d.ts.map +1 -0
  40. package/dist/generators/base/entity-generator.base.d.ts +57 -0
  41. package/dist/generators/base/entity-generator.base.d.ts.map +1 -0
  42. package/dist/generators/base/index.d.ts +3 -0
  43. package/dist/generators/base/index.d.ts.map +1 -0
  44. package/dist/generators/base/operation-generator.base.d.ts +60 -0
  45. package/dist/generators/base/operation-generator.base.d.ts.map +1 -0
  46. package/dist/generators/base/wasp-generator.base.d.ts +47 -0
  47. package/dist/generators/base/wasp-generator.base.d.ts.map +1 -0
  48. package/dist/generators/config/config-generator.d.ts +17 -0
  49. package/dist/generators/config/config-generator.d.ts.map +1 -0
  50. package/dist/generators/config/index.d.ts +3 -0
  51. package/dist/generators/config/index.d.ts.map +1 -0
  52. package/dist/generators/config/templates/api-namespace.eta +3 -0
  53. package/dist/generators/config/templates/api.eta +11 -0
  54. package/dist/generators/config/templates/crud.eta +4 -0
  55. package/dist/generators/config/templates/job.eta +9 -0
  56. package/dist/generators/config/templates/operation.eta +6 -0
  57. package/dist/generators/config/templates/route.eta +4 -0
  58. package/dist/generators/config/wasp-config-generator.d.ts +92 -0
  59. package/dist/generators/config/wasp-config-generator.d.ts.map +1 -0
  60. package/dist/generators/crud/crud-generator.d.ts +40 -0
  61. package/dist/generators/crud/crud-generator.d.ts.map +1 -0
  62. package/dist/generators/crud/index.d.ts +2 -0
  63. package/dist/generators/crud/index.d.ts.map +1 -0
  64. package/dist/generators/crud/schema.d.ts +22 -0
  65. package/dist/generators/crud/schema.d.ts.map +1 -0
  66. package/dist/generators/crud/templates/config/crud.eta +4 -0
  67. package/dist/generators/crud/templates/crud.eta +2 -0
  68. package/dist/generators/feature-directory/feature-directory-generator.d.ts +18 -0
  69. package/dist/generators/feature-directory/feature-directory-generator.d.ts.map +1 -0
  70. package/dist/generators/feature-directory/index.d.ts +2 -0
  71. package/dist/generators/feature-directory/index.d.ts.map +1 -0
  72. package/dist/generators/feature-directory/schema.d.ts +8 -0
  73. package/dist/generators/feature-directory/schema.d.ts.map +1 -0
  74. package/dist/generators/feature-directory/templates/feature.wasp.eta +22 -0
  75. package/dist/generators/index.d.ts +10 -0
  76. package/dist/generators/index.d.ts.map +1 -0
  77. package/dist/generators/job/index.d.ts +2 -0
  78. package/dist/generators/job/index.d.ts.map +1 -0
  79. package/dist/generators/job/job-generator.d.ts +35 -0
  80. package/dist/generators/job/job-generator.d.ts.map +1 -0
  81. package/dist/generators/job/schema.d.ts +22 -0
  82. package/dist/generators/job/schema.d.ts.map +1 -0
  83. package/dist/generators/job/templates/config/job.eta +9 -0
  84. package/dist/generators/job/templates/job.eta +5 -0
  85. package/dist/generators/operation/templates/config/operation.eta +6 -0
  86. package/dist/generators/operation/templates/create.eta +17 -0
  87. package/dist/generators/operation/templates/delete.eta +21 -0
  88. package/dist/generators/operation/templates/get.eta +19 -0
  89. package/dist/generators/operation/templates/getAll.eta +13 -0
  90. package/dist/generators/operation/templates/getFiltered.eta +17 -0
  91. package/dist/generators/operation/templates/update.eta +26 -0
  92. package/dist/generators/query/index.d.ts +2 -0
  93. package/dist/generators/query/index.d.ts.map +1 -0
  94. package/dist/generators/query/query-generator.d.ts +36 -0
  95. package/dist/generators/query/query-generator.d.ts.map +1 -0
  96. package/dist/generators/query/schema.d.ts +27 -0
  97. package/dist/generators/query/schema.d.ts.map +1 -0
  98. package/dist/generators/route/index.d.ts +2 -0
  99. package/dist/generators/route/index.d.ts.map +1 -0
  100. package/dist/generators/route/route-generator.d.ts +32 -0
  101. package/dist/generators/route/route-generator.d.ts.map +1 -0
  102. package/dist/generators/route/schema.d.ts +19 -0
  103. package/dist/generators/route/schema.d.ts.map +1 -0
  104. package/dist/generators/route/templates/config/route.eta +4 -0
  105. package/dist/generators/route/templates/page.eta +10 -0
  106. package/dist/index.d.ts +12 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +2718 -0
  109. package/dist/plugin.d.ts +6 -0
  110. package/dist/plugin.d.ts.map +1 -0
  111. package/dist/types/constants.d.ts +102 -0
  112. package/dist/types/constants.d.ts.map +1 -0
  113. package/dist/types/constants.js +63 -0
  114. package/dist/types/index.d.ts +4 -0
  115. package/dist/types/index.d.ts.map +1 -0
  116. package/dist/types/index.js +63 -0
  117. package/dist/types/prisma.types.d.ts +23 -0
  118. package/dist/types/prisma.types.d.ts.map +1 -0
  119. package/dist/types/prisma.types.js +0 -0
  120. package/dist/wasp-config/app.d.ts +146 -0
  121. package/dist/wasp-config/app.d.ts.map +1 -0
  122. package/dist/wasp-config/index.d.ts +3 -0
  123. package/dist/wasp-config/index.d.ts.map +1 -0
  124. package/dist/wasp-config/stubs/index.d.ts +180 -0
  125. package/dist/wasp-config/stubs/index.d.ts.map +1 -0
  126. package/package.json +92 -0
@@ -0,0 +1,36 @@
1
+ import { ActionFlags } from '../../generators/args.types';
2
+ import { CONFIG_TYPES } from '../../types';
3
+ import { OperationGeneratorBase } from '../base';
4
+ export declare class ActionGenerator extends OperationGeneratorBase<typeof CONFIG_TYPES.ACTION> {
5
+ protected get entityType(): "Action";
6
+ description: string;
7
+ schema: import("zod").ZodObject<{
8
+ feature: import("zod").ZodString & {
9
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
10
+ };
11
+ operation: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<"create" | "update" | "delete", string>> & {
12
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
13
+ };
14
+ dataType: import("zod").ZodString & {
15
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
16
+ };
17
+ name: import("zod").ZodOptional<import("zod").ZodString & {
18
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
19
+ }> & {
20
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
21
+ };
22
+ entities: import("zod").ZodOptional<import("zod").ZodString> & {
23
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
24
+ };
25
+ force: import("zod").ZodOptional<import("zod").ZodBoolean> & {
26
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
27
+ };
28
+ auth: import("zod").ZodOptional<import("zod").ZodBoolean> & {
29
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
30
+ };
31
+ }, import("zod/v4/core").$strip>;
32
+ generate(flags: Omit<ActionFlags, 'name'> & {
33
+ name?: string;
34
+ }): Promise<void>;
35
+ }
36
+ //# sourceMappingURL=action-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/action/action-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGjD,qBAAa,eAAgB,SAAQ,sBAAsB,CACzD,OAAO,YAAY,CAAC,MAAM,CAC3B;IACC,SAAS,KAAK,UAAU,aAEvB;IAED,WAAW,SAAwD;IACnE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;qCAAU;IAEV,QAAQ,CACZ,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,OAAO,CAAC,IAAI,CAAC;CAiEjB"}
@@ -0,0 +1,2 @@
1
+ export { ActionGenerator } from './action-generator';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/action/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ export declare const schema: z.ZodObject<{
3
+ feature: z.ZodString & {
4
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
5
+ };
6
+ operation: z.ZodPipe<z.ZodString, z.ZodTransform<"create" | "update" | "delete", string>> & {
7
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
8
+ };
9
+ dataType: z.ZodString & {
10
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
11
+ };
12
+ name: z.ZodOptional<z.ZodString & {
13
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
14
+ }> & {
15
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
16
+ };
17
+ entities: z.ZodOptional<z.ZodString> & {
18
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
19
+ };
20
+ force: z.ZodOptional<z.ZodBoolean> & {
21
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
22
+ };
23
+ auth: z.ZodOptional<z.ZodBoolean> & {
24
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
25
+ };
26
+ }, z.core.$strip>;
27
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/generators/action/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmCxB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;iBAQjB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { ApiFlags } from '../../generators/args.types';
2
+ import { CONFIG_TYPES } from '../../types';
3
+ import { EntityGeneratorBase } from '../base';
4
+ export declare class ApiGenerator extends EntityGeneratorBase<typeof CONFIG_TYPES.API> {
5
+ protected get entityType(): "Api";
6
+ description: string;
7
+ schema: import("zod").ZodObject<{
8
+ method: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<"DELETE" | "GET" | "ALL" | "POST" | "PUT", string>> & {
9
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
10
+ };
11
+ feature: import("zod").ZodString & {
12
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
13
+ };
14
+ name: import("zod").ZodString & {
15
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
16
+ };
17
+ path: import("zod").ZodString & {
18
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
19
+ };
20
+ entities: import("zod").ZodOptional<import("zod").ZodString> & {
21
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
22
+ };
23
+ auth: import("zod").ZodOptional<import("zod").ZodBoolean> & {
24
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
25
+ };
26
+ force: import("zod").ZodOptional<import("zod").ZodBoolean> & {
27
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
28
+ };
29
+ customMiddleware: import("zod").ZodOptional<import("zod").ZodBoolean>;
30
+ }, import("zod/v4/core").$strip>;
31
+ generate(flags: ApiFlags): Promise<void>;
32
+ private generateApiFile;
33
+ private updateConfigFile;
34
+ private getConfigDefinition;
35
+ private buildTemplateData;
36
+ }
37
+ //# sourceMappingURL=api-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/api/api-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,qBAAa,YAAa,SAAQ,mBAAmB,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC;IAC5E,SAAS,KAAK,UAAU,UAEvB;IAED,WAAW,SAAkD;IAC7D,MAAM;;;;;;;;;;;;;;;;;;;;;;;qCAAU;IAEV,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAqChC,eAAe;YAgBf,gBAAgB;YAgChB,mBAAmB;IA2BjC,OAAO,CAAC,iBAAiB;CA+B1B"}
@@ -0,0 +1,2 @@
1
+ export { ApiGenerator } from './api-generator';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ export declare const schema: z.ZodObject<{
3
+ method: z.ZodPipe<z.ZodString, z.ZodTransform<"DELETE" | "GET" | "ALL" | "POST" | "PUT", string>> & {
4
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
5
+ };
6
+ feature: z.ZodString & {
7
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
8
+ };
9
+ name: z.ZodString & {
10
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
11
+ };
12
+ path: z.ZodString & {
13
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
14
+ };
15
+ entities: z.ZodOptional<z.ZodString> & {
16
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
17
+ };
18
+ auth: z.ZodOptional<z.ZodBoolean> & {
19
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
20
+ };
21
+ force: z.ZodOptional<z.ZodBoolean> & {
22
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
23
+ };
24
+ customMiddleware: z.ZodOptional<z.ZodBoolean>;
25
+ }, z.core.$strip>;
26
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/generators/api/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;iBAuBjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ <%=imports%>
2
+
3
+ export const <%=apiName%>: <%=apiType%> = async (req, res, context) => {
4
+ <%=authCheck%><%=methodCheck%> // TODO: Implement your API logic here
5
+ res.json({ message: "OK" });
6
+ };
@@ -0,0 +1,11 @@
1
+ .addApi(feature, "<%=apiName%>", {
2
+ method: "<%=method%>",
3
+ route: "<%=route%>",
4
+ <%- if (entities.length > 0) { %>
5
+ entities: [<%=entities%>],
6
+ <%- } %>
7
+ auth: <%=auth%>,
8
+ <%- if (customMiddleware) { %>
9
+ customMiddleware: true,
10
+ <%- } %>
11
+ })
@@ -0,0 +1,28 @@
1
+ import { ApiNamespaceFlags } from '../../generators/args.types';
2
+ import { CONFIG_TYPES } from '../../types';
3
+ import { EntityGeneratorBase } from '../base';
4
+ export declare class ApiNamespaceGenerator extends EntityGeneratorBase<typeof CONFIG_TYPES.API_NAMESPACE> {
5
+ protected get entityType(): "ApiNamespace";
6
+ description: string;
7
+ schema: import("zod").ZodObject<{
8
+ feature: import("zod").ZodString & {
9
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
10
+ };
11
+ name: import("zod").ZodString & {
12
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
13
+ };
14
+ path: import("zod").ZodString & {
15
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
16
+ };
17
+ force: import("zod").ZodOptional<import("zod").ZodBoolean> & {
18
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
19
+ };
20
+ }, import("zod/v4/core").$strip>;
21
+ generate(flags: ApiNamespaceFlags): Promise<void>;
22
+ private updateConfigFile;
23
+ /**
24
+ * Generates an apiNamespace definition for the feature configuration.
25
+ */
26
+ getDefinition(namespaceName: string, middlewareImportPath: string, pathValue: string): Promise<string>;
27
+ }
28
+ //# sourceMappingURL=api-namespace-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-namespace-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/api-namespace/api-namespace-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,qBAAa,qBAAsB,SAAQ,mBAAmB,CAC5D,OAAO,YAAY,CAAC,aAAa,CAClC;IACC,SAAS,KAAK,UAAU,mBAEvB;IAED,WAAW,SAAmD;IAC9D,MAAM;;;;;;;;;;;;;qCAAU;IAEV,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAgCzC,gBAAgB;IA0B9B;;OAEG;IACG,aAAa,CACjB,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CAanB"}
@@ -0,0 +1,2 @@
1
+ export { ApiNamespaceGenerator } from './api-namespace-generator';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/api-namespace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const schema: z.ZodObject<{
3
+ feature: z.ZodString & {
4
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
5
+ };
6
+ name: z.ZodString & {
7
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
8
+ };
9
+ path: z.ZodString & {
10
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
11
+ };
12
+ force: z.ZodOptional<z.ZodBoolean> & {
13
+ _metadata: import("@ingenyus/swarm").FieldMetadata;
14
+ };
15
+ }, z.core.$strip>;
16
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/generators/api-namespace/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,MAAM;;;;;;;;;;;;;iBAKjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ .addApiNamespace(feature, "<%=namespaceName%>", {
2
+ path: "<%=pathValue%>",
3
+ })
@@ -0,0 +1,19 @@
1
+ <% if (middlewareType === 'apiNamespace') { -%>
2
+ import type { RequestHandler } from "express";
3
+ <% } -%>
4
+ import type { MiddlewareConfigFn } from "wasp/server";
5
+
6
+ export const <%=name%>: MiddlewareConfigFn = (middlewareConfig) => {
7
+ <%- if (middlewareType === 'apiNamespace') { %>
8
+ const <%=name%>Middleware: RequestHandler = (_req, _res, next) => {
9
+ // TODO: Add your custom logic here
10
+ next();
11
+ };
12
+
13
+ middlewareConfig.set("<%=name%>.middleware", <%=name%>Middleware);
14
+ <%- } else { %>
15
+ // TODO: Add your custom logic here
16
+ <%- } %>
17
+
18
+ return middlewareConfig;
19
+ };
@@ -0,0 +1,85 @@
1
+ import { ActionOperation, CrudOperation, HttpMethod, QueryOperation } from '../types';
2
+ /**
3
+ * Common flags used across different generators
4
+ * @interface CommonGeneratorFlags
5
+ */
6
+ interface CommonGeneratorFlags {
7
+ /** Feature path/name */
8
+ feature: string;
9
+ /** Resource name (API, Job, Route, etc.) */
10
+ name: string;
11
+ /** Data type/model name */
12
+ dataType: string;
13
+ /** Operation type (for queries/actions) */
14
+ operation: ActionOperation | QueryOperation;
15
+ /** HTTP method (for APIs) */
16
+ method: HttpMethod;
17
+ /** Route/API path */
18
+ path: string;
19
+ /** Route path (alias for path) */
20
+ route: string;
21
+ /** Entities to include */
22
+ entities?: string | string[];
23
+ /** Force overwrite existing files */
24
+ force?: boolean;
25
+ /** Require authentication */
26
+ auth?: boolean;
27
+ /** Cron schedule (for jobs) */
28
+ cron?: string;
29
+ /** Schedule arguments (for jobs) */
30
+ args?: string;
31
+ /** Public operations (for CRUD) */
32
+ public?: CrudOperation[];
33
+ /** Override operations (for CRUD) */
34
+ override?: CrudOperation[];
35
+ /** Exclude operations (for CRUD) */
36
+ exclude?: CrudOperation[];
37
+ /** Enable custom middleware for API definitions */
38
+ customMiddleware?: boolean;
39
+ }
40
+ /**
41
+ * Operation-specific flags
42
+ */
43
+ export type OperationFlags = Pick<CommonGeneratorFlags, 'feature' | 'entities' | 'force' | 'auth' | 'operation' | 'dataType'>;
44
+ /**
45
+ * Action-specific flags
46
+ */
47
+ export type ActionFlags = Pick<CommonGeneratorFlags, 'feature' | 'entities' | 'force' | 'auth' | 'dataType' | 'name'> & {
48
+ operation: ActionOperation;
49
+ };
50
+ /**
51
+ * Query-specific flags
52
+ */
53
+ export type QueryFlags = Pick<CommonGeneratorFlags, 'feature' | 'entities' | 'force' | 'auth' | 'dataType' | 'name'> & {
54
+ operation: QueryOperation;
55
+ };
56
+ /**
57
+ * API-specific flags
58
+ */
59
+ export type ApiFlags = Pick<CommonGeneratorFlags, 'feature' | 'name' | 'method' | 'route' | 'force' | 'entities' | 'auth' | 'customMiddleware'>;
60
+ /**
61
+ * Job-specific flags
62
+ */
63
+ export type JobFlags = Pick<CommonGeneratorFlags, 'feature' | 'name' | 'entities' | 'cron' | 'args' | 'force'>;
64
+ /**
65
+ * Route-specific flags
66
+ */
67
+ export type RouteFlags = Pick<CommonGeneratorFlags, 'feature' | 'name' | 'force' | 'auth' | 'path'>;
68
+ /**
69
+ * CRUD-specific flags
70
+ */
71
+ export type CrudFlags = Pick<CommonGeneratorFlags, 'feature' | 'public' | 'override' | 'exclude' | 'force' | 'dataType' | 'auth'>;
72
+ /**
73
+ * ApiNamespace-specific flags
74
+ */
75
+ export type ApiNamespaceFlags = Pick<CommonGeneratorFlags, 'feature' | 'name' | 'path' | 'force'>;
76
+ /**
77
+ * Represents a configuration entry for an operation.
78
+ */
79
+ export interface OperationConfigEntry {
80
+ operationName: string;
81
+ entities: string[];
82
+ authRequired: boolean;
83
+ }
84
+ export {};
85
+ //# sourceMappingURL=args.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.types.d.ts","sourceRoot":"","sources":["../../src/generators/args.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { FileSystem, Logger, SwarmGenerator } from '@ingenyus/swarm';
2
+ import { ConfigType, GetFlagsType } from '../../types';
3
+ import { SchemaArgs as FeatureSchemaArgs } from '../feature-directory/schema';
4
+ import { WaspGeneratorBase } from './wasp-generator.base';
5
+ /**
6
+ * Abstract base class for all entity generators
7
+ */
8
+ export declare abstract class EntityGeneratorBase<TArgs extends ConfigType> extends WaspGeneratorBase<TArgs> {
9
+ logger: Logger;
10
+ fileSystem: FileSystem;
11
+ protected featureDirectoryGenerator: SwarmGenerator<FeatureSchemaArgs>;
12
+ protected abstract entityType: TArgs;
13
+ protected getDefaultTemplatePath(templateName: string): string;
14
+ constructor(logger?: Logger, fileSystem?: FileSystem, featureDirectoryGenerator?: SwarmGenerator<FeatureSchemaArgs>);
15
+ get name(): string;
16
+ abstract generate(flags: GetFlagsType<TArgs>): Promise<void> | void;
17
+ /**
18
+ * Validates that the feature config file exists in the target or ancestor directories
19
+ */
20
+ protected validateFeatureConfig(featurePath: string): string;
21
+ /**
22
+ * Checks if a config item already exists in the feature config
23
+ */
24
+ protected checkConfigExists(configPath: string, methodName: string, itemName: string, force: boolean): boolean;
25
+ /**
26
+ * Updates the feature config with a new definition
27
+ */
28
+ protected updateFeatureConfig(featurePath: string, definition: string, configPath: string, configExists: boolean, methodName: string): void;
29
+ /**
30
+ * Consolidated helper for updating config files with existence check
31
+ * This replaces the duplicated updateConfigFile pattern in concrete generators
32
+ */
33
+ protected updateConfigWithCheck(configPath: string, methodName: string, entityName: string, definition: string, featurePath: string, force: boolean): void;
34
+ /**
35
+ * Gets the appropriate directory for a feature based on its path.
36
+ * @param fileSystem - The filesystem abstraction
37
+ * @param featurePath - The full feature path
38
+ * @param type - The type of file being generated
39
+ * @returns The target directory and import path
40
+ */
41
+ protected getFeatureTargetDir(fileSystem: FileSystem, featurePath: string, type: string): {
42
+ targetDirectory: string;
43
+ importDirectory: string;
44
+ };
45
+ /**
46
+ * Ensures a target directory exists and returns its path
47
+ */
48
+ protected ensureTargetDirectory(featurePath: string, type: string): {
49
+ targetDirectory: string;
50
+ importDirectory: string;
51
+ };
52
+ /**
53
+ * Generate middleware file for API or API namespace
54
+ */
55
+ protected generateMiddlewareFile(targetFile: string, name: string, force: boolean): Promise<void>;
56
+ }
57
+ //# sourceMappingURL=entity-generator.base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-generator.base.d.ts","sourceRoot":"","sources":["../../../src/generators/base/entity-generator.base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,MAAM,EAEN,cAAc,EAIf,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoB,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;GAEG;AACH,8BAAsB,mBAAmB,CACvC,KAAK,SAAS,UAAU,CACxB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAYvB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,UAAU;IAC7B,SAAS,CAAC,yBAAyB,EAAE,cAAc,CAAC,iBAAiB,CAAC;IAbxE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;IAErC,SAAS,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;gBASrD,MAAM,GAAE,MAA4B,EACpC,UAAU,GAAE,UAA2B,EACpC,yBAAyB,GAAE,cAAc,CAAC,iBAAiB,CAGpE;IAOH,IAAW,IAAI,IAAI,MAAM,CAExB;aAEe,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAE1E;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IA4B5D;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,GACb,OAAO;IAgBV;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,GACjB,IAAI;IAOP;;;OAGG;IACH,SAAS,CAAC,qBAAqB,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,GACb,IAAI;IAmBP;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAC3B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;IAavD;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;IAYjE;;OAEG;cACa,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC;CAcjB"}
@@ -0,0 +1,3 @@
1
+ export { EntityGeneratorBase } from './entity-generator.base';
2
+ export { OperationGeneratorBase } from './operation-generator.base';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { ActionOperation, CONFIG_TYPES, EntityMetadata, OperationType, QueryOperation } from '../../types';
2
+ import { OperationConfigEntry } from '../args.types';
3
+ import { EntityGeneratorBase } from './entity-generator.base';
4
+ /**
5
+ * Abstract base class for generators that need to generate operation files.
6
+ * Provides shared logic for operation file generation that can be used by
7
+ * both OperationGenerator and CrudGenerator.
8
+ */
9
+ export declare abstract class OperationGeneratorBase<TArgs extends typeof CONFIG_TYPES.ACTION | typeof CONFIG_TYPES.QUERY | typeof CONFIG_TYPES.CRUD> extends EntityGeneratorBase<TArgs> {
10
+ /**
11
+ * Gets the operation name based on operation type and model name.
12
+ */
13
+ getOperationName(operation: ActionOperation | QueryOperation, modelName: string, customName?: string): string;
14
+ /**
15
+ * Gets the template path for operation templates.
16
+ * This method resolves operation templates to the operation generator's directory
17
+ * instead of the current generator's directory.
18
+ */
19
+ protected getOperationTemplatePath(templateName: string): string;
20
+ /**
21
+ * Gets the TypeScript type name for an operation.
22
+ */
23
+ getOperationTypeName(operation: ActionOperation | QueryOperation, modelName: string): string;
24
+ /**
25
+ * Generates import statements for an operation.
26
+ */
27
+ generateImports(model: EntityMetadata, modelName: string, operation: ActionOperation | QueryOperation): string;
28
+ /**
29
+ * Gets the operation type ("query" or "action") for a given operation.
30
+ */
31
+ getOperationType(operation: ActionOperation | QueryOperation): 'query' | 'action';
32
+ /**
33
+ * Generates the operation components needed for file and config generation.
34
+ */
35
+ generateOperationComponents(modelName: string, operation: ActionOperation | QueryOperation, auth?: boolean, entities?: string[], isCrudOverride?: boolean, crudName?: string | null, customName?: string): Promise<{
36
+ operationCode: string;
37
+ configEntry: OperationConfigEntry;
38
+ operationType: string;
39
+ operationName: string;
40
+ }>;
41
+ /**
42
+ * Generates the code for an operation.
43
+ */
44
+ generateOperationCode(model: EntityMetadata, operation: ActionOperation | QueryOperation, auth?: boolean, isCrudOverride?: boolean, crudName?: string | null): Promise<string>;
45
+ /**
46
+ * Generates an operation file for a given operation.
47
+ */
48
+ protected generateOperationFile(operationsDir: string, operationName: string, operationCode: string, force?: boolean): void;
49
+ /**
50
+ * Copies a directory of operation templates to the target feature directory.
51
+ * @param templateDir - The source template directory
52
+ * @param targetDir - The target feature directory
53
+ */
54
+ copyOperationTemplates(templateDir: string, targetDir: string): void;
55
+ /**
56
+ * Generates an operation definition for the feature configuration.
57
+ */
58
+ getDefinition(operationName: string, featurePath: string, entities: string[], operationType: OperationType, importPath: string, auth?: boolean): string;
59
+ }
60
+ //# sourceMappingURL=operation-generator.base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-generator.base.d.ts","sourceRoot":"","sources":["../../../src/generators/base/operation-generator.base.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EAGd,aAAa,EACb,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;;GAIG;AACH,8BAAsB,sBAAsB,CAC1C,KAAK,SACD,OAAO,YAAY,CAAC,MAAM,GAC1B,OAAO,YAAY,CAAC,KAAK,GACzB,OAAO,YAAY,CAAC,IAAI,CAC5B,SAAQ,mBAAmB,CAAC,KAAK,CAAC;IAClC;;OAEG;IACH,gBAAgB,CACd,SAAS,EAAE,eAAe,GAAG,cAAc,EAC3C,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM;IAeT;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAShE;;OAEG;IACH,oBAAoB,CAClB,SAAS,EAAE,eAAe,GAAG,cAAc,EAC3C,SAAS,EAAE,MAAM,GAChB,MAAM;IAIT;;OAEG;IACH,eAAe,CACb,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,GAAG,cAAc,GAC1C,MAAM;IAsBT;;OAEG;IACH,gBAAgB,CACd,SAAS,EAAE,eAAe,GAAG,cAAc,GAC1C,OAAO,GAAG,QAAQ;IAQrB;;OAEG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,GAAG,cAAc,EAC3C,IAAI,UAAQ,EACZ,QAAQ,WAAc,EACtB,cAAc,UAAQ,EACtB,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,oBAAoB,CAAC;QAClC,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IA8BF;;OAEG;IACG,qBAAqB,CACzB,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,GAAG,cAAc,EAC3C,IAAI,UAAQ,EACZ,cAAc,UAAQ,EACtB,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC,MAAM,CAAC;IAwHlB;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,UAAQ,GACZ,IAAI;IAWP;;;;OAIG;IACI,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAO3E;;OAEG;IACH,aAAa,CACX,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,EAClB,IAAI,UAAQ,GACX,MAAM;CAwBV"}
@@ -0,0 +1,47 @@
1
+ import { FileSystem, GeneratorBase, Logger, TemplateResolver } from '@ingenyus/swarm';
2
+ import { TemplateUtility } from '../../common';
3
+ import { WaspConfigGenerator } from '../config';
4
+ /**
5
+ * Abstract base class for all Wasp generators
6
+ */
7
+ export declare abstract class WaspGeneratorBase<TArgs> extends GeneratorBase<TArgs> {
8
+ fileSystem: FileSystem;
9
+ logger: Logger;
10
+ protected configGenerator: WaspConfigGenerator;
11
+ protected templateUtility: TemplateUtility;
12
+ protected templateResolver: TemplateResolver;
13
+ private swarmConfig;
14
+ private configLoaded;
15
+ protected readonly pluginName: "wasp";
16
+ constructor(fileSystem?: FileSystem, logger?: Logger);
17
+ private loadSwarmConfig;
18
+ protected getCustomTemplateDir(): Promise<string | undefined>;
19
+ /**
20
+ * Abstract method to resolve templates relative to the implementing generator class
21
+ * @param templateName - The name of the template file (e.g., 'api.eta')
22
+ * @returns The full path to the template file
23
+ */
24
+ protected abstract getDefaultTemplatePath(templateName: string): string;
25
+ /**
26
+ * Resolves template path with override support
27
+ */
28
+ protected getTemplatePath(templateName: string): Promise<string>;
29
+ /**
30
+ * Processes a template and writes the result to a file
31
+ */
32
+ protected renderTemplateToFile(templateName: string, replacements: Record<string, any>, outputPath: string, readableFileType: string, force: boolean): Promise<boolean>;
33
+ /**
34
+ * Generic existence check with force flag handling
35
+ * Consolidates the pattern used in both file and config checks
36
+ */
37
+ protected checkExistence(exists: boolean, itemDescription: string, force: boolean, errorMessage?: string): boolean;
38
+ /**
39
+ * Checks if a file exists and handles force flag logic
40
+ */
41
+ protected checkFileExists(filePath: string, force: boolean, fileType: string): boolean;
42
+ /**
43
+ * Safely writes a file with proper error handling and logging
44
+ */
45
+ protected writeFile(filePath: string, content: string, fileType: string, fileExists: boolean): void;
46
+ }
47
+ //# sourceMappingURL=wasp-generator.base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasp-generator.base.d.ts","sourceRoot":"","sources":["../../../src/generators/base/wasp-generator.base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,MAAM,EAIN,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkB,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD;;GAEG;AACH,8BAAsB,iBAAiB,CAAC,KAAK,CAAE,SAAQ,aAAa,CAAC,KAAK,CAAC;IAWhE,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE,MAAM;IAXvB,SAAS,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC/C,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC7C,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAG7B,SAAS,CAAC,QAAQ,CAAC,UAAU,SAAe;gBAGnC,UAAU,GAAE,UAA2B,EACvC,MAAM,GAAE,MAA4B;YAQ/B,eAAe;cASb,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAMnE;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAEvE;;OAEG;cACa,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBtE;;OAEG;cACa,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC;IAiBnB;;;OAGG;IACH,SAAS,CAAC,cAAc,CACtB,MAAM,EAAE,OAAO,EACf,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO;IAQV;;OAEG;IACH,SAAS,CAAC,eAAe,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,OAAO;IAUV;;OAEG;IACH,SAAS,CAAC,SAAS,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,GAClB,IAAI;CAMR"}
@@ -0,0 +1,17 @@
1
+ import { Generator } from '@ingenyus/swarm';
2
+ /**
3
+ * Interface for Wasp configuration generators
4
+ * @interface ConfigGenerator
5
+ * @property {Generator<string>} Generator - The generator interface
6
+ * @property {string} update - The update method
7
+ */
8
+ export interface ConfigGenerator extends Generator<string> {
9
+ /**
10
+ * Updates a declaration in a Wasp configuration file
11
+ * @param featurePath - The path to the feature directory
12
+ * @param declaration - The declaration to add or update
13
+ * @returns The updated feature configuration file
14
+ */
15
+ update(featurePath: string, declaration: string): string;
16
+ }
17
+ //# sourceMappingURL=config-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/config/config-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,MAAM,CAAC;IACxD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1D"}
@@ -0,0 +1,3 @@
1
+ export type { ConfigGenerator } from './config-generator';
2
+ export { WaspConfigGenerator } from './wasp-config-generator';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/config/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ .addApiNamespace(feature, "<%=namespaceName%>", {
2
+ path: "<%=pathValue%>",
3
+ })
@@ -0,0 +1,11 @@
1
+ .addApi(feature, "<%=apiName%>", {
2
+ method: "<%=method%>",
3
+ route: "<%=route%>",
4
+ <%- if (entities.length > 0) { %>
5
+ entities: [<%=entities%>],
6
+ <%- } %>
7
+ auth: <%=auth%>,
8
+ <%- if (customMiddleware) { %>
9
+ customMiddleware: true,
10
+ <%- } %>
11
+ })
@@ -0,0 +1,4 @@
1
+ .addCrud(feature, "<%=crudName%>", {
2
+ entity: "<%=dataType%>",
3
+ <%=operations%>,
4
+ })
@@ -0,0 +1,9 @@
1
+ .addJob(feature, "<%=jobName%>", {
2
+ cron: "<%=cron%>",
3
+ <%- if (args !== '{}') { %>
4
+ args: <%=args%>,
5
+ <%- } %>
6
+ <%- if (entities.length > 0) { %>
7
+ entities: [<%=entities%>],
8
+ <%- } %>
9
+ })
@@ -0,0 +1,6 @@
1
+ .add<%=operationType%>(feature, "<%=operationName%>", {
2
+ <%- if (entities.length > 0) { %>
3
+ entities: [<%=entities%>],
4
+ <%- } %>
5
+ auth: <%=auth%>,
6
+ })