proscenium 0.11.0.pre.1-x86_64-linux → 0.11.0.pre.3-x86_64-linux
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/lib/proscenium/builder.rb +4 -2
- data/lib/proscenium/ext/proscenium +0 -0
- data/lib/proscenium/ext/proscenium.h +2 -1
- data/lib/proscenium/libs/test.js +1 -0
- data/lib/proscenium/middleware/base.rb +2 -2
- data/lib/proscenium/middleware/runtime.rb +18 -0
- data/lib/proscenium/middleware.rb +2 -0
- data/lib/proscenium/resolver.rb +6 -2
- data/lib/proscenium/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77664a8a3ca38be441ff51bcc6ed3d14b1429d137b8dfe0ed91e809ce8938d65
|
4
|
+
data.tar.gz: 9183b2ca71a13c998b5174d0fba82382da9251b489c27a7415f6a318abf66ab3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61ff96ce831429237e5a550672a4d93b319a5ec26e9191ce6948e7e1afe32f660b98d6a2844eda0f33056d69f8ce14f6e7c428d3889247d89a5b29eeb12947ed
|
7
|
+
data.tar.gz: 318dd11d7aab04c642c38cdcf33cb2454e15e2e86f8de8ff1428042a3e0fd458ea1ec9d909854012c58cf00a8439d4775648f8fe26788a61b31c2e02bdd59369
|
data/lib/proscenium/builder.rb
CHANGED
@@ -37,7 +37,8 @@ module Proscenium
|
|
37
37
|
|
38
38
|
# Config
|
39
39
|
:string, # root
|
40
|
-
:environment
|
40
|
+
:environment, # Rails environment as a Symbol
|
41
|
+
:bool # debugging enabled?
|
41
42
|
], Result.by_value
|
42
43
|
end
|
43
44
|
|
@@ -88,7 +89,8 @@ module Proscenium
|
|
88
89
|
|
89
90
|
def resolve(path)
|
90
91
|
ActiveSupport::Notifications.instrument('resolve.proscenium', identifier: path) do
|
91
|
-
result = Request.resolve(path, import_map, @root.to_s, Rails.env.to_sym
|
92
|
+
result = Request.resolve(path, import_map, @root.to_s, Rails.env.to_sym,
|
93
|
+
Proscenium.config.debug)
|
92
94
|
raise ResolveError.new(path, result[:response]) unless result[:success]
|
93
95
|
|
94
96
|
result[:response]
|
Binary file
|
@@ -107,8 +107,9 @@ extern struct Result build(char* filepath, char* baseUrl, char* importMap, char*
|
|
107
107
|
// Config
|
108
108
|
// - root - The working directory.
|
109
109
|
// - env - The environment (1 = development, 2 = test, 3 = production)
|
110
|
+
// - debug?
|
110
111
|
//
|
111
|
-
extern struct Result resolve(char* path, char* importMap, char* root, unsigned int env);
|
112
|
+
extern struct Result resolve(char* path, char* importMap, char* root, unsigned int env, GoUint8 debug);
|
112
113
|
|
113
114
|
#ifdef __cplusplus
|
114
115
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
console.log("/@proscenium/test.js");
|
@@ -34,12 +34,12 @@ module Proscenium
|
|
34
34
|
private
|
35
35
|
|
36
36
|
def real_path
|
37
|
-
@request.path
|
37
|
+
@real_path ||= @request.path
|
38
38
|
end
|
39
39
|
|
40
40
|
# @return [String] the path to the file without the leading slash which will be built.
|
41
41
|
def path_to_build
|
42
|
-
@request.path[1..]
|
42
|
+
@path_to_build ||= @request.path[1..]
|
43
43
|
end
|
44
44
|
|
45
45
|
def sourcemap?
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Proscenium
|
4
|
+
class Middleware
|
5
|
+
class Runtime < Esbuild
|
6
|
+
private
|
7
|
+
|
8
|
+
def real_path
|
9
|
+
@real_path ||= Pathname.new(@request.path.sub(%r{^/@proscenium},
|
10
|
+
'/lib/proscenium/libs')).to_s
|
11
|
+
end
|
12
|
+
|
13
|
+
def root
|
14
|
+
@root ||= Proscenium::Railtie.root.to_s
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -9,6 +9,7 @@ module Proscenium
|
|
9
9
|
|
10
10
|
autoload :Base
|
11
11
|
autoload :Esbuild
|
12
|
+
autoload :Runtime
|
12
13
|
autoload :Url
|
13
14
|
|
14
15
|
def initialize(app)
|
@@ -40,6 +41,7 @@ module Proscenium
|
|
40
41
|
|
41
42
|
def find_type(request)
|
42
43
|
return Url if request.path.match?(%r{^/https?%3A%2F%2F})
|
44
|
+
return Runtime if request.path.match?(%r{^/@proscenium/})
|
43
45
|
|
44
46
|
Esbuild if Pathname.new(request.path).fnmatch?(path_glob, File::FNM_EXTGLOB)
|
45
47
|
end
|
data/lib/proscenium/resolver.rb
CHANGED
@@ -11,7 +11,7 @@ module Proscenium
|
|
11
11
|
#
|
12
12
|
# @param path [String] Can be URL path, file system path, or bare specifier (ie. NPM package).
|
13
13
|
# @return [String] URL path.
|
14
|
-
def self.resolve(path) # rubocop:disable Metrics/AbcSize
|
14
|
+
def self.resolve(path) # rubocop:disable Metrics/AbcSize, Metrics/PerceivedComplexity
|
15
15
|
self.resolved ||= {}
|
16
16
|
|
17
17
|
self.resolved[path] ||= begin
|
@@ -19,7 +19,11 @@ module Proscenium
|
|
19
19
|
raise ArgumentError, 'path must be an absolute file system or URL path'
|
20
20
|
end
|
21
21
|
|
22
|
-
if
|
22
|
+
if path.start_with?('@proscenium/')
|
23
|
+
"/#{path}"
|
24
|
+
elsif (gem = Proscenium.config.side_load_gems.find do |_, x|
|
25
|
+
path.start_with? "#{x[:root]}/"
|
26
|
+
end)
|
23
27
|
unless (package_name = gem[1][:package_name] || gem[0])
|
24
28
|
# TODO: manually resolve the path without esbuild
|
25
29
|
raise PathResolutionFailed, path
|
data/lib/proscenium/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: proscenium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.0.pre.
|
4
|
+
version: 0.11.0.pre.3
|
5
5
|
platform: x86_64-linux
|
6
6
|
authors:
|
7
7
|
- Joel Moss
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-09-
|
11
|
+
date: 2023-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -101,10 +101,12 @@ files:
|
|
101
101
|
- lib/proscenium/libs/react-manager/index.jsx
|
102
102
|
- lib/proscenium/libs/react-manager/react.js
|
103
103
|
- lib/proscenium/libs/stimulus-loading.js
|
104
|
+
- lib/proscenium/libs/test.js
|
104
105
|
- lib/proscenium/log_subscriber.rb
|
105
106
|
- lib/proscenium/middleware.rb
|
106
107
|
- lib/proscenium/middleware/base.rb
|
107
108
|
- lib/proscenium/middleware/esbuild.rb
|
109
|
+
- lib/proscenium/middleware/runtime.rb
|
108
110
|
- lib/proscenium/middleware/url.rb
|
109
111
|
- lib/proscenium/monkey.rb
|
110
112
|
- lib/proscenium/phlex.rb
|
@@ -145,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
147
|
- !ruby/object:Gem::Version
|
146
148
|
version: 1.3.1
|
147
149
|
requirements: []
|
148
|
-
rubygems_version: 3.4.
|
150
|
+
rubygems_version: 3.4.19
|
149
151
|
signing_key:
|
150
152
|
specification_version: 4
|
151
153
|
summary: The engine powering your Rails frontend
|