open-index/open-npm huggingface dataset:
npm package: @jens-2020/primitives
Description: Define uninitialized elements
Author: Diego Muracciole
Latest version: 3.1.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @jens-2020/primitives
npm package: @jens-2020/stylesheet
Description: A styles engine for Node and the browser
Author: Diego Muracciole
Latest version: 4.0.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @jens-2020/stylesheet

> React-pdf styles engine

## How to install

```sh
yarn add @jens-2020/stylesheet
```

## How it works

```js
const stylesheet = require('@jens-2020/stylesheet');

const container = {
  width: 400,
  height: 600,
  orientation: 'portrait',
};

const style = {
  margin: 20,
  width: '50vw',
  height: '20vh',
  borderRadius: 5,
  fontWeight: 'semibold',
  borderBottom: '2 solid yellow',
  '@media max-width: 500': {
    backgroundColor: 'rgb(255, 0, 0)',
  },
};

const computed = stylesheet(container, style);

// Computed
// {
//   width: 200,
//   height: 120,
//   marginTop: 20,
//   marginLeft: 20,
//   marginRight: 20,
//   marginBottom: 20,
//   marginBottom: 20,
//   borderTopLeftRadius: 5,
//   borderTopRightRadius: 5,
//   borderBottomLeftRadius: 5,
//   borderBottomRightRadius: 5,
//   fontWeight: 600,
//   borderBottomWidth: 2,
//   borderBottomStyle: 'solid',
//   borderBottomColor: 'yellow',
//   backgroundColor: '#FF0000'
// }
```

This library exports a `stylesheet` function that takes two arguments:

- _container_: Container where the styles are being computed into. It specifies the `width` and `height` in points (needed for media queries and unit conversions), and optionally the container `orientation` (needed for certain media queries).
- _style_: Style to be computed. JS object with raw styles that you would like to get in a normalized format.

## License

MIT © [Diego Muracciole](http://github.com/diegomura)
npm package: @jens-2020/svgkit
Description: A SVG generation library for Node.js and browser
Latest version: 2.3.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @jens-2020/svgkit

A SVG generation library for Node.js and browser.

Has a `pdfkit` compatible API

## TODOs:

- Gradients
- Default fonts
- Embeded fonts (in progress)
npm package: @jens-2020/textkit
Description: An advanced text layout framework
Latest version: 4.1.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @jens-2020/textkit

## Acknowledges

This project is a fork of [textkit](https://github.com/foliojs/textkit) by @devongovett and continued under the scope of this project since it has react-pdf specific features. Any recongnition should go to him and the original project mantainers.

## Layout process

1. split into paragraphs
2. get bidi runs and paragraph direction
3. font substitution - map to resolved font runs
4. script itemization
5. font shaping - text to glyphs
6. line breaking
7. bidi reordering
8. justification
9. get a list of rectangles by intersecting path, line, and exclusion paths
10. perform line breaking to get acceptable break points for each fragment
11. ellipsize line if necessary
12. bidi reordering
13. justification
npm package: @jens-2020/types
Description: React-pdf TypeScript definitions
Author: Diego Muracciole
Latest version: 2.2.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @jens-2020/types

> React-pdf TypeScript definitions

## How to install

```sh
yarn add @jens-2020/types
```

## License

MIT © [Diego Muracciole](http://github.com/diegomura)
npm package: @jens-2020/yoga
Description: Prebuilt yoga-layout package
Author: Diego Muracciole
Latest version: 3.0.0

<p align="center">
  <img src="https://user-images.githubusercontent.com/5600341/27505816-c8bc37aa-587f-11e7-9a86-08a2d081a8b9.png" height="280px">
</p>

# @jens-2020/yoga

> Prebuilt [yoga-layout](https://github.com/facebook/yoga) package with memory heap increase

## Acknowledges

This project is forked from the great [yoga-layout-prebuilt](https://github.com/vadimdemedes/yoga-layout-prebuilt) from @vadimdemedes.

Also thanks to @Skywalker13 for providing the post-processing script for increasing build original memory heap.

## Install

```
$ npm install @jens-2020/yoga
```

## Usage

```js
import Yoga from '@jens-2020/yoga';
// Same as if imported from yoga-layout
```
npm package: @jens-andre/cache-buster
Description: A very simple cache buster
Author: Jens Andre
Latest version: 1.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# cache-buster

A very simple cache buster for fingerprinting asset files.

> **Warning!** This tool is intended to be used for production and should be executed in the release phase of your deployment. It cannot be undone and will not backup your files!

## Install

``` shell
npm install @jens-andre/cache-buster
```

## Usage

Create a configuration file named `.cache-buster.json`

``` json
{
  "publicPath": "Public",
  "source": "Public/assets/**/*",
  "target": "{Public/assets,Resources/Views}/**/*.{css,js,leaf}",
  "url": "https://example.com",
  "hashLength": 7
}
```

Provide your **`publicPath`**, the [glob patterns](https://github.com/mrmlnc/fast-glob#pattern-syntax) for the **`source`** of your compiled assets and **`target`** for your templates and/or assets. Optionaly you can provide an **`url`** and a **`hashLength`** (default is 7).

In your application directory make a dry run to test it out with the following command

``` shell
cache-buster -d
```

CLI Options

``` shell
      --help     Show help                         [boolean]
      --version  Show version number               [boolean]
  -d, --dry      Runs without making replacements  [boolean]
  -q, --quiet    Supresses success output          [boolean]
```

## License

Released und the MIT License.
npm package: @jens_astrup/tscpaths
Description: Replace absolute paths to relative paths after typescript compilation
Author: Joon Ho Cho
Latest version: 0.0.11

# tscpaths
Replace absolute paths to relative paths after typescript compilation (tsc) during compile-time.

[![npm version](https://badge.fury.io/js/tscpaths.svg)](https://badge.fury.io/js/tscpaths)
[![Dependency Status](https://david-dm.org/joonhocho/tscpaths.svg)](https://david-dm.org/joonhocho/tscpaths)
[![License](http://img.shields.io/:license-mit-blue.svg)](http://doge.mit-license.org)

## Comparison to [tsconfig-paths](https://github.com/dividab/tsconfig-paths)
\+ Compile time (no runtime dependencies)

## Getting Started
First, install tscpaths as devDependency using npm or yarn.

```sh
npm install --save-dev tscpaths
# or
yarn add -D tscpaths
```

## Add it to your build scripts in package.json
```json
"scripts": {
  "build": "tsc --project tsconfig.json && tscpaths -p tsconfig.json -s ./src -o ./out",
}
```

### Options
| flag         | description                                        |
| ------------ | -------------------------------------------------- |
| -p --project | project configuration file (tsconfig.json)         |
| -s --src     | source code root directory                         |
| -o --out     | output directory of transpiled code (tsc --outDir) |

You need to provide -s (--src) and -o (--out), because it's hard to predict source and output paths based on tsconfig.json.

I've tried a little and failed. :(

`tsc` does some magic to determine source and output paths and I haven't dived too deep to mimic it.

For now, it's simpler to provide the paths manually.

If you know how, Pull Requests are welcome!


# Disclaimer !!!!!
This is not a mature project yet.

It works for my setup so far.

It may not work correctly if your setup is too complicated, so please do some testing before pushing it to production!!!
npm package: @jensatnpm/prettier-config
Description: My personal Prettier config
Author: jho
Latest version: 2.0.0

# `@jensatnpm/prettier-config`

> My personal [Prettier](https://prettier.io) config.

## Usage

**Install**:

```bash
$ npm install --save-dev @jensatnpm/prettier-config
```

**Edit `package.json`**:

```jsonc
{
  // ...
  "prettier": "@jensatnpm/prettier-config"
}
```
npm package: @jensbodal/lndir
Description: Symlink specific directories within an npm package
Author: Jens Bodal
Latest version: 0.2.1

# lndir

Facilitates creating symlinks for directories within an npm package rather than having to symlink the package's root folder

## Problem

`yarn link` and `npm link` are not flexible and only allow symlinking the root folder for a package.  This results in a link to the
`node_modules` package within the library's folder, which may or may not contain dev only packages which are irrelevant to the runtime
of the library, and can cause dependency issues if those dev only dependencies are picked up instead of your package's dependencies. The
same is true and more likely for packages declared as `peerDependencies`.

## Solution

Install the package normally. Then symlink your locally installed version's runtime to the installed location's.

## Caveats

If you are adding new libraries in the library that you are trying to link, those libraries won't be present in the linked folder. You'll
want to install those locally to use them. You could also try installing the package using the `file://` syntax and then symlinking from there.

This might not work for packages that do not produce a single folder for which the runtime is to be executed from.  For example some packages
will publish folders to the root of their package's folder at publish time in order to present a clean folder structure and/or to allow
importing from submodules.

While you can simply use the root folder for the symlink, this will then symlink the `node_modules` folder in that locally installed package
as well.  If there are `peerDependencies` or `devDependencies` that conflict with your consumer package's modules, there could be issues.

Possibly in a future release this package can symlink all folders within a folder except for exclusions.

## Usage

### Link your locally installed version of a package

Assume we have a package with a published name (the name specified in its `package.json` file) of `@foo/bar`.

We want to make changes in this package and see them in another package which consumes this package.

```
ln dist

/**
 * package is now available at:
 * {
 *   "@foo/bar": {
 *     "absolutePath": "/some-path/bar/dist"
 *     "linkedPath": "dist"
 *   }
 * }
 */
```
### Use a locally linked version of a package

```
ln @foo/bar
```
npm package: @jensbodal/peer-dependency-enforcer
Description: Peer dependency enforcement utils
Author: Jens Bodal
Latest version: 0.3.2

# Peer Dependency Enforcer

## Installation

[peer-dependency-enforcer on npmjs.com](https://www.npmjs.com/package/@jensbodal/peer-dependency-enforcer)

```
npm install --save-dev @jensbodal/peer-dependency-enforcer
yarn add -ED  @jensbodal/peer-dependency-enforcer
```

## Usage

```
./node_modules/.bin/peer-dependency-enforcer --help
```

### General

`yargs` is used to parse command line arguments, therefore boolean flags can be passed like:

```
# --throwUnmet === --throw-unmet

# set to true
peer-dependency-enforcer --throwUnmet
peer-dependency-enforcer --throwUnmet true
peer-dependency-enforcer --throwUnmet=true

# set to false
peer-dependency-enforcer --no-logUnmet
peer-dependency-enforcer --logUnmet false
peer-dependency-enforcer --logUnmet=false
```

### For library authors

See `listRuntimeDependencies` or `validateInstalledDeps` (TODO)

### For library consumers

If you are not creating a package to be consumed by others, then you'll want to ensure that you are satisfying your 1st party package peer
dependencies.

```
// in your package.json
"scripts": {
    "postinstall": "peer-dependency-enforcer validatePeerDeps"
},
```

By default the script will fail and throw an error only if there are missing peer dependencies. Otherwise all missing and unmet
peer dependencies are logged by default.

See `peer-dependency-enforcer --help` for more information

## Defaults

### By default, the following directories are ignored:

```
.git
build           // add back with --with-build
node_modules
```

Additional directories can be ignored via `--ignore-dir`

### By default, the following extensions are included for parsing:

```
.ts
.tsx
.js
.jsx
```

This list can be appended to with `--include-extension`

The list can be replaced entirely with `--extension`

### By default, the following module prefixes are ignored:

```
.
@/
/
src
```

This list can be appended to with `--ignore-module-prefix`

This list can be replaced entirely with `--module-prefix`

### By default, all built in modules (e.g. 'fs' or 'path') are ignored

This can be overridden via `--with-built-in`

## TODO

This should probably be maintained elsewhere but leaving here for now:

* Provide alternative logic for dependencies declared in test files
* Possibly print version information with output
* Possibly print file information with output
* Add test coverage report
* Add more tests :)
* Instead of filtering out all @types, return only those that don't have a matching package
    - `@types/foo` with installed package `foo` is good
    - `@types/bar` without any installed package `bar` is probably bad
* Allow configuration of test vs runtime files. Still good to know what dependencies are used, however any dependencies
    used in test code or test setup should not be considered runtime code that needs to have its 3rd party dependencies
    in peerDependencies.
npm package: @jensen-c/react-components
Description: A component library built with React, TypeScript, and Sass
Author: Jensen Chen
Latest version: 0.1.8

# install

In the project directory, you can run:

```
npm install @jensen-c/react-components
```

# use

## Button

```
import Button from '@jensen-c/react-components/Button';

<Button ...props />

```

## InputText

```
import InputText from '@jensen-c/react-components/InputText';

<InputText ...props />
```

## LoadMore

```
import LoadMore from '@jensen-c/react-components/LoadMore';

<LoadMore ...props />
```

## Spinner

```
import Spinner from '@jensen-c/react-components/Spinner';

<Spinner ...props />
```

## Tabs

```
import Tabs from '@jensen-c/react-components/Tabs';

<Tabs ...props />
```

# theme

```
import '@jensen-c/react-components/themeStyles';
```

# To be continue
npm package: @jensen95/advanced-checkbox
Description: A [checkbox](https://github.com/SBoudrias/Inquirer.js/tree/master/packages/checkbox) alternative that allows for searching and filtering of options.
Author: Morten Jensen
Latest version: 0.3.17

# `@jensen95/advanced-checkbox`

A [checkbox](https://github.com/SBoudrias/Inquirer.js/tree/master/packages/checkbox) alternative that allows for searching and filtering of options.

Besides the searching it also behaves differently in that it can't be navigated with VIM bindings and `return` picks the selected item if nothing is selected instead submitting nothing.

## Installation

```bash
npm install @jensen95/advanced-checkbox
```
npm package: @jensen95/advanced-select
Description: A [select](https://github.com/SBoudrias/Inquirer.js/tree/master/packages/select) alternative that allows for searching and filtering of options.
Author: Morten Jensen
Latest version: 0.3.17

# `@jensen95/advanced-select`

A [select](https://github.com/SBoudrias/Inquirer.js/tree/master/packages/select) alternative that allows for searching and filtering of options.

Besides the searching it also behaves differently in that it can't be navigated with VIM bindings.

## Installation

```bash
npm install @jensen95/advanced-select
```
npm package: @jensforstmann/factorio-blueprint-tools
Description: JS/TS library for encoding and decoding Factorio blueprint strings (fully typed)
Author: Jens Forstmann
Latest version: 2.1.1

[![NPM Version](https://img.shields.io/npm/v/%40jensforstmann%2Ffactorio-blueprint-tools)](https://www.npmjs.com/package/@jensforstmann/factorio-blueprint-tools)

# Factorio Blueprint Tools

## Features

- encode & decode blueprint strings
- fully typed:
  - blueprints
  - blueprint books
  - upgrade planner
  - deconstruction planner



## Installation

```sh
npm install @jensforstmann/factorio-blueprint-tools
```

## Usage

```typescript
import { encodePlan, decodePlan } from '@jensforstmann/factorio-blueprint-tools';
```


Available functions:

- decodePlan
- encodePlan
- type guards:
    - isBlueprint
    - isBlueprintBook
    - isDeconstructionPLanner
    - isUpgradePlanner



## Examples

```typescript
import { encodePlan, decodePlan, isBlueprint, addEntity } from '@jensforstmann/factorio-blueprint-tools';

const bpString = '0eNqVUcFOhDAQ/RWcc9lkEVRIvK9nDx7MhhR2lElKi2VACeHfnUJcsx40ppf2dd6bN29mqMyAnSfLUMxwwr721DE5CwU86ilqKGIXcYPRu/PmdAUKqHa2h+J5hp5erTaBaHWLwgg/rC3HtWsrspqdh0UY9oQfUOyXowK0TEy4CayPqbRDW6GXAvWbkILO9bR5m0H08mSXKZigiNN0l0kfYbF3pqyw0SMJRep6rAOlv7xL7y9TCl7IMPqfKE9dcDKS50GGPFvbho4PgrzJh/gX0DrfrkXit9N+9VvA/QoMIdv9os7iyZ/iD/8VP8qRADqjJ/Tl5RoPaIyLnrb1hRUQYyv49+YVGF2hCbUUXSQ+Si6rSnaT5GmeZ2lye53c7ZflE3TWvxE=';

const plan = decodePlan(bpString);

if (isBlueprint(plan)) {
    console.log(plan.blueprint.description); // "Say hi to the world!"

    plan.blueprint.description = "Hello, have another combinator.";
    addEntity(plan, {
        position: {
            x: plan.blueprint.entities[0].position.x + 1,
            y: plan.blueprint.entities[0].position.y + 1
        },
        name: "constant-combinator"
    });

    const newBpString = encodePlan(plan);

    console.log(newBPString); // 0eNqVkkFvgzAMhf8K8zmtVArbQOq9O++ww1RVgXqrpZCwYNgQ4r/PAY2pPWyquIDj9/nlmQEK02LtyTLkA5ywKT3VTM5CDs+6j84UsYv4jNGn8+Z0BwqodLaB/HWAht6tNkFodYWiCCesLa9KVxVkNTsPoyjsCb8g34wHBWiZmHAGTB/90bZVgV4a1F8gBbVraPY2gPCyeJ0q6CFfJck6lTmiYu/MscCz7kgk0tdgGSTN5bvM/jGl4I0Mo7+ucl8HJx15buWSi7X50qu9VD7kQPxL0TpfTU3it9Z+8pvDbiq0IdvNqBZ4/C/86Vb4QR4JoDa6R3+8XOMejXHRy7y+YOOmjLdLxtsp46uVxWGnxFgJ8PdXUmB0gSYMp+gC30nQEz29j7Mky9IkftjGj5tx/AajGdm0
    
} else {
    console.error("not a blueprint");
}
```