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

@batterii/generator-ts-module

v0.5.0

Published

Static function module generator for Batterii TypeScript projects

Downloads

47

Readme

@batterii/generator-ts-module

A yeoman generator for creating static function modules in Batterii TypeScript projects.

Usage

  yo @batterii/ts-module [options]

Options:
  -h,   --help           # Print the generator's options and usage
        --skip-cache     # Do not remember prompt answers                   Default: false
        --skip-install   # Do not automatically install dependencies        Default: false
        --force-install  # Fail on install dependencies error               Default: false
  -f,   --function       # Name of the first module function
  -m,   --module         # Name of the module, without the extension
  -s,   --stand-alone    # Set if the module will export only one function

Function and Module Names

This generator will create a new .ts file in the src/lib directory with --module as its name, which exports a function with --function as its name. It also will create associated unit test file in the same directory with a .spec.ts extension. If either of these options is omitted, the generator will prompt the user for them.

The function name must be a valid TypeScript identifier in lower camel case, while the module name must be dash-separated lower case. The prompt for the module name defaults to the decamelized function name, so often times you can just press enter here unless you need the module to be named differently.

Stand-Alone Function Modules

Normally, when you create a new module, a describe block for the first function is nested inside a describe block for the while module in its unit test file. This makes it easy to add tests for any related functions that might be added to the same module.

Many modules will export only one function, however, so these nested describe blocks can often become redundant. If you know this will be the case, you can run the generator with the --stand-alone option, which will omit the surrounding describe block, among other elements you're not going to need for a single-function module.

The --stand-alone option is ignored if the module name is not equal to the decamelized function name. This is to enforce naming conventions that make the developer's life easier. A stand-alone function inside a module with a completely different name would be difficult to find based on the test names alone, so this generator does not allow it.

If the --stand-alone option (or its negation --no-stand-alone) is not provided, and the module name is equal to the decamelized function name, the generator will prompt the user to determine what to do.