klenod-plugin-css 0.0.14 → 0.0.15

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: 3645cdc43457a3f585e7c94e1f0cce7d9998a8e0db1d7254c1975816448f5f32
4
- data.tar.gz: cf0d7d162055eac97477aea5fbd880bc87e5c0bb150077f2f095e2024ca96117
3
+ metadata.gz: ed46edbabbf73e9d8f5d30187c19a946ea8593d22c055cc42d299389579c9a64
4
+ data.tar.gz: 4d42b67e82c23c8acba8e54a9762f9e54dc942fde38bc8d69cd8c01038dec9f3
5
5
  SHA512:
6
- metadata.gz: d52f8ee81bc9564e8c569349412f64d4d05cca2e51796cae3f4b86654781df11b67f3754d20ae712399a9dd61c55cc875a92294d804f96eb6c48672a112ca205
7
- data.tar.gz: 19c25d7d56fdfe0ccb6cc379949d960aadd4217dc6c2771e32c88a33771dcb5b876638b4639d0eab48fe3b0c07f130e8be88f1cfb7128ea959cda8c5543d0ea2
6
+ metadata.gz: '08d2e6445114ff8a75831216aff6a3bde58c34deb1a62ae9051bd8a47c864238f63a138b4a77a2a31369ea55d8287d7907812abde044c1840d52da49c7405fad'
7
+ data.tar.gz: 80c88fcaf3402f8a0a7522103a4b418dfa1d866dacb31ed5f82dd5fdcf6bf7313d88b4610249f058336a209076781be995507c053c0c3496b2b86c7bf482841d
@@ -108,6 +108,7 @@ module Klenod
108
108
  css_result = result.metadata[:css_result]
109
109
  javascript_only = result.metadata[:css_javascript_only]
110
110
  return result unless css_result || javascript_only
111
+ return analysis_finalize(module_id, result, resolved_dependencies, dependency_records, context) if context.analysis?
111
112
 
112
113
  if javascript_only
113
114
  javascript_css_edit = finalized_css_edit(
@@ -411,6 +412,38 @@ module Klenod
411
412
  CssEdit.new(edited.code, edited.source_map)
412
413
  end
413
414
 
415
+ # Analysis keeps the resolved class map and an asset reference for
416
+ # importers, but skips import rewriting and source maps.
417
+ def analysis_finalize(module_id, result, resolved_dependencies, dependency_records, context)
418
+ if result.metadata[:css_javascript_only]
419
+ asset = analysis_css_asset(module_id, result.metadata.fetch(:css_javascript_result).code, :css_javascript_stylesheet, {})
420
+ asset.url = context.asset_url(asset.output_path)
421
+
422
+ return result.with(
423
+ code: "Default = #{asset.url.inspect}\n",
424
+ assets: [asset, *result.assets],
425
+ metadata: result.metadata.merge(css_javascript_stylesheet_path: asset.url)
426
+ )
427
+ end
428
+
429
+ css_result = result.metadata.fetch(:css_result)
430
+ classes = finalized_css_selectors(css_result, resolved_dependencies, dependency_records)
431
+ asset = analysis_css_asset(module_id, css_result.code, :css, {classes: classes, variables: css_result.variables})
432
+ asset.url = context.asset_url(asset.output_path)
433
+
434
+ result.with(
435
+ code: ruby_module_source(classes, asset.url, styles_dependency: result.dependencies.fetch(0)),
436
+ assets: [asset, *result.assets],
437
+ metadata: result.metadata.merge(css_asset_path: asset.url, css_classes: classes)
438
+ )
439
+ end
440
+
441
+ def analysis_css_asset(module_id, css, type, metadata)
442
+ hash = Hashing.short(css)
443
+ suffix = (type == :css) ? "" : ".javascript"
444
+ Asset.new(module_id.path, hash, "/#{asset_name(module_id)}#{suffix}.#{hash}.css", nil, css, "text/css", metadata.merge(type: type))
445
+ end
446
+
414
447
  def css_asset_pair(module_id, css_edit, type, metadata, context)
415
448
  source_map_asset = nil
416
449
  css = css_edit.code
@@ -4,7 +4,7 @@ module Klenod
4
4
  module Build
5
5
  module Plugins
6
6
  module CSSPlugin
7
- VERSION = "0.0.14"
7
+ VERSION = "0.0.15"
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-css
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
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.14
18
+ version: 0.0.15
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.14
25
+ version: 0.0.15
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rb_sys
28
28
  requirement: !ruby/object:Gem::Requirement