PipeScript 0.2.82024-02-19
PipeScript 0.2.8:
More Implicit Interpretation!
* Invoke-Interpreter will now JSONify non-string arguments (#896)
* Invoke-Interpreter will now call Out-Parser (#857, #858)
* Improved Interpreter exclusions
* .ExcludePath excludes path wildcards (#875, #877)
* .ExcludePattern excludes by pattern (#875, #876)
* Implicit Interpretation Demo (#886)
* Get-Interpreter (#747)
* New Languages Supported:
* Crystal (#878)
* C3 (#870)
* Export-PipeScript Improvements:
* Conditional Build Support (#907)
* GitHub Build Summary Support (#914)
* More Language Support:
* More Hello Worlds (#846)
* Template.HelloWorld.go
* Template.HelloWorld.py
* Template.HelloWorld.cpp
* Template.HelloWorld.cr
* Python Improvements:
* Python Keywords map (#872)
* Template.Assignment.py (#927)
* Template.DoLoop.py (#929)
* Template.Import.py (#913)
* Template.UntilLoop.py (#939)
* Template.WhileLoop.py (#936)
* New ScriptProperties
* Language.HasPowerShellInterpreter (#904)
* Language.HasInterpreter (#903)
* Language.Alias(es) (#)
* Adding .Parallel option to GitHub action (defaulting to Serial) (#888)
* Fixing Alias for Aliases Compiler (thanks @HCRitter ! )
---
Additional history in CHANGELOG
Like it? Star It! Love it? Support It!
PipeScript 0.2.72023-12-18
PipeScript 0.2.7:
PipeScript can now easily define any language and you can now interpret Anything with PipeScript!
* Complete Overhaul of Languages in PipeScript!
* Languages are now defined in open-ended psuedo-object
* They can define an .Interpreter
* If they do, the language can be dynamically interpreted!
* Languages can also specify translation methods (.TranslateFromAstType)
* More support for the PowerShell Abstract Syntax Tree and Roslyn
* New languages supported: Docker, XSL, XSD, BrightScript, Conf, Wren, Vue, F#, GCODE
* New Commands:
* Start-PSNode lets you run PowerShell as a microservice
* Import/Export-JSON make JSON easier to work with
* Import-ModuleMember lets modules flexibly self-extend
* Out-HTML gives formatted HTML output!
... and much, much more
---
Additional history in CHANGELOG
PipeScript 0.2.62023-06-29
PipeScript 0.2.6:
* PipeScript can now be sponsored! (please show your support) (#488)
* PipeScript now has several formalized command types (#452)
* Aspects
* DynamicParameters (#462)
* ModuleExtensionType (#460)
* ModuleExtensionPattern (#460)
* ModuleExtensionCommand (#460)
* Automatic Variables (Fixes #426)
* $MySelf
* $MyParameters
* $MyCallstack
* $MyCaller
* $MyCommandAst (#434)
* $IsPipedTo (#430)
* $IsPipedFrom (#431)
* PostProcessing/Optimization now applies to Functions (#432)
* Partial functions are now a PostProcessor (#449)
* Protocol Functions
* Made HTTP, UDP, and JSON Schema Protocols into functions (#474)
* Added OpenAPI Protocol (#457)
* Core Command Improvements
* Get-PipeScript is now built with PipeScript (#463)
* Export-PipeScript
Is much_ more transparent in GitHub Workflow (#438)
* Now lists all files built, time to build each, transpilers used, and PipeScript factor.
* Auto Installs simple #requires in build files (#491)
* Update-PipeScript uses AST Based Offsets (#439)
* New-PipeScript
* Making Description/Synopis ValueFromPipelineByPropertyName (#453)
* Adding -InputObject parameter.
Making -Parameter much_ more open-ended (#454)
* Improving Reflection Support (#467)
* Allowing -Parameter as [CommandInfo]/[CommandMetaData] (#477)
* Supporting DefaultValue/ValidValue (Fixes #473)
* Adding -Verb/-Noun (#468)
* Invoke-PipeScript
* Improving Positional Attribute Parameters (Fixes #70)
* Clarifying 'Transpiler Not Found' Messages (#484)
* Sentence Parsing Support
* Improving Mutliword alias support (#444)
* Adding Clause.ParameterValues (#445)
* Allowing N words to be skipped (#479)
* 'All' Improvements
* Expanding Syntax for 'All' (#436)
* Compacting generating code (#440)
* Adding Greater Than / Less Than aliases (#446)
* Enabling 'should' (#448)
* 'all applications in $path' (#475)
* New Transpilers:
* ValidValues (#451)
* Adding WhereMethod (#465)
* Adding ArrowOperator/ Lambdas ! (#464)
* Extended Type Improvements
* VariableExpressionAst.GetVariableType - Enabling InvokeMemberExpression (#490)
* CommandInfo.BlockComments - Resolving aliases (#487)
* CommandInfo.GetHelpField - Skipping additional script blocks (Fixes #486)
* Minor Fixes:
* Requires is now Quieter (#433)
* Appending Unmapped Locations to Alias Namespace (Fixes #427)
* Fixing Examples in New-PipeScript (thanks @ninmonkey !)
* Namespaced Alias/Function - Not Transpiling if command found (#455)
* Automatically Testing Examples (greatly expanded test coverage) (#461)
* Templates now report errors more accurately (#489)
* Inherit - Fixing Abstract/Dynamic Inheritance (#480)
* Include - Allowing Including URLs (#481)
* Partial Functions will not join their headers (#483)
---
Additional history in CHANGELOG
PipeScript 0.2.52023-04-27
PipeScript 0.2.5:
* Added Support for Aspects (#401)
* Support for Pre/Post commands in Core Transpiler
* Commands Named PipeScript.PreProcess / PipeScript.Analyzer will run before transpilation of a ScriptBlock
* Commands Named PipeScript.PostProcess / PipeScript.Optimizer will run after transpilation of a ScriptBlock
* Adding PipeScript.Optimizer.ConsolidateAspects (Fixes #413)
* Conditional Keywords Fixes (Fixes #402)
* New-PipeScript: Improving Pipelining (Fixes #400)
* Update-PipeScript:
* Tracing Events (#407)
* Support for Insertions (#405, #406, #407)
* Template Improvements
* Templates can now be either singleline or multiline (Fixes #398)
* New Language Support
* Eiffel (#404)
* PS1XML (#414)
* SVG (#411)
* XAML (#414)
* XML Transpilers support inline xml output (Fixes #412)
* Added initial demo file (Fixes #420)
---
Additional history in CHANGELOG
PipeScript 0.2.42023-03-31
PipeScript 0.2.4:
* Conditional Keywords now support throw/return (#389/#388) (also, fixed #387)
Updating action: checking for all_ build errors before outputting (#378)
* Command Updates
* New-PipeScript: Fixing Typed function creation (Fixes #372)
* Join-PipeScript: Fixing End Block Behavior (Fixes #383)
* Templating Improvements:
* New Languages Supported:
* DART (#394)
* SCALA (#395)
* Markdown Template Transpiler now has a more terse format (#393).
* Markdown Template Transpiler now supports embedding in HTML comments or CSS/JavaScript comments (#113).
* JSON/JavaScript Template: Converting Output to JSON if not [string] (#382)
* CSS Template Template : now Outputting Objects as CSS rules (Fixes #332)
* Core Template Transpiler is Faster (#392) and ForeachObject is improved (#390)
* Other Improvements
* Include transpiler: Adding -Passthru (Fixes #385)
* Making validation for various transpilers more careful (Fixes #381)
* CommandNotFound behavior: Limiting recursion (Fixes #380)
* Core Transpiler: Improving Efficiency (Fixes #379)
* Requires allows clobbering and forces loads (Fixes #386)
---
Additional history in CHANGELOG
PipeScript 0.2.32023-03-12
PipeScript 0.2.3:
New Features:
* Added Import-PipeScript (Fixes #366)
* Generating 'PipeScript.Imported' event on Import (#371)
* Functions and Aliases can now be created in namespaces (#329 and #334)
* Functions are imported as they are defined (#360)
* Transpilers can be defined in the PipeScript.Transpiler namespace
You can now declare a transpiler and use it in the next line!_
* Partial Functions (#369)
* Conditional Keywords (#374) ( You can now break if ($false) / continue if ($false))
Extended Type Improvements
* Vastly Extending [CommandInfo] (Making PowerShell commands much more capable)
* Properties
* .BlockComments (Fixes #343)
* .Category (Fixes #344)
* .CommandNamespace (Fixes #335)
* .CommandMetadata (#351)
* .Description (#346)
* .FullyQualifiedName (#339)
* .Examples (#348)
* .Links (#349)
* .Metadata (#341)
* .Rank/Order (Fixes #345)
* .Synopsis (#347)
* .Separator (get/set) (#337, #338)
* Methods
* .CouldPipe() (#356)
* .CouldPipeType() (#359)
* .CouldRun (#357)
* .GetHelpField (Fixes #342)
* .IsParameterValid() (#358)
* .Validate() (#355)
* Application/ExternalScriptInfo: get/set.Root (#340)
* .Namespace alias for non-Cmdlet CommandInfo (Fixes #335)
Templating Improvements
* SQL Transpiler: Allowing Multiline Comments (Fixes #367)
* Adding Arduino Template (Fixes #308)
* Allowing Markdown Transpiler to Template Text (Fixes #352)
Command Changes
* New-PipeScript
* Aliasing -FunctionType to -Function/CommandNamespace (Fixes #372)
* Transpiling content unless -NoTranspile is passed (Fixes #370)
* Allowing -Parameter dictionaries to contain dictionaries (Fixes #311)
* Join-PipeScript
* Adding -Indent (Fixes #365)
* Improving Unnamed end block behavior (Fixes #363)
* Invoke-PipeScript:
* Adding -OutputPath (Fixes #375)
Action Improvements
* GitHub Action Now supports -InstallModule (Fixes #353)
* Using notices instead of set-output
Minor Changes
* Allowing alias inheritance (Fixes #364)
* PipeScript.FunctionDefinition: Supporting Inline Parameters (Fixes #354)
---
Additional history in CHANGELOG
PipeScript 0.2.22022-12-24
PipeScript 0.2.2:
* Build-PipeScript is now Export-PipeScript (aliases remain) (Fixes #312)
* Export-PipeScript: Running BuildScripts first (Fixes #316)
* Join-PipeScript
* Ensuring end blocks remain unnamed if they can be (Fixes #317)
* Trmming empty param blocks from end (Fixes #302)
* Update-PipeScript:
* Adding -InsertBefore/After (Fixes #309). Improving aliasing (Fixes #310)
* Aliasing RenameVariable to RenameParameter (Fixes #303). Improving inner docs
* requires transpiler: Caching Find-Module results (Fixes #318)
* Extending Types:
* Adding PipeScript.Template (Fixes #315)
* Adding 'ExtensionScript' to PipeScript.PipeScriptType (Fixes #313)
* Greatly extending ParameterAst (Fixes #305)
* Extending ParamBlockAst (Fixes #304)
---
Additional history in CHANGELOG
PipeScript 0.2.12022-11-16
0.2.1:
* Adding preliminary 'define' transpiler (Fixes #299)
* Improving interactive templates (now supported for all languages) (Fixes #285)
* Fixing sequence dotting within non-statements (Fixes #298)
* Allow multiple transpiler outputs to update nearby context (Fixes #297)
* No longer expanding Regex Literals in attributes (Fixes #290)
---
Additional history in CHANGELOG
PipeScript 0.22022-11-14
0.2:
* Massive Improvements in Templating
* Templates can be used interactively (Fixes #285)
* Renaming all Inline Transpilers to Template Transpilers
* Natural Parsing Improvements
* ArrayLiterals are expanded (Fixes #291)
* AsSentence now only allows one value into a singleton (Fixes #279)
* Not expanding expandable strings (Fixes #286)
* Transpilers can change nearby context (Fixes #292)
* Allowing dot syntax to extend across multiple statements (Fixes #273)
* Adding requires keyword (Fixes #293)
* PipeScript modifies its own manifest (Fixes #294)
---
Additional history in CHANGELOG
PipeScript 0.1.92022-11-07
0.1.9:
* Protocol Transpilers
* Adding JSONSchema transpiler (Fixes #274)
* HTTP Protocol: Only allowing HTTP Methods (Fixes #275)
* Keyword improvements:
* all scripts in $directory (Fixes #277)
* 'new' keyword recursively transpiles constructor arguments (Fixes #271)
* Core improvements:
* Core Transpiler stops transpilation of an item after any output (Fixes #280)
* [CommandAst].AsSentence now maps singleton values correctly (Fixes #279)
* PipeScript now handles CommandNotFound, enabling interactive use (Fixes #281)
Additional history in CHANGELOG