jsonnet-node-loader

0.1.0 • Public • Published

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!' }
}
example.mjs
import data from './example.jsonnet';

console.log(data);
example.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.

vars.jsonnet
{
  vars: {
    foo: std.extVar('foo'),
    var: std.extVar('bar'),
  },
}
vars.mjs
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.

Readme

Keywords

Package Sidebar

Install

npm i jsonnet-node-loader

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

8.85 kB

Total Files

6

Last publish

Collaborators

  • kamiazya