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

@stoplight/scripts

v10.0.0

Published

Scripts that help when creating, testing, releasing, and linting libraries.

Downloads

2,040

Readme

@stoplight/scripts

Maintainability Test Coverage

Usage

Create a new library:

npx @stoplight/scripts create:lib

Commands

sl-scripts build

Build source code

USAGE
  $ sl-scripts build [--verbose]

FLAGS
  --verbose  moar logs

DESCRIPTION
  Build source code

EXAMPLES
  $ sl-scripts build

See code: src/commands/build/index.ts

sl-scripts bundle

Bundle source code

USAGE
  $ sl-scripts bundle [--minify] [--verbose]

FLAGS
  --minify   minify output using terser
  --verbose  moar logs

DESCRIPTION
  Bundle source code

EXAMPLES
  $ sl-scripts bundle

See code: src/commands/bundle/index.ts

sl-scripts create:lib

Scaffold out a new library.

USAGE
  $ sl-scripts create:lib

DESCRIPTION
  Scaffold out a new library.

EXAMPLES
  $ sl-scripts create:lib

See code: src/commands/create/lib.ts

sl-scripts release

Publish new src or docs release.

USAGE
  $ sl-scripts release [--verbose]

FLAGS
  --verbose  moar logs

DESCRIPTION
  Publish new src or docs release.

EXAMPLES
  $ sl-scripts release

  $ sl-scripts release:docs

See code: src/commands/release/index.ts

sl-scripts release:docs

Push built docs to github pages.

USAGE
  $ sl-scripts release:docs [--dry-run] [--verbose]

FLAGS
  --dry-run  run the release process but do not publish
  --verbose  moar logs

DESCRIPTION
  Push built docs to github pages.

EXAMPLES
  $ sl-scripts release:docs

See code: src/commands/release/docs.ts

Overriding Configs

Jest

Simply create a jest.config.js file in the root of your project, and extend the default config. For example:

// ./jest.config.js
module.exports = {
  preset: '@stoplight/scripts',
};

TS

Simply create a tsconfig.json file in the root of your project, and extend the default config. For example:

// ./tsconfig.json
{
  "extends": "@stoplight/scripts/tsconfig.json",
  "include": ["src"],
  "compilerOptions": {
    "outDir": "dist"
  }
}

Semantic Release

Simply add a release property to your package.json file. For example:

// ./package.json
{
  // ... props
  "release": {
    "pkgRoot": "dist",
    "plugins": ["@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator"]
  }
  // ... props
}

Rollup

By default all dependencies and peerDependencies declared in your package.json will be treated as external deps during sl-scripts bundle. If you would like to always bundle a dep, list those deps in your package.json file like so:

{
  "name": "your-package",
  "version": "0.0.0",
  "rollup": {
    "bundleDeps": ["dep-1", "dep-2"]
  }
}