@rushplay/eslint-plugin-objects
v1.2.0
Published
Eslint rules for multi-property objects.
Downloads
2
Maintainers
Readme
eslint-plugin-objects
A small collection of ESLint rules that enforce more strict stylistic conventions for the layout of multi-property objects.
![Stories in Progress](https://badge.waffle.io/davidwaterston/eslint-plugin-objects.svg?label=in%20progress&title=in progress)
Installation
Install ESLint either locally or globally, and then install the plugin (see below). It is important to note that a global instance of ESLint can only use plugins that are also installed globally. A local instance of ESLint, however, can make use of both local and global ESLint plugins.
Global Installation
$ npm install -g eslint
$ npm install -g eslint-plugin-objects
Local Installation
$ npm install --save-dev eslint
$ npm install --save-dev eslint-plugin-objects
Configuration
Add the plugins
section to your config file if not already present and specify eslint-plugin-objects
as a plugin. The eslint-plugin-
prefix may be omitted:
{
"plugins": [
"objects"
]
}
Enable the rules that you would like to use, for example:
{
"rules": {
"objects/no-object-property-split": 2,
"objects/no-object-properties-first-line": 1
}
}
List of supported rules
Stylistic Choices
- no-object-properties-first-line: Disallow first property of a multiple property object from being declared on first line. (On by default)
- no-object-properties-last-line: Disallow last property of a multiple property object to be declared on last line. (On by default)
- no-object-properties-one-line: Disallow multiple object properties to be declared on one line. (On by default)
- no-object-property-split: Disallow object property values from appearing on a different line from their key. (On by default)
Compatibility
This plugin has been tested and confirmed to work with ESLint versions 0.18.0 and later.
Release History
See the change log file for more details.
Verifying Releases
I use Semantic Versioning to number releases. Each release is tagged with the appropriate version number and signed using Gnu Privacy Guard (GPG). The public key used to sign releases is
Name: David Waterston
Email: [email protected]
Key ID: A7AD9C85
Signature: 71A9 DC13 447A 1E4F C6EB 5D64 DE08 A991 A7AD 9C85
This public key is included in the repository with a SHA1 of 16d013451476fa4a1a67d6ad4b90583e205b53b1. After cloning the repo, and assuming you have GPG installed correctly, you can import this key into your keychain
git cat-file blob pubkey | gpg --import
When this public key is successfully imported, you can use it to verify the integrity of any of the tagged releases of this repo
git tag -v v1.0.0
which should produce output similar to:
object 04f37a55784c1f3abc2cf927a935a488aa954035
type commit
tag v1.0.0
tagger David Waterston <[email protected]> 1427387056 +0000
Initial commit
This is just an example so don't get fixated on the details, what matters is the signature!
gpg: Signature made Thu 26 Mar 16:24:16 2015 GMT using RSA key ID A7AD9C85
gpg: Good signature from "David Waterston <[email protected]>" [ultimate]
The important thing to notice here is that the RSA key ID matches mine (A7AD9C85) and the line that says that this is a good signature.
The public key can further be verified by checking the details held on pgp.mit.edu.
##Missing a feature? Add your idea or vote on your favorite feature to be implemented.
Future Plans
Current and planned work for this repo is public and detailed in Waffle.
License
Copyright (c) 2015 David Waterston. All rights reserved. Distributed under an MIT license. See the LICENSE file for more details.