bryceg / servicenow-dts

TypeScript Definitions for Service Now's APIs
MIT License
30 stars 19 forks source link

Use in non-TypeScript global apps #1

Closed johncaruso closed 8 years ago

johncaruso commented 8 years ago

Hi Bryce, thank you so much for creating these TypeScript definitions! I commend you for being the brave soul who is apparently venturing into using TypeScript for writing ServiceNow code. A while back I ventured down that path myself, but things weren't as mature with TypeScript as they are now and I returned to coding JavaScript.

When I have some time, I plan to take a look at your skeleton project and perhaps I'll try TypeScript again for SN development.

For now though, I enjoy the autocomplete and interface documentation these definitions provide within my IDE. Before stumbling onto this project, I used Glide system class stubs to provide autocomplete.

I will definitely be contributing to this project as I have time. (Assuming you're taking contributions :smile:).

The reason I'm opening this issue is to clarify usage of these typings in a non-TypeScript project (i.e., for IDE JS support) in a global app context:

Question 1: Your README shows for Scoped Apps use:

I assume for Global apps it should be:

Correct?

Question 2: Under Global and Scoped Apps you indicate to use the rhino-es3 typings. And to use "noLib" in tsconfig.

I'm guessing this is only if you're writing TypeScript and not just using the typings for JavaScript IDE support.

Correct?

If I was doing TypeScript development, could you explain why this configuration is needed?

Perhaps you could update the README to clarify things?

Thanks again,

John

bryceg commented 8 years ago

Glad this is useful for you. Its been quite a challenge to maintain these with ServiceNow very lax documentation practices around their API's, especially between release versions.

Correct on both questions. I probably need to clarify number 2 for only applying to the Helsinki scoped app release, where you are targeting ES5 with your application. If so then you can use the standard lib and not the rhino version I cooked up for ES3, as the Rhino version they are using is quite old and not really ES3 compliant.

We use typescript exclusively for app development towards ServiceNow, but its bit of an ugly integration due to their push towards the Studio. But on large apps, not using typescript can make maintainability almost impossible.