open-index/open-npm huggingface dataset:
npm package: @ladin/solana-kit
Description: Solana JavaScript Toolkit API
Author: Ladin
Latest version: 2.3.1

# solana-toolkit

This package exports a series of toolkits that you can use to create pool

## Installation

```bash
npm install @ladin/solana-kit
or
yarn add @ladin/solana-kit
```

## Example Usage

```js
if (USING_JITO) {
  createPoolAndInitialBuy();
} else {
  craetePool();
}
```

## License

This project is licensed under the terms of the
[MIT license](/LICENSE).
npm package: @lading/client
Description: This code is used to bootstrap the module federation endpoints for remoteEntry's. It is meant to be small and light, therefore, it is appropriate to handcraft the JS files (avoiding any tslib tax). The source is written in pure JavaScript with JSDoc to al
Latest version: 1.2.1

# Lading Client code

This code is used to bootstrap the module federation endpoints for remoteEntry's. It is meant to be small and light, therefore, it is appropriate to handcraft the JS files (avoiding any tslib tax). The source is written in pure JavaScript with JSDoc to allow this code to output typings (d.ts) via the TypeScript compilation.

## Build

Simply run `yarn build` to generate the d.ts files. If typing can be ignored, simply use the JavaScript files outright.
npm package: @ladjs/agenda
Description: Agenda for Lad
Author: Nick Baugh
Latest version: 0.0.5

# [**@ladjs/agenda**](https://github.com/ladjs/agenda)

[![build status](https://img.shields.io/travis/ladjs/agenda.svg)](https://travis-ci.org/ladjs/agenda)
[![code coverage](https://img.shields.io/codecov/c/github/ladjs/agenda.svg)](https://codecov.io/gh/ladjs/agenda)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/agenda.svg)](LICENSE)

> Agenda for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/agenda
```

[yarn][]:

```sh
yarn add @ladjs/agenda
```


## Usage

This package serves as a drop-in replacement for a normal Agenda `require()` call. It carries the same exact API and returns the same Agenda instance that it normally would (except it adds some extra glue on top, such as built-in integration of [stop-agenda][]).

> Default options are shown below:

```js
#!/usr/bin/env node
const Agenda = require('@ladjs/agenda');
const mongoose = require('@ladjs/mongoose');
const Graceful = require('@ladjs/graceful');

const agenda = new Agenda();
agenda.configure({
  logger: console,
  // these are options passed directly to `stop-agenda`
  // <https://github.com/ladjs/stop-agenda>
  stopAgenda: {
    cancelQuery: {
      repeatInterval: {
        $exists: true,
        $ne: null
      }
    }
  },
  // these are jobs defined via `config.jobs`
  // e.g. `agendaJobDefinitions: [ [name, agendaOptions, fn], ... ]`
  agendaJobDefinitions: [],
  // these get automatically invoked to `agenda.every`
  // e.g. `agenda.every('5 minutes', 'locales')`
  // and you define them as [ interval, job name ]
  // you need to define them here for graceful handling
  // e.g. `agendaRecurringJobs: [ ['5 minutes', 'locales' ], ... ]`
  agendaRecurringJobs: [],
  // these get automatically invoked when process starts
  // e.g. `agenda.now('locales');`
  // and you define them as Strings in the array
  // e.g. `config.now: ['locales','ping','pong','beep', ... ]`
  agendaBootJobs: []
});

mongoose.configure({
  ...config.mongoose,
  logger,
  agenda
});

mongoose
  .connect()
  .then(() => {
    agenda.start();
  })
  .catch(logger.error);

const graceful = new Graceful({
  mongoose,
  agenda,
  logger
});

graceful.listen();
```


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


## 

[npm]: https://www.npmjs.com/

[yarn]: https://yarnpkg.com/

[stop-agenda]: https://github.com/ladjs/stop-agenda
npm package: @ladjs/api
Description: API server for Lad
Author: Nick Baugh
Latest version: 14.2.1

# [**@ladjs/api**](https://github.com/ladjs/api)

[![build status](https://github.com/ladjs/api/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/api/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/api.svg)](LICENSE)

> API server for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/api
```


## Usage

See <https://github.com/ladjs/lad/blob/master/template/api.js> for the most up to date usage example.


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/
npm package: @ladjs/append-field
Description: A [W3C HTML JSON forms spec](http://www.w3.org/TR/html-json-forms/) compliant field appender (for lack of a better name). Useful for people implementing `application/x-www-form-urlencoded` and `multipart/form-data` parsers.
Latest version: 3.0.0

# `append-field`

A [W3C HTML JSON forms spec](http://www.w3.org/TR/html-json-forms/) compliant
field appender (for lack of a better name). Useful for people implementing
`application/x-www-form-urlencoded` and `multipart/form-data` parsers.

It works best on objects created with `Object.create(null)`. Otherwise it might
conflict with variables from the prototype (e.g. `hasOwnProperty`).

## Installation

```sh
npm install --save append-field
```

## Usage

```javascript
import appendField from 'append-field'

const obj = Object.create(null)

appendField(obj, 'pets[0][species]', 'Dahut')
appendField(obj, 'pets[0][name]', 'Hypatia')
appendField(obj, 'pets[1][species]', 'Felis Stultus')
appendField(obj, 'pets[1][name]', 'Billie')

console.log(obj)
```

```text
{ pets:
   [ { species: 'Dahut', name: 'Hypatia' },
     { species: 'Felis Stultus', name: 'Billie' } ] }
```

## API

### `appendField(store, key, value)`

- `store` (`object`, required)
- `key` (`string`, required)
- `value` (`any`, required)

Adds the field named `key` with the value `value` to the object `store`.

## License

MIT
npm package: @ladjs/assets
Description: Assets for Lad
Author: Nick Baugh
Latest version: 2.1.29

# [**@ladjs/assets**](https://github.com/ladjs/assets)

[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/assets.svg)](LICENSE)

> Assets for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/assets spinkit
```


## Usage

See [Lad's usage][lad-usage] for more information.


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/

[lad-usage]: https://github.com/ladjs/lad/blob/master/template/assets/js/core.js
npm package: @ladjs/auth
Description: Auth for Lad
Author: Nick Baugh
Latest version: 0.0.5
Deprecated: Please use @ladjs/passport instead

# auth

[![build status](https://img.shields.io/travis/ladjs/auth.svg)](https://travis-ci.org/ladjs/auth)
[![code coverage](https://img.shields.io/codecov/c/github/ladjs/auth.svg)](https://codecov.io/gh/ladjs/auth)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/auth.svg)](LICENSE)

> Auth for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Options](#options)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/auth
```

[yarn][]:

```sh
yarn add @ladjs/auth
```


## Usage

```js
const Auth = require('@ladjs/auth');
const koa = require('koa');
const mongoose = require('mongoose');
const passportLocalMongoose = require('passport-local-mongoose');

const User = new mongoose.Schema();
User.plugin(passportLocalMongoose, {
  // ...
});
const Users = mongoose.model('User', UserSchema);

const auth = new Auth(Users, {
  // ...
});

const app = new Koa();
app.use(auth.passport.initialize());
app.use(auth.passport.session());
```


## Options

See [index.js](index.js) for configuration defaults and environment flags.


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


## 

[npm]: https://www.npmjs.com/

[yarn]: https://yarnpkg.com/
npm package: @ladjs/bootstrap-social
Description: Social Buttons for Bootstrap ============================
Latest version: 7.0.2


Social Buttons for Bootstrap
============================

Social Buttons made in pure CSS based on
[Bootstrap](http://twbs.github.io/bootstrap/) and
[Font Awesome](http://fortawesome.github.io/Font-Awesome/)!

[Check the live demo!](http://niftylettuce.com/bootstrap-social/)

Installation
------------

Include the `bootstrap-social.css` or `bootstrap-social.scss` in your project.

You can also include `_custom.scss` if you'd like to import your own `_functions`, `_mixins`, and `_variables` (see source of `bootstrap-social.scss` for insight).

Available classes
-----------------
 - `btn-adn`
 - `btn-bitbucket`
 - `btn-dropbox`
 - `btn-facebook`
 - `btn-flickr`
 - `btn-foursquare`
 - `btn-github`
 - `btn-google`
 - `btn-instagram`
 - `btn-linkedin`
 - `btn-microsoft`
 - `btn-odnoklassniki`
 - `btn-openid`
 - `btn-pinterest`
 - `btn-reddit`
 - `btn-soundcloud`
 - `btn-tumblr`
 - `btn-twitter`
 - `btn-vimeo`
 - `btn-vk`
 - `btn-yahoo`

Examples
--------

```html
<a class="btn btn-block btn-social btn-twitter">
  <span class="fa fa-twitter"></span>
  Sign in with Twitter
</a>

<a class="btn btn-social-icon btn-twitter">
  <span class="fa fa-twitter"></span>
</a>
```
npm package: @ladjs/browserslist-config
Description: Browserslist config for Lad
Author: Nick Baugh
Latest version: 1.0.0

# [**@ladjs/browserslist-config**](https://github.com/ladjs/browserslist-config)

[![build status](https://img.shields.io/travis/com/ladjs/browserslist-config.svg)](https://travis-ci.com/ladjs/browserslist-config)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/browserslist-config.svg)](LICENSE)
[![npm downloads](https://img.shields.io/npm/dt/@ladjs/browserslist-config.svg)](https://npm.im/@ladjs/browserslist-config)

> Browserslist config for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Config](#config)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/browserslist-config
```


## Usage

Set your browserslist config to `extends @ladjs/browserslist-config`.


## Config

See [index.js](index.js) for the configuration that we use.


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/
npm package: @ladjs/bull
Description: Bull for Lad
Author: Nick Baugh
Latest version: 2.0.0
Deprecated: Please switch to Bree instead, as Bull has core bugs and leaks, see https://jobscheduler.net for more information.

# [**@ladjs/bull**](https://github.com/ladjs/bull)

[![build status](https://img.shields.io/travis/ladjs/bull.svg)](https://travis-ci.org/ladjs/bull)
[![code coverage](https://img.shields.io/codecov/c/github/ladjs/bull.svg)](https://codecov.io/gh/ladjs/bull)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/bull.svg)](LICENSE)

> [Bull][] for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/bull
```

[yarn][]:

```sh
yarn add @ladjs/bull
```


## Usage


## Contributors

| Name             | Website                    |
| ---------------- | -------------------------- |
| **Nick Baugh**   | <http://niftylettuce.com/> |
| **Shaun Warman** | <https://shaunwarman.com>  |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


## 

[npm]: https://www.npmjs.com/

[yarn]: https://yarnpkg.com/

[bull]: https://github.com/OptimalBits/bull
npm package: @ladjs/env
Description: Environment configuration loader for Lad
Author: Nick Baugh
Latest version: 4.0.0

# [**@ladjs/env**](https://github.com/ladjs/env)

[![build status](https://github.com/ladjs/env/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/env/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/env.svg)]()

> Environment configuration loader for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Options](#options)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/env
```


## Usage

```js
const env = require('@ladjs/env')();

console.log(env);
```


## Options

You can pass any option as you otherwise would normally to [dotenv-extended][].

Here is the default option argument, note that it supports a `.env.test` path for `TEST` and `TESTING` environments as specified through `process.env.NODE_ENV`.

```js
const env = require('@ladjs/env')({
  encoding: 'utf8',
  silent: true,
  path: '.env',
  defaults: '.env.defaults',
  schema: '.env.schema',
  errorOnMissing: true,
  errorOnExtra: true,
  errorOnRegex: false,
  includeProcessEnv: true,
  assignToProcessEnv: true,
  overrideProcessEnv: false,
});
```


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/

[dotenv-extended]: https://github.com/keithmorris/node-dotenv-extended
npm package: @ladjs/error-stack-parser
Description: Extract meaning from JS Errors
Latest version: 3.0.0

error-stack-parser.js - Extract meaning from JS Errors
===============
[![Build Status](https://img.shields.io/travis/stacktracejs/error-stack-parser/master.svg?style=flat-square)](https://travis-ci.org/stacktracejs/error-stack-parser)
[![Coverage Status](https://img.shields.io/coveralls/stacktracejs/error-stack-parser.svg?style=flat-square)](https://coveralls.io/r/stacktracejs/error-stack-parser?branch=master)
[![GitHub license](https://img.shields.io/github/license/stacktracejs/error-stack-parser.svg?style=flat-square)](https://opensource.org/licenses/MIT)
[![size with dependencies](https://img.shields.io/badge/size-4.8k-green.svg?style=flat-square)](https://github.com/stacktracejs/error-stack-parser/releases)
[![gzip size](https://img.shields.io/badge/gzipped-1.8k-green.svg?style=flat-square)](https://github.com/stacktracejs/error-stack-parser/releases)
[![module format](https://img.shields.io/badge/module%20format-umd-lightgrey.svg?style=flat-square&colorB=ff69b4)](https://github.com/stacktracejs/error-stack-parser/releases)
[![code of conduct](https://img.shields.io/badge/code%20of-conduct-lightgrey.svg?style=flat-square&colorB=ff69b4)](http://todogroup.org/opencodeofconduct/#stacktrace.js/me@eriwen.com)
[![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/error-stack-parser/badge)](https://www.jsdelivr.com/package/npm/error-stack-parser)

Simple, cross-browser [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) parser.
This library parses and extracts function names, URLs, line numbers, and column numbers from the given Error's `stack` as
an Array of [StackFrame](http://git.io/stackframe)s. 

Once you have parsed out StackFrames, you can do much more interesting things. See [stacktrace-gps](http://git.io/stacktrace-gps).

Note that in IE9 and earlier, `Error` objects don't have enough information to extract much of anything. In IE 10, `Error`s
are given a `stack` once they're `throw`n.

## Browser Support
[![Sauce Test Status](https://saucelabs.com/browser-matrix/stacktracejs.svg)](https://saucelabs.com/u/stacktracejs)

## Usage
```js
ErrorStackParser.parse(new Error('BOOM'));

=> [
        StackFrame({functionName: 'foo', args: [], fileName: 'path/to/file.js', lineNumber: 35, columnNumber: 79, isNative: false, isEval: false}),
        StackFrame({functionName: 'Bar', fileName: 'https://cdn.somewherefast.com/utils.min.js', lineNumber: 1, columnNumber: 832, isNative: false, isEval: false, isConstructor: true}),
        StackFrame(... and so on ...)
   ]
```

## Installation
```bash
npm install error-stack-parser
bower install error-stack-parser
https://raw.githubusercontent.com/stacktracejs/error-stack-parser/master/dist/error-stack-parser.min.js
```

## Contributing
Want to be listed as a *Contributor*? Start with the [Contributing Guide](.github/CONTRIBUTING.md)!
npm package: @ladjs/format-util
Description: Lightweight util.format() for the browser.
Author: muji
Latest version: 1.0.4

Table of Contents
=================

* [Format Util](#format-util)
  * [Install](#install)
  * [Usage](#usage)
  * [Developer](#developer)
    * [Test](#test)
    * [Spec](#spec)
    * [Cover](#cover)
    * [Browserify](#browserify)
    * [Lint](#lint)
    * [Clean](#clean)
    * [Docs](#docs)
    * [Readme](#readme)
  * [License](#license)

Format Util
===========

[<img src="https://travis-ci.org/tmpfs/format-util.svg" alt="Build Status">](https://travis-ci.org/tmpfs/format-util)
[<img src="http://img.shields.io/npm/v/format-util.svg" alt="npm version">](https://npmjs.org/package/format-util)
[<img src="https://coveralls.io/repos/tmpfs/format-util/badge.svg?branch=master&service=github&v=1" alt="Coverage Status">](https://coveralls.io/github/tmpfs/format-util?branch=master).

Lightweight `util.format()` for the browser.

## Install

```
npm i format-util
```

## Usage

```javascript
var format = require('format-util')
  , msg = format('%s', 'foo');
```

## Developer

### Test

Run the test specifications:

```
npm test
```

### Spec

Compile test specifications for the browser (open `test/index.html`):

```
npm run spec
```

### Cover

Generate code coverage:

```
npm run cover
```

### Browserify

Create a standalone browserify build:

```
npm run browserify
```

### Lint

Lint the source tree with [jshint](http://jshint.com) and [jscs](http://jscs.info):

```
npm run lint
```

### Clean

Remove generated files:

```
npm run clean
```

### Docs

To generate all documentation:

```
npm run docs
```

### Readme

Generate the project readme file [mdp](https://github.com/tmpfs/mdp):

```
npm run readme
```

## License

Everything is [MIT](http://en.wikipedia.org/wiki/MIT_License). Read the [license](https://github.com/tmpfs/format-util/blob/master/LICENSE) if you feel inclined.

Generated by [mdp(1)](https://github.com/freeformsystems/mdp).

[node]: http://nodejs.org
[npm]: http://www.npmjs.org
[mdp]: https://github.com/tmpfs/mdp
[zephyr]: https://github.com/tmpfs/zephyr
[jshint]: http://jshint.com
[jscs]: http://jscs.info
npm package: @ladjs/global-npm
Description: Require global npm as a local node module.
Author: dracupid
Latest version: 0.3.1

global-npm
======
Require global npm as a local node module.

[![NPM version](https://badge.fury.io/js/global-npm.svg)](https://www.npmjs.com/package/global-npm)
[![Deps](https://david-dm.org/dracupid/global-npm.svg?style=flat)](https://david-dm.org/dracupid/global-npm)
[![Build Status](https://travis-ci.org/dracupid/global-npm.svg)](https://travis-ci.org/dracupid/global-npm)
[![Build status](https://ci.appveyor.com/api/projects/status/github/dracupid/global-npm?svg=true)](https://ci.appveyor.com/project/dracupid/global-npm)

[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

Npm is about 25MB in size now, which is quite a heavy dependency for most modules. Luckily, nearly every node.js user has a npm installed globally.

However, normally, you can't require a global module directly, unless:

0. [set `NODE_PATH` environment variable](https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders) to the folder where global modules are installed.
0. [link](https://docs.npmjs.com/cli/link) the local project with global module to use.
0. [require a file path](https://nodejs.org/api/modules.html#modules_file_modules) instead of a module name.

The last one should be the best way for a third-party module.

If your module needs to depend on `npm`, why not just use the global one?

## Usage
```javascript
var npm = require('global-npm')
```

**If the version of npm counts, please use [semver](https://github.com/npm/node-semver) to check `npm.version` by yourself.**

## License
MIT@Dracupid
npm package: @ladjs/gulp-envify
Description: Gulp plugin for envify without browserify (maintained fork).
Author: Tomas Hanacek
Latest version: 2.0.1

# gulp-envify

> Gulp plugin for envify without browserify

## Installation

```
npm install --save-dev gulp-envify
```

## Usage

```javascript
var envify = require('gulp-envify');

var environment = {
  NODE_ENV: 'production'
};

gulp.task('compress', function() {
  return gulp.src('lib/*.js')
    .pipe(envify(environment))
    .pipe(gulp.dest('dist'));
});
```
npm package: @ladjs/koa-better-static
Description: Static file serving middleware for koa
Author: Nick Baugh
Latest version: 3.0.0

# [**@ladjs/koa-better-static**](https://github.com/ladjs/koa-better-static)

[![build status](https://github.com/ladjs/koa-better-static/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/koa-better-static/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/koa-better-static.svg)](LICENSE)
[![npm downloads](https://img.shields.io/npm/dt/@ladjs/koa-better-static.svg)](https://npm.im/@ladjs/koa-better-static)

> Static file serving middleware for Koa.  Forked from an inactive project and maintained for Lad.


## Table of Contents

* [Features](#features)
* [Install](#install)
* [Usage](#usage)
* [Options](#options)
* [Contributors](#contributors)
* [License](#license)


## Features

Our package `@ladjs/koa-better-static` is a high-performance, drop-in replacement for `koa-static` and is a modernized, Koa 2.x+ fork of `koa-better-static` (which is unmaintained and inactive).

* Uses a more optimal version of `koa-send`
* Supports `If-Modified-Since` header for cache/performance
* Removal of `gzip` option (which checks for .gz files)
* Removal of `defer` (if you want this behavior, put the middleware at the end)
* No default `index` file
* Faster performance with `findIndex` hidden file lookup
* Properly sets `Content-Type` header using `mime-types`


## Install

[npm][]:

```sh
npm install @ladjs/koa-better-static
```


## Usage

This package exposes a function which accepts two arguments `root` (String - the path to serve assets from) and `opts` (an Object of options, see [Options](#options) below).

```js
const serve = require('@ladjs/koa-better-static');
const koa = require('koa');
const app = koa();

// GET /package.json
app.use(serve('.'));

// GET /hello.txt
app.use(serve('test/fixtures'));

// or use absolute paths
app.use(serve(__dirname + '/test/fixtures'));

app.listen(3000, () => {
  console.log('listening on port 3000');
});
```


## Options

* `maxage` Browser cache max-age in milliseconds. defaults to `0` (`maxAge` camelCase also works as a valid option alternative)
* `hidden` Allow transfer of hidden files. defaults to false
* `index` Default file name, defaults to none
* `ifModifiedSinceSupport`  by sending a 304 (not modified) response. Defaults to true
* `format`  Allow trailing slashes for directories (e.g.  /directory and /directory. Defaults to true


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/
npm package: @ladjs/koa-cache-responses
Description: Caching middleware for Koa using koa-cash and route pattern-based matching with path-to-regexp. Made for Lad.
Author: Nick Baugh
Latest version: 1.0.0

# [**@ladjs/koa-cache-responses**](https://github.com/ladjs/koa-cache-responses)

[![build status](https://github.com/ladjs/koa-cache-responses/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/koa-cache-responses/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/koa-cache-responses.svg)](LICENSE)
[![npm downloads](https://img.shields.io/npm/dt/koa-cash.svg)](https://npm.im/koa-cash)

> Caching middleware for Koa using `koa-cash` and route pattern-based matching with `path-to-regexp`.  Made for [Lad](https://lad.js.org).


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/koa-cache-responses
```


## Usage

See [@ladjs/web](https://github.com/ladjs/web) integration.


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/
npm package: @ladjs/logger
Description: Logger for Lad
Author: Nick Baugh
Latest version: 0.1.0
Deprecated: Please switch to use Axe at https://github.com/cabinjs/axe

# [**@ladjs/logger**](https://github.com/ladjs/logger)

[![build status](https://img.shields.io/travis/ladjs/logger.svg)](https://travis-ci.org/ladjs/logger)
[![code coverage](https://img.shields.io/codecov/c/github/ladjs/logger.svg)](https://codecov.io/gh/ladjs/logger)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://github.com/lassjs/lass)
[![license](https://img.shields.io/github/license/ladjs/logger.svg)](<>)

> Logger for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Hide timestamps from console output](#hide-timestamps-from-console-output)
* [Suppress logs](#suppress-logs)
* [Process name](#process-name)
* [Contributors](#contributors)
* [Trademark Notice](#trademark-notice)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/logger
```

[yarn][]:

```sh
yarn add @ladjs/logger
```


## Usage

```js
const Logger = require('@ladjs/logger');

const logger = new Logger();

logger.info('hello world');
// info: hello world
```


## Hide timestamps from console output

```js
const Logger = require('@ladjs/logger');

const logger = new Logger({ timestamp: false });
```


## Suppress logs

This is useful when you want need logging turned on in certain circumstances.
For example when you're running tests you can set `logger.config.silent = true`.

```js
const Logger = require('@ladjs/logger');

const logger = new Logger({ silent: true });

logger.info('hello world');
```


## Process name

In case you need to run multiple node processes together we recommend passing a processName to the logger.

```js
const Logger = require('@ladjs/logger');

const logger = new Logger({ processName: 'web' });

logger.info('hello world');
// [web] info: hello world
```


## Contributors

| Name             | Website                   |
| ---------------- | ------------------------- |
| **Nick Baugh**   | <http://niftylettuce.com> |
| **Alexis Tyler** | <https://wvvw.me/>        |


## Trademark Notice

Lad, Lass, and their respective logos are trademarks of Niftylettuce LLC.
These trademarks may not be reproduced, distributed, transmitted, or otherwise used, except with the prior written permission of Niftylettuce LLC.
If you are seeking permission to use these trademarks, then please [contact us](mailto:niftylettuce@gmail.com).


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com)


## 

[npm]: https://www.npmjs.com/

[yarn]: https://yarnpkg.com/
npm package: @ladjs/mongoose-error-messages
Description: Better error messages for Mongoose
Author: Nick Baugh
Latest version: 1.0.0

# [**@ladjs/mongoose-error-messages**](https://github.com/ladjs/mongoose-error-messages)

[![build status](https://img.shields.io/travis/com/ladjs/mongoose-error-messages.svg)](https://travis-ci.com/ladjs/mongoose-error-messages)
[![code coverage](https://img.shields.io/codecov/c/github/ladjs/mongoose-error-messages.svg)](https://codecov.io/gh/ladjs/mongoose-error-messages)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/mongoose-error-messages.svg)](LICENSE)
[![npm downloads](https://img.shields.io/npm/dt/@ladjs/mongoose-error-messages.svg)](https://npm.im/@ladjs/mongoose-error-messages)

> Better error messages for Mongoose


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/mongoose-error-messages
```

[yarn][]:

```sh
yarn add @ladjs/mongoose-error-messages
```


## Usage

```js
const mongoose = require('mongoose');
mongoose.Error.messages = require('@ladjs/mongoose-error-messages');
```


## Contributors

| Name           | Website                   |
| -------------- | ------------------------- |
| **Nick Baugh** | <http://niftylettuce.com> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com)


## 

[npm]: https://www.npmjs.com/

[yarn]: https://yarnpkg.com/
npm package: @ladjs/node-dotify
Description: Convert javascript object to dot notation object
Author: Glenn Geenen
Latest version: 3.0.0

node-dotify
======

[![Build Status](https://travis-ci.org/GeenenTijd/dotify.svg?branch=master)](https://travis-ci.org/GeenenTijd/dotify)

Convert Object

    {
      status: 'success',
      name: {
        first: 'Glenn',
        last: 'Geenen'
      }
    }

to (Dot notation object)

    {
      status: 'success',
      'name.first': 'Glenn',
      'name.last': 'Geenen'
    }

### usage

    var dotify = require('node-dotify');

    var obj = {
      status: 'success',
      name: {
        first: 'Glenn',
        last: 'Geenen'
      }
    };

    var result = dotify(obj);
npm package: @ladjs/passport
Description: Passport for Lad
Author: Nick Baugh
Latest version: 5.1.5

# @ladjs/passport

[![build status](https://github.com/ladjs/passport/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/passport/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/passport.svg)](LICENSE)

> Passport for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Strategies](#strategies)
* [Options](#options)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/passport
```


## Usage

```js
const Passport = require('@ladjs/passport');
const koa = require('koa');
const mongoose = require('mongoose');
const passportLocalMongoose = require('passport-local-mongoose');

const User = new mongoose.Schema();
User.plugin(passportLocalMongoose, {
  // ...
});
const Users = mongoose.model('User', UserSchema);

const passport = new Passport({}, Users);

const app = new Koa();
app.use(passport.initialize());
app.use(passport.session());
```


## Strategies

Currently supported strategies:

* Local (email)
* Apple (Sign in with Apple)
* GitHub
* Google
* OTP


## Options

See [index.js](index.js) for configuration defaults and environment flags.

You can customize the field names and phrases, see the `fields` and `phrases` objects in [index.js](index.js).


## Contributors

| Name             | Website                           |
| ---------------- | --------------------------------- |
| **Nick Baugh**   | <http://niftylettuce.com/>        |
| **Shaun Warman** | <https://shaunwarman.com/>        |
| **shadowgate15** | <https://github.com/shadowgate15> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/
npm package: @ladjs/pick-original
Description: Transform an Object that was transformed to return only the original properties recursively picked if they are not undefined.
Author: Titanism
Latest version: 2.0.0

# [**@ladjs/pick-original**](https://github.com/ladjs/pick-original)

[![build status](https://github.com/ladjs/pick-original/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/pick-original/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/pick-original.svg)](LICENSE)

> Transform an Object that was transformed to return only the original properties recursively picked if they are not undefined.


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/pick-original
```


## Usage

```js
const pickOriginal = require('@ladjs/pick-original');

function createObj(doc) {
  doc.id = Date.now().toString();
  return doc;
}

const original = { foo: 'bar' };

const transformed = pickOriginal(createObj(original), original);

console.log(transformed);

// { foo: 'bar' }
```


## Contributors

| Name         |
| ------------ |
| **Titanism** |


## License

[MIT](LICENSE) © Titanism


##

[npm]: https://www.npmjs.com/
npm package: @ladjs/policies
Description: Policies helper for Lad
Author: Nick Baugh
Latest version: 12.2.1

# [**@ladjs/policies**](https://github.com/ladjs/policies)

[![build status](https://github.com/ladjs/policies/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/policies/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/policies.svg)]()

> Policies helper for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Options](#options)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/policies
```


## Usage

```js
const Policies = require('@ladjs/policies');

const appName = 'My App Name';

const policies = new Policies({ appName }, api_token => Users.findOne({ api_token }));
```


## Options

See [index.js](index.js) for options and defaults.


## Contributors

| Name               | Website                           |
| ------------------ | --------------------------------- |
| **Nick Baugh**     | <http://niftylettuce.com>         |
| **Spencer Snyder** | <http://spencersnyder.io/>        |
| **Pablo Varela**   | <http://pablo.life>               |
| **Shaun Warman**   | <https://shaunwarman.com/>        |
| **shadowgate15**   | <https://github.com/shadowgate15> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com)


##

[npm]: https://www.npmjs.com/
npm package: @ladjs/proxy
Description: Proxy for Lad
Author: Nick Baugh
Latest version: 5.0.4

# [**@ladjs/proxy**](https://github.com/ladjs/proxy)

[![build status](https://github.com/ladjs/proxy/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/proxy/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/proxy.svg)](LICENSE)

> Proxy for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/proxy
```


## Usage

See <https://github.com/ladjs/lad/blob/master/template/proxy.js> for the most up to date usage example.


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/
npm package: @ladjs/pug-lint-config-lad
Description: Pug-lint config for ladjs.
Author: Taylor Schley
Latest version: 0.1.1

# @ladjs/pug-lint-config-lad

[![build status]()]()
[![code coverage](https://img.shields.io/codecov/c/github/ladjs/pug-lint-config-lad.svg)](https://codecov.io/gh/ladjs/pug-lint-config-lad)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/pug-lint-config-lad.svg)](LICENSE)
[![npm downloads](https://img.shields.io/npm/dt/@ladjs/pug-lint-config-lad.svg)](https://npm.im/@ladjs/pug-lint-config-lad)

> Pug-lint config for ladjs.


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/pug-lint-config-lad
```

[yarn][]:

```sh
yarn add @ladjs/pug-lint-config-lad
```


## Usage

```js
// inside .pug-lintrc.js
module.exports = {
  extends: '@ladjs/pug-lint-config-lad',
  // your configs
};
```


## Contributors

| Name              | Website                           |
| ----------------- | --------------------------------- |
| **Taylor Schley** | <https://github.com/shadowgate15> |


## License

[MIT](LICENSE) © [Taylor Schley](https://github.com/shadowgate15)


##

[npm]: https://www.npmjs.com/

[yarn]: https://yarnpkg.com/
npm package: @ladjs/redis
Description: Redis for Lad
Author: Nick Baugh
Latest version: 1.1.1

# [**@ladjs/redis**](https://github.com/ladjs/redis)

[![build status](https://github.com/ladjs/redis/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/redis/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/redis.svg)](LICENSE)

> [Redis][] for Lad


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/redis
```


## Usage


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/

[redis]: https://github.com/luin/ioredis
npm package: @ladjs/request-id
Description: Generate UUID for request and add it to headers with support for Koa and Express
Author: Vsevolod Strukchinsky
Latest version: 2.0.0

# express-request-id [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url]

Generate UUID for request and add it to `X-Request-Id` header. In case request contains `X-Request-Id` header, uses its value instead.

```js

var app = require('express')();
var addRequestId = require('express-request-id')();

app.use(addRequestId);

app.get('/', function (req, res, next) {
    res.send(req.id);
    next();
});

app.listen(3000, function() {
    console.log('Listening on port %d', server.address().port);
});

// curl localhost:3000
// d7c32387-3feb-452b-8df1-2d8338b3ea22
```

# API

### express-request-id([options])

Returns middleware function, that appends request id to req object.

#### options

 * `uuidVersion` - version of uuid to use (defaults to `v4`). Can be one of methods from [node-uuid](https://github.com/broofa/node-uuid).
 * `setHeader` - boolean, indicates that header should be added to response (defaults to `true`).
 * `headerName` - string, indicates the header name to use (defaults to `X-Request-Id`).
 * `attributeName` - string, indicates the attribute name used for the identifier on the request object (defaults to `id`)

This options fields are passed to node-uuid functions directly:

 * Whole `options` object, that can contain fields like: `node`, `clockseq`, `msecs`, `nsecs`.
 * `options.buffer` and `options.offset` to uuid function as second and third parameters.

# License

MIT (c) 2014 Vsevolod Strukchinsky (floatdrop@gmail.com)

[npm-url]: https://npmjs.org/package/express-request-id
[npm-image]: http://img.shields.io/npm/v/express-request-id.svg

[travis-url]: https://travis-ci.org/floatdrop/express-request-id
[travis-image]: http://img.shields.io/travis/floatdrop/express-request-id.svg
npm package: @ladjs/shared-config
Description: Shared configuration for Lad's API and Web servers
Author: Nick Baugh
Latest version: 9.1.4

# [**@ladjs/shared-config**](https://github.com/ladjs/shared-config)

[![build status](https://github.com/ladjs/shared-config/actions/workflows/ci.yml/badge.svg)](https://github.com/ladjs/shared-config/actions/workflows/ci.yml)
[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)
[![license](https://img.shields.io/github/license/ladjs/shared-config.svg)](LICENSE)
[![npm downloads](https://img.shields.io/npm/dt/@ladjs/shared-config.svg)](https://npm.im/@ladjs/shared-config)

> Shared configuration for Lad's API and Web servers


## Table of Contents

* [Install](#install)
* [Usage](#usage)
* [Contributors](#contributors)
* [License](#license)


## Install

[npm][]:

```sh
npm install @ladjs/shared-config
```


## Usage

See Lad's implementation for API or Web Server:

* API: <https://github.com/ladjs/api>
* Web: <https://github.com/ladjs/web>


## Contributors

| Name           | Website                    |
| -------------- | -------------------------- |
| **Nick Baugh** | <http://niftylettuce.com/> |


## License

[MIT](LICENSE) © [Nick Baugh](http://niftylettuce.com/)


##

[npm]: https://www.npmjs.com/