@aws/nx-plugin 0.6.0 → 0.7.1
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-THIRD-PARTY +1761 -134
- package/generators.json +22 -10
- package/package.json +9 -1
- package/src/api-connection/README.md +0 -0
- package/src/api-connection/generator.d.ts +20 -0
- package/src/api-connection/generator.js +101 -0
- package/src/api-connection/generator.js.map +1 -0
- package/src/api-connection/schema.d.ts +10 -0
- package/src/api-connection/schema.json +32 -0
- package/src/cloudscape-website/app/README.md +3 -3
- package/src/cloudscape-website/app/generator.js +2 -2
- package/src/cloudscape-website/app/generator.js.map +1 -1
- package/src/cloudscape-website/cognito-auth/README.md +4 -4
- package/src/infra/app/README.md +3 -3
- package/src/infra/app/files/common/constructs/src/core/cfn-guard.ts.template +5 -1
- package/src/infra/app/generator.js +1 -1
- package/src/infra/app/generator.js.map +1 -1
- package/src/open-api/ts-hooks/generator.d.ts +11 -0
- package/src/open-api/ts-hooks/generator.js +17 -0
- package/src/open-api/ts-hooks/generator.js.map +1 -0
- package/src/open-api/ts-hooks/schema.d.ts +9 -0
- package/src/open-api/ts-hooks/schema.json +20 -0
- package/src/open-api/utils/codegen-data/languages.d.ts +10 -0
- package/src/open-api/utils/codegen-data/languages.js +175 -0
- package/src/open-api/utils/codegen-data/languages.js.map +1 -0
- package/src/open-api/utils/codegen-data/types.d.ts +20 -0
- package/src/open-api/utils/codegen-data/types.js +19 -0
- package/src/open-api/utils/codegen-data/types.js.map +1 -0
- package/src/open-api/utils/codegen-data.d.ts +6 -0
- package/src/open-api/utils/codegen-data.js +434 -0
- package/src/open-api/utils/codegen-data.js.map +1 -0
- package/src/open-api/utils/normalise.d.ts +6 -0
- package/src/open-api/utils/normalise.js +213 -0
- package/src/open-api/utils/normalise.js.map +1 -0
- package/src/open-api/utils/parse.d.ts +10 -0
- package/src/open-api/utils/parse.js +38 -0
- package/src/open-api/utils/parse.js.map +1 -0
- package/src/open-api/utils/refs.d.ts +23 -0
- package/src/open-api/utils/refs.js +41 -0
- package/src/open-api/utils/refs.js.map +1 -0
- package/src/open-api/utils/types.d.ts +6 -0
- package/src/open-api/utils/types.js +3 -0
- package/src/open-api/utils/types.js.map +1 -0
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +33 -0
- package/src/py/fast-api/files/app/__name__/main.py.template +3 -1
- package/src/py/fast-api/generator.js +7 -2
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/project/generator.js +1 -1
- package/src/py/project/generator.js.map +1 -1
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +7 -3
- package/src/trpc/backend/files/backend/src/init.ts.template +2 -0
- package/src/trpc/backend/generator.js +18 -3
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.json +1 -1
- package/src/trpc/react/generator.js.map +1 -1
- package/src/trpc/react/schema.json +1 -1
- package/src/ts/lib/generator.js +1 -2
- package/src/ts/lib/generator.js.map +1 -1
- package/src/utils/ast.d.ts +4 -0
- package/src/utils/ast.js +10 -1
- package/src/utils/ast.js.map +1 -1
- package/src/utils/files/http-api/common/constructs/src/core/http-api.ts.template +5 -3
- package/src/utils/names.d.ts +2 -0
- package/src/utils/names.js +6 -1
- package/src/utils/names.js.map +1 -1
- package/src/utils/nx.d.ts +1 -1
- package/src/utils/nx.js +3 -3
- package/src/utils/nx.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen-data.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/codegen-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Spec } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* In order to ensure we generate models consistently whether or not users used refs or inline schemas,
|
|
4
|
+
* we hoist any inline refs to non-primitives
|
|
5
|
+
*/
|
|
6
|
+
export declare const normaliseOpenApiSpecForCodeGen: (inSpec: Spec) => Spec;
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normaliseOpenApiSpecForCodeGen = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/**
|
|
6
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
const lodash_clonedeepwith_1 = tslib_1.__importDefault(require("lodash.clonedeepwith"));
|
|
10
|
+
const refs_1 = require("./refs");
|
|
11
|
+
const names_1 = require("../../utils/names");
|
|
12
|
+
const isCompositeSchema = (schema) => !!schema.allOf || !!schema.anyOf || !!schema.oneOf;
|
|
13
|
+
const hasSubSchemasToVisit = (schema) => !!schema &&
|
|
14
|
+
!(0, refs_1.isRef)(schema) &&
|
|
15
|
+
(['object', 'array'].includes(schema.type) ||
|
|
16
|
+
isCompositeSchema(schema) ||
|
|
17
|
+
!!schema.not ||
|
|
18
|
+
(schema.type === 'string' && !!schema.enum));
|
|
19
|
+
const filterInlineCompositeSchemas = (schemas, nameParts, namePartPrefix, propPath) => {
|
|
20
|
+
let inlineSchemaIndex = 0;
|
|
21
|
+
return schemas.flatMap((s, i) => {
|
|
22
|
+
if (hasSubSchemasToVisit(s)) {
|
|
23
|
+
const subSchema = {
|
|
24
|
+
nameParts: s.title
|
|
25
|
+
? [(0, names_1.pascalCase)(s.title)]
|
|
26
|
+
: [
|
|
27
|
+
...nameParts,
|
|
28
|
+
`${namePartPrefix}${inlineSchemaIndex === 0 ? '' : inlineSchemaIndex}`,
|
|
29
|
+
],
|
|
30
|
+
schema: s,
|
|
31
|
+
propPath: [...propPath, i],
|
|
32
|
+
};
|
|
33
|
+
inlineSchemaIndex++;
|
|
34
|
+
return [subSchema];
|
|
35
|
+
}
|
|
36
|
+
return [];
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
const hoistInlineObjectSubSchemas = (nameParts, schema) => {
|
|
40
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
41
|
+
// Find all the inline subschemas we should visit
|
|
42
|
+
const inlineSubSchemas = [
|
|
43
|
+
...(hasSubSchemasToVisit(schema.not)
|
|
44
|
+
? [
|
|
45
|
+
{
|
|
46
|
+
nameParts: ((_a = schema.not) === null || _a === void 0 ? void 0 : _a.title)
|
|
47
|
+
? [(0, names_1.pascalCase)((_b = schema.not) === null || _b === void 0 ? void 0 : _b.title)]
|
|
48
|
+
: [...nameParts, 'Not'],
|
|
49
|
+
schema: schema.not,
|
|
50
|
+
propPath: ['not'],
|
|
51
|
+
},
|
|
52
|
+
]
|
|
53
|
+
: []),
|
|
54
|
+
...(schema.anyOf
|
|
55
|
+
? filterInlineCompositeSchemas(schema.anyOf, nameParts, 'AnyOf', [
|
|
56
|
+
'anyOf',
|
|
57
|
+
])
|
|
58
|
+
: []),
|
|
59
|
+
...(schema.allOf
|
|
60
|
+
? filterInlineCompositeSchemas(schema.allOf, nameParts, 'AllOf', [
|
|
61
|
+
'allOf',
|
|
62
|
+
])
|
|
63
|
+
: []),
|
|
64
|
+
...(schema.oneOf
|
|
65
|
+
? filterInlineCompositeSchemas(schema.oneOf, nameParts, 'OneOf', [
|
|
66
|
+
'oneOf',
|
|
67
|
+
])
|
|
68
|
+
: []),
|
|
69
|
+
...('items' in schema && hasSubSchemasToVisit(schema.items)
|
|
70
|
+
? [
|
|
71
|
+
{
|
|
72
|
+
nameParts: ((_c = schema.items) === null || _c === void 0 ? void 0 : _c.title)
|
|
73
|
+
? [(0, names_1.pascalCase)((_d = schema.items) === null || _d === void 0 ? void 0 : _d.title)]
|
|
74
|
+
: [...nameParts, 'Item'],
|
|
75
|
+
schema: schema.items,
|
|
76
|
+
propPath: ['items'],
|
|
77
|
+
},
|
|
78
|
+
]
|
|
79
|
+
: []),
|
|
80
|
+
...Object.entries((_e = schema.properties) !== null && _e !== void 0 ? _e : {})
|
|
81
|
+
.filter(([, s]) => hasSubSchemasToVisit(s))
|
|
82
|
+
.map(([name, s]) => ({
|
|
83
|
+
nameParts: s.title
|
|
84
|
+
? [(0, names_1.pascalCase)(s.title)]
|
|
85
|
+
: [...nameParts, name],
|
|
86
|
+
schema: s,
|
|
87
|
+
propPath: ['properties', name],
|
|
88
|
+
})),
|
|
89
|
+
...(typeof schema.additionalProperties !== 'boolean' &&
|
|
90
|
+
hasSubSchemasToVisit(schema.additionalProperties)
|
|
91
|
+
? [
|
|
92
|
+
{
|
|
93
|
+
nameParts: ((_f = schema.additionalProperties) === null || _f === void 0 ? void 0 : _f.title)
|
|
94
|
+
? [(0, names_1.pascalCase)((_g = schema.additionalProperties) === null || _g === void 0 ? void 0 : _g.title)]
|
|
95
|
+
: [...nameParts, 'Value'],
|
|
96
|
+
schema: schema.additionalProperties,
|
|
97
|
+
propPath: ['additionalProperties'],
|
|
98
|
+
},
|
|
99
|
+
]
|
|
100
|
+
: []),
|
|
101
|
+
];
|
|
102
|
+
// Hoist these recursively first (ie depth first search) so that we don't miss refs
|
|
103
|
+
const recursiveRefs = inlineSubSchemas.flatMap((s) => hoistInlineObjectSubSchemas(s.nameParts, s.schema));
|
|
104
|
+
// Clone the object subschemas to build the refs. Note that only objects with "properties" are hoisted as these are non-dictionary types
|
|
105
|
+
const refs = inlineSubSchemas
|
|
106
|
+
.filter((s) => (s.schema.type === 'object' && s.schema.properties) ||
|
|
107
|
+
isCompositeSchema(s.schema) ||
|
|
108
|
+
(s.schema.type === 'string' && s.schema.enum))
|
|
109
|
+
.map((s) => {
|
|
110
|
+
const name = s.nameParts.map(names_1.upperFirst).join('');
|
|
111
|
+
const $ref = `#/components/schemas/${name}`;
|
|
112
|
+
const ref = {
|
|
113
|
+
$ref,
|
|
114
|
+
name,
|
|
115
|
+
schema: structuredClone(Object.assign(Object.assign({}, s.schema), { 'x-aws-nx-hoisted': true })),
|
|
116
|
+
};
|
|
117
|
+
// Replace each subschema with a ref in the spec
|
|
118
|
+
const schemaWithPropToReplace = s.propPath
|
|
119
|
+
.slice(0, -1)
|
|
120
|
+
.reduce((resolvedInSchema, pathPart) => resolvedInSchema === null || resolvedInSchema === void 0 ? void 0 : resolvedInSchema[pathPart], schema);
|
|
121
|
+
if (schemaWithPropToReplace) {
|
|
122
|
+
schemaWithPropToReplace[s.propPath[s.propPath.length - 1]] = { $ref };
|
|
123
|
+
}
|
|
124
|
+
return ref;
|
|
125
|
+
});
|
|
126
|
+
return [...refs, ...recursiveRefs];
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* In order to ensure we generate models consistently whether or not users used refs or inline schemas,
|
|
130
|
+
* we hoist any inline refs to non-primitives
|
|
131
|
+
*/
|
|
132
|
+
const normaliseOpenApiSpecForCodeGen = (inSpec) => {
|
|
133
|
+
var _a, _b, _c, _d;
|
|
134
|
+
// Clone the spec so we're free to mutate it
|
|
135
|
+
let spec = (0, lodash_clonedeepwith_1.default)(inSpec);
|
|
136
|
+
// Ensure spec has schemas set
|
|
137
|
+
if (!((_a = spec === null || spec === void 0 ? void 0 : spec.components) === null || _a === void 0 ? void 0 : _a.schemas)) {
|
|
138
|
+
spec.components = Object.assign({}, spec.components);
|
|
139
|
+
spec.components.schemas = Object.assign({}, spec.components.schemas);
|
|
140
|
+
}
|
|
141
|
+
// "Hoist" inline request and response schemas
|
|
142
|
+
Object.entries((_b = spec.paths) !== null && _b !== void 0 ? _b : {}).forEach(([path, pathOps]) => Object.entries(pathOps !== null && pathOps !== void 0 ? pathOps : {}).forEach(([method, op]) => {
|
|
143
|
+
var _a, _b, _c, _d;
|
|
144
|
+
const operation = (0, refs_1.resolveIfRef)(spec, op);
|
|
145
|
+
if (operation && typeof operation === 'object') {
|
|
146
|
+
if ('responses' in operation) {
|
|
147
|
+
Object.entries((_a = operation.responses) !== null && _a !== void 0 ? _a : {}).forEach(([code, res]) => {
|
|
148
|
+
var _a, _b, _c;
|
|
149
|
+
const response = (0, refs_1.resolveIfRef)(spec, res);
|
|
150
|
+
const jsonResponseSchema = (_b = (_a = response === null || response === void 0 ? void 0 : response.content) === null || _a === void 0 ? void 0 : _a['application/json']) === null || _b === void 0 ? void 0 : _b.schema;
|
|
151
|
+
if (jsonResponseSchema &&
|
|
152
|
+
!(0, refs_1.isRef)(jsonResponseSchema) &&
|
|
153
|
+
['object', 'array'].includes(jsonResponseSchema.type)) {
|
|
154
|
+
const schemaName = `${(0, names_1.pascalCase)((_c = operation.operationId) !== null && _c !== void 0 ? _c : `${method}-${path}`)}${code}Response`;
|
|
155
|
+
spec.components.schemas[schemaName] = jsonResponseSchema;
|
|
156
|
+
response.content['application/json'].schema = {
|
|
157
|
+
$ref: `#/components/schemas/${schemaName}`,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if ('requestBody' in operation) {
|
|
163
|
+
const requestBody = (0, refs_1.resolveIfRef)(spec, operation.requestBody);
|
|
164
|
+
const jsonRequestSchema = (_c = (_b = requestBody === null || requestBody === void 0 ? void 0 : requestBody.content) === null || _b === void 0 ? void 0 : _b['application/json']) === null || _c === void 0 ? void 0 : _c.schema;
|
|
165
|
+
if (jsonRequestSchema &&
|
|
166
|
+
!(0, refs_1.isRef)(jsonRequestSchema) &&
|
|
167
|
+
['object', 'array'].includes(jsonRequestSchema.type)) {
|
|
168
|
+
const schemaName = `${(0, names_1.pascalCase)((_d = operation.operationId) !== null && _d !== void 0 ? _d : `${method}-${path}`)}RequestContent`;
|
|
169
|
+
spec.components.schemas[schemaName] = jsonRequestSchema;
|
|
170
|
+
requestBody.content['application/json'].schema = {
|
|
171
|
+
$ref: `#/components/schemas/${schemaName}`,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}));
|
|
177
|
+
// "Hoist" any nested object definitions in arrays/maps that aren't already refs, as parseOpenapi will treat the
|
|
178
|
+
// type as "any" if they're defined inline (and not a ref)
|
|
179
|
+
Object.entries((_d = (_c = spec.components) === null || _c === void 0 ? void 0 : _c.schemas) !== null && _d !== void 0 ? _d : {}).forEach(([name, schema]) => {
|
|
180
|
+
if (!(0, refs_1.isRef)(schema)) {
|
|
181
|
+
const refs = hoistInlineObjectSubSchemas([name], schema);
|
|
182
|
+
refs.forEach((ref) => {
|
|
183
|
+
spec.components.schemas[ref.name] = ref.schema;
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
// "Inline" any refs to non objects/enums
|
|
188
|
+
const inlinedRefs = new Set();
|
|
189
|
+
spec = (0, lodash_clonedeepwith_1.default)(spec, (v) => {
|
|
190
|
+
if (v && typeof v === 'object' && v.$ref) {
|
|
191
|
+
const resolved = (0, refs_1.resolveRef)(spec, v.$ref);
|
|
192
|
+
if (resolved &&
|
|
193
|
+
resolved.type &&
|
|
194
|
+
resolved.type !== 'object' &&
|
|
195
|
+
!(resolved.type === 'string' && resolved.enum)) {
|
|
196
|
+
inlinedRefs.add(v.$ref);
|
|
197
|
+
return resolved;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
// Delete the non object schemas that were inlined
|
|
202
|
+
[...inlinedRefs].forEach((ref) => {
|
|
203
|
+
const parts = (0, refs_1.splitRef)(ref);
|
|
204
|
+
if (parts.length === 3 &&
|
|
205
|
+
parts[0] === 'components' &&
|
|
206
|
+
parts[1] === 'schemas') {
|
|
207
|
+
delete spec.components.schemas[parts[2]];
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
return spec;
|
|
211
|
+
};
|
|
212
|
+
exports.normaliseOpenApiSpecForCodeGen = normaliseOpenApiSpecForCodeGen;
|
|
213
|
+
//# sourceMappingURL=normalise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalise.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/normalise.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Tree } from '@nx/devkit';
|
|
6
|
+
import { Spec } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Parse an OpenAPI specification given its path within the tree
|
|
9
|
+
*/
|
|
10
|
+
export declare const parseOpenApiSpec: (tree: Tree, specPath: string) => Promise<Spec>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseOpenApiSpec = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const swagger_parser_1 = tslib_1.__importDefault(require("@apidevtools/swagger-parser"));
|
|
6
|
+
const TREE_PROTOCOL_PREFIX = 'workspace://';
|
|
7
|
+
/**
|
|
8
|
+
* Parse an OpenAPI specification given its path within the tree
|
|
9
|
+
*/
|
|
10
|
+
const parseOpenApiSpec = (tree, specPath) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
11
|
+
// Use a custom protocol prefix to ensure that the swagger parser doesn't try and read from the filesystem itself
|
|
12
|
+
const spec = yield swagger_parser_1.default.bundle(`${TREE_PROTOCOL_PREFIX}/${specPath}`, {
|
|
13
|
+
resolve: {
|
|
14
|
+
// Use a custom resolver which reads files from the tree rather than directly from the filesystem
|
|
15
|
+
file: {
|
|
16
|
+
order: 1,
|
|
17
|
+
read: (file) => {
|
|
18
|
+
const path = file.url.slice(TREE_PROTOCOL_PREFIX.length);
|
|
19
|
+
if (!tree.exists(path)) {
|
|
20
|
+
const message = `Unable to find ${specPath} in workspace ${tree.root}`;
|
|
21
|
+
// Write an error to console as swagger parser's error message may be confusing with our custom protocol prefix
|
|
22
|
+
console.error(message);
|
|
23
|
+
throw new Error(message);
|
|
24
|
+
}
|
|
25
|
+
return tree.read(path);
|
|
26
|
+
},
|
|
27
|
+
canRead: (file) => file.url.startsWith(TREE_PROTOCOL_PREFIX),
|
|
28
|
+
},
|
|
29
|
+
http: false,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
if ('swagger' in spec) {
|
|
33
|
+
throw new Error(`OpenAPI v2 specifications are not supported. Please use OpenAPI v3`);
|
|
34
|
+
}
|
|
35
|
+
return spec;
|
|
36
|
+
});
|
|
37
|
+
exports.parseOpenApiSpec = parseOpenApiSpec;
|
|
38
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/parse.ts"],"names":[],"mappings":";;;;AAKA,yFAAwD;AAGxD,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAE5C;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAC9B,IAAU,EACV,QAAgB,EACD,EAAE;IACjB,iHAAiH;IACjH,MAAM,IAAI,GAAG,MAAM,wBAAa,CAAC,MAAM,CACrC,GAAG,oBAAoB,IAAI,QAAQ,EAAE,EACrC;QACE,OAAO,EAAE;YACP,iGAAiG;YACjG,IAAI,EAAE;gBACJ,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;oBACb,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvB,MAAM,OAAO,GAAG,kBAAkB,QAAQ,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC;wBAEvE,+GAA+G;wBAC/G,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;oBACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;gBACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC;aAC7D;YACD,IAAI,EAAE,KAAK;SACZ;KACF,CACF,CAAC;IAEF,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AApCW,QAAA,gBAAgB,oBAoC3B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
6
|
+
import { Spec } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Return whether or not the given OpenAPI object is a reference
|
|
9
|
+
*/
|
|
10
|
+
export declare const isRef: (obj: unknown) => obj is OpenAPIV3.ReferenceObject;
|
|
11
|
+
/**
|
|
12
|
+
* Split a reference into its component parts
|
|
13
|
+
* eg: #/components/schemas/Foo -> ["components", "schemas", "Foo"]
|
|
14
|
+
*/
|
|
15
|
+
export declare const splitRef: (ref: string) => string[];
|
|
16
|
+
/**
|
|
17
|
+
* Resolve the given reference in the spec
|
|
18
|
+
*/
|
|
19
|
+
export declare const resolveRef: (spec: Spec, ref: string) => any;
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the given object in an openapi spec if it's a ref
|
|
22
|
+
*/
|
|
23
|
+
export declare const resolveIfRef: <T>(spec: Spec, possibleRef: T | OpenAPIV3.ReferenceObject) => T;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveIfRef = exports.resolveRef = exports.splitRef = exports.isRef = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Return whether or not the given OpenAPI object is a reference
|
|
6
|
+
*/
|
|
7
|
+
const isRef = (obj) => !!obj && typeof obj === 'object' && '$ref' in obj;
|
|
8
|
+
exports.isRef = isRef;
|
|
9
|
+
/**
|
|
10
|
+
* Split a reference into its component parts
|
|
11
|
+
* eg: #/components/schemas/Foo -> ["components", "schemas", "Foo"]
|
|
12
|
+
*/
|
|
13
|
+
const splitRef = (ref) => ref
|
|
14
|
+
.slice(2)
|
|
15
|
+
.split('/')
|
|
16
|
+
.map((p) => p.replace(/~0/g, '~').replace(/~1/g, '/'));
|
|
17
|
+
exports.splitRef = splitRef;
|
|
18
|
+
/**
|
|
19
|
+
* Resolve the given reference in the spec
|
|
20
|
+
*/
|
|
21
|
+
const resolveRef = (spec, ref) => {
|
|
22
|
+
const refParts = (0, exports.splitRef)(ref);
|
|
23
|
+
const resolved = refParts.reduce((resolvedInSpec, refPart) => resolvedInSpec === null || resolvedInSpec === void 0 ? void 0 : resolvedInSpec[refPart], spec);
|
|
24
|
+
if (!resolved) {
|
|
25
|
+
throw new Error(`Unable to resolve ref ${ref} in spec`);
|
|
26
|
+
}
|
|
27
|
+
return resolved;
|
|
28
|
+
};
|
|
29
|
+
exports.resolveRef = resolveRef;
|
|
30
|
+
/**
|
|
31
|
+
* Resolve the given object in an openapi spec if it's a ref
|
|
32
|
+
*/
|
|
33
|
+
const resolveIfRef = (spec, possibleRef) => {
|
|
34
|
+
let resolved = possibleRef;
|
|
35
|
+
if ((0, exports.isRef)(possibleRef)) {
|
|
36
|
+
resolved = (0, exports.resolveRef)(spec, possibleRef.$ref);
|
|
37
|
+
}
|
|
38
|
+
return resolved;
|
|
39
|
+
};
|
|
40
|
+
exports.resolveIfRef = resolveIfRef;
|
|
41
|
+
//# sourceMappingURL=refs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/refs.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACI,MAAM,KAAK,GAAG,CAAC,GAAY,EAAoC,EAAE,CACtE,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,CAAC;AADvC,QAAA,KAAK,SACkC;AAEpD;;;GAGG;AACI,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAY,EAAE,CAChD,GAAG;KACA,KAAK,CAAC,CAAC,CAAC;KACR,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAJ9C,QAAA,QAAQ,YAIsC;AAE3D;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,GAAW,EAAO,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAC9B,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,OAAO,CAAC,EACtD,IAAI,CACL,CAAC;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,UAAU,cAUrB;AAEF;;GAEG;AACI,MAAM,YAAY,GAAG,CAC1B,IAAU,EACV,WAA0C,EACvC,EAAE;IACL,IAAI,QAAQ,GAAG,WAAW,CAAC;IAC3B,IAAI,IAAA,aAAK,EAAC,WAAW,CAAC,EAAE,CAAC;QACvB,QAAQ,GAAG,IAAA,kBAAU,EAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,QAAa,CAAC;AACvB,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
+
|
|
3
|
+
exports[`fastapi project generator > should match snapshot > main-snapshot 1`] = `
|
|
4
|
+
{
|
|
5
|
+
"apps/test_api/test_api/__init__.py": """"Automatically generated by Nx."""
|
|
6
|
+
",
|
|
7
|
+
"apps/test_api/test_api/main.py": "from fastapi import FastAPI
|
|
8
|
+
from mangum import Mangum
|
|
9
|
+
|
|
10
|
+
app = FastAPI(
|
|
11
|
+
title="TestApi"
|
|
12
|
+
)
|
|
13
|
+
handler = Mangum(app)
|
|
14
|
+
|
|
15
|
+
@app.get("/")
|
|
16
|
+
def read_root():
|
|
17
|
+
return {"Hello": "World"}",
|
|
18
|
+
"apps/test_api/tests/__init__.py": """"unit tests."""
|
|
19
|
+
",
|
|
20
|
+
"apps/test_api/tests/conftest.py": """"Unit tests configuration module."""
|
|
21
|
+
|
|
22
|
+
pytest_plugins = []
|
|
23
|
+
",
|
|
24
|
+
"apps/test_api/tests/test_main.py": "#
|
|
25
|
+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
26
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
27
|
+
#
|
|
28
|
+
|
|
29
|
+
def test_main():
|
|
30
|
+
pass
|
|
31
|
+
",
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
@@ -48,7 +48,7 @@ const fastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void
|
|
|
48
48
|
options: {
|
|
49
49
|
commands: [
|
|
50
50
|
`uv export --frozen --no-dev --no-editable --project ${normalizedName} -o dist/${dir}/bundle/requirements.txt`,
|
|
51
|
-
`uv pip install --no-installer-metadata --no-compile-bytecode --python-platform x86_64-manylinux2014 --python \`uv python pin\` --target dist/${dir}/bundle -r dist/${dir}/bundle/requirements.txt
|
|
51
|
+
`uv pip install -n --no-installer-metadata --no-compile-bytecode --python-platform x86_64-manylinux2014 --python \`uv python pin\` --target dist/${dir}/bundle -r dist/${dir}/bundle/requirements.txt`,
|
|
52
52
|
],
|
|
53
53
|
parallel: false,
|
|
54
54
|
},
|
|
@@ -65,7 +65,11 @@ const fastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void
|
|
|
65
65
|
cwd: dir,
|
|
66
66
|
},
|
|
67
67
|
};
|
|
68
|
-
projectConfig.
|
|
68
|
+
projectConfig.metadata = {
|
|
69
|
+
apiName: schema.name,
|
|
70
|
+
apiType: 'fast-api',
|
|
71
|
+
};
|
|
72
|
+
projectConfig.targets = (0, nx_1.sortObjectKeys)(projectConfig.targets);
|
|
69
73
|
(0, devkit_1.updateProjectConfiguration)(tree, normalizedName, projectConfig);
|
|
70
74
|
[
|
|
71
75
|
(0, devkit_1.joinPathFragments)(dir, normalizedModuleName !== null && normalizedModuleName !== void 0 ? normalizedModuleName : normalizedName, 'hello.py'),
|
|
@@ -76,6 +80,7 @@ const fastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void
|
|
|
76
80
|
dir, // destination path of the files
|
|
77
81
|
{
|
|
78
82
|
name: normalizedName,
|
|
83
|
+
apiNameClassName,
|
|
79
84
|
}, {
|
|
80
85
|
overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
|
|
81
86
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAWoB;AAEpB,oEAAmE;AACnE,oEAAiE;AACjE,0EAA+E;AAC/E,sCAA+C;AAE/C,qEAIuC;AACvC,6CAA0E;AAC1E,yCAAgD;AAChD,+CAA0D;AAC1D,mDAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,7 +92,7 @@ const pyProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, void 0, v
|
|
|
92
92
|
outputPath,
|
|
93
93
|
},
|
|
94
94
|
};
|
|
95
|
-
projectConfiguration.targets = (0, nx_1.
|
|
95
|
+
projectConfiguration.targets = (0, nx_1.sortObjectKeys)(projectConfiguration.targets);
|
|
96
96
|
(0, devkit_1.updateProjectConfiguration)(tree, normalizedName, projectConfiguration);
|
|
97
97
|
return () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
98
98
|
yield new provider_1.UVProvider(tree.root, new logger_1.Logger(), tree).install();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCASoB;AAEpB,qHAAwG;AACxG,yGAAkF;AAClF,oEAAmE;AACnE,oEAAiE;AACjE,mDAAoD;AACpD,qDAAoD;AACpD,6CAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/project/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,8 @@ import {
|
|
|
67
67
|
IMiddlewareContext,
|
|
68
68
|
} from './middleware/index.js';
|
|
69
69
|
|
|
70
|
+
process.env.POWERTOOLS_SERVICE_NAME = 'TestApi';
|
|
71
|
+
|
|
70
72
|
export type Context = IMiddlewareContext;
|
|
71
73
|
|
|
72
74
|
export const t = initTRPC.context<Context>().create();
|
|
@@ -337,7 +339,7 @@ import {
|
|
|
337
339
|
IHttpRouteAuthorizer,
|
|
338
340
|
} from 'aws-cdk-lib/aws-apigatewayv2';
|
|
339
341
|
import { HttpLambdaIntegration } from 'aws-cdk-lib/aws-apigatewayv2-integrations';
|
|
340
|
-
import { Code, Function, Runtime } from 'aws-cdk-lib/aws-lambda';
|
|
342
|
+
import { Code, Function, Runtime, Tracing } from 'aws-cdk-lib/aws-lambda';
|
|
341
343
|
import { Effect, IRole, PolicyStatement } from 'aws-cdk-lib/aws-iam';
|
|
342
344
|
import { RuntimeConfig } from './runtime-config.js';
|
|
343
345
|
|
|
@@ -352,15 +354,17 @@ export interface HttpApiProps {
|
|
|
352
354
|
|
|
353
355
|
export class HttpApi extends Construct {
|
|
354
356
|
public readonly api: _HttpApi;
|
|
357
|
+
public readonly routerFunction: Function;
|
|
355
358
|
|
|
356
359
|
constructor(scope: Construct, id: string, props: HttpApiProps) {
|
|
357
360
|
super(scope, id);
|
|
358
361
|
|
|
359
|
-
|
|
362
|
+
this.routerFunction = new Function(this, \`\${id}Handler\`, {
|
|
360
363
|
timeout: Duration.seconds(30),
|
|
361
364
|
runtime: props.runtime,
|
|
362
365
|
handler: props.handler,
|
|
363
366
|
code: Code.fromAsset(props.handlerFilePath),
|
|
367
|
+
tracing: Tracing.ACTIVE,
|
|
364
368
|
environment: {
|
|
365
369
|
AWS_CONNECTION_REUSE_ENABLED: '1',
|
|
366
370
|
},
|
|
@@ -393,7 +397,7 @@ export class HttpApi extends Construct {
|
|
|
393
397
|
],
|
|
394
398
|
integration: new HttpLambdaIntegration(
|
|
395
399
|
'RouterIntegration',
|
|
396
|
-
routerFunction,
|
|
400
|
+
this.routerFunction,
|
|
397
401
|
),
|
|
398
402
|
});
|
|
399
403
|
|