{"id":16773181,"url":"https://github.com/glook/isolated-composer","last_synced_at":"2026-04-18T01:02:50.898Z","repository":{"id":57002505,"uuid":"332836258","full_name":"glook/isolated-composer","owner":"glook","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-25T18:26:03.000Z","size":45,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-25T20:43:00.300Z","etag":null,"topics":["composer","php","wordpress","wp"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glook.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-25T18:00:37.000Z","updated_at":"2026-02-25T18:26:07.000Z","dependencies_parsed_at":"2022-08-21T11:40:42.763Z","dependency_job_id":null,"html_url":"https://github.com/glook/isolated-composer","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/glook/isolated-composer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glook%2Fisolated-composer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glook%2Fisolated-composer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glook%2Fisolated-composer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glook%2Fisolated-composer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glook","download_url":"https://codeload.github.com/glook/isolated-composer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glook%2Fisolated-composer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31952208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"ssl_error","status_checked_at":"2026-04-18T00:39:20.671Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composer","php","wordpress","wp"],"created_at":"2024-10-13T06:44:56.389Z","updated_at":"2026-04-18T01:02:50.891Z","avatar_url":"https://github.com/glook.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Isolated-composer\nThe library based on  [Interfacelab/namespacer](https://github.com/Interfacelab/namespacer), which adds prefixes to the packages used by the composer, making them isolated. \n\nIsolated-composer does the same, but modifies the application source code by adding the required namespaces. When using Isolated-composer, you will need to run `./Vendor/bin/isolated-composer` with arguments (see below), which will patch your source code and dependencies (for example, when using CI).\n\n## Installation\nYou can install this globally, but I think you'd be better off using it as the basis of a project via composer.\n\n```bash\ncomposer require glook/isolated-composer\n```\n\n## Usage\nOnce installed:\n\n```bash\n./vendor/bin/isolated-composer [options] [--composer COMPOSER] [--source SOURCE] [--package PACKAGE] [--namespace NAMESPACE] [--config CONFIG] [--vendor-dir vendor] \u003cdest\u003e\n```\n\n# Usage with docker\n\nYou use isolated-composer without installing it as composer dependency. Just use this image  [glook/php-isolated-composer](https://hub.docker.com/r/glook/php-isolated-composer).\n\n```bash\ndocker run --rm -it -v ${PWD}:/app \\\n    docker.io/glook/php-isolated-composer:latest --source /app \\\n    --package sample-prefix \\\n    --namespace SampleApp\\\\Vendor\\\\ \\\n    --no-dev \\\n    --vendor-dir vendor \\\n    /app/output\n```\n\n### Arguments\n\n#### Tool options\n\n| Option | Description |\n| ------ | ----------- |\n| `--composer COMPOSER` | Path to a composer.json to renamespace (mutually exclusive with `--source`). |\n| `--source SOURCE` | Path to a directory with an existing vendor dir (mutually exclusive with `--composer`). |\n| `--package PACKAGE` | Prefix to add to package names, e.g. `my-prefix`. |\n| `--namespace NAMESPACE` | Prefix to add to PHP namespaces, e.g. `MyApp\\\\Vendor\\\\`. |\n| `--config CONFIG` | Path to an optional PHP config file with filter hooks. |\n| `--vendor-dir NAME` | Folder name for renamespaced packages (default: `vendor`). |\n| `\u003cdest\u003e` | Destination directory for the output. |\n\n#### Output / interaction (Symfony Console built-ins, forwarded to `composer update`)\n\n| Option | Description |\n| ------ | ----------- |\n| `-q` / `--quiet` | Do not output any message. |\n| `-v\\|-vv\\|-vvv` / `--verbose` | Increase verbosity of messages (`-vvv` = debug). |\n| `-n` / `--no-interaction` | Do not ask any interactive question. |\n\n#### Composer passthrough — boolean flags\n\n| Option | Description |\n| ------ | ----------- |\n| `--dry-run` | Outputs the operations but will not execute anything (implies `--verbose`). |\n| `--dev` | Enables installation of require-dev packages. |\n| `--no-dev` | Skip installing packages listed in require-dev. |\n| `--no-install` | Skip the install step after updating the lock file. |\n| `--no-audit` | Skip the audit step after updating the lock file. |\n| `--no-security-blocking` | Audit prints warnings but does not block. |\n| `--lock` | Only updates the lock file hash to suppress the out-of-date warning. |\n| `--no-autoloader` | Skips autoloader generation. |\n| `--no-progress` | Do not output download progress. |\n| `--no-plugins` | Disables composer plugins. |\n| `--no-scripts` | Skips execution of scripts defined in composer.json. |\n| `-w` / `--with-dependencies` | Add dependencies of whitelisted packages to the whitelist. |\n| `-W` / `--with-all-dependencies` | Add all dependencies of whitelisted packages to the whitelist. |\n| `-o` / `--optimize-autoloader` | Optimize autoloader during autoloader dump. |\n| `-a` / `--classmap-authoritative` | Autoload classes from the classmap only. |\n| `--apcu-autoloader` | Use APCu to cache found/not-found classes. |\n| `--ignore-platform-reqs` | Ignore all platform requirements (php \u0026 ext- packages). |\n| `--prefer-stable` | Prefer stable versions of dependencies. |\n| `--prefer-lowest` | Prefer lowest versions of dependencies. |\n| `-m` / `--minimal-changes` | During a partial update, only change versions in require/require-dev. |\n| `--patch-only` | Only allow patch-level updates during a partial update. |\n| `--interactive` | Interactive interface with autocompletion to select packages to update. |\n| `--root-reqs` | Restricts the update to first-degree dependencies. |\n\n#### Composer passthrough — value options\n\n| Option | Description |\n| ------ | ----------- |\n| `--prefer-install=SOURCE` | Force installation from `source`, `dist`, or `auto`. |\n| `--audit-format=FORMAT` | Audit output format: `table`, `plain`, `json`, or `summary`. |\n| `--with=CONSTRAINT` | Temporary version constraint, e.g. `foo/bar:1.0.0`. |\n| `--apcu-autoloader-prefix=PREFIX` | Custom prefix for the APCu autoloader cache. |\n| `--bump-after-update=MODE` | Run bump after update: `dev`, `no-dev`, or `true`. |\n| `--ignore-platform-req=PACKAGE` | Ignore a specific platform requirement (repeatable). |\n\nFor example, you might run it:\n\n```bash\n./vendor/bin/namespacer --composer sample.composer.json --config sample.config.php --package mypackage --namespace MyNamespace\\Vendor build/\n```\n\nIn this example, we're pointing to a `composer.json` file containing the packages we want to re-namespace and to a \nconfig file that contains filters that will apply more manual patches during the re-namespace process.  The output \nof the processing will be put into the `build/` folder.\n\n### Filtering (Patching in PHP-Scoper parlance)\nYou can see some example configurations in `vendor/glook/isolated-composer/sample.config.php` and \n`vendor/glook/isolated-composer/patches.config.php` that will demonstrate how to insert your own code into the namespacing\nprocess to catch special cases. \n\n## Reporting Bugs\nIf you run into issues, please open a ticket and attach the composer.json you were trying to process with a clear\ndescription of the problem.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglook%2Fisolated-composer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglook%2Fisolated-composer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglook%2Fisolated-composer/lists"}