@zregvart/opa-inspect

0.64.0-bf937a0 • Public • Published

opa inspect for JavaScript

This compiles the functionality of opa inspect wrapped in JavaScript by inspect.go to WebAssembly, which is included in main.js with the Go runtime from wasm_exec.js -- included in the Golang runtime and copied to the package.

Example

Add the dependency:

npm add @zregvart/opa-inspect

Run this example with node example.js

import * as opa from "@zregvart/opa-inspect";

opa.inspect(
    "example.rego",
    `package example

# METADATA
# title: Task bundle was not used or is not defined
# description: |-
#   Check for existence of a task bundle. Enforcing this rule will
#   fail the contract if the task is not called from a bundle.
# custom:
#   short_name: disallowed_task_reference
#   failure_msg: Task '%s' does not contain a bundle reference
#
deny[msg] {
    msg := "nope"
}`).then(json => {
  console.log(json);
});

Running examples

In browser example

Run the dev script with the examples/browser workspace, for example:

$ npm run -w examples/browser dev

  VITE v4.1.1  ready in 166 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h to show help

And open http://localhost:5173/ in the browser.

API

opa.inspect

Can be called with following combination of arguments:

  • <string> - a path that can be read using the fs module
  • <string>, <string> - a path/filename and the content of the Rego module inline, performs in-memory
  • <Array<string>> - an array of paths that can be read using the fs module
  • <stream<File>> - a Vinyl stream of files
  • `<Array> - an array of Vinyl files

Building

Run make build to build, this copies wasm_exec.js from the Golang runtime and compiles inspect.go to WebAssembly.

Demo

Run make demo to build and run the example in example.js

Readme

Keywords

Package Sidebar

Install

npm i @zregvart/opa-inspect

Weekly Downloads

52

Version

0.64.0-bf937a0

License

Apache-2.0

Unpacked Size

6.76 MB

Total Files

8

Last publish

Collaborators

  • zregvart