3.1.0 • Published 5 years ago
eslint-plugin-botland v3.1.0
eslint-plugin-botland
Lint your BotLandScript bot scripts for Bot Land using eslint.
Rules
code-length
Bot Land scripts can at most have 16500 charactersentry-point
Check that the script has the requiredupdate
function. Marks all entry points as used.no-args-in-entry-point
Entry points get passed no arguments.no-big-array
Items on arrays can only be assigned to indexes between 0 and 99.no-code-after-terminator
Warn about code after terminators, since it may not always be reached.no-terminator-in-init
Terminators in the init entry point are a no-op.no-unreachable-code
Check for code that is never reached via entry points.no-unset
Check for variables to be set when read and functions to be defined on the top level scope.no-unsupported-syntax
Check for unsupported JS syntax features.no-terminator-expression
Terminators must always be a statement on their own line.no-call-entry
Don't manually invoke entry points.only-global-function-declaration
Top level code must be function declarations and function declarations must be on the top level.prefer-anything
Prefer the shorterANYTHING
over its equivalentCPU | BOT | CHIP
.prefer-function
Enforce function name to use for aliased functions. Can take an option object with two properties:exclude
andprefer
. Both take an array of strings. Functions listed inexclude
are ignored by the rule. Functions listed inprefer
are preferred over the default name of the function.use-array-variables
There are two special variables in Bot Land,array1
andarray2
to access and mutate arrays. Arrays can not be interacted with in any other way.
Future rules to add
arg-types
Check argument count and types for methods. Should at the very least be able to check number of args, type of literals and direction literals.string-length
debugLog
strings can at most have 50 characters.no-nan-in-init
warns aboutgetX
/getY
resp.entity.x
/entity.y
beingNaN
inside theinit
code path.no-reassign-loopvar-in-call
warns about loop variables being reset in a function called within the loop.prefer-find-entities
prefer (or not)findEntities
overfindClosest*
functions.
Configs
recommended
Adds all the global functions and variables of Bot Land so eslint doesn't complain about them, removes all the ECMA Script globals and adds the following rules:Rule Level Fixable code-length
error No entry-point
error No no-unsupported-syntax
error No only-global-function-declaration
error No use-array-variables
error No no-big-array
error No no-unset
error No no-unreachable-code
error No no-terminator-expression
error No no-call-entry
error No no-terminator-in-init
warning No prefer-function
warning Yes no-code-after-terminator
warning No prefer-anything
warning Yes