The source code for the application is available in this repository.
To install and run the app:
- Clone the angular2-salesforce repository:
git clone https://github.com/ccoenraets/angular2-salesforce
- Navigate (cd) to the angular2-salesforce directory.
- Install the dependencies:
- Start the application:
- Enter your salesforce userid and password.
ECMAScript 6 Module Interoperability
I used the forcejs OAuth and REST library for the Salesforce integration. I currently maintain forcejs as a plain ES5 library and as an ECMAScript 6 module. The best way to use/import that existing library in my TypeScript application was not immediately obvious to me. I considered different options:
- Use the ES5 version using a definition file (.d.ts)
- Use the ES6 module version already transpiled with Webpack
- Use the ES6 version as a TypeScript source file
Ideally, I’d like to maintain a single forcejs code base that can be used as a module in a plain ECMAScript 6 app or in a TypeScript app, which is why I initially chose the second option. I ran into some issues and eventually used the third option after making some quick changes to the source code to avoid some type-related compilation warnings. Any further insight from TypeScript folks is appreciated.