swallowkit 1.0.0-beta.2 → 1.0.0-beta.21
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/LICENSE +21 -21
- package/README.ja.md +312 -215
- package/README.md +369 -216
- package/dist/__tests__/fixtures.d.ts +22 -0
- package/dist/__tests__/fixtures.d.ts.map +1 -0
- package/dist/__tests__/fixtures.js +146 -0
- package/dist/__tests__/fixtures.js.map +1 -0
- package/dist/cli/commands/add-auth.d.ts +10 -0
- package/dist/cli/commands/add-auth.d.ts.map +1 -0
- package/dist/cli/commands/add-auth.js +444 -0
- package/dist/cli/commands/add-auth.js.map +1 -0
- package/dist/cli/commands/add-connector.d.ts +20 -0
- package/dist/cli/commands/add-connector.d.ts.map +1 -0
- package/dist/cli/commands/add-connector.js +163 -0
- package/dist/cli/commands/add-connector.js.map +1 -0
- package/dist/cli/commands/create-model.d.ts +1 -4
- package/dist/cli/commands/create-model.d.ts.map +1 -1
- package/dist/cli/commands/create-model.js +21 -82
- package/dist/cli/commands/create-model.js.map +1 -1
- package/dist/cli/commands/dev-seeds.d.ts +35 -0
- package/dist/cli/commands/dev-seeds.d.ts.map +1 -0
- package/dist/cli/commands/dev-seeds.js +292 -0
- package/dist/cli/commands/dev-seeds.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +19 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +476 -117
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +3 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +13 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +2627 -1708
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/scaffold.d.ts +3 -0
- package/dist/cli/commands/scaffold.d.ts.map +1 -1
- package/dist/cli/commands/scaffold.js +617 -129
- package/dist/cli/commands/scaffold.js.map +1 -1
- package/dist/cli/index.d.ts +5 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +164 -42
- package/dist/cli/index.js.map +1 -1
- package/dist/core/config.d.ts +8 -2
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +90 -4
- package/dist/core/config.js.map +1 -1
- package/dist/core/mock/connector-mock-server.d.ts +101 -0
- package/dist/core/mock/connector-mock-server.d.ts.map +1 -0
- package/dist/core/mock/connector-mock-server.js +480 -0
- package/dist/core/mock/connector-mock-server.js.map +1 -0
- package/dist/core/mock/zod-mock-generator.d.ts +14 -0
- package/dist/core/mock/zod-mock-generator.d.ts.map +1 -0
- package/dist/core/mock/zod-mock-generator.js +163 -0
- package/dist/core/mock/zod-mock-generator.js.map +1 -0
- package/dist/core/operations/create-model.d.ts +15 -0
- package/dist/core/operations/create-model.d.ts.map +1 -0
- package/dist/core/operations/create-model.js +171 -0
- package/dist/core/operations/create-model.js.map +1 -0
- package/dist/core/operations/runtime.d.ts +32 -0
- package/dist/core/operations/runtime.d.ts.map +1 -0
- package/dist/core/operations/runtime.js +225 -0
- package/dist/core/operations/runtime.js.map +1 -0
- package/dist/core/operations/scaffold-machine.d.ts +16 -0
- package/dist/core/operations/scaffold-machine.d.ts.map +1 -0
- package/dist/core/operations/scaffold-machine.js +63 -0
- package/dist/core/operations/scaffold-machine.js.map +1 -0
- package/dist/core/project/manifest.d.ts +92 -0
- package/dist/core/project/manifest.d.ts.map +1 -0
- package/dist/core/project/manifest.js +321 -0
- package/dist/core/project/manifest.js.map +1 -0
- package/dist/core/project/validation.d.ts +20 -0
- package/dist/core/project/validation.d.ts.map +1 -0
- package/dist/core/project/validation.js +204 -0
- package/dist/core/project/validation.js.map +1 -0
- package/dist/core/scaffold/auth-generator.d.ts +38 -0
- package/dist/core/scaffold/auth-generator.d.ts.map +1 -0
- package/dist/core/scaffold/auth-generator.js +1244 -0
- package/dist/core/scaffold/auth-generator.js.map +1 -0
- package/dist/core/scaffold/connector-functions-generator.d.ts +41 -0
- package/dist/core/scaffold/connector-functions-generator.d.ts.map +1 -0
- package/dist/core/scaffold/connector-functions-generator.js +1027 -0
- package/dist/core/scaffold/connector-functions-generator.js.map +1 -0
- package/dist/core/scaffold/functions-generator.d.ts +7 -1
- package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
- package/dist/core/scaffold/functions-generator.js +920 -213
- package/dist/core/scaffold/functions-generator.js.map +1 -1
- package/dist/core/scaffold/model-parser.d.ts +20 -1
- package/dist/core/scaffold/model-parser.d.ts.map +1 -1
- package/dist/core/scaffold/model-parser.js +329 -135
- package/dist/core/scaffold/model-parser.js.map +1 -1
- package/dist/core/scaffold/nextjs-generator.d.ts +8 -0
- package/dist/core/scaffold/nextjs-generator.d.ts.map +1 -1
- package/dist/core/scaffold/nextjs-generator.js +314 -182
- package/dist/core/scaffold/nextjs-generator.js.map +1 -1
- package/dist/core/scaffold/openapi-generator.d.ts +3 -0
- package/dist/core/scaffold/openapi-generator.d.ts.map +1 -0
- package/dist/core/scaffold/openapi-generator.js +190 -0
- package/dist/core/scaffold/openapi-generator.js.map +1 -0
- package/dist/core/scaffold/ui-generator.d.ts +10 -4
- package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
- package/dist/core/scaffold/ui-generator.js +768 -663
- package/dist/core/scaffold/ui-generator.js.map +1 -1
- package/dist/database/base-model.d.ts +3 -3
- package/dist/database/base-model.js +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/machine/contracts.d.ts +16 -0
- package/dist/machine/contracts.d.ts.map +1 -0
- package/dist/machine/contracts.js +3 -0
- package/dist/machine/contracts.js.map +1 -0
- package/dist/machine/errors.d.ts +11 -0
- package/dist/machine/errors.d.ts.map +1 -0
- package/dist/machine/errors.js +34 -0
- package/dist/machine/errors.js.map +1 -0
- package/dist/machine/index.d.ts +3 -0
- package/dist/machine/index.d.ts.map +1 -0
- package/dist/machine/index.js +156 -0
- package/dist/machine/index.js.map +1 -0
- package/dist/mcp/index.d.ts +25 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +184 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/types/index.d.ts +65 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/package-manager.d.ts +109 -0
- package/dist/utils/package-manager.d.ts.map +1 -0
- package/dist/utils/package-manager.js +215 -0
- package/dist/utils/package-manager.js.map +1 -0
- package/package.json +85 -73
- package/src/__tests__/__snapshots__/functions-generator.test.ts.snap +1139 -0
- package/src/__tests__/__snapshots__/nextjs-generator.test.ts.snap +194 -0
- package/src/__tests__/__snapshots__/ui-generator.test.ts.snap +532 -0
- package/src/__tests__/auth.test.ts +654 -0
- package/src/__tests__/config.test.ts +263 -0
- package/src/__tests__/connector-functions-generator.test.ts +288 -0
- package/src/__tests__/connector-mock-server.test.ts +439 -0
- package/src/__tests__/connector-model-bff.test.ts +162 -0
- package/src/__tests__/dev-seeds.test.ts +112 -0
- package/src/__tests__/dev.test.ts +154 -0
- package/src/__tests__/fixtures.ts +144 -0
- package/src/__tests__/functions-generator.test.ts +237 -0
- package/src/__tests__/init.test.ts +80 -0
- package/src/__tests__/machine.test.ts +212 -0
- package/src/__tests__/mcp.test.ts +56 -0
- package/src/__tests__/model-parser.test.ts +72 -0
- package/src/__tests__/nextjs-generator.test.ts +97 -0
- package/src/__tests__/openapi-generator.test.ts +43 -0
- package/src/__tests__/package-manager.test.ts +189 -0
- package/src/__tests__/scaffold.test.ts +39 -0
- package/src/__tests__/string-utils.test.ts +75 -0
- package/src/__tests__/ui-generator.test.ts +144 -0
- package/src/__tests__/zod-mock-generator.test.ts +132 -0
- package/src/cli/commands/add-auth.ts +500 -0
- package/src/cli/commands/add-connector.ts +158 -0
- package/src/cli/commands/create-model.ts +62 -0
- package/src/cli/commands/dev-seeds.ts +358 -0
- package/src/cli/commands/dev.ts +962 -0
- package/src/cli/commands/index.ts +9 -0
- package/src/cli/commands/init.ts +3371 -0
- package/src/cli/commands/provision.ts +193 -0
- package/src/cli/commands/scaffold.ts +1211 -0
- package/src/cli/index.ts +193 -0
- package/src/core/config.ts +308 -0
- package/src/core/mock/connector-mock-server.ts +555 -0
- package/src/core/mock/zod-mock-generator.ts +205 -0
- package/src/core/operations/create-model.ts +174 -0
- package/src/core/operations/runtime.ts +235 -0
- package/src/core/operations/scaffold-machine.ts +91 -0
- package/src/core/project/manifest.ts +402 -0
- package/src/core/project/validation.ts +221 -0
- package/src/core/scaffold/auth-generator.ts +1284 -0
- package/src/core/scaffold/connector-functions-generator.ts +1128 -0
- package/src/core/scaffold/functions-generator.ts +970 -0
- package/src/core/scaffold/model-parser.ts +841 -0
- package/src/core/scaffold/nextjs-generator.ts +370 -0
- package/src/core/scaffold/openapi-generator.ts +212 -0
- package/src/core/scaffold/ui-generator.ts +1061 -0
- package/src/database/base-model.ts +184 -0
- package/src/database/client.ts +140 -0
- package/src/database/repository.ts +104 -0
- package/src/database/runtime-check.ts +25 -0
- package/src/index.ts +27 -0
- package/src/machine/contracts.ts +17 -0
- package/src/machine/errors.ts +34 -0
- package/src/machine/index.ts +173 -0
- package/src/mcp/index.ts +185 -0
- package/src/types/index.ts +134 -0
- package/src/utils/package-manager.ts +229 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.validateProject = validateProject;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const manifest_1 = require("./manifest");
|
|
40
|
+
const model_parser_1 = require("../scaffold/model-parser");
|
|
41
|
+
function pushViolation(violations, violation) {
|
|
42
|
+
violations.push(violation);
|
|
43
|
+
}
|
|
44
|
+
function validateRequiredPaths(manifest, violations) {
|
|
45
|
+
const requiredModules = manifest.modules.filter((module) => ["shared-models", "bff", "functions"].includes(module.kind));
|
|
46
|
+
for (const module of requiredModules) {
|
|
47
|
+
if (!module.exists) {
|
|
48
|
+
pushViolation(violations, {
|
|
49
|
+
code: "missing-required-module",
|
|
50
|
+
severity: "error",
|
|
51
|
+
message: `Required module path is missing: ${module.rootPath}`,
|
|
52
|
+
location: { path: module.rootPath },
|
|
53
|
+
suggestedFix: "Initialize or restore the standard SwallowKit project directories before generating code.",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (!manifest.artifacts.callFunctionHelperExists) {
|
|
58
|
+
pushViolation(violations, {
|
|
59
|
+
code: "missing-call-function-helper",
|
|
60
|
+
severity: "warning",
|
|
61
|
+
message: "BFF helper lib/api/call-function.ts is missing.",
|
|
62
|
+
location: { path: manifest.artifacts.callFunctionHelperPath },
|
|
63
|
+
suggestedFix: "Run scaffold to regenerate the BFF helper.",
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function validateSchemaNaming(entity, violations) {
|
|
68
|
+
const expectedFileName = `${(0, model_parser_1.toKebabCase)(entity.name)}.ts`;
|
|
69
|
+
if (!entity.filePath.endsWith(expectedFileName)) {
|
|
70
|
+
pushViolation(violations, {
|
|
71
|
+
code: "naming-model-file",
|
|
72
|
+
severity: "warning",
|
|
73
|
+
message: `Model file should match the entity name in kebab-case: expected ${expectedFileName}.`,
|
|
74
|
+
location: { path: entity.filePath, entity: entity.name },
|
|
75
|
+
suggestedFix: `Rename the model file to ${expectedFileName} to keep generator conventions deterministic.`,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
const camelSchema = `${(0, model_parser_1.toCamelCase)(entity.name)}Schema`;
|
|
79
|
+
if (entity.schemaName !== entity.name && entity.schemaName !== camelSchema) {
|
|
80
|
+
pushViolation(violations, {
|
|
81
|
+
code: "naming-schema-export",
|
|
82
|
+
severity: "warning",
|
|
83
|
+
message: `Schema export should be ${entity.name} or ${camelSchema}. Found ${entity.schemaName}.`,
|
|
84
|
+
location: { path: entity.filePath, entity: entity.name },
|
|
85
|
+
suggestedFix: "Use either the PascalCase Zod export or the camelCase Schema suffix pattern supported by SwallowKit.",
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function validateGeneratedArtifacts(manifest, violations) {
|
|
90
|
+
for (const route of manifest.routes.filter((candidate) => candidate.kind === "entity")) {
|
|
91
|
+
if (!route.exists) {
|
|
92
|
+
pushViolation(violations, {
|
|
93
|
+
code: route.surface === "bff" ? "missing-bff-route" : "missing-functions-artifact",
|
|
94
|
+
severity: "warning",
|
|
95
|
+
message: `${route.surface === "bff" ? "BFF route" : "Functions artifact"} is missing for ${route.entityName}.`,
|
|
96
|
+
location: {
|
|
97
|
+
path: route.filePath,
|
|
98
|
+
entity: route.entityName,
|
|
99
|
+
},
|
|
100
|
+
suggestedFix: `Run scaffold for ${route.entityName} to regenerate ${route.surface === "bff" ? "API routes" : "Functions code"}.`,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (manifest.backendLanguage !== "typescript" && manifest.artifacts.openApiSpecs.length === 0) {
|
|
105
|
+
pushViolation(violations, {
|
|
106
|
+
code: "missing-openapi-artifacts",
|
|
107
|
+
severity: "warning",
|
|
108
|
+
message: `No OpenAPI schema artifacts were found for ${manifest.backendLanguage} backend generation.`,
|
|
109
|
+
location: { path: "functions/openapi" },
|
|
110
|
+
suggestedFix: "Run scaffold to regenerate the OpenAPI-backed backend schema artifacts.",
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function validateLayeringViolations(projectRoot, violations) {
|
|
115
|
+
const apiDir = path.join(projectRoot, "app", "api");
|
|
116
|
+
const modelsDir = path.join(projectRoot, "shared", "models");
|
|
117
|
+
if (fs.existsSync(apiDir)) {
|
|
118
|
+
for (const filePath of walkFiles(apiDir, [".ts", ".tsx"])) {
|
|
119
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
120
|
+
if (content.includes("@azure/cosmos") || content.match(/from\s+['"].*functions\//)) {
|
|
121
|
+
pushViolation(violations, {
|
|
122
|
+
code: "forbidden-bff-dependency",
|
|
123
|
+
severity: "error",
|
|
124
|
+
message: "BFF files must not depend directly on Azure Cosmos or Functions implementation paths.",
|
|
125
|
+
location: { path: path.relative(projectRoot, filePath).replace(/\\/g, "/") },
|
|
126
|
+
suggestedFix: "Keep app/api as a pure BFF layer and call the backend through generated helpers instead.",
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (fs.existsSync(modelsDir)) {
|
|
132
|
+
for (const filePath of walkFiles(modelsDir, [".ts", ".tsx"])) {
|
|
133
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
134
|
+
if (content.match(/from\s+['"].*(app\/|functions\/|lib\/api\/)/)) {
|
|
135
|
+
pushViolation(violations, {
|
|
136
|
+
code: "forbidden-model-layer-import",
|
|
137
|
+
severity: "error",
|
|
138
|
+
message: "Shared models must not import from app/, functions/, or lib/api/ layers.",
|
|
139
|
+
location: { path: path.relative(projectRoot, filePath).replace(/\\/g, "/") },
|
|
140
|
+
suggestedFix: "Keep shared/models framework-agnostic so generators can reuse them across all layers.",
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function validateManifestDrift(projectRoot, loadedManifest, rebuiltManifest, violations) {
|
|
147
|
+
const sameEntitySet = JSON.stringify(loadedManifest.entities.map((entity) => entity.name).sort()) ===
|
|
148
|
+
JSON.stringify(rebuiltManifest.entities.map((entity) => entity.name).sort());
|
|
149
|
+
const sameRouteSet = JSON.stringify(loadedManifest.routes.map((route) => route.name).sort()) ===
|
|
150
|
+
JSON.stringify(rebuiltManifest.routes.map((route) => route.name).sort());
|
|
151
|
+
if (!sameEntitySet || !sameRouteSet) {
|
|
152
|
+
pushViolation(violations, {
|
|
153
|
+
code: "manifest-out-of-date",
|
|
154
|
+
severity: "warning",
|
|
155
|
+
message: `${manifest_1.SWALLOWKIT_MANIFEST_PATH} is out of date with the current project structure.`,
|
|
156
|
+
location: { path: manifest_1.SWALLOWKIT_MANIFEST_PATH },
|
|
157
|
+
suggestedFix: "Run a SwallowKit generator command or refresh the manifest so inspection and validation use current metadata.",
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
function walkFiles(directory, extensions) {
|
|
162
|
+
const collected = [];
|
|
163
|
+
for (const entry of fs.readdirSync(directory, { withFileTypes: true })) {
|
|
164
|
+
const entryPath = path.join(directory, entry.name);
|
|
165
|
+
if (entry.isDirectory()) {
|
|
166
|
+
collected.push(...walkFiles(entryPath, extensions));
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
if (extensions.some((extension) => entry.name.endsWith(extension))) {
|
|
170
|
+
collected.push(entryPath);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return collected;
|
|
174
|
+
}
|
|
175
|
+
async function validateProject(projectRoot = process.cwd()) {
|
|
176
|
+
const loaded = await (0, manifest_1.loadProjectManifest)(projectRoot);
|
|
177
|
+
const rebuilt = await (0, manifest_1.buildProjectManifest)(projectRoot);
|
|
178
|
+
const violations = [];
|
|
179
|
+
validateRequiredPaths(loaded.manifest, violations);
|
|
180
|
+
for (const error of loaded.manifest.configValidation.errors) {
|
|
181
|
+
pushViolation(violations, {
|
|
182
|
+
code: "config-validation",
|
|
183
|
+
severity: "error",
|
|
184
|
+
message: error,
|
|
185
|
+
location: loaded.manifest.configPath ? { path: loaded.manifest.configPath } : undefined,
|
|
186
|
+
suggestedFix: "Fix the SwallowKit config so generators and validators have a stable project definition.",
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
for (const entity of loaded.manifest.entities) {
|
|
190
|
+
validateSchemaNaming(entity, violations);
|
|
191
|
+
}
|
|
192
|
+
validateGeneratedArtifacts(loaded.manifest, violations);
|
|
193
|
+
validateLayeringViolations(projectRoot, violations);
|
|
194
|
+
if (loaded.source === "file") {
|
|
195
|
+
validateManifestDrift(projectRoot, loaded.manifest, rebuilt.manifest, violations);
|
|
196
|
+
}
|
|
197
|
+
return {
|
|
198
|
+
manifest: loaded.manifest,
|
|
199
|
+
manifestSource: loaded.source,
|
|
200
|
+
diagnostics: [...loaded.diagnostics, ...rebuilt.diagnostics],
|
|
201
|
+
violations: violations.sort((left, right) => left.code.localeCompare(right.code)),
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/core/project/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SwallowKit 認証・認可コード生成
|
|
3
|
+
* add-auth コマンドおよび scaffold ロールガード挿入で使用するテンプレート群
|
|
4
|
+
*/
|
|
5
|
+
import { CustomJwtConfig, ModelAuthPolicy, RdbConnectorConfig } from "../../types";
|
|
6
|
+
type RdbProvider = RdbConnectorConfig["provider"];
|
|
7
|
+
export declare function generateAuthModels(): string;
|
|
8
|
+
export declare function generateAuthFunctionsTS(sharedPackageName: string, config: CustomJwtConfig, provider: RdbProvider): string;
|
|
9
|
+
export declare function generateJwtHelperTS(): string;
|
|
10
|
+
export declare function generateAuthFunctionsCSharp(config: CustomJwtConfig, provider: RdbProvider): string;
|
|
11
|
+
export declare function generateJwtHelperCSharp(): string;
|
|
12
|
+
export declare function generateAuthFunctionsPython(config: CustomJwtConfig, provider: RdbProvider): string;
|
|
13
|
+
export declare function generateJwtHelperPython(): string;
|
|
14
|
+
export declare function generateBFFAuthLoginRoute(projectName: string, sharedPackageName: string): string;
|
|
15
|
+
export declare function generateBFFAuthLogoutRoute(projectName: string): string;
|
|
16
|
+
export declare function generateBFFAuthMeRoute(_sharedPackageName?: string): string;
|
|
17
|
+
export declare function generateProxy(projectName: string): string;
|
|
18
|
+
export declare function generateLoginPage(): string;
|
|
19
|
+
export declare function generateAuthContext(): string;
|
|
20
|
+
export declare function generateBFFCallFunctionWithAuth(): string;
|
|
21
|
+
/**
|
|
22
|
+
* TypeScript Functions のハンドラーにロールガードを挿入するためのインポート文を生成
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateAuthImportTS(): string;
|
|
25
|
+
/**
|
|
26
|
+
* TypeScript Functions のハンドラー先頭に挿入する認証チェックコードを生成
|
|
27
|
+
*/
|
|
28
|
+
export declare function generateAuthGuardTS(policy: ModelAuthPolicy, operation: 'read' | 'write'): string;
|
|
29
|
+
/**
|
|
30
|
+
* C# Functions のハンドラーに挿入するロールガードコードを生成
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateAuthGuardCSharp(policy: ModelAuthPolicy, operation: 'read' | 'write'): string;
|
|
33
|
+
/**
|
|
34
|
+
* Python Functions のハンドラーに挿入するロールガードコードを生成
|
|
35
|
+
*/
|
|
36
|
+
export declare function generateAuthGuardPython(policy: ModelAuthPolicy, operation: 'read' | 'write'): string;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=auth-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/auth-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEnF,KAAK,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAMlD,wBAAgB,kBAAkB,IAAI,MAAM,CA8B3C;AAMD,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,WAAW,GACpB,MAAM,CA8IR;AAMD,wBAAgB,mBAAmB,IAAI,MAAM,CAwE5C;AAMD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,WAAW,GACpB,MAAM,CA+HR;AAMD,wBAAgB,uBAAuB,IAAI,MAAM,CA+GhD;AAMD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,WAAW,GACpB,MAAM,CAiJR;AAMD,wBAAgB,uBAAuB,IAAI,MAAM,CAyEhD;AAMD,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAuChG;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAUtE;AAED,wBAAgB,sBAAsB,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CA+B1E;AAMD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAoDzD;AAMD,wBAAgB,iBAAiB,IAAI,MAAM,CA0F1C;AAMD,wBAAgB,mBAAmB,IAAI,MAAM,CA+F5C;AAMD,wBAAgB,+BAA+B,IAAI,MAAM,CAkHxD;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAUhG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAYpG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAWpG"}
|