Code Monkey home page Code Monkey logo

drupalpod's Introduction

DrupalPod

πŸ‘‰ Start here

1. Download the DrupalPod browser extension
Chrome or Firefox.

2. Go to any issue page on Drupal.org
(core, module, or theme).

3. Click on the DrupalPod extension.

4. (Optional) Choose a patch / issue fork / branch.


πŸŽ‰ A full Drupal development environment is being generated for you πŸŽ‰

Please submit feedback, bug reports and feature requests
DrupalPod logo

About the project

This project allows you to work on Drupal contributions with a familiar setup of a "normal" Drupal website.
No computer is needed because it is all running in the cloud.

  • Install additional packages - ddev composer
  • Run Drush commands - ddev drush <command>
  • Run tests
    • Nightwatch - ddev nightwatch <arguments>
    • PHPUnit - ddev phpunit <arguments>
  • IDE in a browser
    • VScode (default)
    • PHPStorm - run phpstorm

Project structure

  • Every project is cloned into /repos/<project_name>
  • Required by composer
  • Symlinked into a normal Drupal website structure:
    • Core directory /web/core
    • Module directory /web/modules/contrib/module_name
    • Theme directory /web/themes/contrib/theme_name

The secret sauce


Pushing code

* In order to push code, a one time SSH keys setup is required.

From within a Gitpod workspace run:

  1. .gitpod/drupal/ssh/02-setup-private-ssh.sh
    Follow the instructions on the screen.

  2. .gitpod/drupal/ssh/04-confirm-ssh-setup.sh
    If SSH keys are valid, it stores your private SSH key as an environment variable in Gitpod.


Notes

  • Manual SSH setup is a temporary requirement until the Drupal's self-hosted Gitlab gets integrated with Gitpod.

    WIP - making a friendlier interactive dialog.

  • If you prefer working locally - you can clone this repo to your computer.
    The only 2 requirements are Docker and DDEV.


Thank you


DrupalPod-logo

drupalpod's People

Contributors

decipher avatar mradcliffe avatar paul121 avatar shaal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

drupalpod's Issues

Support Drupal core versions that were not released yet

Is your feature request related to a problem? Please describe

Cannot test Drupal 10.0.x, because it wasn't published through Packagist yet (cannot get drupal/core-recommended:^10)

Describe the solution you'd like

For core issues, we can separate DP_MODULE_VERSION (ie. 10.0.x which is fetched from the issue page)
and DP_CORE_VERSION (ie. 9.3.x which is chosen by user, according to what's available through browser extension)

Composer require drupal/core-recommended, can use DP_CORE_VERSION, and symlink repos/drupal of version 10 (through DP_MODULE_VERSION)

Example of an issue - https://www.drupal.org/project/drupal/issues/3251891

DrupalPod browser extension generated URL -
https://gitpod.io/#DP_PROJECT_NAME=drupal,DP_ISSUE_FORK=,DP_ISSUE_BRANCH=,DP_PROJECT_TYPE=project_core,DP_MODULE_VERSION=10.0.x,DP_CORE_VERSION=9.3.x,DP_PATCH_FILE=https%3A%2F%2Fwww.drupal.org%2Ffiles%2Fissues%2F2021-11-30%2F3251891.patch,DP_INSTALL_PROFILE=demo_umami/https://github.com/shaal/drupalpod

Describe alternatives you've considered

Additional context

Move browser extension into DrupalPod repository

Is your feature request related to a problem? Please describe

Follow-up from #27

Describe the solution you'd like

  1. Moves shaal/drupalpod-browser-extension
  2. Adds contribution instructions

Directory structure from shaal:

src
β”œβ”€β”€ browser-extension
β”‚   └── drupalpod-browser-extension
β”‚       β”œβ”€β”€ css
β”‚       β”‚   β”œβ”€β”€ options.css
β”‚       β”‚   └── popup.css
β”‚       β”œβ”€β”€ icons
β”‚       β”‚   β”œβ”€β”€ DrupalPod-128.png
β”‚       β”‚   └── DrupalPod-128x128.png
β”‚       β”œβ”€β”€ LICENSE
β”‚       β”œβ”€β”€ manifest.json
β”‚       β”œβ”€β”€ options.html
β”‚       β”œβ”€β”€ popup.html
β”‚       β”œβ”€β”€ README.md
β”‚       └── scripts
β”‚           β”œβ”€β”€ background.js
β”‚           β”œβ”€β”€ options.js
β”‚           └── popup.js
β”œβ”€β”€ composer
β”‚   └── ComposerScripts.php
└── vscode-extension
    └── drupalpod-ext
        β”œβ”€β”€ CHANGELOG.md
        β”œβ”€β”€ package.json
        β”œβ”€β”€ README.md
        β”œβ”€β”€ src
        β”‚   β”œβ”€β”€ extension.ts
        β”‚   β”œβ”€β”€ help-content.ts
        β”‚   └── test
        β”‚       β”œβ”€β”€ runTest.ts
        β”‚       └── suite
        β”‚           β”œβ”€β”€ extension.test.ts
        β”‚           └── index.ts
        β”œβ”€β”€ tsconfig.json
        └── yarn.lock

Describe alternatives you've considered

Additional context

Try not to allow "none" as a profile choice

Is your feature request related to a problem? Please describe

I skipped over the default "none" profile choice in

And it led to catastrophic results

Describe the solution you'd like

Remove "none", make "demo_umami" or "default" the default profile.

Add `phpcs` command

Is your feature request related to a problem? Please describe

As a module maintainer I want an easy way to lint Drupal coding standards.

Describe the solution you'd like

  • Add PHPCS and setup coding standards
  • Add DDev phpcs command

Describe alternatives you've considered

Additional context

It appears PHPCS is already installed and configured in the Gitpod environment, but not inside of the DDev environment.

The following command can be run:

./vendor/bin/phpcs -s --standard=Drupal,DrupalPractice --extensions=module,php,install,inc,test,info.yml,js repos/[module]

An example command for DDev: .ddev/comands/web/phpcs

#!/bin/bash

## Description: Run PHP_CodeSniffer
## Usage: phpcs [flags] [args]
## Example: "ddev phpcs contrib/module/druxt"

cd web

php ../vendor/bin/phpcs -s --standard=Drupal,DrupalPractice --extensions=module,php,install,inc,test,info.yml,js $@

Add module version

Is your feature request related to a problem? Please describe

Opening an issue of a module that has multiple versions - DrupalPod would git clone only the default module version.

Describe the solution you'd like

Add functionality to the DrupalPod extension - read the module version from the issue page.
Add a variable to DrupalPod that will help switching to the right branch version of the module.

Describe alternatives you've considered

Additional context

Drupal 10.0.x

Describe the bug

When using trying to install Drupal 10.0.x by manually altering the Gitpod URL, the result is a broken codebase with lots of errors.

To Reproduce

https://gitpod.io/#DP_PROJECT_NAME=drupal,DP_ISSUE_FORK=drupal-3257163,DP_ISSUE_BRANCH=feature%2F3257163-drupal_media_bundle,DP_PROJECT_TYPE=project_core,DP_MODULE_VERSION=10.0.x,DP_CORE_VERSION=10.0.x,DP_PATCH_FILE=,DP_INSTALL_PROFILE=standard/https://github.com/shaal/drupalpod

Expected behaviour

A working Drupal 10.0.x development environment.

Screenshots

image

Version and configuration information (please complete the following information)

Additional context

Could be related or resolved by #58

Adding interactivity to the Getting Started page

Is your feature request related to a problem? Please describe

Follow-up from #27

Instead of telling of users how to find something with text we should use links or buttons to open or focus the relevant panel of VS Code.

Describe the solution you'd like

It should be possible to use a messaging pattern to communicate between the extension's panel html and the extension itself.

There's a postMessage method available on window.parent in a WebView DOM, and then the extension can listen for those messages. And vice versa.

The extension can then invoke other parts of VS Code API to open different parts of the site.

Describe alternatives you've considered

Additional context

Add contributing to DrupalPod documentation

Is your feature request related to a problem? Please describe

I find it hard to remember some of the required query parameters on an existing gitpod instance created from a pull request. It would also be nice to have a getting started making a pull request for DrupalPod.

Describe the solution you'd like

Adds a CONTRIBUTING.md file to the repository that documents some helpful commands and gitpod.io query parameters used by DrupalPod like DP_PROJECT_TYPE, GITPOD_HEADLESS, DP_CORE_VERSION, DP_MODULE_VERSION and when to use them.

Describe alternatives you've considered

Additional context

Phpunit not working - prophecy phpunit required when using phpunit 9 or greater

Describe the bug

Phpunit not working on latest 9.3.x version of drupalpod,
running PHPUnit shows the following message:

Drupal requires Prophecy PhpUnit when using PHPUnit 9 or greater. Please use 'composer require --dev phpspec/prophecy-phpunit:^2' to ensure that it is present.
PHP Warning:  Uncaught Error: Object of class UnwindExit could not be converted to string in /var/www/html/web/core/tests/Drupal/Tests/UnitTestCase.php:26

To Reproduce

Start a drupalpod instance on 9.3.x, whenever it starts up, run the following command:
ddev phpunit --group=single_content_sync

Expected behavior

The test runs

Version and configuration information (please complete the following information)

Additional context

Running
ddev composer require --dev phpspec/prophecy-phpunit:^2
Fixes the issue, however it throws the following warning:

Warning:       Your XML configuration validates against a deprecated schema.
Suggestion:    Migrate your XML configuration using "--migrate-configuration"!

Getting Started: Update instructions for making 8080 public

Describe the bug

There's no "Remote Explorer" button anymore. To make a workspace website (8080) public, go to the "Ports" tab.

As such, the "Getting Started" instructions just need a little updating.

<li><span class="emoji">⬅️</span> Press the β€œRemote Explorer” button. It shows the services provided by DrupalPod.

To Reproduce

  • Go to a DrupalPod workspace.
  • Read "Getting Started"
    • TO DO: Add instruction for getting the "Getting Started" panel back after you close it (asked on Slack).
  • Step __ (at the time of writing) references a "Remote Explorer" button that doesn't exist.

Expected behavior

This step should instruct users to go to the Ports tab (adjacent to the Terminal tab).

Screenshots

(N/A)

Version and configuration information (please complete the following information)

Gitpod Code:

  • Version: 1.75.1
  • Commit: bf0d1408929f95d8ca80beed95f0aacd43dc589d
  • Date: 2023-02-09T23:53:03.731Z (1 wk ago)
  • Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0

Additional context

(N/A)

Running Composer commands - revert patched files (when working on Drupal core)

Describe the bug

After starting DrupalPod instance, based on a Drupal core issue -
running a Composer command (ie. ddev composer require drupal/gin) - resets web/index.php.

To Reproduce

Start DrupalPod based on Drupal core issue, example -
https://gitpod.io/#DP_PROJECT_NAME=drupal,DP_ISSUE_FORK=,DP_ISSUE_BRANCH=,DP_PROJECT_TYPE=project_core,DP_MODULE_VERSION=9.4.x,DP_CORE_VERSION=9.3.x,DP_PATCH_FILE=https%3A%2F%2Fwww.drupal.org%2Ffiles%2Fissues%2F2020-10-19%2F3114813-21.patch,DP_INSTALL_PROFILE=standard/https://github.com/shaal/drupalpod

(You should see standard profile installed)

Run ddev composer require drupal/gin
Open the Drupal website, you will see installation screen (even that the website was just installed and configured already)

Expected behavior

Users should be able to run composer commands without interrupting the flow of development.

Screenshots

Version and configuration information (please complete the following information)

  • Issue page
  • Issue branch
  • Drupal core version
  • Project type
  • Core
  • Module
  • Theme

Additional context

DrupalPod is using @joachim's core-development project (https://github.com/joachim-n/drupal-core-development-project) for Drupal core issues.
It includes patching of web/index.php, web/update.php and Drush.

Direction to solve the issue -
instead of manually patching the files, add the required patching as part of composer.json, every time composer runs it will repatch the files as expected.

Gitpod Start tasks are running again when restarting a workspace

Describe the bug

When a DrupalPod workspace gets restarted after it got timed-out, the same starter tasks in .gitpod.yml are running again, cloning git, fetching branches and apply patches. These commands would override someone's work 😨

I realized that in DrupalPod's .gitpod.yml the commands that run to set up a branch and apply the patches, by mistake also running after a workspace timeout and get restarted. (oops)
I don't think Gitpod has a differentiation between commands that run on new workspace vs. a workspace that got restarted. Anyone has creative ideas? Perhaps saving a file /workspace/initiated and if that file exists - skip these commands?

To Reproduce

  1. Use the DrupalPod extension, to start a workspace that has branches and/or patches.
  2. Stop the workspace
  3. Start the workspace
  4. Notice that the same commands that ran to initiate the workspace, are running again.

Expected behavior

After a workspace was initiated, it should never run these commands automatically again (when the workspace gets restarted)

Screenshots

Version and configuration information (please complete the following information)

  • Issue page
  • Issue branch
  • Drupal core version
  • Project type
  • Core
  • Module
  • Theme

Additional context

Create a training issue on drupal.org that has specific instructions (that work)

Is your feature request related to a problem? Please describe

I wanted to test Drupalpod, but it seemed no matter what issue I chose I got something like:

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.
Failed to execute command composer require drush/drush:^11.0 drupal/coder:^8.3 drupal/devel:^5  --no-install: exit status 2

I know this is probably my lack of understanding, or choosing the wrong options.

Describe the solution you'd like

Create a simple neutral issue on drupal.org that will absolutely work for Drupalpod first-timers.

Explain in the issue exactly what to do for the simplest case.

Consider adding some issue forks to it that have careful instructions.

Clicking just the big drupalpod icon is unsuccessful "Your docker-compose version does not exist or is set to an invalid version"

Is there an existing issue for this?

  • I have searched the existing issues

Output of ddev debug test

Expand `ddev debug test` diagnostic information
[COPY-PASTE HERE THE OUTPUT OF `ddev debug test`]

Expected Behavior

Clicking the big drupalod icon should do a basic install

Actual Behavior

Could not open a connection to your authentication agent.
.gitpod/drupal/drupalpod-setup.sh: line 15: export: `': not a valid identifier

 TIP OF THE DAY                                                              
 Try `ddev share` so collaborators anywhere can see your current project.    
 https://ddev.readthedocs.io/en/latest/users/topics/sharing/                 
 
Starting DrupalPod... 
Downloading https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-linux-x86_64 ... 
docker-compose 0 B / 56.78 MiB [---------------------------------------]   0.00%Starting DrupalPod... 
Downloading https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-linux-x86_64 ... 
docker-compose 56.78 MiB / 56.78 MiB [==============================] 100.00% 0s
Download complete. 
Your docker-compose version does not exist or is set to an invalid version.
Please use the built-in docker-compose.
Fix with 'ddev config global --required-docker-compose-version="" --use-docker-compose-from-path=false': fork/exec /home/gitpod/.ddev/bin/docker-compose: text file busy 
Download complete. 
gitpod /workspace/DrupalPod (main) $  Container ddev-ssh-agent  Recreate 
 Container ddev-ssh-agent  Recreated 
 Container ddev-ssh-agent  Started 
ssh-agent container is running: If you want to add authentication to the ssh-agent container, run 'ddev auth ssh' to enable your keys. 
 Container ddev-DrupalPod-db  Recreate 
 Container ddev-DrupalPod-chromedriver  Created 
 Container ddev-DrupalPod-web  Recreate 
 Container ddev-DrupalPod-db  Recreated 
 Container ddev-DrupalPod-web  Recreated 
 Container ddev-DrupalPod-chromedriver  Started 
 Container ddev-DrupalPod-db  Started 
 Container ddev-DrupalPod-web  Started 
Successfully started DrupalPod 
Project can be reached at https://8080-shaal-drupalpod-82ck6dkbmqk.ws-us105.gitpod.io 

There seem to be a set of errors there.

Steps To Reproduce

I clicked the big drupalpod icon using the ddltest github user (and gitpod user)

Full output: https://gist.github.com/rfay/d0a9c1e35266696bbd2dbd3136cfda1c

The full output showed that something went wrong with the docker-compose installation.

There was no composer.json in the root of the repo.

Final result was this:

image

Anything else?

No response

Failed basic installation

Describe the bug

To test the latest Drupalpod I tried using an issue and got

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - drush/drush 11.0.0-rc1 requires chi-teck/drupal-code-generator ^2.2 -> found chi-teck/drupal-code-generator[2.2.0, ..., 2.x-dev] but the package is fixed to 3.2.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - drush/drush[11.0.0-rc2, ..., 11.0.1] require chi-teck/drupal-code-generator ^2.3 -> found chi-teck/drupal-code-generator[2.3.0, ..., 2.x-dev] but the package is fixed to 3.2.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - drush/drush[11.0.2, ..., 11.x-dev] require chi-teck/drupal-code-generator ^2.4 -> found chi-teck/drupal-code-generator[2.4.0, ..., 2.x-dev] but the package is fixed to 3.2.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - Root composer.json requires drush/drush ^11.0 -> satisfiable by drush/drush[11.0.0-rc1, ..., 11.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require drupal/devel:*" to figure out if any version is installable, or "composer require drupal/devel:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.
Failed to execute command composer require drush/drush:^11.0 drupal/coder:^8.3 drupal/devel  --no-install: exit status 2

Later,

Config value "installed_paths" updated successfully; old value was "../../drupal/coder/coder_sniffer,../../sirbrillig/phpcs-variable-analysis,../../slevomat/coding-standard"
PHP Fatal error:  Class Drush\Commands\core_development\DevelopmentProjectCommands cannot extend final class Drush\Commands\core\CacheCommands in /var/www/html/drush/Commands/core_development/DevelopmentProjectCommands.php on line 0

Fatal error: Class Drush\Commands\core_development\DevelopmentProjectCommands cannot extend final class Drush\Commands\core\CacheCommands in /var/www/html/drush/Commands/core_development/DevelopmentProjectCommands.php on line 0
 [warning] Drush command terminated abnormally.
Failed to run drush updb -y: exit status 1

To Reproduce

Use Drupalpod on https://www.drupal.org/project/drupal/issues/3284961

image

Expected behavior

Install successfully

Screenshots

Many failures, per above

Version and configuration information (please complete the following information)

Additional context

Related: Please provide a "safe" issue for testing.

FR: Dynamically set workspace name

Is your feature request related to a problem? Please describe

When viewing my Gitpod Dashboard, or using the Gitpod extension for VSCode, workspaces are listed as shaal/DrupalPod
I do alot of Drupal patch/MR testing and this makes it difficult to remember which workspace is which.

gitpod names

Describe the solution you'd like

It would be nice to dynamically set the workspace name to something more meaningful. Some examples:

  • shaal/drupalpod {module name}
  • shaal/drupalpod {module name}/{patch number}
  • shaal/drupalpod {module name}/{MR branch number}

It's open for discussion which is best, but something would be more useful.

Describe alternatives you've considered

I can manually change the name on Gitpod Dashboard:

gitpod names - manual

Ideally, this should be set dynamically when DrupalPod creates a new workspace instance.

Additional context

Inject a new DrupalPod button inside issue pages

Is your feature request related to a problem? Please describe

It's not so intuitive to go to an issue page, and then find the extension icon (which by default is hidden in Chrome)

Describe the solution you'd like

Similar to how dreditor adds buttons in the issue page, add DrupalPod button.

image

border-radius: 1em;
padding: 3px 5px;
background-color: #063e70;
border: 0;
margin: 0;
margin-left: 1em;
box-shadow: 0 0px 2px rgb(0 0 0 / 50%);

Describe alternatives you've considered

Additional context

Listed branches should include MR numbers if present

Is your feature request related to a problem? Please describe

I was recently reviewing an issue that was hundreds of comments long and had two current MRs (for different versions of Drupal). When I clicked the extension button and read the list of branches, none of the ones listed seemed to correspond to the two MRs, because all I could see (in the comments at the bottom of a long comment thread) were the MR numbers.

Subsequently I realized that if I scrolled to the top of the issue I could see which branch names the MR numbers corresponded to. But this a) took some discovery and was not obvious, b) introduces friction especially on a long comment thread, and c) introduces the potential for error if there are multiple simultaneous MRs (as there were in this case) along with outdated MRs, each with different names.

Describe the solution you'd like

Prepend or append the MR number to the name of each branch listed. I also might suggest adding the term "MR" or "merge request" somewhere alongside "branch", as initially I wasn't even sure if that was where I should look for the MRs.

Describe alternatives you've considered

Listing MR numbers instead of names, which would be fine for reviewing but might make it harder if one were running git commands locally when actually working on an issue. So I think having both listed is better.

Additional context

This was the issue in question: https://www.drupal.org/project/drupal/issues/3085219

A third branch is also listed in the issue drop-down, named "undefined". I'm not sure what that is (there are two old branches/MRs, but they both have names).

Provide a working DrupalPod workspace much faster

Is your feature request related to a problem? Please describe

Opening a workspace in DrupalPod doesn't take advantage of prebuilds. Each workspace builds a Drupal project from scratch, which can take ages (a couple of minutes) 😒

Describe the solution you'd like

Prepare ready-made environments for each of the Drupal supported versions ahead of time, during prebuild.
(Currently: 8.9.x, 8.9.19, 9.2.x, 9.1.13, 9.2.6, 10.0.x)

Use the 'ddev snapshotfeature during prebuild to save the database for each installation, andddev snapshot restore` when running a new workspace.

Add an option in browser extension, for issues that are specifically related to Drupal installation (ie. demo_umami core profile), to skip the fast option, and reinstall from scratch.

How fast is it going to be?
The current DrupalPod repo, when launched with no URL params, has Umami preinstalled.
Take it for a spin with the following link - https://gitpod.io/#https://github.com/shaal/DrupalPod

Describe alternatives you've considered

Additional context

Related feature request -
Gitpod prebuilds should not cause downtime to open new workspaces - gitpod-io/gitpod#5941

Prebuild fails to run for some users

Describe the bug

When using DrupalPod, it states it can't find a project, installs the project files then says can't find project and install the project then says ....

Looking through terminal output, the below catches my eye:

mc: <ERROR> Unable to stat `gcs/drupalpod/main/ready-made-envs.tar.gz`. Insufficient permissions to access this file `https://storage.googleapis.com/drupalpod/main/ready-made-envs.tar.gz`.
mc: <ERROR> Unable to stat `gcs/drupalpod/main/ready-made-envs.tar.gz`. Insufficient permissions to access this file `https://storage.googleapis.com/drupalpod/main/ready-made-envs.tar.gz`.

To Reproduce

  1. Visit https://www.drupal.org/project/drupal/issues/3178202
  2. Click DrupalPod extension
  3. Enter the following:

render-block

  1. Accept Gitpod default.
  2. Watch terminal ....
...
 [success] Successfully enabled: devel
 [success] Successfully installed theme: claro
You have specified a project type of drupal9 but no project of that type is found in /workspace/ready-made-envs/10.0.0/web
Warning: MOST EXISTING CONTENT in the composer root (/workspace/ready-made-envs/10.0.0) will be deleted by the composer create-project operation. Only .ddev, .git and .tarballs will be preserved.
Removing any existing files in composer root
Creating a "drupal/recommended-project:~10.0.0" project at "/tmp/oyTKvA"
Installing drupal/recommended-project (10.0.10)
...

Expected behavior

GipodPod installs Drupal with patch.

Version and configuration information (please complete the following information)

Additional context

Composer version out of date

Describe the bug

The current version of composer installed is out of date, so if the image is re-generated at any point it will fail due to an incorrect hash.

To Reproduce

Attempt to regenerate the image from the Dockerfile

Expected behavior

Verification should pass

Screenshots

image

Version and configuration information (please complete the following information)

N/A

Additional context

https://getcomposer.org/download/

Database errors testing patch on Drupal 10.0.1

Describe the bug

I was testing some Drupal 10 readiness patches today and was sometimes was getting the following error.

Notice: running 'php vendor/bin/phpcs --config-set installed_paths vendor/drupal/coder/coder_sniffer' in ddev
Using config file: /var/www/html/vendor/squizlabs/php_codesniffer/CodeSniffer.conf

Config value "installed_paths" updated successfully; old value was "../../drupal/coder/coder_sniffer,../../sirbrillig/phpcs-variable-analysis,../../slevomat/coding-standard"

                                                                                                                                                                             
  Command pm:install was not found. Drush was unable to query the database. As a result, many commands are unavailable. Re-run your command with --debug to see relevant lo  
  g messages.                                                                                                                                                                
                                                                                                                                                                             

Failed to run drush en -y rename_admin_paths: exit status 1
Creating database snapshot drupalpod_20221114085254 
Created database snapshot drupalpod_20221114085254 
Your database state was locally saved, you can revert to it by typing:
ddev snapshot restore --latest
drupalpod-setup.sh script ran for 87 seconds

When the browser pops up, it showed the Drupal setup wizard.
I tried different modules , but it seems to happen

To Reproduce

  1. Visit https://www.drupal.org/project/rename_admin_paths/issues/3297951
  2. Click DrupalPod extension and adjust following settings
  • Drupal Core = 10.0x
  • Patch = 2022-0816.... (top non-empty)
  • Install profile = Standard

d10

The error did not display when Drupal Core 10.1.x

Expected behavior

  • Database intialized and without errors
  • "Standard" profile configured for Drupal 10.0
  • Smart browser open to "Welcome page"

Screenshots

Version and configuration information (please complete the following information)

  • Issue page
  • Issue branch
  • Drupal core version
  • Project type
  • Core
  • Module
  • Theme

Additional context

Explicitly state login and password

Is your feature request related to a problem? Please describe

Could the interface explicitly say what login and password to use? I guessed it on the first try, but it would be better if people using it for the first time didn't have to guess.

Describe the solution you'd like

In the "Getting Started with DrupalPod" section of the Contribution Guide pane, explicitly state how to log in.

Describe alternatives you've considered

Additional context

Cannot use user's git authentication inside ddev container

Describe the bug

When running git commands in Gitpod, Gitpod uses /usr/bin/gp credential-helper command to get authorization.
When running git commands inside ddev container, gp credential-helper is not available.

This issue becomes obvious when fetching github repo through composer inside ddev container (see steps to reproduce)
Or when git clone a private repo inside ddev container.

To Reproduce

  1. Open DrupalPod workspace in Gitpod
  2. Follow https://github.com/zolhorvath/cd_tools instructions:
    1. Type in terminal:
    2. composer config repositories.'zolhorvath/cd_tools' github https://github.com/zolhorvath/cd_tools.git
    3. composer require zolhorvath/cd_tools

You'll see the following error:

GitHub API limit (0 calls/hr) is exhausted, could not fetch https://api.github.com/repos/zolhorvath/cd_tools/contents/composer.json?ref=123456789012345678901234567890. Create a GitHub OAuth token to go over the API rate limit. You can also wait until ? for the rate limit to reset.

When working with _public_ GitHub repositories only, head to https://github.com/settings/tokens/new?scopes=&description=Composer+on+drupalpod-web+2022-04-29+0117 to retrieve a token.
This token will have read-only permission for public information only.
When you need to access _private_ GitHub repositories as well, go to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+drupalpod-web+2022-04-29+0117
Note that such tokens have broad read/write permissions on your behalf, even if not needed by Composer.
Tokens will be stored in plain text in "/home/gitpod/.composer/auth.json" for future use by Composer.
For additional information, check https://getcomposer.org/doc/articles/authentication-for-private-packages.md#github-oauth
Token (hidden): 

Expected behavior

I'd like to run git commands in container with same access as I get in Gitpod.
This will also block private repos.

Screenshots

Version and configuration information (please complete the following information)

  • Issue page
  • Issue branch
  • Drupal core version
  • Project type
  • Core
  • Module
  • Theme

Additional context

~/.gitconfig includes:

[push]
        default = simple
[credential]
        helper = /usr/bin/gp credential-helper

This PR is trying to solve a similar issue - gitpod-io/gitpod#8228

Instructions for opening Drupal could be simpler

Is your feature request related to a problem? Please describe

In the "Getting Started with DrupalPod" section of the Contribution Guide pane, step 4 says to open the Remote Explorer button, which isn't labelled by default, so a new user has to search the interface, and if they guess it's one of the icons on the left, they have to hover over them to see which one is the remote explorer. Even after opening that, it lists ports, and none of them has the globe icon the instructions say to click.

Describe the solution you'd like

The DrupalPod interface by default includes a Simple Browser pane, which includes a link in the top right to launch the site in a new tab. It would be much easier for users to locate and use that.

Describe alternatives you've considered

Additional context

Missing logo for VScode extention

Describe the bug

While working with DrupalPod, I noticed that the logo is not present.
At first I thought it was just a "plain" logo (sorry 😒 ) but after scrolling down, I noticed that some other extensions also had the same logo.

To Reproduce

  • Load a DrupalPod session
  • Open extensions sidebar and scroll down to DrupalPod (extentions are listed alphabetically)

Expected behavior

  • Anything other then the default.

Screenshots

missing_logo

Version and configuration information (please complete the following information)

Extension reports itself as 0.0.2

Additional context

  • it does not appear to affect functionallity
  • there have been several Gitpod-related issues with installing extensions so it might be a caching issue, completely unrelated to this repo.

Scripting bugs: `export: `': not a valid identifier`

Describe the bug

Doing the (apparently successful) procedure described in

I see these in the output:

.gitpod/utils/set-base-environment.sh: line 7: export: ': not a valid identifier`

.gitpod/drupal/drupalpod-setup.sh: line 15: export: ': not a valid identifier`

Full output at https://gist.github.com/rfay/3a29000e96f3e87459a2792603ac3376

To Reproduce

I'm pretty sure this is happening all the time.

What I did was use a new github/gitpod account called drud-monitoring-machine account and went through the procedure in #124

Expected behavior

No errors or complaints

Add additional packages/modules/themes at build time by selecting with browser extension.

Is your feature request related to a problem? Please describe

Some issues are related to multiple projects interacting with each other or may have undefined dependencies (those not in composer.json). These additional modules/themes would need to be installed at the same time to fully work on the issue.

Describe the solution you'd like

One option. In the extension, you should allow selecting additional drupal projects/packages to install along with it.

Describe alternatives you've considered

Instruct users to use the terminal to add the additional packages using composer.

Additional context

This may be implemented in a similar way that https://simplytest.me/ allows you to select additional modules/themes.
Evaluate_Drupal_projects_online___simplytest_me

Composer requirement error using Drupal 10

Describe the bug

During the workspace spinning up I get this error

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires drupal/devel ^4.1 -> satisfiable by drupal/devel[4.1.0, ..., 4.x-dev].
    - drupal/devel[4.1.0, ..., 4.x-dev] require drupal/core ^8.8 || ^9 -> found drupal/core[8.8.0-alpha1, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.5.x-dev] but the package is fixed to 10.0.0-alpha6 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.
composer [require drush/drush:^11.0 drupal/coder:^8.3 drupal/devel:^4.1 drupal/admin_toolbar:^3.1] failed, composer command failed: exit status 2. stderr=

To Reproduce

Use DrupalPod Chrome extension to generate the workspace for working on a contrib module issue regarding Drupal 10.

Expected behavior

No composer requirement errors.

Screenshots

Screenshot 2022-09-09 at 15 20 33

Version and configuration information (please complete the following information)

Add support for D7 upgrade projects

Is your feature request related to a problem? Please describe

As a module maintainer I want to be able to start a DrupalPod from a D7 project with a D9 install so that I can upgrade the D7 module and test it in the D9 site.

Describe the solution you'd like

If a D7 project is used to start the DrupalPod, don't download it via Composer. Setup D9 and then download the D7 codebase via Git and symlink it in place.

Describe alternatives you've considered

Additional context

Open in DrupalPod badge

Is your feature request related to a problem? Please describe

As a project maintainer I want to add a "Open in DrupalPod" badge to my project pages

Describe the solution you'd like

  • Create an official badge to be used by the community
  • Make a basic website to allow users to craft the Badge and URL for their projects

Describe alternatives you've considered

Add support for Project pages to the DrupalPod browser extension, instead of just Issue pages

Additional context

image

Fails failed to StartContainer: API error (500): With no Install Profile selected

Describe the bug

On Open Dev Env in Drupalpod extension... Environment starts to build with error in terminal.

Failed to start drupalpod: failed to StartContainer: API error (500): OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: rootfs_linux.go:60: mounting "proc" to rootfs at "/proc" caused: operation not permitted: unknown

To Reproduce

On a Drupal.org issue, proceed to the Drupalpod extension. Fill out Drupalpod selections and DO NOT include a selection for Install profile.

Using the following example worked

Screen Shot 2021-08-26 at 1 02 53 PM

Version and configuration information (please complete the following information)

Additional context

Having an Install Profile as default (Standard?) would solve this problem.

Can the text above the drop downs be changed to "Select from the options below (Required):"

A future "nice to have" would be configuration to select a preferred install profile.

Run DrupalPod locally

Is your feature request related to a problem? Please describe

Users would sometimes prefer not using Gitpod, and work locally instead.

Describe the solution you'd like

Users who don't want to use Gitpod, can git clone DrupalPod, and thanks to ddev - run the project locally.

  • follow up with adding this feature to the browser extension

Describe alternatives you've considered

Additional context

Include Node JS and/or NVM in the container

Is your feature request related to a problem? Please describe

Doing core development on Olivero/Claro requires a build step that runs a node process. Right now, there's no node js installed in the container

Describe the solution you'd like

Install node v16 (matching Drupal's core requirement) and nvm to allow users to install their own versions easily. Also, since core uses yarn scripts, we should do a global install of yarn.

Add initial .idea settings

Is your feature request related to a problem? Please describe

Make it easier to setup PhpStorm with default .idea values

Describe the solution you'd like

Configure PhpStorm manually, then add and commit .idea

Configs

workspace.xml

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="912fb886-77c8-42e9-b473-58f181510936" name="Default Changelist" comment="">
      <change beforePath="$PROJECT_DIR$/composer.json" beforeDir="false" afterPath="$PROJECT_DIR$/composer.json" afterDir="false" />
    </list>
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="ComposerSettings">
    <execution />
  </component>
  <component name="Git.Settings">
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="PhpWorkspaceProjectConfiguration" interpreter_name="drud/ddev-webserver:v1.17.7-drupalpod-built" />
  <component name="ProjectId" id="1vihTL6IsFq2c3A2SQnz7ickazG" />
  <component name="ProjectViewState">
    <option name="hideEmptyMiddlePackages" value="true" />
    <option name="showLibraryContents" value="true" />
  </component>
  <component name="PropertiesComponent">
    <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
    <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
    <property name="WebServerToolWindowFactoryState" value="false" />
    <property name="credentialsType com.jetbrains.php.remote.interpreter.ui.PhpCreateRemoteSdkForm" value="Docker" />
    <property name="credentialsType com.jetbrains.php.remote.interpreter.ui.PhpInplaceEditRemoteSdkForm" value="Docker" />
    <property name="last_opened_file_path" value="$PROJECT_DIR$/.ddev/.ddev-docker-compose-full.yaml" />
    <property name="settings.editor.selected.configurable" value="reference.webide.settings.project.settings.php" />
    <property name="vue.rearranger.settings.migration" value="true" />
  </component>
  <component name="TaskManager">
    <task active="true" id="Default" summary="Default task">
      <changelist id="912fb886-77c8-42e9-b473-58f181510936" name="Default Changelist" comment="" />
      <created>1627050824772</created>
      <option name="number" value="Default" />
      <option name="presentableId" value="Default" />
      <updated>1627050824772</updated>
      <workItem from="1627050828174" duration="237000" />
    </task>
    <servers />
  </component>
  <component name="XSLT-Support.FileAssociations.UIState">
    <expand />
    <select />
  </component>
</project>

php.xml

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="PhpInterpreters">
    <interpreters>
      <interpreter id="9e50a347-b670-4c5f-818b-74ff70c5d0e4" name="drud/ddev-webserver:v1.17.7-drupalpod-built" home="docker://DATA" debugger_id="php.debugger.XDebug">
        <remote_data INTERPRETER_PATH="php" HELPERS_PATH="/opt/.phpstorm_helpers" INITIALIZED="false" VALID="true" RUN_AS_ROOT_VIA_SUDO="false" DOCKER_ACCOUNT_NAME="Docker" DOCKER_IMAGE_NAME="drud/ddev-webserver:v1.17.7-drupalpod-built" DOCKER_REMOTE_PROJECT_PATH="/opt/project" />
      </interpreter>
    </interpreters>
  </component>
  <component name="PhpInterpretersPhpInfoCache">
    <phpInfoCache>
      <interpreter name="drud/ddev-webserver:v1.17.7-drupalpod-built">
        <phpinfo binary_type="PHP" php_cli="/usr/bin/php7.4" path_separator=":" version="7.4.20">
          <additional_php_ini>/etc/php/7.4/cli/conf.d/10-mysqlnd.ini, /etc/php/7.4/cli/conf.d/10-opcache.ini, /etc/php/7.4/cli/conf.d/10-pdo.ini, /etc/php/7.4/cli/conf.d/15-xml.ini, /etc/php/7.4/cli/conf.d/20-apcu.ini, /etc/php/7.4/cli/conf.d/20-bcmath.ini, /etc/php/7.4/cli/conf.d/20-bz2.ini, /etc/php/7.4/cli/conf.d/20-calendar.ini, /etc/php/7.4/cli/conf.d/20-ctype.ini, /etc/php/7.4/cli/conf.d/20-curl.ini, /etc/php/7.4/cli/conf.d/20-dom.ini, /etc/php/7.4/cli/conf.d/20-exif.ini, /etc/php/7.4/cli/conf.d/20-ffi.ini, /etc/php/7.4/cli/conf.d/20-fileinfo.ini, /etc/php/7.4/cli/conf.d/20-ftp.ini, /etc/php/7.4/cli/conf.d/20-gd.ini, /etc/php/7.4/cli/conf.d/20-gettext.ini, /etc/php/7.4/cli/conf.d/20-iconv.ini, /etc/php/7.4/cli/conf.d/20-igbinary.ini, /etc/php/7.4/cli/conf.d/20-imagick.ini, /etc/php/7.4/cli/conf.d/20-intl.ini, /etc/php/7.4/cli/conf.d/20-json.ini, /etc/php/7.4/cli/conf.d/20-ldap.ini, /etc/php/7.4/cli/conf.d/20-mbstring.ini, /etc/php/7.4/cli/conf.d/20-msgpack.ini, /etc/php/7.4/cli/conf.d/20-mysqli.ini, /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.4/cli/conf.d/20-pdo_pgsql.ini, /etc/php/7.4/cli/conf.d/20-pdo_sqlite.ini, /etc/php/7.4/cli/conf.d/20-pgsql.ini, /etc/php/7.4/cli/conf.d/20-phar.ini, /etc/php/7.4/cli/conf.d/20-posix.ini, /etc/php/7.4/cli/conf.d/20-readline.ini, /etc/php/7.4/cli/conf.d/20-redis.ini, /etc/php/7.4/cli/conf.d/20-shmop.ini, /etc/php/7.4/cli/conf.d/20-simplexml.ini, /etc/php/7.4/cli/conf.d/20-soap.ini, /etc/php/7.4/cli/conf.d/20-sockets.ini, /etc/php/7.4/cli/conf.d/20-sqlite3.ini, /etc/php/7.4/cli/conf.d/20-sysvmsg.ini, /etc/php/7.4/cli/conf.d/20-sysvsem.ini, /etc/php/7.4/cli/conf.d/20-sysvshm.ini, /etc/php/7.4/cli/conf.d/20-tokenizer.ini, /etc/php/7.4/cli/conf.d/20-uploadprogress.ini, /etc/php/7.4/cli/conf.d/20-xdebug.ini, /etc/php/7.4/cli/conf.d/20-xmlreader.ini, /etc/php/7.4/cli/conf.d/20-xmlrpc.ini, /etc/php/7.4/cli/conf.d/20-xmlwriter.ini, /etc/php/7.4/cli/conf.d/20-xsl.ini, /etc/php/7.4/cli/conf.d/20-zip.ini, /etc/php/7.4/cli/conf.d/25-apcu_bc.ini, /etc/php/7.4/cli/conf.d/25-memcached.ini</additional_php_ini>
          <configuration_file>/etc/php/7.4/cli/php.ini</configuration_file>
          <configuration_options>
            <configuration_option name="include_path" value=".:/usr/share/php" />
          </configuration_options>
          <debuggers>
            <debugger_info debugger="xdebug" debugger_version="3.0.4">
              <debug_extensions />
            </debugger_info>
          </debuggers>
          <loaded_extensions>
            <extension name="Core" />
            <extension name="FFI" />
            <extension name="PDO" />
            <extension name="Phar" />
            <extension name="Reflection" />
            <extension name="SPL" />
            <extension name="SimpleXML" />
            <extension name="Zend OPcache" />
            <extension name="apc" />
            <extension name="apcu" />
            <extension name="bcmath" />
            <extension name="bz2" />
            <extension name="calendar" />
            <extension name="ctype" />
            <extension name="curl" />
            <extension name="date" />
            <extension name="dom" />
            <extension name="exif" />
            <extension name="fileinfo" />
            <extension name="filter" />
            <extension name="ftp" />
            <extension name="gd" />
            <extension name="gettext" />
            <extension name="hash" />
            <extension name="iconv" />
            <extension name="igbinary" />
            <extension name="imagick" />
            <extension name="intl" />
            <extension name="json" />
            <extension name="ldap" />
            <extension name="libxml" />
            <extension name="mbstring" />
            <extension name="memcached" />
            <extension name="msgpack" />
            <extension name="mysqli" />
            <extension name="mysqlnd" />
            <extension name="openssl" />
            <extension name="pcntl" />
            <extension name="pcre" />
            <extension name="pdo_mysql" />
            <extension name="pdo_pgsql" />
            <extension name="pdo_sqlite" />
            <extension name="pgsql" />
            <extension name="posix" />
            <extension name="readline" />
            <extension name="redis" />
            <extension name="session" />
            <extension name="shmop" />
            <extension name="soap" />
            <extension name="sockets" />
            <extension name="sodium" />
            <extension name="sqlite3" />
            <extension name="standard" />
            <extension name="sysvmsg" />
            <extension name="sysvsem" />
            <extension name="sysvshm" />
            <extension name="tokenizer" />
            <extension name="uploadprogress" />
            <extension name="xdebug" />
            <extension name="xml" />
            <extension name="xmlreader" />
            <extension name="xmlrpc" />
            <extension name="xmlwriter" />
            <extension name="xsl" />
            <extension name="zip" />
            <extension name="zlib" />
          </loaded_extensions>
        </phpinfo>
      </interpreter>
    </phpInfoCache>
  </component>
  <component name="PhpProjectSharedConfiguration" php_language_level="7.4" />
</project>

php-docker-settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="PhpDockerContainerSettings">
    <list>
      <map>
        <entry key="9e50a347-b670-4c5f-818b-74ff70c5d0e4">
          <value>
            <DockerContainerSettings>
              <option name="version" value="1" />
              <option name="volumeBindings">
                <list>
                  <DockerVolumeBindingImpl>
                    <option name="containerPath" value="/opt/project" />
                    <option name="hostPath" value="$PROJECT_DIR$" />
                  </DockerVolumeBindingImpl>
                </list>
              </option>
            </DockerContainerSettings>
          </value>
        </entry>
      </map>
    </list>
  </component>
</project>

Add alternative to DrupalPod browser extension (JavaScript on Github pages and/or in a bookmarklet)

Is your feature request related to a problem? Please describe

Some users have tablets, or computers without an option to install extensions so they cannot benefit from some of DrupalPod automation.

Describe the solution you'd like

Add JavaScript code on a public page (Github Pages?), that mimics the interface of DrupalPod Browser Extension, or alternatively find out if a bookmarklet can include the extension's functionality.

Describe alternatives you've considered

Additional context

Allow working on Drupal core with simple setup

Is your feature request related to a problem? Please describe

Currently, the only way to work on Drupal core in DrupalPod, is using the special composer.json setup.
But that causes other issues (no drush cr), and other quirks.
Working with the special composer.json setup, should be reserved for specific scenarios only.

Perhaps #46 is going to fix this.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Add Drupal-related VSCode extensions and settings

Is your feature request related to a problem? Please describe

Working on Drupal code without supporting extensions and settings of VScode is degrading the developer experience.

Describe the solution you'd like

Use the link below to add recommended extensions in .gitpod.yml file and recommended settings into ./vscode directory.
https://www.drupal.org/docs/develop/development-tools/configuring-visual-studio-code

Describe alternatives you've considered

Additional context

VSCode teminal text displays weirdly in Firefox

Describe the bug

This is a gitpod issue that can be resolved by adding 2 lines of config to vscode settings

To Reproduce

Expected behavior

Screenshots

Version and configuration information (please complete the following information)

  • Issue page
  • Issue branch
  • Drupal core version
  • Project type
  • Core
  • Module
  • Theme

Additional context

Make it easier for a user to start up a plain core Drupal instance

Is your feature request related to a problem? Please describe

As an evaluator of Drupal (or an experienced dev looking for a porcelain environment) I want to be able to spin up a patchless release of the current release of Drupal.

Currently, DrupalPod states:

Open an issue page on Drupal.org to see the available options.

but I don't want to open an issue just to get an environment, and asking new users to "find an issue" might be daunting.

A screenshot of the DrupalPod browser extension

Describe the solution you'd like

On the "open an issue page" screen, add some text like "... or start from Drupal core." where the link takes the user to an install with the current Drupal core release and some sensible defaults:

  • branch: none
  • patch: none
  • core version: current release
  • install profile: ??? (I'd suggest standard or umami)

A screenshot of the DrupalPod browser extension with the suggested text.

Describe alternatives you've considered

Alternatively, we could add a link to some placeholder issue where users can go?

Additional context

That's it. Thanks!

phpcs document formatter throws missing file Error

Describe the bug

Running the Format document command with default wongjn Php sniffer extension in any php file throws ERROR: The specified bootstrap file "/workspace/.vscode-remote/extensions/wongjn.php-sniffer-1.3.0/lib/files.php" does not exist

To Reproduce

  • Go to web/modules/contrib/admin_toolbar/admin_toolbar_tools/admin_toolbar_tools.module
  • Choose Format document option after right click
  • Observe missing file error

Expected behavior

Document is formatted per Drupal sniff standards

Screenshots

image

Version and configuration information (please complete the following information)

  • Issue page Applies to all issues I tested
  • Issue branch Applies to all issues I tested
  • Drupal core version 9.4
  • Project type
  • Core
  • Module
  • Theme

Unable to run FunctionalJavascriptTests

Describe the bug

When running FunctionalJavascriptTests with a default setup I see the following error:

1) Drupal\FunctionalJavascriptTests\Ajax\AjaxCallbacksTest::testDateAjaxCallback
WebDriver\Exception\UnknownError: unable to set cookie
  (Session info: headless chrome=74.0.3729.157)
  (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 5.4.0-1051-gke x86_64)

To Reproduce

  • Spin up DrupalPod from the link on the Github project
  • Run the following commands:
composer require --dev phpspec/prophecy-phpunit:^2
ddev phpunit core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxCallbacksTest.php

Expected behavior

Tests pass like below:

Testing Drupal\FunctionalJavascriptTests\Ajax\AjaxCallbacksTest
..                                                                  2 / 2 (100%)

Time: 00:08.473, Memory: 4.00 MB

OK (2 tests, 8 assertions)

Additional context

I was able to reproduce the error in a local ddev setup using the same docker-compose.testing.yaml that was found in DrupalPod. After changing SIMPLETEST_BASE_URL: http://localhost to SIMPLETEST_BASE_URL: $DDEV_PRIMARY_URL and removing the same env vars from .ddev/commands/web/phpunit the tests pass, but I don't get the same result in DrupalPod.

Support for extension using drupalpod.yaml file

Is your feature request related to a problem? Please describe

I would love the ability to add some extra enhancements to the "up and running" state of a DrupalPod instance. For example, when I'm using DrupalPod to develop my contrib module, there are some other modules I like to have to help me. I might be writing an add-on for Commerce, so I might want Commerce to come pre-installed or available in the repo, at it's latest -dev or stable verrsion.

Describe the solution you'd like

Support reading a contrib project's "drupalpod.yaml" file to provide some of the extra configuration.

Describe alternatives you've considered

I thought, well, I could just fork DrupalPod and make my own with my own scripts, but this seems like a useful feature to many module developers and contributors across the board -- being able to give contributors a known good "starting point" simplifies so much more of the process.

Additional context

https://drupal.slack.com/archives/C01N7HQSSFN/p1684339120557419

Add VS Code composer extension

Is your feature request related to a problem? Please describe

Drupal.org docs recommend ikappas/vscode-composer but it seems like it is unmaintained. We tried adding it to open-vsx but the extension fails to build: open-vsx/publish-extensions#410 (comment)

If one exists, it would be nice to have a composer extension for VS Code.

Describe the solution you'd like

Find, test and configure a VS Code extension for composer from open-vsx.

Describe alternatives you've considered

It seems like this may be another alternative but I have not tested: https://github.com/faelv/composer-companion It also is not on open-vsx.

Additional context

I attempted this here, but we don't need it to hold up this PR: #30 (comment)

Xdebug don`t working

Describe the bug

To Reproduce

Expected behavior

Screenshots

Version and configuration information (please complete the following information)

  • Issue page
  • Issue branch
  • Drupal core version
  • Project type
  • Core
  • Module
  • Theme

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.