Skip to content

Transpile to ES6 #2323

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 8, 2016
Merged

Transpile to ES6 #2323

merged 1 commit into from
Dec 8, 2016

Conversation

rosen-vladimirov
Copy link
Contributor

NOTE: Merge only after telerik/mobile-cli-lib#843 is merged

Add support for ES6 transpilation. Change dependency injection in order to match the class and constructor keywords.
Update istanbul to latest version as its previous versions do not support ES6.

Remove bluebird.d.ts as it conflicts with Promises from TypeScript's ES6 d.ts.
Remove bluebird as dependency - we will use native Promises from now on.

Add support for Node.js 4 and 5 - both versions have limited support for ES6 features, so in order to support them we have to:

  • pass --harmony flag to Node.js
  • do not use some features like default values of method arguments.
  • do not use spread operator - it's implementation in Node.js 4 is limited only to arrays. Even this implementation has issues. So use .apply instead of using spread operator. Remove all other usages of spread operator (for objects).

Add tests scripts for istanbul and mocha, as they both will need the --harmony flag as well, so we cannot execute them directly with Node.js 4 and 5. Instead we'll execute a custom script, that will start a new node process.

Introduce test-scripts directory with JavaScript executables to start the tests. Set them in package.json. They are required as when Node 4 or Node 5 is used, the tests will need --harmony flag as well.
Exclude test-scripts directory from npm package (add it to .npmignore) - users do not need these files.

Exclude .vscode/launch.json from .gitignore and add predefined launch configurations. They can be used for debugging CLI process and unit tests.

nativescript_launch_configs_2

Part of #2204

@rosen-vladimirov rosen-vladimirov force-pushed the vladimirov/es6 branch 2 times, most recently from 06bddd5 to bb9b69f Compare December 7, 2016 15:17
Add support for ES6 transpilation. Change dependency injection in order to match the `class` and `constructor` keywords.
Update istanbul to latest version as its previous versions do not support ES6.

Remove bluebird.d.ts as it conflicts with Promises from TypeScript's ES6 d.ts.
Remove bluebird as dependency - we will use native Promises from now on.

Add support for Node.js 4 and 5 - both versions have limited support for ES6 features, so in order to support them we have to:
 - pass --harmony flag to Node.js
 - do not use some features like default values of method arguments.
 - do not use spread operator - it's implementation in Node.js 4 is limited only to arrays. Even this implementation has issues. So use `.apply` instead of using spread operator. Remove all other usages of spread operator (for objects).

Add tests scripts for istanbul and mocha, as they both will need the `--harmony` flag as well, so we cannot execute them directly with Node.js 4 and 5. Instead we'll execute a custom script, that will start a new node process.

Introduce `test-scripts` directory with JavaScript executables to start the tests. Set them in package.json. They are required as when Node 4 or Node 5 is used, the tests will need `--harmony` flag as well.
Exclude `test-scripts` directory from npm package (add it to `.npmignore`) - users do not need these files.

Exclude `.vscode/launch.json` from `.gitignore` and add predefined launch configurations. They can be used for debugging CLI process and unit tests.
@rosen-vladimirov
Copy link
Contributor Author

Approved here #2268

@rosen-vladimirov rosen-vladimirov merged commit 6b81845 into master Dec 8, 2016
@rosen-vladimirov rosen-vladimirov deleted the vladimirov/es6 branch December 8, 2016 09:56
@pkoleva pkoleva added this to the 2.5.0 milestone Jan 4, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants