Skip to content

feat: sfdmu data package#13

Merged
nkskaare merged 7 commits intomainfrom
feat-data-packs
Mar 4, 2026
Merged

feat: sfdmu data package#13
nkskaare merged 7 commits intomainfrom
feat-data-packs

Conversation

@nkskaare
Copy link
Copy Markdown
Contributor

@nkskaare nkskaare commented Mar 4, 2026

This pull request introduces support for SFDMU data packages in the CLI and core library, improves artifact assembly robustness, and enhances the public API for registering builders and installers. The changes ensure that SFDMU builders/installers are registered as side effects and that the artifact assembler's logic is more modular and error-tolerant. Additionally, the exports from the core package have been expanded to expose more types and utilities.

SFDMU Data Package Integration

  • Added @b64/sfpm-sfdmu as a dependency in packages/cli/package.json and registered its builder/installer via side-effect imports in build.ts and install.ts commands, enabling SFDMU data package support in CLI workflows. [1] [2] [3]

Artifact Assembler Refactoring & Robustness

  • Refactored ArtifactAssembler in artifact-assembler.ts to modularize event emission, staging directory preparation, source hash calculation, changelog/package.json generation, and tarball movement. Improved error handling and logging for artifact assembly steps. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Public API Improvements

  • Expanded exports in index.ts to expose builder and installer registration functions/types (RegisterBuilder, RegisterInstaller, etc.), SfpmDataPackage, and utility classes like DirectoryHasher, making it easier for consumers to extend and interact with the core library. [1] [2]

Type and Import Cleanups

  • Updated imports to use node: prefixes for core modules and reordered type/interface definitions for clarity and consistency in artifact-assembler.ts.

Minor Code Quality Enhancements

  • Improved the removeEmptyValues utility function to skip empty arrays and objects more reliably.

nkskaare added 7 commits March 4, 2026 07:29
- Updated index.ts to export additional types and reorganize exports for clarity.
- Refactored PicklistAnalyzer to improve readability and efficiency.
- Enhanced PackageAssembler with clearer assembly steps and improved error handling.
- Modified InstallerRegistry to exclude 'data' from package type restrictions.
- Streamlined SfpmDataPackage to directly import fast-glob and optimize file counting.
- Updated npm types to improve clarity and organization of package.json generation.
- Improved DirectoryHasher comments explaining sequential read requirements.
@nkskaare nkskaare merged commit 593f32d into main Mar 4, 2026
0 of 6 checks passed
@nkskaare nkskaare deleted the feat-data-packs branch March 4, 2026 07:17
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.

1 participant