Skip to content

Completed PR#1

Open
raandree wants to merge 4 commits into
stehlih:mainfrom
PSSecTools:main
Open

Completed PR#1
raandree wants to merge 4 commits into
stehlih:mainfrom
PSSecTools:main

Conversation

@raandree

@raandree raandree commented Mar 9, 2026

Copy link
Copy Markdown

This pull request introduces significant improvements to conditional path resolution and array merging in the Datum project, along with updated documentation and integration tests. The most important changes are support for conditional ResolutionPrecedence entries using Datum.InvokeCommand expressions, enhanced knockout support for hashtable array items, and fixes for array merging logic. Documentation has been updated to reflect these features, and related tests have been added or adjusted.

Conditional ResolutionPrecedence and Documentation Updates

  • Added support for conditional ResolutionPrecedence entries using Datum.InvokeCommand expressions ([x= ... =]). Entries evaluating to $null or empty strings are now silently skipped, enabling more flexible and dynamic data resolution. [1] [2]
  • Updated documentation in docs/DatumYml.md and docs/CmdletReference.md to explain conditional entries, filtering of path prefixes, and usage patterns. [1] [2]
  • Added integration tests for environment variable resolution and conditional path precedence.

Knockout and Array Merge Enhancements

  • Added knockout support for hashtable array items, ensuring items can be removed from inherited arrays as intended. [1] [2] [3]
  • Fixed merging of hashtable array items using merge behaviour 'Sum', and improved handling of knockout markers and tuple key values during merges. [1] [2] [3] [4] [5] [6] [7] [8]

Test and Build Process Improvements

  • Adjusted and added integration tests for knockout and array merge behaviors, and provided critical guidance in memory-bank/techContext.md on running tests in a separate PowerShell process to avoid issues with VS Code. [1] [2]

Changelog and Context Updates

  • Updated CHANGELOG.md with detailed entries for new features, changes, and fixes under [Unreleased], and removed obsolete entries such as SkipReason from RSOP test cases. [1] [2]
  • Updated project context in memory-bank/activeContext.md to reflect the current focus on conditional resolution and related testing.

raandree and others added 4 commits March 7, 2026 19:58
…Command expressions (gaelcolas#167)

- Implement filtering of null/empty path prefixes in Resolve-Datum.
- Update documentation to reflect new conditional entry capabilities.
- Add integration test for conditional ResolutionPrecedence in Datum.yml.
* Fix CHANGELOG

* Adjust integration tests for knockout of hashtable array items
and for hashtable array merge behauvior 'Sum'

* Add knockout support for hashtable array items
and fix merging of hashtable array items using merge behaviour 'SUM'

* Improve hash_array handling in Clear-DatumKnockout
…onPrecedence paths and fix Join-Path exception
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

Successfully merging this pull request may close these issues.

3 participants