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

@golms/eslint-config

v1.1.1

Published

Shared eslint configuration used at Boehringer Ingelheim for code styling

Downloads

12

Readme

ESLint Configuration

ESLint statically analyzes your code to quickly find problems. It is built into most text editors and you can run ESLint as part of your continuous integration pipeline. - https://eslint.org/

This is the shared eslint configuration used at Boehringer Ingelheim for code styling.

npm version npm downloads License: Apache-2.0 Maintenance Conventional Commits semantic-release: angular

Usage

Install the package

npm install --save-dev @boehringer-ingelheim/eslint-config

Add the configuration

Create or update the .eslintrc.js file in your projects root directory accordingly.

module.exports = {
  extends: ["@boehringer-ingelheim/eslint-config/base"],
};

Extend or Override configuration

This is not recommended as the goal is to have similar code stylings in all projects, but if for some reason you need to add or change the configuration, it is possible in the following way:

module.exports = {
  extends: ["@boehringer-ingelheim/eslint-config/base"],
  rules: {
    camelcase: "off",
  },
};

More Information: ESLint - Configuration Files

Run

npx eslint .

Shared Configurations

Opinionated Options that differ from the standard/recommended eslint configurations.

@boehringer-ingelheim/eslint-config/base

module.exports = {
  extends: ["@boehringer-ingelheim/eslint-config/base"],
};

This shared ESLint configuration is set up for TypeScript projects that adhere to modern JavaScript standards. It uses the latest version of TypeScript (ES2022) and extends several plugins and recommended rules to enforce best practices and catch potential errors.

The following plugins are used in this configuration:

Additionally, the eslint-plugin-sort-keys-plus is used to automatically fix sorting issues.

This configuration also sets up the TypeScript parser @typescript-eslint/parser and eslint-import-resolver-typescript. The TypeScript project file ./tsconfig.json is set as default value for the project option in the parser configuration. If this is not the case, this must be changed accordingly:

module.exports = {
  parserOptions: {
    // Use `tsconfing.dev.json` as typescript project configuration, see: https://typescript-eslint.io/architecture/parser/#project
    project: "./tsconfig.dev.json",
  },
};

@boehringer-ingelheim/eslint-config/base/strict

module.exports = {
  extends: ["@boehringer-ingelheim/eslint-config/base/strict"],
};

This shared ESLint configuration extends the @boehringer-ingelheim/eslint-config/base configuration and adds additional strict linting rules from the @typescript-eslint/eslint-plugin plugin. These strict rules aim to enforce a high standard of code quality and improve code maintainability.

@boehringer-ingelheim/eslint-config/react

module.exports = {
  extends: ["@boehringer-ingelheim/eslint-config/base/strict", "@boehringer-ingelheim/eslint-config/react"],
};

This shared ESLint configuration is specifically tailored for React projects, and extends @boehringer-ingelheim/eslint-config/base. It uses the browser environment, and includes recommended configurations for the following plugins: jsx-a11y, react, and react-hooks.

The configuration sets several custom rules, including @typescript-eslint/ban-types and @typescript-eslint/consistent-type-definitions, as well as rules for organizing and formatting import statements.

@boehringer-ingelheim/eslint-config/playwright

module.exports = {
  extends: ["@boehringer-ingelheim/eslint-config/base/strict", "@boehringer-ingelheim/eslint-config/playwright"],
};

This shared ESLint configuration is designed to enforce best practices and recommendations when writing tests with Playwright. It extends the eslint-plugin-playwright configuration and adds the following rules:

Local Development

Install Dependencies

npm install

Test

npm test

Repair

This command may be useful when obscure errors or issues are encountered. It removes and recreates dependencies of your project.

npm run repair

Release

Fully automated version management and package publishing via semantic-release. It bumps the version according to conventional commits, publishes the package to npm and release a new version to GitHub.

Automatic Release (GitHub Action) [Recommended]

Make sure that the secrets GITHUB_TOKEN and NPM_TOKEN are available in GitHub repository.

npm run release:ci

Manual Release

Make sure that the environment variables GITHUB_TOKEN and NPM_TOKEN are set or declared in .env and a productive build was previously created via npm run build.

npm run release

Roadmap

  • [ ] Angular
  • [ ] Node.js

Show your support

Give a ⭐️ if this project helped you!

License

Copyright © 2023 Boehringer Ingelheim. This project is MIT licensed.

Resources