diff --git a/CHANGELOG.md b/CHANGELOG.md index da6544d64a51..fb1b8f9dc8c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### Features +- `[jest-haste-map]` ignore Sapling vcs directories (`.sl/`) ([#13674](https://github.com/facebook/jest/pull/13674)) - `[jest-resolve]` Support subpath imports ([#13705](https://github.com/facebook/jest/pull/13705)) - `[jest-runtime]` Add `jest.isolateModulesAsync` for scoped module initialization of asynchronous functions ([#13680](https://github.com/facebook/jest/pull/13680)) - `[jest-test-result]` Added `skipped` and `focused` status to `FormattedTestResult` ([#13700](https://github.com/facebook/jest/pull/13700)) diff --git a/docs/Configuration.md b/docs/Configuration.md index b88153f4002a..0a071c26c713 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -2270,7 +2270,7 @@ An array of RegExp patterns that are matched against all source file paths befor These patterns match against the full path. Use the `` 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: `["/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} */ diff --git a/packages/jest-haste-map/src/__tests__/index.test.js b/packages/jest-haste-map/src/__tests__/index.test.js index b93a752a096d..013de8971133 100644 --- a/packages/jest-haste-map/src/__tests__/index.test.js +++ b/packages/jest-haste-map/src/__tests__/index.test.js @@ -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')] = ` diff --git a/packages/jest-haste-map/src/index.ts b/packages/jest-haste-map/src/index.ts index 5c3458c96686..e4ddf1e1f856 100644 --- a/packages/jest-haste-map/src/index.ts +++ b/packages/jest-haste-map/src/index.ts @@ -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('|');