Skip to content
Permalink
Browse files

Fix HasteImpl Regex (#24628)

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 28e0de070d2dae9a486ab5915b6fd76723bd84ef
Showing with 1 addition and 1 deletion.
  1. +1 −1 jest/hasteImpl.js
@@ -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];

0 comments on commit 28e0de0

Please sign in to comment.
You can’t perform that action at this time.