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

@solomon-ai/data-contracts

v1.0.1

Published

## Project Purpose

Downloads

1

Readme

YourProjectName

Project Purpose

This is a template repository, intended to accelerate teams at Lokalise to create public packages for publishing on NPM.

This repository is not specifically frontend focused.

Key Features

The following are all handled for you and do not need to be configured:

  • Licensing
  • Linting
  • Formatting
  • Testing
  • Building
  • Bundling
  • Automated Versioning
  • Publishing

Getting Started

  • [ ] Find and replace all instances of the symbols (case-insensitive) with your project name:
    • your-project-name
    • YourProjectName
  • [ ] Add an NPM token to GitHub secrets with the name NPM_TOKEN
    • This is required for publishing under the @lokalise NPM namespace.
  • [ ] Add a GitHub token to GitHub secrets with the name GITHUB_TOKEN
    • This is required to allow the automated semantic release process to push to main.
  • [ ] Update the CODEOWNERS file with your personal and/or team tags.

Once you are all setup, we recommend reviewing and rewriting this README as necessary to make it more specific to your project.

The last thing to do is actually start writing your code! We recommend starting from src/index.ts and src/index.test.ts.

Customizing the build

The build system uses Vite. It is configured to treat ./src/index.ts as the entry point of your repository. Feel free to change any particulars in ./vite.config.ts. In particular if you require multiple entry points, we recommend reviewing Vite's documentation on this here: Vite Library Mode.

In case you add direct or peer dependencies, you should uncomment following lines (and corresponding import above) to ensure those dependencies are not directly included in the built package.

external: Object.keys(packageJson.dependencies).flatMap((dep) => [
	dep,
	// Include all dependency paths, not just root
	new RegExp(`^${dep}/`),
])

Husky

By default, pre-commit hook will run npm run lint:fix. Feel free to remove that if it's undesirable or add your own pre-commit commands.

Check out husky docs for more info.

commitlint

You can use npm run commit to interactively construct correct commit messsage.

Check out commitlint docs for examples of how to customise.

Release actions

The following token needs to be set in the Github repo for the prerelease and release Github Actions to work:

  • secrets.NPM_TOKEN (need this to publish on NPM)

When performing a release, make sure to follow our conventional commit approach, as described in contribution documentation.

License

This project is APACHE, VERSION 2.0 licensed, see LICENSE.md for details.

Template Specific Internal Notes

The following notes are only relevant to the maintainers of this template. You may delete this section when you clone it.

Creating a release of the template

  • Merge your PR and create a new draft release.
  • Create a new tag vx.x.x. Consider the type of changes you added. Major, minor or patch.
  • In Release title mention the same version vx.x.x.
  • Generate release notes.
  • Publish Release

Other Resources

This template represents the culmination of Lokalise technical recommendations as documented in the Frontend Radar.

Support Us

lokalise-npm-package-template was created by Lokalise Engineering Team. Support our work by keeping this line in your README.