2019-06-30 22:41:45 +00:00
|
|
|
name: salty-dog-tsconfig
|
|
|
|
rules:
|
2019-06-30 22:45:59 +00:00
|
|
|
- name: allow-errors
|
|
|
|
desc: do not suppress errors
|
|
|
|
level: info
|
|
|
|
tags:
|
|
|
|
- tsconfig
|
|
|
|
- errors
|
|
|
|
|
|
|
|
select: '$.compilerOptions'
|
|
|
|
check:
|
|
|
|
not:
|
|
|
|
anyOf:
|
|
|
|
- required: [suppressExcessPropertyErrors]
|
|
|
|
- required: [suppressImplicitAnyIndexErrors]
|
|
|
|
|
|
|
|
- name: redundant-strict
|
2019-06-30 22:41:45 +00:00
|
|
|
desc: omit redundant strict mode options
|
|
|
|
level: info
|
|
|
|
tags:
|
|
|
|
- tsconfig
|
|
|
|
- strict
|
|
|
|
|
|
|
|
select: '$.compilerOptions'
|
|
|
|
filter:
|
|
|
|
type: object
|
|
|
|
required: [strict]
|
|
|
|
properties:
|
|
|
|
strict:
|
|
|
|
type: boolean
|
|
|
|
const: true
|
|
|
|
|
|
|
|
check:
|
|
|
|
not:
|
|
|
|
anyOf:
|
|
|
|
- required: [noImplicitAny]
|
|
|
|
- required: [noImplicitThis]
|
|
|
|
- required: [alwaysStrict]
|
|
|
|
- required: [strictBindCallApply]
|
|
|
|
- required: [strictNullChecks]
|
|
|
|
- required: [strictFunctionTypes]
|
|
|
|
- required: [strictPropertyInitialization]
|
|
|
|
|
|
|
|
- name: target-lib
|
|
|
|
desc: ensure the target and lib match
|
|
|
|
level: info
|
|
|
|
tags:
|
|
|
|
- tsconfig
|
|
|
|
- target
|
|
|
|
|
|
|
|
select: '$.compilerOptions'
|
|
|
|
filter:
|
|
|
|
type: object
|
|
|
|
required: [lib, target]
|
|
|
|
properties:
|
|
|
|
lib:
|
|
|
|
type: array
|
|
|
|
target:
|
|
|
|
type: string
|
|
|
|
pattern: "^es[0-9]+$"
|
|
|
|
|
|
|
|
check:
|
|
|
|
allOf:
|
|
|
|
- type: object
|
|
|
|
required: [lib, target]
|
|
|
|
properties:
|
|
|
|
lib:
|
|
|
|
type: array
|
|
|
|
items:
|
|
|
|
type: string
|
|
|
|
target:
|
|
|
|
type: string
|
|
|
|
- oneOf:
|
|
|
|
- properties:
|
|
|
|
lib:
|
|
|
|
contains:
|
|
|
|
type: string
|
|
|
|
const: esnext
|
|
|
|
target:
|
|
|
|
type: string
|
|
|
|
const: esnext
|
|
|
|
- properties:
|
|
|
|
lib:
|
|
|
|
contains:
|
|
|
|
type: string
|
|
|
|
const: es2017
|
|
|
|
target:
|
|
|
|
type: string
|
|
|
|
const: es2017
|
|
|
|
- properties:
|
|
|
|
lib:
|
|
|
|
contains:
|
|
|
|
type: string
|
|
|
|
const: es2016
|
|
|
|
target:
|
|
|
|
type: string
|
|
|
|
const: es2016
|
|
|
|
- properties:
|
|
|
|
lib:
|
|
|
|
contains:
|
|
|
|
type: string
|
|
|
|
enum: [es2015, es6]
|
|
|
|
target:
|
|
|
|
type: string
|
|
|
|
enum: [es2015, es6]
|
|
|
|
- properties:
|
|
|
|
lib:
|
|
|
|
contains:
|
|
|
|
type: string
|
|
|
|
const: es5
|
|
|
|
target:
|
|
|
|
type: string
|
|
|
|
const: es5
|
|
|
|
- properties:
|
|
|
|
lib:
|
|
|
|
contains:
|
|
|
|
type: string
|
|
|
|
const: es3
|
|
|
|
target:
|
|
|
|
type: string
|
|
|
|
const: es3
|