![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
tslint-clean-code
Advanced tools
A set of TSLint rules used to enforce Clean Code practices. Inspired by Clean Code: A Handbook of Agile Software Craftsmanship.
The Latest Development Version is available online.
To use the nightly build set your npm version to git://github.com/Glavin001/tslint-clean-code.git#releases
npm install tslint-clean-code
Add the new rulesDirectory to your tslint task:
grunt.initConfig({
tslint: {
options: {
rulesDirectory: 'node_modules/tslint-clean-code',
configuration: grunt.file.readJSON("tslint.json")
},
files: {
src: ['src/file1.ts', 'src/file2.ts']
}
}
})
The tslint.json file does not change format when using this package. Just add our rule definitions to your existing tslint.json file.
There certainly are a lot of options! Here are some links to get you started.
"extends": "tslint-clean-code"
to your configuration. Please note, the default rules require the --type-check
and --project
TSLint options. Also, please note that adding a rule to the recommended ruleset is considered backwards compatible. If you reply on version ranges in your dependencies then you may find that new rules being added to the product create violations and fail your build.Rule Name | Description | Since |
---|---|---|
id-length | Enforces a minimum and/or maximum identifier length convention. | 0.1.0 |
try-catch-first | Try-catch blocks must be first within the scope. Try-catch blocks are transactions and should leave your program in a consistent state, no matter what happens in the try. | 0.1.0 |
max-func-args | Limit the number of input arguments for a function. The ideal number of arguments for a function is zero (niladic). | 0.1.0 |
min-class-cohesion | The more variables a method manipulates the more cohesive that method is to its class. A class in which each variable is used by each method is maximally cohesive. We would like cohesion to be high. When cohesion is high, it means that the methods and variables of the class are co-dependent and hang together as a logical whole. | 0.1.0 |
newspaper-order | We would like a source file to be like a newspaper article. Detail should increase as we move downward, until at the end we find the lowest level functions and details in the source file. | 0.1.0 |
no-flag-args | Functions should only do one thing, therefore passing a boolean into a function is a bad practice. The function does one thing if the flag is true and another if the flag is false! | 0.1.0 |
no-for-each-push | Enforce using Array.map instead of Array.forEach and Array.push. | 0.1.0 |
no-map-without-usage | Ensure results of Array.map is either assigned to variable or returned | 0.1.0 |
no-complex-conditionals | Enforce the maximum complexity of conditional expressions. | 0.1.0 |
prefer-dry-conditionals | Don't-Repeat-Yourself in if statement conditionals, instead use Switch statements. | 0.1.0 |
To develop tslint-clean-code simply clone the repository, install dependencies and run grunt:
git clone git@github.com:Glavin001/tslint-clean-code.git --config core.autocrlf=input --config core.eol=lf
cd tslint-clean-code
npm install
grunt all
grunt create-rule --rule-name=no-something-or-other
If command fails because of file access permissions, prefix it with sudo.
npm install -g node-inspector
Then run:
node-debug grunt mochaTest
The node-debug
command will load Node Inspector in your default browser (works in Chrome and Opera only).
Set a breakpoint somewhere in your code and resume execution. Your breakpoint should be hit.
Refer to the Releases Wiki Page
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Thank you to maintainers of tslint-microsoft-contrib, from which this repository was forked. The initial structure was kept and new rules were added, this would not have been possible without Microsoft's awesome work!
FAQs
TSLint rules for enforcing Clean Code
The npm package tslint-clean-code receives a total of 6,815 weekly downloads. As such, tslint-clean-code popularity was classified as popular.
We found that tslint-clean-code 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.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.