Socket
Socket
Sign inDemoInstall

path-minifier

Package Overview
Dependencies
0
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

path-minifier


Version published
Maintainers
1
Created

Readme

Source

path-minifier

npm-version npm-license npm-download-month npm-min-size ci.yml website

🔥 Minify the path list while preserving semantics

Demo

This is a utility to reduce the number of characters in a path listing while maintaining the semantics of the directory structure and file names. It was created primarily to reduce the number of tokens used when passing directory information to LLM (e.g. ChatGPT, GPT-4).

Installation

npm i path-minifier

Example

Returns a string list of paths with reduced size by passing the list of paths as a string[].

import { minify } from 'path-minifier'

const minified = minify([
  'README.md',
  'package.json',
  'src/index.js',
  'src/lib.js'
  // ...
])

By default, the output automatically selects the format with the least number of characters. This behavior can be overridden with the options argument.

const minified = minify(
  [
    // ...
  ],
  {
    /** 'object' | 'json' | 'indented-list' | 'auto'(default) */
    format: 'json'
  }
)

Output Formats

object

Output as a JS object. Single files are output as strings, multiple files as arrays, and directories as objects. Can be used to convert to any string format using JSON.stringify or similar.

const obj = [
  'README.md',
  'package.json',
  {
    src: ['index.js', '...']
  }
]

json

Outputs object as an unformatted JSON string. The larger the size of the directory, the more characters it tends to reduce.

["README.md", "package.json", { "src": ["index.js", "..."] }]

indented-list

Output as indented-list Outputs the directory structure as a list of indented filenames without escaping. Provides smaller output size for small directories and irregular nested structures. Indentation is done with \t.

README.md
package.json
src
  index.js
  ...

auto

Automatically selects the output with the fewest number of haracters and returns the value as a string.

[!IMPORTANT] The auto option selects the output format based on the length of the string, which may not be proportional to the length of the LLM token. See the interactive demo for a description of this behavior.

License

MIT

Keywords

FAQs

Last updated on 14 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc