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

@informalsystems/quint

v0.19.2

Published

Core tool for the Quint specification language

Downloads

1,332

Readme

quint: The core Quint tool

This directory contains the quint CLI providing powerful tools for working with the Quint specification language.

Prerequisites

  • Node.js >= 18: Use your package manager or download nodejs.

  • Java Development Kit >= 17, if you are going to use quint verify. We recommend version 17 of the Eclipse Temurin or Zulu builds of OpenJDK.

Installation

Install the latest published version from npm:

npm i @informalsystems/quint -g

How to run

Check the quint manual.

How to develop

Development environment

  1. Make sure that you have installed npm. This is usually done with your OS-specific package manager.

  2. Clone the repository and cd into the quint tool's subdirectory

    git clone [email protected]:informalsystems/quint.git
    cd quint/quint
  3. Install dependencies:

    npm install
  4. Compile quint:

    npm run compile
  5. To run CLI, install the package locally:

    npm link
  6. You can run CLI by typing:

    quint

Additionally, if you want to compile the vscode plugin:

  1. Install yalc for local package management:

    npm install yalc -g
  2. Publish the package locally with yalc:

    yalc publish

Code

Extend the code in src.

Unit tests

Write unit tests in test, add test data to testFixture. To run the tests and check code coverage, run the following commands:

  1. Compile and test the parser:

    npm run compile && npm run test
  2. Check code coverage with tests:

    npm run coverage

Updating the source map test fixtures

npm run update-fixtures

Integration tests

All development dependencies should be tracked in the package.json and package-lock.json. These will be installed when you run npm install on this project (unless you have explicitly told npm to use production settings).

To add a new dependency for integration tests or other development purposes run

npm install <dep> --save-dev
  1. Update tests in cli-tests.md.

  2. Run integration tests:

    npm run compile && npm link && npm run integration

Integration with Apalache

We maintain a set of integration tests against the latest release of Apalache. These tests are meant to catch any breaking changes requiring updates to Apalache's support for quint.

Generally, you should not have to run these tests locally, leaving the validation to our CI. But should you need to run these tests locally, you can do so with

npm run apalache-integration

It is required that you have a Java version meeting Apalache's minimum requirements.

Parser

We use the antlr4ts parser generator to compile the BNF like notation specified in ./src/generated/Quint.g4 into a typescript lexer and parser. To regenerate the parser and lexer, run

npm run antlr