title: Gulp + browserify + babelify: "Unexpected token" for JSX code
body: <p>The code I tried to transpile is this:</p>
  
  <pre><code>var React = require('react');
  var ReactDOM = require('react-dom');
  
  var listOfItems = &lt;ul&gt;
                      &lt;li className="item-1"&gt;Item 1&lt;/li&gt;
                      &lt;li className="item-2"&gt;Item 2&lt;/li&gt;
                      &lt;li className="item-3"&gt;Item 3&lt;/li&gt;
                    &lt;/ul&gt;;
  
  ReactDOM.render(listOfItems, document.getElementById('react-application'));
  </code></pre>
  
  <p>The gulpfile.js looks like this: </p>
  
  <pre><code>var gulp = require('gulp');
  var browserify = require('browserify');
  var babelify = require('babelify');
  var source = require('vinyl-source-stream');
  
  gulp.task('default', function () {
    return browserify('./source/app.js')
      .transform(babelify)
      .bundle()
      .pipe(source('snapterest.js'))
      .pipe(gulp.dest('./build/'));
  });
  </code></pre>
  
  <p>But if I try to start <code>gulp</code>, it gives me this error:</p>
  
  <pre><code>[18:00:34] Using gulpfile ~/Documents/Esercitazioni/react/reactjs-essentials/snapterest/gulpfile.js
  [18:00:34] Starting 'default'...
  events.js:141
        throw er; // Unhandled 'error' event
        ^
  
  SyntaxError: /Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/source/app.js: Unexpected token (4:18)
    2 | var ReactDOM = require('react-dom');
    3 | 
  &gt; 4 | var listOfItems = &lt;ul&gt;
      |                   ^
    5 |                     &lt;li className="item-1"&gt;Item 1&lt;/li&gt;
    6 |                     &lt;li className="item-2"&gt;Item 2&lt;/li&gt;
    7 |                     &lt;li className="item-3"&gt;Item 3&lt;/li&gt;
      at Parser.pp.raise (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/location.js:22:13)
      at Parser.pp.unexpected (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/util.js:91:8)
      at Parser.pp.parseExprAtom (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/expression.js:512:12)
      at Parser.pp.parseExprSubscripts (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/expression.js:270:19)
      at Parser.pp.parseMaybeUnary (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/expression.js:250:19)
      at Parser.pp.parseExprOps (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/expression.js:180:19)
      at Parser.pp.parseMaybeConditional (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/expression.js:157:19)
      at Parser.pp.parseMaybeAssign (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/expression.js:120:19)
      at Parser.pp.parseVar (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/statement.js:585:24)
      at Parser.pp.parseVarStatement (/Users/macbookpro/Documents/Esercitazioni/react/reactjs-essentials/snapterest/node_modules/babelify/node_modules/babel-core/node_modules/babylon/lib/parser/statement.js:416:8)
  </code></pre>