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

sails-hook-organics

v3.0.0

Published

Standard library for Node/Sails applications. Hand-picked and maintained by the Sails.js core team.

Downloads

9,435

Readme

sails-hook-organics

Exposes a set of commonly-used functions ("organics") as built-in helpers in your Sails app.

This package contains a set of hand-picked, trusted helpers recommended by the Sails core team, and designed for use as your standard library when building Node/Sails-based applications.

Installation   NPM version

npm install sails-hook-organics --save

Usage

var hashedPassword = await sails.helpers.passwords.hashPassword('keyboardcat');
var randomString = sails.helpers.strings.random();

Available methods

.
├── flow
│   ├── build
│   ├── dive
│   ├── forEach
│   ├── pause
│   ├── simultaneously
│   ├── simultaneouslyForEach
│   └── until
│
├── strings
│   ├── ensureUniq
│   ├── random
│   ├── toStream
│   ├── template
│   └── uuid
│
├── http
│   ├── del
│   ├── get
│   ├── getStream
│   ├── patch
│   ├── post
│   ├── put
│   └── sendHttpRequest
│
├── process
│   ├── executeCommand
│   └── killChildProcess
│
├── gravatar
│   └── getAvatarUrl
│
├── mailgun
│   └── sendHtmlEmail
│
├── sendgrid
│   └── sendHtmlEmail
│
├── passwords
│   ├── checkPassword
│   └── hashPassword
│
├── stripe
│   ├── chargeCustomer
│   └── saveBillingInfo
│
└── twilio
    └── sendTextMessage

Where did all the rest go?

See OTHER-USEFUL-METHODS.md for information on how to use the many additional methods that are no longer included by default.

Bugs   NPM version

To report a bug, click here. Someone will look into it ASAP.

In the mean time, if you see how to fix the problem and have a moment to prepare a patch, feel free to submit a pull request to the appropriate repo. Thanks for taking the time to help out!

We always welcome any patch with a bug fix, typo correction, performance enhancement, better error message, or that improves the readability of inline documentation/metadata/comments.

But before submitting modifications to code, please be aware: With this project, we've tried really hard to keep things consistent between individual methods, and that means being vigilant about the effect of any usage change in the grand scheme of the library. Thus we can't merge any unsolicited PRs that contain additive or breaking changes to usage (including new methods or options), without going through the process of submitting a proposal PR to the main Sails repo first. See Contributing below for more information.

Contributing

Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.

NPM

Help

First, please check out the relevant documentation. If you are having trouble or have questions, click here!

FAQ

Why "organics"?

We refer to the kind of built-in helper provided by this hook as an "organic" helper, in the sense that it is something fundamental and inherent. This hook is also "organic" in the sense that its helpers work kind of like genes-- when you use this hook in an app, you get all of its helpers, even if you're not using some of them right away. Finally, these helpers are also certified "organic" in that they have been hand-checked by the Sails core team to make sure they're solid and up to date. (Because we use them ourselves.)

Do I have to use this?

No, using this hook is completely optional.

The reason sails-hook-organics is extrapolated into a separate package, rather than being baked in to sails, is so that you can choose not to install it in your app-- i.e. if you don't need or want the functionality it provides, or if you'd prefer to do things differently.

Nevertheless, keep in mind that any particular helper you'd rather not use can always be superceded or overridden by an inline helper in your app. For example, if you need to write your own algorithm for generating unique, pseudorandom string tokens, you might override strings.random() in your app (api/helpers/strings/random.js). Or if you want to use Paypal instead of Stripe for billing, you might roll your own, separate saveBillingInfo() helper (api/helpers/paypal/save-billing-info.js).

Note: In both customization examples mentioned above, the ideal approach (for interoperability's sake) would be to mimic the existing interface as much as possible (e.g. method names, inputs, & exits). But really, that's icing on the cake. This hook provides supplemental tools designed to make it faster and easier for you to build a stable, maintainable application. It's up to you to build any other custom logic you need for your app-- and it's our job, as your framework, to get out of your way and let you do that.

I have an idea for how to improve...

We'd like to hear it! The best way to share your ideas is to contribute (see below).

I wish this supported...

We are constantly looking for ways to improve this library. If we're missing something you need from a particular pack, come by to explain your use case and we'll see what we can do. If you're in a hurry, just create a fork or contact us about professional support options.

Does this use semver?

3rd party dependency versions are pinned, and all releases of this package are carefully considered and tested to adhere to semantic versioning.

What does the future hold?

The roadmap for this package is flexible and we're open to ideas. The important thing is that we remain relentlessly focused on stability and versatility, while keeping the library relatively lightweight and the usage intuitive. Secondary to that, most of the immediate-term improvements we're interested in making are related to performance.

I'd like to help work on this.

Awesome! Please have a read through the contribution guide, if you haven't already. If you're actively interested in helping to shape the future usage and roadmap for this library, we welcome your input! Please introduce yourself, let us know a rough guess at the # of hours per week you'll be able to commit, and someone from the core team will contact you ASAP.

License

This package, like the Sails framework, is free and open-source under the MIT License.