chore(eslint): set prefer-ts-expect-error to error
This commit is contained in:
@@ -53,8 +53,9 @@ const typescriptRules = {
|
|||||||
'@typescript-eslint/consistent-type-imports': 'warn',
|
'@typescript-eslint/consistent-type-imports': 'warn',
|
||||||
'@typescript-eslint/no-explicit-any': 'warn',
|
'@typescript-eslint/no-explicit-any': 'warn',
|
||||||
// Type-aware any rules end
|
// Type-aware any rules end
|
||||||
// ts-expect should always be preferred over ts-ignore
|
|
||||||
'@typescript-eslint/prefer-ts-expect-error': 'warn',
|
// ts-expect preferred over ts-ignore. It will error if the expected error is no longer present.
|
||||||
|
'@typescript-eslint/prefer-ts-expect-error': 'error',
|
||||||
// By default, it errors for unused variables. This is annoying, warnings are enough.
|
// By default, it errors for unused variables. This is annoying, warnings are enough.
|
||||||
'@typescript-eslint/no-unused-vars': [
|
'@typescript-eslint/no-unused-vars': [
|
||||||
'warn',
|
'warn',
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
import { Config } from '../../config/types'
|
||||||
|
import { InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors'
|
||||||
|
import { sanitizeFields } from './sanitize'
|
||||||
import type {
|
import type {
|
||||||
ArrayField,
|
ArrayField,
|
||||||
Block,
|
Block,
|
||||||
@@ -7,34 +10,20 @@ import type {
|
|||||||
NumberField,
|
NumberField,
|
||||||
TextField,
|
TextField,
|
||||||
} from './types'
|
} from './types'
|
||||||
import { Config } from '../../config/types'
|
|
||||||
import { InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors'
|
|
||||||
import { sanitizeFields } from './sanitize'
|
|
||||||
import type { BaseDatabaseAdapter } from '../../database/types.js'
|
|
||||||
|
|
||||||
const dummyConfig: Config = {
|
|
||||||
collections: [],
|
|
||||||
db: {
|
|
||||||
defaultIDType: 'text',
|
|
||||||
init: () => ({}) as BaseDatabaseAdapter['init'],
|
|
||||||
} as BaseDatabaseAdapter,
|
|
||||||
}
|
|
||||||
|
|
||||||
describe('sanitizeFields', () => {
|
describe('sanitizeFields', () => {
|
||||||
|
const config = {} as Config
|
||||||
it('should throw on missing type field', () => {
|
it('should throw on missing type field', () => {
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
||||||
// @ts-ignore
|
|
||||||
const fields: Field[] = [
|
const fields: Field[] = [
|
||||||
|
// @ts-expect-error
|
||||||
{
|
{
|
||||||
label: 'some-collection',
|
label: 'some-collection',
|
||||||
name: 'Some Collection',
|
name: 'Some Collection',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
expect(() => {
|
expect(() => {
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
||||||
// @ts-ignore
|
|
||||||
sanitizeFields({
|
sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})
|
})
|
||||||
@@ -50,7 +39,7 @@ describe('sanitizeFields', () => {
|
|||||||
]
|
]
|
||||||
expect(() => {
|
expect(() => {
|
||||||
sanitizeFields({
|
sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})
|
})
|
||||||
@@ -66,7 +55,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const sanitizedField = sanitizeFields({
|
const sanitizedField = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})[0] as TextField
|
})[0] as TextField
|
||||||
@@ -83,7 +72,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const sanitizedField = sanitizeFields({
|
const sanitizedField = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})[0] as TextField
|
})[0] as TextField
|
||||||
@@ -102,7 +91,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const sanitizedField = sanitizeFields({
|
const sanitizedField = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})[0] as TextField
|
})[0] as TextField
|
||||||
@@ -124,7 +113,7 @@ describe('sanitizeFields', () => {
|
|||||||
type: 'array',
|
type: 'array',
|
||||||
}
|
}
|
||||||
const sanitizedField = sanitizeFields({
|
const sanitizedField = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields: [arrayField],
|
fields: [arrayField],
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})[0] as ArrayField
|
})[0] as ArrayField
|
||||||
@@ -153,7 +142,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const sanitizedField = sanitizeFields({
|
const sanitizedField = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})[0] as BlockField
|
})[0] as BlockField
|
||||||
@@ -178,7 +167,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const sanitizedField = sanitizeFields({
|
const sanitizedField = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})[0] as ArrayField
|
})[0] as ArrayField
|
||||||
@@ -202,7 +191,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
const sanitizedField = sanitizeFields({
|
const sanitizedField = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})[0] as BlockField
|
})[0] as BlockField
|
||||||
@@ -229,7 +218,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
expect(() => {
|
expect(() => {
|
||||||
sanitizeFields({ config: dummyConfig, fields, validRelationships })
|
sanitizeFields({ config, fields, validRelationships })
|
||||||
}).not.toThrow()
|
}).not.toThrow()
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -244,7 +233,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
expect(() => {
|
expect(() => {
|
||||||
sanitizeFields({ config: dummyConfig, fields, validRelationships })
|
sanitizeFields({ config, fields, validRelationships })
|
||||||
}).not.toThrow()
|
}).not.toThrow()
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -270,7 +259,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
expect(() => {
|
expect(() => {
|
||||||
sanitizeFields({ config: dummyConfig, fields, validRelationships })
|
sanitizeFields({ config, fields, validRelationships })
|
||||||
}).not.toThrow()
|
}).not.toThrow()
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -285,7 +274,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
expect(() => {
|
expect(() => {
|
||||||
sanitizeFields({ config: dummyConfig, fields, validRelationships })
|
sanitizeFields({ config, fields, validRelationships })
|
||||||
}).toThrow(InvalidFieldRelationship)
|
}).toThrow(InvalidFieldRelationship)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -300,7 +289,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
expect(() => {
|
expect(() => {
|
||||||
sanitizeFields({ config: dummyConfig, fields, validRelationships })
|
sanitizeFields({ config, fields, validRelationships })
|
||||||
}).toThrow(InvalidFieldRelationship)
|
}).toThrow(InvalidFieldRelationship)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -326,7 +315,7 @@ describe('sanitizeFields', () => {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
expect(() => {
|
expect(() => {
|
||||||
sanitizeFields({ config: dummyConfig, fields, validRelationships })
|
sanitizeFields({ config, fields, validRelationships })
|
||||||
}).toThrow(InvalidFieldRelationship)
|
}).toThrow(InvalidFieldRelationship)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -340,7 +329,7 @@ describe('sanitizeFields', () => {
|
|||||||
]
|
]
|
||||||
|
|
||||||
const sanitizedField = sanitizeFields({
|
const sanitizedField = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields,
|
fields,
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})[0] as CheckboxField
|
})[0] as CheckboxField
|
||||||
@@ -349,7 +338,7 @@ describe('sanitizeFields', () => {
|
|||||||
|
|
||||||
it('should return empty field array if no fields', () => {
|
it('should return empty field array if no fields', () => {
|
||||||
const sanitizedFields = sanitizeFields({
|
const sanitizedFields = sanitizeFields({
|
||||||
config: dummyConfig,
|
config,
|
||||||
fields: [],
|
fields: [],
|
||||||
validRelationships: [],
|
validRelationships: [],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ const attachFakeURLProperties = (req: PayloadRequestWithData) => {
|
|||||||
* *NOTE*
|
* *NOTE*
|
||||||
* If no URL is provided, the local API was called directly outside
|
* If no URL is provided, the local API was called directly outside
|
||||||
* the context of a request. Therefore we create a fake URL object.
|
* the context of a request. Therefore we create a fake URL object.
|
||||||
* `ts-ignore` is used below for properties that are 'read-only'
|
* `ts-expect-error` is used below for properties that are 'read-only'
|
||||||
* since they do not exist yet we can safely ignore the error.
|
* since they do not exist yet we can safely ignore the error.
|
||||||
*/
|
*/
|
||||||
let urlObject
|
let urlObject
|
||||||
|
|||||||
Reference in New Issue
Block a user