@aws/nx-plugin 0.8.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/LICENSE-THIRD-PARTY +53 -28
- package/generators.json +12 -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 +6985 -0
- package/src/open-api/ts-client/files/client.gen.ts.template +368 -0
- package/src/open-api/ts-client/files/types.gen.ts.template +60 -0
- package/src/open-api/ts-client/generator.d.ts +16 -0
- package/src/open-api/ts-client/generator.js +32 -0
- package/src/open-api/ts-client/generator.js.map +1 -0
- package/src/open-api/ts-client/schema.d.ts +9 -0
- package/src/open-api/ts-client/schema.json +20 -0
- package/src/open-api/ts-hooks/generator.js +6 -2
- package/src/open-api/ts-hooks/generator.js.map +1 -1
- package/src/open-api/utils/codegen-data/languages.d.ts +1 -0
- package/src/open-api/utils/codegen-data/languages.js +6 -1
- package/src/open-api/utils/codegen-data/languages.js.map +1 -1
- package/src/open-api/utils/codegen-data/types.d.ts +5 -0
- package/src/open-api/utils/codegen-data/types.js.map +1 -1
- package/src/open-api/utils/codegen-data.js +165 -33
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/open-api/utils/normalise.js +59 -10
- 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
|
@@ -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;
|
package/src/utils/toml.js
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateToml = void 0;
|
|
3
|
+
exports.readToml = exports.updateToml = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const toml_1 = tslib_1.__importDefault(require("@iarna/toml"));
|
|
6
6
|
/**
|
|
7
7
|
* Update a toml file
|
|
8
8
|
*/
|
|
9
9
|
const updateToml = (tree, filePath, updater) => {
|
|
10
|
-
|
|
11
|
-
throw new Error(`Cannot update toml file ${filePath} as it does not exist`);
|
|
12
|
-
}
|
|
13
|
-
const prev = toml_1.default.parse(tree.read(filePath, 'utf-8'));
|
|
10
|
+
const prev = (0, exports.readToml)(tree, filePath);
|
|
14
11
|
tree.write(filePath, toml_1.default.stringify(updater(prev)));
|
|
15
12
|
};
|
|
16
13
|
exports.updateToml = updateToml;
|
|
14
|
+
/**
|
|
15
|
+
* Read a toml file
|
|
16
|
+
*/
|
|
17
|
+
const readToml = (tree, filePath) => {
|
|
18
|
+
if (!tree.exists(filePath)) {
|
|
19
|
+
throw new Error(`${filePath} does not exist`);
|
|
20
|
+
}
|
|
21
|
+
return toml_1.default.parse(tree.read(filePath, 'utf-8'));
|
|
22
|
+
};
|
|
23
|
+
exports.readToml = readToml;
|
|
17
24
|
//# sourceMappingURL=toml.js.map
|
package/src/utils/toml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toml.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/toml.ts"],"names":[],"mappings":";;;;AAKA,+DAA+B;AAE/B;;GAEG;AACI,MAAM,UAAU,GAAG,CACxB,IAAU,EACV,QAAgB,EAChB,OAA6C,EAC7C,EAAE;IACF,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"toml.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/toml.ts"],"names":[],"mappings":";;;;AAKA,+DAA+B;AAE/B;;GAEG;AACI,MAAM,UAAU,GAAG,CACxB,IAAU,EACV,QAAgB,EAChB,OAA6C,EAC7C,EAAE;IACF,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAPW,QAAA,UAAU,cAOrB;AAEF;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,QAAgB,EAAgB,EAAE;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AALW,QAAA,QAAQ,YAKnB"}
|
/package/src/{trpc/react/files/src/hooks → utils/files/website/hooks/sigv4}/useSigV4.tsx.template
RENAMED
|
File without changes
|