From 4e1bc8f6dec892ef8d29cea17816660c7000df7f Mon Sep 17 00:00:00 2001 From: Gautam Singh <5769869+gautamsi@users.noreply.github.com> Date: Sun, 30 Jun 2024 02:59:39 -0500 Subject: [PATCH] fix custom ui examples and tests --- .../app/(admin)/.admin/index.tsx | 18 ++++++++++ .../app/(admin)/[listKey]/[id]/page.tsx | 4 +++ .../app/(admin)/[listKey]/create/page.tsx | 4 +++ .../app/(admin)/[listKey]/page.tsx | 4 +++ .../app/(admin)/config.tsx | 1 + .../app/(admin)/layout.tsx | 16 +++++++++ .../app/(admin)/no-access/page.tsx | 4 +++ .../app/(admin)/page.tsx | 2 ++ .../config}/components/CustomNavigation.tsx | 0 .../{admin/config.ts => app/config/index.ts} | 0 .../custom-admin-ui-navigation/app/layout.tsx | 11 ++++++ .../custom-admin-ui-navigation/next-env.d.ts | 5 +++ .../next.config.mjs | 14 ++++++++ .../custom-admin-ui-navigation/tsconfig.json | 34 +++++++++++++++++++ .../app/(admin)/.admin/index.tsx | 18 ++++++++++ .../app/(admin)/[listKey]/[id]/page.tsx | 4 +++ .../app/(admin)/[listKey]/create/page.tsx | 4 +++ .../app/(admin)/[listKey]/page.tsx | 4 +++ .../app/(admin)/config.tsx | 1 + .../(admin)/custom-page/page.tsx} | 9 +++-- .../app/(admin)/layout.tsx | 16 +++++++++ .../app/(admin)/no-access/page.tsx | 4 +++ .../app/(admin)/page.tsx | 2 ++ .../config}/components/CustomNavigation.tsx | 0 .../{admin/config.ts => app/config/index.ts} | 0 examples/custom-admin-ui-pages/app/layout.tsx | 11 ++++++ examples/custom-admin-ui-pages/next-env.d.ts | 5 +++ .../custom-admin-ui-pages/next.config.mjs | 14 ++++++++ examples/custom-admin-ui-pages/tsconfig.json | 34 +++++++++++++++++++ 29 files changed, 238 insertions(+), 5 deletions(-) create mode 100644 examples/custom-admin-ui-navigation/app/(admin)/.admin/index.tsx create mode 100644 examples/custom-admin-ui-navigation/app/(admin)/[listKey]/[id]/page.tsx create mode 100644 examples/custom-admin-ui-navigation/app/(admin)/[listKey]/create/page.tsx create mode 100644 examples/custom-admin-ui-navigation/app/(admin)/[listKey]/page.tsx create mode 100644 examples/custom-admin-ui-navigation/app/(admin)/config.tsx create mode 100644 examples/custom-admin-ui-navigation/app/(admin)/layout.tsx create mode 100644 examples/custom-admin-ui-navigation/app/(admin)/no-access/page.tsx create mode 100644 examples/custom-admin-ui-navigation/app/(admin)/page.tsx rename examples/custom-admin-ui-navigation/{admin => app/config}/components/CustomNavigation.tsx (100%) rename examples/custom-admin-ui-navigation/{admin/config.ts => app/config/index.ts} (100%) create mode 100644 examples/custom-admin-ui-navigation/app/layout.tsx create mode 100644 examples/custom-admin-ui-navigation/next-env.d.ts create mode 100644 examples/custom-admin-ui-navigation/next.config.mjs create mode 100644 examples/custom-admin-ui-navigation/tsconfig.json create mode 100644 examples/custom-admin-ui-pages/app/(admin)/.admin/index.tsx create mode 100644 examples/custom-admin-ui-pages/app/(admin)/[listKey]/[id]/page.tsx create mode 100644 examples/custom-admin-ui-pages/app/(admin)/[listKey]/create/page.tsx create mode 100644 examples/custom-admin-ui-pages/app/(admin)/[listKey]/page.tsx create mode 100644 examples/custom-admin-ui-pages/app/(admin)/config.tsx rename examples/custom-admin-ui-pages/{admin/pages/custom-page.tsx => app/(admin)/custom-page/page.tsx} (87%) create mode 100644 examples/custom-admin-ui-pages/app/(admin)/layout.tsx create mode 100644 examples/custom-admin-ui-pages/app/(admin)/no-access/page.tsx create mode 100644 examples/custom-admin-ui-pages/app/(admin)/page.tsx rename examples/custom-admin-ui-pages/{admin => app/config}/components/CustomNavigation.tsx (100%) rename examples/custom-admin-ui-pages/{admin/config.ts => app/config/index.ts} (100%) create mode 100644 examples/custom-admin-ui-pages/app/layout.tsx create mode 100644 examples/custom-admin-ui-pages/next-env.d.ts create mode 100644 examples/custom-admin-ui-pages/next.config.mjs create mode 100644 examples/custom-admin-ui-pages/tsconfig.json diff --git a/examples/custom-admin-ui-navigation/app/(admin)/.admin/index.tsx b/examples/custom-admin-ui-navigation/app/(admin)/.admin/index.tsx new file mode 100644 index 00000000000..5dd11446daf --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/(admin)/.admin/index.tsx @@ -0,0 +1,18 @@ +/* eslint-disable */ +import * as view0 from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view' +import * as view1 from '@keystone-6/core/fields/types/text/views' +import * as view2 from '@keystone-6/core/fields/types/select/views' +import * as view3 from '@keystone-6/core/fields/types/checkbox/views' +import * as view4 from '@keystone-6/core/fields/types/relationship/views' +import * as view5 from '@keystone-6/core/fields/types/timestamp/views' + +import * as adminConfig from '../config' + +export const config = { + lazyMetadataQuery: {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"keystone","loc":{"start":22,"end":30}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"adminMeta","loc":{"start":39,"end":48}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lists","loc":{"start":59,"end":64}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key","loc":{"start":77,"end":80}},"arguments":[],"directives":[],"loc":{"start":77,"end":80}},{"kind":"Field","name":{"kind":"Name","value":"isHidden","loc":{"start":91,"end":99}},"arguments":[],"directives":[],"loc":{"start":91,"end":99}},{"kind":"Field","name":{"kind":"Name","value":"fields","loc":{"start":110,"end":116}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"path","loc":{"start":131,"end":135}},"arguments":[],"directives":[],"loc":{"start":131,"end":135}},{"kind":"Field","name":{"kind":"Name","value":"createView","loc":{"start":148,"end":158}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMode","loc":{"start":175,"end":184}},"arguments":[],"directives":[],"loc":{"start":175,"end":184}}],"loc":{"start":159,"end":198}},"loc":{"start":148,"end":198}}],"loc":{"start":117,"end":210}},"loc":{"start":110,"end":210}}],"loc":{"start":65,"end":220}},"loc":{"start":59,"end":220}}],"loc":{"start":49,"end":228}},"loc":{"start":39,"end":228}}],"loc":{"start":31,"end":234}},"loc":{"start":22,"end":234}}]}}]}, + fieldViews: [view0,view1,view2,view3,view4,view5], + adminMetaHash: '1mrsjib', + adminConfig, + apiPath: '/api/graphql', + adminPath: '', +}; diff --git a/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/[id]/page.tsx b/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/[id]/page.tsx new file mode 100644 index 00000000000..c5d7ea2be62 --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/[id]/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { ItemPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage' + +export default ItemPage diff --git a/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/create/page.tsx b/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/create/page.tsx new file mode 100644 index 00000000000..d6042acaa96 --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/create/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { CreateItemPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage' + +export default CreateItemPage diff --git a/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/page.tsx b/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/page.tsx new file mode 100644 index 00000000000..f6e75f8cfab --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/(admin)/[listKey]/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { ListPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage' + +export default ListPage diff --git a/examples/custom-admin-ui-navigation/app/(admin)/config.tsx b/examples/custom-admin-ui-navigation/app/(admin)/config.tsx new file mode 100644 index 00000000000..f2b986e29ca --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/(admin)/config.tsx @@ -0,0 +1 @@ +export { components } from '../config' \ No newline at end of file diff --git a/examples/custom-admin-ui-navigation/app/(admin)/layout.tsx b/examples/custom-admin-ui-navigation/app/(admin)/layout.tsx new file mode 100644 index 00000000000..abb5a0f3b2c --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/(admin)/layout.tsx @@ -0,0 +1,16 @@ +'use client' +import { Layout } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App' +import { config } from './.admin' + + +export default function AdminLayout ({ + children, +}: { + children: React.ReactNode +}) { + return ( + + {children} + + ) +} \ No newline at end of file diff --git a/examples/custom-admin-ui-navigation/app/(admin)/no-access/page.tsx b/examples/custom-admin-ui-navigation/app/(admin)/no-access/page.tsx new file mode 100644 index 00000000000..70877231fee --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/(admin)/no-access/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { getNoAccessPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage' + +export default getNoAccessPage({ sessionsEnabled: false }) diff --git a/examples/custom-admin-ui-navigation/app/(admin)/page.tsx b/examples/custom-admin-ui-navigation/app/(admin)/page.tsx new file mode 100644 index 00000000000..5c268390b0f --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/(admin)/page.tsx @@ -0,0 +1,2 @@ +'use client' +export { HomePage as default } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage' diff --git a/examples/custom-admin-ui-navigation/admin/components/CustomNavigation.tsx b/examples/custom-admin-ui-navigation/app/config/components/CustomNavigation.tsx similarity index 100% rename from examples/custom-admin-ui-navigation/admin/components/CustomNavigation.tsx rename to examples/custom-admin-ui-navigation/app/config/components/CustomNavigation.tsx diff --git a/examples/custom-admin-ui-navigation/admin/config.ts b/examples/custom-admin-ui-navigation/app/config/index.ts similarity index 100% rename from examples/custom-admin-ui-navigation/admin/config.ts rename to examples/custom-admin-ui-navigation/app/config/index.ts diff --git a/examples/custom-admin-ui-navigation/app/layout.tsx b/examples/custom-admin-ui-navigation/app/layout.tsx new file mode 100644 index 00000000000..38a4853e3a5 --- /dev/null +++ b/examples/custom-admin-ui-navigation/app/layout.tsx @@ -0,0 +1,11 @@ +export default function RootLayout ({ + children, +}: { + children: React.ReactNode +}) { + return ( + + {children} + + ) +} diff --git a/examples/custom-admin-ui-navigation/next-env.d.ts b/examples/custom-admin-ui-navigation/next-env.d.ts new file mode 100644 index 00000000000..4f11a03dc6c --- /dev/null +++ b/examples/custom-admin-ui-navigation/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/examples/custom-admin-ui-navigation/next.config.mjs b/examples/custom-admin-ui-navigation/next.config.mjs new file mode 100644 index 00000000000..bec106de70d --- /dev/null +++ b/examples/custom-admin-ui-navigation/next.config.mjs @@ -0,0 +1,14 @@ +// you don't need this if you're building something outside of the Keystone repo + +export default { + experimental: { + // without this, 'Error: Expected Upload to be a GraphQL nullable type.' + serverComponentsExternalPackages: ['graphql'], + }, + eslint: { + ignoreDuringBuilds: true, + }, + typescript: { + ignoreBuildErrors: true, + }, +} diff --git a/examples/custom-admin-ui-navigation/tsconfig.json b/examples/custom-admin-ui-navigation/tsconfig.json new file mode 100644 index 00000000000..ccb2ed95d83 --- /dev/null +++ b/examples/custom-admin-ui-navigation/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "noEmit": true, + "incremental": true, + "module": "esnext", + "esModuleInterop": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "plugins": [ + { + "name": "next" + } + ] + }, + "include": [ + "next-env.d.ts", + ".next/types/**/*.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/examples/custom-admin-ui-pages/app/(admin)/.admin/index.tsx b/examples/custom-admin-ui-pages/app/(admin)/.admin/index.tsx new file mode 100644 index 00000000000..5dd11446daf --- /dev/null +++ b/examples/custom-admin-ui-pages/app/(admin)/.admin/index.tsx @@ -0,0 +1,18 @@ +/* eslint-disable */ +import * as view0 from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view' +import * as view1 from '@keystone-6/core/fields/types/text/views' +import * as view2 from '@keystone-6/core/fields/types/select/views' +import * as view3 from '@keystone-6/core/fields/types/checkbox/views' +import * as view4 from '@keystone-6/core/fields/types/relationship/views' +import * as view5 from '@keystone-6/core/fields/types/timestamp/views' + +import * as adminConfig from '../config' + +export const config = { + lazyMetadataQuery: {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"keystone","loc":{"start":22,"end":30}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"adminMeta","loc":{"start":39,"end":48}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lists","loc":{"start":59,"end":64}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key","loc":{"start":77,"end":80}},"arguments":[],"directives":[],"loc":{"start":77,"end":80}},{"kind":"Field","name":{"kind":"Name","value":"isHidden","loc":{"start":91,"end":99}},"arguments":[],"directives":[],"loc":{"start":91,"end":99}},{"kind":"Field","name":{"kind":"Name","value":"fields","loc":{"start":110,"end":116}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"path","loc":{"start":131,"end":135}},"arguments":[],"directives":[],"loc":{"start":131,"end":135}},{"kind":"Field","name":{"kind":"Name","value":"createView","loc":{"start":148,"end":158}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMode","loc":{"start":175,"end":184}},"arguments":[],"directives":[],"loc":{"start":175,"end":184}}],"loc":{"start":159,"end":198}},"loc":{"start":148,"end":198}}],"loc":{"start":117,"end":210}},"loc":{"start":110,"end":210}}],"loc":{"start":65,"end":220}},"loc":{"start":59,"end":220}}],"loc":{"start":49,"end":228}},"loc":{"start":39,"end":228}}],"loc":{"start":31,"end":234}},"loc":{"start":22,"end":234}}]}}]}, + fieldViews: [view0,view1,view2,view3,view4,view5], + adminMetaHash: '1mrsjib', + adminConfig, + apiPath: '/api/graphql', + adminPath: '', +}; diff --git a/examples/custom-admin-ui-pages/app/(admin)/[listKey]/[id]/page.tsx b/examples/custom-admin-ui-pages/app/(admin)/[listKey]/[id]/page.tsx new file mode 100644 index 00000000000..c5d7ea2be62 --- /dev/null +++ b/examples/custom-admin-ui-pages/app/(admin)/[listKey]/[id]/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { ItemPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage' + +export default ItemPage diff --git a/examples/custom-admin-ui-pages/app/(admin)/[listKey]/create/page.tsx b/examples/custom-admin-ui-pages/app/(admin)/[listKey]/create/page.tsx new file mode 100644 index 00000000000..d6042acaa96 --- /dev/null +++ b/examples/custom-admin-ui-pages/app/(admin)/[listKey]/create/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { CreateItemPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage' + +export default CreateItemPage diff --git a/examples/custom-admin-ui-pages/app/(admin)/[listKey]/page.tsx b/examples/custom-admin-ui-pages/app/(admin)/[listKey]/page.tsx new file mode 100644 index 00000000000..f6e75f8cfab --- /dev/null +++ b/examples/custom-admin-ui-pages/app/(admin)/[listKey]/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { ListPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage' + +export default ListPage diff --git a/examples/custom-admin-ui-pages/app/(admin)/config.tsx b/examples/custom-admin-ui-pages/app/(admin)/config.tsx new file mode 100644 index 00000000000..f2b986e29ca --- /dev/null +++ b/examples/custom-admin-ui-pages/app/(admin)/config.tsx @@ -0,0 +1 @@ +export { components } from '../config' \ No newline at end of file diff --git a/examples/custom-admin-ui-pages/admin/pages/custom-page.tsx b/examples/custom-admin-ui-pages/app/(admin)/custom-page/page.tsx similarity index 87% rename from examples/custom-admin-ui-pages/admin/pages/custom-page.tsx rename to examples/custom-admin-ui-pages/app/(admin)/custom-page/page.tsx index ccf76ad67aa..346ab365520 100644 --- a/examples/custom-admin-ui-pages/admin/pages/custom-page.tsx +++ b/examples/custom-admin-ui-pages/app/(admin)/custom-page/page.tsx @@ -1,8 +1,7 @@ -/** @jsxRuntime classic */ -/** @jsx jsx */ +'use client' import Link from 'next/link' import { PageContainer } from '@keystone-6/core/admin-ui/components' -import { jsx, Heading } from '@keystone-ui/core' +import { Heading } from '@keystone-ui/core' // Please note that while this capability is driven by Next.js's pages directory // We do not currently support any of the auxillary methods that Next.js provides i.e. `getStaticProps` // Presently the only export from the directory that is supported is the page component itself. @@ -10,7 +9,7 @@ export default function CustomPage () { return ( Custom Page}>

diff --git a/examples/custom-admin-ui-pages/app/(admin)/layout.tsx b/examples/custom-admin-ui-pages/app/(admin)/layout.tsx new file mode 100644 index 00000000000..abb5a0f3b2c --- /dev/null +++ b/examples/custom-admin-ui-pages/app/(admin)/layout.tsx @@ -0,0 +1,16 @@ +'use client' +import { Layout } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App' +import { config } from './.admin' + + +export default function AdminLayout ({ + children, +}: { + children: React.ReactNode +}) { + return ( + + {children} + + ) +} \ No newline at end of file diff --git a/examples/custom-admin-ui-pages/app/(admin)/no-access/page.tsx b/examples/custom-admin-ui-pages/app/(admin)/no-access/page.tsx new file mode 100644 index 00000000000..70877231fee --- /dev/null +++ b/examples/custom-admin-ui-pages/app/(admin)/no-access/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { getNoAccessPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage' + +export default getNoAccessPage({ sessionsEnabled: false }) diff --git a/examples/custom-admin-ui-pages/app/(admin)/page.tsx b/examples/custom-admin-ui-pages/app/(admin)/page.tsx new file mode 100644 index 00000000000..5c268390b0f --- /dev/null +++ b/examples/custom-admin-ui-pages/app/(admin)/page.tsx @@ -0,0 +1,2 @@ +'use client' +export { HomePage as default } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage' diff --git a/examples/custom-admin-ui-pages/admin/components/CustomNavigation.tsx b/examples/custom-admin-ui-pages/app/config/components/CustomNavigation.tsx similarity index 100% rename from examples/custom-admin-ui-pages/admin/components/CustomNavigation.tsx rename to examples/custom-admin-ui-pages/app/config/components/CustomNavigation.tsx diff --git a/examples/custom-admin-ui-pages/admin/config.ts b/examples/custom-admin-ui-pages/app/config/index.ts similarity index 100% rename from examples/custom-admin-ui-pages/admin/config.ts rename to examples/custom-admin-ui-pages/app/config/index.ts diff --git a/examples/custom-admin-ui-pages/app/layout.tsx b/examples/custom-admin-ui-pages/app/layout.tsx new file mode 100644 index 00000000000..38a4853e3a5 --- /dev/null +++ b/examples/custom-admin-ui-pages/app/layout.tsx @@ -0,0 +1,11 @@ +export default function RootLayout ({ + children, +}: { + children: React.ReactNode +}) { + return ( + + {children} + + ) +} diff --git a/examples/custom-admin-ui-pages/next-env.d.ts b/examples/custom-admin-ui-pages/next-env.d.ts new file mode 100644 index 00000000000..4f11a03dc6c --- /dev/null +++ b/examples/custom-admin-ui-pages/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/examples/custom-admin-ui-pages/next.config.mjs b/examples/custom-admin-ui-pages/next.config.mjs new file mode 100644 index 00000000000..bec106de70d --- /dev/null +++ b/examples/custom-admin-ui-pages/next.config.mjs @@ -0,0 +1,14 @@ +// you don't need this if you're building something outside of the Keystone repo + +export default { + experimental: { + // without this, 'Error: Expected Upload to be a GraphQL nullable type.' + serverComponentsExternalPackages: ['graphql'], + }, + eslint: { + ignoreDuringBuilds: true, + }, + typescript: { + ignoreBuildErrors: true, + }, +} diff --git a/examples/custom-admin-ui-pages/tsconfig.json b/examples/custom-admin-ui-pages/tsconfig.json new file mode 100644 index 00000000000..ccb2ed95d83 --- /dev/null +++ b/examples/custom-admin-ui-pages/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "noEmit": true, + "incremental": true, + "module": "esnext", + "esModuleInterop": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "plugins": [ + { + "name": "next" + } + ] + }, + "include": [ + "next-env.d.ts", + ".next/types/**/*.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +}