Socket
Socket
Sign inDemoInstall

jest-changed-files

Package Overview
Dependencies
18
Maintainers
6
Versions
172
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    jest-changed-files

A module used internally by Jest to check which files have changed since you last committed in git or hg.


Version published
Weekly downloads
22M
decreased by-2.19%
Maintainers
6
Install size
234 kB
Created
Weekly downloads
 

Package description

What is jest-changed-files?

The jest-changed-files npm package is a utility that allows you to determine which files have changed in a git or hg (Mercurial) repository. It is often used in testing environments, particularly with Jest, to identify which tests need to be run based on the changes made to the codebase.

What are jest-changed-files's main functionalities?

Getting changed files from a Git repository

This feature allows you to get a list of files that have changed since the last commit in a Git repository. The 'lastCommit' option specifies that only changes from the last commit should be considered.

const { getChangedFilesForRoots } = require('jest-changed-files');

(async () => {
  const changedFiles = await getChangedFilesForRoots(['./'], { lastCommit: true });
  console.log(changedFiles.changedFiles);
})();

Getting changed files from a Mercurial repository

This feature is similar to the previous one but is used for Mercurial repositories. The 'withAncestor' option can be used to find changes that have occurred since the last common ancestor of the current head and the default branch.

const { getChangedFilesForRoots } = require('jest-changed-files');

(async () => {
  const changedFiles = await getChangedFilesForRoots(['./'], { withAncestor: true });
  console.log(changedFiles.changedFiles);
})();

Other packages similar to jest-changed-files

Changelog

Source

29.5.0

Features

  • [jest-changed-files] Support Sapling (#13941)
  • [jest-circus, @jest/cli, jest-config] Add feature to randomize order of tests via CLI flag or through the config file(#12922)
  • [jest-cli, jest-config, @jest/core, jest-haste-map, @jest/reporters, jest-runner, jest-runtime, @jest/types] Add workerThreads configuration option to allow using worker threads for parallelization (#13939)
  • [jest-cli] Export yargsOptions (#13970)
  • [jest-config] Add openHandlesTimeout option to configure possible open handles warning. (#13875)
  • [@jest/create-cache-key-function] Allow passing length argument to createCacheKey() function and set its default value to 16 on Windows (#13827)
  • [jest-message-util] Add support for AggregateError (#13946 & #13947)
  • [jest-message-util] Add support for Error causes in test and it (#13935 & #13966)
  • [jest-reporters] Add summaryThreshold option to summary reporter to allow overriding the internal threshold that is used to print the summary of all failed tests when the number of test suites surpasses it (#13895)
  • [jest-runtime] Expose @sinonjs/fake-timers async APIs functions advanceTimersByTimeAsync(msToRun) (tickAsync(msToRun)), advanceTimersToNextTimerAsync(steps) (nextAsync), runAllTimersAsync (runAllAsync), and runOnlyPendingTimersAsync (runToLastAsync) (#13981)
  • [jest-runtime, @jest/transform] Allow V8 coverage provider to collect coverage from files which were not loaded explicitly (#13974)
  • [jest-snapshot] Add support to cts and mts TypeScript files to inline snapshots (#13975)
  • [jest-worker] Add start method to worker farms (#13937)
  • [jest-worker] Support passing a URL as path to worker (#13982)

Fixes

  • [babel-plugin-jest-hoist] Fix unwanted hoisting of nested jest usages (#13952)
  • [jest-circus] Send test case results for todo tests (#13915)
  • [jest-circus] Update message printed on test timeout (#13830)
  • [jest-circus] Avoid creating the word "testfalse" when takesDoneCallback is false in the message printed on test timeout AND updated timeouts test (#13954)
  • [jest-environment-jsdom] Stop setting document to null on teardown (#13972)
  • [@jest/expect-utils] Update toStrictEqual() to be able to check jest.fn().mock.calls (#13960)
  • [@jest/test-result] Allow TestResultsProcessor type to return a Promise (#13950)

Chore & Maintenance

  • [jest-snapshot] Remove dependency on jest-haste-map (#13977)

Readme

Source

jest-changed-files

A module used internally by Jest to check which files have changed since you last committed in git or hg.

Install

$ npm install --save jest-changed-files

API

getChangedFilesForRoots(roots: Array<string>, options: Options): Promise<ChangedFiles>

Get the list of files and repos that have changed since the last commit.

Parameters

roots: Array of string paths gathered from jest roots.

options: Object literal with keys

  • lastCommit: boolean
  • withAncestor: boolean
  • changedSince: string

Returns

A Promise of Object literal with keys

  • changedFiles: Set<string>
  • repos:
    • git: Set<string>
    • hg: Set<string>

findRepos(roots: Array): Promise

Get a set of git and hg repositories.

Parameters

roots: Array of string paths gathered from jest roots.

Returns

A Promise of Object literal with keys

  • git: Set<string>
  • hg: Set<string>

Usage

import {getChangedFilesForRoots} from 'jest-changed-files';

getChangedFilesForRoots(['/path/to/test'], {
  lastCommit: true,
  withAncestor: true,
}).then(files => {
  /*
  {
    repos: [],
    changedFiles: []
  }
  */
});
import {getChangedFilesForRoots} from 'jest-changed-files';

getChangedFilesForRoots(['/path/to/test'], {
  changedSince: 'main',
}).then(files => {
  /*
  {
    repos: [],
    changedFiles: []
  }
  */
});
import {findRepos} from 'jest-changed-files';

findRepos(['/path/to/test']).then(repos => {
  /*
  {
    git: Set<Path>,
    hg: Set<Path>
  }
  */
});

FAQs

Last updated on 06 Mar 2023

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc