@aws/nx-plugin 0.9.0 → 0.10.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/generators.json +6 -0
- package/package.json +1 -1
- package/src/api-connection/generator.d.ts +1 -1
- package/src/api-connection/generator.js +31 -1
- package/src/api-connection/generator.js.map +1 -1
- package/src/license/__snapshots__/config.spec.ts.snap +13 -7
- package/src/license/config.js +4 -4
- package/src/license/config.js.map +1 -1
- package/src/open-api/ts-client/__snapshots__/generator.spec.ts.snap +3455 -1600
- package/src/open-api/ts-client/generator.js +2 -0
- package/src/open-api/ts-client/generator.js.map +1 -1
- package/src/open-api/ts-hooks/generator.js +2 -0
- package/src/open-api/ts-hooks/generator.js.map +1 -1
- package/src/open-api/utils/normalise.js +37 -18
- package/src/open-api/utils/normalise.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +59 -0
- package/src/py/fast-api/react/files/fast-api/scripts/generate_open_api.py.template +13 -0
- package/src/py/fast-api/react/files/website/hooks/use__apiNameClassName__.tsx.template +20 -0
- package/src/py/fast-api/react/generator.d.ts +8 -0
- package/src/py/fast-api/react/generator.js +124 -0
- package/src/py/fast-api/react/generator.js.map +1 -0
- package/src/py/fast-api/react/schema.d.ts +9 -0
- package/src/py/fast-api/react/schema.json +33 -0
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/trpc/react/files/src/components/TrpcClients/IsolatedTrpcProvider.tsx.template +1 -1
- package/src/trpc/react/generator.js +9 -6
- package/src/trpc/react/generator.js.map +1 -1
- package/src/utils/git.d.ts +4 -0
- package/src/utils/git.js +19 -1
- package/src/utils/git.js.map +1 -1
- package/src/utils/toml.d.ts +4 -0
- package/src/utils/toml.js +12 -5
- package/src/utils/toml.js.map +1 -1
- /package/src/{trpc/react/files/src/hooks → utils/files/website/hooks/sigv4}/useSigV4.tsx.template +0 -0
|
@@ -10,6 +10,7 @@ const devkit_1 = require("@nx/devkit");
|
|
|
10
10
|
const parse_1 = require("../utils/parse");
|
|
11
11
|
const codegen_data_1 = require("../utils/codegen-data");
|
|
12
12
|
const path = tslib_1.__importStar(require("path"));
|
|
13
|
+
const format_1 = require("../../utils/format");
|
|
13
14
|
/**
|
|
14
15
|
* Generates typescript client from an openapi spec
|
|
15
16
|
*/
|
|
@@ -17,6 +18,7 @@ const openApiTsClientGenerator = (tree, options) => tslib_1.__awaiter(void 0, vo
|
|
|
17
18
|
const spec = yield (0, parse_1.parseOpenApiSpec)(tree, options.openApiSpecPath);
|
|
18
19
|
const data = yield (0, codegen_data_1.buildOpenApiCodeGenData)(spec);
|
|
19
20
|
(0, exports.generateOpenApiTsClient)(tree, data, options.outputPath);
|
|
21
|
+
yield (0, format_1.formatFilesInSubtree)(tree);
|
|
20
22
|
});
|
|
21
23
|
exports.openApiTsClientGenerator = openApiTsClientGenerator;
|
|
22
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/ts-client/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAiD;AAEjD,0CAAkD;AAClD,wDAAgE;AAChE,mDAA6B;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/ts-client/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAiD;AAEjD,0CAAkD;AAClD,wDAAgE;AAChE,mDAA6B;AAE7B,+CAA0D;AAE1D;;GAEG;AACI,MAAM,wBAAwB,GAAG,CACtC,IAAU,EACV,OAA4B,EAC5B,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,MAAM,IAAA,sCAAuB,EAAC,IAAI,CAAC,CAAC;IAEjD,IAAA,+BAAuB,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAExD,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAA,CAAC;AAXW,QAAA,wBAAwB,4BAWnC;AAEF;;GAEG;AACI,MAAM,uBAAuB,GAAG,CACrC,IAAU,EACV,IAAiB,EACjB,UAAkB,EAClB,EAAE;IACF,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC,CAAC;AANW,QAAA,uBAAuB,2BAMlC;AAEF,kBAAe,gCAAwB,CAAC"}
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const parse_1 = require("../utils/parse");
|
|
6
6
|
const codegen_data_1 = require("../utils/codegen-data");
|
|
7
7
|
const generator_1 = require("../ts-client/generator");
|
|
8
|
+
const format_1 = require("../../utils/format");
|
|
8
9
|
/**
|
|
9
10
|
* Generates typescript hooks from an openapi spec
|
|
10
11
|
*/
|
|
@@ -13,6 +14,7 @@ const openApiTsHooksGenerator = (tree, options) => tslib_1.__awaiter(void 0, voi
|
|
|
13
14
|
const data = yield (0, codegen_data_1.buildOpenApiCodeGenData)(spec);
|
|
14
15
|
(0, generator_1.generateOpenApiTsClient)(tree, data, options.outputPath);
|
|
15
16
|
// TODO: generate hooks which wrap the client
|
|
17
|
+
(0, format_1.formatFilesInSubtree)(tree);
|
|
16
18
|
});
|
|
17
19
|
exports.openApiTsHooksGenerator = openApiTsHooksGenerator;
|
|
18
20
|
exports.default = exports.openApiTsHooksGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/ts-hooks/generator.ts"],"names":[],"mappings":";;;;AAMA,0CAAkD;AAClD,wDAAgE;AAChE,sDAAiE;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/ts-hooks/generator.ts"],"names":[],"mappings":";;;;AAMA,0CAAkD;AAClD,wDAAgE;AAChE,sDAAiE;AACjE,+CAA0D;AAE1D;;GAEG;AACI,MAAM,uBAAuB,GAAG,CACrC,IAAU,EACV,OAA2B,EAC3B,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,MAAM,IAAA,sCAAuB,EAAC,IAAI,CAAC,CAAC;IAEjD,IAAA,mCAAuB,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAExD,6CAA6C;IAE7C,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAA,CAAC;AAbW,QAAA,uBAAuB,2BAalC;AAEF,kBAAe,+BAAuB,CAAC"}
|
|
@@ -131,7 +131,7 @@ const hoistInlineObjectSubSchemas = (nameParts, schema) => {
|
|
|
131
131
|
* we hoist any inline refs to non-primitives
|
|
132
132
|
*/
|
|
133
133
|
const normaliseOpenApiSpecForCodeGen = (inSpec) => {
|
|
134
|
-
var _a, _b, _c, _d;
|
|
134
|
+
var _a, _b, _c, _d, _e;
|
|
135
135
|
// Clone the spec so we're free to mutate it
|
|
136
136
|
let spec = (0, lodash_clonedeepwith_1.default)(inSpec);
|
|
137
137
|
// Ensure spec has schemas set
|
|
@@ -140,36 +140,55 @@ const normaliseOpenApiSpecForCodeGen = (inSpec) => {
|
|
|
140
140
|
spec.components.schemas = Object.assign({}, spec.components.schemas);
|
|
141
141
|
}
|
|
142
142
|
const seenOperationIds = new Set();
|
|
143
|
+
const duplicatedOperationIds = new Set();
|
|
144
|
+
// Make sure all operationIds are camelCase, and find which ones are duplicated
|
|
145
|
+
Object.entries((_b = spec.paths) !== null && _b !== void 0 ? _b : {}).forEach(([path, pathOps]) => Object.entries(pathOps !== null && pathOps !== void 0 ? pathOps : {}).forEach(([method, op]) => {
|
|
146
|
+
var _a;
|
|
147
|
+
const operation = (0, refs_1.resolveIfRef)(spec, op);
|
|
148
|
+
if (operation && typeof operation === 'object') {
|
|
149
|
+
const operationId = (0, lodash_camelcase_1.default)((_a = operation.operationId) !== null && _a !== void 0 ? _a : `${method}-${path}`);
|
|
150
|
+
operation.operationId = operationId;
|
|
151
|
+
if (seenOperationIds.has(operationId)) {
|
|
152
|
+
duplicatedOperationIds.add(operationId);
|
|
153
|
+
}
|
|
154
|
+
seenOperationIds.add(operationId);
|
|
155
|
+
}
|
|
156
|
+
}));
|
|
157
|
+
// Reset seen operation ids
|
|
158
|
+
seenOperationIds.clear();
|
|
159
|
+
const untagged = Symbol('untagged');
|
|
143
160
|
const seenOperationIdsByTag = {};
|
|
144
|
-
const seenOperationIdCounters = {};
|
|
145
161
|
// "Hoist" inline request and response schemas
|
|
146
|
-
Object.entries((
|
|
147
|
-
var _a, _b, _c, _d
|
|
162
|
+
Object.entries((_c = spec.paths) !== null && _c !== void 0 ? _c : {}).forEach(([path, pathOps]) => Object.entries(pathOps !== null && pathOps !== void 0 ? pathOps : {}).forEach(([method, op]) => {
|
|
163
|
+
var _a, _b, _c, _d;
|
|
148
164
|
const operation = (0, refs_1.resolveIfRef)(spec, op);
|
|
149
165
|
if (operation && typeof operation === 'object') {
|
|
166
|
+
const tags = (_a = operation.tags) !== null && _a !== void 0 ? _a : [];
|
|
167
|
+
const operationId = operation.operationId;
|
|
150
168
|
// Allow operations to have the same id
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
if (
|
|
154
|
-
|
|
155
|
-
deduplicatedOpId = `${originalOperationId}_${counter}`;
|
|
156
|
-
seenOperationIdCounters[originalOperationId] = counter + 1;
|
|
157
|
-
operation['x-aws-nx-deduplicated-op-id'] = deduplicatedOpId;
|
|
169
|
+
let deduplicatedOpId = operationId;
|
|
170
|
+
// Attempt to deduplicate the operationId by its tags
|
|
171
|
+
if (duplicatedOperationIds.has(operationId)) {
|
|
172
|
+
deduplicatedOpId = (0, lodash_camelcase_1.default)(tags.map((t) => `${t}-`).join('') + operationId);
|
|
158
173
|
}
|
|
174
|
+
operation['x-aws-nx-deduplicated-op-id'] = deduplicatedOpId;
|
|
159
175
|
seenOperationIds.add(deduplicatedOpId);
|
|
160
|
-
|
|
176
|
+
// Throw an error for any duplicated operation ids with the same tag, or untagged
|
|
177
|
+
[...(tags.length === 0 ? [untagged] : tags)].forEach((tag) => {
|
|
161
178
|
var _a;
|
|
162
179
|
if (seenOperationIdsByTag[tag] &&
|
|
163
|
-
seenOperationIdsByTag[tag].has(
|
|
164
|
-
throw new Error(
|
|
180
|
+
seenOperationIdsByTag[tag].has(operationId)) {
|
|
181
|
+
throw new Error(tag === untagged
|
|
182
|
+
? `Untagged operations cannot have the same operationId (${operationId})`
|
|
183
|
+
: `Operations with the same tag (${String(tag)}) cannot have the same operationId (${operationId})`);
|
|
165
184
|
}
|
|
166
185
|
seenOperationIdsByTag[tag] = new Set([
|
|
167
186
|
...((_a = seenOperationIdsByTag[tag]) !== null && _a !== void 0 ? _a : []),
|
|
168
|
-
|
|
187
|
+
operationId,
|
|
169
188
|
]);
|
|
170
189
|
});
|
|
171
190
|
if ('responses' in operation) {
|
|
172
|
-
Object.entries((
|
|
191
|
+
Object.entries((_b = operation.responses) !== null && _b !== void 0 ? _b : {}).forEach(([code, res]) => {
|
|
173
192
|
var _a, _b;
|
|
174
193
|
const response = (0, refs_1.resolveIfRef)(spec, res);
|
|
175
194
|
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;
|
|
@@ -189,7 +208,7 @@ const normaliseOpenApiSpecForCodeGen = (inSpec) => {
|
|
|
189
208
|
}
|
|
190
209
|
if ('requestBody' in operation) {
|
|
191
210
|
const requestBody = (0, refs_1.resolveIfRef)(spec, operation.requestBody);
|
|
192
|
-
const jsonRequestSchema = (
|
|
211
|
+
const jsonRequestSchema = (_d = (_c = requestBody === null || requestBody === void 0 ? void 0 : requestBody.content) === null || _c === void 0 ? void 0 : _c['application/json']) === null || _d === void 0 ? void 0 : _d.schema;
|
|
193
212
|
if (jsonRequestSchema &&
|
|
194
213
|
!(0, refs_1.isRef)(jsonRequestSchema) &&
|
|
195
214
|
(['object', 'array'].includes(jsonRequestSchema.type) ||
|
|
@@ -206,7 +225,7 @@ const normaliseOpenApiSpecForCodeGen = (inSpec) => {
|
|
|
206
225
|
}));
|
|
207
226
|
// "Hoist" any nested object definitions in arrays/maps that aren't already refs, as parseOpenapi will treat the
|
|
208
227
|
// type as "any" if they're defined inline (and not a ref)
|
|
209
|
-
Object.entries((
|
|
228
|
+
Object.entries((_e = (_d = spec.components) === null || _d === void 0 ? void 0 : _d.schemas) !== null && _e !== void 0 ? _e : {}).forEach(([name, schema]) => {
|
|
210
229
|
if (!(0, refs_1.isRef)(schema)) {
|
|
211
230
|
const refs = hoistInlineObjectSubSchemas([name], schema);
|
|
212
231
|
refs.forEach((ref) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalise.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/normalise.ts"],"names":[],"mappings":"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"}
|
|
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,59 @@
|
|
|
1
|
+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
+
|
|
3
|
+
exports[`fastapi react generator > should generate OpenAPI spec script > generate_open_api.py 1`] = `
|
|
4
|
+
"from fastapi.openapi.utils import get_openapi
|
|
5
|
+
from src.main import app
|
|
6
|
+
import json, os, sys
|
|
7
|
+
|
|
8
|
+
os.makedirs(os.path.dirname(sys.argv[1]), exist_ok=True)
|
|
9
|
+
with open(sys.argv[1], 'w') as f:
|
|
10
|
+
json.dump(get_openapi(
|
|
11
|
+
title=app.title,
|
|
12
|
+
version=app.version,
|
|
13
|
+
openapi_version=app.openapi_version,
|
|
14
|
+
description=app.description,
|
|
15
|
+
routes=app.routes,
|
|
16
|
+
), f)
|
|
17
|
+
"
|
|
18
|
+
`;
|
|
19
|
+
|
|
20
|
+
exports[`fastapi react generator > should generate client hook > useTestApi.tsx 1`] = `
|
|
21
|
+
"import { TestApi } from '../generated/test-api/client.gen';
|
|
22
|
+
import { useRuntimeConfig } from './useRuntimeConfig';
|
|
23
|
+
import { useMemo } from 'react';
|
|
24
|
+
|
|
25
|
+
export const useTestApi = (): TestApi => {
|
|
26
|
+
const runtimeConfig = useRuntimeConfig();
|
|
27
|
+
const apiUrl = runtimeConfig.httpApis.TestApi;
|
|
28
|
+
return useMemo(
|
|
29
|
+
() =>
|
|
30
|
+
new TestApi({
|
|
31
|
+
url: apiUrl,
|
|
32
|
+
}),
|
|
33
|
+
[apiUrl],
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
"
|
|
37
|
+
`;
|
|
38
|
+
|
|
39
|
+
exports[`fastapi react generator > should handle IAM auth option > useTestApi-IAM.tsx 1`] = `
|
|
40
|
+
"import { TestApi } from '../generated/test-api/client.gen';
|
|
41
|
+
import { useSigV4 } from './useSigV4';
|
|
42
|
+
import { useRuntimeConfig } from './useRuntimeConfig';
|
|
43
|
+
import { useMemo } from 'react';
|
|
44
|
+
|
|
45
|
+
export const useTestApi = (): TestApi => {
|
|
46
|
+
const runtimeConfig = useRuntimeConfig();
|
|
47
|
+
const apiUrl = runtimeConfig.httpApis.TestApi;
|
|
48
|
+
const sigv4Client = useSigV4();
|
|
49
|
+
return useMemo(
|
|
50
|
+
() =>
|
|
51
|
+
new TestApi({
|
|
52
|
+
url: apiUrl,
|
|
53
|
+
fetch: sigv4Client,
|
|
54
|
+
}),
|
|
55
|
+
[apiUrl, sigv4Client],
|
|
56
|
+
);
|
|
57
|
+
};
|
|
58
|
+
"
|
|
59
|
+
`;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from fastapi.openapi.utils import get_openapi
|
|
2
|
+
from <%= moduleName %>.main import app
|
|
3
|
+
import json, os, sys
|
|
4
|
+
|
|
5
|
+
os.makedirs(os.path.dirname(sys.argv[1]), exist_ok=True)
|
|
6
|
+
with open(sys.argv[1], 'w') as f:
|
|
7
|
+
json.dump(get_openapi(
|
|
8
|
+
title=app.title,
|
|
9
|
+
version=app.version,
|
|
10
|
+
openapi_version=app.openapi_version,
|
|
11
|
+
description=app.description,
|
|
12
|
+
routes=app.routes,
|
|
13
|
+
), f)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { <%- apiNameClassName %> } from '../<%- generatedClientDir %>/client.gen';
|
|
2
|
+
<%_ if(auth === 'IAM') { _%>
|
|
3
|
+
import { useSigV4 } from './useSigV4';
|
|
4
|
+
<%_ } _%>
|
|
5
|
+
import { useRuntimeConfig } from './useRuntimeConfig';
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
|
|
8
|
+
export const use<%- apiNameClassName %> = (): <%- apiNameClassName %> => {
|
|
9
|
+
const runtimeConfig = useRuntimeConfig();
|
|
10
|
+
const apiUrl = runtimeConfig.httpApis.<%- apiNameClassName %>;
|
|
11
|
+
<%_ if(auth === 'IAM') { _%>
|
|
12
|
+
const sigv4Client = useSigV4();
|
|
13
|
+
<%_ } _%>
|
|
14
|
+
return useMemo(() => new <%- apiNameClassName %>({
|
|
15
|
+
url: apiUrl,
|
|
16
|
+
<%_ if(auth === 'IAM') { _%>
|
|
17
|
+
fetch: sigv4Client,
|
|
18
|
+
<%_ } _%>
|
|
19
|
+
}), [apiUrl<% if(auth === 'IAM') { %>, sigv4Client<% } %>])
|
|
20
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
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 { FastApiReactGeneratorSchema } from './schema';
|
|
7
|
+
export declare const fastApiReactGenerator: (tree: Tree, options: FastApiReactGeneratorSchema) => Promise<() => void>;
|
|
8
|
+
export default fastApiReactGenerator;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fastApiReactGenerator = 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 devkit_1 = require("@nx/devkit");
|
|
10
|
+
const generator_1 = require("../../../cloudscape-website/runtime-config/generator");
|
|
11
|
+
const lodash_snakecase_1 = tslib_1.__importDefault(require("lodash.snakecase"));
|
|
12
|
+
const path = tslib_1.__importStar(require("path"));
|
|
13
|
+
const lodash_kebabcase_1 = tslib_1.__importDefault(require("lodash.kebabcase"));
|
|
14
|
+
const nx_1 = require("../../../utils/nx");
|
|
15
|
+
const names_1 = require("../../../utils/names");
|
|
16
|
+
const format_1 = require("../../../utils/format");
|
|
17
|
+
const versions_1 = require("../../../utils/versions");
|
|
18
|
+
const git_1 = require("../../../utils/git");
|
|
19
|
+
const fastApiReactGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
21
|
+
const frontendProjectConfig = (0, devkit_1.readProjectConfiguration)(tree, options.frontendProjectName);
|
|
22
|
+
const fastApiProjectConfig = (0, devkit_1.readProjectConfiguration)(tree, options.fastApiProjectName);
|
|
23
|
+
const moduleName = getFastApiModuleName(fastApiProjectConfig);
|
|
24
|
+
// Add OpenAPI spec generation script to FastAPI spec (if it does not exist already)
|
|
25
|
+
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files/fast-api'), fastApiProjectConfig.root, {
|
|
26
|
+
moduleName,
|
|
27
|
+
});
|
|
28
|
+
// Instrument the script as part of the fastapi project build
|
|
29
|
+
const fastApiOpenApiDist = (0, devkit_1.joinPathFragments)('dist', fastApiProjectConfig.root, 'openapi');
|
|
30
|
+
const specPath = (0, devkit_1.joinPathFragments)(fastApiOpenApiDist, 'openapi.json');
|
|
31
|
+
(0, devkit_1.updateProjectConfiguration)(tree, options.fastApiProjectName, Object.assign(Object.assign({}, fastApiProjectConfig), { targets: (0, nx_1.sortObjectKeys)(Object.assign(Object.assign({}, fastApiProjectConfig.targets), { build: Object.assign(Object.assign({}, (_a = fastApiProjectConfig.targets) === null || _a === void 0 ? void 0 : _a.build), { dependsOn: [
|
|
32
|
+
...((_d = (_c = (_b = fastApiProjectConfig.targets) === null || _b === void 0 ? void 0 : _b.build) === null || _c === void 0 ? void 0 : _c.dependsOn) !== null && _d !== void 0 ? _d : []).filter((t) => t !== 'openapi'),
|
|
33
|
+
'openapi',
|
|
34
|
+
] }), openapi: {
|
|
35
|
+
cache: true,
|
|
36
|
+
executor: 'nx:run-commands',
|
|
37
|
+
outputs: [(0, devkit_1.joinPathFragments)('{workspaceRoot}', fastApiOpenApiDist)],
|
|
38
|
+
options: {
|
|
39
|
+
commands: [
|
|
40
|
+
`uv run python ${(0, devkit_1.joinPathFragments)(fastApiProjectConfig.root, 'scripts', 'generate_open_api.py')} "${specPath}"`,
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
} })) }));
|
|
44
|
+
const apiName = (_e = fastApiProjectConfig.metadata) === null || _e === void 0 ? void 0 : _e.apiName;
|
|
45
|
+
const clientGenTarget = `generate:${(0, lodash_kebabcase_1.default)(apiName)}-client`;
|
|
46
|
+
const generatedClientDir = (0, devkit_1.joinPathFragments)('generated', (0, lodash_kebabcase_1.default)(apiName));
|
|
47
|
+
const generatedClientDirFromRoot = (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, generatedClientDir);
|
|
48
|
+
// Add TypeScript client generation to Frontend project.json
|
|
49
|
+
(0, devkit_1.updateProjectConfiguration)(tree, options.frontendProjectName, Object.assign(Object.assign({}, frontendProjectConfig), { targets: (0, nx_1.sortObjectKeys)(Object.assign(Object.assign({}, frontendProjectConfig.targets), {
|
|
50
|
+
// Generate should run before compile as the client is created as part of the website src
|
|
51
|
+
compile: Object.assign(Object.assign({}, (_f = frontendProjectConfig.targets) === null || _f === void 0 ? void 0 : _f.build), { dependsOn: [
|
|
52
|
+
...((_j = (_h = (_g = frontendProjectConfig.targets) === null || _g === void 0 ? void 0 : _g.build) === null || _h === void 0 ? void 0 : _h.dependsOn) !== null && _j !== void 0 ? _j : []).filter((t) => t !== clientGenTarget),
|
|
53
|
+
clientGenTarget,
|
|
54
|
+
] }), [clientGenTarget]: {
|
|
55
|
+
cache: true,
|
|
56
|
+
executor: 'nx:run-commands',
|
|
57
|
+
inputs: [
|
|
58
|
+
{
|
|
59
|
+
dependentTasksOutputFiles: '**/*.json',
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
outputs: [
|
|
63
|
+
(0, devkit_1.joinPathFragments)('{workspaceRoot}', generatedClientDirFromRoot),
|
|
64
|
+
],
|
|
65
|
+
options: {
|
|
66
|
+
commands: [
|
|
67
|
+
`nx g @aws/nx-plugin:open-api#ts-client --openApiSpecPath="${specPath}" --outputPath="${generatedClientDirFromRoot}" --no-interactive`,
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
dependsOn: [`${options.fastApiProjectName}:openapi`],
|
|
71
|
+
} })) }));
|
|
72
|
+
const relativeSrcDir = frontendProjectConfig.sourceRoot.slice(frontendProjectConfig.root.length + 1);
|
|
73
|
+
// Ignore the generated client by default
|
|
74
|
+
// Users can safely remove the entry from the .gitignore if they prefer to check it in
|
|
75
|
+
(0, git_1.updateGitIgnore)(tree, frontendProjectConfig.root, (patterns) => [
|
|
76
|
+
...patterns,
|
|
77
|
+
(0, devkit_1.joinPathFragments)(relativeSrcDir, generatedClientDir),
|
|
78
|
+
]);
|
|
79
|
+
// Ensure that the frontend has runtime config as we'll use the url for creating the client
|
|
80
|
+
yield (0, generator_1.runtimeConfigGenerator)(tree, {
|
|
81
|
+
project: options.frontendProjectName,
|
|
82
|
+
});
|
|
83
|
+
// Add sigv4 fetch
|
|
84
|
+
if (options.auth === 'IAM') {
|
|
85
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../../../utils/files/website/hooks/sigv4'), (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'hooks'), {});
|
|
86
|
+
}
|
|
87
|
+
// Add a hook to instantiate the client
|
|
88
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'website'), frontendProjectConfig.sourceRoot, {
|
|
89
|
+
auth: options.auth,
|
|
90
|
+
apiName,
|
|
91
|
+
apiNameClassName: (0, names_1.toClassName)(apiName),
|
|
92
|
+
generatedClientDir,
|
|
93
|
+
});
|
|
94
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
|
|
95
|
+
...(options.auth === 'IAM'
|
|
96
|
+
? [
|
|
97
|
+
'oidc-client-ts',
|
|
98
|
+
'react-oidc-context',
|
|
99
|
+
'@aws-sdk/client-cognito-identity',
|
|
100
|
+
'@aws-sdk/credential-provider-cognito-identity',
|
|
101
|
+
'aws4fetch',
|
|
102
|
+
]
|
|
103
|
+
: []),
|
|
104
|
+
]), (0, versions_1.withVersions)(['@smithy/types']));
|
|
105
|
+
yield (0, format_1.formatFilesInSubtree)(tree);
|
|
106
|
+
return () => {
|
|
107
|
+
(0, devkit_1.installPackagesTask)(tree);
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
exports.fastApiReactGenerator = fastApiReactGenerator;
|
|
111
|
+
const getFastApiModuleName = (projectConfig) => {
|
|
112
|
+
var _a;
|
|
113
|
+
if (projectConfig.sourceRoot) {
|
|
114
|
+
const sourceRootParts = projectConfig.sourceRoot.split('/');
|
|
115
|
+
return sourceRootParts[sourceRootParts.length - 1];
|
|
116
|
+
}
|
|
117
|
+
const apiName = (_a = projectConfig.metadata) === null || _a === void 0 ? void 0 : _a.apiName;
|
|
118
|
+
if (apiName) {
|
|
119
|
+
return (0, lodash_snakecase_1.default)(apiName);
|
|
120
|
+
}
|
|
121
|
+
new Error(`Could not determine sourceRoot for project ${projectConfig.name}`);
|
|
122
|
+
};
|
|
123
|
+
exports.default = exports.fastApiReactGenerator;
|
|
124
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/py/fast-api/react/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "FastAPIReact",
|
|
4
|
+
"title": "Integrate a Python FastAPI with a react website",
|
|
5
|
+
"description": "Integrate a Python FastAPI with a react website",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"frontendProjectName": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "",
|
|
11
|
+
"$default": {
|
|
12
|
+
"$source": "argv",
|
|
13
|
+
"index": 0
|
|
14
|
+
},
|
|
15
|
+
"x-prompt": "React application's project name.",
|
|
16
|
+
"x-dropdown": "projects"
|
|
17
|
+
},
|
|
18
|
+
"fastApiProjectName": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "",
|
|
21
|
+
"x-prompt": "Package containing your FastAPI backend",
|
|
22
|
+
"x-dropdown": "projects"
|
|
23
|
+
},
|
|
24
|
+
"auth": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "",
|
|
27
|
+
"enum": ["IAM", "None"],
|
|
28
|
+
"x-prompt": "Select your API authentication strategy",
|
|
29
|
+
"default": "IAM"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"required": ["frontendProjectName", "fastApiProjectName"]
|
|
33
|
+
}
|
|
@@ -27,8 +27,8 @@ function reactGenerator(tree, options) {
|
|
|
27
27
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), frontendProjectConfig.root, Object.assign(Object.assign({ apiName, apiNameClassName: (0, names_1.toClassName)(apiName) }, options), { backendProjectAlias: (0, npm_scope_1.toScopeAlias)(options.backendProjectName) }), {
|
|
28
28
|
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
29
29
|
});
|
|
30
|
-
if (options.auth
|
|
31
|
-
tree.
|
|
30
|
+
if (options.auth === 'IAM') {
|
|
31
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../../utils/files/website/hooks/sigv4'), (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'hooks'), {});
|
|
32
32
|
}
|
|
33
33
|
yield (0, generator_1.runtimeConfigGenerator)(tree, {
|
|
34
34
|
project: options.frontendProjectName,
|
|
@@ -108,14 +108,17 @@ function reactGenerator(tree, options) {
|
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
|
|
111
|
-
'@aws-sdk/client-cognito-identity',
|
|
112
|
-
'@aws-sdk/credential-provider-cognito-identity',
|
|
113
111
|
'@trpc/client',
|
|
114
112
|
'@trpc/react-query',
|
|
115
113
|
'@tanstack/react-query',
|
|
116
|
-
'aws4fetch',
|
|
117
114
|
...(options.auth === 'IAM'
|
|
118
|
-
? [
|
|
115
|
+
? [
|
|
116
|
+
'oidc-client-ts',
|
|
117
|
+
'aws4fetch',
|
|
118
|
+
'@aws-sdk/client-cognito-identity',
|
|
119
|
+
'@aws-sdk/credential-provider-cognito-identity',
|
|
120
|
+
'react-oidc-context',
|
|
121
|
+
]
|
|
119
122
|
: []),
|
|
120
123
|
]), (0, versions_1.withVersions)(['@smithy/types']));
|
|
121
124
|
yield (0, format_1.formatFilesInSubtree)(tree);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":";;AAyCA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/trpc/react/generator.ts"],"names":[],"mappings":"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"}
|
package/src/utils/git.d.ts
CHANGED
|
@@ -7,3 +7,7 @@ import { Tree } from '@nx/devkit';
|
|
|
7
7
|
* Returns all files from the tree root that are not gitignored (both tracked and untracked)
|
|
8
8
|
*/
|
|
9
9
|
export declare const getGitIncludedFiles: (tree: Tree) => string[];
|
|
10
|
+
/**
|
|
11
|
+
* Update a .gitignore file. Will create a new .gitignore file if it does not exist
|
|
12
|
+
*/
|
|
13
|
+
export declare const updateGitIgnore: (tree: Tree, dir: string, doUpdate: (patterns: string[]) => string[]) => void;
|
package/src/utils/git.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getGitIncludedFiles = void 0;
|
|
3
|
+
exports.updateGitIgnore = exports.getGitIncludedFiles = 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 devkit_1 = require("@nx/devkit");
|
|
4
10
|
const child_process_1 = require("child_process");
|
|
11
|
+
const lodash_uniqby_1 = tslib_1.__importDefault(require("lodash.uniqby"));
|
|
5
12
|
/**
|
|
6
13
|
* Returns all files from the tree root that are not gitignored (both tracked and untracked)
|
|
7
14
|
*/
|
|
@@ -24,4 +31,15 @@ const getGitIncludedFiles = (tree) => {
|
|
|
24
31
|
];
|
|
25
32
|
};
|
|
26
33
|
exports.getGitIncludedFiles = getGitIncludedFiles;
|
|
34
|
+
/**
|
|
35
|
+
* Update a .gitignore file. Will create a new .gitignore file if it does not exist
|
|
36
|
+
*/
|
|
37
|
+
const updateGitIgnore = (tree, dir, doUpdate) => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const gitIgnorePath = (0, devkit_1.joinPathFragments)(dir, '.gitignore');
|
|
40
|
+
const existingPatterns = (_b = (_a = tree.read(gitIgnorePath, 'utf-8')) === null || _a === void 0 ? void 0 : _a.split('\n')) !== null && _b !== void 0 ? _b : [];
|
|
41
|
+
const newPatterns = doUpdate(existingPatterns);
|
|
42
|
+
tree.write(gitIgnorePath, (0, lodash_uniqby_1.default)(newPatterns, (p) => p).join('\n'));
|
|
43
|
+
};
|
|
44
|
+
exports.updateGitIgnore = updateGitIgnore;
|
|
27
45
|
//# sourceMappingURL=git.js.map
|
package/src/utils/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/git.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/git.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAAqD;AACrD,iDAAyC;AACzC,0EAAmC;AAEnC;;GAEG;AACI,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAY,EAAE;IAC1D,OAAO;QACL,oBAAoB;QACpB,GAAG,IAAA,wBAAQ,EAAC,iCAAiC,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,IAAI,CAAC,IAAI;SACf,CAAC;aACC,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnB,sCAAsC;QACtC,GAAG,IAAA,wBAAQ,EAAC,0CAA0C,EAAE;YACtD,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,IAAI,CAAC,IAAI;SACf,CAAC;aACC,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KACpB,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B;AAEF;;GAEG;AACI,MAAM,eAAe,GAAG,CAC7B,IAAU,EACV,GAAW,EACX,QAA0C,EAC1C,EAAE;;IACF,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,0CAAE,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;IAC9E,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAA,uBAAM,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B"}
|
package/src/utils/toml.d.ts
CHANGED
|
@@ -8,3 +8,7 @@ import TOML from '@iarna/toml';
|
|
|
8
8
|
* Update a toml file
|
|
9
9
|
*/
|
|
10
10
|
export declare const updateToml: (tree: Tree, filePath: string, updater: (prev: TOML.JsonMap) => TOML.JsonMap) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Read a toml file
|
|
13
|
+
*/
|
|
14
|
+
export declare const readToml: (tree: Tree, filePath: string) => TOML.JsonMap;
|