Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@knapsack-pro/jest

Package Overview
Dependencies
Maintainers
4
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@knapsack-pro/jest

Knapsack Pro Jest splits Jest tests across CI nodes and makes sure that tests will run in optimal time on each CI node.

  • 6.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
29K
decreased by-1.97%
Maintainers
4
Weekly downloads
 
Created
Source

@knapsack-pro/jest

Knapsack Pro

Speed up your tests

Run your 1-hour test suite in 2 minutes with optimal parallelisation on your existing CI infrastructure




Knapsack Pro wraps Jest and works with your existing CI infrastructure to parallelize tests optimally:

  • Dynamically splits your tests based on up-to-date test execution data
  • Is designed from the ground up for CI and supports all of them
  • Tracks your CI builds to detect bottlenecks
  • Does not have access to your source code and collects minimal test data
  • Enables you to export historical metrics about your CI builds
  • Replaces local dependencies like Redis with an API and runs your tests regardless of network problems

Installation

See the docs to get started:

Contributing

Requirements

>= Node 18.13.0 LTS

You can use NVM to manage Node versions in development.

Dependencies

Setup

  1. Setup the @knapsack-pro/core project.

    Follow the steps below or use the bin/setup_development script to take care of steps 2-5.

  2. Install the dependencies:

    npm install
    
  3. In order to use the local version of @knapsack-pro/core run:

    npm link @knapsack-pro/core
    
  4. Compile the TypeScript code to the lib directory by running:

    npm start
    
  5. Register the @knapsack-pro/jest package globally in your local system. This way we will be able to develop other npm packages dependent on it:

    npm link
    
  6. Set up your IDE:

    From now on, every change in the codebase will be automatically formatted by Prettier. ESLint shows errors and warnings in VSCode.

  7. Write some code.

Testing

CI

If your feature requires code changes in @knapsack-pro/core, please push the @knapsack-pro/core to GitHub first. Then you can push changes for @knapsack-pro/jest to ensure the CI will use the latest @knapsack-pro/core.

Example Jest test suite

To test @knapsack-pro/jest against a real test suite we use:

Publishing

  1. Sign in to the npm registry with:

    npm adduser
    
  2. Ensure you have the latest version of @knapsack-pro/core in package.json:

    {
      "dependencies": {
        "@knapsack-pro/core": "^x.x.x"
      }
    }
    

    Run npm install. This way you will be able to test @knapsack-pro/core installed from npm registry instead of the local one that was linked with npm link @knapsack-pro/core.

    Commit the updated package.json and package-lock.json:

    git commit -am "Update @knapsack-pro/core"
    
  3. Before releasing a new version of the package, please update CHANGELOG.md with github_changelog_generator:

    gem install github_changelog_generator
    
    # generate CHANGELOG.md
    github_changelog_generator --user KnapsackPro --project knapsack-pro-jest
    git commit -am "Update CHANGELOG.md"
    git push origin master
    
  4. If you have added new files to the repository, and they should be part of the released npm package, please ensure they are included in the files array in package.json.

  5. Compile the project:

    # Ensure you use local version of @knapsack-pro/core
    npm link @knapsack-pro/core
    
    npm run build
    
  6. In order to bump the version of the package run the command below. It will also create a version commit and tag for the release:

    # Bump patch version 0.0.x
    npm version patch
    
    # Bump minor version 0.x.0
    npm version minor
    
  7. Push the commit and tag:

    git push origin master --tags
    
  8. When the git tag is on Github, you can update CHANGELOG.md:

    github_changelog_generator --user KnapsackPro --project knapsack-pro-jest
    git commit -am "Update CHANGELOG.md"
    git push origin master
    
  9. Publish the package to the npm registry:

    npm publish
    
  10. Update the latest available library version in:

Keywords

FAQs

Package last updated on 23 May 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc