JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 21
  • Score
    100M100P100Q49055F
  • License MPL-2.0

Check if a namespace on npm is being hogged.

Package Exports

  • squatter

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (squatter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

squatter Build status for Squatter Build status for Squatter on Windows

Check if a namespace on npm is being hogged.

Why?

  • Find out if a package name is worth disputing.
  • Filter out low quality packages in tools (e.g. search).
  • Check the quality of your own packages.

Install

npm install squatter --save

Usage

Get it into your program.

const squatter = require('squatter');

Check whether a given package name is being squatted.

squatter('foo').then((isSquatted) => {
    console.log(isSquatted);  // true
});
squatter('build-path').then((isSquatted) => {
    console.log(isSquatted);  // false
});

Algorithm

A heuristic is used to determine if a package is a squatter.

A squatter is a package that is not either exempt, useful, or high quality.

Packages are guilty until proven innocent.

Exemptions

A package is exempt (aka not a squatter) if it has at least one of:

  • A new version was published within the last 30 days
  • Significant download activity

Usefulness

A package is useful (aka not a squatter) if it has all of:

  • A README that is at least 100 characters long
  • Has a binary or is depended on by another package
  • Its version is 1.0.0 or higher

Quality

A package is high quality (aka not a squatter) if it has at least 80% of:

API

squatter(name)

Returns a Promise for a boolean of whether the name is being hogged on npm, as determined by the algorithm.

name

Type: string
Example: build-path

Any valid npm package name.

CLI

See squatter-cli to use this on the command line.

Contributing

See our contributing guidelines for more details.

  1. Fork it.
  2. Make a feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request.

License

MPL-2.0 © Seth Holladay

Go make something, dang it.