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

metalint

v0.18.0

Published

Un linter pour les gouverner tous.

Downloads

299

Readme

Metalint

npm build coverage semver

Un linter pour les gouverner tous.

Description

Metalint est un outil pour analyser tous les fichiers de votre projet. L'analyse est déléguée à des linters (outils d'analyse statique de code source) :

Installation

Vous pouvez installer Metalint en utilisant npm :

npm install --save-dev --save-exact metalint

Configuration

Tous les fichiers de configuration sont à regrouper dans le répertoire .metalint/ qui doit être placé à la racine du projet. Le fichier metalint.config.js export un objet JSON indiquant les linters à utiliser pour chaque fichier. Les autres fichiers contiennent les options spécifiques pour les linters.

Exemple

Dans cet exemple des fichiers de configuration, Metalint analyse les fichiers JavaScript (non-minifiés), HTML et CSS ; avec respectivement les linters ESLint, HTMLHint et Stylelint.

// .metalint/metalint.config.js
export default {
  patterns: ["**", "!/.git/**", "!/node_modules/**"],
  checkers: [
    {
      patterns: ["*.js", "!*.min.js"],
      linters: "eslint",
    },
    {
      patterns: "*.html",
      linters: "htmlhint",
    },
    {
      patterns: "*.css",
      linters: "stylelint",
    },
  ],
};
// .metalint/eslint.config.js
export default {
  rules: {
    quotes: ["error", "double"],
    semi: ["error", "always"],
  },
};
// .metalint/htmlhint.config.js
export default {
  "attr-value-not-empty": false,
};
// .metalint/stylelint.config.js
export default {
  rules: {
    "color-no-invalid-hex": true,
  },
};

Intégration

npm

Après avoir installé Metalint et les linters dans votre projet npm, vous pouvez ajouter le script suivant dans votre package.json :

{
  "scripts": {
    "lint": "metalint"
  }
}

Metalint est maintenant utilisable avec la commande : npm run lint

GitHub Actions

Pour lancer Metalint dans vos GitHub Actions, vous pouvez utiliser le formateur github pour rapporter les problèmes dans les pull requests.

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-node@v4
      - uses: actions/checkout@v4
        with:
          persist-credentials: false
      - name: Install dependencies
        run: npm ci
      - name: Lint files
        run: npm run lint -- --formatter github