3.3.1 • Published 4 years ago

resin-lint v3.3.1

Weekly downloads
621
License
Apache 2.0
Repository
github
Last release
4 years ago

resin-lint

resin-lint is a linter based on coffeelint, coffeescope2, tslint and prettier to detect style errors based on Resin.io coding guidelines.

Overview

resin-lint uses Resin's coffeelint.json, tslint.json and .prettierrc. If a coffeelint.json or tslint.json is found in the to-be-linted project directory or its parents then the rules found in it will be merged with the default resin-lint ones. Another way to to override the default resin-lint rules is by specifying a configuration file with the -f parameter.

Typescript

By default, only .coffee files will be linted. .ts and .tsx files can be linted by using the --typescript parameter.

Prettier

You can reference the prettier configuration file to your consumer project from ./config/.prettierrc. You can disable the prettier format checks by using the --no-prettier parameter.

Usage

You can use this module as:

  1. A standalone project by installing it with npm install -g resin-lint:

    kostas@macbook:~/resin/test$ resin-lint src/
      ✓ src/test.coffee
    
      ✓ Ok! » 0 errors and 0 warnings in 1 file
  2. A development dependency in package.json with npm install --save-dev resin-lint. Then you can use the module in your build/testing process:

    package.json
    ------------
    ...
    "scripts": {
      "lint": "resin-lint src/ && echo \"Done!\""
    },
    ...
    
    kostas@macbook:~/resin/test$ npm run lint
    
    > test@1.0.0 lint /Users/kostas/resin/test
    > resin-lint src/ && echo "Done!"
    
      ✓ src/test.coffee
    
      ✓ Ok! » 0 errors and 0 warnings in 1 file
    
      Done!
  3. A development dependency, that will get picked up by your IDE/Editor coffeelint/tslint/prettier.

Manually create these config files in your project root:

tslint.json

// if using prettier in your project
{
	"extends": [
		"resin-lint/config/tslint-prettier.json"
	]
}

// plain TypeScript
{
	"extends": [
		"resin-lint/config/tslint.json"
	]
}

For coffeelint create coffeelint.json

{
	"extends": [
		"resin-lint/config/coffeelint.json"
	]
}

For prettier config create .prettierrc.js

const fs = require('fs');

module.exports = JSON.parse(fs.readFileSync('./node_modules/resin-lint/config/.prettierrc', 'utf8'));

Support

If you're having any problem, please raise an issue on GitHub and the Resin.io team will be happy to help.

Tests

Run the test suite by doing:

$ npm install && npm test

Contribute

Before submitting a PR, please make sure that you include tests, and that npm run lint runs without a warning.

License

The project is licensed under the Apache 2.0 license.

3.3.1

4 years ago

3.3.0

4 years ago

3.2.4

4 years ago

3.2.3

4 years ago

3.2.2

4 years ago

3.2.1

4 years ago

3.2.0

4 years ago

3.1.1

4 years ago

3.1.0

5 years ago

3.0.4

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.5.7

6 years ago

1.5.6

6 years ago

1.5.5

6 years ago

1.5.4

6 years ago

1.5.3

6 years ago

1.5.0

6 years ago

1.4.2

7 years ago

1.4.1

7 years ago

1.4.0

8 years ago

1.3.2

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.2.2

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.4

8 years ago

1.1.3

8 years ago

1.1.2

8 years ago

1.1.1

8 years ago