klenod-plugin-css 0.0.5 → 0.0.6
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/ext/native/Cargo.lock +30 -25
- data/ext/native/Cargo.toml +2 -2
- data/lib/klenod/build/plugins/css_plugin.rb +17 -14
- data/lib/klenod/plugin/css/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bb6a9c2b39e44a14ae05b4445444231509e1aa1a0380acc9fe51177814127a9c
|
|
4
|
+
data.tar.gz: 47a183b31475bb5bd18ca1edb3b685ab3bfb3d586757d04a71352aab251e3848
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e1ee8bab41c9af460f9c22634b128813387984c505ae86445f250dec8148c60d7d4e86588f2c0dd6c29cb550ec0045945aa2834f39c13e1cf75b5388ff4a9fca
|
|
7
|
+
data.tar.gz: 9a52f63c9a834f3c174ce3ce2ae0f5cb668c5d5658bde162c5d460854570ba8363b591795087779174e219656daae876782f32b8ace18d9f78019db951f4e932
|
data/ext/native/Cargo.lock
CHANGED
|
@@ -37,9 +37,9 @@ dependencies = [
|
|
|
37
37
|
|
|
38
38
|
[[package]]
|
|
39
39
|
name = "base64"
|
|
40
|
-
version = "0.
|
|
40
|
+
version = "0.23.1"
|
|
41
41
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
42
|
-
checksum = "
|
|
42
|
+
checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5"
|
|
43
43
|
|
|
44
44
|
[[package]]
|
|
45
45
|
name = "base64-simd"
|
|
@@ -91,11 +91,11 @@ dependencies = [
|
|
|
91
91
|
|
|
92
92
|
[[package]]
|
|
93
93
|
name = "block-buffer"
|
|
94
|
-
version = "0.
|
|
94
|
+
version = "0.12.1"
|
|
95
95
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
96
|
-
checksum = "
|
|
96
|
+
checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa"
|
|
97
97
|
dependencies = [
|
|
98
|
-
"
|
|
98
|
+
"hybrid-array",
|
|
99
99
|
]
|
|
100
100
|
|
|
101
101
|
[[package]]
|
|
@@ -158,6 +158,12 @@ dependencies = [
|
|
|
158
158
|
"libloading",
|
|
159
159
|
]
|
|
160
160
|
|
|
161
|
+
[[package]]
|
|
162
|
+
name = "const-oid"
|
|
163
|
+
version = "0.10.2"
|
|
164
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
165
|
+
checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c"
|
|
166
|
+
|
|
161
167
|
[[package]]
|
|
162
168
|
name = "const-str"
|
|
163
169
|
version = "1.1.0"
|
|
@@ -175,9 +181,9 @@ dependencies = [
|
|
|
175
181
|
|
|
176
182
|
[[package]]
|
|
177
183
|
name = "cpufeatures"
|
|
178
|
-
version = "0.
|
|
184
|
+
version = "0.3.1"
|
|
179
185
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
180
|
-
checksum = "
|
|
186
|
+
checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566"
|
|
181
187
|
dependencies = [
|
|
182
188
|
"libc",
|
|
183
189
|
]
|
|
@@ -209,12 +215,11 @@ checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
|
|
|
209
215
|
|
|
210
216
|
[[package]]
|
|
211
217
|
name = "crypto-common"
|
|
212
|
-
version = "0.
|
|
218
|
+
version = "0.2.2"
|
|
213
219
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
214
|
-
checksum = "
|
|
220
|
+
checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453"
|
|
215
221
|
dependencies = [
|
|
216
|
-
"
|
|
217
|
-
"typenum",
|
|
222
|
+
"hybrid-array",
|
|
218
223
|
]
|
|
219
224
|
|
|
220
225
|
[[package]]
|
|
@@ -280,11 +285,12 @@ dependencies = [
|
|
|
280
285
|
|
|
281
286
|
[[package]]
|
|
282
287
|
name = "digest"
|
|
283
|
-
version = "0.
|
|
288
|
+
version = "0.11.3"
|
|
284
289
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
285
|
-
checksum = "
|
|
290
|
+
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
|
|
286
291
|
dependencies = [
|
|
287
292
|
"block-buffer",
|
|
293
|
+
"const-oid",
|
|
288
294
|
"crypto-common",
|
|
289
295
|
]
|
|
290
296
|
|
|
@@ -351,16 +357,6 @@ dependencies = [
|
|
|
351
357
|
"slab",
|
|
352
358
|
]
|
|
353
359
|
|
|
354
|
-
[[package]]
|
|
355
|
-
name = "generic-array"
|
|
356
|
-
version = "0.14.7"
|
|
357
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
358
|
-
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
|
|
359
|
-
dependencies = [
|
|
360
|
-
"typenum",
|
|
361
|
-
"version_check",
|
|
362
|
-
]
|
|
363
|
-
|
|
364
360
|
[[package]]
|
|
365
361
|
name = "getrandom"
|
|
366
362
|
version = "0.2.17"
|
|
@@ -411,6 +407,15 @@ version = "0.17.1"
|
|
|
411
407
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
412
408
|
checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
|
|
413
409
|
|
|
410
|
+
[[package]]
|
|
411
|
+
name = "hybrid-array"
|
|
412
|
+
version = "0.4.14"
|
|
413
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
414
|
+
checksum = "707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b"
|
|
415
|
+
dependencies = [
|
|
416
|
+
"typenum",
|
|
417
|
+
]
|
|
418
|
+
|
|
414
419
|
[[package]]
|
|
415
420
|
name = "indexmap"
|
|
416
421
|
version = "2.14.1"
|
|
@@ -1037,9 +1042,9 @@ dependencies = [
|
|
|
1037
1042
|
|
|
1038
1043
|
[[package]]
|
|
1039
1044
|
name = "sha2"
|
|
1040
|
-
version = "0.
|
|
1045
|
+
version = "0.11.0"
|
|
1041
1046
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1042
|
-
checksum = "
|
|
1047
|
+
checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4"
|
|
1043
1048
|
dependencies = [
|
|
1044
1049
|
"cfg-if",
|
|
1045
1050
|
"cpufeatures",
|
data/ext/native/Cargo.toml
CHANGED
|
@@ -8,10 +8,10 @@ name = "native"
|
|
|
8
8
|
crate-type = ["cdylib"]
|
|
9
9
|
|
|
10
10
|
[dependencies]
|
|
11
|
-
base64 = "0.
|
|
11
|
+
base64 = "0.23.1"
|
|
12
12
|
cssparser = "0.37.0"
|
|
13
13
|
lightningcss = { version = "1.0.0-alpha.70", features = ["serde", "visitor", "sourcemap"] }
|
|
14
14
|
magnus = "0.8.2"
|
|
15
15
|
parcel_sourcemap = { version = "2.1.1", features = ["json"] }
|
|
16
16
|
serde_json = "1.0.149"
|
|
17
|
-
sha2 = "0.
|
|
17
|
+
sha2 = "0.11.0"
|
|
@@ -114,20 +114,22 @@ module Klenod
|
|
|
114
114
|
resolved_dependencies,
|
|
115
115
|
dependency_records,
|
|
116
116
|
result.metadata.fetch(:external_dependencies),
|
|
117
|
+
context,
|
|
117
118
|
import_asset_type: :css_javascript_stylesheet
|
|
118
119
|
)
|
|
119
120
|
javascript_asset, javascript_source_map_asset = css_asset_pair(module_id, javascript_css_edit, :css_javascript_stylesheet, {}, context)
|
|
121
|
+
javascript_asset.url = context.asset_url(javascript_asset.output_path)
|
|
120
122
|
|
|
121
123
|
return result.with(
|
|
122
|
-
code: "Default = #{javascript_asset.
|
|
124
|
+
code: "Default = #{javascript_asset.url.inspect}\n",
|
|
123
125
|
assets: [javascript_asset, javascript_source_map_asset, *result.assets].compact,
|
|
124
126
|
metadata: result.metadata.merge(
|
|
125
|
-
css_javascript_stylesheet_path: javascript_asset.
|
|
127
|
+
css_javascript_stylesheet_path: javascript_asset.url
|
|
126
128
|
)
|
|
127
129
|
)
|
|
128
130
|
end
|
|
129
131
|
|
|
130
|
-
css_edit = finalized_css_edit(css_result, resolved_dependencies, dependency_records, result.metadata.fetch(:external_dependencies))
|
|
132
|
+
css_edit = finalized_css_edit(css_result, resolved_dependencies, dependency_records, result.metadata.fetch(:external_dependencies), context)
|
|
131
133
|
classes = finalized_css_selectors(css_result, resolved_dependencies, dependency_records)
|
|
132
134
|
asset, source_map_asset = css_asset_pair(
|
|
133
135
|
module_id,
|
|
@@ -136,12 +138,13 @@ module Klenod
|
|
|
136
138
|
{classes: classes, variables: css_result.variables},
|
|
137
139
|
context
|
|
138
140
|
)
|
|
141
|
+
asset.url = context.asset_url(asset.output_path)
|
|
139
142
|
|
|
140
143
|
result.with(
|
|
141
|
-
code: ruby_module_source(classes, asset.
|
|
144
|
+
code: ruby_module_source(classes, asset.url, styles_dependency: result.dependencies.fetch(0)),
|
|
142
145
|
assets: [asset, source_map_asset, *result.assets].compact,
|
|
143
146
|
metadata: result.metadata.merge(
|
|
144
|
-
css_asset_path: asset.
|
|
147
|
+
css_asset_path: asset.url,
|
|
145
148
|
css_classes: classes
|
|
146
149
|
)
|
|
147
150
|
)
|
|
@@ -293,8 +296,8 @@ module Klenod
|
|
|
293
296
|
false
|
|
294
297
|
end
|
|
295
298
|
|
|
296
|
-
def finalized_css_edit(css_result, resolved_dependencies, dependency_records, external_dependencies, import_asset_type: :css)
|
|
297
|
-
replace_dependencies(css_result, resolved_dependencies, dependency_records, external_dependencies, import_asset_type:)
|
|
299
|
+
def finalized_css_edit(css_result, resolved_dependencies, dependency_records, external_dependencies, context, import_asset_type: :css)
|
|
300
|
+
replace_dependencies(css_result, resolved_dependencies, dependency_records, external_dependencies, context, import_asset_type:)
|
|
298
301
|
.then { replace_variable_references(css_result, it, resolved_dependencies, dependency_records) }
|
|
299
302
|
.then { remove_empty_imports(it) }
|
|
300
303
|
end
|
|
@@ -352,7 +355,7 @@ module Klenod
|
|
|
352
355
|
offsets
|
|
353
356
|
end
|
|
354
357
|
|
|
355
|
-
def replace_dependencies(css_result, resolved_dependencies, dependency_records, external_dependencies, import_asset_type:)
|
|
358
|
+
def replace_dependencies(css_result, resolved_dependencies, dependency_records, external_dependencies, context, import_asset_type:)
|
|
356
359
|
dependencies_by_placeholder =
|
|
357
360
|
resolved_dependencies.filter_map do |resolved_dependency|
|
|
358
361
|
next unless resolved_dependency.dependency.metadata.key?(:placeholder)
|
|
@@ -368,7 +371,7 @@ module Klenod
|
|
|
368
371
|
else
|
|
369
372
|
resolved_dependency = dependencies_by_placeholder.fetch(css_dependency.placeholder)
|
|
370
373
|
record = dependency_records.fetch(resolved_dependency.dependency.id)
|
|
371
|
-
replacement_for_dependency(resolved_dependency, record, import_asset_type:)
|
|
374
|
+
replacement_for_dependency(resolved_dependency, record, context, import_asset_type:)
|
|
372
375
|
end
|
|
373
376
|
|
|
374
377
|
[css_dependency.placeholder, replacement]
|
|
@@ -410,7 +413,7 @@ module Klenod
|
|
|
410
413
|
source_map_json = source_map.to_json
|
|
411
414
|
source_map_hash = Hashing.short(source_map_json)
|
|
412
415
|
suffix = (type == :css) ? "" : ".javascript"
|
|
413
|
-
source_map_output_path = "
|
|
416
|
+
source_map_output_path = "/#{asset_name(module_id)}#{suffix}.#{source_map_hash}.css.map"
|
|
414
417
|
source_map_asset =
|
|
415
418
|
Asset.new(
|
|
416
419
|
module_id.path,
|
|
@@ -426,7 +429,7 @@ module Klenod
|
|
|
426
429
|
|
|
427
430
|
hash = Hashing.short(css)
|
|
428
431
|
suffix = (type == :css) ? "" : ".javascript"
|
|
429
|
-
output_path = "
|
|
432
|
+
output_path = "/#{asset_name(module_id)}#{suffix}.#{hash}.css"
|
|
430
433
|
asset =
|
|
431
434
|
Asset.new(
|
|
432
435
|
module_id.path,
|
|
@@ -481,7 +484,7 @@ module Klenod
|
|
|
481
484
|
end
|
|
482
485
|
end
|
|
483
486
|
|
|
484
|
-
def replacement_for_dependency(resolved_dependency, record, import_asset_type:)
|
|
487
|
+
def replacement_for_dependency(resolved_dependency, record, context, import_asset_type:)
|
|
485
488
|
case resolved_dependency.dependency.kind
|
|
486
489
|
when :css_import
|
|
487
490
|
css_asset = record.assets.find { |asset| asset.metadata[:type] == import_asset_type }
|
|
@@ -489,14 +492,14 @@ module Klenod
|
|
|
489
492
|
unless css_asset
|
|
490
493
|
raise UnsupportedFileError, "CSS @import #{resolved_dependency.dependency.specifier.inspect} from #{resolved_dependency.dependency.importer_id} resolved to module #{record.id}, which does not emit a CSS asset"
|
|
491
494
|
end
|
|
492
|
-
return (import_asset_type == :css) ? "" : css_asset.
|
|
495
|
+
return (import_asset_type == :css) ? "" : css_asset.url
|
|
493
496
|
when :asset_url
|
|
494
497
|
unless record.assets.first
|
|
495
498
|
raise UnsupportedFileError, "CSS url() #{resolved_dependency.dependency.specifier.inspect} from #{resolved_dependency.dependency.importer_id} resolved to module #{record.id}, which does not emit an asset"
|
|
496
499
|
end
|
|
497
500
|
end
|
|
498
501
|
|
|
499
|
-
record.assets.first
|
|
502
|
+
record.assets.first ? record.assets.first.url : record.id.to_s
|
|
500
503
|
end
|
|
501
504
|
|
|
502
505
|
def external_url?(value)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: klenod-plugin-css
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrés Alin
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.0.
|
|
18
|
+
version: 0.0.6
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.0.
|
|
25
|
+
version: 0.0.6
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: rb_sys
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -81,7 +81,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
81
81
|
requirements:
|
|
82
82
|
- - ">="
|
|
83
83
|
- !ruby/object:Gem::Version
|
|
84
|
-
version: 4.0
|
|
84
|
+
version: '4.0'
|
|
85
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - ">="
|