Skip to content
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

October 15th, 2020 Community Call #263

Closed
SteveL-MSFT opened this issue Oct 9, 2020 · 15 comments
Closed

October 15th, 2020 Community Call #263

SteveL-MSFT opened this issue Oct 9, 2020 · 15 comments

Comments

@SteveL-MSFT
Copy link
Member

SteveL-MSFT commented Oct 9, 2020

Agenda:

  • PowerShellGallery status update and mini-postmortem
  • 7.1 update, master branch status
  • Team game day: Among Us
  • KeyChain vault extension demo
  • PSReadLine update and demo
  • Hacktoberfest

Please add topics/questions here!

@ThomasNieto
Copy link

ThomasNieto commented Oct 12, 2020

@iSazonov
Copy link
Contributor

iSazonov commented Oct 13, 2020

  • When will we fork 7.2 and start actively work on the milestone?
  • Previously before start new version, we did massive style updates. Will we do the same? Now more than 20 PRs are waiting.
  • .Net team added many analyzers in last time. It is very strange that we do not benefit from them at all. Relevant PR awaits

@theJasonHelmick
Copy link
Contributor

Update on Predictions and the available RFC to provide feedback

@kilasuit
Copy link

PowerShellGet v3 update?

@kilasuit
Copy link

PowerShell Working Groups - https://devblogs.microsoft.com/powershell/powershell-working-groups/ Is this going to be just PowerShell repo or wider across the number of PowerShell repos already there.

How soon you intend to try to get these in place for?
7.2 GA
7.2.1?
beyond?

@rjmholt
Copy link
Contributor

rjmholt commented Oct 15, 2020

Is there a PSScriptAnalyzer for binary modules?

Not today -- it's not quite the same use-case as PSScriptAnalyzer today, since the analysis must be mostly of C# and due to the compilation step there's an added question of what do you run the analysis on; the C# source or the built module asset. There are possible advantages to the latter, but there's more established tooling for the former.

We've discussed using Roslyn analysers to improve the module authoring experience, but just in a theoretical "wouldn't it be nice if" way.

Certainly since that issue (which predates my joining the PS team) I haven't heard much in the way of requests for it, but I'd love to have the discussion about:

  • What are people looking for in terms of binary module linting/analysis, and who wants it?
  • What stage should we run it at and what existing tooling should be leverage?
  • Should it be part of PSScriptAnalyzer or a separate tool? More inconvenient as a separate tool, but hooks into different things and most PSSA users probably won't be using it

@SteveL-MSFT
Copy link
Member Author

@iSazonov don't know if you were able to hear the call, but we should get the style and analyzer changes in now before we start making functional code changes for 7.2. I can help spend time reviewing those PRs.

@SeeminglyScience
Copy link

Certainly since that issue (which predates my joining the PS team) I haven't heard much in the way of requests for it, but I'd love to have the discussion about:

It's come up a few times on the discord. Last time it was discussed, someone mentioned that the Azure PowerShell team developed a few analyzers after a lot of complaints. I haven't confirmed that though.

  • What are people looking for in terms of binary module linting/analysis, and who wants it?

It most often comes up as a way to assist C# developers who just happen to be tasked with making a PowerShell module. Stuff like use VerbsCommon (and similar) constants in CmdletAttribute, use WriteObject(obj, enumerate: true), add positional parameters, add OutputType. That kind of stuff.

  • What stage should we run it at and what existing tooling should be leverage?

Imo just additional roslyn analyzers that you can reference just like any other. The use case (imo) is almost always someone who is more familiar with C# than PowerShell, so matching the tooling there seems ideal.

  • Should it be part of PSScriptAnalyzer or a separate tool? More inconvenient as a separate tool, but hooks into different things and most PSSA users probably won't be using it

Separate. I don't think any of the code base would be shared at all.

@TylerLeonhardt
Copy link
Member

such a tool would be great to give to our partner teams at Microsoft who don't come from a PS background so that they have a set of best practices. It's a cmdlet review (albeit basic) but without the people (aka it scales)

@rjmholt
Copy link
Contributor

rjmholt commented Oct 15, 2020

The reason I have in mind for suggesting that perhaps it could be run on a post-build asset is that it could also check:

  • The module layout
  • That the manifest aligns with the DLL
  • Other manifest details

@SeeminglyScience
Copy link

The reason I have in mind for suggesting that perhaps it could be run on a post-build asset is that it could also check:

  • The module layout
  • That the manifest aligns with the DLL
  • Other manifest details

Yeah I know 😕

Manifest details... I think still could be. I know source generators can accept any arbitrary files included in the project, but I'm not sure about analyzers. I worry that trying to invent completely custom tooling will push this outside what is currently a super feasible area.

Some very basic roslyn analyzers could go a long way into getting better quality modules. Especially if there is buy in across the org. It might also help to convince other teams to give it a go if all they have to do is slap on a dotnet add package.

@TylerLeonhardt
Copy link
Member

Some very basic roslyn analyzers could go a long way into getting better quality modules. Especially if there is buy in across the org. It might also help to convince other teams to give it a go if all they have to do is slap on a dotnet add package.

This is exactly what I'm thinking as well.

There's a crawl,walk,run here and the crawl would help a fair bit, I think!

@iSazonov
Copy link
Contributor

The reason I have in mind for suggesting that perhaps it could be run on a post-build asset is that it could also check:

  • The module layout
  • That the manifest aligns with the DLL
  • Other manifest details

Yeah I know 😕

Manifest details... I think still could be. I know source generators can accept any arbitrary files included in the project, but I'm not sure about analyzers. I worry that trying to invent completely custom tooling will push this outside what is currently a super feasible area.

It is an C# application. We can inject any appropriate logic in the application.

@iSazonov
Copy link
Contributor

Have anybody an experience with Roslyn analyzer developing? :-)

@iSazonov
Copy link
Contributor

@iSazonov don't know if you were able to hear the call, but we should get the style and analyzer changes in now before we start making functional code changes for 7.2. I can help spend time reviewing those PRs.

@SteveL-MSFT I hear you. Thanks! Please look @xtqqczze's PRs (closed as stale too). I hope MSFT members help and community reviewers too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants