Squatter
Check if a namespace on npm is being hogged
Install / Use
/learn @sholladay/SquatterREADME
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<br>
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.
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
