Research
Recent Trends in Malicious Packages Targeting Discord
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
tslint-consistent-codestyle
Advanced tools
Readme
The rules in this package can be used to enforce consistent code style.
Install from npm to your devDependencies (https://www.npmjs.com/package/tslint-consistent-codestyle)
npm install --save-dev tslint-consistent-codestyle
Configure tslint to use tslint-consistent-codestyle
:
This package provides an empty configuration preset that just contains the rulesDirectory
. That means you can easily use the rules in this package, but don't get any predefined configuration. To use it, just add it to the extends
array in your tslint.json
:
{
"extends": ["tslint-consistent-codestyle"]
"rules": {
...
}
}
As of tslint@5.2.0
you can also use tslint-consistent-codestyle
as rulesDirectory
:
{
"rulesDirectory": ["tslint-consistent-codestyle"]
"rules": {
...
}
}
Now configure some of the new rules.
This package provides all rules for both TSLint and Wotan.
To use rules from this package, add the following to your .wotanrc.yaml
file:
extends:
- tslint-consistent-codestyle # makes rules from the package available with the 'tcc/' prefix
rules: # now configure the rules you want to use, remember to use the 'tcc/' prefix
tcc/no-collapsible-if: error
tcc/no-unused:
options: 'ignore-parameters'
Rule | Description |
---|---|
const-parameters | Declare parameters as const with JsDoc /** @const */ |
early-exit | Recommends to use an early exit instead of a long if block. |
ext-curly | Enforces where to consistently use curly braces where not strictly necessary. |
naming-convention | Fine grained configuration to enforce consistent naming for almost everything. E.g. variables, functions, classes, methods, parameters, enums, etc. |
no-as-type-assertion | Prefer <Type>foo over foo as Type . |
no-accessor-recursion | Don't use get foo() { return this.foo; } . This is most likely a typo. |
no-collapsible-if | Identifies nested if statements that can be combined into one. |
no-else-after-return | Like no-else-return from eslint. |
no-return-undefined | Just return; instead of return undefined; . |
no-static-this | Ban the use of this in static methods. |
no-unnecessary-else | Like no-else-after-return but better. |
no-unnecessary-type-annotation | Finds type annotations that can safely be removed. |
no-unused | Find dead code and unused declarations. |
no-var-before-return | Checks if the returned variable is declared right before the return statement. |
object-shorthand-properties-first | Shorthand properties should precede regular properties. |
parameter-properties | Configure how and where to declare parameter properties. |
prefer-const-enum | Prefer const enum where possible. |
prefer-while | Prefer a while loop instead of a for loop without initializer and incrementer. |
FAQs
Additional rules to enforce constistent code style with tslint
We found that tslint-consistent-codestyle demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
Security News
Socket CEO Feross Aboukhadijeh joins a16z partners to discuss how modern, sophisticated supply chain attacks require AI-driven defenses and explore the challenges and solutions in leveraging AI for threat detection early in the development life cycle.
Security News
NIST's new AI Risk Management Framework aims to enhance the security and reliability of generative AI systems and address the unique challenges of malicious AI exploits.