proscenium 0.11.0.pre.2-x86_64-linux → 0.11.0.pre.4-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b7595628fd29ab45bd1933aa66d1fb4dbf133ab7979cefdb7d87e28b1cab787
4
- data.tar.gz: d6c5bd9ecb056fe1f8a221f3245c6fa6f585b72a6bcc7becaae7796b541a108a
3
+ metadata.gz: 45341882f1f6e35d0c38fbd55be688167faf25017f65fb87bde1ffd1c06bee6d
4
+ data.tar.gz: af7c459bd8621e7f40ddc0cad33fa3e1b74136819ffb1b3905b9cf5050162e59
5
5
  SHA512:
6
- metadata.gz: 1d5c657b64b74770add1478f56f00929e44a1523d28fecf3be6d3420d7cf8f76b70b1d23f2367bedab7e55c085d5cd1be0a4de29fd00e311160c93f966c00c94
7
- data.tar.gz: 679f97dc5b41b411c8b7958350d67c7c1172ece7675a291e8de0c32f9e14e8efa56bc961d07ef2544f19deaae687c7390b65ae2fba73b8454e808b5032392f56
6
+ metadata.gz: 7c762c9b09d2d58a155c63e2fb688b3f71e7bf9be91eed6f73f537e90ca17f663686245cd881029f7dcf503fa5db1c57552cc07bf7638a7d6cf341c5652180b2
7
+ data.tar.gz: ac468fa2fdecba7fe9c461c53bb48f326dc73e9d40dd7929cd4f3013d23b9b3f2df751e4194d7b075bffdd9bb9c8617b50bf522d9f54de26a96b137ba1d07a2b
@@ -25,7 +25,8 @@ module Proscenium
25
25
  :string, # ENV variables as a JSON string
26
26
 
27
27
  # Config
28
- :string, # root
28
+ :string, # Rails application root
29
+ :string, # Proscenium gem root
29
30
  :environment, # Rails environment as a Symbol
30
31
  :bool, # code splitting enabled?
31
32
  :bool # debugging enabled?
@@ -36,7 +37,8 @@ module Proscenium
36
37
  :string, # path to import map, relative to root
37
38
 
38
39
  # Config
39
- :string, # root
40
+ :string, # Rails application root
41
+ :string, # Proscenium gem root
40
42
  :environment, # Rails environment as a Symbol
41
43
  :bool # debugging enabled?
42
44
  ], Result.by_value
@@ -73,10 +75,11 @@ module Proscenium
73
75
  @base_url = base_url
74
76
  end
75
77
 
76
- def build(path)
78
+ def build(path) # rubocop:disable Metrics/AbcSize
77
79
  ActiveSupport::Notifications.instrument('build.proscenium', identifier: path) do
78
80
  result = Request.build(path, @base_url, import_map, env_vars.to_json,
79
81
  @root.to_s,
82
+ Pathname.new(__dir__).join('..', '..').to_s,
80
83
  Rails.env.to_sym,
81
84
  Proscenium.config.code_splitting,
82
85
  Proscenium.config.debug)
@@ -89,7 +92,9 @@ module Proscenium
89
92
 
90
93
  def resolve(path)
91
94
  ActiveSupport::Notifications.instrument('resolve.proscenium', identifier: path) do
92
- result = Request.resolve(path, import_map, @root.to_s, Rails.env.to_sym,
95
+ result = Request.resolve(path, import_map, @root.to_s,
96
+ Pathname.new(__dir__).join('..', '..').to_s,
97
+ Rails.env.to_sym,
93
98
  Proscenium.config.debug)
94
99
  raise ResolveError.new(path, result[:response]) unless result[:success]
95
100
 
Binary file
@@ -97,7 +97,7 @@ extern "C" {
97
97
  // - codeSpitting?
98
98
  // - debug?
99
99
  //
100
- extern struct Result build(char* filepath, char* baseUrl, char* importMap, char* envVars, char* root, unsigned int env, GoUint8 codeSplitting, GoUint8 debug);
100
+ extern struct Result build(char* filepath, char* baseUrl, char* importMap, char* envVars, char* appRoot, char* gemPath, unsigned int env, GoUint8 codeSplitting, GoUint8 debug);
101
101
 
102
102
  // Resolve the given `path` relative to the `root`.
103
103
  //
@@ -109,7 +109,7 @@ extern struct Result build(char* filepath, char* baseUrl, char* importMap, char*
109
109
  // - env - The environment (1 = development, 2 = test, 3 = production)
110
110
  // - debug?
111
111
  //
112
- extern struct Result resolve(char* path, char* importMap, char* root, unsigned int env, GoUint8 debug);
112
+ extern struct Result resolve(char* path, char* importMap, char* appRoot, char* gemPath, unsigned int env, GoUint8 debug);
113
113
 
114
114
  #ifdef __cplusplus
115
115
  }
@@ -53,22 +53,22 @@ module Proscenium
53
53
  def file_readable?
54
54
  return false unless (path = clean_path(sourcemap? ? real_path[0...-4] : real_path))
55
55
 
56
- file_stat = File.stat(Pathname(root).join(path.delete_prefix('/').b).to_s)
56
+ file_stat = File.stat(root_for_readable.join(path.delete_prefix('/').b).to_s)
57
57
  rescue SystemCallError
58
58
  false
59
59
  else
60
60
  file_stat.file? && file_stat.readable?
61
61
  end
62
62
 
63
+ def root_for_readable
64
+ Rails.root
65
+ end
66
+
63
67
  def clean_path(file)
64
68
  path = Rack::Utils.unescape_path file.chomp('/').delete_prefix('/')
65
69
  Rack::Utils.clean_path_info path if Rack::Utils.valid_path? path
66
70
  end
67
71
 
68
- def root
69
- @root ||= Rails.root.to_s
70
- end
71
-
72
72
  def content_type
73
73
  case ::File.extname(path_to_build)
74
74
  when '.js', '.mjs', '.ts', '.tsx', '.jsx' then 'application/javascript'
@@ -20,7 +20,7 @@ module Proscenium
20
20
  end
21
21
 
22
22
  def attempt
23
- render_response Proscenium::Builder.build(path_to_build, root: root,
23
+ render_response Proscenium::Builder.build(path_to_build, root: Rails.root.to_s,
24
24
  base_url: @request.base_url)
25
25
  rescue Proscenium::Builder::CompileError => e
26
26
  raise self.class::CompileError, { file: @request.fullpath, detail: e.message }, caller
@@ -10,8 +10,8 @@ module Proscenium
10
10
  '/lib/proscenium/libs')).to_s
11
11
  end
12
12
 
13
- def root
14
- @root ||= Proscenium::Railtie.root.to_s
13
+ def root_for_readable
14
+ Proscenium::Railtie.root
15
15
  end
16
16
  end
17
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Proscenium
4
- VERSION = '0.11.0.pre.2'
4
+ VERSION = '0.11.0.pre.4'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: proscenium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0.pre.2
4
+ version: 0.11.0.pre.4
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Joel Moss