Skip to content

Support Laravel 6, 7 and future major releases #101

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
apolopena opened this issue Apr 12, 2021 · 2 comments
Closed

Support Laravel 6, 7 and future major releases #101

apolopena opened this issue Apr 12, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request passed-dev-qa Optional state. Use this when QAing other peoples fixes in another branch.ready to be merged to main

Comments

@apolopena
Copy link
Owner

apolopena commented Apr 12, 2021

Problem this feature will solve

More developers will use this starter if it can support Laravel 6 and 7. Also th codebased needs to be refactored so it can support upcoming major releases of Laravel such as version 9.

Background

The example projects are built for laravel 8 and composer is currently hardceded to install a version of laravel/ui that only works for laravel 8 BUT laravel will work at for this starter at versions 6 and 7. Also this starter should be able to support upcoming major rlease of version 9.

Proposed Solution

Support laravel 6, 7, and future major versions of laravel.
Add the framework to be able to support future major versions of Laravel
Support frontend scaffolding for these versions

To keep in scope:
Currently:
React Examples will only work for version 8
Vue example will work for 6, 7 and 8. See #105

Constraints and Assumptions

Front end scaffolding (React/Vue/Bootstrap) uses laravel/ui which only supports Laravel down to version 6.

Here is a list of the laravel/ui versions required for each version of Laravel:

  • Laravel 6
    • laravel/ui version ^1.2
  • Laravel 7
    • laravel/ui version ^2.4
  • Laravel 8
    • laravel/ui version ^3.2.0

Alternatives or Workarounds

One could setup all their front end scaffolding for a particular laravel version but that defeats the purpose of this starter, also without changing the scaffolding install script there would be bugs.

Additional context

Backwards compatibility can help increase the popularity and flexibility of a piece of software.

@apolopena apolopena added the enhancement New feature or request label Apr 12, 2021
@apolopena apolopena self-assigned this Apr 12, 2021
@apolopena apolopena changed the title Support Laravel 5, 6 and 7 Add support for Laravel 5, 6 and 7 Apr 15, 2021
@apolopena apolopena changed the title Add support for Laravel 5, 6 and 7 Add support for Laravel 6, 7 and future Major releases Apr 15, 2021
@apolopena
Copy link
Owner Author

Dropping support for laravel 5.*

Rationale:
Laravel 5.* is pretty much outdated now and every minor version was treated as a major version making it a nightmare for this starter support. Also Laravel 5.8 is now EoL

@apolopena apolopena changed the title Add support for Laravel 6, 7 and future Major releases Add support for Laravel 6, 7 and future major releases Apr 15, 2021
@apolopena
Copy link
Owner Author

Dropping support for specifying Laravel Minor and Patch versions in starter.ini since by design Laravel writes ^Major into composer.json so the latest/stable Minor and Patch version is always used.

Added strict validation for the only supported values for laravel version in starter ini

  • 8.*
  • 7.*
  • 6.*

@apolopena apolopena added in-dev-qa passed-dev-qa Optional state. Use this when QAing other peoples fixes in another branch.ready to be merged to main and removed in-dev-qa labels Apr 15, 2021
@apolopena apolopena changed the title Add support for Laravel 6, 7 and future major releases Support Laravel 6, 7 and future major releases Apr 26, 2021
apolopena added a commit that referenced this issue Apr 26, 2021
* 🤖 TEST: force workspace image build

* 🐛 FIX: path to get_env_value'

* 🐛 FIX: path to get_env_value

* ⚰️ REMOVE: file associations hack for files with no extension

* ♻️ REFACTOR: location

* ⚰️ REMOVE: shellcheck

* ⚰️ REMOVE: commented out shellcheck extension

* ➕ ADD: alias to shellcheck .sh files

* 🐛 FIX: debconf (Dialog frontend will not work on a dumb terminal

* ✏️ FIX TYPO: missing install

* 🤖 TEST: quiet install of php-fpm

* 🤖 TEST: DEBIAN_FRONTEND=noninteractive to suppress debconf warnings

* 👌 IMPROVE: combined log file runs

* 🐛 FIX: start_apache path

* 🐛 FIX: debconf warning

* 🐛 FIX: debconf warning

* 🐛 FIX: debconf warning

* 🐛 FIX: exclude 1090,1091 from shellchecks

* 💡 UPDATE COMMENTS: force passing of shellcheck

* 🤖 TEST: passes shellcheck

* 🤖 TEST: passes schellcheck

* 🤖 TEST: changelog generator

* 🤖 TEST: force workspace image build

* 🐛 FIX: lint only scripts in .gp

* 👌 IMPROVE: best practice for setting root

* 🐛 FIX: #94 phpmyadmin wont display in an iframe

* 🐛 FIX: #94 phpmyadmin wont display in an iframe

* 🤖 TEST: fix for #95

* 🤖 TEST: fix for #95

* 🤖 TEST: fix for #95

* 🤖 TEST: fix 95 for spinner

* 🤖 TEST: fix 95 for spinner

* 🤖 TEST: fix 95 for spinner

* 🤖 TEST: fix 95 for spinner

* 🤖 TEST: fix 95 for spinner

* 🤖 TEST: fix 95 for spinner

* 🤖 TEST: fix 95 for spinner

* 👌 IMPROVE: display port number

* 🩹 TEMP FIX: revert to no color in spinner

* 👌 IMPROVE: clock spinner

* 👌 IMPROVE: dot spinner

* 👌 IMPROVE: speed

* 🤖 TEST: remove stop_spinner calls

* 🐛 FIX: added stop_spinner calls back in

* 👌 IMPROVE: added pipe spinner

* 👌 IMPROVE: back to dot spinner

* 🐛 FIX: #90 nginx server requires trailing slash for phpmyadmin url

* 👌 IMPROVE: port security

* 🐛 FIX: nginx to use .gp/conf/nginx.conf

* 🤖 TEST: force workspace image build

* 🐛 FIX: removed duplicate try_files for php locations

* 🤖 TEST: force workspace image build

* ⚰️ REMOVE: local nginx.conf load

* 🤖 TEST: force workspace image build

* 🐛 FIX: restore composer install phpmyadmin verbosity

* 🐛 FIX: spinner success DONE msg after successful phpmyadmin install

* 🐛 FIX: revert working version

* 🤖 TEST: force

* 🤖 TEST: no github-changelog-generator

* 🐛 FIX: phpmyadmin with or without trailing slash for phpmyadmin

* 🤖 TEST: force workspace

* 🐛 FIX: bad code

* 🐛 FIX: revert fix phpmyadmin install verbosity

* 🐛 FIX: revert to no phpmyadmin redirect for no traling slash

* 🐛 FIX: phpmyadmin verbose install

* 🤖 TEST: force workspace

* 🐛 FIX: ignore linter

* 🐛 FIX: spinner for phpmyadmin install

* 🐛 FIX: move root out of locations

* 🤖 TEST: force workspace

* 🐛 FIX: #90 and #96

* 🤖 TEST: force container build

* 🐛 FIX: silence gp output

* ⚰️ REMOVE: /dev/null for gp (didnt work)

* 📦 NEW: encapsulates preview logic

* 📦 NEW: encapsulate start server logic

* ♻️ REFACTOR: start server logic

* 🐛 FIX: help_update_pma_pws absolute path

* ➕ ADD:

* ➕ ADD: alias op, open or refreshes preview browser

* 🐛 FIX: workaround for failing gp open call, see #19

* 🐛 FIX: syntax for issue 19 workaround

* 🐛 FIX: hotfix workaround for #19

* 🐛 FIX: syntax

* 🐛 FIX: path to hotfix

* ➕ ADD: hotfix message

* 🐛 FIX: op absolute path

* 👌 IMPROVE: preview script can open path segments

* 🤖 TEST: force docker build

* 🐛 FIX: message

* 👌 IMPROVE: colorized message

* 🐛 FIX: aliases to ~/.bashrc.d

* 🤖 TEST: force docker build

* 🐛 FIX: try copy snippets to bashrc.d

* 🐛 FIX: removed line break

* 🐛 FIX: #98 and #93

* ✏️ FIX TYPO: missing $

* 🤖 TEST: force docker build

* 🐛 FIX: #99

* 🤖 TEST: fix #92

* 🤖 TEST: fix #92

* 🐛 FIX: symbolic link for xdebug php-fpm #92

* 🐛 FIX: missing sudo for #92

* ♻️ REFACTOR: moved xdebug conf to .gp/conf

* ♻️ REFACTOR: give nginx its own folder

* ♻️ REFACTOR: php-fpm moved to its own folder

* ♻️ REFACTOR: moved .editorconfig to .gp/config/editorconfig

* ♻️ REFACTOR: #98

* 🐛 FIX: path

* 📖 DOC: update pma pws aliase name

* ♻️ REFACTOR: pma pws alias names

* ⚰️ REMOVE: unused license header

* 🐛 FIX: nginx log monitor

* 🤖 TEST: force docker build

* 🐛 FIX: phpmyadmin log msg

* 👌 IMPROVE: support colorized pma pws help msg

* support colorized messages

* 🐛 FIX: #100 lint-starter-scripts has no success message

* 🤖 TEST: force docker build

* 🐛 FIX: shorten alias name to lint-starter

* 🤖 TEST: force docker build

* 🐛 FIX: swap shellcheck install from brew to apt-get

* 🤖 TEST: turn colors back on to test gitpod-io/gitpod#3870

* 🤖 TEST: turn off colors, issue remains gitpod-io/gitpod#3870

* 🤖 TEST: laravel 7

* 🤖 TEST: force docker build

* 🤖 TEST: laravel 6

* 🤖 TEST: force docker build

* 🤖 TEST: react

* 🤖 TEST: laravel 7

* 🤖 TEST: force docker

* 🤖 TEST: no react

* 🤖 TEST: laravel 5

* 👌 IMPROVE: #102 Make the version of Laravel configurable in starter.ini

* 🤖 TEST: force docker build

* 🤖 TEST: configure laravel to version 7.*

* 🐛 FIX: gitpod-laravel8-starter to gitpod-laravel-starter

* 🐛 FIX: make rsync scaffolding laravel version agnostic

* 🤖 TEST: force docker build

* 🐛 FIX: path to artisan

* 💡 UPDATE COMMENTS: rules for setting laravel version

* 🐛 FIX: wiring in #101 Support Laravel 5, 6 and 7

* 🤖 TEST: force docker build

* 🤖 TEST: react

* 💡 UPDATE COMMENTS: more rules for laravel version directive

* 🤖 TEST: laravel 6

* 💡 UPDATE COMMENTS: laravel version rules wording

* 🐛 FIX: handle cases for laravel major version set to 5 in starter.ini

* 🤖 TEST: force docker build

* 🐛 FIX: path to laravel-js-2space

* 🤖 TEST: laravel 5

* 🐛 FIX: warning color

* 🐛 FIX: log message for laravel 5 and front end scaffolding

* 🤖 TEST: vue

* 🤖 TEST: vue auth

* 🤖 TEST: laravel 5.5.*

* 🤖 TEST: force docker build

* 🤖 TEST: laravel 6

* 💡 UPDATE COMMENTS: log messages

* ♻️ REFACTOR: move auth directives to top level

* 👌 IMPROVE: #105 Provide a Vue EXAMPLE

* 🤖 TEST: no vue or vue auth

* 🤖 TEST: laravel 7.*

* 🤖 TEST: laravel 8.*

* 🤖 TEST: laravel 8.*

* 🤖 TEST: laravel 6.0.0

* 🐛 FIX: log msg for using laravel version out of range

* 🤖 TEST: #107

* ♻️ REFACTOR: drop support for Laravel 5

* 🐛 FIX: example initializes when it should be skipped

* 🐛 FIX: workaround trailing slash rewrite does not wotk in an iframe for nginx

* 🤖 TEST: laravel 8.*

* 🤖 TEST: force docker build

* 🤖 TEST: phpmyadmin

* 🤖 TEST: force docker build

* 🐛 FIX: phpmyadmin was ignored when not using an EXAMPLE

* 🤖 TEST: force

* 🐛 FIX: phpmyadmin was ignored when not using an EXAMPLE

* 🤖 TEST: force

* 🐛 FIX: abort with error msg if not run from the project root

* 💡 UPDATE COMMENTS: update  laravel version rules

* 🐛 FIX: pass linter

* 🐛 FIX: only allow laravel version values 6.* 7.* or 8.*

* 🤖 TEST: force

* 🤖 TEST: invalid laravel version

* ⚰️ REMOVE: test code

* 🤖 TEST: force

* ⚰️ REMOVE: invalid laravel version value

* 💡 UPDATE COMMENTS: typo

* 💡 UPDATE COMMENTS: END block

* 👌 IMPROVE: #109 allow_mixed_web starter.ini config

* 🐛 FIX: #109 allow_mixed_web starter.ini config

* 💡 UPDATE COMMENTS: fixed path

* 🐛 FIX: bypass allow-mixed-web injection if file has already been injected

* 🐛 FIX: add linebreak

* 🐛 FIX: pass dev qa for #109 allow_mixed_web directive in starter.ini

* 🐛 FIX: cases where frontend is already in vcs and case where exmaple is request but laravel is already installed

* 🐛 FIX: hook for laravel scaffolding in VCS

* 🐛 FIX: missing shebang

* 👌 IMPROVE: install npm ^7

* 🐛 FIX: log msg

* 🤖 TEST: laravel 7.*

* 🐛 FIX: update npm to ^7

* 🤖 TEST: laravel 6.*

* 🤖 TEST: force

* 🐛 FIX: powered by summary

* 🐛 FIX: pass linter and add woman technologist

* 🤖 TEST: no installs

* 🐛 FIX: #111

* 🤖 TEST: force

* ⚰️ REMOVE: extraneous message

* 🐛 FIX: laravel_version no longer uses starter.ini

* ♻️ REFACTOR: rename hotfix to hotfix #19

* 🐛 FIX: rolling in QAed changes from other branches

* 🐛 FIX: rolling in QAed changes from other branches

* 📖 DOC: #85 #97 #103

* ✏️ FIX TYPO: superseded to superceded

* ➕ ADD: missing code from QAed branch

* 🐛 FIX: revert to defaults

* ⚰️ REMOVE: extra linebreak

* ⚰️ REMOVE: extra space

* 🐛 FIX: gracefully handle laravel version mismatches

* ♻️ REFACTOR: rename hotfix19.sh to patch-preview.sh

* 🐛 FIX: change log message for successful laravel .env injection

* 🐛 FIX: update summary message

* 🐛 FIX: wording for summary

* 🐛 FIX: remove package-lock.json, this is a yarn based project

* ➕ ADD: success and error logs for instaling github-changelog-generator

* 🐛 FIX: notify user when vue install directive was found but intentionally skipped

* ✏️ FIX TYPO: missing the word is

* 🐛 FIX: change verbose short option from -v to -V

* ♻️ REFACTOR: move cleanup, re order tasks, edit comments

* 🐛 FIX: update comments and log message

* 💡 UPDATE COMMENTS: edit/add comments

* ➕ ADD: license URL

* ⚰️ REMOVE: extra linebreak

* 💡 UPDATE COMMENTS: edit wording

* 💡 UPDATE COMMENTS: edit/add wording

* 🐛 FIX: linebreaks in show_first_run_summary

* 🐛 FIX: missing logger

* 💡 UPDATE COMMENTS: edit/add wording

* ♻️ REFACTOR: show_powered_by: alternate vue version location for version >2

* 🐛 FIX: remove directive to configure vue version, too many edge cases to support

* 🤖 TEST: vue install when using laravel 6.*

* 🐛 FIX: install vue regardless of laravel version

* 🤖 TEST: restore defaults
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request passed-dev-qa Optional state. Use this when QAing other peoples fixes in another branch.ready to be merged to main
Projects
None yet
Development

No branches or pull requests

1 participant