Add YAML 1.2 conversion foundation#37
Draft
Marius Storhaug (MariusStorhaug) wants to merge 8 commits into
Draft
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add YAML 1.2 core-schema construction, safe tag handling, duplicate-key validation, aliases, resource limits, object projection, Test-Yaml, and pinned conformance fixtures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Normalize supported PowerShell data, emit a YAML 1.2-compatible subset, preserve repeated acyclic references, reject cycles and normalized duplicate keys, and cover packaging metadata. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document command contracts, safety limits, pipeline behavior, supported data types, unknown-tag handling, and non-preserved YAML presentation details with working examples. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Prefer the workflow-imported artifact so Pester coverage measures real module execution, exclude pinned YAML fixtures from repository config linting, and skip PlatyPS docs generation because it preloads a conflicting YamlDotNet assembly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use yamllint's native ignore rules for vendored spec and invalid parser fixtures without relying on unsupported reusable-workflow environment settings. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Match absolute fixture paths passed by Super-Linter and satisfy repository analysis for the coverage test helper. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
netstandard2.0assembly, unchanged MIT license, and third-party provenance noticeConvertFrom-Yaml,ConvertTo-Yaml, andTest-Yamlsrc/,tests/, and README changes through the real workflowParser and object semantics
str,null,bool,int,float,binary,timestamp,seq,map,set,omap, andpairstags are handled without reflection or type activationPSCustomObjectvalues;-AsHashtablereturns recursiveOrderedDictionaryvalues and preserves complex keys-NoEnumerate; pipeline strings are joined with LF soGet-ContentworksSerializer semantics
Compatibility boundaries
PowerShell values do not retain YAML presentation metadata. Data round trips therefore do not preserve comments, scalar style, tag spelling/handles, unknown application tags, anchor names, mapping presentation, line endings, or source formatting. Exact numeric CLR widths and enum CLR types are also not reconstructed. YAML merge keys are ordinary mapping data under the core schema and are not expanded.
Process-PSModule's generated-docs job is skipped because PlatyPS preloads a conflicting YamlDotNet assembly before importing this module. Public comment help remains complete and is validated by source and module linting.
Dependency provenance
YamlDotNet18.1.059FFE65ADE67AD9D886267F877B634A450363CB81B94E19DB9CA4C36461416F6lib/netstandard2.0/YamlDotNet.dll91CD6D1FD0AE5B64BF6B252EB3B1AF2382CBC599C29045427C45FE8403D4295DRequiredAssemblies; Build-PSModule discovers the DLL and generates itTest coverage
yaml/yaml-specyaml/yaml-test-suite@da267a5c4782e7361e82889e76c0dc7df0e1e870Validation
Invoke-Pester -Path .\tests: 118 passed, 0 failedYaml.psm1DotNetFrameworkVersion = '4.7.2',RequiredAssemblies = 'assemblies\YamlDotNet.dll', all three exports, and aFileListcontaining the DLL, upstream license, notice, and root module91CD6D1FD0AE5B64BF6B252EB3B1AF2382CBC599C29045427C45FE8403D4295D