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

check-loader

v1.0.0

Published

A webpack loader use to used to identify some information in your project code

Downloads

1

Readme

check-loader

A webpack loader use to used to identify some information in your project code

You can use it to specify some specifications in your project

Installation

npm install check-loader -D

Examples

usage with webpack

const webpckConfig = {
  module: {
    rules: [
      {
        test: /\.js$/,
        use: [
          'babel-loader',
          {
            loader: 'check-loader',
            options: {
              check: {
                mode: 'normal',
                rules: /\$store.commit/,
                tip: 'mapMutations is recommended'
              }
            }
          }
        ]
      }
    ]
  }
}

If the rules set by the check-loader match, the following effect is displayed

Image text

Can be applied to any file in the WebPack process

const webpckConfig = {
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'style-loader',
          'css-loader',
          {
            loader: 'check-loader',
            options: {
              check: {
                mode: 'normal',
                rules: /display\s*:\s*flex\s*;/,
                tip: 'Disable flex layout'
              }
            }
          }
        ]
      },
      {
        test: /\.(js|ts)$/,
        use: [
          'babel-loader',
          {
            loader: 'check-loader',
            options: {
              check: {
                mode: 'normal',
                rules: /\$store.commit/,
                tip: 'mapMutations is recommended'
              }
            }
          }
        ]
      }
    ]
  }
}

strict mode

If the mode attribute in the check configuration item is set to 'strict', the Webpack process will be interrupted and throw an error if the match is successful

const webpckConfig = {
  module: {
    rules: [
      {
        test: /\.js$/,
        use: [
          'babel-loader',
          {
            loader: 'check-loader',
            options: {
              check: {
                mode: 'strict', // use strict mode
                rules: /\$store.commit/,
                tip: 'mapMutations is recommended'
              }
            }
          }
        ]
      }
    ]
  }
}

If the rules set by the check-loader match, the following effect is displayed

Image text

use function

You can set the check option as a function so that you can customize the check rules, not just the regular representation or strings

const webpckConfig = {
  module: {
    rules: [
      {
        test: /\.js$/,
        use: [
          'babel-loader',
          {
            loader: 'check-loader',
            options: {
              check: {
                mode: 'normal',
                rules: function (context) {
                  const bytes = context.length * 2 // The character length is assumed to be 2 bytes // Actually it's not
                  const kb = bytes / 1024
                  if (kb > 512) {
                    return `current context size: ${kb}` // Checked Info
                  }
                },
                tip: 'The file size cannot exceed 512kb'
              }
            }
          }
        ]
      }
    ]
  }
}

multiple check

const webpckConfig = {
  module: {
    rules: [
      {
        test: /\.js$/,
        use: [
          'babel-loader',
          {
            loader: 'check-loader',
            options: {
              check: [
                {
                  mode: 'normal',
                  rules: /\$store.commit/,
                  tip: 'mapMutations is recommended'
                },
                {
                  mode: 'normal',
                  rules: /\$store.dispatch/,
                  tip: 'mapActions is recommended'
                },
                {
                  mode: 'normal',
                  rules: /\$store.state/,
                  tip: 'mapState is recommended'
                }
              ]
            }
          }
        ]
      }
    ]
  }
}

options

Basic options

| name | use | type | default | | ------- | ----------------------------------------- | ----------------------------------- | ------- | | check | Used to match file contents | string/regexp/function/object/array | [] | | include | Path of the file to be processed | string/regexp/array | [] | | exclude | Path to files that do not need processing | string/regexp/array | [] |

Filter the path

const webpckConfig = {
  module: {
    rules: [
      {
        test: /\.js$/,
        use: [
          'babel-loader',
          {
            loader: 'check-loader',
            options: {
              check: {
                mode: 'normal',
                rules: /\$store.commit/,
                tip: 'mapMutations is recommended'
              },
              // Use these options to filter check paths
              include: [path.resolve(__dirname, 'src')],
              exclude: [path.resolve(__dirname, 'src/test')]
            }
          }
        ]
      }
    ]
  }
}
  1. This section describes the types of the check option

use String

{
  check: 'this.$store.commit'
}

use Regexp

{
  check: /\$store.commit/
}

use Function

{
	check: function (context) {
		const bytes = context.length * 2; // The character length is assumed to be 2 bytes // Actually it's not
		const kb = bytes / 1024
		if (kb > 512) {
			return `current context size: ${ kb }` // Checked Info
		}
	}
}

use Object

{
	check: {
		mode: 'normal',
		rules: /\$store.commit/,
		tip: 'mapMutations is recommended'
	}
}

Object Configuration

| name | use | type | default | | ----- | --------------------------------------------- | ----------------------------------- | ------- | | mode | Level of prompt | normal or strict | normal | | rules | rules for check | string/regexp/function/object/array | [] | | tip | Something that needs to be told to developers | string | '' |

use Array

{
  check: [
    'this.$store.dispatch',
    /\$store.commit/,
    function (context) {
      const bytes = context.length * 2 // The character length is assumed to be 2 bytes // Actually it's not
      const kb = bytes / 1024
      if (kb > 512) {
        return `current context size: ${kb}` // Checked Info
      }
    },
    {
      mode: 'normal',
      rules: /\$store.state/,
      tip: 'mapMutations is recommended'
    }
  ]
}