{"id":21202615,"url":"https://github.com/cundd/cundd_composer","last_synced_at":"2025-07-10T06:33:11.233Z","repository":{"id":6078733,"uuid":"7305103","full_name":"cundd/cundd_composer","owner":"cundd","description":"Composer support for TYPO3 CMS","archived":false,"fork":false,"pushed_at":"2022-06-23T10:38:19.000Z","size":2508,"stargazers_count":10,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-10-20T19:08:35.931Z","etag":null,"topics":["composer","cundd-composer","php","typo3","typo3-cms"],"latest_commit_sha":null,"homepage":null,"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/cundd.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":"2012-12-24T09:43:25.000Z","updated_at":"2023-10-20T19:08:35.932Z","dependencies_parsed_at":"2022-08-30T16:33:36.731Z","dependency_job_id":null,"html_url":"https://github.com/cundd/cundd_composer","commit_stats":null,"previous_names":[],"tags_count":7,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cundd%2Fcundd_composer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cundd%2Fcundd_composer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cundd%2Fcundd_composer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cundd%2Fcundd_composer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cundd","download_url":"https://codeload.github.com/cundd/cundd_composer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225622824,"owners_count":17498170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","cundd-composer","php","typo3","typo3-cms"],"created_at":"2024-11-20T20:17:24.767Z","updated_at":"2024-11-20T20:17:25.443Z","avatar_url":"https://github.com/cundd.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Cundd Composer\n==============\n\n[Composer](http://getcomposer.org/) support for TYPO3 CMS.\n\n\nInstallation\n============\n\nInstall from [TER](https://typo3.org/extensions/repository/view/cundd_composer) or clone the source\nwith `git clone https://github.com/cundd/cundd_composer.git cundd_composer` and install Cundd Composer as usual through\nthe Extension Manager.\n\n\nUsage\n=====\n\nMake sure the extensions that provide a `composer.json` for Cundd Composer are already installed before running Cundd\nComposer's install or update commands. Only properly installed TYPO3 extensions are checked for a `composer.json` file.\n\n\nvia backend module\n------------------\n\n![Cundd Composer icon](https://raw.github.com/cundd/CunddComposer/master/ext_icon.gif \"Cundd Composer icon\") Icon of the\nCundd Composer module\n\nLet's assume we want to install the Composer dependencies for an TYPO3 extension called `MyExt`. In the root directory\nof the extension a valid `composer.json` file exists which contains the `extra` section for `cundd/composer`:\n\n```json\n{\n    \"extra\": {\n        \"cundd/composer\": {\n            \"install\": true\n        }\n    }\n}\n```\n\n1. Install `MyExt` through the Extension Manager\n2. Go to the `Composer` module in the Tools section\n3. Check the preview of the merged `composer.json`\n4. Click on `Install` or `Update` to tell Composer to install requirements\n\nvia command line\n----------------\n\nTYPO3 based CLI commands are available to manage dependencies.\n\n### composer:install\n\nInstalls the project dependencies from the `composer.lock` file (in `EXT:cundd_composer/Resources/Private/Temp/`) if\npresent, or falls back on the `composer.json`.\n\n```bash\ntypo3 cundd-composer:install\n```\n\n### composer:update\n\nUpdates your dependencies to the latest version according to `composer.json`, and updates the `composer.lock`\nfile (in `EXT:cundd_composer/Resources/Private/Temp/`).\n\n```bash\ntypo3 cundd-composer:update\n```\n\n### composer:installassets\n\nInstall available assets.\n\n```bash\ntypo3 cundd-composer:install-assets\n```\n\n### composer:list\n\nList information about the required packages.\n\n```bash\ntypo3 cundd-composer:list\n```\n\n### composer:exec\n\nExecute an arbitrary composer command.\n\n```bash\ntypo3 cundd-composer:exec -- info\n```\n\n### cundd-composer:write-composer-json\n\nWrite the merged composer.json.\n\n```bash\ntypo3 cundd-composer:write-composer-json\n```\n\nFor extension developers\n------------------------\n\nPlace a valid `composer.json` ([The composer.json Schema](https://getcomposer.org/doc/04-schema.md)) file in the root\ndirectory of your extension and add the required `extra` section. If you want to use the Composer packages in a fronted\nextension you can simply use the package classes. In case of a backend module you have to register the Cundd Composer\nautoloader through `\\Cundd\\CunddComposer\\Autoloader::register()`.\n\n\nAssets\n======\n\nThe Asset Installer loops through all the installed composer packages and checks if they contain one of the directories\ndefined in the extension manager (configuration name: `assetPaths`, defaults: `Resources/Public/`, `build`, `lib`, `js`\n, `font`, `less` and `sass`). If one of the directories exist, a symlink to the directory will be created inside of\nCundd Composer's `Resources/Public/Assets/` folder.\n\nBefore the Asset Installer can be used, it has to be enabled in the extension manager. Therefore `allowInstallAssets`\nhas to be checked. If `automaticallyInstallAssets` (and `allowInstallAssets`) is enabled the Assets will be installed\nautomatically after Cundd Composer's `install` or `update` function is invoked.\n\n\nExample\n-------\n\nIf the package `foo/bar` contains the directory `Resources/Public/` Cundd Composer will create a symlink\nat `EXT:cundd_composer/Resources/Public/Assets/foo_bar/` which will point\nto `EXT:cundd_composer/vendor/foo/bar/Resources/Public/`.\n\n\nAim\n---\n\nThe aim of the Asset Installer is to provide a schema to reference asset files and to publish those files in a public\nfolder, which allows the `vendor` directory to be inaccessible for browsers.\n\n\nMaintenance\n===========\n\nThe Composer binary is located in `./typo3conf/ext/cundd_composer/Resources/Private/PHP/composer.phar`. The\ngenerated `composer.json`, cache and configuration files are saved\nin `./typo3conf/ext/cundd_composer/Resources/Private/Temp/`.\n\n\nUpdate the Composer binary to the latest version\n------------------------------------------------\n\n```bash\n./typo3conf/ext/cundd_composer/Resources/Private/PHP/composer.phar selfupdate\n```\n\nRetrieve Composer configuration\n-------------------------------\n\n```bash\nCOMPOSER=./typo3conf/ext/cundd_composer/Resources/Private/Temp/composer.json \\\n./typo3conf/ext/cundd_composer/Resources/Private/PHP/composer.phar config -l\n```\n\nSet OAuth tokens for API rate limit\n-----------------------------------\n\n```bash\nCOMPOSER_HOME=./typo3conf/ext/cundd_composer/Resources/Private/Temp/ \\\n./typo3conf/ext/cundd_composer/Resources/Private/PHP/composer.phar config -g \\\ngithub-oauth.github.com theOauthToken\n```\n\nClear the internal package cache\n--------------------------------\n\n```bash\nCOMPOSER_HOME=./typo3conf/ext/cundd_composer/Resources/Private/Temp \\\n./typo3conf/ext/cundd_composer/Resources/Private/PHP/composer.phar clearcache\n```\n\nBreaking changes\n================\n\nBreaking changes in Cundd Composer 3.0\n--------------------------------------\n\nThe class name without namespaces has been removed `Tx_CunddComposer_Autoloader`.\n\n\nUpgrade to TYPO3 6.2\n--------------------\n\nTYPO3 6.2 will parse the extensions `composer.json` files and retrieve different information from it. TYPO3's new\nPackage Manager also allows the definition of dependencies. Unfortunately these dependencies are limited to real TYPO3\nextension. If you want to install an extension, which requires a non-TYPO3 package in `composer.json`, the Package\nManager tries to resolve this dependency in vain and the installation fails.\n\nTo work around this issue cundd_composer will look for the file `cundd_composer.json` instead of `composer.json`. For\nlegacy reasons cundd_composer will still use `composer.json` TYPO3 versions below 6.2.\n\n**Please check the installed extensions before upgrading to TYPO3 6.2.**\n\n\nSponsored by\n============\n\n[![](https://www.iresults.li/typo3conf/ext/client/Resources/Public/Images/logo.svg)](http://www.iresults.li)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcundd%2Fcundd_composer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcundd%2Fcundd_composer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcundd%2Fcundd_composer/lists"}