Skip to content

Commit

Permalink
[haste-map]: Ignore Sapling vcs directories
Browse files Browse the repository at this point in the history
Summary: Ignore `.sl` directories in HasteMap.  This will allow Sapling to be
used with jest projects

Test Plan: `packages/jest-haste-map/src/__tests__/index.test.js` similar
testing plan to what's in #13673

Closes #13673
  • Loading branch information
vegerot committed Dec 14, 2022
1 parent 41bf230 commit 30acfd4
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 2 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

### Features

- `[jest-haste-map]` ignore Sapling vcs directories (`.sl/`) ([#13674](https://github.com/facebook/jest/pull/13674))

### Fixes

- `[jest-resolve]` add global paths to `require.resolve.paths` ([#13633](https://github.com/facebook/jest/pull/13633))
Expand Down
2 changes: 1 addition & 1 deletion docs/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -2256,7 +2256,7 @@ An array of RegExp patterns that are matched against all source file paths befor

These patterns match against the full path. Use the `<rootDir>` string token to include the path to your project's root directory to prevent it from accidentally ignoring all of your files in different environments that may have different root directories. Example: `["<rootDir>/node_modules/"]`.

Even if nothing is specified here, the watcher will ignore changes to the version control folders (.git, .hg). Other hidden files and directories, i.e. those that begin with a dot (`.`), are watched by default. Remember to escape the dot when you add them to `watchPathIgnorePatterns` as it is a special RegExp character.
Even if nothing is specified here, the watcher will ignore changes to the version control folders (.git, .hg, .sl). Other hidden files and directories, i.e. those that begin with a dot (`.`), are watched by default. Remember to escape the dot when you add them to `watchPathIgnorePatterns` as it is a special RegExp character.

```js tab
/** @type {import('jest').Config} */
Expand Down
8 changes: 8 additions & 0 deletions packages/jest-haste-map/src/__tests__/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,14 @@ describe('HasteMap', () => {
expect(hasteFS.matchFiles('.git')).toEqual([]);
});

it('ignores sapling vcs directories without ignore pattern', async () => {
mockFs[path.join('/', 'project', 'fruits', '.sl', 'package.json')] = `
invalid}{
`;
const {hasteFS} = await (await HasteMap.create(defaultConfig)).build();
expect(hasteFS.matchFiles('.sl')).toEqual([]);
});

it('ignores vcs directories with ignore pattern regex', async () => {
const config = {...defaultConfig, ignorePattern: /Kiwi/};
mockFs[path.join('/', 'project', 'fruits', 'Kiwi.js')] = `
Expand Down
2 changes: 1 addition & 1 deletion packages/jest-haste-map/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ const CHANGE_INTERVAL = 30;
const MAX_WAIT_TIME = 240000;
const NODE_MODULES = `${path.sep}node_modules${path.sep}`;
const PACKAGE_JSON = `${path.sep}package.json`;
const VCS_DIRECTORIES = ['.git', '.hg']
const VCS_DIRECTORIES = ['.git', '.hg', '.sl']
.map(vcs => escapePathForRegex(path.sep + vcs + path.sep))
.join('|');

Expand Down

0 comments on commit 30acfd4

Please sign in to comment.