proscenium 0.19.0.beta9-x86_64-linux → 0.19.0.beta11-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/bundled_gems.rb +1 -1
- data/lib/proscenium/css_module.rb +0 -5
- data/lib/proscenium/ensure_loaded.rb +14 -10
- data/lib/proscenium/ext/proscenium +0 -0
- data/lib/proscenium/middleware.rb +0 -6
- data/lib/proscenium/phlex.rb +0 -6
- data/lib/proscenium/railtie.rb +1 -24
- data/lib/proscenium/resolver.rb +0 -9
- data/lib/proscenium/version.rb +1 -1
- data/lib/proscenium/view_component.rb +0 -6
- data/lib/proscenium.rb +5 -34
- metadata +24 -118
- data/lib/proscenium/registry/bundled_package.rb +0 -29
- data/lib/proscenium/registry/package.rb +0 -95
- data/lib/proscenium/registry/ruby_gem_package.rb +0 -28
- data/lib/proscenium/registry.rb +0 -29
- data/lib/proscenium/ruby_gems.rb +0 -67
- data/lib/proscenium/ui/breadcrumbs/component.module.css +0 -14
- data/lib/proscenium/ui/breadcrumbs/component.rb +0 -71
- data/lib/proscenium/ui/breadcrumbs/computed_element.rb +0 -69
- data/lib/proscenium/ui/breadcrumbs/control.rb +0 -95
- data/lib/proscenium/ui/breadcrumbs/mixins.css +0 -83
- data/lib/proscenium/ui/breadcrumbs.rb +0 -72
- data/lib/proscenium/ui/component.rb +0 -7
- data/lib/proscenium/ui/custom_element.js +0 -54
- data/lib/proscenium/ui/flash/bun.lock +0 -19
- data/lib/proscenium/ui/flash/index.css +0 -1
- data/lib/proscenium/ui/flash/index.js +0 -77
- data/lib/proscenium/ui/flash/node_modules/dom-mutations/index.d.ts +0 -33
- data/lib/proscenium/ui/flash/node_modules/dom-mutations/index.js +0 -44
- data/lib/proscenium/ui/flash/node_modules/dom-mutations/license +0 -9
- data/lib/proscenium/ui/flash/node_modules/dom-mutations/package.json +0 -59
- data/lib/proscenium/ui/flash/node_modules/dom-mutations/readme.md +0 -125
- data/lib/proscenium/ui/flash/node_modules/sourdough-toast/LICENSE +0 -20
- data/lib/proscenium/ui/flash/node_modules/sourdough-toast/README.md +0 -11
- data/lib/proscenium/ui/flash/node_modules/sourdough-toast/package.json +0 -44
- data/lib/proscenium/ui/flash/node_modules/sourdough-toast/src/sourdough-toast.css +0 -697
- data/lib/proscenium/ui/flash/node_modules/sourdough-toast/src/sourdough-toast.js +0 -537
- data/lib/proscenium/ui/flash/package.json +0 -11
- data/lib/proscenium/ui/flash.rb +0 -15
- data/lib/proscenium/ui/form/field_methods.rb +0 -88
- data/lib/proscenium/ui/form/fields/base.rb +0 -188
- data/lib/proscenium/ui/form/fields/checkbox/index.jsx +0 -48
- data/lib/proscenium/ui/form/fields/checkbox/index.module.css +0 -9
- data/lib/proscenium/ui/form/fields/checkbox/previews/basic.jsx +0 -8
- data/lib/proscenium/ui/form/fields/checkbox.rb +0 -32
- data/lib/proscenium/ui/form/fields/date.module.css +0 -27
- data/lib/proscenium/ui/form/fields/datetime.rb +0 -15
- data/lib/proscenium/ui/form/fields/hidden.rb +0 -9
- data/lib/proscenium/ui/form/fields/input/index.jsx +0 -71
- data/lib/proscenium/ui/form/fields/input/index.module.css +0 -13
- data/lib/proscenium/ui/form/fields/input/previews/basic.jsx +0 -8
- data/lib/proscenium/ui/form/fields/input.rb +0 -14
- data/lib/proscenium/ui/form/fields/radio_group.rb +0 -173
- data/lib/proscenium/ui/form/fields/radio_input/index.jsx +0 -44
- data/lib/proscenium/ui/form/fields/radio_input/index.module.css +0 -13
- data/lib/proscenium/ui/form/fields/radio_input/previews/basic.jsx +0 -8
- data/lib/proscenium/ui/form/fields/radio_input.rb +0 -17
- data/lib/proscenium/ui/form/fields/rich_textarea.css +0 -23
- data/lib/proscenium/ui/form/fields/rich_textarea.js +0 -6
- data/lib/proscenium/ui/form/fields/rich_textarea.rb +0 -18
- data/lib/proscenium/ui/form/fields/select.jsx +0 -47
- data/lib/proscenium/ui/form/fields/select.module.css +0 -46
- data/lib/proscenium/ui/form/fields/select.rb +0 -300
- data/lib/proscenium/ui/form/fields/tel.css +0 -297
- data/lib/proscenium/ui/form/fields/tel.js +0 -83
- data/lib/proscenium/ui/form/fields/tel.rb +0 -54
- data/lib/proscenium/ui/form/fields/textarea/index.jsx +0 -50
- data/lib/proscenium/ui/form/fields/textarea/index.module.css +0 -13
- data/lib/proscenium/ui/form/fields/textarea/previews/basic.jsx +0 -8
- data/lib/proscenium/ui/form/fields/textarea.rb +0 -18
- data/lib/proscenium/ui/form/translation.rb +0 -71
- data/lib/proscenium/ui/form.css +0 -52
- data/lib/proscenium/ui/form.rb +0 -211
- data/lib/proscenium/ui/props.css +0 -7
- data/lib/proscenium/ui/stimulus-loading.js +0 -65
- data/lib/proscenium/ui/test.js +0 -1
- data/lib/proscenium/ui/ujs/class.js +0 -15
- data/lib/proscenium/ui/ujs/data_confirm.js +0 -23
- data/lib/proscenium/ui/ujs/data_disable_with.js +0 -68
- data/lib/proscenium/ui/ujs/index.js +0 -9
- data/lib/proscenium/ui.rb +0 -11
- /data/lib/proscenium/{ui/react-manager → react-manager}/index.jsx +0 -0
- /data/lib/proscenium/{ui/react-manager → react-manager}/react.js +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4a0085aaa80c62dec74bb811ac4e8238c9c6f5e7fde013095129b15dfc4753e3
         | 
| 4 | 
            +
              data.tar.gz: 6fd5692b65b7648da54a365f5cbbc6fe10ee694f1f28e4e92c57fd98b520583c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 25da702949c83651dae2f14aa71f58904088044a95b6771d0fa347ec147c0d0e6847480e990674f7a255652eb22283b583063664e09329b7ae8c21f95510d7ab
         | 
| 7 | 
            +
              data.tar.gz: a877c39c93e7e2ab93110aa1346210180de0b200129495343a32f1136735a5813f3b353a16467638d47d179246aafd8812e78ad2de7ee291c4a4022939dd6f38
         | 
| @@ -1,11 +1,6 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Proscenium::CssModule
         | 
| 4 | 
            -
              extend ActiveSupport::Autoload
         | 
| 5 | 
            -
             | 
| 6 | 
            -
              autoload :Path
         | 
| 7 | 
            -
              autoload :Transformer
         | 
| 8 | 
            -
             | 
| 9 4 | 
             
              class TransformError < StandardError
         | 
| 10 5 | 
             
                def initialize(name, additional_msg = nil)
         | 
| 11 6 | 
             
                  msg = "Failed to transform CSS module `#{name}`"
         | 
| @@ -7,17 +7,21 @@ module Proscenium | |
| 7 7 | 
             
                def self.included(child)
         | 
| 8 8 | 
             
                  child.class_eval do
         | 
| 9 9 | 
             
                    append_after_action do
         | 
| 10 | 
            -
                      if request.format.html? && Importer.imported?
         | 
| 11 | 
            -
                         | 
| 12 | 
            -
                           | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 10 | 
            +
                      if request.format.html? && !response.redirect? && Importer.imported?
         | 
| 11 | 
            +
                        msg = <<-TEXT.squish
         | 
| 12 | 
            +
                          There are side loaded and imported assets to be included, but they have not been
         | 
| 13 | 
            +
                          included in the page. Did you forget to add the `#include_assets` helper in your
         | 
| 14 | 
            +
                          views? These assets were imported but not included:
         | 
| 15 | 
            +
                          #{Importer.imported.keys.to_sentence}
         | 
| 16 | 
            +
                        TEXT
         | 
| 16 17 |  | 
| 17 | 
            -
                        if  | 
| 18 | 
            -
                           | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 18 | 
            +
                        if Proscenium.config.ensure_loaded == :log
         | 
| 19 | 
            +
                          Rails.logger.warn do
         | 
| 20 | 
            +
                            "#{ActiveSupport::LogSubscriber.new.send(:color, '  [Proscenium]', nil,
         | 
| 21 | 
            +
                                                                     bold: true)} #{msg}"
         | 
| 22 | 
            +
                          end
         | 
| 23 | 
            +
                        elsif Proscenium.config.ensure_loaded == :raise
         | 
| 24 | 
            +
                          raise NotIncludedError, msg
         | 
| 21 25 | 
             
                        end
         | 
| 22 26 | 
             
                      end
         | 
| 23 27 | 
             
                    end
         | 
| Binary file | 
| @@ -2,15 +2,9 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            module Proscenium
         | 
| 4 4 | 
             
              class Middleware
         | 
| 5 | 
            -
                extend ActiveSupport::Autoload
         | 
| 6 | 
            -
             | 
| 7 5 | 
             
                # Error when the build command fails.
         | 
| 8 6 | 
             
                class BuildError < StandardError; end
         | 
| 9 7 |  | 
| 10 | 
            -
                autoload :Base
         | 
| 11 | 
            -
                autoload :Esbuild
         | 
| 12 | 
            -
                autoload :RubyGems
         | 
| 13 | 
            -
             | 
| 14 8 | 
             
                def initialize(app)
         | 
| 15 9 | 
             
                  @app = app
         | 
| 16 10 |  | 
    
        data/lib/proscenium/phlex.rb
    CHANGED
    
    | @@ -4,12 +4,6 @@ require 'phlex-rails' | |
| 4 4 |  | 
| 5 5 | 
             
            module Proscenium
         | 
| 6 6 | 
             
              class Phlex < ::Phlex::HTML
         | 
| 7 | 
            -
                extend ActiveSupport::Autoload
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                autoload :CssModules
         | 
| 10 | 
            -
                autoload :ReactComponent
         | 
| 11 | 
            -
                autoload :AssetInclusions
         | 
| 12 | 
            -
             | 
| 13 7 | 
             
                include Proscenium::SourcePath
         | 
| 14 8 | 
             
                include CssModules
         | 
| 15 9 | 
             
                include AssetInclusions
         | 
    
        data/lib/proscenium/railtie.rb
    CHANGED
    
    | @@ -14,7 +14,7 @@ module Proscenium | |
| 14 14 | 
             
                config.proscenium.bundle = true
         | 
| 15 15 | 
             
                config.proscenium.side_load = true
         | 
| 16 16 | 
             
                config.proscenium.code_splitting = true
         | 
| 17 | 
            -
             | 
| 17 | 
            +
                config.proscenium.ensure_loaded = :raise
         | 
| 18 18 | 
             
                config.proscenium.cache_query_string = Rails.env.production? && ENV.fetch('REVISION', nil)
         | 
| 19 19 | 
             
                config.proscenium.cache_max_age = 2_592_000 # 30 days
         | 
| 20 20 |  | 
| @@ -33,19 +33,6 @@ module Proscenium | |
| 33 33 | 
             
                  end
         | 
| 34 34 | 
             
                end
         | 
| 35 35 |  | 
| 36 | 
            -
                initializer 'proscenium.ui' do
         | 
| 37 | 
            -
                  ActiveSupport::Inflector.inflections(:en) do |inflect|
         | 
| 38 | 
            -
                    inflect.acronym 'UI'
         | 
| 39 | 
            -
                  end
         | 
| 40 | 
            -
                end
         | 
| 41 | 
            -
             | 
| 42 | 
            -
                initializer 'proscenium.debugging' do
         | 
| 43 | 
            -
                  if Rails.gem_version >= Gem::Version.new('7.1.0')
         | 
| 44 | 
            -
                    tpl_path = root.join('lib', 'proscenium', 'templates').to_s
         | 
| 45 | 
            -
                    ActionDispatch::DebugView::RESCUES_TEMPLATE_PATHS << tpl_path
         | 
| 46 | 
            -
                  end
         | 
| 47 | 
            -
                end
         | 
| 48 | 
            -
             | 
| 49 36 | 
             
                initializer 'proscenium.middleware' do |app|
         | 
| 50 37 | 
             
                  app.middleware.insert_after ActionDispatch::Static, Proscenium::Middleware
         | 
| 51 38 | 
             
                end
         | 
| @@ -63,15 +50,5 @@ module Proscenium | |
| 63 50 | 
             
                    ActionView::PartialRenderer.prepend Monkey::PartialRenderer
         | 
| 64 51 | 
             
                  end
         | 
| 65 52 | 
             
                end
         | 
| 66 | 
            -
             | 
| 67 | 
            -
                initializer 'proscenium.public_path' do |app|
         | 
| 68 | 
            -
                  if app.config.public_file_server.enabled
         | 
| 69 | 
            -
                    headers = app.config.public_file_server.headers || {}
         | 
| 70 | 
            -
                    index = app.config.public_file_server.index_name || 'index'
         | 
| 71 | 
            -
             | 
| 72 | 
            -
                    app.middleware.insert_after(ActionDispatch::Static, ActionDispatch::Static,
         | 
| 73 | 
            -
                                                root.join('public').to_s, index:, headers:)
         | 
| 74 | 
            -
                  end
         | 
| 75 | 
            -
                end
         | 
| 76 53 | 
             
              end
         | 
| 77 54 | 
             
            end
         | 
    
        data/lib/proscenium/resolver.rb
    CHANGED
    
    | @@ -19,16 +19,7 @@ module Proscenium | |
| 19 19 | 
             
                  end
         | 
| 20 20 |  | 
| 21 21 | 
             
                  self.resolved[path] ||= if (gem = BundledGems.paths.find { |_, v| path.start_with? "#{v}/" })
         | 
| 22 | 
            -
                                            # If the path is a rubygem, and it is installed with npm via the
         | 
| 23 | 
            -
                                            # @rubygems scope, then resolve the path to the symlinked location
         | 
| 24 | 
            -
                                            # in node_modules.
         | 
| 25 | 
            -
                                            # npm_path = Rails.root.join("node_modules/@rubygems/#{gem.first}")
         | 
| 26 | 
            -
                                            # if npm_path.symlink?
         | 
| 27 | 
            -
                                            #   npm_path.realpath.join(path.sub(/^#{gem.last}/, '.')).to_s
         | 
| 28 | 
            -
                                            #           .delete_prefix(Rails.root.to_s)
         | 
| 29 | 
            -
                                            # else
         | 
| 30 22 | 
             
                                            path.sub(/^#{gem.last}/, "/node_modules/@rubygems/#{gem.first}")
         | 
| 31 | 
            -
                                            # end
         | 
| 32 23 | 
             
                                          elsif path.start_with?("#{Rails.root}/")
         | 
| 33 24 | 
             
                                            path.delete_prefix Rails.root.to_s
         | 
| 34 25 | 
             
                                          else
         | 
    
        data/lib/proscenium/version.rb
    CHANGED
    
    
    
        data/lib/proscenium.rb
    CHANGED
    
    | @@ -1,12 +1,12 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            -
            require ' | 
| 4 | 
            -
            require ' | 
| 5 | 
            -
            require 'literal'
         | 
| 3 | 
            +
            require 'zeitwerk'
         | 
| 4 | 
            +
            require 'proscenium/railtie'
         | 
| 6 5 |  | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 6 | 
            +
            loader = Zeitwerk::Loader.for_gem
         | 
| 7 | 
            +
            loader.setup
         | 
| 9 8 |  | 
| 9 | 
            +
            module Proscenium
         | 
| 10 10 | 
             
              FILE_EXTENSIONS = ['js', 'mjs', 'ts', 'jsx', 'tsx', 'css', 'js.map', 'mjs.map', 'jsx.map',
         | 
| 11 11 | 
             
                                 'ts.map', 'tsx.map', 'css.map'].freeze
         | 
| 12 12 |  | 
| @@ -22,25 +22,6 @@ module Proscenium | |
| 22 22 | 
             
              # Environment variables that should always be passed to the builder.
         | 
| 23 23 | 
             
              DEFAULT_ENV_VARS = Set['RAILS_ENV', 'NODE_ENV'].freeze
         | 
| 24 24 |  | 
| 25 | 
            -
              autoload :SourcePath
         | 
| 26 | 
            -
              autoload :Utils
         | 
| 27 | 
            -
              autoload :Monkey
         | 
| 28 | 
            -
              autoload :Middleware
         | 
| 29 | 
            -
              autoload :EnsureLoaded
         | 
| 30 | 
            -
              autoload :SideLoad
         | 
| 31 | 
            -
              autoload :CssModule
         | 
| 32 | 
            -
              autoload :ReactComponentable
         | 
| 33 | 
            -
              autoload :ViewComponent
         | 
| 34 | 
            -
              autoload :Phlex
         | 
| 35 | 
            -
              autoload :Helper
         | 
| 36 | 
            -
              autoload :Builder
         | 
| 37 | 
            -
              autoload :Importer
         | 
| 38 | 
            -
              autoload :Resolver
         | 
| 39 | 
            -
              autoload :BundledGems
         | 
| 40 | 
            -
              autoload :RubyGems
         | 
| 41 | 
            -
              autoload :Registry
         | 
| 42 | 
            -
              autoload :UI
         | 
| 43 | 
            -
             | 
| 44 25 | 
             
              class Deprecator
         | 
| 45 26 | 
             
                def deprecation_warning(name, message, _caller_backtrace = nil)
         | 
| 46 27 | 
             
                  msg = "`#{name}` is deprecated and will be removed in a near future release of Proscenium"
         | 
| @@ -65,18 +46,8 @@ module Proscenium | |
| 65 46 | 
             
                  @config ||= Railtie.config.proscenium
         | 
| 66 47 | 
             
                end
         | 
| 67 48 |  | 
| 68 | 
            -
                def ui_path
         | 
| 69 | 
            -
                  @ui_path ||= Railtie.root.join('lib', 'proscenium', 'ui')
         | 
| 70 | 
            -
                end
         | 
| 71 | 
            -
             | 
| 72 | 
            -
                def ui_path_regex
         | 
| 73 | 
            -
                  @ui_path_regex ||= Regexp.new("^#{Proscenium.ui_path}/")
         | 
| 74 | 
            -
                end
         | 
| 75 | 
            -
             | 
| 76 49 | 
             
                def root
         | 
| 77 50 | 
             
                  Railtie.root
         | 
| 78 51 | 
             
                end
         | 
| 79 52 | 
             
              end
         | 
| 80 53 | 
             
            end
         | 
| 81 | 
            -
             | 
| 82 | 
            -
            require 'proscenium/railtie'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,28 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: proscenium
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.19.0. | 
| 4 | 
            +
              version: 0.19.0.beta11
         | 
| 5 5 | 
             
            platform: x86_64-linux
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Joel Moss
         | 
| 8 | 
            +
            autorequire:
         | 
| 8 9 | 
             
            bindir: bin
         | 
| 9 10 | 
             
            cert_chain: []
         | 
| 10 | 
            -
            date: 2025-04- | 
| 11 | 
            +
            date: 2025-04-22 00:00:00.000000000 Z
         | 
| 11 12 | 
             
            dependencies:
         | 
| 12 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 13 | 
            -
              name: countries
         | 
| 14 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 15 | 
            -
                requirements:
         | 
| 16 | 
            -
                - - "~>"
         | 
| 17 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 18 | 
            -
                    version: 7.1.0
         | 
| 19 | 
            -
              type: :runtime
         | 
| 20 | 
            -
              prerelease: false
         | 
| 21 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 22 | 
            -
                requirements:
         | 
| 23 | 
            -
                - - "~>"
         | 
| 24 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 25 | 
            -
                    version: 7.1.0
         | 
| 26 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 27 14 | 
             
              name: ffi
         | 
| 28 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -37,20 +24,6 @@ dependencies: | |
| 37 24 | 
             
                - - "~>"
         | 
| 38 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 39 26 | 
             
                    version: 1.17.0
         | 
| 40 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 41 | 
            -
              name: literal
         | 
| 42 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 43 | 
            -
                requirements:
         | 
| 44 | 
            -
                - - "~>"
         | 
| 45 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 46 | 
            -
                    version: '1.0'
         | 
| 47 | 
            -
              type: :runtime
         | 
| 48 | 
            -
              prerelease: false
         | 
| 49 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 50 | 
            -
                requirements:
         | 
| 51 | 
            -
                - - "~>"
         | 
| 52 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 53 | 
            -
                    version: '1.0'
         | 
| 54 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 55 28 | 
             
              name: phlex-rails
         | 
| 56 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -65,20 +38,6 @@ dependencies: | |
| 65 38 | 
             
                - - "~>"
         | 
| 66 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 67 40 | 
             
                    version: '1.2'
         | 
| 68 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 69 | 
            -
              name: phonelib
         | 
| 70 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 71 | 
            -
                requirements:
         | 
| 72 | 
            -
                - - "~>"
         | 
| 73 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 74 | 
            -
                    version: 0.10.3
         | 
| 75 | 
            -
              type: :runtime
         | 
| 76 | 
            -
              prerelease: false
         | 
| 77 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 78 | 
            -
                requirements:
         | 
| 79 | 
            -
                - - "~>"
         | 
| 80 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            -
                    version: 0.10.3
         | 
| 82 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 83 42 | 
             
              name: rails
         | 
| 84 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -113,6 +72,21 @@ dependencies: | |
| 113 72 | 
             
                - - "~>"
         | 
| 114 73 | 
             
                  - !ruby/object:Gem::Version
         | 
| 115 74 | 
             
                    version: 1.1.1
         | 
| 75 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 76 | 
            +
              name: zeitwerk
         | 
| 77 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 78 | 
            +
                requirements:
         | 
| 79 | 
            +
                - - "~>"
         | 
| 80 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            +
                    version: 2.7.2
         | 
| 82 | 
            +
              type: :runtime
         | 
| 83 | 
            +
              prerelease: false
         | 
| 84 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 85 | 
            +
                requirements:
         | 
| 86 | 
            +
                - - "~>"
         | 
| 87 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 88 | 
            +
                    version: 2.7.2
         | 
| 89 | 
            +
            description:
         | 
| 116 90 | 
             
            email:
         | 
| 117 91 | 
             
            - joel@developwithstyle.com
         | 
| 118 92 | 
             
            executables: []
         | 
| @@ -146,83 +120,13 @@ files: | |
| 146 120 | 
             
            - lib/proscenium/phlex/css_modules.rb
         | 
| 147 121 | 
             
            - lib/proscenium/phlex/react_component.rb
         | 
| 148 122 | 
             
            - lib/proscenium/railtie.rb
         | 
| 123 | 
            +
            - lib/proscenium/react-manager/index.jsx
         | 
| 124 | 
            +
            - lib/proscenium/react-manager/react.js
         | 
| 149 125 | 
             
            - lib/proscenium/react_componentable.rb
         | 
| 150 | 
            -
            - lib/proscenium/registry.rb
         | 
| 151 | 
            -
            - lib/proscenium/registry/bundled_package.rb
         | 
| 152 | 
            -
            - lib/proscenium/registry/package.rb
         | 
| 153 | 
            -
            - lib/proscenium/registry/ruby_gem_package.rb
         | 
| 154 126 | 
             
            - lib/proscenium/resolver.rb
         | 
| 155 | 
            -
            - lib/proscenium/ruby_gems.rb
         | 
| 156 127 | 
             
            - lib/proscenium/side_load.rb
         | 
| 157 128 | 
             
            - lib/proscenium/source_path.rb
         | 
| 158 129 | 
             
            - lib/proscenium/templates/rescues/build_error.html.erb
         | 
| 159 | 
            -
            - lib/proscenium/ui.rb
         | 
| 160 | 
            -
            - lib/proscenium/ui/breadcrumbs.rb
         | 
| 161 | 
            -
            - lib/proscenium/ui/breadcrumbs/component.module.css
         | 
| 162 | 
            -
            - lib/proscenium/ui/breadcrumbs/component.rb
         | 
| 163 | 
            -
            - lib/proscenium/ui/breadcrumbs/computed_element.rb
         | 
| 164 | 
            -
            - lib/proscenium/ui/breadcrumbs/control.rb
         | 
| 165 | 
            -
            - lib/proscenium/ui/breadcrumbs/mixins.css
         | 
| 166 | 
            -
            - lib/proscenium/ui/component.rb
         | 
| 167 | 
            -
            - lib/proscenium/ui/custom_element.js
         | 
| 168 | 
            -
            - lib/proscenium/ui/flash.rb
         | 
| 169 | 
            -
            - lib/proscenium/ui/flash/bun.lock
         | 
| 170 | 
            -
            - lib/proscenium/ui/flash/index.css
         | 
| 171 | 
            -
            - lib/proscenium/ui/flash/index.js
         | 
| 172 | 
            -
            - lib/proscenium/ui/flash/node_modules/dom-mutations/index.d.ts
         | 
| 173 | 
            -
            - lib/proscenium/ui/flash/node_modules/dom-mutations/index.js
         | 
| 174 | 
            -
            - lib/proscenium/ui/flash/node_modules/dom-mutations/license
         | 
| 175 | 
            -
            - lib/proscenium/ui/flash/node_modules/dom-mutations/package.json
         | 
| 176 | 
            -
            - lib/proscenium/ui/flash/node_modules/dom-mutations/readme.md
         | 
| 177 | 
            -
            - lib/proscenium/ui/flash/node_modules/sourdough-toast/LICENSE
         | 
| 178 | 
            -
            - lib/proscenium/ui/flash/node_modules/sourdough-toast/README.md
         | 
| 179 | 
            -
            - lib/proscenium/ui/flash/node_modules/sourdough-toast/package.json
         | 
| 180 | 
            -
            - lib/proscenium/ui/flash/node_modules/sourdough-toast/src/sourdough-toast.css
         | 
| 181 | 
            -
            - lib/proscenium/ui/flash/node_modules/sourdough-toast/src/sourdough-toast.js
         | 
| 182 | 
            -
            - lib/proscenium/ui/flash/package.json
         | 
| 183 | 
            -
            - lib/proscenium/ui/form.css
         | 
| 184 | 
            -
            - lib/proscenium/ui/form.rb
         | 
| 185 | 
            -
            - lib/proscenium/ui/form/field_methods.rb
         | 
| 186 | 
            -
            - lib/proscenium/ui/form/fields/base.rb
         | 
| 187 | 
            -
            - lib/proscenium/ui/form/fields/checkbox.rb
         | 
| 188 | 
            -
            - lib/proscenium/ui/form/fields/checkbox/index.jsx
         | 
| 189 | 
            -
            - lib/proscenium/ui/form/fields/checkbox/index.module.css
         | 
| 190 | 
            -
            - lib/proscenium/ui/form/fields/checkbox/previews/basic.jsx
         | 
| 191 | 
            -
            - lib/proscenium/ui/form/fields/date.module.css
         | 
| 192 | 
            -
            - lib/proscenium/ui/form/fields/datetime.rb
         | 
| 193 | 
            -
            - lib/proscenium/ui/form/fields/hidden.rb
         | 
| 194 | 
            -
            - lib/proscenium/ui/form/fields/input.rb
         | 
| 195 | 
            -
            - lib/proscenium/ui/form/fields/input/index.jsx
         | 
| 196 | 
            -
            - lib/proscenium/ui/form/fields/input/index.module.css
         | 
| 197 | 
            -
            - lib/proscenium/ui/form/fields/input/previews/basic.jsx
         | 
| 198 | 
            -
            - lib/proscenium/ui/form/fields/radio_group.rb
         | 
| 199 | 
            -
            - lib/proscenium/ui/form/fields/radio_input.rb
         | 
| 200 | 
            -
            - lib/proscenium/ui/form/fields/radio_input/index.jsx
         | 
| 201 | 
            -
            - lib/proscenium/ui/form/fields/radio_input/index.module.css
         | 
| 202 | 
            -
            - lib/proscenium/ui/form/fields/radio_input/previews/basic.jsx
         | 
| 203 | 
            -
            - lib/proscenium/ui/form/fields/rich_textarea.css
         | 
| 204 | 
            -
            - lib/proscenium/ui/form/fields/rich_textarea.js
         | 
| 205 | 
            -
            - lib/proscenium/ui/form/fields/rich_textarea.rb
         | 
| 206 | 
            -
            - lib/proscenium/ui/form/fields/select.jsx
         | 
| 207 | 
            -
            - lib/proscenium/ui/form/fields/select.module.css
         | 
| 208 | 
            -
            - lib/proscenium/ui/form/fields/select.rb
         | 
| 209 | 
            -
            - lib/proscenium/ui/form/fields/tel.css
         | 
| 210 | 
            -
            - lib/proscenium/ui/form/fields/tel.js
         | 
| 211 | 
            -
            - lib/proscenium/ui/form/fields/tel.rb
         | 
| 212 | 
            -
            - lib/proscenium/ui/form/fields/textarea.rb
         | 
| 213 | 
            -
            - lib/proscenium/ui/form/fields/textarea/index.jsx
         | 
| 214 | 
            -
            - lib/proscenium/ui/form/fields/textarea/index.module.css
         | 
| 215 | 
            -
            - lib/proscenium/ui/form/fields/textarea/previews/basic.jsx
         | 
| 216 | 
            -
            - lib/proscenium/ui/form/translation.rb
         | 
| 217 | 
            -
            - lib/proscenium/ui/props.css
         | 
| 218 | 
            -
            - lib/proscenium/ui/react-manager/index.jsx
         | 
| 219 | 
            -
            - lib/proscenium/ui/react-manager/react.js
         | 
| 220 | 
            -
            - lib/proscenium/ui/stimulus-loading.js
         | 
| 221 | 
            -
            - lib/proscenium/ui/test.js
         | 
| 222 | 
            -
            - lib/proscenium/ui/ujs/class.js
         | 
| 223 | 
            -
            - lib/proscenium/ui/ujs/data_confirm.js
         | 
| 224 | 
            -
            - lib/proscenium/ui/ujs/data_disable_with.js
         | 
| 225 | 
            -
            - lib/proscenium/ui/ujs/index.js
         | 
| 226 130 | 
             
            - lib/proscenium/utils.rb
         | 
| 227 131 | 
             
            - lib/proscenium/version.rb
         | 
| 228 132 | 
             
            - lib/proscenium/view_component.rb
         | 
| @@ -237,6 +141,7 @@ metadata: | |
| 237 141 | 
             
              source_code_uri: https://github.com/joelmoss/proscenium
         | 
| 238 142 | 
             
              changelog_uri: https://github.com/joelmoss/proscenium/releases
         | 
| 239 143 | 
             
              rubygems_mfa_required: 'true'
         | 
| 144 | 
            +
            post_install_message:
         | 
| 240 145 | 
             
            rdoc_options: []
         | 
| 241 146 | 
             
            require_paths:
         | 
| 242 147 | 
             
            - lib
         | 
| @@ -244,14 +149,15 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 244 149 | 
             
              requirements:
         | 
| 245 150 | 
             
              - - ">="
         | 
| 246 151 | 
             
                - !ruby/object:Gem::Version
         | 
| 247 | 
            -
                  version: 3. | 
| 152 | 
            +
                  version: 3.3.0
         | 
| 248 153 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 249 154 | 
             
              requirements:
         | 
| 250 155 | 
             
              - - ">="
         | 
| 251 156 | 
             
                - !ruby/object:Gem::Version
         | 
| 252 157 | 
             
                  version: '0'
         | 
| 253 158 | 
             
            requirements: []
         | 
| 254 | 
            -
            rubygems_version: 3. | 
| 159 | 
            +
            rubygems_version: 3.5.22
         | 
| 160 | 
            +
            signing_key:
         | 
| 255 161 | 
             
            specification_version: 4
         | 
| 256 162 | 
             
            summary: The engine powering your Rails frontend
         | 
| 257 163 | 
             
            test_files: []
         | 
| @@ -1,29 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require 'rubygems/package'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            class Proscenium::Registry
         | 
| 6 | 
            -
              class BundledPackage < Package
         | 
| 7 | 
            -
                def version = @version ||= spec.version.to_s
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                private
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                def package_json
         | 
| 12 | 
            -
                  @package_json ||= begin
         | 
| 13 | 
            -
                    unless (gem_path = Proscenium::BundledGems.pathname_for(gem_name))
         | 
| 14 | 
            -
                      raise PackageNotInstalledError, name
         | 
| 15 | 
            -
                    end
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                    if (package_path = gem_path.join('package.json')).exist?
         | 
| 18 | 
            -
                      JSON.parse(package_path.read)
         | 
| 19 | 
            -
                    else
         | 
| 20 | 
            -
                      default_package_json
         | 
| 21 | 
            -
                    end
         | 
| 22 | 
            -
                  end
         | 
| 23 | 
            -
                end
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                def spec
         | 
| 26 | 
            -
                  @spec ||= Bundler.load.specs[gem_name].first
         | 
| 27 | 
            -
                end
         | 
| 28 | 
            -
              end
         | 
| 29 | 
            -
            end
         | 
| @@ -1,95 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            class Proscenium::Registry
         | 
| 4 | 
            -
              # 1. Fetch the gem metadata from RubyGems API.
         | 
| 5 | 
            -
              # 2. Extract any package.json from the gem, and populate the response with it.
         | 
| 6 | 
            -
              # 3. Create a tarball containing the fetched package.json. This will be downloaded by the npm
         | 
| 7 | 
            -
              #    client, and unpacked into node_modules. Proscenium ignores this, as it will pull contents
         | 
| 8 | 
            -
              #    directly from location of the installed gem.
         | 
| 9 | 
            -
              # 4. Return a valid npm response listing package details, tarball location, and its dependencies.
         | 
| 10 | 
            -
              #
         | 
| 11 | 
            -
              # See https://wiki.commonjs.org/wiki/Packages/Registry
         | 
| 12 | 
            -
              class Package
         | 
| 13 | 
            -
                extend Literal::Properties
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                prop :name, String, :positional, reader: :private
         | 
| 16 | 
            -
                prop :version, _String?
         | 
| 17 | 
            -
                prop :host, String
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                def as_json
         | 
| 20 | 
            -
                  {
         | 
| 21 | 
            -
                    name:,
         | 
| 22 | 
            -
                    'dist-tags': {
         | 
| 23 | 
            -
                      latest: version
         | 
| 24 | 
            -
                    },
         | 
| 25 | 
            -
                    versions: {
         | 
| 26 | 
            -
                      version => {
         | 
| 27 | 
            -
                        name:,
         | 
| 28 | 
            -
                        version:,
         | 
| 29 | 
            -
                        dependencies: package_json['dependencies'] || {},
         | 
| 30 | 
            -
                        dist: {
         | 
| 31 | 
            -
                          tarball:,
         | 
| 32 | 
            -
                          integrity:,
         | 
| 33 | 
            -
                          shasum:
         | 
| 34 | 
            -
                        }
         | 
| 35 | 
            -
                      }
         | 
| 36 | 
            -
                    }
         | 
| 37 | 
            -
                  }
         | 
| 38 | 
            -
                end
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                def validate!
         | 
| 41 | 
            -
                  return self if name.start_with?('@rubygems/')
         | 
| 42 | 
            -
             | 
| 43 | 
            -
                  raise PackageUnsupportedError, name
         | 
| 44 | 
            -
                end
         | 
| 45 | 
            -
             | 
| 46 | 
            -
                def gem_name = @gem_name ||= name.gsub('@rubygems/', '')
         | 
| 47 | 
            -
                def version = @version # rubocop:disable Style/TrivialAccessors
         | 
| 48 | 
            -
                def shasum = Digest::SHA1.file(tarball_path).hexdigest
         | 
| 49 | 
            -
                def integrity = "sha512-#{Digest::SHA512.file(tarball_path).base64digest}"
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                private
         | 
| 52 | 
            -
             | 
| 53 | 
            -
                def tarball
         | 
| 54 | 
            -
                  create_tarball unless tarball_path.exist?
         | 
| 55 | 
            -
             | 
| 56 | 
            -
                  "#{@host}/#{tarball_path.relative_path_from(Rails.public_path)}"
         | 
| 57 | 
            -
                end
         | 
| 58 | 
            -
             | 
| 59 | 
            -
                def tarball_name
         | 
| 60 | 
            -
                  @tarball_name ||= "#{gem_name}-#{version}"
         | 
| 61 | 
            -
                end
         | 
| 62 | 
            -
             | 
| 63 | 
            -
                def tarball_path
         | 
| 64 | 
            -
                  @tarball_path ||= Rails.public_path.join('proscenium_registry_tarballs')
         | 
| 65 | 
            -
                                         .join("@rubygems/#{gem_name}/#{tarball_name}.tgz")
         | 
| 66 | 
            -
                end
         | 
| 67 | 
            -
             | 
| 68 | 
            -
                def create_tarball
         | 
| 69 | 
            -
                  FileUtils.mkdir_p(File.dirname(tarball_path))
         | 
| 70 | 
            -
             | 
| 71 | 
            -
                  File.open(tarball_path, 'wb') do |file|
         | 
| 72 | 
            -
                    Zlib::GzipWriter.wrap(file) do |gz|
         | 
| 73 | 
            -
                      Gem::Package::TarWriter.new(gz) do |tar|
         | 
| 74 | 
            -
                        contents = package_json.to_json
         | 
| 75 | 
            -
                        tar.add_file_simple('package/package.json', 0o444, contents.length) do |io|
         | 
| 76 | 
            -
                          io.write contents
         | 
| 77 | 
            -
                        end
         | 
| 78 | 
            -
                      end
         | 
| 79 | 
            -
                    end
         | 
| 80 | 
            -
                  end
         | 
| 81 | 
            -
                end
         | 
| 82 | 
            -
             | 
| 83 | 
            -
                def package_json
         | 
| 84 | 
            -
                  @package_json ||= default_package_json
         | 
| 85 | 
            -
                end
         | 
| 86 | 
            -
             | 
| 87 | 
            -
                def default_package_json
         | 
| 88 | 
            -
                  {
         | 
| 89 | 
            -
                    name:,
         | 
| 90 | 
            -
                    version:,
         | 
| 91 | 
            -
                    dependencies: {}
         | 
| 92 | 
            -
                  }
         | 
| 93 | 
            -
                end
         | 
| 94 | 
            -
              end
         | 
| 95 | 
            -
            end
         | 
| @@ -1,28 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            class Proscenium::Registry
         | 
| 4 | 
            -
              class RubyGemPackage < Package
         | 
| 5 | 
            -
                def version = spec['version']
         | 
| 6 | 
            -
             | 
| 7 | 
            -
                private
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                def package_json
         | 
| 10 | 
            -
                  @package_json ||= begin
         | 
| 11 | 
            -
                    package_path = Proscenium::RubyGems.path_for(gem_name, version).join('package.json')
         | 
| 12 | 
            -
                    if package_path.exist?
         | 
| 13 | 
            -
                      JSON.parse path.read
         | 
| 14 | 
            -
                    else
         | 
| 15 | 
            -
                      default_package_json
         | 
| 16 | 
            -
                    end
         | 
| 17 | 
            -
                  end
         | 
| 18 | 
            -
                end
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                def spec
         | 
| 21 | 
            -
                  @spec ||= if @version.present?
         | 
| 22 | 
            -
                              Gems::V2.info gem_name, @version
         | 
| 23 | 
            -
                            else
         | 
| 24 | 
            -
                              Gems.info(gem_name)
         | 
| 25 | 
            -
                            end
         | 
| 26 | 
            -
                end
         | 
| 27 | 
            -
              end
         | 
| 28 | 
            -
            end
         | 
    
        data/lib/proscenium/registry.rb
    DELETED
    
    | @@ -1,29 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            class Proscenium::Registry
         | 
| 4 | 
            -
              extend ActiveSupport::Autoload
         | 
| 5 | 
            -
             | 
| 6 | 
            -
              autoload :Package
         | 
| 7 | 
            -
              autoload :BundledPackage
         | 
| 8 | 
            -
              autoload :RubyGemPackage
         | 
| 9 | 
            -
             | 
| 10 | 
            -
              class PackageUnsupportedError < StandardError
         | 
| 11 | 
            -
                def initialize(name)
         | 
| 12 | 
            -
                  super("Package `#{name}` is not valid; only Ruby gems are supported via the @rubygems scope.")
         | 
| 13 | 
            -
                end
         | 
| 14 | 
            -
              end
         | 
| 15 | 
            -
             | 
| 16 | 
            -
              class PackageNotInstalledError < StandardError
         | 
| 17 | 
            -
                def initialize(name)
         | 
| 18 | 
            -
                  super("Package `#{name}` is not found in your bundle; have you installed the Ruby gem?")
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
              def self.bundled_package(name, host:)
         | 
| 23 | 
            -
                BundledPackage.new(name, host:).validate!
         | 
| 24 | 
            -
              end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
              def self.ruby_gem_package(name, version, host:)
         | 
| 27 | 
            -
                RubyGemPackage.new(name, version:, host:).validate!
         | 
| 28 | 
            -
              end
         | 
| 29 | 
            -
            end
         |