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-plugin-react-require-testid

v1.0.3

Published

This ESLint plugin helps ensure that React components have the necessary testID attribute, which is crucial for effective testing of React applications.

Downloads

4,384

Readme

eslint-plugin-react-require-testid

This ESLint plugin helps ensure that React components have the necessary data-testid attribute, which is crucial for effective testing of React applications.

Installation

yarn add eslint-plugin-react-require-testid --dev

Usage

After installation, you need to configure ESLint to use this rule. Here's an example configuration:

{
  "plugins": ["react-require-testid"],
  "rules": {
    "react-require-testid/testid-missing": ["error", {
      "disableDefaultComponents": [],
      "enableComponents": []
    }]
  }
}

In this configuration:

  • disableDefaultComponents allows you to specify default components to exclude from the rule check.
  • enableComponents allows you to specify additional components to include in the rule check.
Rule Logic
  • The rule iterates through JSX opening elements in your code.
  • It filters out default React components based on the configuration.
  • It merges the filtered default components with any additional components specified.
  • For each JSX opening element, it checks if the component is allowed and if it has a data-testid attribute.
  • If the component is allowed but lacks a data-testid attribute, a linting error is reported.
Example

Consider the following JSX code snippet:

<MyCustomComponent />

With the ESLint rule configured, it will raise a linting error if MyCustomComponent is included in the allowed components list but does not have a data-testid attribute.

Contributing

Contributions to this ESLint rule are welcome! If you encounter issues or have suggestions for improvements, please open an issue or submit a pull request on GitHub.

Conventional Commits

This project uses a specification called Conventional Commits, please ensure this specification is followed when commiting code to this project.

Guide: https://www.conventionalcommits.org/en/v1.0.0/

Pull Requests, Approvals & Releases

Creating the develop release pull request

Pull Requests made to this project are required in order to merge to develop or main

When submitting a Pull Request, at least one approval is required before merging.

When constructing a release, ensure that a release branch is created based off of the contents of develop, the only changes contained within this branch should be the version numbers in package.json and android's build.gradle.

The Pull Request should be named as [develop] release vX.Y.Z

Creating the main release pull request

Once this Pull Request has been created, you will need to generate a new Pull Request based off main comparing the develop release branch you have just created, this should ensure that all changes that have been made to develop since the last release are contained within this update.

The Pull Request should be named as [main] release vX.Y.Z

Creating the release tag

Once this has been done and both Pull Requests have been merged, a release tag should be generated, named as vX.Y.Z