Improve js and css options of app generator #47689
Merged
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.
Motivation / Background
This Pull Request has been created because the Rails app generator currently has two issues:
First issue
If I choose
importmapas the javascript option andbootstrap,bulmaorpostcssas the css option, rails forces me to useesbuildas the javascript option, ignoring my choice ofimportmap.There should be no problem using
importmapas a javascript option and usingbootstrap,bulmaorpostcsswith Node.jsSecond issue
If I choose
importmapas the javascript option, the.node-versionfile is not created and theDockerfiledoes not include the Node.js installation steps, even when Rails forces it to useesbuild(first issue) or if we are using a css option that requires Node.jsDetail
This Pull Request changes the requirements for the
.node-versionfile to be created and theDockerfileto include the Node.js installation.It also changes the old behavior and if I choose
importmapit uses it regardless of the css option selected.Actual behavior
cssbundling-rails
css:install:*
tailwindcss-rails
tailwindcss:install
dartsass-rails
dartsass:install
cssbundling-rails
css:install:*
Proposed behavior
cssbundling-rails
css:install:*
tailwindcss-rails
tailwindcss:install
dartsass-rails
dartsass:install
cssbundling-rails
css:install:*
Still, there is a combination that is not possible: if I want to use
importmapandcssbundling-railsto compile the css usingtailwindorsassinstead of usetailwindcss-railsordartsass-rails.Checklist
Before submitting the PR make sure the following are checked:
[Fix #issue-number]Footnotes
no install node (required by jsbundling-rails) and change importmap to esbuild ↩