Skip to content

Commit

Permalink
Fix HasteImpl Regex (#24628)
Browse files Browse the repository at this point in the history
Summary:
The jest HasteImpl's `pluginNameReducers` regex was not properly escaping a backslash, resulting in unintended behavior.

The intent of the code is to strip the `.${name}` from the end of a filepath, where `name` is a platform name. The correct regex for that would be `^(.*)\.(myPlat)$`, but because the regex is being constructed from a string, the `\.` is being interpreted as an escaped period, resulting in the regex  `^(.*).(myPlat)$`. To correct this, the backslash needs to be escaped so it makes it into the regex.

[General] [Fixed] - Fix HasteImpl platform name regex
Pull Request resolved: #24628

Differential Revision: D15224468

Pulled By: hramos

fbshipit-source-id: 6eb507aa5410bdd7c247e6d301052d41995a2f11
  • Loading branch information
CaptainNic authored and facebook-github-bot committed May 6, 2019
1 parent 6cf784f commit 28e0de0
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion jest/hasteImpl.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const pluginRoots /*: Array<string> */ = haste.providesModuleNodeModules.map(
);

const pluginNameReducers /*: Array<[RegExp, string]> */ = haste.platforms.map(
name => [new RegExp(`^(.*)\.(${name})$`), '$1'],
name => [new RegExp(`^(.*)\\.(${name})$`), '$1'],
);

const ROOTS = [path.resolve(__dirname, '..') + path.sep, ...pluginRoots];
Expand Down

0 comments on commit 28e0de0

Please sign in to comment.