klenod-plugin-javascript 0.0.2 → 0.0.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: 1a8ecb2311684d3e57b8e2a90c418ca6369c70dc948039be0a07767b9f7c14f2
4
- data.tar.gz: 641f4e9be5186859a4442dd4a6c85905289cadd2c4a5188d8fdf16f657a1450e
3
+ metadata.gz: 69a554338aefbe5d50551081fb54ca1d1c5ff0488bc4700cd6c4647c1aedab58
4
+ data.tar.gz: d2dba4bdbd6205eb1f42cc4f2ee3288012ddb8a11aeaf4223e4522fee3d0c13d
5
5
  SHA512:
6
- metadata.gz: 4b5d598b046877a5ffddeb9855b0054d15baab810ef4d515f4cae01cf4f9aff962deb507e71ab7b47159aa84595cd985e176024113bc0990d89a144c5055141f
7
- data.tar.gz: 1e9e51a76b7b507afcdd4f7f77cb2a72c9f8925ad3dbf302084de0db6463467db3190b27b1a7d7807ba40b183d4850ea765e87a13c5903bd525c1aa55a762414
6
+ metadata.gz: 295b0a0b5cccaca1fb61936ccbbb209f6d65575f28880923b5d43b301f40d5367b25c6d521f2bb3bb23e24e259f10dbbb454b1428b7b26f53d6d0506c86b6a4f
7
+ data.tar.gz: 8aebba4f7aac2da07f733d08bb77bebed7f9f99eaf7b2dac77fa5662a35d587f9faca178f470b6fa7e3b9a8260925513515d06c1b6a0a8adf5a5d8a8f4771f9a
data/README.md CHANGED
@@ -8,6 +8,7 @@ It:
8
8
  - collects static imports, re-exports, and string-literal dynamic imports
9
9
  - transforms JavaScript, TypeScript, JSX, and TSX
10
10
  - rewrites local imports to content-hashed asset paths
11
+ - emits image and SVG wrappers backed by shared `ImageBase`, `ImageMetadata`, `ImageVariant`, and `SvgMetadata` classes, with frozen concrete metadata values, only for assets imported from JavaScript
11
12
  - preserves external URL imports
12
13
 
13
14
  Bare package imports and npm resolution are not currently supported.
@@ -4,6 +4,7 @@ require "klenod/build/asset"
4
4
  require "klenod/build/dependency"
5
5
  require "klenod/build/errors"
6
6
  require "klenod/build/hashing"
7
+ require "klenod/build/plugins/asset_javascript_metadata"
7
8
  require "klenod/build/load_result"
8
9
  require "klenod/build/module_id"
9
10
  require "klenod/build/plugin"
@@ -283,21 +284,24 @@ module Klenod
283
284
  end
284
285
 
285
286
  def asset_javascript_asset_path(record)
286
- record.metadata[:image_javascript_asset_path] || record.metadata[:svg_javascript_asset_path]
287
+ asset_javascript_metadata_asset(record)&.output_path
287
288
  end
288
289
 
289
290
  def asset_javascript_assets(resolved_dependencies, dependency_records)
290
- resolved_dependencies.filter_map do |resolved_dependency|
291
+ assets = resolved_dependencies.filter_map do |resolved_dependency|
291
292
  record = dependency_records.fetch(resolved_dependency.dependency.id)
292
- asset = record.assets.find { asset_javascript_metadata?(it) }
293
+ asset = asset_javascript_metadata_asset(record)
293
294
  next unless asset
294
295
 
295
296
  javascript_asset(asset)
296
297
  end
298
+ return assets if assets.empty?
299
+
300
+ [*assets, AssetJavaScriptMetadata.asset]
297
301
  end
298
302
 
299
- def asset_javascript_metadata?(asset)
300
- asset.metadata[:type] == :image_javascript_metadata || asset.metadata[:type] == :svg_javascript_metadata
303
+ def asset_javascript_metadata_asset(record)
304
+ record.metadata[:image_javascript_asset] || record.metadata[:svg_javascript_asset]
301
305
  end
302
306
 
303
307
  def javascript_asset(asset)
@@ -4,7 +4,7 @@ module Klenod
4
4
  module Build
5
5
  module Plugins
6
6
  module JavaScriptPlugin
7
- VERSION = "0.0.2"
7
+ VERSION = "0.0.3"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: klenod-plugin-javascript
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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.2
18
+ version: 0.0.3
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.2
25
+ version: 0.0.3
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rb_sys
28
28
  requirement: !ruby/object:Gem::Requirement