Skip to content

Dissociation between master branch and Microsoft.PowerShell.EditorServices nuget package #1069

Closed
@mhintzke

Description

@mhintzke

Hey PowerShell Team!

This is not so much an "issue", but rather a question.

My team and I are wanting to build a PSES backed ASP .NET Core application that can perform a number of supplementory operations for our Monaco Editor implementation in our application. These features include things like:

  • Script Analysis
  • Script Formatting
  • AST Generation, Querying, and Building
  • (Probably more in the future)

The first 2 can be achieved using the PSScriptAnalyzer which we have gotten working both a Powershell Azure Function and as a PoC in a ASP .NET Core Console Application by building our own DLLs and interfacing with the ScriptAnalyzer directly.

The 3rd feature is something we think we can achieve via the System.Management.Automation.Language library which offers the Parser.ParserInput(...) method that constructs us an AST of an arbtrary script. We would also need a way to mutate the AST and get back a script as a string. I assume all of this can be done via this library.

Since we want to support all of these functionalities, it seemed best to build a single service for all things "Powershell" that utilized PSES. I noticed that PSES makes use of the PSScriptAnalyzer by generating a RunespacePool and taking care of a lot of the boilerplate logic needed to orchestrate these operations at scale. With that said, I tried standing up a .NET Core API using the latest Microsoft.PowerShell.EditorServices library, but the library seems to be outdated from what I am seeing in master today. Do you intend on releasing the latest to that NuGet package anytime soon or is it better to compile our own DLLs?

As a whole, it seems like using PSES over using PSScriptAnalyzer directly is the smarter move for the longevity and featureset of our application. Any suggestions on what we should target as a dependency going forward are welcomed.

Our application is still in Alpha so we don't really have to worry about the code being production ready. We just love what you guys are doing over there and want to take advantage of some of these cool technologies to give our user's an ideal PowerShell IDE experience.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions