Skip to content

feat(prepare-sources): implement file-cleanup module (RHIDP-15836) - #175

Open
davidfestal wants to merge 3 commits into
redhat-developer:mainfrom
davidfestal:fix-15836
Open

davidfestal wants to merge 3 commits into
redhat-developer:mainfrom
davidfestal:fix-15836

Conversation

@davidfestal

@davidfestal davidfestal commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

file-cleanup pipeline module

  • Implements the file-cleanup pipeline module (RHIDP-15836)
  • After plugin-removal, strips test/dev-only paths from surviving packages (dev/, e2e-tests/, __tests__/, __mocks__/, *.test.ts(x), *.spec.ts(x))
  • Skips node_modules/ and dist-dynamic/, matching sync-midstream.sh behavior

Test plan

  • Fixture I/O tests for removal patterns and exclusion boundaries
  • vp test / vp check pass with 100% coverage

NOTE: Based on top of PR #174 which should be merged first

davidfestal and others added 3 commits October 1, 2026 16:12
Generate manifest.json (workspace package inventory) and, when the
workspace contains backstage:^ dependencies, backstage-manifest.json
with @backstage package metadata extracted from yarn.lock and
validated against versions.backstage.io.

Add a zero-dependency Yarn Berry lockfile parser/serializer for
round-trip fidelity, shared manifest types, and fixture-based tests.
Extend test utilities with a mockFetch helper and wire the module
into the pipeline runner. Add @vitest/coverage-v8 and ignore the
coverage directory.

Assisted-by: Cursor
Signed-off-by: David Festal <dfestal@redhat.com>
Intersect `plugins-list.yaml` with `rhdh-supported-packages.txt` for the
current workspace, preserve packages referenced by
`dist-dynamic/embedded/*/package.json`, remove infrastructure directories
(`packages/app`, `packages/backend`, `.storybook`, `examples/`,
`node_modules`), and delete remaining non-supported plugin directories.
Rewrite the filtered `plugins-list.yaml` back to the overlay path,
preserving full lines including export CLI args.

Expose `overlayRepoRoot` on `PipelineInputs` so tier-list files can be read
from the overlay repository root instead of resolving `../..` inside the
module. Update the fixture loader to support an `input/overlay-root/`
directory for tier-list fixtures.

Add the module implementation, unit tests, fixtures, and README.md;
wire the module into the pipeline runner.

Assisted-by: Cursor
Signed-off-by: David Festal <dfestal@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: David Festal <dfestal@redhat.com>
…ne module

Remove test, mock, and dev-only files from surviving workspace packages:
directories `dev/`, `e2e-tests/`, `__tests__/`, `__mocks__/` and files matching
`*.test.ts`, `*.test.tsx`, `*.spec.ts`, `*.spec.tsx`, while preserving paths
under `node_modules/` and `dist-dynamic/`. Aligns with `sync-midstream.sh`
lines 917–924.

Add the module implementation, fixture-based tests, fixtures, and README.md;
wire the module into the pipeline runner. Exclude `__fixtures__` directories
from Vitest discovery in `vite.config.ts`.

Assisted-by: Cursor
Signed-off-by: David Festal <dfestal@redhat.com>
@sonarqubecloud

sonarqubecloud Bot commented Oct 1, 2026

Copy link
Copy Markdown

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