Identify common style and maintainability issues in your Slim templates.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
bin
lib
src
test
.babelrc
.editorconfig
.eslintrc
.gitattributes
.gitignore
.vile.yml
CHANGELOG.md
CODE_OF_CONDUCT.md
LICENSE
README.md
appveyor.yml
coffeelint.json
package-lock.json
package.json

README.md

vile-slim-lint Circle CI Build status score-badge coverage-badge dependency-badge

A Vile plugin for identifying common style and maintainability issues in your Slim templates (via slim-lint).

Requirements

Installation

Currently, you need to have slim-lint installed manually.

Example:

npm i -D vile vile-slim-lint
gem install slim-lint

Note: A good strategy is to use Bundler.

Usage

npx vile a -p slim-lint

Config

By default, .slim-lint.yml should be picked up without any extra config.

You can specify a custom path as well:

slim-lint:
  config: some/custom_path.yml

Ignoring Files

You can ignore files in your .slim-lint.yml config file.

You can also use the vile.ignore or slim-lint.ignore setting:

slim-lint:
  ignore:
    - lib

Allowing Files

You can set vile.allow or slim-lint.allow and this plugin will honour it.

Example:

slim-lint:
  allow:
    - app/views/foo

Gotchas

You might run into issues with the RuboCop linter enabled, as it generates tmp files that may get picked up by other Ruby plugins that could be running in parallel.

Although it is a big trade off, disabling the linter should fix the issue.

In your .slim-lint.yml:

linters:
  RuboCop:
    enabled: false

Versioning

This project uses Semver.

Licensing

This project is licensed under the MPL-2.0 license.

Any contributions made to this project are made under the current license.

Contributions

Current list of Contributors.

Any contributions are welcome and appreciated!

All you need to do is submit a Pull Request.

  1. Please consider tests and code quality before submitting.
  2. Please try to keep commits clean, atomic and well explained (for others).

Issues

Current issue tracker is on GitHub.

Even if you are uncomfortable with code, an issue or question is welcome.

Code Of Conduct

By participating in this project you agree to our Code of Conduct.

Maintainers

Architecture

This project is currently written in JavaScript. Slim-lint provides a JSON CLI output that is currently used until a more ideal IPC option is implemented.

  • bin houses any shell based scripts
  • src is es6+ syntax compiled with Babel
  • lib generated js library

Developing

cd vile-slim-lint
npm install
gem install slim-lint
npm run dev
npm test