open-index/open-npm huggingface dataset:
npm package: @mattdesl/browser-unpack
Description: parse a bundle generated by browser-pack
Author: James Halliday
Latest version: 1.0.2

# browser-unpack

parse a bundle generated by
[browser-pack](https://npmjs.org/package/browser-pack)

[![build status](https://secure.travis-ci.org/substack/browser-unpack.png)](http://travis-ci.org/substack/browser-unpack)

# example

```
$ node main.js
129.50502147699586
$ browserify main.js > bundle.js
$ browser-unpack < bundle.js
[
{"id":"/home/substack/projects/browser-unpack/example/foo.js","source":"module.exports = function (n) { return n * 111 }\n\n","deps":{}}
,
{"id":"/home/substack/projects/browser-unpack/example/main.js","source":"var foo = require('./foo.js');\nvar gamma = require('gamma');\n\nconsole.log(foo(gamma(2.3)));","deps":{"./foo.js":"/home/substack/projects/browser-unpack/example/foo.js","gamma":"/home/substack/projects/browser-unpack/node_modules/gamma/index.js"},"entry":true}
,
{"id":"/home/substack/projects/browser-unpack/node_modules/gamma/index.js","source":"var g = 7;\nvar p = [\n    0.99999999999980993,\n    676.5203681218851,\n    -1259.1392167224028,\n    771.32342877765313,\n    -176.61502916214059,\n    12.507343278686905,\n    -0.13857109526572012,\n    9.9843695780195716e-6,\n    1.5056327351493116e-7\n];\n\nvar g_ln = 607/128;\nvar p_ln = [\n    0.99999999999999709182,\n    57.156235665862923517,\n    -59.597960355475491248,\n    14.136097974741747174,\n    -0.49191381609762019978,\n    0.33994649984811888699e-4,\n    0.46523628927048575665e-4,\n    -0.98374475304879564677e-4,\n    0.15808870322491248884e-3,\n    -0.21026444172410488319e-3,\n    0.21743961811521264320e-3,\n    -0.16431810653676389022e-3,\n    0.84418223983852743293e-4,\n    -0.26190838401581408670e-4,\n    0.36899182659531622704e-5\n];\n\n// Spouge approximation (suitable for large arguments)\nfunction lngamma(z) {\n\n    if(z < 0) return Number('0/0');\n    var x = p_ln[0];\n    for(var i = p_ln.length - 1; i > 0; --i) x += p_ln[i] / (z + i);\n    var t = z + g_ln + 0.5;\n    return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z);\n}\n\nmodule.exports = function gamma (z) {\n    if (z < 0.5) {\n        return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z));\n    }\n    else if(z > 100) return Math.exp(lngamma(z));\n    else {\n        z -= 1;\n        var x = p[0];\n        for (var i = 1; i < g + 2; i++) {\n            x += p[i] / (z + i);\n        }\n        var t = z + g + 0.5;\n\n        return Math.sqrt(2 * Math.PI)\n            * Math.pow(t, z + 0.5)\n            * Math.exp(-t)\n            * x\n        ;\n    }\n};\n\nmodule.exports.log = lngamma;","deps":{}}
]
$ browser-unpack < bundle.js | browser-pack | node
129.50502147699586
```

# usage

```
usage: browser-unpack

  Write a browser bundle to STDIN.
  Outputs a JSON array in the module-deps format.

```

# methods

``` js
var unpack = require('browser-unpack')
```

## var rows = unpack(src)

Return an array of `rows` from the bundle source string `src`.

# install

With [npm](https://npmjs.org) do:

```
npm install browser-unpack
```

# license

MIT
npm package: @mattdesl/fika
Description: A figma plugin generator
Author: Matt DesLauriers
Latest version: 1.1.1

# fika

A small figma plugin generator using [Parcel](https://parceljs.org/).

#### 1. Install

```sh
npm install @mattdesl/fika -g
```

#### 2. Create an Empty Folder

Create and move into an empty folder where you'd like to keep all your plugins:

```sh
mkdir figma-plugins
cd figma-plugins
```

Or, you can create a new folder repository per plugin.

#### 3. Generate a new Plugin

The following will generate `./src/my-plugin` and start a development server.

```sh
fika my-plugin --init
```

Or, omit the `--init` flag to continue developing an existing plugin.

Other examples:

```sh
# use a different name when generating the plugin
fika some-plugin --init --name="My Cool Plugin"

# generate a plugin without HTML
fika my-cool-plugin --init --no-ui

# continue developing an existing plugin
fika my-existing-plugin

# use a different root folder than ./src
fika lib/my-plugin --init
```

You can open [http://localhost:9966/](http://localhost:9966/) to test your UI, and edit the files inside `./src/my-plugin` to see them reload.

#### 4. Test Build in Figma

Once you've generated a `./dist` folder, open a project in Figma Desktop, select Menu > Plugins > Development > New Plugin. Click "Choose a manifest.json" and find the `manifest.json` file in `./dist/my-plugin/manifest.json`. (notice **dist** not **src**).

Now you can run the plugin via Menu or Right Click > Plugins > Image Palette. You can also open the Console via that context menu, and re-run the last plugin via Cmd + Option + P.

#### 5. Build for Production

Kill the server and run the following to build a smaller and more optimized production plugin:

```sh
fika my-plugin --build
```

This will generate assets into `./dist/my-plugin`. You can then publish your plugin!

## License

MIT, see [LICENSE.md](http://github.com/mattdesl/fika/blob/master/LICENSE.md) for details.
npm package: @mattdesl/ghpages
Description: quick script which deploys to gh-pages branch
Author: Matt DesLauriers
Latest version: 1.2.0

# @mattdesl/ghpages

[![experimental](http://badges.github.io/stability-badges/dist/experimental.svg)](http://github.com/badges/stability-badges)

A small, personalized shell script which switches to `gh-pages` branch, runs `npm run build`, commits and pushes the new changes, and then switches back to your previous branch.

## Install

```sh
npm install @mattdesl/ghpages -g
```

## Usage

`cd` to your module directory. Make sure it has a `build` script in `package.json`:

```json
{
  "scripts": {
    "build": "browserify index.js > bundle.js"
  }
}
```

Now, with a clean git working directory, and on the default (i.e. `master`) branch, just run the following to push to gh-pages:

```sh
ghpages
```

This will check out `gh-pages` branch (creating it if necessary), merge master into it, `npm run build`, then commit and push the new build and switch back to master.

In some cases, you may need to modify the `.gitignore` of your `gh-pages` branch to ensure that `bundle.js` is pushed to git. You can pass the `-i` flag which will also remove `bundle.js` from your current directory's `.gitignore` before committing.

```sh
ghpages -i
```

## License

MIT, see [LICENSE.md](http://github.com/mattdesl/ghpages/blob/master/LICENSE.md) for details.
npm package: @mattdesl/parcel-plugin-glslify
Description: fork of parcel plugin glslify
Author: Matt DesLauriers
Latest version: 1.0.1

# @mattdesl/parcel-plugin-glslify

[![experimental](http://badges.github.io/stability-badges/dist/experimental.svg)](http://github.com/badges/stability-badges)

fork of parcel-plugin-glslify with trimmed dependencies, for faster build

warning: experimental, probably best to rely on the other package

## License

MIT, see [LICENSE.md](http://github.com/mattdesl/@mattdesl/parcel-plugin-glslify/blob/master/LICENSE.md) for details.
npm package: @mattdesl/preact-transition-group
Description: transition-group ui component for preact
Latest version: 1.1.1

# @mattdesl/preact-transition-group

#### Experimental Fork

The fork implements some of the outstanding PRs in the preact-transition-group module, as well as adding support for `@mattdesl/unistore` module so that connect() works correctly with it.

A preact-aliased version of [react-addons-transition-group](https://npm.im/react-addons-transition-group), originally extracted from the React codebase, refactored to ES2015 and converted to use Preact.

See [React's Animation Documentation](https://facebook.github.io/react/docs/animation.html) for usage.
npm package: @mattdesl/raf
Description: requestAnimationFrame polyfill for node and the browser
Author: Chris Dickinson
Latest version: 3.0.0

# @mattdesl/raf

A fork of [raf](https://github.com/chrisdickinson/raf) that improves the debugging experience, see [#26](https://github.com/chrisdickinson/raf/issues/26).

---

[![Browser Support](http://ci.testling.com/chrisdickinson/raf.png)](http://ci.testling.com/chrisdickinson/raf)

requestAnimationFrame polyfill for node and the browser.

Install:

```
npm install @mattdesl/raf --save
```


Use:

```js
var raf = require('raf')

raf(function tick() {
  // Animation logic
  raf(tick)
})
```

**Note:** The stream/event emitter logic found in versions prior to 1.0.0 can be found in [raf-stream](https://www.npmjs.org/package/raf-stream).



# API

[Documentation at Mozilla Developer Network](https://developer.mozilla.org/en-US/docs/Web/API/window.requestAnimationFrame), [W3 Specification](http://www.w3.org/TR/animation-timing/#requestAnimationFrame)

```js
var raf = require('raf')
```

## var handle = raf(callback)

`callback` is the function to invoke in the next frame. `handle` is a long integer value that uniquely identifies the entry in the callback list. This is a non-zero value, but you may not make any other assumptions about its value.

## raf.cancel(handle)

`handle` is the entry identifier returned by `raf()`. Removes the queued animation frame callback (other queued callbacks will still be invoked unless cancelled).

# Acknowledgments

Based on work by Erik Möller, Paul Irish, and Tino Zijdel (https://gist.github.com/paulirish/1579671)

# license

MIT
npm package: @mattdesl/test-scope-module
Description: test of scoped modules
Author: Matt DesLauriers
Latest version: 1.0.2

# test-scope-module

[![experimental](http://badges.github.io/stability-badges/dist/experimental.svg)](http://github.com/badges/stability-badges)

Test of scoped module.

```js
console.log(require('@mattdesl/test-scope-module')) => true
```

## License

MIT, see [LICENSE.md](http://github.com/mattdesl/test-scope-module/blob/master/LICENSE.md) for details.
npm package: @mattduffield/eslint4b
Description: ESLint which works in browsers.
Author: Toru Nagashima
Latest version: 1.0.1

# eslint4b

[![npm version](https://img.shields.io/npm/v/eslint4b.svg)](https://www.npmjs.com/package/eslint4b)
[![Downloads/month](https://img.shields.io/npm/dm/eslint4b.svg)](http://www.npmtrends.com/eslint4b)
[![Build Status](https://travis-ci.org/mysticatea/eslint4b.svg?branch=master)](https://travis-ci.org/mysticatea/eslint4b)
[![Dependency Status](https://david-dm.org/mysticatea/eslint4b.svg)](https://david-dm.org/mysticatea/eslint4b)

ESLint which works in browsers.

## 🏁 Goal

ESLint doesn't support browsers officially, but we can use it similar to [the official online demo](https://eslint.org/demo/).
This package provides the [Linter] class which is modified to work in browsers.

- Eliminate the dependency to `fs`.
- Eliminate the dynamic `require()`s.

This package is kept latest with cron jobs Travis CI provides.

## 💿 Installation

Use [npm](https://www.npmjs.com/) to install.

```
npm install eslint4b
```

## 📖 Usage

Use a bundler such as [Webpack]. The `eslint4b` must be able to be bundled.

```js
const Linter = require("eslint4b") // import Linter from "eslint4b"
const linter = new Linter();

// Verify a code.
// See the official document of the Linter class.
const messages = linter.verify(
    "var foo = 0",
    {
        rules: {
            semi: "error"
        }
    },
    { filename: "foo.js" }
);
```

Also, you can use the [Linter] class which doesn't include any core rules.
It's lightweight than the full set.

```js
// This Linter doesn't include any core rules.
const Linter = require("eslint4b/dist/linter")

// You can load core rules individually.
const { indent, quotes, semi } = require("eslint4b/dist/core-rules")
const linter = new Linter()
linter.defineRule("indent", indent)
linter.defineRule("quotes", quotes)
linter.defineRule("semi", semi)
```

## 📰 Changelog

See [GitHub releases](https://github.com/mysticatea/eslint4b/releases).

If no description, it's the build of ESLint in the same version.
It doesn't have any notable change.

## ❤️ Contributing

Contributing is welcome.

Please use GitHub issues/PRs.

### Development tools

- `npm test` runs tests.
- `npm run build` build ESLint which works in browsers.

[Linter]: https://eslint.org/docs/developer-guide/nodejs-api#linter
[Webpack]: https://webpack.js.org/