-
Notifications
You must be signed in to change notification settings - Fork 45
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
Provide IDE-like experience for viewing/editing Node.js functions in the portal #187
Comments
@mhoeger - Please take a look. |
@kichinsky - thanks for taking a look and for the feedback!! How did you deploy to get to this state? The flow we want developers to follow is to develop and test functions locally and then publish (by default, it publishes as "read-only"). For further changes, the expectation was to make them locally and then publish. Could you tell us how you got to using the TypeScript template but not publishing as read-only (using run-from-package)? |
@mhoeger I'm using ADO Pipelines to deploy from the typescript source code (I had to add compiler step on build to make it pass through). You are right, by default as soon as I configure CI/CD it is readonly, but...
So it is not about editing, just looking through the code.
|
@kichalla - I still struggle with this scenario because our local debug/tuning is going to run the same code paths as production. I definitely understand the convenience of being able to adjust deployed code, but we've seen a lot of mistakes in the past from being able to directly alter production code and we're trying to move away from this dangerous game. We'll keep this under consideration, but it's hard to justify putting in a good chunk of dev hours to simplify a scenario we want to discourage. Would making remote debugging easier meet your needs? That's something we are more inclined to invest in across languages / across scenarios. |
@mhoeger I think it is more complicated meanwhile the ultimate goal is still to simplify and streamline developer experience. The way how I hear what you say is that there some dangereous practices (e.g., editing on deployment) and we are trying to get rid of them (by pushing towards local testing and strong CI/CD pipeline). But having front-end background I feel that there is a mismatch in that approach. And it lays in a different place.
|
@kichinsky any Luck on the CI/CD with the Typescript, we are also facing the same issue directly we can't able to push typescript based functions :( |
@vamsi981 My current setup to deploy Azure Functions (AF) on TypeScript through Azure DevOps (ADO) is the following:
dotnet restore extensions.csproj
dotnet build extensions.csproj --output ./bin/ Configure the working directory for this step as well. |
We are aware of the issues for in-portal editing of TypeScript functions and there will be even more issues for both JS and TS once we implement #480 (because the new programming model will require a certain amount of app-level code, not just one js/ts file per function). I'm skeptical we will fix these with the existing in-portal editing, but there's talk of doing a prototype with GitHub Codespaces to replace in-portal editing. If that works happens, it would not be for a while and also would not be specific to Node.js - so I'll put this in the tracking milestone for now |
Updated AF tools allow to create TypeScript-template for Azure Functions in VSCode, that is great.
/dist
folderThe structure of the project suggests that after ts-files are compiled, the output js-files are store in the
/dist
folder.The
function.json
file in the function folder also references to thatdist
folder. 👍The portal in the editing interface by default opens files from the
dist
folder. 👍But when I go to the "View files" tab, I can't find the source index.js file. ☹
ts
files through the portal.It would be helpful to automatically compile/recompile
.ts
-files if I'm able to edit them through the portal. But probably, I don't want to install tsc on the app level. ☹I know that it is not so easy to implement it without complicating other things.. But the current experience is somehow incomplete. You allow editing files, but it makes no sense, as they are not compiled.
The text was updated successfully, but these errors were encountered: