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

@lambdalabs/generator-spa

v0.9.13

Published

A yeoman generator for the Labs SPA scaffolding

Downloads

2

Readme

Labs Basic SPA Generator

The Labs SPA generator will create a basic cra react app with configuration and components in place based on answers to the prompts. Common elements found in all configurations are:

  • Labs opinionated project structure
  • example page/common components
  • Working tests for components using jest and React Testing Library
  • Labs defined eslint and pretter config
  • github ci/actions workflow config
  • git hook enforced linting using Husky

CLI Examples

Create a SPA app for the labs 27 gigantic product

labs @lambdalabs/spa labs27-gigantic

Create a SPA app for the Labs 26 gigantic product with the labs program option

labs @lambdalabs/spa labs26-gigantic --program=labs

When only the project name argument is provided then you will be prompted for more info.

Labs SPA prompts

Generators

App

This is the default generator that will create the entire project.

Usage:
  labs @lambdalabs/spa <name> [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
        --ask-answered   # Show prompts for already configured options                                                        Default: false
  -p,   --program        # Which program will this be used for: "bw" or "labs"
  -r,   --repoUrl        # The Github repo HTTPS git url. eg, https://github.com/lambda-school-labs/labsNN-productA-teamB-fe
  -d,   --hasDS          # project has DS team members

Arguments:
  name  # Name of Project  Type: String  Required: true

Prompts / Options

The following prompts will provide additional configuration and examples

Does your team have Data Science members

Option

--hasDS or -d - passing false to the option will turn it off. (--hasDS=false)

Prompt

If the answer is Y then the following items will be added to the project:

  • modules plotly.js and react-plotly.js
  • an example data visualization page component ExampleDataViz using a DS API.

Program

Option

--program or -p - pass labs or bw

Prompt

The program choices are BW and Labs

  • BW will generate the base configuration.
  • Labs will add the following elements
    • Okta identity management service
    • Secure routes using Okta library
    • Secure BE API example using Okta JWT
    • Ant Design configuration and theme
    • Storybook documentation
    • AWS Amplify config file

Enter your Github repo HTTPS git url

Option

--repoUrl or -r - leave empty (-r) to turn off

Prompt

This is the git https url (eg https://github.com/Lambda-School-Labs/gen-test-git.git)

When this value is provided then the generator will do the following:

  • init the git repo with this URL as the remote
  • create a main branch
  • stage and commit the generated files
  • push the branch to github

Page

This will create a new page component.

Usage:
  labs @lambdalabs/spa:page <name> [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
        --ask-answered   # Show prompts for already configured options  Default: false
  -o,   --useOkta        # include the okta auth state for user info

Arguments:
  name  # Name of Page  Type: String  Required: true

Prompts / Options

The following prompts/options will provide additional configuration and examples

Does this page need Okta User Info

Option

--useOkta or -o - passing false to the option will turn it off. (--useOkta=false)

Prompt

When this value is provided then the generator will do the following:

  • include the @okta/okta-react library
  • setup authState and authService
  • get and memoize user info
  • add a loading component