title: import {browser, element, by, By, $, $$, ExpectedConditions} from 'protractor' error
body: <p>I have installed Protractor, typescript, jasmine with type globally and also locally.
  Getting following error while running the test via npm install, please guide if anything wrong with the setup.</p>
  
  <pre><code>import {browser, element, by, By, $, $$, ExpectedConditions} from 'protractor';
  ^^^^^^
  SyntaxError: Unexpected token import
      at createScript (vm.js:56:10)
      at Object.runInThisContext (vm.js:97:10)
      at Module._compile (module.js:542:28)
      at Object.Module._extensions..js (module.js:579:10)
      at Module.load (module.js:487:32)
      at tryModuleLoad (module.js:446:12)
      at Function.Module._load (module.js:438:3)
      at Module.require (module.js:497:17)
      at require (internal/module.js:20:19)
      at C:\MyFiles\NewTechonologies\Protractor\TypeScript\Test\node_modules\jasmine\lib\jasmine.js:93:5
  [13:14:56] E/launcher - Process exited with error code 100
  npm ERR! Test failed.  See above for more details. 
  </code></pre>
  
  <p>Below are the details of files I am using in visual studio code</p>
  
  <p><strong>Conf.ts</strong></p>
  
  <pre><code>import {Config} from 'protractor';
  
  export let config: Config = {
  
    framework: 'jasmine',
    capabilities: {
      browserName: 'chrome'
    },
    specs: [ '../spec.ts' ],
     onPrepare: () =&gt; {
       let globals = require('protractor');
     let browser = globals.browser;
     browser.manage().window().maximize();
     browser.manage().timeouts().implicitlyWait(5000);
      // doing a browser.get will lead to a transpile error. 
      // undefined does not have a get method
    },
    seleniumAddress: 'http://localhost:4444/wd/hub',
  
    // You could set no globals to true to avoid jQuery '$' and protractor '$'
    // collisions on the global namespace.
    noGlobals: true
  };
  </code></pre>
  
  <p><strong>spec.ts</strong></p>
  
  <pre><code>import {browser, element, by, By, $, $$, ExpectedConditions} from 'protractor';
  //import { ElementFinder, browser, by, element } from 'protractor';
  import protractor = require('protractor');
  
  describe('protractor with typescript typings', () =&gt; {
    beforeEach(() =&gt; {
      browser.get('http://www.angularjs.org');
    });
  
    it('should greet the named user', async() =&gt; {
      setTimeout(function() {
      // Whatever you want to do after the wait
  }, 4000);
      element(by.model('yourName')).sendKeys('Julie');
      let greeting = element(by.binding('yourName'));
     // expect(greeting.getText()).toEqual('Hello Julie!');
     expect&lt;any&gt;(greeting.getText()).toEqual('Hello Julie!');
    });
  
    it('should list todos', function() {
      let todoList = element.all(by.repeater('todo in todoList.todos'));
      expect&lt;any&gt;(todoList.count()).toEqual(2);
      expect&lt;any&gt;(todoList.get(1).getText()).toEqual('build an angular app');
    });
  });
  </code></pre>
  
  <p><strong>package.json</strong></p>
  
  <pre><code>{
    "name": "example-typescript",
    "version": "1.0.0",
    "description": "a typescript example",
    "author": "",
    "license": "MIT",
    "scripts": {
      "tsc": "tsc",
      "pretest": "npm run tsc",
      "test": "protractor tmp/conf.js"
    },
    "dependencies": {
      "@types/jasmine": "^2.5.47",
      "@types/jasminewd2": "^2.0.0",
      "jasmine": "^2.4.1",
       "protractor": "file:../",
      "typescript": "~2.1.6"
    },
    "devDependencies": {
      "@types/jasmine": "^2.5.51",
      "@types/jasminewd2": "^2.0.2",
      "ts-node": "^3.0.2"
    }
  </code></pre>