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

@tinalabs/tinacms-plugin-utils

v0.1.2

Published

A utility library and packager for TinaCMS plugins

Downloads

3

Readme

tinacms-plugin-utils

A utility library and packager for TinaCMS plugins

Usage

Installation

You must have [NodeJs LTS] or greater installed. Then you can add the utils to your plugin project by running:

npm install --dev tinacms-plugin-utils

Packaging Plugins

The Plugin Utils comes with a basic CLI-driven packager for your plugin:

| Command | Description | Default | | --------------------------------------- | ------------------------------------------------------------------------------------------------ | ------- | | npx tinacms-plugin-utils build | Outputs bundles based on the main, browser, and typings field of the plugin's package.json | none | | npx tinacms-plugin-utils [dev\|watch] | Starts a development process that watches for file changes and re-runs builds each time | N/A |

We recommend adding them as scripts in the plugin's package.json:

"scripts": {
  "lint": "tinacms-plugin-utils lint",
  "watch": "tinacms-plugin-utils watch",
  "dev": "tinacms-plugin-utils dev",
  "build": "tinacms-plugin-utils build"
}

Bundles for your plugin can be built by adding one, or many, of the following fields to package.json, and creating a corresponding entry/source file:

| Name | Description | Example | | main | The default entry point for the plugin package. Builds a commonJS module intended to be used as a Node library. | dist/index.js => src/index.(js|ts) | | browser | The entry point for browser-ready code. Builds an IIFE (immediately invoked function expression). Intended to be used in the browser. | dist/index.browser.js => src/index.browser.(js|ts) | | module | The entry point for a modern ES6 module bundle. Intended to be used in NodeJS or modern browsers. | | dist/index.mjs => src/index.(js|ts) |

Note: these fields only support paths located in dist or lib folder. All other paths will cause problems.

Using Typescript

Typescript requires you to add a tsconfig.json next to the package.json of the project, and will honor all of the settings in tsconfig, except for ignoring: noEmitHelpers, importHelpers, noEmit, emitDeclarationOnly, and noResolve as these must be enabled for the build to work.

Emitting declarations

To emit declaration files for your project, you need to:

  • Add a typings field to package.json that maps to the declaration file of your main. For example, if main is dist/index.js, then typings must be dist/index.d.ts.
  • Set compilerOptions.rootDir to src in your tsconfig.json
  • Add src/**/* to include in tsconfig.json

Contributing

Prerequisites

You must have NodeJS LTS installed.

Installation

Install the project dependencies by running:

npm install

Development

Start a development server by running:

npm start

Production Builds

Build a production build by running:

npm run build