npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@takamachi/eslint-config

v2.9.13

Published

ESLint rules for macchiitaka

Downloads

211

Readme

@takamachi/eslint-config

npm version

A ESLint rule set for macchiitaka.

This package is intended to use in macchiitaka. Currently, this is still in development so the rules might be changed.

What is this?

This is a ESLint rule set for macchiitaka. The purpose of @takamachi/eslint-config are following

  • Share best practices for JavaScript
  • Standardize JavaScript coding guideline in macchiitaka
  • Installation support for ESLint and continuous support for the rule set

The benefits to adapt this rule

You don't need to care about updates for ESLint and ESLint plugins. We'll manage the updates and provide CHANGELOG that you need to know so that you can update it easily. In addition, we'll add some useful plugins into @takamachi/eslint-config so you can learn about best practices for JavaScript through @takamachi/eslint-config.

Rule set policies

We provide rules that are Error or Warning.

Error

This is a rule you must fix because the code might not follow our practices in JavaScript

Warning

This is a rule you should fix because the code style might not be preferable.

Version policy

  1. We update major version if the changes might cause new errors.
  2. We update minor version if the changes might cause new warnings.
  3. We update patch version if the changes don't cause any new errors and warings.

How to use

Install eslint and @takamachi/eslint-config and put it into your .eslintrc.js

$ npm install --save-dev eslint @takamachi/eslint-config
  • .eslintrc.js
module.exports = {
  extends: '@takamachi',
};

Currently, we adopt that indent rule is 2 spaces and having indentation in switch case. You can override the rule if your project adopts 4 spaces or others. We think it's important to have consistency in your entire codebase.

module.exports = {
  extends: '@takamachi',
  rules: {
    // default
    // 'indent': ['warn', 2, { "SwitchCase": 1 }],
    indent: ['warn', 4, { SwitchCase: 0 }],
  },
};

Support rule set

  • @takamachi
    • Including
      • eslint
      • eslint-plugin-unicorn
      • eslint-plugin-import
      • eslint-plugin-simple-import-sort
  • @takamachi/eslint-config/presets/typescript
    • Including
      • @takamachi
      • @typescript-eslint/eslint-plugin
  • @takamachi/eslint-config/presets/react
    • Including
      • @takamachi
      • eslint-plugin-react
      • eslint-plugin-jsx-ally
      • eslint-plugin-react-hooks
    • ⚠️ A11y rules are being defined as warnings, which is an experimental, so we might change the rules in later
  • @takamachi/eslint-config/presets/react-typescript
    • Including
      • @takamachi/eslint-config/presets/react
      • @takamachi/eslint-config/presets/typescript
  • @takamachi/eslint-config/presets/node
    • Including
      • @takamachi
      • eslint-plugin-node
  • @takamachi/eslint-config/presets/none-typescript
    • Including
      • @takamachi/eslint-config/presets/none
      • @takamachi/eslint-config/presets/typescript

TypeScript Support

Please set parserOptions.project in .eslintrc.js. This option allows you to provide a path to your project's tsconfig.json. This setting is required if you want to use rules which require type information.

module.exports = {
  parserOptions: {
    project: './tsconfig.json',
  },
};

Prettier Support

Prettier is a code formatter, which supports not only JavaScript but also other languages. Prettier is used widely for a code formatter for JavaScript.

It's an opinionated tool but with Prettier, we don't have to discuss code styles in code review. (No more bikeshed)

The presets disable all rules conflicting with Prettier and treat the difference as errors. You can fix the errors by --fix option, so you don't have to fix the errors manually.

In order to this, you have to install prettier and choose a preset from the followings.

$ npm install --save-dev prettier
  • @takamachi/eslint-config/presets/prettier
  • @takamachi/eslint-config/presets/typescript-prettier
  • @takamachi/eslint-config/presets/react-prettier
  • @takamachi/eslint-config/presets/react-typescript-prettier
  • @takamachi/eslint-config/presets/node-prettier
  • @takamachi/eslint-config/presets/node-typescript-prettier

Currently, we don't support customized Prettier config

Recommended plugins