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 +4 -4
- data/exe/esbuild +8 -1
- data/lib/sprockets-esbuild/transformers.rb +34 -10
- data/lib/sprockets-esbuild/upstream.rb +1 -1
- data/lib/sprockets-esbuild/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36ee53171333e633c95f69b91f986fd86e1f5ef491cedefd4502e99d90cfacd9
|
4
|
+
data.tar.gz: 318c7936fb2e1ea3178cca9acf055218d15debd3b7aad6d632171b19ee1dd9a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
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
|
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.
|
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:
|
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.
|
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.
|