Cast name to String to ensure .match is available

Summary:
PR for issue #12444

In `validateProjectName` in `react-native-cli` `name.match` is called but it's not certain that `name`is a String. This casts `name`to a String before doing the match.

I didn't find any tests for this file so I didn't add any.

Reproduce:
```
cd react-native-cli
npm install
node index.js init 123
```

Before this PR the code throws an exception, after this PR the intended `console.error` is printed.
Closes https://github.com/facebook/react-native/pull/12447

Differential Revision: D4584041

fbshipit-source-id: 117e76570aa9975ac851192b030c5a77daf19bcc
This commit is contained in:
Max Malm 2017-02-17 19:59:12 -08:00 committed by Facebook Github Bot
parent cb68b97289
commit c7f2c53fbf
1 changed files with 1 additions and 1 deletions

View File

@ -167,7 +167,7 @@ if (cli) {
} }
function validateProjectName(name) { function validateProjectName(name) {
if (!name.match(/^[$A-Z_][0-9A-Z_$]*$/i)) { if (!String(name).match(/^[$A-Z_][0-9A-Z_$]*$/i)) {
console.error( console.error(
'"%s" is not a valid name for a project. Please use a valid identifier ' + '"%s" is not a valid name for a project. Please use a valid identifier ' +
'name (alphanumeric).', 'name (alphanumeric).',