jsonbinpack
Version:
A space-efficient schema-driven binary JSON serialization format based on JSON Schema
478 lines (461 loc) • 9.53 kB
YAML
env:
browser: true
commonjs: true
node: true
parser: '@typescript-eslint/parser'
parserOptions:
project: tsconfig.json
plugins:
- '@typescript-eslint'
extends:
- standard
- "plugin:@typescript-eslint/recommended"
rules:
# TypeScript
'@typescript-eslint/adjacent-overload-signatures':
- error
'@typescript-eslint/array-type':
- error
- default: array
'@typescript-eslint/await-thenable':
- error
'@typescript-eslint/ban-ts-comment':
- error
'@typescript-eslint/class-literal-property-style':
- error
- getters
'@typescript-eslint/consistent-type-assertions':
- error
- assertionStyle: never
'@typescript-eslint/consistent-type-definitions':
- error
- interface
'@typescript-eslint/explicit-member-accessibility':
- error
- accessibility: explicit
'@typescript-eslint/explicit-module-boundary-types':
- error
'@typescript-eslint/no-explicit-any':
- error
'@typescript-eslint/no-inferrable-types':
- off
'@typescript-eslint/no-unused-vars':
- off
'@typescript-eslint/explicit-function-return-type':
- error
'@typescript-eslint/member-delimiter-style':
- error
- multiline:
delimiter: semi
requireLast: true
singleline:
delimiter: semi
requireLast: true
'@typescript-eslint/member-ordering':
- error
'@typescript-eslint/naming-convention':
- error
- selector: 'typeLike'
format: [ 'PascalCase', 'UPPER_CASE' ]
'@typescript-eslint/no-base-to-string':
- error
'@typescript-eslint/no-dynamic-delete':
- error
'@typescript-eslint/no-empty-interface':
- error
'@typescript-eslint/no-extra-non-null-assertion':
- error
'@typescript-eslint/no-extraneous-class':
- error
'@typescript-eslint/no-floating-promises':
- error
'@typescript-eslint/no-for-in-array':
- error
'@typescript-eslint/no-implied-eval':
- error
'@typescript-eslint/no-misused-new':
- error
'@typescript-eslint/no-namespace':
- error
'@typescript-eslint/no-non-null-asserted-optional-chain':
- error
'@typescript-eslint/no-non-null-assertion':
- error
'@typescript-eslint/no-parameter-properties':
- error
'@typescript-eslint/no-require-imports':
- error
'@typescript-eslint/no-this-alias':
- error
'@typescript-eslint/no-throw-literal':
- error
'@typescript-eslint/no-type-alias':
- off
'@typescript-eslint/no-unnecessary-boolean-literal-compare':
- error
'@typescript-eslint/no-unnecessary-condition':
- off
'@typescript-eslint/no-unnecessary-type-arguments':
- error
'@typescript-eslint/no-unnecessary-type-assertion':
- error
'@typescript-eslint/no-unsafe-call':
- off
'@typescript-eslint/no-unsafe-member-access':
- error
'@typescript-eslint/no-unsafe-return':
- off
'@typescript-eslint/no-unused-vars-experimental':
- error
'@typescript-eslint/no-var-requires':
- error
'@typescript-eslint/prefer-as-const':
- error
'@typescript-eslint/prefer-for-of':
- error
'@typescript-eslint/prefer-function-type':
- error
'@typescript-eslint/prefer-includes':
- error
'@typescript-eslint/prefer-namespace-keyword':
- error
'@typescript-eslint/prefer-nullish-coalescing':
- error
'@typescript-eslint/prefer-optional-chain':
- error
'@typescript-eslint/prefer-readonly':
- error
'@typescript-eslint/prefer-readonly-parameter-types':
- off
'@typescript-eslint/prefer-regexp-exec':
- error
'@typescript-eslint/prefer-string-starts-ends-with':
- error
'@typescript-eslint/promise-function-async':
- error
'@typescript-eslint/require-array-sort-compare':
- error
'@typescript-eslint/restrict-plus-operands':
- error
'@typescript-eslint/restrict-template-expressions':
- error
'@typescript-eslint/strict-boolean-expressions':
- error
'@typescript-eslint/switch-exhaustiveness-check':
- error
'@typescript-eslint/triple-slash-reference':
- error
'@typescript-eslint/type-annotation-spacing':
- error
'@typescript-eslint/typedef':
- error
'@typescript-eslint/unbound-method':
- error
'@typescript-eslint/unified-signatures':
- error
'@typescript-eslint/brace-style':
- error
'@typescript-eslint/comma-spacing':
- error
'@typescript-eslint/indent':
- error
- 2
'@typescript-eslint/no-unused-expressions':
- error
'@typescript-eslint/no-use-before-define':
- off
# Possible Errors
no-use-before-define:
- off
no-console:
- off
no-empty:
- error
no-extra-semi:
- error
no-negated-in-lhs:
- error
no-prototype-builtins:
- off
valid-jsdoc:
- error
- requireReturn: false
requireReturnDescription: false
requireReturnType: true
requireParamDescription: true
preferType:
boolean: "Boolean"
number: "Number"
object: "Object"
string: "String"
array: "Array"
prefer:
arg: "param"
return: "returns"
# Best Practices
array-callback-return:
- error
block-scoped-var:
- error
class-methods-use-this:
- error
complexity:
- off
consistent-return:
- error
curly:
- error
default-case:
- error
dot-notation:
- error
guard-for-in:
- off
no-alert:
- error
no-case-declarations:
- error
no-div-regex:
- error
no-else-return:
- error
no-empty-function:
- error
no-eq-null:
- error
no-extra-label:
- error
no-implicit-coercion:
- error
no-implicit-globals:
- error
no-loop-func:
- error
no-magic-numbers:
- off
no-native-reassign:
- error
no-param-reassign:
- error
no-restricted-properties:
- error
- property: __proto__
no-return-await:
- error
no-script-url:
- error
no-unused-labels:
- error
no-useless-concat:
- error
no-void:
- error
no-warning-comments:
- off
radix:
- error
vars-on-top:
- off
# Strict mode
strict:
- error
- global
# Variables
init-declarations:
- error
- always
no-catch-shadow:
- error
no-restricted-globals:
- error
- event
no-undefined:
- off
no-unused-vars:
- off
# NodeJS and CommonJS
callback-return:
- error
global-require:
- off
no-mixed-requires:
- error
no-process-env:
- error
no-process-exit:
- off
no-sync:
- off
# Stylistic Issues
array-bracket-spacing:
- error
- always
capitalized-comments:
- error
- always
- ignoreConsecutiveComments: true
computed-property-spacing:
- error
- never
consistent-this:
- error
- self
func-name-matching:
- error
- always
func-names:
- error
- never
func-style:
- error
- expression
id-blacklist:
- error
id-length:
- error
- min: 2
exceptions:
- "_"
line-comment-position:
- error
- position: above
linebreak-style:
- error
- unix
lines-around-comment:
- error
- beforeBlockComment: true
afterBlockComment: false
beforeLineComment: true
afterLineComment: false
allowBlockStart: true
allowBlockEnd: false
allowObjectStart: true
allowObjectEnd: false
allowArrayStart: true
allowArrayEnd: false
lines-around-directive:
- error
- always
max-len:
- off
- code: 80
comments: 80
ignoreComments: false
ignoreTrailingComments: false
ignoreUrls: true
max-params:
- off
max-statements-per-line:
- error
- max: 1
multiline-ternary:
- off
newline-per-chained-call:
- off
no-bitwise:
- off
no-continue:
- off
no-inline-comments:
- error
no-lonely-if:
- error
no-mixed-operators:
- error
no-multi-assign:
- error
no-negated-condition:
- error
no-nested-ternary:
- error
no-plusplus:
- off
no-restricted-syntax:
- error
- WithStatement
no-spaced-func:
- error
no-tabs:
- off
no-underscore-dangle:
- error
- allowAfterThis: false
object-curly-spacing:
- error
- always
one-var-declaration-per-line:
- error
- always
operator-assignment:
- error
- always
quotes:
- error
- single
quote-props:
- error
- as-needed
require-jsdoc:
- off
- require:
FunctionDeclaration: true
ClassDeclaration: true
MethodDefinition: true
ArrowFunctionExpression: true
semi:
- error
- never
space-before-function-paren:
- error
- anonymous: always
named: always
template-tag-spacing:
- error
- always
unicode-bom:
- error
# ECMAScript 6
arrow-body-style:
- error
- always
arrow-parens:
- error
- always
arrow-spacing:
- error
- before: true
after: true
generator-star-spacing:
- error
- before: true
after: false
indent:
- off
no-confusing-arrow:
- error
no-var:
- error
object-shorthand:
- error
- always
prefer-const:
- error
prefer-reflect:
- error
- exceptions: [ getOwnPropertyNames ]
prefer-spread:
- error
prefer-numeric-literals:
- error
prefer-rest-params:
- error
prefer-template:
- error
prefer-arrow-callback:
- error
- allowNamedFunctions: false
require-yield:
- error
symbol-description:
- error