npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@mitre/inspec-objects

v1.0.1

Published

Typescript objects for normalizing between InSpec profiles and XCCDF benchmarks

Downloads

5,189

Readme

ts-inspec-objects

Typescript objects for InSpec profiles

This repository contains the source code that facilitates the writing of InSpec profiles (for use in things like stub generation and delta comparisons) more consistent with Chef Cookstyle formatting for ease of use when comparing with new changes from delta and when generating InSpec stubs that match a standard format.

For more information about Chef Cookstyle see:

How to Use

The process code maintained in this repository generates a npm executable that is published to the npm registry as mitre-inspec-objects.

To use the mitre-inspec-objects npm package, simply add the package as a dependency to your project application using the npm install command:

npm install mitre-inspec-objects

The package is a CommonJS-based npm written in TypeScript

Parsing Process

When using this library to parse InSpec profiles or xccdf files for the purposes of generating InSpec profiles, the general workflow is as follows:

  - The input is processed, read into a typescript object
  - Operated on with any required action / logic
  - Then written into an InSpec profile as output. 

This means that we can not simply write out in the same format we got in. Instead, we have to make choices about formatting for how to write out content.

Here are some formatting choices that are being made.

  1. String quotation

    | The string contains | Use | |-------- |-------------------- | | single (') and double (") quotes| percent string syntax - %q() | | single (') quotes | double (") quotes | | other | single (') quotes |

  2. Tag keywords are not quoted (ex: tag severity: 'medium')

  3. Each control file ends with a newline

Workflow graphical representation

Delta and Stub Process

NOTICE

© 2018-2022 The MITRE Corporation.

Approved for Public Release; Distribution Unlimited. Case Number 18-3678.

NOTICE

MITRE hereby grants express written permission to use, reproduce, distribute, modify, and otherwise leverage this software to the extent permitted by the licensed terms provided in the LICENSE.md file included with this project.

NOTICE

This software was produced for the U. S. Government under Contract Number HHSM-500-2012-00008I, and is subject to Federal Acquisition Regulation Clause 52.227-14, Rights in Data-General.

No other use other than that granted to the U. S. Government, or to those acting on behalf of the U. S. Government under that Clause is authorized without the express written permission of The MITRE Corporation.

For further information, please contact The MITRE Corporation, Contracts Management Office, 7515 Colshire Drive, McLean, VA 22102-7539, (703) 983-6000.