apazureck / odatatools

OData Tools for vscode
24 stars 12 forks source link

Status and - dotnetcore? #37

Open NetTecture opened 5 years ago

NetTecture commented 5 years ago

Odata and typescript is a mess. Yeah, I know. This actually can solve it, but our proejcts do not use VS Code, but "real" visual studio. As such, it is not usable long term.

I wonder how much work it may be and whether you would be open to rip out the vs code implementation (or replace it with a simple call to same underlying classes) and (also) expose this as dotnet global tool?

https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools-how-to-create

The advantage is that this then

Or is this completely written in typescript?

apazureck commented 5 years ago

Hi @NetTecture,

OData is actually not that messy at all, it is just not as well documented and used as other standards. And Typescript is the opposite of messy for an open source project, if you ask me.

But back to topic: You can basically use everything without vscode. There is only one file that maps everything to the commands, as I remember. The other code can be used independently using nodejs.

So feel free to take what you need or move everyting to another repo and I will subrepo your repo. I sadly do not have the time to get into dotnetcli for now. As you maybe have seen here, I hardly come to fix anything anymore.

But if you can use vscode (what you definitly should consider, because it's great), you can write your custom handlebars template for your needs in dotnet core (using the http client and so on). But I would think it is a better idea to invest on describing services with C# interfaces, like in WCF and then using the JIT compiler and expressions to get your client, so you will never have to manually create clients anymore, but just to change the interfaces.

You even can use the extension as is in your pipleine, if that is what you need. Just have a look at gulp or grunt.

And yes, this extension is complete typescript. You can transpile it to js yourself if you need or install the extension on your PC, there is the JS output.

So, hope this helps. If you intend to work on this repo or use it please let me know. I would rather use a common code base and if you want to push this project forward I would be more than happy.

Heads up: As we are now moving from UI5 to Angular with our projects this project MAY be picked up in the future again. I can imagine another template more suitable for an angular service for example.

Regards