@dev-build-deploy/sarif-it
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

SarifIt - Static Analysis Results Interchange Format Builder

Lightweight [SARIF] builder library, allowing your tools to generate unified Code Quality reports.

Features

  • Simple to use
  • Wrappers to create SARIF objects
  • Compliant with [SARIF 2.1.0]

Usage

Define a new Code Quality Analysis tool

import * as sarif from "@dev-build-deploy/sarif-it";

const tool = new sarif.Tool("code-scanner")
  .organization("dev-build-deploy")
  .version("0.0.0")
  .informationUri("https://github.com/dev-build-deploy/sarif-it#README.md");

const missingDocsRule = new sarif.Rule("MissingDocumentation")
  .name("Missing Documentation")
  .shortDescription("All repositories must contain a README.md containing basic instructions.")
  .fullDescription({
    text: "As documentation is important, we expect all repositories to contain at least a README.md file.",
    markown: "As documentation is *important*, we expect **all** repositories to contain *at least* a `README.md` file."
  })
  .helpUri("https://github.com/dev-build-deploy/sarif-it#README.md");

tool.addRule(missingDocsRule);

Create a Code Quality Analysis report

Assuming that we already have a Code Quality analysis tool defined (here);

import * as sarif from "@dev-build-deploy/sarif-it";

const log = new sarif.Log()
  .addRun(new sarif.Run(tool));  // NOTE: Example for creating a `tool` can be found in the previous chapter

const result = new sarif.Result("Missing Documentation")
  .ruleId("MissingDocumentation")
  .level("error")
  .addLocation({
    physicalLocation: {
      artifactLocation: {
        uri: "./README.md",
      },
    },    
  })

log.get("runs")[0].addResult(result);

Contributing

If you have suggestions for how sarif-it could be improved, or want to report a bug, open an issue! We'd love all and any contributions.

For more, check out the Contributing Guide.

License

Readme

Keywords

Package Sidebar

Install

npm i @dev-build-deploy/sarif-it

Weekly Downloads

624

Version

0.2.1

License

MIT

Unpacked Size

24 kB

Total Files

16

Last publish

Collaborators

  • kevin-de-jong