@aws/nx-plugin 0.121.0 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generators.json +47 -6
- package/package.json +1 -1
- package/src/connection/generator.js +2 -2
- package/src/connection/generator.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +11 -11
- package/src/infra/app/files/app/src/main.ts.template +2 -2
- package/src/infra/app/generator.js +9 -9
- package/src/infra/app/generator.js.map +1 -1
- package/src/infra/app/schema.d.ts +1 -1
- package/src/infra/app/schema.json +1 -1
- package/src/mcp-server/guide-pipeline.js +8 -10
- package/src/mcp-server/guide-pipeline.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +1 -1
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/generator-guide.js +2 -2
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +6 -8
- package/src/preset/generator.d.ts +1 -1
- package/src/preset/generator.js +4 -6
- package/src/preset/generator.js.map +1 -1
- package/src/preset/schema.d.ts +5 -5
- package/src/preset/schema.json +4 -4
- package/src/py/agent/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/py/agent/a2a-connection/generator.js +4 -3
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/files/deploy/Dockerfile.template +3 -3
- package/src/py/agent/generator.js +23 -23
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/generator.js +1 -1
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/py/agent/react-connection/generator.js +4 -4
- package/src/py/agent/react-connection/generator.js.map +1 -1
- package/src/py/agent/schema.d.ts +8 -8
- package/src/py/agent/schema.json +18 -18
- package/src/py/api/generator.d.ts +10 -0
- package/src/py/api/generator.js +25 -0
- package/src/py/api/generator.js.map +1 -0
- package/src/py/api/schema.d.ts +17 -0
- package/src/py/api/schema.json +100 -0
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/py/fast-api/generator.js +10 -10
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/generator.js +1 -1
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/fast-api/schema.d.ts +4 -6
- package/src/py/fast-api/schema.json +15 -15
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +6 -6
- package/src/py/lambda-function/generator.js +9 -9
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.ts +4 -4
- package/src/py/lambda-function/schema.json +7 -7
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/py/mcp-server/generator.js +11 -11
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.d.ts +5 -9
- package/src/py/mcp-server/schema.json +15 -15
- package/src/py/project/generator.js +1 -1
- package/src/py/project/generator.js.map +1 -1
- package/src/py/project/schema.d.ts +1 -1
- package/src/py/project/schema.json +2 -2
- package/src/smithy/project/generator.js +2 -2
- package/src/smithy/project/generator.js.map +1 -1
- package/src/smithy/react-connection/generator.js +1 -1
- package/src/smithy/react-connection/generator.js.map +1 -1
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/smithy/ts/api/generator.js +8 -8
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/smithy/ts/api/schema.d.ts +4 -6
- package/src/smithy/ts/api/schema.json +15 -15
- package/src/terraform/project/generator.js +1 -1
- package/src/terraform/project/generator.js.map +1 -1
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -6
- package/src/trpc/backend/files/src/client/index.ts.template +5 -5
- package/src/trpc/backend/files/src/handler.ts.template +2 -2
- package/src/trpc/backend/generator.js +22 -22
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.ts +4 -4
- package/src/trpc/backend/schema.json +15 -15
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +14 -14
- package/src/trpc/react/generator.js +6 -5
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/agent/a2a-connection/generator.js +4 -3
- package/src/ts/agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/agent/files/deploy/Dockerfile.template +1 -1
- package/src/ts/agent/generator.js +22 -22
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/generator.js +1 -1
- package/src/ts/agent/mcp-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +8 -8
- package/src/ts/agent/react-connection/generator.js +6 -6
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/serve-local.js +2 -2
- package/src/ts/agent/schema.d.ts +8 -8
- package/src/ts/agent/schema.json +18 -18
- package/src/ts/api/generator.d.ts +10 -0
- package/src/ts/api/generator.js +36 -0
- package/src/ts/api/generator.js.map +1 -0
- package/src/ts/api/schema.d.ts +18 -0
- package/src/ts/api/schema.json +105 -0
- package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +1 -0
- package/src/ts/astro-docs/generator.js +1 -0
- package/src/ts/astro-docs/generator.js.map +1 -1
- package/src/ts/docs/generator.d.ts +10 -0
- package/src/ts/docs/generator.js +13 -0
- package/src/ts/docs/generator.js.map +1 -0
- package/src/ts/docs/schema.d.ts +34 -0
- package/src/ts/docs/schema.json +70 -0
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +10 -10
- package/src/ts/lambda-function/generator.js +12 -12
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/schema.d.ts +4 -4
- package/src/ts/lambda-function/schema.json +7 -7
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/mcp-server/generator.js +12 -12
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.d.ts +5 -9
- package/src/ts/mcp-server/schema.json +15 -15
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
- package/src/ts/nx-plugin/generator.js +2 -2
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/rdb/files/prisma.config.ts.template +1 -1
- package/src/ts/rdb/files/scripts/docker-pull.ts.template +1 -1
- package/src/ts/rdb/files/scripts/docker-start.ts.template +3 -3
- package/src/ts/rdb/files/scripts/wait-for-db.ts.template +3 -3
- package/src/ts/rdb/files/src/create-db-user-handler.ts.template +2 -2
- package/src/ts/rdb/files/src/migration-handler.ts.template +2 -2
- package/src/ts/rdb/files/src/prisma.ts.template +2 -2
- package/src/ts/rdb/generator.js +18 -18
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/schema.d.ts +5 -5
- package/src/ts/rdb/schema.json +13 -13
- package/src/ts/rdb/trpc-connection/files/src/middleware/__rdbNameKebab__.ts.template +1 -1
- package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +9 -9
- package/src/ts/react-website/agui/generator.d.ts +2 -2
- package/src/ts/react-website/agui/generator.js +9 -9
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +25 -23
- package/src/ts/react-website/app/files/app/cloudscape/src/components/AppLayout/index.tsx.template +5 -5
- package/src/ts/react-website/app/files/app/cloudscape/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/files/app/cloudscape/src/styles.css.template +1 -1
- package/src/ts/react-website/app/files/app/none/src/components/AppLayout/index.tsx.template +5 -5
- package/src/ts/react-website/app/files/app/none/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/files/app/none/src/styles.css.template +2 -2
- package/src/ts/react-website/app/files/app/shadcn/src/components/AppLayout/index.tsx.template +6 -6
- package/src/ts/react-website/app/files/app/shadcn/src/main.tsx.template +1 -1
- package/src/ts/react-website/app/generator.d.ts +3 -3
- package/src/ts/react-website/app/generator.js +28 -27
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.ts +6 -6
- package/src/ts/react-website/app/schema.json +13 -13
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +3 -3
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +3 -3
- package/src/ts/react-website/cognito-auth/generator.js +9 -9
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/schema.d.ts +2 -2
- package/src/ts/react-website/cognito-auth/schema.json +4 -4
- package/src/ts/website/app/generator.d.ts +10 -0
- package/src/ts/website/app/generator.js +13 -0
- package/src/ts/website/app/generator.js.map +1 -0
- package/src/ts/website/app/schema.d.ts +20 -0
- package/src/ts/website/app/schema.json +97 -0
- package/src/ts/website/auth/generator.d.ts +10 -0
- package/src/ts/website/auth/generator.js +17 -0
- package/src/ts/website/auth/generator.js.map +1 -0
- package/src/ts/website/auth/schema.d.ts +12 -0
- package/src/ts/website/auth/schema.json +46 -0
- package/src/utils/agent-connection/agent-connection.js +1 -1
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +9 -9
- package/src/utils/agent-core-constructs/agent-core-constructs.js +11 -13
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +13 -13
- package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
- package/src/utils/api-constructs/api-constructs.d.ts +3 -3
- package/src/utils/api-constructs/api-constructs.js +4 -6
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +12 -12
- package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +12 -12
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +7 -7
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -10
- package/src/utils/api-constructs/open-api-metadata.d.ts +3 -3
- package/src/utils/api-constructs/open-api-metadata.js +2 -2
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/commands.d.ts +1 -1
- package/src/utils/commands.js +2 -2
- package/src/utils/commands.js.map +1 -1
- package/src/utils/config/__snapshots__/utils.spec.ts.snap +6 -6
- package/src/utils/config/index.d.ts +2 -2
- package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +7 -7
- package/src/utils/connection/open-api/react.d.ts +1 -1
- package/src/utils/connection/open-api/react.js +3 -3
- package/src/utils/containers.d.ts +5 -5
- package/src/utils/containers.js +6 -6
- package/src/utils/containers.js.map +1 -1
- package/src/utils/function-constructs/files/cdk/app/lambda-functions/{__functionNameKebabCase__.ts.template → __nameKebabCase__.ts.template} +1 -1
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/{__functionNameKebabCase__/__functionNameKebabCase__.tf.template → __nameKebabCase__/__nameKebabCase__.tf.template} +7 -7
- package/src/utils/function-constructs/function-constructs.d.ts +4 -4
- package/src/utils/function-constructs/function-constructs.js +5 -7
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/iac-providers.d.ts +3 -3
- package/src/utils/iac-providers.js +1 -1
- package/src/utils/iac.d.ts +2 -2
- package/src/utils/iac.js +6 -6
- package/src/utils/iac.js.map +1 -1
- package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
- package/src/utils/identity-constructs/identity-constructs.js +3 -3
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/rdb-constructs/rdb-constructs.d.ts +4 -4
- package/src/utils/rdb-constructs/rdb-constructs.js +4 -6
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +2 -2
- package/src/utils/shared-constructs.js +3 -3
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/website-constructs/website-constructs.d.ts +2 -2
- package/src/utils/website-constructs/website-constructs.js +4 -6
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
package/src/ts/react-website/app/files/app/cloudscape/src/components/AppLayout/index.tsx.template
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { createContext, useCallback<% if (
|
|
2
|
+
import { createContext, useCallback<% if (tanstackRouter) { %>, useEffect<% } %>, useState } from 'react';
|
|
3
3
|
import Config from '../../config';
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
|
-
<% if (
|
|
6
|
+
<% if (tanstackRouter) { %>BreadcrumbGroup,
|
|
7
7
|
BreadcrumbGroupProps,
|
|
8
8
|
SideNavigation,
|
|
9
9
|
<% } %>TopNavigation,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import CloudscapeAppLayout, {
|
|
12
12
|
AppLayoutProps,
|
|
13
13
|
} from '@cloudscape-design/components/app-layout';
|
|
14
|
-
<% if (
|
|
14
|
+
<% if (tanstackRouter) { %>import { useMatchRoute, useLocation, useNavigate } from '@tanstack/react-router';
|
|
15
15
|
|
|
16
16
|
const getBreadcrumbs = (
|
|
17
17
|
matchRoute: ReturnType<typeof useMatchRoute>,
|
|
@@ -75,7 +75,7 @@ const AppLayout: React.FC<React.PropsWithChildren> = ({ children }) => {
|
|
|
75
75
|
[appLayoutProps],
|
|
76
76
|
);
|
|
77
77
|
|
|
78
|
-
<% if (
|
|
78
|
+
<% if (tanstackRouter) { %>const navigate = useNavigate();
|
|
79
79
|
const [activeBreadcrumbs, setActiveBreadcrumbs] = useState<
|
|
80
80
|
BreadcrumbGroupProps.Item[]
|
|
81
81
|
>([{ text: '/', href: '/' }]);
|
|
@@ -127,7 +127,7 @@ const AppLayout: React.FC<React.PropsWithChildren> = ({ children }) => {
|
|
|
127
127
|
/>
|
|
128
128
|
<CloudscapeAppLayout
|
|
129
129
|
ref={appLayout}
|
|
130
|
-
<% if (
|
|
130
|
+
<% if (tanstackRouter) { %>breadcrumbs={
|
|
131
131
|
<BreadcrumbGroup onFollow={onNavigate} items={activeBreadcrumbs} />
|
|
132
132
|
}
|
|
133
133
|
navigation={
|
|
@@ -3,7 +3,7 @@ import { createRoot } from 'react-dom/client';
|
|
|
3
3
|
import { I18nProvider } from '@cloudscape-design/components/i18n';
|
|
4
4
|
import messages from '@cloudscape-design/components/i18n/messages/all.en';
|
|
5
5
|
import '@cloudscape-design/global-styles/index.css';
|
|
6
|
-
<% if (
|
|
6
|
+
<% if (tanstackRouter) { %>import { RouterProvider, createRouter } from '@tanstack/react-router';
|
|
7
7
|
import { routeTree } from './routeTree.gen';
|
|
8
8
|
|
|
9
9
|
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<% if (
|
|
1
|
+
<% if (tailwind) { %>@import "tailwindcss";
|
|
2
2
|
<% } %>/* You can add global styles to this file, and also import other style files */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
<% if (
|
|
2
|
+
<% if (tanstackRouter) { %>
|
|
3
3
|
import {
|
|
4
4
|
useEffect,
|
|
5
5
|
useMemo,
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from 'react';
|
|
8
8
|
<% } %>
|
|
9
9
|
import Config from '../../config';
|
|
10
|
-
<% if (
|
|
10
|
+
<% if (tanstackRouter) { %>import { Link, useLocation, useMatchRoute } from '@tanstack/react-router';
|
|
11
11
|
|
|
12
12
|
const getBreadcrumbs = (
|
|
13
13
|
matchRoute: ReturnType<typeof useMatchRoute>,
|
|
@@ -46,7 +46,7 @@ import Config from '../../config';
|
|
|
46
46
|
*/
|
|
47
47
|
const AppLayout: React.FC<React.PropsWithChildren> = ({ children }) => {
|
|
48
48
|
|
|
49
|
-
<% if (
|
|
49
|
+
<% if (tanstackRouter) { %>
|
|
50
50
|
const [activeBreadcrumbs, setActiveBreadcrumbs] = useState<{ href: string; text: string }[]>([
|
|
51
51
|
{ text: '/', href: '/' },
|
|
52
52
|
]);
|
|
@@ -85,7 +85,7 @@ const AppLayout: React.FC<React.PropsWithChildren> = ({ children }) => {
|
|
|
85
85
|
</a>
|
|
86
86
|
</div>
|
|
87
87
|
|
|
88
|
-
<% if (
|
|
88
|
+
<% if (tanstackRouter) { %>
|
|
89
89
|
<nav className="app-nav">
|
|
90
90
|
{navItems.map((item) => (
|
|
91
91
|
<Link
|
|
@@ -101,7 +101,7 @@ const AppLayout: React.FC<React.PropsWithChildren> = ({ children }) => {
|
|
|
101
101
|
</div>
|
|
102
102
|
</header>
|
|
103
103
|
<main className="app-main">
|
|
104
|
-
<% if (
|
|
104
|
+
<% if (tanstackRouter) { %>
|
|
105
105
|
<nav className="breadcrumbs" aria-label="Breadcrumb">
|
|
106
106
|
{activeBreadcrumbs.map((crumb, index) => (
|
|
107
107
|
<span className="breadcrumb-segment" key={crumb.href || index}>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { createRoot } from 'react-dom/client';
|
|
3
|
-
<% if (
|
|
3
|
+
<% if (tanstackRouter) { %>import { RouterProvider, createRouter } from '@tanstack/react-router';
|
|
4
4
|
import { routeTree } from './routeTree.gen';
|
|
5
5
|
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<% if (
|
|
1
|
+
<% if (tailwind) { %>@import "tailwindcss";
|
|
2
2
|
<% } %>
|
|
3
3
|
|
|
4
4
|
:root {
|
|
@@ -157,7 +157,7 @@ a {
|
|
|
157
157
|
margin: 0;
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
<% if (
|
|
160
|
+
<% if (tanstackRouter) { %>
|
|
161
161
|
.app-nav {
|
|
162
162
|
display: flex;
|
|
163
163
|
align-items: center;
|
package/src/ts/react-website/app/files/app/shadcn/src/components/AppLayout/index.tsx.template
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from "react"
|
|
2
|
-
import { SidebarInset, SidebarProvider<% if (
|
|
2
|
+
import { SidebarInset, SidebarProvider<% if (tanstackRouter) { %>, SidebarTrigger<% } %> } from "<%= scopeAlias %>common-shadcn/components/ui/sidebar"
|
|
3
3
|
import { Separator } from "<%= scopeAlias %>common-shadcn/components/ui/separator"
|
|
4
4
|
import Config from "../../config"
|
|
5
5
|
|
|
6
|
-
<% if (
|
|
6
|
+
<% if (tanstackRouter) { %>import { Link, useLocation, useMatchRoute } from "@tanstack/react-router"
|
|
7
7
|
import {
|
|
8
8
|
Breadcrumb,
|
|
9
9
|
BreadcrumbItem,
|
|
@@ -46,7 +46,7 @@ const getBreadcrumbs = (
|
|
|
46
46
|
}<% } %>
|
|
47
47
|
|
|
48
48
|
const AppLayout = ({ children }: { children: React.ReactNode }) => {
|
|
49
|
-
<% if (
|
|
49
|
+
<% if (tanstackRouter) { %>
|
|
50
50
|
const [activeBreadcrumbs, setActiveBreadcrumbs] = React.useState<
|
|
51
51
|
{ href: string; text: string }[]
|
|
52
52
|
>([{ text: "/", href: "/" }])
|
|
@@ -65,11 +65,11 @@ const AppLayout = ({ children }: { children: React.ReactNode }) => {
|
|
|
65
65
|
<% } %>
|
|
66
66
|
return (
|
|
67
67
|
<SidebarProvider>
|
|
68
|
-
<% if (
|
|
68
|
+
<% if (tanstackRouter) { %><AppSidebar /><% } %>
|
|
69
69
|
<SidebarInset>
|
|
70
70
|
<header className="supports-backdrop-blur:bg-background/60 sticky top-0 z-10 flex h-16 items-center gap-4 border-b bg-background/80 px-4 backdrop-blur">
|
|
71
71
|
<div className="flex items-center gap-3">
|
|
72
|
-
<% if (
|
|
72
|
+
<% if (tanstackRouter) { %><SidebarTrigger className="-ml-1" /><% } %>
|
|
73
73
|
<Separator orientation="vertical" className="h-6" />
|
|
74
74
|
<div className="flex items-center gap-2">
|
|
75
75
|
<img
|
|
@@ -86,7 +86,7 @@ const AppLayout = ({ children }: { children: React.ReactNode }) => {
|
|
|
86
86
|
</div>
|
|
87
87
|
</header>
|
|
88
88
|
<div className="flex flex-1 flex-col gap-6 p-6 pt-4">
|
|
89
|
-
<% if (
|
|
89
|
+
<% if (tanstackRouter) { %><Breadcrumb>
|
|
90
90
|
<BreadcrumbList>
|
|
91
91
|
{activeBreadcrumbs.map((crumb, index) => (
|
|
92
92
|
<React.Fragment key={crumb.href || index}>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { createRoot } from 'react-dom/client';
|
|
3
|
-
<% if (
|
|
3
|
+
<% if (tanstackRouter) { %>import { RouterProvider, createRouter } from '@tanstack/react-router';
|
|
4
4
|
import { routeTree } from './routeTree.gen';
|
|
5
5
|
import './styles.css';
|
|
6
6
|
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
import { Tree } from '@nx/devkit';
|
|
6
6
|
import { TsReactWebsiteGeneratorSchema } from './schema';
|
|
7
7
|
import { NxGeneratorInfo } from '../../../utils/nx';
|
|
8
|
-
export declare const SUPPORTED_UX_PROVIDERS: readonly ["
|
|
9
|
-
export type
|
|
10
|
-
export type
|
|
8
|
+
export declare const SUPPORTED_UX_PROVIDERS: readonly ["none", "cloudscape", "shadcn"];
|
|
9
|
+
export type UxOption = (typeof SUPPORTED_UX_PROVIDERS)[number];
|
|
10
|
+
export type Ux = UxOption;
|
|
11
11
|
export declare const REACT_WEBSITE_APP_GENERATOR_INFO: NxGeneratorInfo;
|
|
12
12
|
export declare function tsReactWebsiteGenerator(tree: Tree, schema: TsReactWebsiteGeneratorSchema): Promise<() => void>;
|
|
13
13
|
export default tsReactWebsiteGenerator;
|
|
@@ -25,13 +25,13 @@ const shared_shadcn_1 = require("../../../utils/shared-shadcn");
|
|
|
25
25
|
const metrics_1 = require("../../../utils/metrics");
|
|
26
26
|
const website_constructs_1 = require("../../../utils/website-constructs/website-constructs");
|
|
27
27
|
const iac_1 = require("../../../utils/iac");
|
|
28
|
-
exports.SUPPORTED_UX_PROVIDERS = ['
|
|
28
|
+
exports.SUPPORTED_UX_PROVIDERS = ['none', 'cloudscape', 'shadcn'];
|
|
29
29
|
exports.REACT_WEBSITE_APP_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
30
30
|
async function tsReactWebsiteGenerator(tree, schema) {
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
if (
|
|
31
|
+
const tailwind = schema.tailwind ?? true;
|
|
32
|
+
const tanstackRouter = schema.tanstackRouter ?? true;
|
|
33
|
+
const ux = schema.ux ?? 'cloudscape';
|
|
34
|
+
if (ux === 'shadcn' && !tailwind) {
|
|
35
35
|
throw new Error('Shadcn requires TailwindCSS to be enabled.');
|
|
36
36
|
}
|
|
37
37
|
const npmScopePrefix = (0, npm_scope_1.getNpmScopePrefix)(tree);
|
|
@@ -60,8 +60,8 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
60
60
|
const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
|
|
61
61
|
const targets = projectConfiguration.targets;
|
|
62
62
|
// Configure load:runtime-config target based on IaC provider
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
63
|
+
const iac = await (0, iac_1.resolveIac)(tree, schema.iac);
|
|
64
|
+
if (iac === 'cdk') {
|
|
65
65
|
targets['load:runtime-config'] = {
|
|
66
66
|
executor: 'nx:run-commands',
|
|
67
67
|
metadata: {
|
|
@@ -72,7 +72,7 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
72
72
|
},
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
-
else if (
|
|
75
|
+
else if (iac === 'terraform') {
|
|
76
76
|
targets['load:runtime-config'] = {
|
|
77
77
|
executor: 'nx:run-commands',
|
|
78
78
|
metadata: {
|
|
@@ -89,7 +89,7 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
92
|
-
throw new Error(`Unknown
|
|
92
|
+
throw new Error(`Unknown iac: ${iac}. Supported providers are: cdk, terraform`);
|
|
93
93
|
}
|
|
94
94
|
const buildTarget = targets['build'];
|
|
95
95
|
targets['compile'] = {
|
|
@@ -140,20 +140,21 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
140
140
|
projectConfiguration.targets = (0, object_1.sortObjectKeys)(targets);
|
|
141
141
|
(0, devkit_1.updateProjectConfiguration)(tree, fullyQualifiedName, projectConfiguration);
|
|
142
142
|
(0, nx_1.addGeneratorMetadata)(tree, projectConfiguration.name, exports.REACT_WEBSITE_APP_GENERATOR_INFO, {
|
|
143
|
-
|
|
143
|
+
ux,
|
|
144
|
+
framework: 'react',
|
|
144
145
|
});
|
|
145
146
|
await (0, ts_project_utils_1.configureTsProject)(tree, {
|
|
146
147
|
dir: websiteContentPath,
|
|
147
148
|
fullyQualifiedName,
|
|
148
149
|
});
|
|
149
|
-
if (
|
|
150
|
+
if (ux === 'shadcn') {
|
|
150
151
|
await (0, shared_shadcn_1.sharedShadcnGenerator)(tree);
|
|
151
152
|
}
|
|
152
153
|
await (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
|
|
153
|
-
|
|
154
|
+
iac,
|
|
154
155
|
});
|
|
155
156
|
await (0, website_constructs_1.addWebsiteInfra)(tree, {
|
|
156
|
-
|
|
157
|
+
iac,
|
|
157
158
|
websiteProjectName: fullyQualifiedName,
|
|
158
159
|
scopeAlias,
|
|
159
160
|
websiteContentPath: (0, devkit_1.joinPathFragments)('dist', websiteContentPath),
|
|
@@ -172,14 +173,14 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
172
173
|
...schema,
|
|
173
174
|
fullyQualifiedName,
|
|
174
175
|
pkgMgrCmd: (0, pkg_manager_1.getPackageManagerDisplayCommands)().exec,
|
|
175
|
-
|
|
176
|
-
|
|
176
|
+
tailwind,
|
|
177
|
+
tanstackRouter,
|
|
177
178
|
scopeAlias,
|
|
178
179
|
sharedShadcnStylesImport,
|
|
179
180
|
};
|
|
180
181
|
tree.delete((0, devkit_1.joinPathFragments)(libraryRoot, 'src', 'app'));
|
|
181
182
|
const appCommonTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, './files/app/common');
|
|
182
|
-
const appTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, `./files/app/${
|
|
183
|
+
const appTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, `./files/app/${ux.toLowerCase()}`);
|
|
183
184
|
(0, devkit_1.generateFiles)(tree, // the virtual file system
|
|
184
185
|
appCommonTemplatePath, // path to the file templates
|
|
185
186
|
libraryRoot, // destination path of the files
|
|
@@ -194,9 +195,9 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
194
195
|
{
|
|
195
196
|
overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
|
|
196
197
|
});
|
|
197
|
-
if (
|
|
198
|
+
if (tanstackRouter) {
|
|
198
199
|
const routerCommonTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, './files/tanstack-router/common');
|
|
199
|
-
const routerTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, `./files/tanstack-router/${
|
|
200
|
+
const routerTemplatePath = (0, devkit_1.joinPathFragments)(__dirname, `./files/tanstack-router/${ux.toLowerCase()}`);
|
|
200
201
|
(0, devkit_1.generateFiles)(tree, routerCommonTemplatePath, libraryRoot, templateOptions, {
|
|
201
202
|
overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
|
|
202
203
|
});
|
|
@@ -223,23 +224,23 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
223
224
|
const viteConfigPath = (0, devkit_1.joinPathFragments)(libraryRoot, 'vite.config.mts');
|
|
224
225
|
if (tree.exists(viteConfigPath)) {
|
|
225
226
|
// Add Tanstack Router import if enabled
|
|
226
|
-
if (
|
|
227
|
+
if (tanstackRouter) {
|
|
227
228
|
await (0, ast_1.addDestructuredImport)(tree, viteConfigPath, ['tanstackRouter'], '@tanstack/router-plugin/vite');
|
|
228
229
|
await (0, ast_1.addDestructuredImport)(tree, viteConfigPath, ['resolve'], 'path');
|
|
229
230
|
}
|
|
230
231
|
// Add TailwindCSS import if enabled
|
|
231
|
-
if (
|
|
232
|
+
if (tailwind) {
|
|
232
233
|
await (0, ast_1.addSingleImport)(tree, viteConfigPath, 'tailwindcss', '@tailwindcss/vite');
|
|
233
234
|
}
|
|
234
235
|
// Update build.outDir
|
|
235
236
|
const outDir = (0, devkit_1.joinPathFragments)((0, paths_1.getRelativePathToRoot)(tree, fullyQualifiedName), 'dist', websiteContentPath);
|
|
236
237
|
await (0, ast_1.applyGritQL)(tree, viteConfigPath, `\`build: { $bprops }\` where { $bprops <: contains \`outDir: $_\` => \`outDir: '${outDir}'\` }`);
|
|
237
238
|
// Add plugins to the plugins array
|
|
238
|
-
if (
|
|
239
|
+
if (tanstackRouter) {
|
|
239
240
|
// Prepend tanstackRouter (must be first plugin) — rewrite works for both single/multi-element
|
|
240
241
|
await (0, ast_1.applyGritQL)(tree, viteConfigPath, "`plugins: [$items]` => `plugins: [tanstackRouter({ routesDirectory: resolve(__dirname, 'src/routes'), generatedRouteTree: resolve(__dirname, 'src/routeTree.gen.ts') }), $items]` where { $items <: within `defineConfig($_)`, $items <: not contains `tanstackRouter` }");
|
|
241
242
|
}
|
|
242
|
-
if (
|
|
243
|
+
if (tailwind) {
|
|
243
244
|
await (0, ast_1.applyGritQL)(tree, viteConfigPath, '`plugins: [$items]` => `plugins: [$items, tailwindcss()]` where { $items <: within `defineConfig($_)`, $items <: not some `tailwindcss()` }');
|
|
244
245
|
}
|
|
245
246
|
// Use Vite's native tsconfig paths resolution (replaces vite-tsconfig-paths)
|
|
@@ -265,7 +266,7 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
265
266
|
tsBuildInfoFile: (0, devkit_1.joinPathFragments)(distDir, 'tsconfig.lib.tsbuildinfo'),
|
|
266
267
|
lib: ['DOM'],
|
|
267
268
|
},
|
|
268
|
-
references:
|
|
269
|
+
references: ux === 'shadcn'
|
|
269
270
|
? [
|
|
270
271
|
...(tsconfig.references ?? []).filter((ref) => ref.path !== sharedShadcnTsconfigRef),
|
|
271
272
|
{
|
|
@@ -276,18 +277,18 @@ async function tsReactWebsiteGenerator(tree, schema) {
|
|
|
276
277
|
}));
|
|
277
278
|
const devDependencies = ['@nx/react', '@vitest/ui'];
|
|
278
279
|
const dependencies = ['react', 'react-dom'];
|
|
279
|
-
if (
|
|
280
|
+
if (ux === 'cloudscape') {
|
|
280
281
|
dependencies.push('@cloudscape-design/components', '@cloudscape-design/board-components', '@cloudscape-design/global-styles');
|
|
281
282
|
}
|
|
282
|
-
else if (
|
|
283
|
+
else if (ux === 'shadcn') {
|
|
283
284
|
// not required to add any dependencies because dependencies are added by the common/shadcn package.
|
|
284
285
|
}
|
|
285
286
|
// Add TailwindCSS dependencies if enabled
|
|
286
|
-
if (
|
|
287
|
+
if (tailwind) {
|
|
287
288
|
dependencies.push('tailwindcss');
|
|
288
289
|
devDependencies.push('@tailwindcss/vite');
|
|
289
290
|
}
|
|
290
|
-
if (
|
|
291
|
+
if (tanstackRouter) {
|
|
291
292
|
dependencies.push('@tanstack/react-router');
|
|
292
293
|
devDependencies.push('@tanstack/router-plugin', '@tanstack/router-generator', '@tanstack/virtual-file-routes', '@tanstack/router-utils');
|
|
293
294
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/app/generator.ts"],"names":[],"mappings":";;;AAyDA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/app/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { IacOption } from '../../../utils/iac';
|
|
6
|
+
import { UxOption } from './generator';
|
|
7
7
|
|
|
8
8
|
export interface TsReactWebsiteGeneratorSchema {
|
|
9
9
|
name: string;
|
|
10
10
|
directory?: string;
|
|
11
11
|
subDirectory?: string;
|
|
12
12
|
skipInstall?: boolean;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
tanstackRouter?: boolean;
|
|
14
|
+
tailwind?: boolean;
|
|
15
|
+
ux?: UxOption;
|
|
16
|
+
iac: IacOption;
|
|
17
17
|
}
|
|
@@ -35,53 +35,53 @@
|
|
|
35
35
|
"description": "The sub directory the project is placed in. By default this is the project name.",
|
|
36
36
|
"x-prompt": "Which sub directory do you want to create the project in? (By default this is the project name)"
|
|
37
37
|
},
|
|
38
|
-
"
|
|
38
|
+
"ux": {
|
|
39
39
|
"type": "string",
|
|
40
40
|
"description": "The preferred UX provider.",
|
|
41
|
-
"enum": ["
|
|
41
|
+
"enum": ["none", "cloudscape", "shadcn"],
|
|
42
42
|
"x-priority": "important",
|
|
43
|
-
"default": "
|
|
43
|
+
"default": "cloudscape",
|
|
44
44
|
"x-prompt": {
|
|
45
45
|
"message": "Which UX provider should we scaffold for this app?",
|
|
46
46
|
"type": "list",
|
|
47
47
|
"items": [
|
|
48
48
|
{
|
|
49
|
-
"value": "
|
|
49
|
+
"value": "none",
|
|
50
50
|
"label": "None (plain React/Vite without a UI kit)"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
|
-
"value": "
|
|
53
|
+
"value": "cloudscape",
|
|
54
54
|
"label": "Cloudscape (AWS-first components with ready-made layouts)"
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
|
-
"value": "
|
|
57
|
+
"value": "shadcn",
|
|
58
58
|
"label": "Shadcn (shared UI library under packages/common/shadcn)"
|
|
59
59
|
}
|
|
60
60
|
],
|
|
61
|
-
"default": "
|
|
61
|
+
"default": "cloudscape"
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
|
-
"
|
|
64
|
+
"tailwind": {
|
|
65
65
|
"description": "Enable TailwindCSS for utility-first styling.",
|
|
66
66
|
"type": "boolean",
|
|
67
67
|
"default": true,
|
|
68
68
|
"x-priority": "important",
|
|
69
69
|
"x-prompt": "Would you like to enable TailwindCSS for additional styling capabilities?"
|
|
70
70
|
},
|
|
71
|
-
"
|
|
71
|
+
"tanstackRouter": {
|
|
72
72
|
"description": "Enable Tanstack router for type-safe routing.",
|
|
73
73
|
"type": "boolean",
|
|
74
74
|
"default": true,
|
|
75
75
|
"x-priority": "important",
|
|
76
76
|
"x-prompt": "Would you like to enable Tanstack Router for type-safe routing?"
|
|
77
77
|
},
|
|
78
|
-
"
|
|
78
|
+
"iac": {
|
|
79
79
|
"type": "string",
|
|
80
80
|
"description": "The preferred IaC provider. By default this is inherited from your initial selection.",
|
|
81
|
-
"enum": ["
|
|
81
|
+
"enum": ["inherit", "cdk", "terraform"],
|
|
82
82
|
"x-priority": "important",
|
|
83
|
-
"default": "
|
|
84
|
-
"x-prompt": "Which provider would you like to manage your infrastructure? (default:
|
|
83
|
+
"default": "inherit",
|
|
84
|
+
"x-prompt": "Which provider would you like to manage your infrastructure? (default: inherit)"
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
87
|
"required": ["name"],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`cognito-auth generator terraform
|
|
3
|
+
exports[`cognito-auth generator terraform iac > should generate terraform files for cognito auth and snapshot them > terraform-cognito-auth-files 1`] = `
|
|
4
4
|
{
|
|
5
5
|
"add-callback-url.tf": "terraform {
|
|
6
6
|
required_providers {
|
|
@@ -179,7 +179,7 @@ output "user_pool_domain" {
|
|
|
179
179
|
}
|
|
180
180
|
`;
|
|
181
181
|
|
|
182
|
-
exports[`cognito-auth generator terraform
|
|
182
|
+
exports[`cognito-auth generator terraform iac > should place add-callback-url module directly after cloudfront distribution resource > complex-static-website-with-callback-url 1`] = `
|
|
183
183
|
"
|
|
184
184
|
# Some initial resources
|
|
185
185
|
resource "aws_s3_bucket" "website" {
|
|
@@ -249,7 +249,7 @@ output "website_bucket_name" {
|
|
|
249
249
|
"
|
|
250
250
|
`;
|
|
251
251
|
|
|
252
|
-
exports[`cognito-auth generator terraform
|
|
252
|
+
exports[`cognito-auth generator terraform iac > should update static-website.tf with add-callback-url module > static-website-with-callback-url 1`] = `
|
|
253
253
|
"
|
|
254
254
|
module "static_website" {
|
|
255
255
|
source = "../../../core/static-website"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`cognito-auth generator
|
|
3
|
+
exports[`cognito-auth generator ux tests > Cloudscape > should update AppLayout > app-layout-with-auth 1`] = `
|
|
4
4
|
"import { useAuth } from 'react-oidc-context';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { createContext, useCallback, useEffect, useState } from 'react';
|
|
@@ -177,7 +177,7 @@ export default AppLayout;
|
|
|
177
177
|
"
|
|
178
178
|
`;
|
|
179
179
|
|
|
180
|
-
exports[`cognito-auth generator
|
|
180
|
+
exports[`cognito-auth generator ux tests > None > should update AppLayout > app-layout-with-auth 1`] = `
|
|
181
181
|
"import { useAuth } from 'react-oidc-context';
|
|
182
182
|
import * as React from 'react';
|
|
183
183
|
|
|
@@ -332,7 +332,7 @@ export default AppLayout;
|
|
|
332
332
|
"
|
|
333
333
|
`;
|
|
334
334
|
|
|
335
|
-
exports[`cognito-auth generator
|
|
335
|
+
exports[`cognito-auth generator ux tests > Shadcn > should update AppLayout > app-layout-with-auth 1`] = `
|
|
336
336
|
"import { useEffect, useRef, useState } from 'react';
|
|
337
337
|
import { useAuth } from 'react-oidc-context';
|
|
338
338
|
import * as React from 'react';
|
|
@@ -36,12 +36,12 @@ async function tsReactWebsiteAuthGenerator(tree, options) {
|
|
|
36
36
|
await (0, generator_1.runtimeConfigGenerator)(tree, {
|
|
37
37
|
project: options.project,
|
|
38
38
|
});
|
|
39
|
-
const
|
|
39
|
+
const iac = await (0, iac_1.resolveIac)(tree, options.iac);
|
|
40
40
|
await (0, shared_constructs_1.sharedConstructsGenerator)(tree, {
|
|
41
|
-
|
|
41
|
+
iac,
|
|
42
42
|
});
|
|
43
43
|
await (0, identity_constructs_1.addIdentityInfra)(tree, {
|
|
44
|
-
|
|
44
|
+
iac,
|
|
45
45
|
allowSignup: options.allowSignup,
|
|
46
46
|
cognitoDomain,
|
|
47
47
|
});
|
|
@@ -57,7 +57,7 @@ async function tsReactWebsiteAuthGenerator(tree, options) {
|
|
|
57
57
|
contextProp: 'auth',
|
|
58
58
|
});
|
|
59
59
|
const projectConfiguration = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.project);
|
|
60
|
-
const
|
|
60
|
+
const ux = (projectConfiguration.metadata?.ux ?? 'cloudscape').toLowerCase();
|
|
61
61
|
await (0, ast_1.applyGritQL)(tree, mainTsxPath, readGritPattern('cognito-auth-wrapper'));
|
|
62
62
|
// Update App Layout
|
|
63
63
|
const appLayoutTsxPath = (0, devkit_1.joinPathFragments)(srcRoot, 'components', 'AppLayout', 'index.tsx');
|
|
@@ -66,18 +66,18 @@ async function tsReactWebsiteAuthGenerator(tree, options) {
|
|
|
66
66
|
await (0, ast_1.applyGritQL)(tree, appLayoutTsxPath, readGritPattern('app-layout-use-auth'));
|
|
67
67
|
// TODO: update utils if they exist by appending to the array
|
|
68
68
|
// Add a top-level navigation menu that shows the signed-in user's profile and actions
|
|
69
|
-
switch (
|
|
70
|
-
case '
|
|
69
|
+
switch (ux) {
|
|
70
|
+
case 'cloudscape':
|
|
71
71
|
await (0, utils_1.addCloudscapeAuthMenu)(tree, appLayoutTsxPath);
|
|
72
72
|
break;
|
|
73
|
-
case '
|
|
73
|
+
case 'shadcn':
|
|
74
74
|
await (0, utils_1.addShadcnAuthMenu)(tree, appLayoutTsxPath);
|
|
75
75
|
break;
|
|
76
|
-
case '
|
|
76
|
+
case 'none':
|
|
77
77
|
await (0, utils_1.addNoneAuthMenu)(tree, appLayoutTsxPath);
|
|
78
78
|
break;
|
|
79
79
|
default:
|
|
80
|
-
throw new Error(`Top-level navigation menu to show the signed-in user for
|
|
80
|
+
throw new Error(`Top-level navigation menu to show the signed-in user for ux "${ux}" is not implemented.`);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/cognito-auth/generator.ts"],"names":[],"mappings":";;;AAiDA,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/cognito-auth/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { IacOption } from '../../../utils/iac';
|
|
7
7
|
|
|
8
8
|
export interface TsReactWebsiteAuthGeneratorSchema {
|
|
9
9
|
project: string;
|
|
10
10
|
allowSignup: boolean;
|
|
11
11
|
cognitoDomain?: string;
|
|
12
|
-
|
|
12
|
+
iac: IacOption;
|
|
13
13
|
}
|