Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rspack-contrib/rsbuild-plugin-toml

An Rsbuild plugin to import TOML files and convert them to JavaScript objects.
https://github.com/rspack-contrib/rsbuild-plugin-toml

rsbuild rsbuild-plugin rspack

Last synced: 16 days ago
JSON representation

An Rsbuild plugin to import TOML files and convert them to JavaScript objects.

Awesome Lists containing this project

README

        

# @rsbuild/plugin-toml

An Rsbuild plugin to import TOML files and convert them to JavaScript objects.

> [TOML](https://toml.io/) is a semantically explicit, easy-to-read configuration file format.



npm version

license

## Usage

Install:

```bash
npm add @rsbuild/plugin-toml -D
```

Add plugin to your `rsbuild.config.ts`:

```ts
// rsbuild.config.ts
import { pluginToml } from "@rsbuild/plugin-toml";

export default {
plugins: [pluginToml()],
};
```

## Example

Suppose the project has the following code in `example.toml`:

```toml title="example.toml"
hello = "world"

[foo]
bar = "baz"
```

After using the TOML plugin, you can reference it as follows:

```js
import example from "./example.toml";

console.log(example.hello); // 'world';
console.log(example.foo); // { bar: 'baz' };
```

## Options

### esModule

By default, `@rsbuild/plugin-toml` generates JS modules that use the ES modules syntax. If you want to generate a CommonJS module, you can set the `esModule` option to `false`.

- Type: `boolean`
- Default: `true`
- Example:

```js
pluginToml({
exModule: false,
});
```

## Type Declaration

When you import TOML files in TypeScript code, please create a `src/env.d.ts` file in your project and add the type declarations.

```ts title="src/env.d.ts"
declare module "*.toml" {
const content: Record;
export default content;
}
```

## License

[MIT](./LICENSE).