sass-embedded 1.93.2 → 1.93.3

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: cbc4054a436ec0eff00459cc8aba58d769e50547962f3a69fbb343be2394fa31
4
- data.tar.gz: 2cdb280162c84af663685bf5de55119912f1508360f34fe9aee7e00db5206696
3
+ metadata.gz: 6fa2b60fb14f3fb34253ee55a59a9f78a4b3c81c5ec254f39f467b04e75d88bc
4
+ data.tar.gz: d0264bb4cebcb55bab3eadc8eab1836193ebde508e6a833bc6e24f0458f8feda
5
5
  SHA512:
6
- metadata.gz: e1065fef7644a6b34f81da204d9c0c234f34c3c148f3c55b19749b6256cfd8a29c78790defc32d7249654f5775aea8230feb5720db2b3426423bf30eaff6c458
7
- data.tar.gz: abaf76d8d3d6d6c79c92562e359f836e2ceb541973fcd694d8a52e8193dfddba8688afadbe634c28b2dfc40c05289cd746189df16356ba662b66c14c86f22c5e
6
+ metadata.gz: fce58bc83abcd555ca5ace004e886ac39db50005f24df8398853e5edd87a7903e00c86751b3d7e7982d245178c2aaa558fdeece1d1bbb495aaa18cd518d9df35
7
+ data.tar.gz: e4b71f56ea860b101333e6ee5452aed7e948e80228e61269003add938e1d68e1b3da0714651783305e8ebf08eeb5712f5c260dd987ebd55170cf1d35b310c251
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  This is a Ruby library that implements the host side of the [Embedded Sass protocol](https://github.com/sass/sass/blob/HEAD/spec/embedded-protocol.md).
7
7
 
8
- It exposes a Ruby API for Sass that's backed by a native [Dart Sass](https://sass-lang.com/dart-sass) executable.
8
+ It exposes a Ruby API for Sass that's backed by a native [Dart Sass](https://sass-lang.com/dart-sass) executable on [supported hardware architectures and platforms](https://dart.dev/get-dart#system-requirements) or a Node.js Dart Sass executable everywhere else.
9
9
 
10
10
  ## Install
11
11
 
data/exe/sass CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require_relative '../ext/sass/cli'
4
+ require 'sass/cli'
5
5
 
6
6
  module Sass
7
7
  # The `sass` command line interface
data/ext/sass/Rakefile CHANGED
@@ -1,5 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ dest = File.absolute_path('sass', ENV.fetch('RUBYARCHDIR', File.absolute_path('../../lib', __dir__)))
4
+ FileUtils.mkdir_p(dest)
5
+ Dir.chdir(dest)
6
+
3
7
  require 'rake/clean'
4
8
 
5
9
  require_relative '../../lib/sass/elf'
@@ -8,9 +12,7 @@ ELF = Sass.const_get(:ELF)
8
12
 
9
13
  task default: %i[install clean]
10
14
 
11
- task install: %w[cli.rb] do
12
- Rake::Task['embedded_sass_pb.rb'].invoke unless File.exist?('embedded_sass_pb.rb')
13
- end
15
+ task install: %w[cli.rb]
14
16
 
15
17
  CLEAN.include %w[
16
18
  protoc.exe
@@ -57,6 +59,11 @@ rescue StandardError
57
59
  end
58
60
 
59
61
  file 'node_modules/sass' do
62
+ cp File.absolute_path('package.json', __dir__), './'
63
+
64
+ # TODO: remove after https://github.com/sass/dart-sass/pull/2413
65
+ cp File.absolute_path("sass-#{SassConfig.dart_sass_version}.tgz", __dir__), './'
66
+
60
67
  sh 'npm', 'install'
61
68
  rescue StandardError
62
69
  begin
@@ -135,7 +142,7 @@ file 'cli.rb' => %w[dart-sass] do |t|
135
142
  File.write(t.name, <<~CLI_RB)
136
143
  # frozen_string_literal: true
137
144
 
138
- require_relative '../../lib/sass/elf'
145
+ require 'sass/elf'
139
146
 
140
147
  module Sass
141
148
  module CLI
@@ -487,7 +494,9 @@ module SassConfig
487
494
  end
488
495
 
489
496
  def dart_sass_version
490
- package_json['dependencies']['sass']
497
+ package_json(__dir__)['dependencies']['sass']
498
+ # TODO: remove after https://github.com/sass/dart-sass/pull/2413
499
+ .delete_prefix('file:sass-').delete_suffix('.tgz')
491
500
  end
492
501
 
493
502
  def dart_sass
@@ -606,8 +615,6 @@ module SassConfig
606
615
  tag_name = JSON.parse(version)['protocolVersion']
607
616
 
608
617
  "https://github.com/sass/sass/raw/embedded-protocol-#{tag_name}/spec/embedded_sass.proto"
609
- rescue StandardError # TODO: remove after https://github.com/sass/dart-sass/pull/2413
610
- 'https://github.com/sass/sass/raw/HEAD/spec/embedded_sass.proto'
611
618
  end
612
619
 
613
620
  def development?
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "dependencies": {
3
- "sass": "1.93.2"
3
+ "sass": "file:sass-1.93.3.tgz"
4
4
  }
5
5
  }
Binary file
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'open3'
4
4
 
5
- require_relative '../../../ext/sass/cli'
5
+ require 'sass/cli'
6
6
 
7
7
  module Sass
8
8
  class Compiler
data/lib/sass/compiler.rb CHANGED
@@ -11,6 +11,7 @@ require_relative 'embedded/version'
11
11
  require_relative 'embedded_protocol'
12
12
  require_relative 'exception'
13
13
  require_relative 'fork_tracker'
14
+ require_relative 'gem_package_importer'
14
15
  require_relative 'logger/silent'
15
16
  require_relative 'logger/source_location'
16
17
  require_relative 'logger/source_span'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sass
4
4
  module Embedded
5
- VERSION = '1.93.2'
5
+ VERSION = '1.93.3'
6
6
  end
7
7
  end
@@ -3,7 +3,7 @@
3
3
  module Sass
4
4
  # @see https://github.com/sass/sass/blob/HEAD/spec/embedded-protocol.md
5
5
  module EmbeddedProtocol
6
- require_relative '../../ext/sass/embedded_sass_pb'
6
+ require_relative 'embedded_sass_pb'
7
7
  end
8
8
 
9
9
  private_constant :EmbeddedProtocol
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sass
4
+ # The built-in RubyGems package importer. This loads pkg: URLs from gems.
5
+ class GemPackageImporter
6
+ # @!visibility private
7
+ def find_file_url(url, _canonicalize_context)
8
+ return unless url.start_with?('pkg:')
9
+
10
+ library, _, path = url[4..].partition(/[#?]/).first.partition('/')
11
+ gem_dir = Gem::Dependency.new(library).to_spec.gem_dir
12
+ gem_dir = "/#{gem_dir}" unless gem_dir.start_with?('/')
13
+
14
+ "file://#{gem_dir.gsub(/[#%?\\]/, { '#' => '%23', '%' => '%25', '?' => '%3F', '\\' => '%5C' })}/#{path}"
15
+ rescue Gem::MissingSpecError
16
+ nil
17
+ end
18
+ end
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass-embedded
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.93.2
4
+ version: 1.93.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - なつき
@@ -51,8 +51,8 @@ files:
51
51
  - README.md
52
52
  - exe/sass
53
53
  - ext/sass/Rakefile
54
- - ext/sass/embedded_sass_pb.rb
55
54
  - ext/sass/package.json
55
+ - ext/sass/sass-1.93.3.tgz
56
56
  - lib/sass-embedded.rb
57
57
  - lib/sass/calculation_value.rb
58
58
  - lib/sass/calculation_value/calculation_operation.rb
@@ -73,8 +73,10 @@ files:
73
73
  - lib/sass/embedded.rb
74
74
  - lib/sass/embedded/version.rb
75
75
  - lib/sass/embedded_protocol.rb
76
+ - lib/sass/embedded_sass_pb.rb
76
77
  - lib/sass/exception.rb
77
78
  - lib/sass/fork_tracker.rb
79
+ - lib/sass/gem_package_importer.rb
78
80
  - lib/sass/logger/silent.rb
79
81
  - lib/sass/logger/source_location.rb
80
82
  - lib/sass/logger/source_span.rb
@@ -123,8 +125,8 @@ licenses:
123
125
  - MIT
124
126
  metadata:
125
127
  bug_tracker_uri: https://github.com/sass-contrib/sass-embedded-host-ruby/issues
126
- documentation_uri: https://rubydoc.info/gems/sass-embedded/1.93.2
127
- source_code_uri: https://github.com/sass-contrib/sass-embedded-host-ruby/tree/v1.93.2
128
+ documentation_uri: https://rubydoc.info/gems/sass-embedded/1.93.3
129
+ source_code_uri: https://github.com/sass-contrib/sass-embedded-host-ruby/tree/v1.93.3
128
130
  funding_uri: https://github.com/sponsors/ntkme
129
131
  rubygems_mfa_required: 'true'
130
132
  rdoc_options: []
File without changes