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

@okta/eslint-plugin-okta

v0.5.0

Published

Linting rules for Okta JS clients

Downloads

1,977

Readme

ESLINT-PLUGIN-OKTA

This package contains Okta's custom ESlint rules.

Table of Contents

Configuration

This plugin provides a sharable configuration that can be extended in any UI project.

To use this preset, add the following to your configuration file:

module.exports = {
  extends: [
    'plugin:@okta/okta/recommended',
    'plugin:@okta/okta/courage-app', // Intended for Courage-based web applications
  ],
}

Extending an existing config with this sharable configuration will result in all *.properties and *.js files in your project to be checked. To apply rules specifically to *.js files, utilize the overrides entry to separate these rules:

module.exports = {
  extends: [
    'plugin:@okta/okta/recommended',
  ],
  overrides: [
    {
      files: ['*.js'],
      rules: [
        'max-len': ['error', { code: 120 }],
        // List of additional rules to be run on JS files
      ]
    },
  ]
}

Rules

| Rule | Description | |------------------------------------------------------------------------------------|---------------------------------------------------------------------------| | no-exclusive-language | Disallow exclusionary words | | no-mission-i18n-comments | Disallow messages without comments for arguments and single-word messages | | no-unlocalized-text | Disallow hardcoded English text in Courage components | | no-unlocalized-text-in-templates | Disallow hardcoded English text in templates |

Processors

| Processors | Description | | -- | -- | | properties | Parse properties files as JavaScript |

Writing a new rule

Custom rules follow the standard ESLint guidelines - check out their Working with Rules page for a good primer. When writing rules, you'll often need to find the right Selector to match the nodes you want to test against - a useful tool for finding these is the AST Explorer.

Once you've got the basics down, create these 3 files. When coming up with a rule name, follow the Rule Naming Conventions, and check out ESLint's list of rules for examples of good rule names.

  1. lib/rules/${your-rule}.js

    This is the rule definition. If it's possible, add a fix function to the rule.

  2. lib/rules/${your-rule}.test.js

    This is the test file. We use ESLint's RuleTester, which makes this extra easy.

  3. docs/rules/${your-rule}.md

    This is the documentation for your rule. Check out the existing docs, or brows through ESLint's own rule docs for good examples of what you should write.

As you're writing your rule, you can run the tests with yarn:

yarn test