Detalhes do pacote

jsonnet-node-loader

kamiazya8MIT0.1.0

A loader that allows Node.js to import Jsonnet settings from an ESModule file.

jsonnet, node-loader

readme (leia-me)

NodeCI License: MIT tested with jest code style: prettier PRs Welcome Open in Visual Studio Code

jsonnet-node-loader

A loader that allows Node.js to import Jsonnet settings from an ESModule file.

Features

  • Support importing .jsonnet file

Installation

If you're using the npm or yarn CLI, then add the plugin by:

NPM

# yarn
$ yarn add -D jsonnet-node-loader
# or npm
$ npm install --save-dev jsonnet-node-loader

Usage

loader option

Specify jsonnet-node-loader in the loader option and execute the file.

Then, when the jsonnet file is imported, the evaluated value is returned.

$ node --experimental-loader jsonnet-node-loader example.mjs
{
  person1: { name: 'Alice', welcome: 'Hello Alice!' },
  person2: { name: 'Bob', welcome: 'Hello Bob!' }
}
<summary>example.mjs</summary> js import data from './example.jsonnet'; console.log(data);
<summary>example.jsonnet</summary> jsonnet { person1: { name: "Alice", welcome: "Hello " + self.name + "!", }, person2: self.person1 { name: "Bob" }, }

Advanced usage

When using std.extVar(x), query parameters can be specified and passed when importing vars.jsonnet.

<summary>vars.jsonnet</summary> jsonnet { vars: { foo: std.extVar('foo'), var: std.extVar('bar'), }, }
<summary>vars.mjs</summary> js import data from './vars.jsonnet?foo=1&bar=2'; console.log(data); // { vars: { foo: '1', var: '2' } }

License

This software is released under the MIT License, see LICENSE.