sprockets-esbuild 0.0.2-arm64-darwin → 0.0.4-arm64-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '013996eae82deaf0494a92a434571e42682a7f1d08a1668f97fa6254a9a0f25c'
4
- data.tar.gz: dbba45dca202a84aa1b90527f20cc70b10c6126351282258b27b5afbcec876f6
3
+ metadata.gz: 36ee53171333e633c95f69b91f986fd86e1f5ef491cedefd4502e99d90cfacd9
4
+ data.tar.gz: 318c7936fb2e1ea3178cca9acf055218d15debd3b7aad6d632171b19ee1dd9a1
5
5
  SHA512:
6
- metadata.gz: 110070086179c2d125eea079175077f2361555fe471f042357eed054a4adf0a59a80562157b2b2a100fb05013d66a3e7e6b4e2f18f723e78911ad282842d8521
7
- data.tar.gz: 16549061865ef69033ff9cd4e35185d6f5db5a187fafcea44d8efc55c686be41cc0ca00b8a56317655e7e8059df888fe000eb58de4bf2f4331b113a8e34a41f0
6
+ metadata.gz: ddd9287038127d30c7c9ba7c866b75b3b4e86ea7b06cc64b814f05d0f52d82bc9ea5c9a39322fd3afa4396208aa727ff05ccb0cf98d88e9ba8da831aecbc8a11
7
+ data.tar.gz: 07a49a212f25640298c433a9eafc740abf2f16512661116c9c56a426847e252ab330f57e7cafa9517f88268424ef4e6de6415184ae38cd57b04f94c3ffd1c0f0
data/exe/esbuild CHANGED
@@ -34,4 +34,11 @@ if exe_path.nil?
34
34
  exit 1
35
35
  end
36
36
 
37
- system exe_path, *ARGV
37
+ if Gem.win_platform?
38
+ # use system rather than exec as exec inexplicably fails to find the executable
39
+ # on Windows
40
+ system exe_path, *ARGV
41
+ else
42
+ # use exec rather than system to avoid creating a new process
43
+ exec exe_path, *ARGV
44
+ end
@@ -3,13 +3,21 @@
3
3
 
4
4
  require 'open3'
5
5
  require 'sprockets'
6
+ require 'sprockets/source_map_utils'
7
+ require 'json'
8
+ require 'base64'
9
+ require 'pathname'
6
10
 
7
11
  module SprocketsEsbuild
8
12
 
9
13
  class TransformerBase
10
14
  include Sprockets
11
15
 
12
- ESBUILD = File.expand_path('../../exe/esbuild', __dir__)
16
+ ESBUILD = [File.expand_path('../../exe/esbuild', __dir__)]
17
+
18
+ # As windows doesn't support she-bang syntax in scripts, prepend Ruby to
19
+ # the command
20
+ ESBUILD.unshift RbConfig.ruby if Gem.win_platform?
13
21
 
14
22
  def cache_key
15
23
  @cache_key ||= "#{self.class.name}::#{VERSION}".freeze
@@ -20,15 +28,31 @@ module SprocketsEsbuild
20
28
 
21
29
  input[:cache].fetch([cache_key, data]) do
22
30
 
23
- out, err, status = Open3.capture3(ESBUILD, '--sourcemap',
24
- "--sourcefile=#{input[:filename]}", "--loader=#{loader}",
25
- stdin_data: input[:data])
26
-
27
- if status.success? and err.empty?
28
- out
29
- else
30
- raise Error, "esbuild exit status=#{status.exitstatus}\n#{err}"
31
- end
31
+ out, err, status = Open3.capture3(*ESBUILD, '--sourcemap',
32
+ "--sourcefile=#{input[:filename]}", "--loader=#{loader}",
33
+ stdin_data: input[:data])
34
+
35
+ match = out.match %r{^//# sourceMappingURL=data:application/json;base64,(.*)\s*}
36
+
37
+ if match
38
+ # extract sourcemap from output and then format and combine it
39
+ out[match.begin(0)..match.end(0)] = ''
40
+ map = JSON.parse(Base64.decode64(match[1]))
41
+ map = SourceMapUtils.format_source_map(map, input)
42
+ map = SourceMapUtils.combine_source_maps(input[:metadata][:map], map)
43
+ else
44
+ map = nil
45
+ end
46
+
47
+ if status.success? and err.empty?
48
+ if map
49
+ { data: out, map: map }
50
+ else
51
+ out
52
+ end
53
+ else
54
+ raise Error, "esbuild exit status=#{status.exitstatus}\n#{err}"
55
+ end
32
56
  end
33
57
  end
34
58
  end
@@ -1,7 +1,7 @@
1
1
  module SprocketsEsbuild
2
2
  # constants describing the upstream esbuild project
3
3
  module Upstream
4
- VERSION = "0.14.5"
4
+ VERSION = "0.19.5"
5
5
 
6
6
  # rubygems platform name => [upstream release tarball name, tarball path]
7
7
  NATIVE_PLATFORMS = {
@@ -1,3 +1,3 @@
1
1
  module SprocketsEsbuild
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets-esbuild
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: arm64-darwin
6
6
  authors:
7
7
  - Sam Ruby
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2021-12-26 00:00:00.000000000 Z
12
+ date: 2023-10-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sprockets
@@ -61,7 +61,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  requirements: []
64
- rubygems_version: 3.2.33
64
+ rubygems_version: 3.4.8
65
65
  signing_key:
66
66
  specification_version: 4
67
67
  summary: Transpile JSX, TS, and TSX files with esbuild.