/dprint-rs-npm

Pluggable and configurable code formatting platform written in Rust.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

dprint-rs-npm

Pluggable and configurable code formatting platform written in Rust.

npm integration for dprint-rs without any overhead so using full power of dprint CLI performance and feature

Documentations

Look at official documentation

Motivation

The tools inherently exhibit rapid performance, yet the npm bin.js script introduces a discernible overhead when deployed for Rust projects, leading to suboptimal startup times. This solution effectively addresses and eliminates this overhead, ensuring that Rust projects operate with the expected efficiency. For detailed insights, please refer to the pull requests dprint#839 and dprint#840.

This package is specifically designed for direct Command-Line Interface (CLI) interaction or as an extension for Visual Studio Code.

The functionality for npx or bunx is not included and is not anticipated to be incorporated in the future

How this is fast?

This project leverages the binary2npm utility to streamline the acquisition of platform-specific binaries. The binaries provided by the author are highly optimized, surpassing the performance of the traditional Node.js bin.js approach. By invoking the binaries directly, we circumvent unnecessary overhead, resulting in significantly reduced startup times and enhanced efficiency.

Installation

npm install dalisoft/dprint-rs-npm -D
# or
yarn install dalisoft/dprint-rs-npm -D
# or
bun add dalisoft/dprint-rs-npm -D

Environment variables

Name Description Required
GITHUB_TOKEN For GitHub API Yes

Usage

See Documentations, requires Environment variables

License

Apache-2.0