Socket
Socket
Sign inDemoInstall

jest-changed-files

Package Overview
Dependencies
38
Maintainers
3
Versions
172
Alerts
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

jest-changed-files

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

    29.7.0latest
    GitHub
    npm

Version published
Maintainers
3
Weekly downloads
23,862,333
increased by3.22%

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.7.0

Features

  • [create-jest] Add npm init / yarn create initialiser for Jest projects (#14465)
  • [jest-validate] Allow deprecation warnings for unknown options (#14499)

Fixes

  • [jest-resolver] Replace unmatched capture groups in moduleNameMapper with empty string instead of undefined (#14507)
  • [jest-snapshot] Allow for strings as well as template literals in inline snapshots (#14465)
  • [@jest/test-sequencer] Calculate test runtime if perStats.duration is missing (#14473)

Performance

  • [@jest/create-cache-key-function] Cache access of NODE_ENV and BABEL_ENV (#14455)

Chore & Maintenance

  • [jest-cli] Move internal config initialisation logic to the create-jest package (#14465)

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 12 Sep 2023

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the 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