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

eslint-config-o3-world

v2.0.2

Published

A guide to writing and linting JavaScript.

Downloads

29

Readme

O3 World JavaScript Style Guide

A guide to writing and linting ES6+ JavaScript.

Tools

Installing O3 World ESLint Config

  1. install package (must have ssh setup and repo read access)

npm install eslint-config-o3-world --save-dev

  1. add .eslintrc.json file in project root and extend o3-world,

Example .eslintrc.json file file which switches to using tabs:

{
  "extends": "o3-world",
  rules: {
    "tab-tabs": "off",
    "indent": ["error", "tab"]
  }
}

Rules

JavaScript written by O3 World developers should aim to adhere to the Airbnb Styleguide.

As we transition towards this stricter set of rules, O3's eslint config has been setup as a subset of the Airbnb rules, with some of the more strict rules turned off, and others switched from errors to warnings. Think of this config as Airbnb lite.

See Overrides

Usage

Package.json

Add script to your project's package.json, using ESLints Command Line Interface

example package.json:

{
  "name": "example-site",
  "version": "0.0.1",
  "scripts": {
    "lint": "eslint js/**; exit 0"
  }

then in your terminal:

npm run lint

Gulp

gulp-eslint

npm install gulp-eslint
const eslint = require('gulp-eslint');

gulp.task('lint', () => {
  return gulp.src(['**/*.js','!node_modules/**'])
    .pipe(eslint())
    .pipe(eslint.format());
});

More detailed examples and documentation

Webpack

npm install eslint-loader --save-dev

In your webpack config

module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: "eslint-loader",
        options: {
          // eslint options (if necessary)
        }
      },
    ],
  },
  // ...
}

More detailed examples and documentation

Commit conventions and publishing to NPM

This project uses circle CI and Semantic Release to auto tag releases, and publish new versions to NPM. Commits to master will automatically publish a new release. The version number will be determined by the structure of the message:

  1. git commit -m "fix(thing): fixing thing" = 1.0.0 -> 1.0.1
  2. git commit -m "feat(thing): adding thing" = 1.0.0 -> 1.1.0
  3. git commit -m "BREAKING CHANGE: totally breaking old versions" = 1.0.0 -> 2.0.0