proscenium 0.17.0-x86_64-linux → 0.19.0.beta1-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb3963b8da2f0e97bc51c8a134fc2bd19eb4295f12804e6822f461fc550e4b09
4
- data.tar.gz: cebcaa110542366aad9bb30eec908ba4696cef75b89f69b249b17b5307db9d22
3
+ metadata.gz: 3d2d60900c3ba2c866fc46ccee659cfd3560e05a542d4fd2a2962a217e29e0e2
4
+ data.tar.gz: d00d3d3dbbb1d7b215c109af0419eefc7ef477f1a1e2bf5a65c4de1e4755c4ad
5
5
  SHA512:
6
- metadata.gz: a53bdec45fe3db5a9edb00611ffa676db210211aad1fa99648620ff4fe61110871837d8c786aa79875d4ced4ef9b0771d66468df5c9bd4747f76cbae0a12360a
7
- data.tar.gz: ee15a6b0f8fb6454ec7947fe4cb6090c266248502e3a24bfe7fb7e64653c58a75042a23ca05e51ed44d071e293f5f75ea7115b70065dbe2d87cb2821e90d3ec8
6
+ metadata.gz: 5d22cc2f21be18701b64e4909fc4d94f7bfa8faacb3c911269cbf92c0234a9355e8b87ee92a3cbc1d97a944dc6d84add1acafc14fbb7f72fabb8193ba431dd09
7
+ data.tar.gz: e59ecc8f6fe8448398d7d902c5ce957e3d3c977ebcac8fdb0830cc6173503f3db6d4d5546b592d20336a94e4170aff158bcb9b8cf375fbce1b5b6feb55b992bd
data/README.md CHANGED
@@ -890,7 +890,7 @@ bundle exec rake compile:local
890
890
  We have tests for both Ruby and Go. To run the Ruby tests:
891
891
 
892
892
  ```bash
893
- bundle exec sus
893
+ bin/test
894
894
  ```
895
895
 
896
896
  To run the Go tests:
@@ -7,6 +7,8 @@ module Proscenium
7
7
  class Builder
8
8
  class CompileError < StandardError; end
9
9
 
10
+ ENVIRONMENTS = { development: 1, test: 2, production: 3 }.freeze
11
+
10
12
  class Result < FFI::Struct
11
13
  layout :success, :bool,
12
14
  :response, :string
@@ -19,45 +21,21 @@ module Proscenium
19
21
  enum :environment, [:development, 1, :test, :production]
20
22
 
21
23
  attach_function :build_to_string, [
22
- :string, # Path or entry point.
23
- :string, # Base URL of the Rails app. eg. https://example.com
24
- :string, # Path to import map, relative to root
25
- :string, # ENV variables as a JSON string
26
-
27
- # Config
28
- :string, # Rails application root
29
- :string, # Proscenium gem root
30
- :environment, # Rails environment as a Symbol
31
- :bool, # Code splitting enabled?
32
- :string, # Engine names and paths as a JSON string
33
- :bool # Debugging enabled?
24
+ :string, # Path or entry point.
25
+ :pointer # Config as JSON.
34
26
  ], Result.by_value
35
27
 
36
28
  attach_function :build_to_path, [
37
- :string, # Path or entry point. Multiple can be given by separating with a semi-colon
38
- :string, # Base URL of the Rails app. eg. https://example.com
39
- :string, # Path to import map, relative to root
40
- :string, # ENV variables as a JSON string
41
-
42
- # Config
43
- :string, # Rails application root
44
- :string, # Proscenium gem root
45
- :environment, # Rails environment as a Symbol
46
- :bool, # Code splitting enabled?
47
- :string, # Engine names and paths as a JSON string
48
- :bool # Debugging enabled?
29
+ :string, # Path or entry point. Multiple can be given by separating with a semi-colon
30
+ :pointer # Config as JSON.
49
31
  ], Result.by_value
50
32
 
51
33
  attach_function :resolve, [
52
- :string, # path or entry point
53
- :string, # path to import map, relative to root
54
-
55
- # Config
56
- :string, # Rails application root
57
- :string, # Proscenium gem root
58
- :environment, # Rails environment as a Symbol
59
- :bool # debugging enabled?
34
+ :string, # path or entry point
35
+ :pointer # Config as JSON.
60
36
  ], Result.by_value
37
+
38
+ attach_function :reset_config, [], :void
61
39
  end
62
40
 
63
41
  class BuildError < StandardError
@@ -83,21 +61,34 @@ module Proscenium
83
61
  end
84
62
  end
85
63
 
86
- def self.build_to_path(path, root: nil, base_url: nil)
87
- new(root:, base_url:).build_to_path(path)
64
+ def self.build_to_path(path, root: nil)
65
+ new(root:).build_to_path(path)
88
66
  end
89
67
 
90
- def self.build_to_string(path, root: nil, base_url: nil)
91
- new(root:, base_url:).build_to_string(path)
68
+ def self.build_to_string(path, root: nil)
69
+ new(root:).build_to_string(path)
92
70
  end
93
71
 
94
72
  def self.resolve(path, root: nil)
95
73
  new(root:).resolve(path)
96
74
  end
97
75
 
98
- def initialize(root: nil, base_url: nil)
99
- @root = root || Rails.root
100
- @base_url = base_url
76
+ # Intended for tests only.
77
+ def self.reset_config!
78
+ Request.reset_config
79
+ end
80
+
81
+ def initialize(root: nil)
82
+ @request_config = FFI::MemoryPointer.from_string({
83
+ RootPath: (root || Rails.root).to_s,
84
+ GemPath: gem_root,
85
+ Environment: ENVIRONMENTS.fetch(Rails.env.to_sym, 2),
86
+ Engines: engines,
87
+ EnvVars: env_vars,
88
+ CodeSplitting: Proscenium.config.code_splitting,
89
+ Bundle: Proscenium.config.bundle,
90
+ Debug: Proscenium.config.debug
91
+ }.to_json)
101
92
  end
102
93
 
103
94
  def build_to_path(path)
@@ -105,13 +96,7 @@ module Proscenium
105
96
  identifier: path,
106
97
  cached: Proscenium.cache.exist?(path)) do
107
98
  Proscenium.cache.fetch path do
108
- result = Request.build_to_path(path, @base_url, import_map, env_vars.to_json,
109
- @root.to_s,
110
- gem_root,
111
- Rails.env.to_sym,
112
- Proscenium.config.code_splitting,
113
- engines.to_json,
114
- Proscenium.config.debug)
99
+ result = Request.build_to_path(path, @request_config)
115
100
 
116
101
  raise BuildError, result[:response] unless result[:success]
117
102
 
@@ -122,13 +107,7 @@ module Proscenium
122
107
 
123
108
  def build_to_string(path)
124
109
  ActiveSupport::Notifications.instrument('build_to_string.proscenium', identifier: path) do
125
- result = Request.build_to_string(path, @base_url, import_map, env_vars.to_json,
126
- @root.to_s,
127
- gem_root,
128
- Rails.env.to_sym,
129
- Proscenium.config.code_splitting,
130
- engines.to_json,
131
- Proscenium.config.debug)
110
+ result = Request.build_to_string(path, @request_config)
132
111
 
133
112
  raise BuildError, result[:response] unless result[:success]
134
113
 
@@ -138,10 +117,8 @@ module Proscenium
138
117
 
139
118
  def resolve(path)
140
119
  ActiveSupport::Notifications.instrument('resolve.proscenium', identifier: path) do
141
- result = Request.resolve(path, import_map, @root.to_s,
142
- gem_root,
143
- Rails.env.to_sym,
144
- Proscenium.config.debug)
120
+ result = Request.resolve(path, @request_config)
121
+
145
122
  raise ResolveError.new(path, result[:response]) unless result[:success]
146
123
 
147
124
  result[:response]
@@ -168,20 +145,6 @@ module Proscenium
168
145
  end
169
146
  end
170
147
 
171
- def import_map
172
- return unless (path = Rails.root&.join('config'))
173
-
174
- if (json = path.join('import_map.json')).exist?
175
- return json.relative_path_from(@root).to_s
176
- end
177
-
178
- if (js = path.join('import_map.js')).exist?
179
- return js.relative_path_from(@root).to_s
180
- end
181
-
182
- nil
183
- end
184
-
185
148
  def gem_root
186
149
  Pathname.new(__dir__).join('..', '..').to_s
187
150
  end
Binary file
@@ -82,49 +82,28 @@ typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
82
82
  extern "C" {
83
83
  #endif
84
84
 
85
+ extern void reset_config();
85
86
 
86
- // Build the given `path` in the `root`.
87
+ // Build the given `path` using the `config`.
87
88
  //
88
- // BuildOptions
89
- // - path - The path to build relative to `root`.
90
- // - baseUrl - base URL of the Rails app. eg. https://example.com
91
- // - importMap - Path to the import map relative to `root`.
92
- // - envVars - JSON string of environment variables.
93
- // Config:
94
- // - root - The working directory.
95
- // - env - The environment (1 = development, 2 = test, 3 = production)
96
- // - codeSpitting?
97
- // - debug?
89
+ // - path - The path to build relative to `root`.
90
+ // - config
98
91
  //
99
- extern struct Result build_to_string(char* filepath, char* baseUrl, char* importMap, char* envVars, char* appRoot, char* gemPath, unsigned int env, GoUint8 codeSplitting, char* engines, GoUint8 debug);
92
+ extern struct Result build_to_string(char* filePath, char* configJson);
100
93
 
101
94
  // Build the given `path` in the `root`.
102
95
  //
103
- // BuildOptions
104
- // - path - The path to build relative to `root`. Multiple paths can be given by separating them
105
- // with a semi-colon.
106
- // - baseUrl - base URL of the Rails app. eg. https://example.com
107
- // - importMap - Path to the import map relative to `root`.
108
- // - envVars - JSON string of environment variables.
109
- // Config:
110
- // - root - The working directory.
111
- // - env - The environment (1 = development, 2 = test, 3 = production)
112
- // - codeSpitting?
113
- // - debug?
96
+ // - path - The path to build relative to `root`.
97
+ // - config
114
98
  //
115
- extern struct Result build_to_path(char* filepath, char* baseUrl, char* importMap, char* envVars, char* appRoot, char* gemPath, unsigned int env, GoUint8 codeSplitting, char* engines, GoUint8 debug);
99
+ extern struct Result build_to_path(char* filePath, char* configJson);
116
100
 
117
101
  // Resolve the given `path` relative to the `root`.
118
102
  //
119
- // ResolveOptions
120
- // - path - The path to build relative to `root`.
121
- // - importMap - Path to the import map relative to `root`.
122
- // Config
123
- // - root - The working directory.
124
- // - env - The environment (1 = development, 2 = test, 3 = production)
125
- // - debug?
103
+ // - path - The path to build relative to `root`.
104
+ // - config
126
105
  //
127
- extern struct Result resolve(char* path, char* importMap, char* appRoot, char* gemPath, unsigned int env, GoUint8 debug);
106
+ extern struct Result resolve(char* filePath, char* configJson);
128
107
 
129
108
  #ifdef __cplusplus
130
109
  }
@@ -16,17 +16,15 @@ module Proscenium
16
16
  # those asset paths all begin with a slash, which the Rails asset helpers do not pass through to
17
17
  # here.
18
18
  #
19
- # If the given `path` is a bare path (does not start with `/` or `./` or `../`), then we use
19
+ # If the given `path` is a bare path (does not start with `./` or `../`), then we use
20
20
  # Rails default conventions, and serve CSS from /app/assets/stylesheets and JS from
21
21
  # /app/javascript.
22
22
  def compute_asset_path(path, options = {})
23
23
  if %i[javascript stylesheet].include?(options[:type])
24
- if !path.start_with?("./", "../")
25
- path.prepend DEFAULT_RAILS_ASSET_PATHS[options[:type]]
26
- end
24
+ path.prepend DEFAULT_RAILS_ASSET_PATHS[options[:type]] unless path.start_with?('./', '../')
27
25
 
28
- result = Proscenium::Builder.build_to_path(path, base_url: request.base_url)
29
- return result.split("::").last.delete_prefix "public"
26
+ result = Proscenium::Builder.build_to_path(path)
27
+ return result.split('::').last.delete_prefix 'public'
30
28
  end
31
29
 
32
30
  super
@@ -61,7 +59,7 @@ module Proscenium
61
59
  end
62
60
 
63
61
  def include_stylesheets
64
- '<!-- [PROSCENIUM_STYLESHEETS] -->'.html_safe
62
+ SideLoad::CSS_COMMENT.html_safe
65
63
  end
66
64
  alias side_load_stylesheets include_stylesheets
67
65
  deprecate side_load_stylesheets: 'Use `include_stylesheets` instead', deprecator: Deprecator.new
@@ -70,7 +68,7 @@ module Proscenium
70
68
  #
71
69
  # @return [String] the HTML tags for the javascripts.
72
70
  def include_javascripts
73
- '<!-- [PROSCENIUM_LAZY_SCRIPTS] --><!-- [PROSCENIUM_JAVASCRIPTS] -->'.html_safe
71
+ (SideLoad::LAZY_COMMENT + SideLoad::JS_COMMENT).html_safe
74
72
  end
75
73
  alias side_load_javascripts include_javascripts
76
74
  deprecate side_load_javascripts: 'Use `include_javascripts` instead', deprecator: Deprecator.new
@@ -27,7 +27,7 @@ module Proscenium
27
27
  path = CGI.unescape(path) if path.start_with?(/https?%3A%2F%2F/)
28
28
 
29
29
  info do
30
- message = " #{color('[Proscenium]', nil, bold: true)} Building #{path}"
30
+ message = " #{color('[Proscenium]', nil, bold: true)} Building (to string) #{path}"
31
31
  message << " (Duration: #{event.duration.round(1)}ms | Allocations: #{event.allocations})"
32
32
  end
33
33
  end
@@ -20,8 +20,7 @@ module Proscenium
20
20
  end
21
21
 
22
22
  def attempt
23
- render_response Builder.build_to_string(path_to_build, root: Rails.root.to_s,
24
- base_url: @request.base_url)
23
+ render_response Builder.build_to_string(path_to_build)
25
24
  rescue Builder::CompileError => e
26
25
  raise self.class::CompileError, { file: @request.fullpath, detail: e.message }, caller
27
26
  end
@@ -11,6 +11,7 @@ module Proscenium
11
11
 
12
12
  config.proscenium = ActiveSupport::OrderedOptions.new
13
13
  config.proscenium.debug = false
14
+ config.proscenium.bundle = true
14
15
  config.proscenium.side_load = true
15
16
  config.proscenium.code_splitting = true
16
17
 
@@ -25,10 +25,10 @@ module Proscenium
25
25
  "/#{path}"
26
26
  elsif path.start_with?(Proscenium.ui_path.to_s)
27
27
  path.delete_prefix Proscenium.root.join('lib').to_s
28
- elsif (engine = Proscenium.config.engines.find { |e| path.start_with? "#{e.root}/" })
29
- path.sub(/^#{engine.root}/, "/#{engine.engine_name}")
30
28
  elsif path.start_with?("#{Rails.root}/")
31
29
  path.delete_prefix Rails.root.to_s
30
+ elsif (engine = Proscenium.config.engines.find { |e| path.start_with? "#{e.root}/" })
31
+ path.sub(/^#{engine.root}/, "/#{engine.engine_name}")
32
32
  else
33
33
  Builder.resolve path
34
34
  end
@@ -2,6 +2,10 @@
2
2
 
3
3
  module Proscenium
4
4
  class SideLoad
5
+ JS_COMMENT = '<!-- [PROSCENIUM_JAVASCRIPTS] -->'
6
+ CSS_COMMENT = '<!-- [PROSCENIUM_STYLESHEETS] -->'
7
+ LAZY_COMMENT = '<!-- [PROSCENIUM_LAZY_SCRIPTS] -->'
8
+
5
9
  module Controller
6
10
  def self.included(child)
7
11
  child.class_eval do
@@ -23,7 +27,13 @@ module Proscenium
23
27
  def capture_and_replace_proscenium_stylesheets
24
28
  return if response_body.nil?
25
29
  return if response_body.first.blank? || !Proscenium::Importer.css_imported?
26
- return unless response_body.first.include? '<!-- [PROSCENIUM_STYLESHEETS] -->'
30
+
31
+ included_comment = response_body.first.include?(CSS_COMMENT)
32
+ fragments = if (fragment_header = request.headers['X-Fragment'])
33
+ fragment_header.split
34
+ end
35
+
36
+ return if !fragments && !included_comment
27
37
 
28
38
  imports = Proscenium::Importer.imported.dup
29
39
  paths_to_build = []
@@ -31,8 +41,7 @@ module Proscenium
31
41
  paths_to_build << x.delete_prefix('/')
32
42
  end
33
43
 
34
- result = Proscenium::Builder.build_to_path(paths_to_build.join(';'),
35
- base_url: helpers.request.base_url)
44
+ result = Proscenium::Builder.build_to_path(paths_to_build.join(';'))
36
45
 
37
46
  out = []
38
47
  result.split(';').each do |x|
@@ -44,12 +53,17 @@ module Proscenium
44
53
 
45
54
  import = imports[inpath]
46
55
  opts = import[:css].is_a?(Hash) ? import[:css] : {}
56
+ opts[:preload_links_header] = false if fragments
47
57
  opts[:data] ||= {}
48
58
  opts[:data][:original_href] = inpath
49
59
  out << helpers.stylesheet_link_tag(outpath, extname: false, **opts)
50
60
  end
51
61
 
52
- response_body.first.gsub! '<!-- [PROSCENIUM_STYLESHEETS] -->', out.join.html_safe
62
+ if fragments
63
+ response_body.first.prepend out.join.html_safe
64
+ elsif included_comment
65
+ response_body.first.gsub! CSS_COMMENT, out.join.html_safe
66
+ end
53
67
  end
54
68
 
55
69
  def capture_and_replace_proscenium_javascripts
@@ -62,10 +76,15 @@ module Proscenium
62
76
  paths_to_build << x.delete_prefix('/')
63
77
  end
64
78
 
65
- result = Proscenium::Builder.build_to_path(paths_to_build.join(';'),
66
- base_url: helpers.request.base_url)
79
+ result = Proscenium::Builder.build_to_path(paths_to_build.join(';'))
67
80
 
68
- if response_body.first.include? '<!-- [PROSCENIUM_JAVASCRIPTS] -->'
81
+ included_js_comment = response_body.first.include?(JS_COMMENT)
82
+ included_lazy_comment = response_body.first.include?(LAZY_COMMENT)
83
+ fragments = if (fragment_header = request.headers['X-Fragment'])
84
+ fragment_header.split
85
+ end
86
+
87
+ if fragments || included_js_comment
69
88
  out = []
70
89
  scripts = {}
71
90
  result.split(';').each do |x|
@@ -79,14 +98,19 @@ module Proscenium
79
98
  scripts[inpath] = import.merge(outpath:)
80
99
  else
81
100
  opts = import[:js].is_a?(Hash) ? import[:js] : {}
101
+ opts[:preload_links_header] = false if fragments
82
102
  out << helpers.javascript_include_tag(outpath, extname: false, **opts)
83
103
  end
84
104
  end
85
105
 
86
- response_body.first.gsub! '<!-- [PROSCENIUM_JAVASCRIPTS] -->', out.join.html_safe
106
+ if fragments
107
+ response_body.first.prepend out.join.html_safe
108
+ elsif included_js_comment
109
+ response_body.first.gsub! JS_COMMENT, out.join.html_safe
110
+ end
87
111
  end
88
112
 
89
- return unless response_body.first.include? '<!-- [PROSCENIUM_LAZY_SCRIPTS] -->'
113
+ return if !fragments && !included_lazy_comment
90
114
 
91
115
  lazy_script = ''
92
116
  if scripts.present?
@@ -96,7 +120,11 @@ module Proscenium
96
120
  end
97
121
  end
98
122
 
99
- response_body.first.gsub! '<!-- [PROSCENIUM_LAZY_SCRIPTS] -->', lazy_script
123
+ if fragments
124
+ response_body.first.prepend lazy_script
125
+ elsif included_lazy_comment
126
+ response_body.first.gsub! LAZY_COMMENT, lazy_script
127
+ end
100
128
  end
101
129
  end
102
130
 
@@ -1,6 +1,6 @@
1
1
  @layer proscenium-ui-component {
2
2
  /*
3
- * Custom properties:
3
+ * Properties:
4
4
  *
5
5
  * --puiBreadcrumbs--link-color: LinkText;
6
6
  * --puiBreadcrumbs--link-hover-color: HighlightText;
@@ -1,28 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'literal'
4
+
3
5
  module Proscenium::UI
4
6
  class Breadcrumbs::Component < Component
7
+ extend Literal::Properties
5
8
  include Phlex::Rails::Helpers::URLFor
6
9
 
7
10
  # The path (route) to use as the HREF for the home segment. Defaults to `:root`.
8
- option :home_path, Types::String | Types::Symbol, default: -> { :root }
11
+ prop :home_path, _Union(String, Symbol), default: -> { :root }
9
12
 
10
13
  # Assign false to hide the home segment.
11
- option :with_home, Types::Bool, default: -> { true }
12
-
13
- # One or more class name(s) for the base div element which will be appended to the default.
14
- option :class, Types::Coercible::String | Types::Array.of(Types::Coercible::String),
15
- as: :class_name, default: -> { [] }
16
-
17
- # One or more class name(s) for the base div element which will replace the default. If both
18
- # `class` and `class!` are provided, all values will be merged. Defaults to `:@base`.
19
- option :class!, Types::Coercible::String | Types::Array.of(Types::Coercible::String),
20
- as: :class_name_override, default: -> { :@base }
14
+ prop :with_home, _Boolean, default: -> { true }
21
15
 
22
16
  def view_template
23
- div class: [*class_name_override, *class_name] do
17
+ div class: :@base do
24
18
  ol do
25
- if with_home
19
+ if @with_home
26
20
  li do
27
21
  home_template
28
22
  end
@@ -48,7 +42,7 @@ module Proscenium::UI
48
42
  # super { 'hello' }
49
43
  # end
50
44
  def home_template(&block)
51
- a(href: url_for(home_path)) do
45
+ a(href: url_for(@home_path)) do
52
46
  if block
53
47
  yield
54
48
  else
@@ -1,11 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'dry-initializer'
4
-
5
3
  module Proscenium::UI
6
4
  class Component < Proscenium::Phlex
7
5
  self.abstract_class = true
8
-
9
- extend Dry::Initializer
10
6
  end
11
7
  end
@@ -1 +1 @@
1
- console.log("/proscenium/ui/test.js");
1
+ console.log("@proscenium/ui/test.js");
@@ -2,7 +2,7 @@ export default async () => {
2
2
  window.Proscenium = window.Proscenium || {};
3
3
 
4
4
  if (!window.Proscenium.UJS) {
5
- const classPath = "/@proscenium/ujs/class.js";
5
+ const classPath = "/proscenium/ui/ujs/class.js";
6
6
  const module = await import(classPath);
7
7
  window.Proscenium.UJS = new module.default();
8
8
  }
data/lib/proscenium/ui.rb CHANGED
@@ -1,14 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'dry-types'
4
-
5
3
  module Proscenium::UI
6
4
  extend ActiveSupport::Autoload
7
5
 
8
6
  autoload :Component
9
7
  autoload :Breadcrumbs
10
-
11
- module Types
12
- include Dry.Types()
13
- end
14
8
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Proscenium
4
- VERSION = '0.17.0'
4
+ VERSION = '0.19.0.beta1'
5
5
  end
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.17.0
4
+ version: 0.19.0.beta1
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: 2024-10-29 00:00:00.000000000 Z
11
+ date: 2024-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,34 +30,6 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '8.0'
33
- - !ruby/object:Gem::Dependency
34
- name: dry-initializer
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '3.1'
40
- type: :runtime
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '3.1'
47
- - !ruby/object:Gem::Dependency
48
- name: dry-types
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '1.7'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '1.7'
61
33
  - !ruby/object:Gem::Dependency
62
34
  name: ffi
63
35
  requirement: !ruby/object:Gem::Requirement
@@ -73,33 +45,33 @@ dependencies:
73
45
  - !ruby/object:Gem::Version
74
46
  version: 1.17.0
75
47
  - !ruby/object:Gem::Dependency
76
- name: oj
48
+ name: literal
77
49
  requirement: !ruby/object:Gem::Requirement
78
50
  requirements:
79
51
  - - "~>"
80
52
  - !ruby/object:Gem::Version
81
- version: '3.13'
53
+ version: '1.0'
82
54
  type: :runtime
83
55
  prerelease: false
84
56
  version_requirements: !ruby/object:Gem::Requirement
85
57
  requirements:
86
58
  - - "~>"
87
59
  - !ruby/object:Gem::Version
88
- version: '3.13'
60
+ version: '1.0'
89
61
  - !ruby/object:Gem::Dependency
90
- name: phlex-rails
62
+ name: oj
91
63
  requirement: !ruby/object:Gem::Requirement
92
64
  requirements:
93
65
  - - "~>"
94
66
  - !ruby/object:Gem::Version
95
- version: 1.2.1
67
+ version: '3.13'
96
68
  type: :runtime
97
69
  prerelease: false
98
70
  version_requirements: !ruby/object:Gem::Requirement
99
71
  requirements:
100
72
  - - "~>"
101
73
  - !ruby/object:Gem::Version
102
- version: 1.2.1
74
+ version: '3.13'
103
75
  - !ruby/object:Gem::Dependency
104
76
  name: railties
105
77
  requirement: !ruby/object:Gem::Requirement
@@ -156,15 +128,6 @@ files:
156
128
  - lib/proscenium/ext/proscenium.h
157
129
  - lib/proscenium/helper.rb
158
130
  - lib/proscenium/importer.rb
159
- - lib/proscenium/libs/custom_element.js
160
- - lib/proscenium/libs/react-manager/index.jsx
161
- - lib/proscenium/libs/react-manager/react.js
162
- - lib/proscenium/libs/stimulus-loading.js
163
- - lib/proscenium/libs/test.js
164
- - lib/proscenium/libs/ujs/class.js
165
- - lib/proscenium/libs/ujs/data_confirm.js
166
- - lib/proscenium/libs/ujs/data_disable_with.js
167
- - lib/proscenium/libs/ujs/index.js
168
131
  - lib/proscenium/log_subscriber.rb
169
132
  - lib/proscenium/middleware.rb
170
133
  - lib/proscenium/middleware/base.rb
@@ -190,7 +153,15 @@ files:
190
153
  - lib/proscenium/ui/breadcrumbs/control.rb
191
154
  - lib/proscenium/ui/breadcrumbs/mixins.css
192
155
  - lib/proscenium/ui/component.rb
156
+ - lib/proscenium/ui/custom_element.js
157
+ - lib/proscenium/ui/react-manager/index.jsx
158
+ - lib/proscenium/ui/react-manager/react.js
159
+ - lib/proscenium/ui/stimulus-loading.js
193
160
  - lib/proscenium/ui/test.js
161
+ - lib/proscenium/ui/ujs/class.js
162
+ - lib/proscenium/ui/ujs/data_confirm.js
163
+ - lib/proscenium/ui/ujs/data_disable_with.js
164
+ - lib/proscenium/ui/ujs/index.js
194
165
  - lib/proscenium/utils.rb
195
166
  - lib/proscenium/version.rb
196
167
  - lib/proscenium/view_component.rb
@@ -1 +0,0 @@
1
- console.log("/@proscenium/test.js");
File without changes
File without changes
File without changes
File without changes
File without changes