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

@flowr/typescript

v5.0.0

Published

Common TSConfigs and TypeScript in Petal standardized projects

Downloads

123

Readme

@flowr/typescript

A collection of different base tsconfig.json to be extended from in your project.

Installation

You can use the following command to install this package, or replace pnpm add with your package manager of choice.

pnpm add -D @flowr/typescript

Usage

This package ships a couple of different sets of tsconfig, they should be used in an array of extends in your tsconfig.json file. The supported configs are:

  • @flowr/typescript/base -> This is identical to @flowr/typescript
  • @flowr/typescript/strict
  • @flowr/typescript/decorators
  • @flowr/typescript/verbatim

You should always start with the base config, regardless of what other configs you choose. Next you can opt-in to the other configs.

Finally you should configure your package.json properly based on what kind of package you are writing

  • For CJS packages you should add "type": "commonjs" to your package.json
  • For ESM packages you should add "type": "module" to your package.json
  • For a package that is going to be used by both CJS and ESM then you should not add any "type" to your package.json

Base

The base config (@flowr/typescript, or @flowr/typescript/base) is the default config with options set up in such a way that it will suite nearly all projects.

You can view the content of this tsconfig here

Strict

You should include this config if you want to extra strict checking. This configures the following compiler options:

You can view the content of this tsconfig here

Decorators

You should include this config if you want to use decorators in the project using decorators from before the TC39 standardization process. This enables the following compiler options:

You can view the content of this tsconfig here

Contributing

Try to optimize for the fewest specified options between the config specializations. For example, only app has noEmit: true, since the default value, false, is good for the lib config. Specifying it only in the app config means fewer overall entries!

We want to keep maintenance low by only specifying what is necessary. If the option's default value is good for every config, remove it from every config!