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

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:
- Uses non-dev dependencies
- Specifies required engines
- Uses a files whitelist
- Uses a test script
- Has keywords
- Has multiple maintainers
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.
- Fork it.
- Make a feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request.
License
Go make something, dang it.