@aws/nx-plugin 0.37.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/generators.json +14 -14
- package/package.json +1 -1
- package/sdk/ts.d.ts +6 -6
- package/sdk/ts.js +8 -8
- package/sdk/ts.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.js +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/preset/generator.js +1 -1
- package/src/preset/generator.js.map +1 -1
- package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +0 -1
- package/src/py/fast-api/react/generator.js +1 -1
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +0 -1
- package/src/trpc/react/generator.js +1 -1
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +4038 -0
- package/src/{cloudscape-website → ts/react-website}/app/files/app/README.md.template +1 -1
- package/src/ts/react-website/app/files/app/src/app.tsx.template +17 -0
- package/src/{cloudscape-website → ts/react-website}/app/files/app/src/components/AppLayout/index.tsx.template +20 -19
- package/src/{cloudscape-website → ts/react-website}/app/files/app/src/main.tsx.template +3 -4
- package/src/ts/react-website/app/files/app/src/styles.css.template +2 -0
- package/src/{cloudscape-website/app/files/app → ts/react-website/app/files/tanstack-router}/src/routes/__root.tsx.template +6 -1
- package/src/{cloudscape-website/app/files/app/src/routes/welcome → ts/react-website/app/files/tanstack-router/src/routes}/index.tsx.template +2 -2
- package/src/ts/react-website/app/generator.d.ts +10 -0
- package/src/{cloudscape-website → ts/react-website}/app/generator.js +69 -40
- package/src/ts/react-website/app/generator.js.map +1 -0
- package/src/{cloudscape-website → ts/react-website}/app/schema.d.ts +3 -1
- package/src/{cloudscape-website → ts/react-website}/app/schema.json +17 -3
- package/src/{cloudscape-website → ts/react-website}/cognito-auth/__snapshots__/generator.spec.ts.snap +1 -3
- package/src/ts/react-website/cognito-auth/generator.d.ts +10 -0
- package/src/{cloudscape-website → ts/react-website}/cognito-auth/generator.js +11 -11
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -0
- package/src/{cloudscape-website → ts/react-website}/cognito-auth/schema.d.ts +1 -1
- package/src/{cloudscape-website → ts/react-website}/cognito-auth/schema.json +5 -5
- package/src/{cloudscape-website → ts/react-website}/runtime-config/__snapshots__/generator.spec.ts.snap +1 -2
- package/src/{cloudscape-website → ts/react-website}/runtime-config/generator.d.ts +1 -1
- package/src/{cloudscape-website → ts/react-website}/runtime-config/generator.js +7 -7
- package/src/ts/react-website/runtime-config/generator.js.map +1 -0
- package/src/utils/ast/website.js +1 -1
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/versions.d.ts +4 -1
- package/src/utils/versions.js +2 -0
- package/src/utils/versions.js.map +1 -1
- package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +0 -590
- package/src/cloudscape-website/app/files/app/src/components/AppLayout/navitems.ts.template +0 -8
- package/src/cloudscape-website/app/files/app/src/routes/index.tsx.template +0 -5
- package/src/cloudscape-website/app/files/app/src/styles.css.template +0 -1
- package/src/cloudscape-website/app/generator.d.ts +0 -10
- package/src/cloudscape-website/app/generator.js.map +0 -1
- package/src/cloudscape-website/cognito-auth/generator.d.ts +0 -10
- package/src/cloudscape-website/cognito-auth/generator.js.map +0 -1
- package/src/cloudscape-website/runtime-config/generator.js.map +0 -1
- /package/src/{cloudscape-website → ts/react-website}/app/files/app/src/config.ts.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/app/files/app/src/hooks/useAppLayout.tsx.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/app/files/common/constructs/src/app/static-websites/__websiteNameKebabCase__.ts.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/app/files/common/constructs/src/core/static-website.ts.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/app/files/e2e/cypress/src/e2e/app.cy.ts.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/app/files/e2e/cypress/src/support/app.po.ts.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/app/files/e2e/playwright/src/example.spec.ts.template +0 -0
- /package/src/{cloudscape-website/app/files/app → ts/react-website/app/files/tanstack-router}/src/routeTree.gen.ts.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/cognito-auth/files/common/constructs/src/core/user-identity.ts.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/runtime-config/files/app/hooks/useRuntimeConfig.tsx.template +0 -0
- /package/src/{cloudscape-website → ts/react-website}/runtime-config/schema.d.ts +0 -0
- /package/src/{cloudscape-website → ts/react-website}/runtime-config/schema.json +0 -0
|
@@ -1,590 +0,0 @@
|
|
|
1
|
-
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
-
|
|
3
|
-
exports[`cloudscape-website generator > should configure TypeScript correctly > tsconfig.json 1`] = `
|
|
4
|
-
{
|
|
5
|
-
"compilerOptions": {
|
|
6
|
-
"module": "Preserve",
|
|
7
|
-
"moduleResolution": "Bundler",
|
|
8
|
-
},
|
|
9
|
-
"extends": "../tsconfig.base.json",
|
|
10
|
-
"files": [],
|
|
11
|
-
"include": [],
|
|
12
|
-
"references": [
|
|
13
|
-
{
|
|
14
|
-
"path": "./tsconfig.app.json",
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"path": "./tsconfig.spec.json",
|
|
18
|
-
},
|
|
19
|
-
],
|
|
20
|
-
}
|
|
21
|
-
`;
|
|
22
|
-
|
|
23
|
-
exports[`cloudscape-website generator > should configure vite correctly > vite.config.ts 1`] = `
|
|
24
|
-
"import tsconfigPaths from 'vite-tsconfig-paths';
|
|
25
|
-
import { resolve } from 'path';
|
|
26
|
-
import { tanstackRouter } from '@tanstack/router-plugin/vite';
|
|
27
|
-
/// <reference types='vitest' />
|
|
28
|
-
import { defineConfig } from 'vite';
|
|
29
|
-
import react from '@vitejs/plugin-react';
|
|
30
|
-
|
|
31
|
-
export default defineConfig(() => ({
|
|
32
|
-
define: {
|
|
33
|
-
global: {},
|
|
34
|
-
},
|
|
35
|
-
root: __dirname,
|
|
36
|
-
cacheDir: '../node_modules/.vite/test-app',
|
|
37
|
-
server: {
|
|
38
|
-
port: 4200,
|
|
39
|
-
host: 'localhost',
|
|
40
|
-
},
|
|
41
|
-
preview: {
|
|
42
|
-
port: 4300,
|
|
43
|
-
host: 'localhost',
|
|
44
|
-
},
|
|
45
|
-
plugins: [
|
|
46
|
-
tanstackRouter({
|
|
47
|
-
routesDirectory: resolve(__dirname, 'src/routes'),
|
|
48
|
-
generatedRouteTree: resolve(__dirname, 'src/routeTree.gen.ts'),
|
|
49
|
-
}),
|
|
50
|
-
react(),
|
|
51
|
-
tsconfigPaths(),
|
|
52
|
-
],
|
|
53
|
-
build: {
|
|
54
|
-
outDir: '../dist/test-app',
|
|
55
|
-
emptyOutDir: true,
|
|
56
|
-
reportCompressedSize: true,
|
|
57
|
-
commonjsOptions: {
|
|
58
|
-
transformMixedEsModules: true,
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
test: {
|
|
62
|
-
watch: false,
|
|
63
|
-
globals: true,
|
|
64
|
-
environment: 'jsdom',
|
|
65
|
-
include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
|
|
66
|
-
reporters: ['default'],
|
|
67
|
-
coverage: {
|
|
68
|
-
reportsDirectory: './test-output/vitest/coverage',
|
|
69
|
-
provider: 'v8' as const,
|
|
70
|
-
},
|
|
71
|
-
passWithNoTests: true,
|
|
72
|
-
},
|
|
73
|
-
}));
|
|
74
|
-
"
|
|
75
|
-
`;
|
|
76
|
-
|
|
77
|
-
exports[`cloudscape-website generator > should generate base files and structure > app-layout.tsx 1`] = `
|
|
78
|
-
"import * as React from 'react';
|
|
79
|
-
import { createContext, useCallback, useEffect, useState } from 'react';
|
|
80
|
-
import { NavItems } from './navitems';
|
|
81
|
-
import Config from '../../config';
|
|
82
|
-
|
|
83
|
-
import {
|
|
84
|
-
BreadcrumbGroup,
|
|
85
|
-
BreadcrumbGroupProps,
|
|
86
|
-
SideNavigation,
|
|
87
|
-
TopNavigation,
|
|
88
|
-
} from '@cloudscape-design/components';
|
|
89
|
-
import CloudscapeAppLayout, {
|
|
90
|
-
AppLayoutProps,
|
|
91
|
-
} from '@cloudscape-design/components/app-layout';
|
|
92
|
-
import { matchByPath, useLocation, useNavigate } from '@tanstack/react-router';
|
|
93
|
-
import { Outlet } from '@tanstack/react-router';
|
|
94
|
-
|
|
95
|
-
const getBreadcrumbs = (
|
|
96
|
-
pathName: string,
|
|
97
|
-
search: string,
|
|
98
|
-
defaultBreadcrumb: string,
|
|
99
|
-
availableRoutes?: string[],
|
|
100
|
-
) => {
|
|
101
|
-
const segments = [
|
|
102
|
-
defaultBreadcrumb,
|
|
103
|
-
...pathName.split('/').filter((segment) => segment !== ''),
|
|
104
|
-
];
|
|
105
|
-
|
|
106
|
-
return segments.map((segment, i) => {
|
|
107
|
-
const href =
|
|
108
|
-
i === 0
|
|
109
|
-
? '/'
|
|
110
|
-
: \`/\${segments
|
|
111
|
-
.slice(1, i + 1)
|
|
112
|
-
.join('/')
|
|
113
|
-
.replace('//', '/')}\`;
|
|
114
|
-
|
|
115
|
-
const matched =
|
|
116
|
-
!availableRoutes || availableRoutes.find((r) => matchByPath(r, href, {}));
|
|
117
|
-
|
|
118
|
-
return {
|
|
119
|
-
href: matched ? \`\${href}\${search}\` : '#',
|
|
120
|
-
text: segment,
|
|
121
|
-
};
|
|
122
|
-
});
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
export interface AppLayoutContext {
|
|
126
|
-
appLayoutProps: AppLayoutProps;
|
|
127
|
-
setAppLayoutProps: (props: AppLayoutProps) => void;
|
|
128
|
-
displayHelpPanel: (helpContent: React.ReactNode) => void;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Context for updating/retrieving the AppLayout.
|
|
133
|
-
*/
|
|
134
|
-
export const AppLayoutContext = createContext({
|
|
135
|
-
appLayoutProps: {},
|
|
136
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
137
|
-
setAppLayoutProps: (_: AppLayoutProps) => {},
|
|
138
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
139
|
-
displayHelpPanel: (_: React.ReactNode) => {},
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Defines the App layout and contains logic for routing.
|
|
144
|
-
*/
|
|
145
|
-
const AppLayout: React.FC = () => {
|
|
146
|
-
const navigate = useNavigate();
|
|
147
|
-
const appLayout = React.useRef<AppLayoutProps.Ref>(null);
|
|
148
|
-
const [activeBreadcrumbs, setActiveBreadcrumbs] = useState<
|
|
149
|
-
BreadcrumbGroupProps.Item[]
|
|
150
|
-
>([{ text: '/', href: '/' }]);
|
|
151
|
-
const [appLayoutProps, setAppLayoutProps] = useState<AppLayoutProps>({});
|
|
152
|
-
const { pathname, search } = useLocation();
|
|
153
|
-
|
|
154
|
-
const setAppLayoutPropsSafe = useCallback(
|
|
155
|
-
(props: AppLayoutProps) => {
|
|
156
|
-
JSON.stringify(appLayoutProps) !== JSON.stringify(props) &&
|
|
157
|
-
setAppLayoutProps(props);
|
|
158
|
-
},
|
|
159
|
-
[appLayoutProps],
|
|
160
|
-
);
|
|
161
|
-
|
|
162
|
-
useEffect(() => {
|
|
163
|
-
const breadcrumbs = getBreadcrumbs(
|
|
164
|
-
pathname,
|
|
165
|
-
Object.entries(search).reduce((p, [k, v]) => p + \`\${k}=\${v}\`, ''),
|
|
166
|
-
'/',
|
|
167
|
-
);
|
|
168
|
-
setActiveBreadcrumbs(breadcrumbs);
|
|
169
|
-
}, [pathname, search]);
|
|
170
|
-
|
|
171
|
-
const onNavigate = useCallback(
|
|
172
|
-
(e: CustomEvent<{ href: string; external?: boolean }>) => {
|
|
173
|
-
if (!e.detail.external) {
|
|
174
|
-
e.preventDefault();
|
|
175
|
-
setAppLayoutPropsSafe({
|
|
176
|
-
contentType: undefined,
|
|
177
|
-
});
|
|
178
|
-
navigate({ to: e.detail.href });
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
[navigate, setAppLayoutPropsSafe],
|
|
182
|
-
);
|
|
183
|
-
|
|
184
|
-
return (
|
|
185
|
-
<AppLayoutContext.Provider
|
|
186
|
-
value={{
|
|
187
|
-
appLayoutProps,
|
|
188
|
-
setAppLayoutProps: setAppLayoutPropsSafe,
|
|
189
|
-
displayHelpPanel: (helpContent: React.ReactNode) => {
|
|
190
|
-
setAppLayoutPropsSafe({ tools: helpContent, toolsHide: false });
|
|
191
|
-
appLayout.current?.openTools();
|
|
192
|
-
},
|
|
193
|
-
}}
|
|
194
|
-
>
|
|
195
|
-
<TopNavigation
|
|
196
|
-
identity={{
|
|
197
|
-
href: '/',
|
|
198
|
-
title: Config.applicationName,
|
|
199
|
-
logo: {
|
|
200
|
-
src: Config.logo,
|
|
201
|
-
},
|
|
202
|
-
}}
|
|
203
|
-
/>
|
|
204
|
-
<CloudscapeAppLayout
|
|
205
|
-
ref={appLayout}
|
|
206
|
-
breadcrumbs={
|
|
207
|
-
<BreadcrumbGroup onFollow={onNavigate} items={activeBreadcrumbs} />
|
|
208
|
-
}
|
|
209
|
-
toolsHide
|
|
210
|
-
navigation={
|
|
211
|
-
<SideNavigation
|
|
212
|
-
header={{ text: Config.applicationName, href: '/' }}
|
|
213
|
-
activeHref={pathname}
|
|
214
|
-
onFollow={onNavigate}
|
|
215
|
-
items={NavItems}
|
|
216
|
-
/>
|
|
217
|
-
}
|
|
218
|
-
content={<Outlet />}
|
|
219
|
-
{...appLayoutProps}
|
|
220
|
-
/>
|
|
221
|
-
</AppLayoutContext.Provider>
|
|
222
|
-
);
|
|
223
|
-
};
|
|
224
|
-
|
|
225
|
-
export default AppLayout;
|
|
226
|
-
"
|
|
227
|
-
`;
|
|
228
|
-
|
|
229
|
-
exports[`cloudscape-website generator > should generate base files and structure > config.ts 1`] = `
|
|
230
|
-
"export default {
|
|
231
|
-
applicationName: 'test-app',
|
|
232
|
-
logo: 'data:image/svg+xml;base64,PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KDTwhLS0gVXBsb2FkZWQgdG86IFNWRyBSZXBvLCB3d3cuc3ZncmVwby5jb20sIFRyYW5zZm9ybWVkIGJ5OiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyBmaWxsPSIjMjQ4YmFlIiB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZT0iIzI0OGJhZSI+Cg08ZyBpZD0iU1ZHUmVwb19iZ0NhcnJpZXIiIHN0cm9rZS13aWR0aD0iMCIvPgoNPGcgaWQ9IlNWR1JlcG9fdHJhY2VyQ2FycmllciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cg08ZyBpZD0iU1ZHUmVwb19pY29uQ2FycmllciI+Cg08dGl0bGU+aW9uaWNvbnMtdjVfbG9nb3M8L3RpdGxlPgoNPHBhdGggZD0iTTQxMC42NiwxODAuNzJoMHEtNy42Ny0yLjYyLTE1LjQ1LTQuODgsMS4yOS01LjI1LDIuMzgtMTAuNTZjMTEuNy01Ni45LDQuMDUtMTAyLjc0LTIyLjA2LTExNy44My0yNS0xNC40OC02NiwuNjEtMTA3LjM2LDM2LjY5cS02LjEsNS4zNC0xMS45NSwxMS0zLjktMy43Ni04LTcuMzZjLTQzLjM1LTM4LjU4LTg2LjgtNTQuODMtMTEyLjg4LTM5LjY5LTI1LDE0LjUxLTMyLjQzLDU3LjYtMjEuOSwxMTEuNTNxMS41OCw4LDMuNTUsMTUuOTNjLTYuMTUsMS43NS0xMi4wOSwzLjYyLTE3Ljc3LDUuNkM0OC40NiwxOTguOSwxNiwyMjYuNzMsMTYsMjU1LjU5YzAsMjkuODIsMzQuODQsNTkuNzIsODcuNzcsNzcuODVxNi40NCwyLjE5LDEzLDQuMDdRMTE0LjY0LDM0NiwxMTMsMzU0LjY4Yy0xMCw1My0yLjIsOTUuMDcsMjIuNzUsMTA5LjQ5LDI1Ljc3LDE0Ljg5LDY5LS40MSwxMTEuMTQtMzcuMzFxNS00LjM4LDEwLTkuMjUsNi4zMiw2LjExLDEzLDExLjg2YzQwLjgsMzUuMTgsODEuMDksNDkuMzksMTA2LDM0LjkzLDI1Ljc1LTE0Ljk0LDM0LjEyLTYwLjE0LDIzLjI1LTExNS4xM3EtMS4yNS02LjMtMi44OC0xMi44Niw0LjU2LTEuMzUsOC45My0yLjc5YzU1LTE4LjI3LDkwLjgzLTQ3LjgxLDkwLjgzLTc4QzQ5NiwyMjYuNjIsNDYyLjUsMTk4LjYxLDQxMC42NiwxODAuNzJabS0xMjktODEuMDhjMzUuNDMtMzAuOTEsNjguNTUtNDMuMTEsODMuNjUtMzQuMzloMGMxNi4wNyw5LjI5LDIyLjMyLDQ2Ljc1LDEyLjIyLDk1Ljg4cS0xLDQuOC0yLjE2LDkuNTdhNDg3LjgzLDQ4Ny44MywwLDAsMC02NC4xOC0xMC4xNiw0ODEuMjcsNDgxLjI3LDAsMCwwLTQwLjU3LTUwLjc1UTI3NiwxMDQuNTcsMjgxLjY0LDk5LjY0Wk0xNTcuNzMsMjgwLjI1cTYuNTEsMTIuNiwxMy42MSwyNC44OSw3LjIzLDEyLjU0LDE1LjA3LDI0LjcxYTQzNS4yOCw0MzUuMjgsMCwwLDEtNDQuMjQtNy4xM0MxNDYuNDEsMzA5LDE1MS42MywyOTQuNzUsMTU3LjczLDI4MC4yNVptMC00OC4zM2MtNi0xNC4xOS0xMS4wOC0yOC4xNS0xNS4yNS00MS42MywxMy43LTMuMDcsMjguMy01LjU4LDQzLjUyLTcuNDhxLTcuNjUsMTEuOTQtMTQuNzIsMjQuMjNUMTU3LjcsMjMxLjkyWm0xMC45LDI0LjE3cTkuNDgtMTkuNzcsMjAuNDItMzguNzhoMHExMC45My0xOSwyMy4yNy0zNy4xM2MxNC4yOC0xLjA4LDI4LjkyLTEuNjUsNDMuNzEtMS42NXMyOS41Mi41Nyw0My43OSwxLjY2cTEyLjIxLDE4LjA5LDIzLjEzLDM3dDIwLjY5LDM4LjZRMzM0LDI3NS42MywzMjMsMjk0LjczaDBxLTEwLjkxLDE5LTIzLDM3LjI0Yy0xNC4yNSwxLTI5LDEuNTUtNDQsMS41NXMtMjkuNDctLjQ3LTQzLjQ2LTEuMzhxLTEyLjQzLTE4LjE5LTIzLjQ2LTM3LjI5VDE2OC42LDI1Ni4wOVpNMzQwLjc1LDMwNXE3LjI1LTEyLjU4LDEzLjkyLTI1LjQ5aDBhNDQwLjQxLDQ0MC40MSwwLDAsMSwxNi4xMiw0Mi4zMkE0MzQuNDQsNDM0LjQ0LDAsMCwxLDMyNiwzMjkuNDhRMzMzLjYyLDMxNy4zOSwzNDAuNzUsMzA1Wm0xMy43Mi03My4wN3EtNi42NC0xMi42NS0xMy44MS0yNWgwcS03LTEyLjE4LTE0LjU5LTI0LjA2YzE1LjMxLDEuOTQsMzAsNC41Miw0My43Nyw3LjY3QTQzOS44OSw0MzkuODksMCwwLDEsMzU0LjQ3LDIzMS45M1pNMjU2LjIzLDEyNC40OGgwYTQzOS43NSw0MzkuNzUsMCwwLDEsMjguMjUsMzQuMThxLTI4LjM1LTEuMzUtNTYuNzQsMEMyMzcuMDcsMTQ2LjMyLDI0Ni42MiwxMzQuODcsMjU2LjIzLDEyNC40OFpNMTQ1LjY2LDY1Ljg2YzE2LjA2LTkuMzIsNTEuNTcsNCw4OSwzNy4yNywyLjM5LDIuMTMsNC44LDQuMzYsNy4yLDYuNjdBNDkxLjM3LDQ5MS4zNywwLDAsMCwyMDEsMTYwLjUxYTQ5OS4xMiw0OTkuMTIsMCwwLDAtNjQuMDYsMTBxLTEuODMtNy4zNi0zLjMtMTQuODJoMEMxMjQuNTksMTA5LjQ2LDEzMC41OCw3NC42MSwxNDUuNjYsNjUuODZaTTEyMi4yNSwzMTcuNzFxLTYtMS43MS0xMS44NS0zLjcxYy0yMy40LTgtNDIuNzMtMTguNDQtNTYtMjkuODFDNDIuNTIsMjc0LDM2LjUsMjYzLjgzLDM2LjUsMjU1LjU5YzAtMTcuNTEsMjYuMDYtMzkuODUsNjkuNTItNTVxOC4xOS0yLjg1LDE2LjUyLTUuMjFhNDkzLjU0LDQ5My41NCwwLDAsMCwyMy40LDYwLjc1QTUwMi40Niw1MDIuNDYsMCwwLDAsMTIyLjI1LDMxNy43MVptMTExLjEzLDkzLjY3Yy0xOC42MywxNi4zMi0zNy4yOSwyNy44OS01My43NCwzMy43MmgwYy0xNC43OCw1LjIzLTI2LjU1LDUuMzgtMzMuNjYsMS4yNy0xNS4xNC04Ljc1LTIxLjQ0LTQyLjU0LTEyLjg1LTg3Ljg2cTEuNTMtOCwzLjUtMTZhNDgwLjg1LDQ4MC44NSwwLDAsMCw2NC42OSw5LjM5LDUwMS4yLDUwMS4yLDAsMCwwLDQxLjIsNTFDMjM5LjU0LDQwNS44MywyMzYuNDksNDA4LjY1LDIzMy4zOCw0MTEuMzhabTIzLjQyLTIzLjIyYy05LjcyLTEwLjUxLTE5LjQyLTIyLjE0LTI4Ljg4LTM0LjY0cTEzLjc5LjU0LDI4LjA4LjU0YzkuNzgsMCwxOS40Ni0uMjEsMjktLjY0QTQzOS4zMyw0MzkuMzMsMCwwLDEsMjU2LjgsMzg4LjE2Wm0xMjQuNTIsMjguNTljLTIuODYsMTUuNDQtOC42MSwyNS43NC0xNS43MiwyOS44Ni0xNS4xMyw4Ljc4LTQ3LjQ4LTIuNjMtODIuMzYtMzIuNzItNC0zLjQ0LTgtNy4xMy0xMi4wNy0xMWE0ODQuNTQsNDg0LjU0LDAsMCwwLDQwLjIzLTUxLjIsNDc3Ljg0LDQ3Ny44NCwwLDAsMCw2NS0xMC4wNXExLjQ3LDUuOTQsMi42LDExLjY0aDBDMzgzLjgxLDM3Ny41OCwzODQuNSwzOTkuNTYsMzgxLjMyLDQxNi43NVptMTcuNC0xMDIuNjRoMGMtMi42Mi44Ny01LjMyLDEuNzEtOC4wNiwyLjUzYTQ4My4yNiw0ODMuMjYsMCwwLDAtMjQuMzEtNjAuOTQsNDgxLjUyLDQ4MS41MiwwLDAsMCwyMy4zNi02MC4wNmM0LjkxLDEuNDMsOS42OCwyLjkzLDE0LjI3LDQuNTIsNDQuNDIsMTUuMzIsNzEuNTIsMzgsNzEuNTIsNTUuNDNDNDc1LjUsMjc0LjE5LDQ0Ni4yMywyOTguMzMsMzk4LjcyLDMxNC4xMVoiLz4KDTxwYXRoIGQ9Ik0yNTYsMjk4LjU1YTQzLDQzLDAsMSwwLTQyLjg2LTQzQTQyLjkxLDQyLjkxLDAsMCwwLDI1NiwyOTguNTVaIi8+Cg08L2c+Cg08L3N2Zz4=',
|
|
233
|
-
};
|
|
234
|
-
"
|
|
235
|
-
`;
|
|
236
|
-
|
|
237
|
-
exports[`cloudscape-website generator > should generate base files and structure > main.tsx 1`] = `
|
|
238
|
-
"import React from 'react';
|
|
239
|
-
import { createRoot } from 'react-dom/client';
|
|
240
|
-
import { I18nProvider } from '@cloudscape-design/components/i18n';
|
|
241
|
-
import messages from '@cloudscape-design/components/i18n/messages/all.en';
|
|
242
|
-
import { RouterProvider, createRouter } from '@tanstack/react-router';
|
|
243
|
-
import { routeTree } from './routeTree.gen';
|
|
244
|
-
|
|
245
|
-
import '@cloudscape-design/global-styles/index.css';
|
|
246
|
-
|
|
247
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
248
|
-
export type RouterProviderContext = {};
|
|
249
|
-
|
|
250
|
-
const router = createRouter({
|
|
251
|
-
routeTree,
|
|
252
|
-
context: {},
|
|
253
|
-
});
|
|
254
|
-
|
|
255
|
-
// Register the router instance for type safety
|
|
256
|
-
declare module '@tanstack/react-router' {
|
|
257
|
-
interface Register {
|
|
258
|
-
router: typeof router;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
const App = () => {
|
|
263
|
-
return <RouterProvider router={router} context={{}} />;
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
const root = document.getElementById('root');
|
|
267
|
-
root &&
|
|
268
|
-
createRoot(root).render(
|
|
269
|
-
<React.StrictMode>
|
|
270
|
-
<I18nProvider locale="en" messages={[messages]}>
|
|
271
|
-
<App />
|
|
272
|
-
</I18nProvider>
|
|
273
|
-
</React.StrictMode>,
|
|
274
|
-
);
|
|
275
|
-
"
|
|
276
|
-
`;
|
|
277
|
-
|
|
278
|
-
exports[`cloudscape-website generator > should generate base files and structure > welcome-index.tsx 1`] = `
|
|
279
|
-
"import {
|
|
280
|
-
ContentLayout,
|
|
281
|
-
Header,
|
|
282
|
-
SpaceBetween,
|
|
283
|
-
Container,
|
|
284
|
-
} from '@cloudscape-design/components';
|
|
285
|
-
import { createFileRoute } from '@tanstack/react-router';
|
|
286
|
-
|
|
287
|
-
export const Route = createFileRoute('/welcome/')({
|
|
288
|
-
component: RouteComponent,
|
|
289
|
-
});
|
|
290
|
-
|
|
291
|
-
function RouteComponent() {
|
|
292
|
-
return (
|
|
293
|
-
<ContentLayout header={<Header>Welcome</Header>}>
|
|
294
|
-
<SpaceBetween size="l">
|
|
295
|
-
<Container>Welcome to your new Cloudscape website!</Container>
|
|
296
|
-
</SpaceBetween>
|
|
297
|
-
</ContentLayout>
|
|
298
|
-
);
|
|
299
|
-
}
|
|
300
|
-
"
|
|
301
|
-
`;
|
|
302
|
-
|
|
303
|
-
exports[`cloudscape-website generator > should generate shared constructs > common/constructs-app-index.ts 1`] = `
|
|
304
|
-
"export * from './test-app.js';
|
|
305
|
-
"
|
|
306
|
-
`;
|
|
307
|
-
|
|
308
|
-
exports[`cloudscape-website generator > should generate shared constructs > common/constructs-core-index.ts 1`] = `
|
|
309
|
-
"export * from './static-website.js';
|
|
310
|
-
export * from './app.js';
|
|
311
|
-
export * from './runtime-config.js';
|
|
312
|
-
"
|
|
313
|
-
`;
|
|
314
|
-
|
|
315
|
-
exports[`cloudscape-website generator > should generate shared constructs > common/constructs-core-static-website.ts 1`] = `
|
|
316
|
-
"import { CfnJson, CfnOutput, RemovalPolicy, Stack, Token } from 'aws-cdk-lib';
|
|
317
|
-
import { Distribution, ViewerProtocolPolicy } from 'aws-cdk-lib/aws-cloudfront';
|
|
318
|
-
import { S3BucketOrigin } from 'aws-cdk-lib/aws-cloudfront-origins';
|
|
319
|
-
import {
|
|
320
|
-
BlockPublicAccess,
|
|
321
|
-
Bucket,
|
|
322
|
-
BucketEncryption,
|
|
323
|
-
IBucket,
|
|
324
|
-
ObjectOwnership,
|
|
325
|
-
} from 'aws-cdk-lib/aws-s3';
|
|
326
|
-
import { BucketDeployment, Source } from 'aws-cdk-lib/aws-s3-deployment';
|
|
327
|
-
import { Construct } from 'constructs';
|
|
328
|
-
import { RuntimeConfig } from './runtime-config.js';
|
|
329
|
-
import { Key } from 'aws-cdk-lib/aws-kms';
|
|
330
|
-
import { CfnWebACL } from 'aws-cdk-lib/aws-wafv2';
|
|
331
|
-
const DEFAULT_RUNTIME_CONFIG_FILENAME = 'runtime-config.json';
|
|
332
|
-
|
|
333
|
-
export interface StaticWebsiteProps {
|
|
334
|
-
readonly websiteFilePath: string;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Deploys a Static Website using by default a private S3 bucket as an origin and Cloudfront as the entrypoint.
|
|
339
|
-
*
|
|
340
|
-
* This construct configures a webAcl containing rules that are generally applicable to web applications. This
|
|
341
|
-
* provides protection against exploitation of a wide range of vulnerabilities, including some of the high risk
|
|
342
|
-
* and commonly occurring vulnerabilities described in OWASP publications such as OWASP Top 10.
|
|
343
|
-
*
|
|
344
|
-
*/
|
|
345
|
-
export class StaticWebsite extends Construct {
|
|
346
|
-
public readonly websiteBucket: IBucket;
|
|
347
|
-
public readonly cloudFrontDistribution: Distribution;
|
|
348
|
-
public readonly bucketDeployment: BucketDeployment;
|
|
349
|
-
|
|
350
|
-
constructor(
|
|
351
|
-
scope: Construct,
|
|
352
|
-
id: string,
|
|
353
|
-
{ websiteFilePath }: StaticWebsiteProps,
|
|
354
|
-
) {
|
|
355
|
-
super(scope, id);
|
|
356
|
-
this.node.setContext(
|
|
357
|
-
'@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy',
|
|
358
|
-
true,
|
|
359
|
-
);
|
|
360
|
-
|
|
361
|
-
const websiteKey = new Key(this, 'WebsiteKey', {
|
|
362
|
-
enableKeyRotation: true,
|
|
363
|
-
});
|
|
364
|
-
|
|
365
|
-
const accessLogsBucket = new Bucket(this, 'AccessLogsBucket', {
|
|
366
|
-
versioned: false,
|
|
367
|
-
enforceSSL: true,
|
|
368
|
-
autoDeleteObjects: true,
|
|
369
|
-
removalPolicy: RemovalPolicy.DESTROY,
|
|
370
|
-
encryption: BucketEncryption.KMS,
|
|
371
|
-
encryptionKey: websiteKey,
|
|
372
|
-
objectOwnership: ObjectOwnership.OBJECT_WRITER,
|
|
373
|
-
publicReadAccess: false,
|
|
374
|
-
blockPublicAccess: BlockPublicAccess.BLOCK_ALL,
|
|
375
|
-
});
|
|
376
|
-
// S3 Bucket to hold website files
|
|
377
|
-
this.websiteBucket = new Bucket(this, 'WebsiteBucket', {
|
|
378
|
-
versioned: true,
|
|
379
|
-
enforceSSL: true,
|
|
380
|
-
autoDeleteObjects: true,
|
|
381
|
-
removalPolicy: RemovalPolicy.DESTROY,
|
|
382
|
-
encryption: BucketEncryption.KMS,
|
|
383
|
-
encryptionKey: websiteKey,
|
|
384
|
-
objectOwnership: ObjectOwnership.BUCKET_OWNER_ENFORCED,
|
|
385
|
-
publicReadAccess: false,
|
|
386
|
-
blockPublicAccess: BlockPublicAccess.BLOCK_ALL,
|
|
387
|
-
serverAccessLogsPrefix: 'website-access-logs',
|
|
388
|
-
serverAccessLogsBucket: accessLogsBucket,
|
|
389
|
-
});
|
|
390
|
-
// Web ACL
|
|
391
|
-
const wafStack = new CloudfrontWebAcl(this, 'waf');
|
|
392
|
-
|
|
393
|
-
// Cloudfront Distribution
|
|
394
|
-
const logBucket = new Bucket(this, 'DistributionLogBucket', {
|
|
395
|
-
enforceSSL: true,
|
|
396
|
-
autoDeleteObjects: true,
|
|
397
|
-
removalPolicy: RemovalPolicy.DESTROY,
|
|
398
|
-
encryption: BucketEncryption.KMS,
|
|
399
|
-
encryptionKey: websiteKey,
|
|
400
|
-
objectOwnership: ObjectOwnership.BUCKET_OWNER_PREFERRED,
|
|
401
|
-
publicReadAccess: false,
|
|
402
|
-
blockPublicAccess: BlockPublicAccess.BLOCK_ALL,
|
|
403
|
-
serverAccessLogsPrefix: 'distribution-access-logs',
|
|
404
|
-
serverAccessLogsBucket: accessLogsBucket,
|
|
405
|
-
});
|
|
406
|
-
const defaultRootObject = 'index.html';
|
|
407
|
-
this.cloudFrontDistribution = new Distribution(
|
|
408
|
-
this,
|
|
409
|
-
'CloudfrontDistribution',
|
|
410
|
-
{
|
|
411
|
-
webAclId: wafStack.wafArn,
|
|
412
|
-
enableLogging: true,
|
|
413
|
-
logBucket: logBucket,
|
|
414
|
-
defaultBehavior: {
|
|
415
|
-
origin: S3BucketOrigin.withOriginAccessControl(this.websiteBucket),
|
|
416
|
-
viewerProtocolPolicy: ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
417
|
-
},
|
|
418
|
-
defaultRootObject,
|
|
419
|
-
errorResponses: [
|
|
420
|
-
{
|
|
421
|
-
httpStatus: 404, // We need to redirect "key not found errors" to index.html for single page apps
|
|
422
|
-
responseHttpStatus: 200,
|
|
423
|
-
responsePagePath: \`/\${defaultRootObject}\`,
|
|
424
|
-
},
|
|
425
|
-
{
|
|
426
|
-
httpStatus: 403, // We need to redirect reloads from paths (e.g. /foo/bar) to index.html for single page apps
|
|
427
|
-
responseHttpStatus: 200,
|
|
428
|
-
responsePagePath: \`/\${defaultRootObject}\`,
|
|
429
|
-
},
|
|
430
|
-
],
|
|
431
|
-
},
|
|
432
|
-
);
|
|
433
|
-
// Deploy Website
|
|
434
|
-
this.bucketDeployment = new BucketDeployment(this, 'WebsiteDeployment', {
|
|
435
|
-
sources: [
|
|
436
|
-
Source.asset(websiteFilePath),
|
|
437
|
-
Source.jsonData(
|
|
438
|
-
DEFAULT_RUNTIME_CONFIG_FILENAME,
|
|
439
|
-
this.resolveTokens(RuntimeConfig.ensure(this).config),
|
|
440
|
-
),
|
|
441
|
-
],
|
|
442
|
-
destinationBucket: this.websiteBucket,
|
|
443
|
-
// Files in the distribution's edge caches will be invalidated after files are uploaded to the destination bucket.
|
|
444
|
-
distribution: this.cloudFrontDistribution,
|
|
445
|
-
memoryLimit: 1024,
|
|
446
|
-
});
|
|
447
|
-
new CfnOutput(this, 'DistributionDomainName', {
|
|
448
|
-
value: this.cloudFrontDistribution.domainName,
|
|
449
|
-
});
|
|
450
|
-
new CfnOutput(this, 'WebsiteBucketName', {
|
|
451
|
-
value: this.websiteBucket.bucketName,
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
private resolveTokens = (payload: any) => {
|
|
455
|
-
const _payload: Record<string, any> = {};
|
|
456
|
-
Object.entries(payload).forEach(([key, value]) => {
|
|
457
|
-
if (
|
|
458
|
-
Token.isUnresolved(value) ||
|
|
459
|
-
(typeof value === 'string' && value.endsWith('}}'))
|
|
460
|
-
) {
|
|
461
|
-
_payload[key] = new CfnJson(this, \`ResolveToken-\${key}\`, {
|
|
462
|
-
value,
|
|
463
|
-
}).value;
|
|
464
|
-
} else if (typeof value === 'object') {
|
|
465
|
-
_payload[key] = this.resolveTokens(value);
|
|
466
|
-
} else if (Array.isArray(value)) {
|
|
467
|
-
_payload[key] = value.map((v) => this.resolveTokens(v));
|
|
468
|
-
} else {
|
|
469
|
-
_payload[key] = value;
|
|
470
|
-
}
|
|
471
|
-
});
|
|
472
|
-
return _payload;
|
|
473
|
-
};
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
export class CloudfrontWebAcl extends Stack {
|
|
477
|
-
public readonly wafArn;
|
|
478
|
-
constructor(scope: Construct, id: string) {
|
|
479
|
-
super(scope, id, {
|
|
480
|
-
env: {
|
|
481
|
-
region: 'us-east-1',
|
|
482
|
-
account: Stack.of(scope).account,
|
|
483
|
-
},
|
|
484
|
-
crossRegionReferences: true,
|
|
485
|
-
});
|
|
486
|
-
|
|
487
|
-
this.wafArn = new CfnWebACL(this, 'WebAcl', {
|
|
488
|
-
defaultAction: { allow: {} },
|
|
489
|
-
scope: 'CLOUDFRONT',
|
|
490
|
-
visibilityConfig: {
|
|
491
|
-
cloudWatchMetricsEnabled: true,
|
|
492
|
-
metricName: id,
|
|
493
|
-
sampledRequestsEnabled: true,
|
|
494
|
-
},
|
|
495
|
-
rules: [
|
|
496
|
-
{
|
|
497
|
-
name: 'CRSRule',
|
|
498
|
-
priority: 0,
|
|
499
|
-
statement: {
|
|
500
|
-
managedRuleGroupStatement: {
|
|
501
|
-
name: 'AWSManagedRulesCommonRuleSet',
|
|
502
|
-
vendorName: 'AWS',
|
|
503
|
-
},
|
|
504
|
-
},
|
|
505
|
-
visibilityConfig: {
|
|
506
|
-
cloudWatchMetricsEnabled: true,
|
|
507
|
-
metricName: 'MetricForWebACLCDK-CRS',
|
|
508
|
-
sampledRequestsEnabled: true,
|
|
509
|
-
},
|
|
510
|
-
overrideAction: {
|
|
511
|
-
none: {},
|
|
512
|
-
},
|
|
513
|
-
},
|
|
514
|
-
],
|
|
515
|
-
}).attrArn;
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
"
|
|
519
|
-
`;
|
|
520
|
-
|
|
521
|
-
exports[`cloudscape-website generator > should generate shared constructs > test-app.ts 1`] = `
|
|
522
|
-
"import * as url from 'url';
|
|
523
|
-
import { Construct } from 'constructs';
|
|
524
|
-
import { StaticWebsite } from '../../core/index.js';
|
|
525
|
-
|
|
526
|
-
export class TestApp extends StaticWebsite {
|
|
527
|
-
constructor(scope: Construct, id: string) {
|
|
528
|
-
super(scope, id, {
|
|
529
|
-
websiteFilePath: url.fileURLToPath(
|
|
530
|
-
new URL('../../../../../../dist/test-app/bundle', import.meta.url),
|
|
531
|
-
),
|
|
532
|
-
});
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
"
|
|
536
|
-
`;
|
|
537
|
-
|
|
538
|
-
exports[`cloudscape-website generator > should handle custom directory option > custom-dir-main.tsx 1`] = `
|
|
539
|
-
"import React from 'react';
|
|
540
|
-
import { createRoot } from 'react-dom/client';
|
|
541
|
-
import { I18nProvider } from '@cloudscape-design/components/i18n';
|
|
542
|
-
import messages from '@cloudscape-design/components/i18n/messages/all.en';
|
|
543
|
-
import { RouterProvider, createRouter } from '@tanstack/react-router';
|
|
544
|
-
import { routeTree } from './routeTree.gen';
|
|
545
|
-
|
|
546
|
-
import '@cloudscape-design/global-styles/index.css';
|
|
547
|
-
|
|
548
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
549
|
-
export type RouterProviderContext = {};
|
|
550
|
-
|
|
551
|
-
const router = createRouter({
|
|
552
|
-
routeTree,
|
|
553
|
-
context: {},
|
|
554
|
-
});
|
|
555
|
-
|
|
556
|
-
// Register the router instance for type safety
|
|
557
|
-
declare module '@tanstack/react-router' {
|
|
558
|
-
interface Register {
|
|
559
|
-
router: typeof router;
|
|
560
|
-
}
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
const App = () => {
|
|
564
|
-
return <RouterProvider router={router} context={{}} />;
|
|
565
|
-
};
|
|
566
|
-
|
|
567
|
-
const root = document.getElementById('root');
|
|
568
|
-
root &&
|
|
569
|
-
createRoot(root).render(
|
|
570
|
-
<React.StrictMode>
|
|
571
|
-
<I18nProvider locale="en" messages={[messages]}>
|
|
572
|
-
<App />
|
|
573
|
-
</I18nProvider>
|
|
574
|
-
</React.StrictMode>,
|
|
575
|
-
);
|
|
576
|
-
"
|
|
577
|
-
`;
|
|
578
|
-
|
|
579
|
-
exports[`cloudscape-website generator > should handle npm scope prefix correctly > scoped-dependencies 1`] = `
|
|
580
|
-
{
|
|
581
|
-
"@cloudscape-design/board-components": "^3.0.94",
|
|
582
|
-
"@cloudscape-design/components": "^3.0.928",
|
|
583
|
-
"@cloudscape-design/global-styles": "^1.0.38",
|
|
584
|
-
"@tanstack/react-router": "^1.121.16",
|
|
585
|
-
"aws-cdk-lib": "^2.200.0",
|
|
586
|
-
"constructs": "^10.4.2",
|
|
587
|
-
"react": "19.0.0",
|
|
588
|
-
"react-dom": "19.0.0",
|
|
589
|
-
}
|
|
590
|
-
`;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/* You can add global styles to this file, and also import other style files */
|
|
@@ -1,10 +0,0 @@
|
|
|
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 { TsCloudScapeWebsiteGeneratorSchema } from './schema';
|
|
7
|
-
import { NxGeneratorInfo } from '../../utils/nx';
|
|
8
|
-
export declare const CLOUDSCAPE_WEBSITE_APP_GENERATOR_INFO: NxGeneratorInfo;
|
|
9
|
-
export declare function tsCloudScapeWebsiteGenerator(tree: Tree, schema: TsCloudScapeWebsiteGeneratorSchema): Promise<() => void>;
|
|
10
|
-
export default tsCloudScapeWebsiteGenerator;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/app/generator.ts"],"names":[],"mappings":";;;AAuDA,oEAocC;;AA3fD;;;GAGG;AACH,uCAaoB;AACpB,2CAKoB;AAEpB,qCAAiD;AACjD,qEAA0E;AAC1E,yFAGiD;AACjD,qDAAwE;AACxE,oEAAmE;AACnE,mDAAoD;AACpD,6CAA0D;AAC1D,6CAAwE;AACxE,yCAKyB;AACzB,+CAA0D;AAC1D,+BAAgC;AAChC,+CAAoD;AACpD,uCAIwB;AACxB,iDAAsE;AAEzD,QAAA,qCAAqC,GAChD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAE/B,SAAsB,4BAA4B,CAChD,IAAU,EACV,MAA0C;;;QAE1C,MAAM,cAAc,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,GAAG,cAAc,GAAG,oBAAoB,EAAE,CAAC;QACtE,MAAM,kBAAkB,GAAG,IAAA,0BAAiB,EAC1C,MAAA,MAAM,CAAC,SAAS,mCAAI,GAAG,EACvB,oBAAoB,CACrB,CAAC;QACF,mDAAmD;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC;QAC7B,MAAM,IAAA,4BAAoB,EAAC,IAAI,kCAC1B,MAAM,KACT,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,KAAK,EACd,aAAa,EACb,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,QAAQ,EACxB,cAAc,EAAE,IAAI,EACpB,KAAK,EAAE,KAAK,IACZ,CAAC;QAEH,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC;QAE1D,MAAM,oBAAoB,GAAG,IAAA,iCAAwB,EACnD,IAAI,EACJ,kBAAkB,CACnB,CAAC;QACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC;QAC7C,OAAO,CAAC,qBAAqB,CAAC,GAAG;YAC/B,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE;gBACR,WAAW,EAAE,yIAAyI,kBAAkB,uBAAuB;aAChM;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,oFAAoF,IAAA,iBAAS,EAAC,cAAc,CAAC,6HAA6H,kBAAkB,8BAA8B;aACpS;SACF,CAAC;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,SAAS,CAAC,GAAG;YACnB,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE,CAAC,wCAAwC,CAAC;YACnD,OAAO,EAAE;gBACP,OAAO,EAAE,+BAA+B;gBACxC,GAAG,EAAE,eAAe;aACrB;SACF,CAAC;QACF,OAAO,CAAC,QAAQ,CAAC,mCACZ,WAAW,KACd,OAAO,kCACF,WAAW,CAAC,OAAO,KACtB,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,MAEtE,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,GAAG;YACjB,SAAS,EAAE;gBACT,MAAM;gBACN,SAAS;gBACT,QAAQ;gBACR,MAAM;gBACN,GAAG,CAAC,MAAA,WAAW,CAAC,SAAS,mCAAI,EAAE,CAAC;aACjC;YACD,OAAO,EAAE;gBACP,UAAU,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC;aACpE;SACF,CAAC;QAEF,gFAAgF;QAChF,OAAO,CAAC,aAAa,CAAC,GAAG;YACvB,QAAQ,EAAE,qBAAqB;YAC/B,OAAO,EAAE;gBACP,WAAW,EAAE,GAAG,kBAAkB,oBAAoB;gBACtD,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,aAAa;aACpB;YACD,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,oBAAoB,CAAC,OAAO,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;QAEvD,IAAA,mCAA0B,EAAC,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QAC3E,IAAA,yBAAoB,EAClB,IAAI,EACJ,oBAAoB,CAAC,IAAI,EACzB,6CAAqC,CACtC,CAAC;QAEF,IAAA,qCAAkB,EAAC,IAAI,EAAE;YACvB,GAAG,EAAE,kBAAkB;YACvB,kBAAkB;SACnB,CAAC,CAAC;QACH,MAAM,IAAA,6CAAyB,EAAC,IAAI,CAAC,CAAC;QACtC,IACE,CAAC,IAAI,CAAC,MAAM,CACV,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,GAAG,oBAAoB,KAAK,CAC7B,CACF,EACD,CAAC;YACD,MAAM,cAAc,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC;YAC/C,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,SAAS,EACT,OAAO,EACP,mDAAqB,EACrB,KAAK,EACL,KAAK,CACN,EACD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,kCAE/D,MAAM,KACT,cAAc,EACd,UAAU,EAAE,IAAA,wBAAY,EAAC,cAAc,CAAC,EACxC,kBAAkB,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,kBAAkB,CAAC,EACjE,oBAAoB;gBACpB,oBAAoB,KAEtB;gBACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;aAClD,CACF,CAAC;YACF,MAAM,wCAAwC,GAAG,CAAC,IAAI,CAAC,MAAM,CAC3D,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,MAAM,EACN,mBAAmB,CACpB,CACF,CAAC;YACF,IAAI,wCAAwC,EAAE,CAAC;gBAC7C,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,SAAS,EACT,OAAO,EACP,mDAAqB,EACrB,KAAK,EACL,MAAM,CACP,EACD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,KAAK,EAAE,MAAM,CAAC,kCAEhE,MAAM,KACT,cAAc,EACd,UAAU,EAAE,IAAA,wBAAY,EAAC,cAAc,CAAC,EACxC,kBAAkB,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,kBAAkB,CAAC,EACjE,oBAAoB;oBACpB,oBAAoB,KAEtB;oBACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;iBAClD,CACF,CAAC;YACJ,CAAC;YACD,IAAA,mBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,4BAA4B,CAC7B,CAAC;YACF,IAAA,mBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,UAAU,CACX,EACD,KAAK,oBAAoB,KAAK,CAC/B,CAAC;YACF,IAAI,wCAAwC,EAAE,CAAC;gBAC7C,IAAA,mBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,MAAM,EACN,UAAU,CACX,EACD,qBAAqB,CACtB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,cAAc,CAAC,EACtE,CAAC,MAA4B,EAAE,EAAE;;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG;gBAC/B,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC;gBACzC,GAAG,kBAAkB,QAAQ;aAC9B,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QACF,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1D,IAAA,sBAAa,EACX,IAAI,EAAE,0BAA0B;QAChC,IAAA,0BAAiB,EAAC,SAAS,EAAE,aAAa,CAAC,EAAE,6BAA6B;QAC1E,WAAW,kCAEN,MAAM,KACT,kBAAkB,EAClB,SAAS,EAAE,IAAA,iCAAwB,GAAE,CAAC,IAAI,KACzC,sDAAsD;QACzD;YACE,iBAAiB,EAAE,0BAAiB,CAAC,SAAS;SAC/C,CACF,CAAC;QACF,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,qBAAqB,GAAG,GAAG,kBAAkB,MAAM,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC;YAC3E,IAAA,sBAAa,EACX,IAAI,EAAE,0BAA0B;YAChC,IAAA,0BAAiB,EAAC,SAAS,EAAE,eAAe,aAAa,EAAE,CAAC,EAAE,6BAA6B;YAC3F,OAAO,kCACF,MAAM,GAAK,IAAA,cAAK,EAAC,kBAAkB,CAAC,GACzC;gBACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;aAClD,CACF,CAAC;YACF,IAAA,qCAAkB,EAAC,IAAI,EAAE;gBACvB,kBAAkB,EAAE,qBAAqB;gBACzC,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;QACL,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,IAAA,2BAAqB,EACnB,IAAI,EACJ,cAAc,EACd,CAAC,gBAAgB,CAAC,EAClB,8BAA8B,CAC/B,CAAC;YAEF,IAAA,2BAAqB,EAAC,IAAI,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;YAEjE,IAAA,qBAAe,EACb,IAAI,EACJ,cAAc,EACd,eAAe,EACf,qBAAqB,CACtB,CAAC;YAEF,IAAA,qBAAe,EACb,IAAI,EACJ,cAAc,EACd,yBAAyB,EACzB,CAAC,IAA6B,EAAE,EAAE;gBAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrD,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;wBAClE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAsC,CAAC;wBAChE,OAAO,oBAAO,CAAC,wBAAwB,CACrC,OAAO,EACP,oBAAO,CAAC,6BAA6B,CACnC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;4BACvC,IACE,IAAA,iCAAoB,EAAC,SAAS,CAAC;gCAC/B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,QAAQ,EACrC,CAAC;gCACD,OAAO,oBAAO,CAAC,wBAAwB,CACrC,QAAQ,EACR,oBAAO,CAAC,mBAAmB,CACzB,IAAA,0BAAiB,EACf,IAAA,6BAAqB,EAAC,IAAI,EAAE,kBAAkB,CAAC,EAC/C,MAAM,EACN,kBAAkB,CACnB,CACF,CACF,CAAC;4BACJ,CAAC;4BACD,OAAO,SAAS,CAAC;wBACnB,CAAC,CAAC,EACF,IAAI,CACL,CACF,CAAC;oBACJ,CAAC;yBAAM,IACL,IAAA,iCAAoB,EAAC,IAAI,CAAC;wBAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,EACjC,CAAC;wBACD,MAAM,aAAa,GAAG,IAAI,CAAC,WAAqC,CAAC;wBACjE,OAAO,oBAAO,CAAC,wBAAwB,CACrC,SAAS,EACT,oBAAO,CAAC,4BAA4B,CAClC;4BACE,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC1C,SAAS,EACT;gCACE,oBAAO,CAAC,6BAA6B,CAAC;oCACpC,oBAAO,CAAC,wBAAwB,CAC9B,oBAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC3C,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACnC,SAAS,EACT;wCACE,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC;wCACrC,oBAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC;qCAC1C,CACF,CACF;oCACD,oBAAO,CAAC,wBAAwB,CAC9B,oBAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAC9C,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACnC,SAAS,EACT;wCACE,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC;wCACrC,oBAAO,CAAC,mBAAmB,CACzB,sBAAsB,CACvB;qCACF,CACF,CACF;iCACF,CAAC;6BACH,CACF;4BACD,GAAG,aAAa,CAAC,QAAQ;4BACzB,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EACzC,SAAS,EACT,EAAE,CACH;yBACF,EACD,IAAI,CACL,CACF,CAAC;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,OAAO,oBAAO,CAAC,6BAA6B,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACxE,CAAC,CACF,CAAC;YAEF,IAAA,qBAAe,EACb,IAAI,EACJ,cAAc,EACd,yBAAyB,EACzB,CAAC,IAA6B,EAAE,EAAE;gBAChC,OAAO,oBAAO,CAAC,6BAA6B,CAC1C;oBACE,oBAAO,CAAC,wBAAwB,CAC9B,QAAQ,EACR,oBAAO,CAAC,6BAA6B,CACnC;wBACE,oBAAO,CAAC,wBAAwB,CAC9B,QAAQ,EACR,oBAAO,CAAC,6BAA6B,EAAE,CACxC;qBACF,EACD,IAAI,CACL,CACF;oBACD,GAAG,IAAI,CAAC,UAAU;iBACnB,EACD,IAAI,CACL,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC;QAED,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,kBAAkB,EAAE,eAAe,CAAC,EACtD,CAAC,QAAQ,EAAE,EAAE,CAAC,iCACT,QAAQ,KACX,eAAe,kCACV,QAAQ,CAAC,eAAe,KAC3B,gBAAgB,EAAE,SAAS,EAC3B,MAAM,EAAE,UAAU,OAEpB,CACH,CAAC;QACF,MAAM,wBAAwB,GAAG,IAAA,eAAQ,EACvC,IAAA,0BAAiB,EAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAChD,IAAI,CAAC,IAAI,CACV,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,0BAAiB,EAC/B,wBAAwB,EACxB,MAAM,EACN,kBAAkB,EAClB,KAAK,CACN,CAAC;QACF,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAC1D,CAAC,QAAQ,EAAE,EAAE,CAAC,iCACT,QAAQ,KACX,eAAe,kCACV,QAAQ,CAAC,eAAe,KAC3B,MAAM,EAAE,OAAO,EACf,eAAe,EAAE,IAAA,0BAAiB,EAAC,OAAO,EAAE,0BAA0B,CAAC,EACvE,GAAG,EAAE,CAAC,KAAK,CAAC,OAEd,CACH,CAAC;QAEF,IAAA,qCAA4B,EAC1B,IAAI,EACJ,IAAA,uBAAY,EAAC;YACX,+BAA+B;YAC/B,qCAAqC;YACrC,kCAAkC;YAClC,wBAAwB;SACzB,CAAC,EACF,IAAA,uBAAY,EAAC;YACX,yBAAyB;YACzB,4BAA4B;YAC5B,+BAA+B;YAC/B,wBAAwB;YACxB,qBAAqB;SACtB,CAAC,CACH,CAAC;QAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;YAC1C,6CAAqC;SACtC,CAAC,CAAC;QAEH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;QACjC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CAAA;AACD,kBAAe,4BAA4B,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
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 { TsCloudScapeWebsiteAuthGeneratorSchema as TsCloudScapeWebsiteAuthGeneratorSchema } from './schema';
|
|
7
|
-
import { NxGeneratorInfo } from '../../utils/nx';
|
|
8
|
-
export declare const COGNITO_AUTH_GENERATOR_INFO: NxGeneratorInfo;
|
|
9
|
-
export declare function tsCloudScapeWebsiteAuthGenerator(tree: Tree, options: TsCloudScapeWebsiteAuthGeneratorSchema): Promise<() => void>;
|
|
10
|
-
export default tsCloudScapeWebsiteAuthGenerator;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/cloudscape-website/cognito-auth/generator.ts"],"names":[],"mappings":"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"}
|