tailwindcss-rails 2.1.0-x64-mingw32 → 2.2.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -3
- data/lib/install/Procfile.dev +1 -1
- data/lib/install/dev +8 -0
- data/lib/puma/plugin/tailwindcss.rb +63 -0
- data/lib/tailwindcss/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7420ebce9f0d660757be97e97d3eea211f76ccf5895c5c855917ce9796ab43dc
|
4
|
+
data.tar.gz: 681b7be090a46de4f07f8a3bd1ec4f79e8ef2ed961b001d92dabb7467e010a71
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c958c69420399b42f118f11248c6e36a68510b8a1450fb80c3e3b42861340d757b7831d1da75a77c1fa5a1e84e604123983aa580d5242d29b89dcc4fdaf00ce
|
7
|
+
data.tar.gz: a5b8a33180ea6ea3f46de5b8e7d481113e996bc3ade6434dbbbc4a0f579e86f89de0b095175712960a0908dd8cd35db9adf36a2a6aff0163fb15ca4d7b858983
|
data/README.md
CHANGED
@@ -60,10 +60,26 @@ The `tailwindcss:build` task is automatically attached to the `test:prepare` Rak
|
|
60
60
|
|
61
61
|
### Update assets automatically
|
62
62
|
|
63
|
-
While you're developing your application, you want to run Tailwind in "watch" mode, so changes are automatically reflected in the generated CSS output. You can do this
|
63
|
+
While you're developing your application, you want to run Tailwind in "watch" mode, so changes are automatically reflected in the generated CSS output. You can do this in a few different ways:
|
64
64
|
|
65
|
-
-
|
66
|
-
-
|
65
|
+
- use the [Puma](https://puma.io/) plugin to integrate "watch" with `rails server`, or
|
66
|
+
- run `rails tailwindcss:watch` as a separate process, or
|
67
|
+
- run `bin/dev` which uses [Foreman](https://github.com/ddollar/foreman)
|
68
|
+
|
69
|
+
#### Puma plugin
|
70
|
+
|
71
|
+
The Puma plugin requires you to add this line to your `puma.rb` configuration:
|
72
|
+
|
73
|
+
```ruby
|
74
|
+
plugin :tailwindcss if ENV.fetch("RAILS_ENV", "development") == "development"
|
75
|
+
```
|
76
|
+
|
77
|
+
and then running `rails server` will run the Tailwind watch process in the background
|
78
|
+
|
79
|
+
|
80
|
+
#### Run `rails tailwindcss:watch`
|
81
|
+
|
82
|
+
This is a flexible command, which can be run with a few different options.
|
67
83
|
|
68
84
|
If you are running `rails tailwindcss:watch` on a system that doesn't fully support file system events, pass a `poll` argument to the task to instruct tailwindcss to instead use polling: `rails tailwindcss:watch[poll]`. If you use `bin/dev` then you should modify your `Procfile.dev`.
|
69
85
|
|
@@ -72,6 +88,11 @@ If you are running `rails tailwindcss:watch` as a process in a Docker container,
|
|
72
88
|
If you are running `rails tailwindcss:watch` in a docker container without a tty, pass the `always` argument to the task to instruct tailwindcss to keep the watcher alive even when `stdin` is closed: `rails tailwindcss:watch[always]`. If you use `bin/dev` then you should modify your `Procfile.dev`.
|
73
89
|
|
74
90
|
|
91
|
+
#### Foreman
|
92
|
+
|
93
|
+
Running `bin/dev` invokes Foreman to start both the Tailwind watch process and the rails server in development mode based on your `Procfile.dev` file.
|
94
|
+
|
95
|
+
|
75
96
|
### Debugging with unminified assets
|
76
97
|
|
77
98
|
If you want unminified assets, you can pass a `debug` argument to the rake task, i.e. `rails tailwindcss:build[debug]` or `rails tailwindcss:watch[debug]`.
|
data/lib/install/Procfile.dev
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
web:
|
1
|
+
web: bin/rails server
|
2
2
|
css: bin/rails tailwindcss:watch
|
data/lib/install/dev
CHANGED
@@ -5,4 +5,12 @@ if ! gem list foreman -i --silent; then
|
|
5
5
|
gem install foreman
|
6
6
|
fi
|
7
7
|
|
8
|
+
# Default to port 3000 if not specified
|
9
|
+
export PORT="${PORT:-3000}"
|
10
|
+
|
11
|
+
# Let the debug gem allow remote connections,
|
12
|
+
# but avoid loading until `debugger` is called
|
13
|
+
export RUBY_DEBUG_OPEN="true"
|
14
|
+
export RUBY_DEBUG_LAZY="true"
|
15
|
+
|
8
16
|
exec foreman start -f Procfile.dev "$@"
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require "puma/plugin"
|
2
|
+
|
3
|
+
Puma::Plugin.create do
|
4
|
+
attr_reader :puma_pid, :tailwind_pid, :log_writer
|
5
|
+
|
6
|
+
def start(launcher)
|
7
|
+
@log_writer = launcher.log_writer
|
8
|
+
@puma_pid = $$
|
9
|
+
@tailwind_pid = fork do
|
10
|
+
Thread.new { monitor_puma }
|
11
|
+
system(*Tailwindcss::Commands.watch_command)
|
12
|
+
end
|
13
|
+
|
14
|
+
launcher.events.on_stopped { stop_tailwind }
|
15
|
+
|
16
|
+
in_background do
|
17
|
+
monitor_tailwind
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
def stop_tailwind
|
23
|
+
Process.waitpid(tailwind_pid, Process::WNOHANG)
|
24
|
+
log "Stopping tailwind..."
|
25
|
+
Process.kill(:INT, tailwind_pid) if tailwind_pid
|
26
|
+
Process.wait(tailwind_pid)
|
27
|
+
rescue Errno::ECHILD, Errno::ESRCH
|
28
|
+
end
|
29
|
+
|
30
|
+
def monitor_puma
|
31
|
+
monitor(:puma_dead?, "Detected Puma has gone away, stopping tailwind...")
|
32
|
+
end
|
33
|
+
|
34
|
+
def monitor_tailwind
|
35
|
+
monitor(:tailwind_dead?, "Detected tailwind has gone away, stopping Puma...")
|
36
|
+
end
|
37
|
+
|
38
|
+
def monitor(process_dead, message)
|
39
|
+
loop do
|
40
|
+
if send(process_dead)
|
41
|
+
log message
|
42
|
+
Process.kill(:INT, $$)
|
43
|
+
break
|
44
|
+
end
|
45
|
+
sleep 2
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def tailwind_dead?
|
50
|
+
Process.waitpid(tailwind_pid, Process::WNOHANG)
|
51
|
+
false
|
52
|
+
rescue Errno::ECHILD, Errno::ESRCH
|
53
|
+
true
|
54
|
+
end
|
55
|
+
|
56
|
+
def puma_dead?
|
57
|
+
Process.ppid != puma_pid
|
58
|
+
end
|
59
|
+
|
60
|
+
def log(...)
|
61
|
+
log_writer.log(...)
|
62
|
+
end
|
63
|
+
end
|
data/lib/tailwindcss/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tailwindcss-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- lib/install/dev
|
73
73
|
- lib/install/tailwind.config.js
|
74
74
|
- lib/install/tailwindcss.rb
|
75
|
+
- lib/puma/plugin/tailwindcss.rb
|
75
76
|
- lib/tailwindcss-rails.rb
|
76
77
|
- lib/tailwindcss/commands.rb
|
77
78
|
- lib/tailwindcss/engine.rb
|