@biomejs/js-api
Version:
JavaScript APIs for the Biome package
61 lines (40 loc) • 2.19 kB
Markdown
# Biome JavaScript Bindings
Official JavaScript bindings for [Biome](https://biomejs.dev/)
> **Warning**:
> The API is currently in alpha. It is not yet ready for production use. We appreciate your support and feedback as we work to make it ready for everyone.
## Installation
```shell
npm i /js-api
npm i /wasm-<dist>
```
You need to install one of the `/wasm-*` package as a **peer dependency** for this package to work correctly, out of the following distributions:
- `/wasm-bundler`: Install this package if you're using a bundler that supports importing `*.wasm` files directly
- `/wasm-nodejs`: Install this package if you're using Node.js to load the WebAssembly bundle use the `fs` API
- `/wasm-web`: Install this package if you are targeting the web platform to load the WASM bundle using the `fetch` API
## Usage
```js
import { Biome, Distribution } from "@biomejs/js-api";
const biome = await Biome.create({
distribution: Distribution.NODE, // Or BUNDLER / WEB depending on the distribution package you've installed
});
const projectKey = biome.openProject('path/to/project/dir');
// Optionally apply a Biome configuration (instead of biome.json)
biome.applyConfiguration(projectKey, {...});
const formatted = biome.formatContent("function f (a, b) { return a == b; }", {
filePath: "example.js",
});
console.log('Formatted content: ', formatted.content);
const result = biome.lintContent(formatted.content, {
filePath: "example.js",
});
const html = biome.printDiagnostics(result.diagnostics, {
filePath: "example.js",
fileSource: formatted.content,
});
console.log('Lint diagnostics: ', html);
```
## Philosophy
The project philosophy can be found on our [website](https://biomejs.dev/internals/philosophy/).
## Community
Contribution and development instructions can be found in [CONTRIBUTING](../../CONTRIBUTING.md).
Additional project coordination and real-time discussion happens on our [Discord server](https://biomejs.dev/chat). Remember that all activity on the Discord server is still moderated and will be strictly enforced under the project's [Code of Conduct](../../CODE_OF_CONDUCT.md).