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-archisquad

v2.3.0

Published

Our shareable config & rules for ESLint v9

Downloads

231

Readme

archisquad ESLint Config

Our shareable config & rules for ESLint v9

npm version npm downloads CI: Test

How to use it?

1.Add package & necessary dependencies (such as ESlint & Prettier) to your repository, for, e.g. with pnpm or your package manager of choice:

pnpm i -D eslint prettier eslint-config-archisquad

2.Create your local ESLint config file with archisquad configFactory:

import { configFactory } from "eslint-config-archisquad"

export default await configFactory({
  // your config goes here
})

Configuration

Our ESLint configuration is quite configurable, let's deep dive into the options.

import { configFactory } from "eslint-config-archisquad"

export default await configFactory({
  // Basically it's all abut enabling some plugins. All features are disabled by default.
  features: {
    // Enables the eslint-compat-plugin
    compat: true,
    // Enables the eslint-promise-plugin
    promise: true,
    // Enables the eslint-secrets-plugin
    secrets: true
  },
  // Support for different frameworks.
  frameworks: {
    // You can also set to `true` if all of your files are for Node.js
    node: {
      // Pass the glob pattern for matching for enable Playwright config
      files: ["server/**/*.ts"],
    },
    playwright: {
      // Pass the glob pattern for matching for enable Playwright config
      files: ["tests/**/*.e2e.ts"],
    },
    vitest: {
      // Pass the glob pattern for matching for enable Playwright config
      files: ["tests/**/*.test.ts"],
      // Set to true if your test files are written in TypeScript
      typescript: true,
    }
  },
  // Configuration for different languages, each of them can be simply turned on, by setting
  // true. If you want to customize the files, set an object value.
  language: {
    json: {
      files: ["**/*.json"],
    },
    markdown: {
      files: ["**/*.md", "**/*.mdx"],
    },
    typescript: {
      files: ["**/*.ts", "**/*.tsx", "**/*.cts", "**/*.mts"],
    },
    yaml: {
      files: ["**/*.yaml", "**/*.yml"],
    },
  },
  // Options for plugins built-in into this ESLint config
  options: {
    // Setup for Perfectionist plugin
    perfectionist: {
      ignoreCase: true,
      order: "asc",
      sortType: "alphabetical"
      // There is more advanced options available, to dig into look at the types.ts file
    }
  }
})

Used rulesets & plugins

Development

First make a copy of this repository and install all dependencies using pnpm:

git clone [email protected]:archisquad/eslint-config-archisquad.git
cd eslint-config-archisquad
pnpm i

Then, create a branch, make your changes in code, commit it following gitmoji & conventional commits styles.

After that, push it and then create a Pull Request with the target to main branch.

License

MIT