PipeScript
PipeScript copied to clipboard
`Publish-PipeScript` should enable publishing with PipeScript
PipeScript should provide an open-ended way to Publish.
The architecture for this should be like interpretation (Invoke-PipeScript) and compilation (Use-PipeScript/Export-PipeScript), and should seek to answer the following questions:
What is being Published?
Ideally, a path with a module in it. Practically speaking, any path should do.
The path and any discovered metadata will be used to determine what should be published.
This will occur by pairing any discovered metadata to a Publish command (sorted by order).
This should include metadata about where and how to publish.
If automated pairing is undesired, a module should also be able to specify how it is published.
Where to Publish
We do not want to limit where we can be published too much, and so this should flow directly from metadata.
It is recommended that a publisher accept a parameter named -*Path if they are publishing locally, and -*Url if they are publishing remotely.
It is understood that not all publishers will fit this mold (for example, publishing to the PowerShell Gallery)
How to Publish
Essentially and effectively, How to Publish should be left to the publisher command.
All preflight checks and product-specific bells and whistles should be accomplished by the publisher.
Ideally, a publisher should return information about what was published.
When to Publish
Let us start by saying that Publishing is not Compiling, nor is it interpreting ( though both may happen within Publishing).
That is to say that while we may want to Build-PipeScript every check in, we do not want to Publish (at least by default)
From a GitHub action perspective, this means we will need additional parameters to support publishing.
How it works:
- [ ] #1090
- [ ] #1091
- [ ] #1092
- [ ] #1093
- [ ] Publishers for Technologies
- [ ] #1094
- [ ] #1095
- [ ] #1096
- [ ] #1097
- [ ] #1098
- [ ] #1099
- [ ] #1100