Skip to content

Support stream and in-memory project inputs - #22

Merged
erseco merged 5 commits into
feature/internal-links-manifestfrom
feature/stream-inputs
Sep 19, 2026
Merged

erseco merged 5 commits into
feature/internal-links-manifestfrom
feature/stream-inputs

Conversation

@erseco

@erseco erseco commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add ELPParser::fromStream()
  • add ELPParser::fromContents()
  • add inspectStream() and inspectContents()
  • spool stream input in chunks to bounded temporary files for ZipArchive
  • apply configured input-size limits during spooling
  • preserve source-extension semantics for package/version detection
  • automatically remove temporary files owned by parser instances
  • keep file-path parsing unchanged and dependency-free

Stack

This PR is stacked on #21 and targets feature/internal-links-manifest.

Tests

Covers full parsing from bytes, full parsing from streams, lightweight stream/content inspection and resource-limit enforcement during spooling.

CI is green on PHP 8.0–8.5, coverage, Composer validation, PHPCS and PHPStan.

@erseco
erseco added this pull request to stack #25 September 19, 2026 20:07
@erseco
erseco force-pushed the feature/stream-inputs branch from 33dfbb8 to 92f2cc1 Compare September 19, 2026 20:10
@erseco
erseco merged commit 40c43ca into main Sep 19, 2026
17 checks passed
@erseco
erseco deleted the feature/stream-inputs branch September 19, 2026 20:10
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