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

cra-template-typescript-extended

v1.3.0

Published

An extended version of the TypeScript template for Create React App that adds useful dev tools and config tweaks.

Downloads

16

Readme

cra-template-typescript-extended

NPM version Conventional Commits

This is a modified version of create-react-app's TypeScript template. Adds helpful development tools like Sass, ESLint, Prettier, and commitlint as well as some personal linting rule changes.

Creating a New Project

To use this template, add --template typescript-extended when creating a new app via create-react-app.

NPM

npx create-react-app my-app --template typescript-extended --use-npm

Yarn

yarn create-react-app my-app --template typescript-extended

Setting Up Git Hooks

You will need to manually add your husky hooks settings to package.json as seen below if you want to lint before each commit.

"husky": {
  "hooks": {
    "pre-commit": "lint-staged && tsc --noEmit && npm run test",
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
  }
},

Tools Added to the TypeScript Template

  • Sass - A CSS preprocessor that acts as a superset of CSS.
  • Prettier - Automatically format project files (html, css, scss, sass, js, jsx, ts, tsx, json, md)
  • ESLint - Lint TypeScript and JavaScript code
  • stylelint - Lint CSS and its extension languages
  • commitlint - Lint commits to fit the Conventional Commit standard
  • standard-version - Provides the npm run release command for automatic release and changelog generation
  • husky - Provides easy Git Hooks configuration for automatic linting, testing, and formatting before each commit
  • lint-staged - Extends husky's functionality to run commands on a subset of staged files

Git Hooks

Note: You must set the Git Hooks up manually. See "Setting Up Git Hooks" above.

  • Pre-Commit: Uses Prettier for formatting, tsc --noEmit, ESLint, and stylelint for linting, and runs tests via npm run test.
  • Commit-Msg: Runs commitlint on the commit message.

Template Development

To test this template locally (assuming this command is being run from inside the directory that contains this template):

NPM

npx create-react-app my-app --template file:./cra-template-typescript-extended --use-npm

Yarn

yarn create-react-app my-app --template file:./cra-template-typescript-extended