{"id":15699957,"url":"https://github.com/grasmash/project-browser","last_synced_at":"2025-10-25T18:46:40.184Z","repository":{"id":49968559,"uuid":"373882195","full_name":"grasmash/project-browser","owner":"grasmash","description":"A project browser embedded in the Drupal UI.","archived":false,"fork":false,"pushed_at":"2021-07-13T21:50:38.000Z","size":363,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-12T12:48:51.024Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/grasmash.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-06-04T15:18:55.000Z","updated_at":"2021-08-17T17:25:43.000Z","dependencies_parsed_at":"2022-09-16T09:12:30.574Z","dependency_job_id":null,"html_url":"https://github.com/grasmash/project-browser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grasmash/project-browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grasmash%2Fproject-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grasmash%2Fproject-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grasmash%2Fproject-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grasmash%2Fproject-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grasmash","download_url":"https://codeload.github.com/grasmash/project-browser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grasmash%2Fproject-browser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268197185,"owners_count":24211645,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-10-03T19:43:13.449Z","updated_at":"2025-10-25T18:46:35.160Z","avatar_url":"https://github.com/grasmash.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n## Setup on Acquia Cloud IDE\n\n1. Create your IDE and log in to it:\n      ```bash\n      acli ide:create --label=\"Project Browser\"\n      ```\n2. Suggest that you select \"File =\u003e Open Workspace\" and select `/home/ide` so you can view both the `project-browser` and `project` directories in the same workspace.\n3. Run:\n      ```bash\n      # Download all code.\n      cd /home/ide\n      git clone https://github.com/grasmash/project-browser.git\n      cd project\n      composer create-project acquia/drupal-minimal-project .\n      composer config repositories.project-browser '{\"type\": \"path\", \"url\": \"'../project-browser'\", \"options\": {\"symlink\": true}}'\n      composer require grasmash/drupal-project-browser\n      drush si -y\n   \n      # Enable the module.\n      drush en project_browser claro -y\n      drush cset system.theme admin claro\n      drush uli\n      # visit /admin/modules/browse \n      # visit /drupal-org-proxy/project to see all projects\n      # visit /drupal-org-proxy/project/ctools to see ctools project\n      ```\n\n# Contributing\n\n1. Authenticate the IDE with GitHub:\n      ```bash\n      gh auth login\n      ```\n2. Fork https://github.com/grasmash/project-browser:\n      ```bash\n      gh repo fork grasmash/project-browser\n      ```\n3. Add your fork to the cloned repo in the IDE:\n      ```bash\n      cd /home/ide/project-browser\n      git remote add [your-fork-name] [your-fork-url]\n      git checkout master\n      git branch --set-upstream-to [my-fork-name] master\n      ```\n4. Install Svelte dependencies and start a \"watch\" process~\n      ```bash\n      cd sveltejs\n      npm install\n      npm run dev  \n      ```\n5. Disable Drupal's various caching mechanisms:\n   ```bash\n      # Disable caching for development.\n      chmod 755 docroot/sites/default\n      chmod 755 docroot/sites/default/settings.php\n      cp docroot/sites/example.settings.local.php docroot/sites/default/settings.local.php\n      echo \"if (file_exists(\\$app_root . '/' . \\$site_path . '/settings.local.php')) {\" \u003e\u003e docroot/sites/default/settings.php\n      echo \"    include \\$app_root . '/' . \\$site_path . '/settings.local.php';\" \u003e\u003e docroot/sites/default/settings.php\n      echo \"}\" \u003e\u003e docroot/sites/default/settings.php\n      echo \"\\$settings['cache']['bins']['render'] = 'cache.backend.null';\" \u003e\u003e docroot/sites/default/settings.local.php\n      echo \"\\$settings['cache']['bins']['page'] = 'cache.backend.null';\" \u003e\u003e docroot/sites/default/settings.local.php\n      echo \"\\$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';\" \u003e\u003e docroot/sites/default/settings.local.php\n      drush cset system.logging error_level verbose -y\n   ```\n6. Make your changes and commit:\n    ```bash\n    # Make sure you complile Svelte files into HTML, CSS, and JS.\n    cd sveltejs \u0026\u0026 npm run build\n    git add -A\n    git commit -m \"I did a thing\"\n    gh pr create\n    ```\n\n# Changing the HTML, CSS, or JS files\n\nRun:\n\n```bash\ncd sveltejs\nnpm dev\n```\n\n# Why Svelte?\n\nThis module uses Svelte as a \"frontend\" framework. There are many reasons to choose Svelte, but the primary reason is\nthat it does not require this module (or Drupal Core for that matter) to \"ship\" a frontend framework. Svelte is only \nused during the development process. Before \"shipping,\" the Svelte code is compiled into \"vanilla\" HTML, CSS, and JS.\n\nThis avoids many of the security and deprecation issues that have historically arisen from shipping jQuery with Drupal.\nIt also avoids many of the licensing, performance, and dependency concerns posed by possibility of using frameworks \nlike React or Vue.\n\n## Issues to address:\n\n### Project Browser\n1. Add testing!\n1. Add a lightbox to view multiple project images as full screen carousel\n1. Fire event in DrupalOrgProxy allowing query to be modified before request to D.O.\n1. Fire event in DrupalOrgProxy allowing projects to be modified sending response.\n1. Move project to project_browser module namespace on Drupal.org.\n1. Add a bunch of filters to the project browser as an advanced search option.\n1. Add a \"curated\" or \"suggested\" modules section on top of the full module list.\n1. Add date to release\n\n### Blocked by Drupal.org API:\n1. Filter by core compatibility\n1. Sort by stars\n1. Sort by usage\n1. Allow keyword search (not exact title)\n\n@see https://www.drupal.org/project/infrastructure/issues/3218285\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrasmash%2Fproject-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrasmash%2Fproject-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrasmash%2Fproject-browser/lists"}