@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.
Files changed (67) hide show
  1. package/README.md +2 -2
  2. package/generators.json +14 -14
  3. package/package.json +1 -1
  4. package/sdk/ts.d.ts +6 -6
  5. package/sdk/ts.js +8 -8
  6. package/sdk/ts.js.map +1 -1
  7. package/src/mcp-server/tools/general-guidance.js +1 -1
  8. package/src/preset/__snapshots__/generator.spec.ts.snap +2 -2
  9. package/src/preset/generator.js +1 -1
  10. package/src/preset/generator.js.map +1 -1
  11. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +0 -1
  12. package/src/py/fast-api/react/generator.js +1 -1
  13. package/src/py/fast-api/react/generator.js.map +1 -1
  14. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +0 -1
  15. package/src/trpc/react/generator.js +1 -1
  16. package/src/trpc/react/generator.js.map +1 -1
  17. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +4038 -0
  18. package/src/{cloudscape-website → ts/react-website}/app/files/app/README.md.template +1 -1
  19. package/src/ts/react-website/app/files/app/src/app.tsx.template +17 -0
  20. package/src/{cloudscape-website → ts/react-website}/app/files/app/src/components/AppLayout/index.tsx.template +20 -19
  21. package/src/{cloudscape-website → ts/react-website}/app/files/app/src/main.tsx.template +3 -4
  22. package/src/ts/react-website/app/files/app/src/styles.css.template +2 -0
  23. package/src/{cloudscape-website/app/files/app → ts/react-website/app/files/tanstack-router}/src/routes/__root.tsx.template +6 -1
  24. package/src/{cloudscape-website/app/files/app/src/routes/welcome → ts/react-website/app/files/tanstack-router/src/routes}/index.tsx.template +2 -2
  25. package/src/ts/react-website/app/generator.d.ts +10 -0
  26. package/src/{cloudscape-website → ts/react-website}/app/generator.js +69 -40
  27. package/src/ts/react-website/app/generator.js.map +1 -0
  28. package/src/{cloudscape-website → ts/react-website}/app/schema.d.ts +3 -1
  29. package/src/{cloudscape-website → ts/react-website}/app/schema.json +17 -3
  30. package/src/{cloudscape-website → ts/react-website}/cognito-auth/__snapshots__/generator.spec.ts.snap +1 -3
  31. package/src/ts/react-website/cognito-auth/generator.d.ts +10 -0
  32. package/src/{cloudscape-website → ts/react-website}/cognito-auth/generator.js +11 -11
  33. package/src/ts/react-website/cognito-auth/generator.js.map +1 -0
  34. package/src/{cloudscape-website → ts/react-website}/cognito-auth/schema.d.ts +1 -1
  35. package/src/{cloudscape-website → ts/react-website}/cognito-auth/schema.json +5 -5
  36. package/src/{cloudscape-website → ts/react-website}/runtime-config/__snapshots__/generator.spec.ts.snap +1 -2
  37. package/src/{cloudscape-website → ts/react-website}/runtime-config/generator.d.ts +1 -1
  38. package/src/{cloudscape-website → ts/react-website}/runtime-config/generator.js +7 -7
  39. package/src/ts/react-website/runtime-config/generator.js.map +1 -0
  40. package/src/utils/ast/website.js +1 -1
  41. package/src/utils/ast/website.js.map +1 -1
  42. package/src/utils/versions.d.ts +4 -1
  43. package/src/utils/versions.js +2 -0
  44. package/src/utils/versions.js.map +1 -1
  45. package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +0 -590
  46. package/src/cloudscape-website/app/files/app/src/components/AppLayout/navitems.ts.template +0 -8
  47. package/src/cloudscape-website/app/files/app/src/routes/index.tsx.template +0 -5
  48. package/src/cloudscape-website/app/files/app/src/styles.css.template +0 -1
  49. package/src/cloudscape-website/app/generator.d.ts +0 -10
  50. package/src/cloudscape-website/app/generator.js.map +0 -1
  51. package/src/cloudscape-website/cognito-auth/generator.d.ts +0 -10
  52. package/src/cloudscape-website/cognito-auth/generator.js.map +0 -1
  53. package/src/cloudscape-website/runtime-config/generator.js.map +0 -1
  54. /package/src/{cloudscape-website → ts/react-website}/app/files/app/src/config.ts.template +0 -0
  55. /package/src/{cloudscape-website → ts/react-website}/app/files/app/src/hooks/useAppLayout.tsx.template +0 -0
  56. /package/src/{cloudscape-website → ts/react-website}/app/files/common/constructs/src/app/static-websites/__websiteNameKebabCase__.ts.template +0 -0
  57. /package/src/{cloudscape-website → ts/react-website}/app/files/common/constructs/src/core/static-website.ts.template +0 -0
  58. /package/src/{cloudscape-website → ts/react-website}/app/files/e2e/cypress/src/e2e/app.cy.ts.template +0 -0
  59. /package/src/{cloudscape-website → ts/react-website}/app/files/e2e/cypress/src/support/app.po.ts.template +0 -0
  60. /package/src/{cloudscape-website → ts/react-website}/app/files/e2e/playwright/src/example.spec.ts.template +0 -0
  61. /package/src/{cloudscape-website/app/files/app → ts/react-website/app/files/tanstack-router}/src/routeTree.gen.ts.template +0 -0
  62. /package/src/{cloudscape-website → ts/react-website}/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +0 -0
  63. /package/src/{cloudscape-website → ts/react-website}/cognito-auth/files/common/constructs/src/core/user-identity.ts.template +0 -0
  64. /package/src/{cloudscape-website → ts/react-website}/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +0 -0
  65. /package/src/{cloudscape-website → ts/react-website}/runtime-config/files/app/hooks/useRuntimeConfig.tsx.template +0 -0
  66. /package/src/{cloudscape-website → ts/react-website}/runtime-config/schema.d.ts +0 -0
  67. /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,8 +0,0 @@
1
- import { SideNavigationProps } from '@cloudscape-design/components';
2
-
3
- /**
4
- * Define your Navigation Items here
5
- */
6
- export const NavItems: SideNavigationProps.Item[] = [
7
- { text: 'Welcome', type: 'link', href: '/welcome' },
8
- ];
@@ -1,5 +0,0 @@
1
- import { createFileRoute, Navigate } from '@tanstack/react-router';
2
-
3
- export const Route = createFileRoute('/')({
4
- component: () => <Navigate to="/welcome" />,
5
- });
@@ -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":"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"}
@@ -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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"}