tailwindcss-rails 4.0.0.rc3 → 4.0.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9132c959c2d738315776b226dc5fe8292972e0e6a344e8d3f7c9294465910998
4
- data.tar.gz: dd76376002a3a4ab5051b4affc63f57f0094fe3a95984d7b3c0ea3cd58f8161a
3
+ metadata.gz: 12604797b6ffc0e9448b859c4b25511065fc86dd28c1479d9a48186ac7b2cfd1
4
+ data.tar.gz: b908633069e894863319afa7f3ea64737e47e906d17f257e02763548cca1d2c4
5
5
  SHA512:
6
- metadata.gz: 8de6d29182f7a5599944c65e6d2e86bc22fe8ebc3fa55a6eb7a2b6f71d5450a9349458c86343a6a47d184b96251acc2d1c078fd99890bfe74f32cbb3b9b5db8f
7
- data.tar.gz: 6317cc4ea1fc599657af5cfee72ef1c04dd8a5caa8e6dd10a2e0c52b3ba6ce634dae5058abc86cfd2d4daa74677ebb020fc385d3b46a99007198b9343259f8bc
6
+ metadata.gz: f95003629c04627ceef411f2def2cb09d4a7f3d9452d5be2ed1871d8912f7ceb16a3db49948f444e5c2d67d1cf8dac3ccca17425eb7b15b2cd2395acd4ab61ce
7
+ data.tar.gz: c2f5deca8a2eb716ed9d006d318268640e5f83894302111eeb648afdd861834ad732dfc387ad0985eabecf4570b35f68e8b77871399c8fb293da499861e7e533
data/README.md CHANGED
@@ -13,6 +13,7 @@
13
13
  * [You don't _have_ to upgrade](#you-dont-_have_-to-upgrade)
14
14
  * [Upgrade steps](#upgrade-steps)
15
15
  * [Troubleshooting](#troubleshooting)
16
+ * [Updating CSS class names for v4](#updating-css-class-names-for-v4)
16
17
  - [Developing with Tailwindcss](#developing-with-tailwindcss)
17
18
  * [Configuration and commands](#configuration-and-commands)
18
19
  * [Building for production](#building-for-production)
@@ -91,18 +92,47 @@ gem "tailwindcss-ruby", "~> 3.4"
91
92
 
92
93
  First, update to `tailwindcss-rails` v4.0.0 or higher. This will also ensure you're transitively depending on `tailwindcss-ruby` v4.
93
94
 
94
- ``` html
95
+
96
+ ```html
95
97
  # Gemfile
96
98
  gem "tailwindcss-rails", "~> 4.0" # which transitively pins tailwindcss-ruby to v4
97
99
  ```
98
100
 
99
- Then, run the `tailwindcss:upgrade` task. Among other things, this will try to run the official Tailwind upgrade utility. It requires `npx` in order to run, but it's a one-time operation and is *highly recommended* for a successful upgrade.
101
+ If you want to migrate class names for v4 (optional), apply this [step](#upgrading-class-names-for-v4) and continue this guide.
102
+
103
+ Add the following line to the `.gitignore` file:
104
+
105
+ ```gitignore
106
+ /node_modules
107
+ ```
108
+ (So the Tailwind update tool won’t dig through your node_modules files and infer incorrect migrations, because it complies with ``.gitignore`` constraints)
109
+
110
+ Then create a ``package.json`` in the root of the project:
111
+
112
+ ```jsonc
113
+ {
114
+ "name": "app_name",
115
+ "version": "1.0.0",
116
+ "dependencies": {
117
+ "tailwindcss": "^3.4.17", // Mandatory!!
118
+ // Install all plugins and modules that are referenced in tailwind.config.js
119
+ "@tailwindcss/aspect-ratio": "^0.4.2",
120
+ "@tailwindcss/container-queries": "^0.1.1",
121
+ "@tailwindcss/forms": "^0.5.10",
122
+ "@tailwindcss/typography": "^0.5.16"
123
+ // And so on...
124
+ }
125
+ }
126
+ ```
127
+ **Run** ``npm install`` (or ``yarn install`` if using ``yarn``)
128
+
129
+ Then, **run** the `tailwindcss:upgrade` task. Among other things, this will try to run the official Tailwind upgrade utility. It requires `npx` in order to run, but it's a one-time operation and is *highly recommended* for a successful upgrade.
100
130
 
101
131
  Here's what the upgrade task does:
102
132
 
103
133
  - Cleans up some things in the generated `config/tailwind.config.js`.
104
134
  - If present, moves `config/postcss.config.js` to the root directory.
105
- - If present, moves `app/assets/stylesheets/application.tailwind.css` to `app/assets/tailwind`.
135
+ - If present, moves `app/assets/stylesheets/application.tailwind.css` to `app/assets/tailwind/application.css`.
106
136
  - Removes unnecessary `stylesheet_link_tag "tailwindcss"` tags from the application layout.
107
137
  - Removes references to the Inter font from the application layout.
108
138
  - Runs the upstream upgrader (note: requires `npx` to run the one-time upgrade, but highly recommended).
@@ -119,22 +149,22 @@ $ bin/rails tailwindcss:upgrade
119
149
  gsub app/views/layouts/application.html.erb
120
150
  Remove unnecessary stylesheet_link_tag from application layout
121
151
  gsub app/views/layouts/application.html.erb
122
- Moving application.tailwind.css to /home/user/myapp/app/assets/tailwind
123
- create app/assets/tailwind/application.tailwind.css
152
+ Moving /home/user/myapp/app/assets/stylesheets/application.tailwind.css to /home/user/myapp/app/assets/tailwind/application.css
153
+ create app/assets/tailwind/application.css
124
154
  remove app/assets/stylesheets/application.tailwind.css
125
155
  10.9.0
126
156
  Running the upstream Tailwind CSS upgrader
127
157
  run npx @tailwindcss/upgrade@next --force --config /home/user/myapp/config/tailwind.config.js from "."
128
158
  ≈ tailwindcss v4.0.0
129
159
  │ Searching for CSS files in the current directory and its subdirectories…
130
- │ ↳ Linked `./config/tailwind.config.js` to `./app/assets/tailwind/application.tailwind.css`
160
+ │ ↳ Linked `./config/tailwind.config.js` to `./app/assets/tailwind/application.css`
131
161
  │ Migrating JavaScript configuration files…
132
162
  │ ↳ The configuration file at `./config/tailwind.config.js` could not be automatically migrated to the new CSS
133
163
  │ configuration format, so your CSS has been updated to load your existing configuration file.
134
164
  │ Migrating templates…
135
165
  │ ↳ Migrated templates for configuration file: `./config/tailwind.config.js`
136
166
  │ Migrating stylesheets…
137
- │ ↳ Migrated stylesheet: `./app/assets/tailwind/application.tailwind.css`
167
+ │ ↳ Migrated stylesheet: `./app/assets/tailwind/application.css`
138
168
  │ ↳ No PostCSS config found, skipping migration.
139
169
  │ Updating dependencies…
140
170
  │ Could not detect a package manager. Please manually update `tailwindcss` to v4.
@@ -145,9 +175,9 @@ $ bin/rails tailwindcss:upgrade
145
175
  Done in 56ms
146
176
  run bundle install --quiet
147
177
  ```
148
-
149
178
  </details>
150
179
 
180
+
151
181
  If this doesn't succeed, it's likely that you've customized your Tailwind configuration and you'll need to do some work to make sure your application upgrades. Please read the [official upgrade guide](https://tailwindcss.com/docs/upgrade-guide)!
152
182
 
153
183
 
@@ -157,21 +187,45 @@ You may want to check out [TailwindCSS v4 - upgrade experience report · rails/t
157
187
 
158
188
  We know there are some cases we haven't addressed with the upgrade task:
159
189
 
160
- - If the user isn’t using PostCSS, some migrations (e.g., updating class names in the view files) may fail
161
190
  - In setups without JavaScript tooling, the update process may fail to fully migrate `tailwind.config.js` because the tool assumes that the imported packages (e.g., tailwind plugins) are installed via a package manager, allowing them to be called.
162
191
 
163
192
  We'll try to improve the upgrade process over time, but for now you may need to do some manual work to upgrade.
164
193
 
165
194
 
195
+ ### Updating CSS class names for v4
196
+
197
+ Before running the upgrade task, go to ``config/tailwind.config.js`` update the ``content`` part to:
198
+
199
+ ```js
200
+ content: [
201
+ '../public/*.html',
202
+ '../app/helpers/**/*.rb',
203
+ '../app/javascript/**/*.js',
204
+ '../app/views/**/*.{erb,haml,html,slim}'
205
+ ],
206
+ ```
207
+ (Just add an additional ``.`` to all the paths referenced)
208
+
209
+ Run the upstream upgrader as instructed above.
210
+
211
+ Then, once you've run that successfully:
212
+
213
+ - **Delete** ``package.json``, ``node_modules/`` and ``package-lock.json`` (or ``yarn.lock``), plus remove ``/node_modules`` from ``.gitignore``.
214
+ - **Go** to your CSS file and remove the following line (if present):
215
+ ```css
216
+ @plugin '@tailwindcss/container-queries';
217
+ ```
218
+
219
+
166
220
  ## Developing with Tailwindcss
167
221
 
168
222
  ### Configuration and commands
169
223
 
170
- #### Input file: `app/assets/tailwind/application.tailwind.css`
224
+ #### Input file: `app/assets/tailwind/application.css`
171
225
 
172
- The `tailwindcss:install` task will generate a Tailwind input file in `app/assets/tailwind/application.tailwind.css`. This is where you import the plugins you want to use and where you can setup your custom `@apply` rules.
226
+ The `tailwindcss:install` task will generate a Tailwind input file in `app/assets/tailwind/application.css`. This is where you import the plugins you want to use and where you can setup your custom `@apply` rules.
173
227
 
174
- ⚠ The location of this file changed in v4, from `app/assets/stylesheets` to `app/assets/tailwind`. The `tailwindcss:upgrade` task will move it for you.
228
+ ⚠ The location of this file changed in v4, from `app/assets/stylesheets/application.tailwind.css` to `app/assets/tailwind/application.css`. The `tailwindcss:upgrade` task will move it for you.
175
229
 
176
230
  #### Output file: `app/assets/builds/tailwind.css`
177
231
 
@@ -1,6 +1,6 @@
1
1
  APPLICATION_LAYOUT_PATH = Rails.root.join("app/views/layouts/application.html.erb")
2
2
  CENTERING_CONTAINER_INSERTION_POINT = /^\s*<%= yield %>/.freeze
3
- TAILWIND_ASSET_PATH = Rails.root.join("app/assets/tailwind")
3
+ TAILWIND_ASSET_PATH = Rails.root.join("app/assets/tailwind/application.css")
4
4
 
5
5
  if APPLICATION_LAYOUT_PATH.exist?
6
6
  unless File.read(APPLICATION_LAYOUT_PATH).match?(/stylesheet_link_tag :app/)
@@ -32,9 +32,9 @@ if Rails.root.join(".gitignore").exist?
32
32
  append_to_file(".gitignore", %(\n/app/assets/builds/*\n!/app/assets/builds/.keep\n))
33
33
  end
34
34
 
35
- unless TAILWIND_ASSET_PATH.join("application.tailwind.css").exist?
36
- say "Add default #{TAILWIND_ASSET_PATH}/application.tailwind.css"
37
- copy_file "#{__dir__}/application.tailwind.css", TAILWIND_ASSET_PATH.join("application.tailwind.css")
35
+ unless TAILWIND_ASSET_PATH.exist?
36
+ say "Add default #{TAILWIND_ASSET_PATH}"
37
+ copy_file "#{__dir__}/application.css", TAILWIND_ASSET_PATH
38
38
  end
39
39
 
40
40
  if Rails.root.join("Procfile.dev").exist?
@@ -1,8 +1,8 @@
1
1
  TAILWIND_CONFIG_PATH = Rails.root.join("config/tailwind.config.js")
2
2
  APPLICATION_LAYOUT_PATH = Rails.root.join("app/views/layouts/application.html.erb")
3
3
  POSTCSS_CONFIG_PATH = Rails.root.join("config/postcss.config.js")
4
- OLD_TAILWIND_ASSET_PATH = Rails.root.join("app/assets/stylesheets")
5
- TAILWIND_ASSET_PATH = Rails.root.join("app/assets/tailwind")
4
+ OLD_TAILWIND_ASSET_PATH = Rails.root.join("app/assets/stylesheets/application.tailwind.css")
5
+ TAILWIND_ASSET_PATH = Rails.root.join("app/assets/tailwind/application.css")
6
6
 
7
7
  unless TAILWIND_CONFIG_PATH.exist?
8
8
  say "Default tailwind.config.js is missing!", :red
@@ -38,10 +38,10 @@ else
38
38
  say %( Please check your layouts and remove any "inter-font" stylesheet links.)
39
39
  end
40
40
 
41
- if OLD_TAILWIND_ASSET_PATH.join("application.tailwind.css").exist?
42
- say "Moving application.tailwind.css to #{TAILWIND_ASSET_PATH}"
43
- copy_file OLD_TAILWIND_ASSET_PATH.join("application.tailwind.css"), TAILWIND_ASSET_PATH.join("application.tailwind.css")
44
- remove_file OLD_TAILWIND_ASSET_PATH.join("application.tailwind.css")
41
+ if OLD_TAILWIND_ASSET_PATH.exist?
42
+ say "Moving #{OLD_TAILWIND_ASSET_PATH} to #{TAILWIND_ASSET_PATH}"
43
+ copy_file OLD_TAILWIND_ASSET_PATH, TAILWIND_ASSET_PATH
44
+ remove_file OLD_TAILWIND_ASSET_PATH
45
45
  end
46
46
 
47
47
  if system("npx --version")
@@ -8,7 +8,7 @@ module Tailwindcss
8
8
 
9
9
  command = [
10
10
  Tailwindcss::Ruby.executable(**kwargs),
11
- "-i", rails_root.join("app/assets/tailwind/application.tailwind.css").to_s,
11
+ "-i", rails_root.join("app/assets/tailwind/application.css").to_s,
12
12
  "-o", rails_root.join("app/assets/builds/tailwind.css").to_s,
13
13
  ]
14
14
 
@@ -1,3 +1,3 @@
1
1
  module Tailwindcss
2
- VERSION = "4.0.0.rc3"
2
+ VERSION = "4.0.0.rc4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tailwindcss-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.rc3
4
+ version: 4.0.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -64,7 +64,7 @@ files:
64
64
  - lib/generators/tailwindcss/scaffold/templates/partial.html.erb.tt
65
65
  - lib/generators/tailwindcss/scaffold/templates/show.html.erb.tt
66
66
  - lib/install/Procfile.dev
67
- - lib/install/application.tailwind.css
67
+ - lib/install/application.css
68
68
  - lib/install/dev
69
69
  - lib/install/install_tailwindcss.rb
70
70
  - lib/install/upgrade_tailwindcss.rb