proscenium 0.27.0-aarch64-linux-gnu → 0.28.0-aarch64-linux-gnu
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +5 -2
- data/lib/proscenium/cli/gitignore.rb +7 -2
- data/lib/proscenium/ext/proscenium +0 -0
- data/lib/proscenium/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 87cb0281600fe203f4ab6709415e05c8b53f26852543da38a98426ca9877737b
|
|
4
|
+
data.tar.gz: 30318ac0d89795c48ca8be04a9a69ae6331da94de1a3b757d02540e484d1461b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d8a51895e067d1f58a51368ca6ffcc6ce58eacb3347adb75466de70bcf75ae8f62b22eabde2e8a7390fe3067aa09403b734dcc1655332b72429a64c87f63863e
|
|
7
|
+
data.tar.gz: dacec15bc65ec01fee23c373f2afd584a1731c9aabd17ec097cf96d8384e094f31b3f9bd369171ee9342c27bc85ca647abf8d06acf5197d05bded2c8c116f466
|
data/README.md
CHANGED
|
@@ -80,7 +80,7 @@ gem 'proscenium'
|
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
Please note that Proscenium is designed solely for use with Rails. It needs Ruby 3.4 or newer, and
|
|
83
|
-
Rails
|
|
83
|
+
Rails 8.0 to 8.x.
|
|
84
84
|
|
|
85
85
|
Now if you start your Rails app, you can open any front end code (JS, CSS, etc.). For example, a file at `app/assets/stylesheets/application.css` can be accessed at `https://localhost:3000/app/assets/stylesheets/application.css`, which will be transformed, bundled, and minified [in production] in real time.
|
|
86
86
|
|
|
@@ -1014,6 +1014,8 @@ This matters if you run Puma in cluster mode with `preload_app!` (the app, inclu
|
|
|
1014
1014
|
|
|
1015
1015
|
**Do not call any `Proscenium::Builder` method (directly, or indirectly via the resolver/side-loading) from a Rails initializer or any other code that runs during application boot**, if you use `preload_app!` with `workers`. Doing so initializes the Go runtime in the master process before the fork, and every worker will inherit a broken one. There is no fix available from Go's side - this is a fundamental fork() limitation, not a bug Proscenium can work around. Asset builds and resolves triggered by actual HTTP requests (the normal case) are unaffected, since those always happen after the fork, independently in each worker.
|
|
1016
1016
|
|
|
1017
|
+
Each worker that has called the builder starts up to about `GOMAXPROCS` threads for it. Proscenium ends the idle ones 30 seconds after the worker's last builder call, so they count against a container's task limit only while it is building.
|
|
1018
|
+
|
|
1017
1019
|
## Thanks
|
|
1018
1020
|
|
|
1019
1021
|
HUGE thanks 🙏 go to [Evan Wallace](https://github.com/evanw) and his amazing [esbuild](https://esbuild.github.io/) project. Proscenium would not be possible without it, and it is esbuild that makes this so fast and efficient.
|
|
@@ -1039,7 +1041,8 @@ bin/test
|
|
|
1039
1041
|
To run the Go tests:
|
|
1040
1042
|
|
|
1041
1043
|
```bash
|
|
1042
|
-
go test ./test
|
|
1044
|
+
go test ./test -ginkgo.silence-skips
|
|
1045
|
+
go test ./internal/...
|
|
1043
1046
|
```
|
|
1044
1047
|
|
|
1045
1048
|
To run the JavaScript tests, which need the Go library compiled first:
|
|
@@ -38,9 +38,14 @@ module Proscenium
|
|
|
38
38
|
# Whether an ignore rule could match a path the contexts are committed under. Generous: `*`
|
|
39
39
|
# crosses `/` here, so at worst the lines are added once more than needed.
|
|
40
40
|
def hides_contexts?(line)
|
|
41
|
-
|
|
41
|
+
rule = line.strip.chomp('/')
|
|
42
|
+
pattern = rule.delete_prefix('/')
|
|
42
43
|
return false if pattern.empty? || pattern.start_with?('#', '!')
|
|
43
44
|
|
|
45
|
+
# Git anchors a rule with a slash at its start or in its middle to the root, so only one
|
|
46
|
+
# without (`**/` aside) can match a directory's name at any depth.
|
|
47
|
+
anywhere = !rule.delete_prefix('**/').include?('/')
|
|
48
|
+
|
|
44
49
|
# Git's `**/` also matches no directory at all. Ruby's does too with FNM_PATHNAME, inside a
|
|
45
50
|
# pattern, but not at its start, so that prefix is also dropped; without FNM_PATHNAME, a
|
|
46
51
|
# trailing `**` (and `*`) crosses `/` as Git's trailing `/**` does.
|
|
@@ -55,7 +60,7 @@ module Proscenium
|
|
|
55
60
|
[pattern, wide].flat_map { [it, it.delete_prefix('**/')] }.uniq.any? do |glob|
|
|
56
61
|
paths.any? do |path|
|
|
57
62
|
FLAGS.any? { File.fnmatch?(glob, path, it) } ||
|
|
58
|
-
File.fnmatch?(glob, File.basename(path), File::FNM_DOTMATCH)
|
|
63
|
+
(anywhere && File.fnmatch?(glob, File.basename(path), File::FNM_DOTMATCH))
|
|
59
64
|
end
|
|
60
65
|
end
|
|
61
66
|
end
|
|
Binary file
|
data/lib/proscenium/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: proscenium
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.28.0
|
|
5
5
|
platform: aarch64-linux-gnu
|
|
6
6
|
authors:
|
|
7
7
|
- Joel Moss
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: 8.0.0
|
|
33
33
|
- - "<"
|
|
34
34
|
- !ruby/object:Gem::Version
|
|
35
35
|
version: '9.0'
|
|
@@ -39,7 +39,7 @@ dependencies:
|
|
|
39
39
|
requirements:
|
|
40
40
|
- - ">="
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
version:
|
|
42
|
+
version: 8.0.0
|
|
43
43
|
- - "<"
|
|
44
44
|
- !ruby/object:Gem::Version
|
|
45
45
|
version: '9.0'
|