@ingenyus/swarm-wasp 0.1.0 → 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.
- package/README.md +229 -21
- package/dist/.tsbuildinfo +1 -1
- package/dist/common/filesystem.d.ts +0 -14
- package/dist/common/filesystem.d.ts.map +1 -1
- package/dist/common/filesystem.js +123 -0
- package/dist/common/index.js +391 -0
- package/dist/common/plugin.js +41 -0
- package/dist/common/prisma.js +140 -0
- package/dist/common/schemas.d.ts +8 -42
- package/dist/common/schemas.d.ts.map +1 -1
- package/dist/common/schemas.js +54 -0
- package/dist/common/templates.js +52 -0
- package/dist/generators/action/action-generator.d.ts +16 -29
- package/dist/generators/action/action-generator.d.ts.map +1 -1
- package/dist/generators/action/action-generator.js +1429 -0
- package/dist/generators/action/index.js +1429 -0
- package/dist/generators/action/schema.d.ts +11 -23
- package/dist/generators/action/schema.d.ts.map +1 -1
- package/dist/generators/action/schema.js +119 -0
- package/dist/generators/api/api-generator.d.ts +19 -26
- package/dist/generators/api/api-generator.d.ts.map +1 -1
- package/dist/generators/api/api-generator.js +1108 -0
- package/dist/generators/api/index.js +1108 -0
- package/dist/generators/api/schema.d.ts +13 -21
- package/dist/generators/api/schema.d.ts.map +1 -1
- package/dist/generators/api/schema.js +121 -0
- package/dist/generators/api-namespace/api-namespace-generator.d.ts +10 -17
- package/dist/generators/api-namespace/api-namespace-generator.d.ts.map +1 -1
- package/dist/generators/api-namespace/api-namespace-generator.js +1032 -0
- package/dist/generators/api-namespace/index.js +1032 -0
- package/dist/generators/api-namespace/schema.d.ts +4 -12
- package/dist/generators/api-namespace/schema.d.ts.map +1 -1
- package/dist/generators/api-namespace/schema.js +93 -0
- package/dist/generators/base/{entity-generator.base.d.ts → component-generator.base.d.ts} +9 -9
- package/dist/generators/base/component-generator.base.d.ts.map +1 -0
- package/dist/generators/base/component-generator.base.js +935 -0
- package/dist/generators/base/index.d.ts +1 -1
- package/dist/generators/base/index.d.ts.map +1 -1
- package/dist/generators/base/index.js +1334 -0
- package/dist/generators/base/operation-generator.base.d.ts +12 -3
- package/dist/generators/base/operation-generator.base.d.ts.map +1 -1
- package/dist/generators/base/operation-generator.base.js +1335 -0
- package/dist/generators/base/wasp-generator.base.d.ts +2 -1
- package/dist/generators/base/wasp-generator.base.d.ts.map +1 -1
- package/dist/generators/base/wasp-generator.base.js +710 -0
- package/dist/generators/config/config-generator.d.ts +7 -4
- package/dist/generators/config/config-generator.d.ts.map +1 -1
- package/dist/generators/config/config-generator.js +0 -0
- package/dist/generators/config/index.js +600 -0
- package/dist/generators/config/wasp-config-generator.d.ts +1 -1
- package/dist/generators/config/wasp-config-generator.d.ts.map +1 -1
- package/dist/generators/config/wasp-config-generator.js +600 -0
- package/dist/generators/crud/crud-generator.d.ts +34 -22
- package/dist/generators/crud/crud-generator.d.ts.map +1 -1
- package/dist/generators/crud/crud-generator.js +1554 -0
- package/dist/generators/crud/index.js +1554 -0
- package/dist/generators/crud/schema.d.ts +25 -18
- package/dist/generators/crud/schema.d.ts.map +1 -1
- package/dist/generators/crud/schema.js +137 -0
- package/dist/generators/feature/feature-generator.d.ts +20 -0
- package/dist/generators/feature/feature-generator.d.ts.map +1 -0
- package/dist/generators/feature/feature-generator.js +769 -0
- package/dist/generators/feature/index.d.ts +2 -0
- package/dist/generators/feature/index.d.ts.map +1 -0
- package/dist/generators/feature/index.js +769 -0
- package/dist/generators/feature/schema.d.ts +5 -0
- package/dist/generators/feature/schema.d.ts.map +1 -0
- package/dist/generators/feature/schema.js +90 -0
- package/dist/generators/index.d.ts +1 -1
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +2215 -0
- package/dist/generators/job/index.js +1103 -0
- package/dist/generators/job/job-generator.d.ts +12 -23
- package/dist/generators/job/job-generator.d.ts.map +1 -1
- package/dist/generators/job/job-generator.js +1103 -0
- package/dist/generators/job/schema.d.ts +6 -18
- package/dist/generators/job/schema.d.ts.map +1 -1
- package/dist/generators/job/schema.js +156 -0
- package/dist/generators/query/index.js +1429 -0
- package/dist/generators/query/query-generator.d.ts +16 -29
- package/dist/generators/query/query-generator.d.ts.map +1 -1
- package/dist/generators/query/query-generator.js +1429 -0
- package/dist/generators/query/schema.d.ts +11 -23
- package/dist/generators/query/schema.d.ts.map +1 -1
- package/dist/generators/query/schema.js +119 -0
- package/dist/generators/route/index.js +1042 -0
- package/dist/generators/route/route-generator.d.ts +11 -20
- package/dist/generators/route/route-generator.d.ts.map +1 -1
- package/dist/generators/route/route-generator.js +1042 -0
- package/dist/generators/route/schema.d.ts +5 -15
- package/dist/generators/route/schema.d.ts.map +1 -1
- package/dist/generators/route/schema.js +94 -0
- package/dist/index.d.ts +2 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1730 -1839
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/wasp.d.ts +3 -0
- package/dist/plugins/wasp.d.ts.map +1 -0
- package/dist/types/constants.d.ts +4 -22
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/constants.js +8 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +8 -2
- package/dist/wasp-config/app.d.ts +2 -1
- package/dist/wasp-config/app.d.ts.map +1 -1
- package/dist/wasp-config/app.js +357 -0
- package/dist/wasp-config/index.js +357 -0
- package/dist/wasp-config/stubs/index.js +48 -0
- package/package.json +5 -14
- package/dist/generators/args.types.d.ts +0 -85
- package/dist/generators/args.types.d.ts.map +0 -1
- package/dist/generators/base/entity-generator.base.d.ts.map +0 -1
- package/dist/generators/feature-directory/feature-directory-generator.d.ts +0 -18
- package/dist/generators/feature-directory/feature-directory-generator.d.ts.map +0 -1
- package/dist/generators/feature-directory/index.d.ts +0 -2
- package/dist/generators/feature-directory/index.d.ts.map +0 -1
- package/dist/generators/feature-directory/schema.d.ts +0 -8
- package/dist/generators/feature-directory/schema.d.ts.map +0 -1
- package/dist/plugin.d.ts +0 -6
- package/dist/plugin.d.ts.map +0 -1
- /package/dist/generators/{feature-directory → feature}/templates/feature.wasp.eta +0 -0
|
@@ -1,27 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const schema: z.ZodObject<{
|
|
3
|
-
feature: z.ZodString
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
dataType: z.ZodString
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
};
|
|
3
|
+
feature: z.ZodString;
|
|
4
|
+
operation: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodEnum<{
|
|
5
|
+
readonly CREATE: "create";
|
|
6
|
+
readonly UPDATE: "update";
|
|
7
|
+
readonly DELETE: "delete";
|
|
8
|
+
}>>;
|
|
9
|
+
dataType: z.ZodString;
|
|
10
|
+
name: z.ZodOptional<z.ZodString>;
|
|
11
|
+
entities: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
12
|
+
force: z.ZodOptional<z.ZodBoolean>;
|
|
13
|
+
auth: z.ZodOptional<z.ZodBoolean>;
|
|
26
14
|
}, z.core.$strip>;
|
|
27
15
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/generators/action/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,eAAO,MAAM,MAAM;;;;;;;;;;;;iBAcjB,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// src/generators/action/schema.ts
|
|
2
|
+
import { SchemaManager, commandRegistry as commandRegistry2 } from "@ingenyus/swarm";
|
|
3
|
+
import { z as z2 } from "zod";
|
|
4
|
+
|
|
5
|
+
// src/common/filesystem.ts
|
|
6
|
+
import { toPascalCase, validateFeaturePath } from "@ingenyus/swarm";
|
|
7
|
+
import fs from "fs";
|
|
8
|
+
|
|
9
|
+
// src/types/constants.ts
|
|
10
|
+
var ACTION_OPERATIONS = {
|
|
11
|
+
CREATE: "create",
|
|
12
|
+
UPDATE: "update",
|
|
13
|
+
DELETE: "delete"
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// src/common/filesystem.ts
|
|
17
|
+
var realFileSystem = {
|
|
18
|
+
readFileSync: fs.readFileSync,
|
|
19
|
+
writeFileSync: fs.writeFileSync,
|
|
20
|
+
existsSync: fs.existsSync,
|
|
21
|
+
copyFileSync: fs.copyFileSync,
|
|
22
|
+
mkdirSync: fs.mkdirSync,
|
|
23
|
+
readdirSync: fs.readdirSync,
|
|
24
|
+
statSync: fs.statSync
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// src/common/plugin.ts
|
|
28
|
+
import path from "path";
|
|
29
|
+
import { fileURLToPath } from "url";
|
|
30
|
+
|
|
31
|
+
// src/common/prisma.ts
|
|
32
|
+
import {
|
|
33
|
+
getSchema
|
|
34
|
+
} from "@mrleebo/prisma-ast";
|
|
35
|
+
import fs2 from "fs";
|
|
36
|
+
import path2 from "path";
|
|
37
|
+
|
|
38
|
+
// src/common/schemas.ts
|
|
39
|
+
import { commandRegistry } from "@ingenyus/swarm";
|
|
40
|
+
import { z } from "zod";
|
|
41
|
+
var commonSchemas = {
|
|
42
|
+
feature: z.string().min(1, "Feature is required").meta({
|
|
43
|
+
description: "The feature directory this component will be generated in"
|
|
44
|
+
}).register(commandRegistry, {
|
|
45
|
+
shortName: "f",
|
|
46
|
+
examples: ["root", "auth", "dashboard/users"],
|
|
47
|
+
helpText: "Can be nested as a logical or relative path, e.g. 'dashboard/users' or 'features/dashboard/features/users'"
|
|
48
|
+
}),
|
|
49
|
+
name: z.string().min(1, "Name is required").meta({ description: "The name of the generated component" }).register(commandRegistry, {
|
|
50
|
+
shortName: "n",
|
|
51
|
+
examples: ["users", "task"],
|
|
52
|
+
helpText: "Will be used for generated files and configuration entries"
|
|
53
|
+
}),
|
|
54
|
+
target: z.string().min(1, "Target directory is required").meta({ description: "The target path of the generated directory" }).register(commandRegistry, {
|
|
55
|
+
shortName: "t",
|
|
56
|
+
examples: ["dashboard/users", "features/dashboard/features/users"],
|
|
57
|
+
helpText: "A logical or relative path, e.g. 'dashboard/users' or 'features/dashboard/features/users'"
|
|
58
|
+
}),
|
|
59
|
+
path: z.string().min(1, "Path is required").meta({ description: "The path that this component will be accessible at" }).register(commandRegistry, {
|
|
60
|
+
shortName: "p",
|
|
61
|
+
examples: ["/api/users/:id", "/api/products"],
|
|
62
|
+
helpText: "Supports Express-style placeholders, e.g. '/api/users/:id'"
|
|
63
|
+
}),
|
|
64
|
+
dataType: z.string().min(1, "Data type is required").meta({ description: "The data type/model name for this operation" }).register(commandRegistry, {
|
|
65
|
+
shortName: "d",
|
|
66
|
+
examples: ["User", "Product", "Task"],
|
|
67
|
+
helpText: "The Wasp entity or model name this operation will interact with"
|
|
68
|
+
}),
|
|
69
|
+
entities: z.array(z.string()).optional().meta({
|
|
70
|
+
description: "The Wasp entities that will be available to this component (optional)"
|
|
71
|
+
}).register(commandRegistry, {
|
|
72
|
+
shortName: "e",
|
|
73
|
+
examples: ["User", "User Task"],
|
|
74
|
+
helpText: "An array of Wasp entity names"
|
|
75
|
+
}),
|
|
76
|
+
force: z.boolean().optional().meta({
|
|
77
|
+
description: "Force overwrite of existing files and configuration entries (optional)"
|
|
78
|
+
}).register(commandRegistry, {
|
|
79
|
+
shortName: "F",
|
|
80
|
+
helpText: "CAUTION: Will overwrite existing files and configuration entries with current parameters"
|
|
81
|
+
}),
|
|
82
|
+
auth: z.boolean().optional().meta({
|
|
83
|
+
description: "Require authentication for this component (optional)"
|
|
84
|
+
}).register(commandRegistry, {
|
|
85
|
+
shortName: "a",
|
|
86
|
+
helpText: "Will generate authentication checks"
|
|
87
|
+
})
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// src/common/templates.ts
|
|
91
|
+
import { toKebabCase } from "@ingenyus/swarm";
|
|
92
|
+
import { Eta } from "eta";
|
|
93
|
+
|
|
94
|
+
// src/generators/action/schema.ts
|
|
95
|
+
var validActions = Object.values(ACTION_OPERATIONS);
|
|
96
|
+
var actionSchema = z2.string().min(1, "Action type is required").transform((val) => SchemaManager.findEnumValue(ACTION_OPERATIONS, val)).pipe(
|
|
97
|
+
z2.enum(ACTION_OPERATIONS, {
|
|
98
|
+
message: `Invalid action. Must be one of: ${validActions.join(", ")}`
|
|
99
|
+
})
|
|
100
|
+
).meta({ description: "The action operation to generate" }).register(commandRegistry2, {
|
|
101
|
+
shortName: "o",
|
|
102
|
+
examples: validActions,
|
|
103
|
+
helpText: `Available actions: ${validActions.join(", ")}`
|
|
104
|
+
});
|
|
105
|
+
var schema = z2.object({
|
|
106
|
+
feature: commonSchemas.feature,
|
|
107
|
+
operation: actionSchema,
|
|
108
|
+
dataType: commonSchemas.dataType,
|
|
109
|
+
name: commonSchemas.name.optional().meta({
|
|
110
|
+
...commonSchemas.name.meta() ?? {},
|
|
111
|
+
description: `${commonSchemas.name.meta()?.description ?? ""} (optional)`
|
|
112
|
+
}).register(commandRegistry2, commandRegistry2.get(commonSchemas.name) ?? {}),
|
|
113
|
+
entities: commonSchemas.entities,
|
|
114
|
+
force: commonSchemas.force,
|
|
115
|
+
auth: commonSchemas.auth
|
|
116
|
+
});
|
|
117
|
+
export {
|
|
118
|
+
schema
|
|
119
|
+
};
|
|
@@ -1,34 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Out } from '@ingenyus/swarm';
|
|
2
2
|
import { CONFIG_TYPES } from '../../types';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { ComponentGeneratorBase } from '../base';
|
|
4
|
+
import { schema } from './schema';
|
|
5
|
+
export declare class ApiGenerator extends ComponentGeneratorBase<typeof schema, typeof CONFIG_TYPES.API> {
|
|
6
|
+
protected get componentType(): "Api";
|
|
6
7
|
description: string;
|
|
7
8
|
schema: import("zod").ZodObject<{
|
|
8
|
-
method: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
path: import("zod").ZodString
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
};
|
|
9
|
+
method: import("zod").ZodPipe<import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>, import("zod").ZodEnum<{
|
|
10
|
+
ALL: "ALL";
|
|
11
|
+
GET: "GET";
|
|
12
|
+
POST: "POST";
|
|
13
|
+
PUT: "PUT";
|
|
14
|
+
DELETE: "DELETE";
|
|
15
|
+
}>>;
|
|
16
|
+
feature: import("zod").ZodString;
|
|
17
|
+
name: import("zod").ZodString;
|
|
18
|
+
path: import("zod").ZodString;
|
|
19
|
+
entities: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
20
|
+
auth: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
21
|
+
force: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
29
22
|
customMiddleware: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
30
23
|
}, import("zod/v4/core").$strip>;
|
|
31
|
-
generate(
|
|
24
|
+
generate(args: Out<typeof schema>): Promise<void>;
|
|
32
25
|
private generateApiFile;
|
|
33
26
|
private updateConfigFile;
|
|
34
27
|
private getConfigDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/api/api-generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/api/api-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA6B,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,YAAa,SAAQ,sBAAsB,CACtD,OAAO,MAAM,EACb,OAAO,YAAY,CAAC,GAAG,CACxB;IACC,SAAS,KAAK,aAAa,UAE1B;IAED,WAAW,SAAmC;IAC9C,MAAM;;;;;;;;;;;;;;;qCAAU;IAEV,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAoCzC,eAAe;YAgBf,gBAAgB;YAuChB,mBAAmB;IA2BjC,OAAO,CAAC,iBAAiB;CA+B1B"}
|