sass-embedded 1.93.2 → 1.94.2

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: 592760481cef8fc78c82dbf2aa3fae1ee17959b131ffb4aeb837d00560602a14
4
+ data.tar.gz: 6bce6a2b48dcdbb3a507cd7a64249870a6d204382eaa4464c95ee716b66b1d0f
5
5
  SHA512:
6
- metadata.gz: e1065fef7644a6b34f81da204d9c0c234f34c3c148f3c55b19749b6256cfd8a29c78790defc32d7249654f5775aea8230feb5720db2b3426423bf30eaff6c458
7
- data.tar.gz: abaf76d8d3d6d6c79c92562e359f836e2ceb541973fcd694d8a52e8193dfddba8688afadbe634c28b2dfc40c05289cd746189df16356ba662b66c14c86f22c5e
6
+ metadata.gz: ba978f37924c71183725144681c9ef2868238248883dd2ec91257138efae09f3ca2de1cadac04459b8b326290700d2ca295ac3758e8d0acc9a85ca97dd8b7f24
7
+ data.tar.gz: 5e9ffecf35daa73416c0043c8c996be65da95e01501dea74a4de93204797251e3f6ab6765a1a2cfac3681a277d5a57b20051ee193a290b8151b90e4db3b5980c
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
@@ -47,7 +49,7 @@ end
47
49
  file 'dart-sass/sass' do
48
50
  gem_install 'sass-embedded', SassConfig.gem_version, SassConfig.gem_platform do |installer|
49
51
  gh_attestation_verify(installer.gem, repo: 'sass-contrib/sass-embedded-host-ruby')
50
- mv File.absolute_path('ext/sass/dart-sass', installer.gem_dir), 'dart-sass'
52
+ mv File.absolute_path('lib/sass/dart-sass', installer.gem_dir), 'dart-sass'
51
53
  end
52
54
  rescue StandardError
53
55
  archive = fetch(SassConfig.dart_sass)
@@ -57,15 +59,22 @@ rescue StandardError
57
59
  end
58
60
 
59
61
  file 'node_modules/sass' do
60
- sh 'npm', 'install'
61
- rescue StandardError
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
+
62
67
  begin
63
- sh 'yarn', 'install'
68
+ sh 'npm', 'install'
64
69
  rescue StandardError
65
70
  begin
66
- sh 'pnpm', 'install'
71
+ sh 'yarn', 'install'
67
72
  rescue StandardError
68
- sh 'bun', 'install'
73
+ begin
74
+ sh 'pnpm', 'install'
75
+ rescue StandardError
76
+ sh 'bun', 'install'
77
+ end
69
78
  end
70
79
  end
71
80
  end
@@ -135,7 +144,7 @@ file 'cli.rb' => %w[dart-sass] do |t|
135
144
  File.write(t.name, <<~CLI_RB)
136
145
  # frozen_string_literal: true
137
146
 
138
- require_relative '../../lib/sass/elf'
147
+ require 'sass/elf'
139
148
 
140
149
  module Sass
141
150
  module CLI
@@ -487,7 +496,9 @@ module SassConfig
487
496
  end
488
497
 
489
498
  def dart_sass_version
490
- package_json['dependencies']['sass']
499
+ package_json(__dir__)['dependencies']['sass']
500
+ # TODO: remove after https://github.com/sass/dart-sass/pull/2413
501
+ .delete_prefix('file:sass-').delete_suffix('.tgz')
491
502
  end
492
503
 
493
504
  def dart_sass
@@ -606,8 +617,6 @@ module SassConfig
606
617
  tag_name = JSON.parse(version)['protocolVersion']
607
618
 
608
619
  "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
620
  end
612
621
 
613
622
  def development?
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "dependencies": {
3
- "sass": "1.93.2"
3
+ "sass": "file:sass-1.94.2.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.94.2'
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.94.2
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.94.2.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.94.2
129
+ source_code_uri: https://github.com/sass-contrib/sass-embedded-host-ruby/tree/v1.94.2
128
130
  funding_uri: https://github.com/sponsors/ntkme
129
131
  rubygems_mfa_required: 'true'
130
132
  rdoc_options: []
File without changes