feat: Add VS Code DevContainer for simplified development setup#10085
Open
JohnRDOrazio wants to merge 5 commits intoroundcube:masterfrom
Open
feat: Add VS Code DevContainer for simplified development setup#10085JohnRDOrazio wants to merge 5 commits intoroundcube:masterfrom
JohnRDOrazio wants to merge 5 commits intoroundcube:masterfrom
Conversation
This commit introduces a comprehensive VSCode DevContainer setup to streamline the development environment for Roundcube. This setup provides: - Automated provisioning of all necessary services (PHP, MariaDB, IMAP, MailHog). - Pre-configured VSCode extensions for PHP and JavaScript development. - Automated installation of PHP and JavaScript dependencies. - Automated database initialization and Roundcube configuration. As part of simplifying the development setup, a fix for static file serving with the PHP built-in server is also included. This ensures better compatibility when using the built-in server for local development, without affecting production environments (Apache/Nginx).
DevContainer: - Add PHP memory_limit=512M for PHPStan compatibility - Fix Dockerfile.dovecot entrypoint script (use printf for newlines) - Fix post-create.sh: validate table_count, add DROP error handling, correct des_key length to 24 chars, fix comment style - Remove unnecessary exposed SMTP port from docker-compose.yml Static file server (public_html/static.php): - Fix HTTP Range suffix handling (bytes=-500 now returns last 500 bytes) - Add fopen error handling to prevent operations on failed file handles - Add fread error handling to prevent infinite loops - Fix PHP-CS-Fixer style issues Other: - Add /temp to .eslintrc.js ignorePatterns (third-party JS libs) - Add AI coding agents and build artifacts to .gitignore Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The *.sh pattern was intended to lint PHP CLI scripts in bin/ that use the .sh extension, but it also caught actual bash scripts which caused linter failures. Exclude .ci/, .devcontainer/, and the four real shell scripts in bin/ (cssshrink.sh, jsshrink.sh, makedoc.sh, transifexpull.sh). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Normalize composer.json with composer normalize - Add tests/.phpunit.result.cache to .gitignore Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The kolab/net_ldap3 package is already listed under "suggest" in composer.json, so it shouldn't also be in require-dev. Instead, add a VS Code task "Install Suggested Packages" that installs both suggested packages (zxcvbn-php and net_ldap3) on demand. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Contributor
Author
|
I had to make some adjustments to |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.shextension.gitignoreCloses #10084
Test plan
Ctrl+Shift+Band verify Roundcube loadstestuser/testpasscredentials🤖 Generated with Claude Code