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

@aptre/common

v0.19.1

Published

Common project configuration files and dependencies.

Downloads

519

Readme

Common

This contains common files like the project Makefile.

See template for a project template that uses this package.

See protobuf-project for a more extensive example.

Usage

Start by downloading the dependencies:

yarn

Protobuf imports use Go paths and package names:

syntax = "proto3";
package example;

// Import .proto files using Go-style import paths.
import "github.com/aperturerobotics/controllerbus/controller/controller.proto";

// GetBusInfoResponse is the response type for GetBusInfo.
message GetBusInfoResponse {
  // RunningControllers is the list of running controllers.
  repeated controller.Info running_controllers = 1;
}

To generate the protobuf files:

$ git add -A
$ yarn gen

The Makefile will download the tools using Go to a bin dir.

Makefile

The available make targets are:

  • gen: Generate protobuf files.
  • test: Run go tests.
  • test-browser: Run go tests in a web browser with WebAssembly.
  • lint: Run golangci-lint on the project.
  • fix: Run golangci-lint with --fix on the project.
  • format: Format Go and TypeScript code.
  • release: Create a new release using goreleaser.
  • release-bundle: Create a bundled snapshot release using goreleaser.
  • release-build: Build a snapshot release using goreleaser.
  • release-check: Run goreleaser checks.

To generate the TypeScript and Go code:

  • yarn gen

To format the Go and TypeScript files:

  • yarn format

Eject

You can "eject" and copy all the project files directly to your repo:

# NOTE: not a full list of files
cp ./vendor/github.com/aperturerobotics/common/{Makefile,.eslintrc.js,.eslintignore} ./

While not implemented yet, "make eject" will do this for you.

Developing on MacOS

On MacOS, some homebrew packages are required for yarn gen:

brew install bash make coreutils gnu-sed findutils protobuf
brew link --overwrite protobuf

Add to your .bashrc or .zshrc:

export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH"
export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH"

Support

Please open a GitHub issue with any questions / issues.

... or feel free to reach out on Matrix Chat or Discord.

License

MIT