diff --git a/.eslintrc.js b/.eslintrc.js index 41a255aff1c..1462a0d14d3 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -10,7 +10,6 @@ module.exports = { files: ['*.js', '*.jsx', '*.ts', '*.tsx'], }], rules: { - '@typescript-eslint/no-unnecessary-type-assertion': 'error', - '@typescript-eslint/no-unnecessary-type-constraint': 'error', + '@typescript-eslint/prefer-ts-expect-error': 'error', } } diff --git a/design-system/packages/core/src/utils.ts b/design-system/packages/core/src/utils.ts index 9898fd27777..9db5cfda3e3 100644 --- a/design-system/packages/core/src/utils.ts +++ b/design-system/packages/core/src/utils.ts @@ -77,7 +77,7 @@ export const forwardRefWithAs = ) => Exclude ): CompWithAsProp => { - // @ts-ignore + // @ts-expect-error return forwardRef(render) } @@ -105,7 +105,7 @@ export const mapResponsiveProp = < if (Array.isArray(value)) { return value.map(k => (k == null ? null : valueMap[k])) } - // @ts-ignore + // @ts-expect-error return valueMap[value] } diff --git a/design-system/packages/modals/src/DrawerBase.tsx b/design-system/packages/modals/src/DrawerBase.tsx index 8f5c78e940d..3bcfa181c72 100644 --- a/design-system/packages/modals/src/DrawerBase.tsx +++ b/design-system/packages/modals/src/DrawerBase.tsx @@ -72,7 +72,7 @@ export const DrawerBase = ({ if (onSubmit) { Tag = 'form' let oldOnSubmit = onSubmit - // @ts-ignore + // @ts-expect-error onSubmit = (event: any) => { if (!event.defaultPrevented) { event.preventDefault() diff --git a/docs/components/Header.tsx b/docs/components/Header.tsx index 3b2a37ef4c5..46ae5ca9f45 100644 --- a/docs/components/Header.tsx +++ b/docs/components/Header.tsx @@ -259,14 +259,14 @@ export function Header () { document.body.style.overflow = 'auto' // search - init field let searchAttempt = 0 - // @ts-ignore + // @ts-expect-error document.getElementById('search-field').disabled = true const loadSearch = (searchAttempt: number) => { - // @ts-ignore + // @ts-expect-error if (window.docsearch && searchAttempt < 10) { - // @ts-ignore + // @ts-expect-error document.getElementById('search-field').disabled = false - // @ts-ignore + // @ts-expect-error window.docsearch({ appId: 'N3ZF861Q5G', apiKey: 'f52fa93b9068fe8824beab5727ae84a1', @@ -278,14 +278,14 @@ export function Header () { transformData: (results: any) => { if (window.location.hostname == 'keystonejs.com') return results return results.map((result: object) => { - // @ts-ignore + // @ts-expect-error result.url = result.url.replace('https://keystonejs.com', window.location.origin) return result }) }, }) } else if (searchAttempt >= 10) { - // @ts-ignore + // @ts-expect-error document.getElementById('search-field-container').style.visibility = 'hidden' } else { setTimeout(() => loadSearch(searchAttempt++), 500) diff --git a/docs/lib/forwardRefWithAs.ts b/docs/lib/forwardRefWithAs.ts index bc8b9ed766d..84af944c47c 100644 --- a/docs/lib/forwardRefWithAs.ts +++ b/docs/lib/forwardRefWithAs.ts @@ -32,6 +32,6 @@ export const forwardRefWithAs = ) => Exclude ): CompWithAsProp => { - // @ts-ignore + // @ts-expect-error return forwardRef(render) } diff --git a/examples/extend-graphql-subscriptions/schema.ts b/examples/extend-graphql-subscriptions/schema.ts index 572620791de..1774c7ecd79 100644 --- a/examples/extend-graphql-subscriptions/schema.ts +++ b/examples/extend-graphql-subscriptions/schema.ts @@ -96,15 +96,15 @@ export const extendGraphqlSchema = (schema: GraphQLSchema) => // add the subscription resolvers Subscription: { time: { - // @ts-ignore + // @ts-expect-error subscribe: () => pubSub.asyncIterator(['TIME']), }, postPublished: { - // @ts-ignore + // @ts-expect-error subscribe: () => pubSub.asyncIterator(['POST_PUBLISHED']), }, postUpdated: { - // @ts-ignore + // @ts-expect-error subscribe: () => pubSub.asyncIterator(['POST_UPDATED']), }, }, diff --git a/packages/auth/src/pages/SigninPage.tsx b/packages/auth/src/pages/SigninPage.tsx index 0dd5f96df4f..d4df77b6aa6 100644 --- a/packages/auth/src/pages/SigninPage.tsx +++ b/packages/auth/src/pages/SigninPage.tsx @@ -73,7 +73,7 @@ export const SigninPage = ({ if (!submitted) return // TODO: this is horrible, we need to resolve this mess - // @ts-ignore + // @ts-expect-error if (rawKeystone.adminMeta?.error?.message === 'Access denied') { router.push('/no-access') return diff --git a/packages/cloudinary/src/index.ts b/packages/cloudinary/src/index.ts index ff786f45e3c..60c2a450f59 100644 --- a/packages/cloudinary/src/index.ts +++ b/packages/cloudinary/src/index.ts @@ -198,7 +198,7 @@ export function cloudinaryImage ({ const { public_id, format } = val._meta // ref https://github.com/cloudinary/cloudinary_npm/blob/439586eac73cee7f2803cf19f885e98f237183b3/src/utils.coffee#L472 - // @ts-ignore + // @ts-expect-error return cloudinary.url(public_id, { type: 'upload', format, diff --git a/packages/cloudinary/src/test-fixtures.skip.ts b/packages/cloudinary/src/test-fixtures.skip.ts index abd79f91206..a1a3f963784 100644 --- a/packages/cloudinary/src/test-fixtures.skip.ts +++ b/packages/cloudinary/src/test-fixtures.skip.ts @@ -1,6 +1,6 @@ import { createReadStream } from 'node:fs' import { resolve, basename } from 'node:path' -// @ts-ignore +// @ts-expect-error import Upload from 'graphql-upload/Upload.js' import cloudinary from 'cloudinary' import { cloudinaryImage } from './index' diff --git a/packages/core/src/fields/types/password/index.ts b/packages/core/src/fields/types/password/index.ts index f29c3f750b0..141edc87b1b 100644 --- a/packages/core/src/fields/types/password/index.ts +++ b/packages/core/src/fields/types/password/index.ts @@ -1,5 +1,5 @@ import bcryptjs from 'bcryptjs' -// @ts-ignore +// @ts-expect-error import dumbPasswords from 'dumb-passwords' import { userInputError } from '../../../lib/core/graphql-errors' import { humanize } from '../../../lib/utils' diff --git a/packages/core/src/fields/types/password/views/index.tsx b/packages/core/src/fields/types/password/views/index.tsx index 2823d6c7e5c..a333baf955b 100644 --- a/packages/core/src/fields/types/password/views/index.tsx +++ b/packages/core/src/fields/types/password/views/index.tsx @@ -10,7 +10,7 @@ import { EyeIcon } from '@keystone-ui/icons/icons/EyeIcon' import { EyeOffIcon } from '@keystone-ui/icons/icons/EyeOffIcon' import { XIcon } from '@keystone-ui/icons/icons/XIcon' import { SegmentedControl } from '@keystone-ui/segmented-control' -// @ts-ignore +// @ts-expect-error import dumbPasswords from 'dumb-passwords' import { type CardValueComponent, diff --git a/packages/core/src/fields/types/relationship/views/RelationshipSelect.tsx b/packages/core/src/fields/types/relationship/views/RelationshipSelect.tsx index 20d77866003..4a13b7ab577 100644 --- a/packages/core/src/fields/types/relationship/views/RelationshipSelect.tsx +++ b/packages/core/src/fields/types/relationship/views/RelationshipSelect.tsx @@ -295,7 +295,7 @@ export const RelationshipSelect = ({ ? { value: state.value.id, label: state.value.label, - // @ts-ignore + // @ts-expect-error data: state.value.data, } : null diff --git a/packages/core/src/lib/core/access-control.ts b/packages/core/src/lib/core/access-control.ts index e1957c5b9e8..500278e8e9c 100644 --- a/packages/core/src/lib/core/access-control.ts +++ b/packages/core/src/lib/core/access-control.ts @@ -46,7 +46,7 @@ export async function getOperationAccess ( const access = list.access.operation[operation] let result try { - // @ts-ignore + // @ts-expect-error result = await access(args) } catch (error: any) { throw extensionError('Access control', [ diff --git a/packages/core/src/lib/server/createExpressServer.ts b/packages/core/src/lib/server/createExpressServer.ts index 7b14d2023c5..8eb17fc3e0b 100644 --- a/packages/core/src/lib/server/createExpressServer.ts +++ b/packages/core/src/lib/server/createExpressServer.ts @@ -7,7 +7,7 @@ import type { GraphQLFormattedError, GraphQLSchema } from 'graphql' import { ApolloServer, type ApolloServerOptions } from '@apollo/server' import { ApolloServerPluginLandingPageDisabled } from '@apollo/server/plugin/disabled' import { ApolloServerPluginLandingPageLocalDefault } from '@apollo/server/plugin/landingPage/default' -// @ts-ignore +// @ts-expect-error import graphqlUploadExpress from 'graphql-upload/graphqlUploadExpress.js' import type { KeystoneConfig, KeystoneContext, GraphQLConfig } from '../../types' import { addHealthCheck } from './addHealthCheck' diff --git a/packages/core/src/types/schema/graphql-ts-schema.ts b/packages/core/src/types/schema/graphql-ts-schema.ts index 0927c8ee60c..68b9f1d6be9 100644 --- a/packages/core/src/types/schema/graphql-ts-schema.ts +++ b/packages/core/src/types/schema/graphql-ts-schema.ts @@ -1,6 +1,6 @@ import type { ReadStream } from 'fs' import * as graphqlTsSchema from '@graphql-ts/schema' -// @ts-ignore +// @ts-expect-error import GraphQLUpload from 'graphql-upload/GraphQLUpload.js' import { GraphQLError, GraphQLScalarType } from 'graphql' import { Decimal as DecimalValue } from 'decimal.js' diff --git a/packages/core/tests/telemetry.test.ts b/packages/core/tests/telemetry.test.ts index 6b2b9fe9332..227800ed097 100644 --- a/packages/core/tests/telemetry.test.ts +++ b/packages/core/tests/telemetry.test.ts @@ -75,15 +75,15 @@ jest.mock('ci-info', () => { const lists: Record = { Thing: { fields: { - // @ts-ignore + // @ts-expect-error id: { __ksTelemetryFieldTypeName: 'id', }, - // @ts-ignore + // @ts-expect-error name: { __ksTelemetryFieldTypeName: 'id', }, - // @ts-ignore + // @ts-expect-error thing: { __ksTelemetryFieldTypeName: 'id', }, @@ -91,11 +91,11 @@ const lists: Record = { }, Stuff: { fields: { - // @ts-ignore + // @ts-expect-error id: { __ksTelemetryFieldTypeName: 'id', }, - // @ts-ignore + // @ts-expect-error name: { __ksTelemetryFieldTypeName: 'id', }, @@ -229,12 +229,12 @@ describe('Telemetry tests', () => { const envBefore = process.env[key] beforeEach(() => { - // @ts-ignore + // @ts-expect-error process.env[key] = value }) afterEach(() => { - // @ts-ignore + // @ts-expect-error process.env[key] = envBefore }) diff --git a/packages/fields-document/src/DocumentEditor/pasting/markdown.ts b/packages/fields-document/src/DocumentEditor/pasting/markdown.ts index 04210c9642a..7b47d314ec6 100644 --- a/packages/fields-document/src/DocumentEditor/pasting/markdown.ts +++ b/packages/fields-document/src/DocumentEditor/pasting/markdown.ts @@ -1,9 +1,9 @@ import mdASTUtilFromMarkdown from 'mdast-util-from-markdown' -// @ts-ignore +// @ts-expect-error import autoLinkLiteralFromMarkdownExtension from 'mdast-util-gfm-autolink-literal/from-markdown' -// @ts-ignore +// @ts-expect-error import autoLinkLiteralMarkdownSyntax from 'micromark-extension-gfm-autolink-literal' -// @ts-ignore +// @ts-expect-error import gfmStrikethroughFromMarkdownExtension from 'mdast-util-gfm-strikethrough/from-markdown' import gfmStrikethroughMarkdownSyntax from 'micromark-extension-gfm-strikethrough' import { type Block } from '..' diff --git a/tests/api-tests/access-control/mutations-field.test.ts b/tests/api-tests/access-control/mutations-field.test.ts index 35783ff6d97..3ef961ecde4 100644 --- a/tests/api-tests/access-control/mutations-field.test.ts +++ b/tests/api-tests/access-control/mutations-field.test.ts @@ -33,11 +33,11 @@ const runner = setupTestRunner({ }), badAccess: text({ access: { - // @ts-ignore Intentionally return a string for testing purposes + // @ts-expect-error Intentionally return a string for testing purposes read: () => 'non boolean value', - // @ts-ignore Intentionally return a string for testing purposes + // @ts-expect-error Intentionally return a string for testing purposes create: () => 'non boolean value', - // @ts-ignore Intentionally return a string for testing purposes + // @ts-expect-error Intentionally return a string for testing purposes update: () => 'non boolean value', }, }), diff --git a/tests/api-tests/access-control/mutations-list-operation.test.ts b/tests/api-tests/access-control/mutations-list-operation.test.ts index 12551397992..2c834fce4a4 100644 --- a/tests/api-tests/access-control/mutations-list-operation.test.ts +++ b/tests/api-tests/access-control/mutations-list-operation.test.ts @@ -10,19 +10,19 @@ const runner = setupTestRunner({ fields: { name: text() }, access: { operation: { - // @ts-ignore Intentionally return a filter for testing purposes + // @ts-expect-error Intentionally return a filter for testing purposes query: () => { return { name: { not: { equals: 'bad' } } } }, - // @ts-ignore Intentionally return a filter for testing purposes + // @ts-expect-error Intentionally return a filter for testing purposes create: () => { return { name: { not: { equals: 'bad' } } } }, - // @ts-ignore Intentionally return a filter for testing purposes + // @ts-expect-error Intentionally return a filter for testing purposes update: () => { return { name: { not: { equals: 'bad' } } } }, - // @ts-ignore Intentionally return a filter for testing purposes + // @ts-expect-error Intentionally return a filter for testing purposes delete: async () => { return { name: { not: { startsWtih: 'no delete' } } } }, diff --git a/tests/api-tests/fields/files.test.ts b/tests/api-tests/fields/files.test.ts index 4fb8091edef..d09aa2b6fe7 100644 --- a/tests/api-tests/fields/files.test.ts +++ b/tests/api-tests/fields/files.test.ts @@ -3,7 +3,7 @@ import { createHash } from 'crypto' import os from 'os' import fs from 'fs-extra' import fetch from 'node-fetch' -// @ts-ignore +// @ts-expect-error import Upload from 'graphql-upload/Upload.js' import mime from 'mime' import { file, text } from '@keystone-6/core/fields' @@ -21,7 +21,7 @@ export const prepareFile = (_filePath: string, kind: 'image' | 'file') => { upload.resolve({ createReadStream: () => fs.createReadStream(filePath), filename: path.basename(filePath), - // @ts-ignore + // @ts-expect-error mimetype: mime.getType(filePath), encoding: 'utf-8', }) diff --git a/tests/api-tests/fields/images.crud.test.disabled.ts b/tests/api-tests/fields/images.crud.test.disabled.ts index 7d2ab16c5e8..97c064cc0b7 100644 --- a/tests/api-tests/fields/images.crud.test.disabled.ts +++ b/tests/api-tests/fields/images.crud.test.disabled.ts @@ -3,7 +3,7 @@ import { createHash } from 'crypto' import os from 'os' import fs from 'fs-extra' import fetch from 'node-fetch' -// @ts-ignore +// @ts-expect-error import Upload from 'graphql-upload/Upload.js' import mime from 'mime' import { text, image } from '@keystone-6/core/fields' @@ -21,7 +21,7 @@ export const prepareFile = (_filePath: string, kind: 'image' | 'file') => { upload.resolve({ createReadStream: () => fs.createReadStream(filePath), filename: path.basename(filePath), - // @ts-ignore + // @ts-expect-error mimetype: mime.getType(filePath), encoding: 'utf-8', }) diff --git a/tests/api-tests/fields/types/fixtures/file/test-fixtures.ts b/tests/api-tests/fields/types/fixtures/file/test-fixtures.ts index 426d91cecea..785f69d4641 100644 --- a/tests/api-tests/fields/types/fixtures/file/test-fixtures.ts +++ b/tests/api-tests/fields/types/fixtures/file/test-fixtures.ts @@ -1,7 +1,7 @@ import path from 'path' import os from 'os' import fs from 'fs-extra' -// @ts-ignore +// @ts-expect-error import Upload from 'graphql-upload/Upload.js' import mime from 'mime' import { file } from '@keystone-6/core/fields' @@ -13,7 +13,7 @@ export const prepareFile = (_filePath: string) => { upload.resolve({ createReadStream: () => fs.createReadStream(filePath), filename: path.basename(filePath), - // @ts-ignore + // @ts-expect-error mimetype: mime.getType(filePath), encoding: 'utf-8', }) diff --git a/tests/api-tests/fields/types/fixtures/image/test-fixtures-skip.ts b/tests/api-tests/fields/types/fixtures/image/test-fixtures-skip.ts index 45602009d56..560a377acab 100644 --- a/tests/api-tests/fields/types/fixtures/image/test-fixtures-skip.ts +++ b/tests/api-tests/fields/types/fixtures/image/test-fixtures-skip.ts @@ -1,7 +1,7 @@ import path from 'path' import os from 'os' import fs from 'fs-extra' -// @ts-ignore +// @ts-expect-error import Upload from 'graphql-upload/Upload.js' import mime from 'mime' import { type KeystoneConfig } from '@keystone-6/core/types' @@ -13,7 +13,7 @@ export const prepareFile = (_filePath: string) => { upload.resolve({ createReadStream: () => fs.createReadStream(filePath), filename: path.basename(filePath), - // @ts-ignore + // @ts-expect-error mimetype: mime.getType(filePath), encoding: 'utf-8', }) diff --git a/tests/api-tests/hooks/hook-errors.test.ts b/tests/api-tests/hooks/hook-errors.test.ts index ba90874617d..3b55015428a 100644 --- a/tests/api-tests/hooks/hook-errors.test.ts +++ b/tests/api-tests/hooks/hook-errors.test.ts @@ -143,11 +143,11 @@ function stripStackTrace (errors: any[] = []) { (['dev', 'production'] as const).map(mode => describe(`NODE_ENV=${mode}, debug=${debug} useHttp=${useHttp}`, () => { beforeAll(() => { - // @ts-ignore + // @ts-expect-error process.env.NODE_ENV = mode }) afterAll(() => { - // @ts-ignore + // @ts-expect-error process.env.NODE_ENV = 'test' }); diff --git a/tests/api-tests/queries/orderBy.test.ts b/tests/api-tests/queries/orderBy.test.ts index e212fa6a3c3..f818ab3ad5d 100644 --- a/tests/api-tests/queries/orderBy.test.ts +++ b/tests/api-tests/queries/orderBy.test.ts @@ -25,9 +25,9 @@ const runner = setupTestRunner({ orderTrue: integer({ isOrderable: true }), orderFunctionFalse: integer({ isOrderable: () => false }), orderFunctionTrue: integer({ isOrderable: () => true }), - // @ts-ignore + // @ts-expect-error orderFunctionOtherFalsey: integer({ isOrderable: () => null }), - // @ts-ignore + // @ts-expect-error orderFunctionOtherTruthy: integer({ isOrderable: () => ({}) }), orderFunctionFalseToo: integer({ isOrderable: () => false }), }, @@ -44,7 +44,7 @@ const runner = setupTestRunner({ DefaultOrderTrue: list({ access: allowAll, fields: { a: integer(), b: integer({ isOrderable: true }) }, - // @ts-ignore + // @ts-expect-error defaultIsOrderable: true, }), DefaultOrderFunctionFalse: list({ @@ -60,13 +60,13 @@ const runner = setupTestRunner({ DefaultOrderFunctionFalsey: list({ access: allowAll, fields: { a: integer(), b: integer({ isOrderable: true }) }, - // @ts-ignore + // @ts-expect-error defaultIsOrderable: () => null, }), DefaultOrderFunctionTruthy: list({ access: allowAll, fields: { a: integer(), b: integer({ isOrderable: true }) }, - // @ts-ignore + // @ts-expect-error defaultIsOrderable: () => ({}), }), }, diff --git a/tests/api-tests/queries/validation.ts b/tests/api-tests/queries/validation.ts index e38b6aeae66..4693de8790a 100644 --- a/tests/api-tests/queries/validation.ts +++ b/tests/api-tests/queries/validation.ts @@ -17,14 +17,14 @@ export const definitionLimit = const doc = validationContext.getDocument() if (doc.definitions.length > maxDefinitions) { validationContext.reportError( - // @ts-ignore + // @ts-expect-error new Error(`Request contains ${doc.definitions.length} definitions (max: ${maxDefinitions})`) ) } return validationContext as ASTVisitor } -// @ts-ignore +// @ts-expect-error const nodeName = (node: ASTNode) => (node.name && node.name.value) || 'query' // Map fragments referenced in a definition through a function @@ -38,7 +38,7 @@ const mapFragments = ( return def.fragments .map(fragment => { if (!defTable[fragment.name]) { - // @ts-ignore + // @ts-expect-error validationContext.reportError(new Error(`Undefined fragment "${fragment.name}"`)) return null } @@ -125,7 +125,7 @@ export const fieldLimit = if (requestNumFields > maxFields) { validationContext.reportError( - // @ts-ignore + // @ts-expect-error new Error(`Request contains ${requestNumFields} fields (max: ${maxFields})`) ) } @@ -204,7 +204,7 @@ export const depthLimit = const totalDepth = getTotalDepth(def) if (totalDepth > maxDepth) { validationContext.reportError( - // @ts-ignore + // @ts-expect-error new Error(`Operation has depth ${totalDepth} (max: ${maxDepth})`) ) } diff --git a/tests/api-tests/relationships/nested-mutations/two-way-backreference/to-one-required.test.ts b/tests/api-tests/relationships/nested-mutations/two-way-backreference/to-one-required.test.ts index cda8d400a71..30e4f46c80b 100644 --- a/tests/api-tests/relationships/nested-mutations/two-way-backreference/to-one-required.test.ts +++ b/tests/api-tests/relationships/nested-mutations/two-way-backreference/to-one-required.test.ts @@ -22,7 +22,7 @@ const runner = setupTestRunner({ fields: { name: text(), // FIXME: We don't actully enforce isRequired. - // @ts-ignore + // @ts-expect-error company: relationship({ ref: 'Company.location', isRequired: true }), }, }), diff --git a/tests/api-tests/test-runner.ts b/tests/api-tests/test-runner.ts index 5f823856194..29db4ea248d 100644 --- a/tests/api-tests/test-runner.ts +++ b/tests/api-tests/test-runner.ts @@ -10,7 +10,7 @@ import { printConfigWarnings, } from '@prisma/internals' import { getPrismaClient, objectEnumValues } from '@prisma/client/runtime/library' -// @ts-ignore +// @ts-expect-error import { externalToInternalDmmf } from '@prisma/client/generator-build' import { initConfig, createSystem } from '@keystone-6/core/system' import type { BaseKeystoneTypeInfo, KeystoneConfig, KeystoneContext } from '@keystone-6/core/types' diff --git a/tests/cli-tests/utils.ts b/tests/cli-tests/utils.ts index 1d25e9590cf..72021f208a1 100644 --- a/tests/cli-tests/utils.ts +++ b/tests/cli-tests/utils.ts @@ -7,7 +7,7 @@ import * as fse from 'fs-extra' import fastGlob from 'fast-glob' import chalk from 'chalk' -// @ts-ignore +// @ts-expect-error import { MigrateEngine } from '@prisma/migrate' import { uriToCredentials } from '@prisma/internals' import type { KeystoneConfig } from '@keystone-6/core/types' @@ -111,10 +111,10 @@ export async function testdir (dir: Fixture): Promise { fullPath, `Object.defineProperty(exports, '__esModule', { value: true });exports.default = globalThis.keystoneConfig;` ) - // @ts-ignore + // @ts-expect-error globalThis.keystoneConfig = output.config require(fullPath) - // @ts-ignore + // @ts-expect-error delete globalThis.keystoneConfig } else { await fsp.mkdir(path.dirname(fullPath), { recursive: true }) diff --git a/tests/test-projects/live-reloading/schemas/runtime-error.ts b/tests/test-projects/live-reloading/schemas/runtime-error.ts index 3679ca3e247..2eff03a5be1 100644 --- a/tests/test-projects/live-reloading/schemas/runtime-error.ts +++ b/tests/test-projects/live-reloading/schemas/runtime-error.ts @@ -1,4 +1,4 @@ -// @ts-ignore +// @ts-expect-error doesNotExist() export const lists = {}