proscenium 0.11.0.pre.1-x86_64-darwin → 0.11.0.pre.2-x86_64-darwin
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: e8d3b2007a7ca8ce8b52c6d7eee7f67335be7b31cc0197ef9c80b555093a8c20
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 4523ce253766e7a4facc1d71b1a4ced93499b0e23da2b2070e34edb973a32acd
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 2664081626445a945cd82c17c5c17eac431e33f4a15fe3eb70e77557ccefcaa432f480c7c3df858ea910f5e36915cf7f4bf301b2a8dea4041c294608095f7b24
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: a870b3b886b6af3df131d9879ac9f192654f7d3a2716a798370b8e0f5f80d950d2afc27452a1eacc8919d17a005872039cb7c099297b3d228232da487185a46b
         
     | 
    
        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.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: x86_64-darwin
         
     | 
| 
       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
         
     |