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

@scheul93/test

v0.0.1

Published

A Skeletor plugin to bundle Javascript modules.

Downloads

3

Readme

Skeletor Rollup Plugin

Build Status The purpose of this plugin is to bundle modules together using rollup.

This is a functioning plugin that can be installed as-is to a Skeletor-equipped project.

To learn more about Skeletor, go here.

Getting Started

After you have cloned this repository, run npm install in a terminal to install some necessary tools, including a testing framework (Jest) and a linter (ESLint).

Source Code

The primary source code for this sample plugin is located in the index.js file.

Running Tests

This sample plugin is pre-configured with the Jest testing framework and an example test.

From a terminal, run npm test. You should see one test pass and feel pleased.

Test code can be found in the index.test.js file.

Skeletor Plugin API

For a Skeletor plugin to function within the Skeletor ecosystem, it must expose a simple API that the Skeletor task runner will interact with. The method signatures of the API are as follows:

run(config)

The run() method executes a plugin's primary task,. It is the primary way (and, currently, the only way) that the Skeletor task runner interacts with a plugin.

Config Options

Example:

{
    bundles: [{
        entry: "source/js/main.js",
        dest: "dist/js/main-bundle.js",
        format: "es"
    }],
    rollupPlugins: [
        {
            module: require('rollup-plugin-babel'),
            config: {
                exclude: 'node_modules/**'   
            }
        },
        {
            module: require('rollup-plugin-node-resolve'),
            config: {
                browser: true
            }
        },
        {
            module: require('rollup-plugin-commonjs')
        }
    ]
}

bundles

Type: Object[]

A list of bundle config objects.

rollupPlugins (optional)

Type: Object[]

A list of rollup plugin configs. Note: Order of plugins does matter! Rollup plugins are executed from last to first.

Bundle Config Object

Example:

{
    bundles: [
        {
            entry: "source/js/main.js",
            dest: "dist/js/main-bundle.js",
            format: "es"
        },
        {
            entry: "source/js/formHandler.js",
            dest: "dist/js/formHandler-bundle.js",
            format: "es"
        }
    ]
}

entry

Type: String

Path to entry point for bundle. This path is from the root of the project.

dest

Type: String

Path to destination for bundle. This path is from the root of the project.

format (optional)

Type: String Default: es

The format that the bundle should be in. Other options include

amd – Asynchronous Module Definition, used with module loaders like RequireJS
cjs – CommonJS, suitable for Node and Browserify/Webpack
es – Keep the bundle as an ES module file
iife – A self-executing function, suitable for inclusion as a <script> tag. (If you want to create a bundle for your application, you probably want to use this, because it leads to smaller file sizes.)
umd – Universal Module Definition, works as amd, cjs and iife all in one
system – Native format of the SystemJS loader

^^ From rollup documentation

Rollup Plugin Config Object

Example:

{
    rollupPlugins: [
        {
            "module": require('rollup-plugin'),
            "pluginConfig": {}
        }
    ]
}

module

Type: NPM module

An rollup plugin npm module. Check out the list of rollup plugins for the possibilities.

pluginConfig (optional)

Type: Object Default: {}

A config object for the corresponding plugin. Check the module's documentation for configuration options.

Return Value

A Promise that resolves to a Status object.

The Status Object

The Status object is a simple Javascript Object for storing the current status of your plugin. The structure of this object is as follows:

Properties

status

Type: String

Possible Values: 'complete', 'error'

Contains the status of the plugin. If the plugin has completed successfully, the 'complete' value should be used. If an error was encountered during plugin execution, the 'error' value should be used.

message

Type: String

Contains any additional information regarding the status of the plugin. If the plugin executed successfully, this property could include information about what the plugin accomplished. If the plugin encountered an error, this property could include error details.

Required Add-Ins

rollup: A module bundler for JavaScript.