open-index/open-npm huggingface dataset:
npm package: @jsse/eslint-config
Description: @jsse/eslint-config ~ WYSIWYG
Author: jessekrubin
Latest version: 0.7.1

# @jsse/eslint-config

<sup> [![Version Badge][npm-version-svg]][package-url]</sup>

Eslint config

- eslint flat config
- double quotes + semi
- react, react-hooks & react-refresh, OH MY!
- no vue (I don't use vue (as of 2023-10-12) don't want/need the vue
  plugins/parsers/etc)
- assumes you're using prettier
- Based on:
  - My old, very long, and very messy (non-flat) eslint config (`.eslintrc.js`)
  - antfu eslint-config [eslint-config](https://github.com/antfu/eslint-config)
  - sxzz eslint-config [eslint-config](https://github.com/sxzz/eslint-config)

## Usage

### Install

```bash
pnpm i -D eslint @jsse/eslint-config
```

### Create config file

With [`"type": "module"`](https://nodejs.org/api/packages.html#type) in
`package.json` (recommended):

```js
// eslint.config.js
import jsse from "@jsse/eslint-config";

export default jsse({
  // options
  // typescript: {
  //     tsconfigPath: "tsconfig.json", // or ["tsconfig.json", "tsconfig.eslint.json", ...]
  // },
  // react: true
});
```

With CJS:

```js
// eslint.config.js
module.exports = require("@jsse/eslint-config").jsse({
  // options
  // typescript: {
  //     tsconfigPath: "tsconfig.json", // or ["tsconfig.json", "tsconfig.eslint.json", ...]
  // },
  // react: true
});
```

> Note that `.eslintignore` no longer works in Flat config, see
> [customization](#customization) for more details.

### Add script for package.json

For example:

```json
{ "scripts": { "lint": "eslint .", "lint:fix": "eslint . --fix" } }
```

### Type Aware Rules

You can optionally enable the
[type aware rules](https://typescript-eslint.io/linting/typed-linting/) by
passing the options object to the `typescript` config:

```js
// eslint.config.js
import jsse from "@jsse/eslint-config";

export default jsse({
  typescript: {
    tsconfigPath: "tsconfig.json", // or ["tsconfig.json", "tsconfig.eslint.json", ...]
  },
});
```

## Thanks

- [antfu](https://github.com/antfu) and [sxzz](https://github.com/sxzz) for
  their eslint-configs which this is based on
- Younger me for being more willing to spend time configuring eslint
- My fans for being my fans

## FAQ

### Why use prettier?

I DO NOT CARE ANYMORE... My current stance on formatters is pick one that is
stable, and use it, preferably with the default config.

A younger me (jessekrubin) would take the time to configure a
formatter/linter/code style to my liking, but I really don't care anymore...

## License

[MIT](./LICENSE) License &copy; 2023-PRESENT
[jesse rubin](https://github.com/jessekrubin)

[package-url]: https://www.npmjs.com/package/@jsse/eslint-config
[npm-version-svg]: https://badge.fury.io/js/@jsse%2Feslint-config.svg
npm package: @jsse/fastify-shitty
Description: Plugin to make fastify shittier
Author: jessekrubin
Latest version: 1.0.0

# fastify-shitty

Fastify plugin to help solve this issue:
[fastify/fastify#2955](https://github.com/fastify/fastify/issues/2955)

Fastify is excellent; to make fastify less excellent, fastify-shitty throws
errors randomly and/or delays sending responses.

[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)

Supports Fastify versions `3.x`

## Install

```
npm i @jsse/fastify-shitty
```

## Usage

Require `@jsse/fastify-shitty` and register.

```js
import process from "node:process";
import Fastify from "fastify";
import FastifyShitty from "./dist/fastify-shitty.js";

const fastify = Fastify({ logger: true });
fastify.register(FastifyShitty, { odds: 0.3, delay: true });

fastify.get("/", {}, (request, reply) => {
  reply.send({ hello: "world" });
});

fastify.listen({ port: 3000, host: "0.0.0.0" }).catch((err) => {
  fastify.log.error(err);
  process.exit(1);
});
```

## Acknowledgements

- fastify, for being excellent

- mom & dad

## License

Licensed under [MIT](./LICENSE).<br/>
npm package: @jsse/fastify-std-env
Description: fastify + std-env
Author: jessekrubin
Latest version: 0.0.1

# `@jsse/fastify-std-env`

<!-- https://shields.io/badges/npm-version -->

![NPM Version](https://img.shields.io/npm/v/%40jsse%fastify-std-env?style=flat-square&logo=npm&color=blue&cacheSeconds=60)

Decorates fastify instance with [std-env](https://github.com/unjs/std-env)

`fastify` + `std-env` = `@jsse/fastify-std-env`

## Install

```bash
# pnpm
pnpm add @jsse/fastify-std-env
# npm if you live in the middle-ages
npm install @jsse/fastify-std-env
# yarn which is no longer very hip
yarn add @jsse/fastify-std-env
# bun if youre part of gen-z
bun add @jsse/fastify-std-env
```

## USAGE

**API**

```typescript
import Fastify from "fastify";
import { FastifyStdEnv } from "@jsse/fastify-std-env";

const server = Fastify({
  logger: {
    level: "debug",
  },
});
server.register(FastifyStdEnv);
server.get("/", async (request, reply) => {
  const { env, process, ...rest } = server.stdenv;
  return { ...rest };
});

server.get("/process", async (request, reply) => {
  return server.process;
});

server.get("/env", async (request, reply) => {
  const envObject = server.env;
  const envRec = Object.fromEntries(
    Object.getOwnPropertyNames(envObject).map((key) => [key, envObject[key]]),
  );
  return envRec;
});
server.ready().then(() => {
  server.listen(
    {
      port: 3000,
    },
    (err, address) => {
      if (err) {
        console.error(err);
        process.exit(1);
      }
      console.log(`Server listening at ${address}`);
    },
  );
});
```

---

# DEV

- pnpm is the package manager
- repo uses `just` (ref) as well as (p)npm scripts
  - just-repo: https://github.com/casey/just
  - just-docs: https://just.systems/man/en/
- prettier formatting uses the default config b/c configuring formaters is dumb
- tooling:
  - tsup: bundle/build/type-check src
  - vitest: test + coverage
  - prettier: formatting - uses default config
  - eslint: linter
  - justfile: task-runner
  - cicd / gh-actions / dependabot
npm package: @jsse/geo
Description: geo typescript
Author: jessekrubin
Latest version: 0.0.37

# `@jsse/geo`

geo-spatial typescript

[![NPM Version](https://img.shields.io/npm/v/%40jsse%geo?style=flat-square&logo=npm&color=blue&cacheSeconds=60)](https://www.npmjs.com/package/%40jsse/geo)

## Install

```bash
npm install @jsse/geo
pnpm add @jsse/geo
```
npm package: @jsse/geojson
Description: geojson utils/tools/types/things
Author: jessekrubin
Latest version: 0.0.37

# `@jsse/geojson`

# `@jsse/geojson`

geojson builders/utils similar to turf with "stronger" typing

[![NPM Version](https://img.shields.io/npm/v/%40jsse%geojson?style=flat-square&logo=npm&color=blue&cacheSeconds=60)](https://www.npmjs.com/package/%40jsse/geojson)

**Features:**

- GeoJSON types with "stronger" typing via `@jsse/geotypes` than `@types/geojson`
- GeoJSON builders (akin to `@turf/helpers`) w/ better type inference
- GeoJSON utilities (akin to `@turf/meta`) w/ better type inference via type gymnastics

## Install

```bash
npm install @jsse/geojson
pnpm add @jsse/geojson
```
npm package: @jsse/geotypes
Description: geo types
Latest version: 0.0.37

# `@jsse/geotypes`

[![NPM Version](https://img.shields.io/npm/v/%40jsse%geotypes?style=flat-square&logo=npm&color=blue&cacheSeconds=60)](https://www.npmjs.com/package/%40jsse/geotypes)

Geo-spatial typescript types library

**Features:**

- GeoJSON types with stricter typing than `@types/geojson` but also fully compatible with `@types/geojson`

## Install

```bash
npm install @jsse/geotypes
pnpm add @jsse/geotypes
```
npm package: @jsse/jsonderulo
Description: Make sure your 'jason derulo' is featured as the first part of your json data
Author: jessekrubin
Latest version: 0.0.1

# jsonderulo

Make sure your 'jason derulo' is featured as the first part of your json data

[![Wheel](https://img.shields.io/pypi/wheel/jsonderulo.svg)](https://img.shields.io/pypi/wheel/jsonderulo.svg)
[![Version](https://img.shields.io/pypi/v/jsonderulo.svg)](https://img.shields.io/pypi/v/jsonderulo.svg)
[![py_versions](https://img.shields.io/pypi/pyversions/jsonderulo.svg)](https://img.shields.io/pypi/pyversions/jsonderulo.svg)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

## Install:

```
pip install jsonderulo
poetry add jsonderulo 
```

## Usage:

python: 

```python
>>> from jsonderulo import dumps, loads, load, dump
>>> dumps({"jason": 'derulo'})  # dicts
'{"jason": "derulo"}'
>>> dumps(["data", "more data"])  # lists
'["jason derulo", "data", "more data"]'
>>> loads(dumps({"something": 'othergthing'}))
{'jason': 'derulo', 'something': 'othergthing'}
```

js:

```javascript
> const jsonderulo = require('.')
> jsonderulo.stringify({hello: "jason"})
'{"jason":"derulo","hello":"jason"}'
> jsonderulo.stringify({hello: "jason", jason: "derulo"})
'{"jason":"derulo","hello":"jason"}'
> jsonderulo.parse(JSON.stringify({no: "jason"}))
{ jason: 'derulo', no: 'jason' }
```

## TODO

 [] polyfill/patch json module fn
 [] Add support for 'DJ Khaled'
npm package: @jsse/pbfont
Description: pbf-font-glyphs ~ Composite map(box/libre) font glyph pbfs into a single pbf.
Author: jessekrubin
Latest version: 0.3.3

# `@jsse/pbfont`

pbf-font-glyphs ~ Composite map(box/libre) font glyph pbfs into a single pbf.

[![NPM Version](https://img.shields.io/npm/v/%40jsse%2Fpbfont?style=flat-square&logo=npm&color=blue&cacheSeconds=60)](https://www.npmjs.com/package/%40jsse/pbfont)

replaces: https://github.com/mapbox/glyph-pbf-composite

## Install

```bash
pnpm add @jsse/pbfont    # for the hip
npm install @jsse/pbfont # aka not-performant-pnpm
yarn add @jsse/pbfont    # yarn
bun add @jsse/pbfont     # gen z
```

## What?

- Replaces `@mapbox/glyph-pbf-composite` -- SAME API
- Dual cjs/esm
- Uses `bufbuild` not `pbf`
- Typescript

---

## Dev

- pnpm is the package manager
- repo uses `just` (ref) as well as (p)npm scripts
  - just-repo: https://github.com/casey/just
  - just-docs: https://just.systems/man/en/
- prettier formatting uses the default config b/c configuring formaters is dumb
- tooling:
  - tsup: bundle/build/type-check src
  - vitest: test + coverage
  - prettier: formatting - uses default config
  - eslint: linter
  - justfile: task-runner
  - cicd / gh-actions / dependabot

---

## License

MIT
npm package: @jsse/prettier-config
Description: prettier config ~ jsse
Author: Jesse K. Rubin
Latest version: 1.0.2

# `@jsse/prettier-config`

[![npm](https://img.shields.io/npm/v/@jsse/prettier-config.svg)](https://npmjs.com/package/@jsse/prettier-config)

prettier config

## Install

```bash
pnpm add -D prettier @jsse/prettier-config
# or
npm install -D prettier @jsse/prettier-config
# or
yarn add -D prettier @jsse/prettier-config
```

## Usage

Add to `package.json`:

```json
{
  "prettier": "@jsse/prettier-config"
}
```
npm package: @jsse/quick-maths
Description: quick-maths
Author: jessekrubin
Latest version: 0.0.2

# ts-template

**NOTE:** This is a template repo containing a small but complete typescript library. It is intended to be used as a starting point for new typescript projects.

- typescript (module)
- tsup
- vitest
- prettier (default config)
- eslint
- cicd / gh-actions / dependabot

---

# `@jsse/quick-maths`

<!-- https://shields.io/badges/npm-version -->

![NPM Version](https://img.shields.io/npm/v/%40jsse%2Fquick-maths?style=flat-square&logo=npm&color=blue&cacheSeconds=60)

Package/library/CLI that performs "quick-maths":

The algorithm for performing quick maths was first described by Big Shaq in his
PHD thesis, 2017, in which he states:

> "2 plus 2 is 4, minus one that's 3, quick maths." (Big Shaq et al., 2017)

_Reference: https://youtu.be/3M_5oYU-IsU?t=60_

The quick-maths algorithm is implemented in this package in ts/js and has a
CLI.

**FETTY WAP CONSTANT:** Additionally this library ships with utils for working
with the Fetty Wap Constant (Wap et al., 1738) as defined in [RFC-1738](https://www.youtube.com/watch?v=ZjODWsHFo5Y&t=11s).
(See usage below for more info on Fetty Wap Constant utils)

**MISSY ELLIOT PROTOCOL:** This library defines typescript generic types for the MissyElliotProtocol (MEP) as defined in her 2002 thesis [work-it](https://youtu.be/cjIvu7e6Wq8?si=lhf_PiT6hsUUxC_1&t=31); the protocol is not implemented in this library, just the type definition.

## Features

- Quick maths
- CLI
- Fetty Wap Const utils
- 100% test coverage, so you can rest easy

## Install

```bash
npm install @jsse/ts-template
```

## USAGE

**API**

```typescript
import { quickmaths } from "@jsse/quick-maths";
import FettyWapConstant, { is1738 } from "@jsse/quick-maths/fetty-wap-const";

/**
 * QUICK MATHS
 */
const result = quickmaths(); // 3
console.log(`2 plus 2 that's 4 minus 1 that's ${result} quick maths!`);

/**
 * FETTY WAP CONSTANT
 */
console.log(`Fetty Wap Constant: ${FettyWapConstant}`); // 1738
console.log(`Is Fetty Wap Constant 1738? ${is1738(FettyWapConstant)}`); // true
console.log(`Is Fetty Wap Constant 1739? ${is1738(1739)}`); // false
```

**CLI**

```bash
$ quick-maths
```

---

# DEV

- pnpm is the package manager
- repo uses `just` (ref) as well as (p)npm scripts
  - just-repo: https://github.com/casey/just
  - just-docs: https://just.systems/man/en/
- prettier formatting uses the default config b/c configuring formaters is dumb
- tooling:
  - tsup: bundle/build/type-check src
  - vitest: test + coverage
  - prettier: formatting - uses default config
  - eslint: linter
  - justfile: task-runner
  - cicd / gh-actions / dependabot
npm package: @jsse/srtm
Description: srtm tile utils/types/tools
Author: jessekrubin
Latest version: 0.0.37

# `@jsse/srtm`

[![NPM Version](https://img.shields.io/npm/v/%40jsse%srtm?style=flat-square&logo=npm&color=blue&cacheSeconds=60)](https://www.npmjs.com/package/%40jsse/srtm)

SRTM data utilities

## Install

```bash
npm install @jsse/geotypes
pnpm add @jsse/geotypes
```
npm package: @jsse/tsconfig
Description: tsconfig
Author: jessekrubin
Latest version: 0.4.1

# `@jsse/tsconfig`

![npm version](https://img.shields.io/npm/v/%40jsse%2Ftsconfig)

tsconfig(s) `compilerOptions`

## Install

```bash
pnpm add @jsse/tsconfig
npm install @jsse/tsconfig
yarn add @jsse/tsconfig
```

## Usage

```jsonc
{
  // ESM ("type": "module")
  "extends": "@jsse/tsconfig/tsconfig.json",
  // CJS ("type": "commonjs")
  "extends": "@jsse/tsconfig/tsconfig.cjs.json",
  "compilerOptions": {
    // yall's override(s)
    "target": "es2015",
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"],
}
```

---

# DEV

- pnpm = package-manager
- Repo uses `just` (ref)
  - just-repo: https://github.com/casey/just
  - just-docs: https://just.systems/man/en/
- prettier formatting; uses default config b/c configuring formatters is dumb
npm package: @jsse/turfbox
Description: turfbox = turf + typebox
Latest version: 0.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# `@jsse/turfbox`

turfbox = turf + geojson + typebox

## Install

```bash
npm i @jsse/turfbox
```
npm package: @jsse/utiles
Description: utils + tiles = utiles | ultra-tiles
Author: jessekrubin
Latest version: 0.0.37

# `@jsse/utiles`

`utiles = utils + tiles`

# `@jsse/utiles`

[![NPM Version](https://img.shields.io/npm/v/%40jsse%srtm?style=flat-square&logo=npm&color=blue&cacheSeconds=60)](https://www.npmjs.com/package/%40jsse/srtm)

web-map-tile-utils ala jawascript/typescript

**FYI** This is the typescript sibling package to the rust `utiles` crate/cli/python-package (https://github.com/jessekrubin/utiles)

**Features:**

- tilebelt compatible via `@jsse/utiles/tilebelt` -- tilebelt was recently updated (last I checked 2024-11-21) and now ships with typescript types
- mercantile like utils generators/traversers and such
- slightly more performant version of `@mapbox/tile-cover` by using more modern js feats


## Install

```bash
npm install @jsse/geotypes
pnpm add @jsse/geotypes
```