Skip to main content

Sopel plugin to handle NPM links/searches

Project description

sopel-npm

Sopel plugin to handle NPM links/searches

Installing

Releases are hosted on PyPI, so after installing Sopel, all you need is pip:

$ pip install sopel-npm

Using

sopel-npm offers two main features: link handling, and a search command.

Link handling

If someone posts a link to a package on npmjs.com, sopel-npm should emit an overview of that package's latest version:

<dgw> https://www.npmjs.com/package/plyr
<Sopel> [npm] plyr@3.7.8 | Published by sam_potts | MIT license | Unpacked
        size: 5.1 MiB in 124 files | A simple, accessible and customizable
        HTML5, YouTube and Vimeo media player

Links directly to a specific package version will show information for that release instead:

<dgw> https://www.npmjs.com/package/plyr/v/2.0.18
<Sopel> [npm] plyr@2.0.18 | Published by sampotts | MIT license | A simple,
        accessible and customizable HTML5, YouTube and Vimeo media player

.npm search command

Use .npm keywords here and sopel-npm will show details for the best match as returned by the NPM registry's search engine:

<dgw> .npm best vue plugin
<Sopel> [npm] eslint-plugin-pinia@0.4.1 | Published by lisilinhart | MIT
        license | Unpacked size: 47.4 KiB in 8 files | ESLint plugin for Pinia
        best practices | https://www.npmjs.com/package/eslint-plugin-pinia

This feature will always show details for the latest version of the matching package, if any.

Robustness

NPM metadata has evolved over time, and the registry doesn't normalize metadata for old releases. sopel-npm does its best to cope with missing data fields and return something useful, even if it's not complete.

Bug reports or pull requests are welcome if you run into a situation that this plugin can't handle gracefully!

Changelog

0.1.0

First release of sopel-npm with:

  • npmjs.com package link handling, with and without a version number
  • .npm command for text search of packages in the registry

Known issues:

  • Packages' publication times are not displayed, because the NPM registry's package-version endpoint inexplicably does not provide a release timestamp.
  • While all of the error-handling code paths should work, in theory, some haven't been verified in real-life testing yet.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sopel_npm-0.1.0.tar.gz (7.0 kB view hashes)

Uploaded Source

Built Distribution

sopel_npm-0.1.0-py3-none-any.whl (7.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page