{"id":15019951,"url":"https://github.com/entando/entando-bundler","last_synced_at":"2025-10-24T20:32:01.841Z","repository":{"id":39640788,"uuid":"238952179","full_name":"entando/entando-bundler","owner":"entando","description":"A command line interface to interact with Entando Component Repository Bundles","archived":false,"fork":false,"pushed_at":"2023-12-13T08:38:16.000Z","size":19024,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-01-31T04:24:37.504Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"https://docs.entando.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/entando.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-07T15:03:33.000Z","updated_at":"2023-01-31T17:53:37.000Z","dependencies_parsed_at":"2023-07-17T05:52:22.096Z","dependency_job_id":"3b325d9e-2d80-4171-b1ce-14d77db8236e","html_url":"https://github.com/entando/entando-bundler","commit_stats":{"total_commits":182,"total_committers":17,"mean_commits":"10.705882352941176","dds":0.7472527472527473,"last_synced_commit":"f632bfc7eee0b2acc0ff9b471aab0bacf3d78249"},"previous_names":["entando-k8s/entando-bundle-cli"],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entando%2Fentando-bundler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entando%2Fentando-bundler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entando%2Fentando-bundler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entando%2Fentando-bundler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/entando","download_url":"https://codeload.github.com/entando/entando-bundler/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238035385,"owners_count":19405682,"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":["hacktoberfest"],"created_at":"2024-09-24T19:54:22.151Z","updated_at":"2025-10-24T20:31:58.391Z","avatar_url":"https://github.com/entando.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Entando Bundler\n\n## Purpose\nThis application has the purpose of helping with operations regarding Entando Bundles.\n\nIt can be run as an interactive terminal application or as a single command for scripting.\n\nAt this moment, these are the supported functions:\n- Converting an existing Bundle package from a Git repository or NPM registry (deprecated) into a Kubernetes Custom Resource (EntandoDeBundle).\n- Creating a Bundle package based on an existing environment.\n  \nPlease see the [Standard Demo Bundle](https://github.com/entando-samples/standard-demo-bundle) for a full example of a Bundle generated using this tool.\n\n## Install\nTo install this tool globally:\n```\nnpm install -g ./\n```\n\n## Usage\n\nThis tool can be run both as an interactive terminal application ([inquirer.js](https://github.com/SBoudrias/Inquirer.js)) or as a single command for scripting purposes ([commander.js](https://github.com/tj/commander.js)).\n\n`$ entando-bundler` for interactive or `$ entando-bundler \u003ccommand\u003e \u003coptions\u003e` for single command\n\n## Generating Bundles from an existing environment:\nCreate an `env.json` file with the configurations for the environment to extract the components:\n```\n{\n    \"coreBaseApi\": \"http://quickstart-sales-demo.lab.entando.org/entando-de-app\",\n    \"componentManagerApi\": \"http://quickstart-eci-sales-demo.lab.entando.org/digital-exchange\",\n    \"clientId\": \"entando-bundler\",\n    \"clientSecret\": \"\u003cinsert_secret_here\u003e\"\n}\n```\n\nNote:\nthe clientId \"entando-bundler\" should be manually added to the keycloak of the source environment.\n\n### Interactive command:\n```\n$ entando-bundler\n? What do you want to do? Create a new bundle using components from an environment\n? Please select an env.json file with the environment variables: env.json\n? Which type of components do you want to add to the bundle? All components\nCollecting all components from the provided environment...\nCollecting widgets\nCollecting pageModels\nCollecting fragments\nCollecting pages\nCollecting contentTypes\nCollecting contentModels\nCollecting plugins\n? Do you want to generate the Bundle with the selected components? Yes\n? Where do you want to generate the Bundle? ./\n? What's the code for the Bundle? standard-demo-bundle\n? Please add a description to the Bundle: Standard Demo Bundle\nGenerating bundle...\n```\n\n### Single command:\n```\n$ entando-bundler from-env \\\n    --env env.json \\\n    --code standard-demo-bundle \\\n    --description \"Standard Demo Bundle\"\n```\n\nFor more details, please refer to:\n```\nentando-bundler from-env --help\n```\n\n## Generate a Kubernetes Custom Resource (EntandoDeApp) from a git repository:\n```\n$ entando-bundler from-git \\\n\t--thumbnail-file \u003cthumbnail_file_path\u003e \\\n\t--name \u003cbundle_code\u003e \\\n\t--namespace \u003ck8s_namespace\u003e \\\n\t--repository \u003cgit_repository_url\u003e\n\t--dry-run\n```\n\n`--repository` option will clone the repository to `/tmp/tmp-ecr-bundle-repo_\u003cTIMESTAMP\u003e` folder, gather the needed information and will remove the folder.\n\n`descriptor.yaml` is expected to be at the root of the repository.\n\nFor more details, please refer to:\n```\nentando-bundler from-git help\n```\n\n\n### Tag sorting and filtration\n\nCurrently, tags are sorted using semver logic and are filtered out using  `/^v?\\d+\\.\\d+.\\d+/` regex, which would match tags like: `v2.0.0`, `v1.0.12`, `v2.0.1-rc`, etc.\n\n### Thumbnails\n\nThumbnail URLs (`--thumbnail-url` option) have to be surrounded with quotation marks.\n\n## (Deprecated) Generate a Kubernetes Custom Resource (EntandoDeApp) from an npm registry:\n```\nentando-bundler from-npm --help\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentando%2Fentando-bundler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fentando%2Fentando-bundler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentando%2Fentando-bundler/lists"}