-
-
Notifications
You must be signed in to change notification settings - Fork 541
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
[5.x] Add new updatable
and package
starter kit conventions
#11119
Merged
Conversation
This file contains 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
…ds compatibility).
jesseleite
changed the title
[5.x] Export starter kit
[5.x] Add new Nov 14, 2024
package
folder when it existspackage
folder convention for starter kits
…t-export-package-folder
1 task
…eir kits composer updatable (#11064) * Spec out `addon: true` for starter kits that should live on as composer updatable addons. * Blink config, no reason to read it twice. * Pass tests. * Refactor to `updatable: true`. * Add test coverage to ensure package remains in `require` (not `require-dev`). * Pass test. (We don’t really have reason to `requireDev` here anymore.) * Adjust these tests too.
jesseleite
changed the title
[5.x] Add new
[5.x] Add new Dec 2, 2024
package
folder convention for starter kitsupdatable
and package
folder conventions for starter kits
jesseleite
changed the title
[5.x] Add new
[5.x] Add new Dec 2, 2024
updatable
and package
folder conventions for starter kitsupdatable
and package
starter kit conventions
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.
Note: This PR does NOT make everything in a starter kit magically updatable; It merely adds the ABILITY for a starter kit developer to architect their kit in such a way that parts of a kit be composer updatable!
The Problem
When making a kit composer updatable (by setting
updatable: true
introduced by #11064, which this PR became a continuation of), you're likely going to want to provide your own package service provider class, PSR-4 namespace, vendor views, etc. that are separate fromexport_paths
(which get installed into the users app, rather than remaining invendor
). Right now there is no way to automatically export those vendor files to your starter kit repo.The Solution
In this PR, we now expect a
package
folder in your dev application for all your package's vendor files...These files will be exported to the root of your shippable repo when running
starter-kit:export
.We also export all of your files
export_paths
to anexport
folder in your shippable repo to keep things clean and free from filename conflicts.For example, if this is your dev app...
Then this is what the final export will look like...
This lets you manage your package's
composer.json
, etc. from thepackage
folder, and the exporter and installer will intelligently put Everything in Its Right Place, just like Radiohead.Think of the exported directory similar to a compiled assets directory when using a build tool like Vite. You export/generate files into this directory, and shouldn't touch it manually.
Todo
updatable
configupdatable: true
, then the starter kit repository should remain installed in the end user's composer.jsonpackage
folder changesstarter-kit:init
command PRpackage
folder convention on first export after updating Statamic