al_folio_upgrade 1.0.0 → 1.0.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: 91910554f7cb55cf4d0183137c940f89c90770981a1094e471b51cd034044fc9
4
- data.tar.gz: 5c4d24dbbec94b1169f39955a0c33986d43957ac6a9b995f1f324594fca342c8
3
+ metadata.gz: 311c5c378bf84cb75344dad471da0f2638381cf02bbc3fa0df7efb2334d4d2dc
4
+ data.tar.gz: 3a105b308d61ea92afee0d7c2cc3c5dfe98a0a1038bb2bf1aa58f3c45eb30ce0
5
5
  SHA512:
6
- metadata.gz: a2dfa76729a1c268b5d7f0215721833e0caf8112e6e9bcf0550ed79532c1c7889e46ec215ea2a67f85dd723cc87f0acd5eae847f2b5de08a9cbcad3eab3c3e72
7
- data.tar.gz: 84bd06b00efebb6668cb4992e58f7b2d67a310c120c3d0462700096d1e67392cb12366e9ce2cd1f9a9200438fa97f312cc2d014dcb9e0eba9d24865d5bf8974c
6
+ metadata.gz: ece6ab6b41a0afcf7d92a85e73407708451df2e3914031a39518d11c13e45df25625b5bc47fbc93a609920efb7ff9dd543adc29994b2a932770d844c60a80a96
7
+ data.tar.gz: b90842fe6f7b7a6ef987a725cf06c7df0885991407b832cf0fbbcd9a8df4ebd5ee3a8b62df69257b2ce110609fb333fae264cda54fb1c078de010866c49c6979
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
1
  # Changelog
2
2
 
3
- ## 1.0.0 - 2026-02-08\n- Initial release.\n- Added `al-folio upgrade audit`, `al-folio upgrade apply --safe`, and `al-folio upgrade report`.
3
+ ## 1.0.2 - 2026-05-24
4
+
5
+ - Expanded upgrade audit coverage for legacy local plugins and runtime assets that are now owned by v1 feature gems.
6
+
7
+ ## 1.0.1 - 2026-02-17
8
+
9
+ - Added ownership-aware checks for plugin-owned local runtime assets (icons/search paths).
10
+ - Added config contract warning when `al_icons` is missing from plugin wiring.
11
+
12
+ ## 1.0.0 - 2026-02-08
13
+
14
+ - Initial release.
15
+ - Added `al-folio upgrade audit`, `al-folio upgrade apply --safe`, and `al-folio upgrade report`.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Al-Folio Upgrade
1
+ # al-folio-upgrade
2
2
 
3
- Upgrade CLI for al-folio v1.x.
3
+ `al_folio_upgrade` is the upgrade CLI for `al-folio` v1.x.
4
4
 
5
5
  ## Commands
6
6
 
@@ -11,7 +11,18 @@ Upgrade CLI for al-folio v1.x.
11
11
  ## What it checks
12
12
 
13
13
  - Core config contract (`al_folio.*`, Tailwind, Distill)
14
+ - Required plugin ownership wiring (for example `al_icons`)
14
15
  - Legacy Bootstrap/jQuery markers
15
16
  - Distill remote-loader policy
16
17
  - Local override drift when `theme: al_folio_core` is enabled
18
+ - Plugin-owned local asset drift (for example copied search, icon, Distill, citation, and external-post runtime files)
17
19
  - Migration manifest availability from `al_folio_core`
20
+
21
+ ## Ecosystem context
22
+
23
+ - Starter execution/docs live in `al-folio`.
24
+ - Upgrade policy/audit behavior is owned by this plugin.
25
+
26
+ ## Contributing
27
+
28
+ Audit/apply/report logic updates should be proposed in this repository.
@@ -59,6 +59,21 @@ module AlFolioUpgrade
59
59
  tailwind.config.js
60
60
  ].freeze
61
61
 
62
+ PLUGIN_OWNED_LOCAL_PATHS = {
63
+ "_plugins/external-posts.rb" => "al_ext_posts",
64
+ "_plugins/google-scholar-citations.rb" => "al_citations",
65
+ "_plugins/inspirehep-citations.rb" => "al_citations",
66
+ "_plugins/hide-custom-bibtex.rb" => "al_folio_core",
67
+ "_plugins/details.rb" => "al_folio_core",
68
+ "_plugins/file-exists.rb" => "al_folio_core",
69
+ "_plugins/remove-accents.rb" => "al_folio_core",
70
+ "assets/js/distillpub/**/*" => "al_folio_distill",
71
+ "assets/js/search/**/*" => "al_search",
72
+ "assets/webfonts/**/*" => "al_icons",
73
+ "assets/fonts/academicons.*" => "al_icons",
74
+ "assets/fonts/scholar-icons.*" => "al_icons"
75
+ }.freeze
76
+
62
77
  def initialize(root: Dir.pwd, stdout: $stdout, stderr: $stderr)
63
78
  @root = Pathname.new(root)
64
79
  @stdout = stdout
@@ -139,6 +154,7 @@ module AlFolioUpgrade
139
154
  check_legacy_patterns(findings)
140
155
  check_distill_runtime(findings)
141
156
  check_core_override_drift(findings)
157
+ check_plugin_owned_local_assets(findings)
142
158
  findings
143
159
  end
144
160
 
@@ -220,6 +236,18 @@ module AlFolioUpgrade
220
236
  snippet: "Add al_folio.distill.engine/source/allow_remote_loader."
221
237
  )
222
238
  end
239
+
240
+ plugins = Array(parsed["plugins"]).map(&:to_s)
241
+ return if plugins.include?("al_icons")
242
+
243
+ findings << Finding.new(
244
+ id: "missing_al_icons_plugin",
245
+ severity: :warning,
246
+ message: "Missing `al_icons` in plugin list; icon runtime ownership moved out of core.",
247
+ file: "_config.yml",
248
+ line: 1,
249
+ snippet: "Add `- al_icons` under plugins."
250
+ )
223
251
  end
224
252
 
225
253
  def check_legacy_assets(findings)
@@ -346,6 +374,24 @@ module AlFolioUpgrade
346
374
  end
347
375
  end
348
376
 
377
+ def check_plugin_owned_local_assets(findings)
378
+ PLUGIN_OWNED_LOCAL_PATHS.each do |glob, owner_plugin|
379
+ Dir.glob(@root.join(glob)).sort.each do |path|
380
+ next unless File.file?(path)
381
+
382
+ relative = Pathname.new(path).relative_path_from(@root).to_s
383
+ findings << Finding.new(
384
+ id: "plugin_owned_local_asset",
385
+ severity: :warning,
386
+ message: "Local asset path is plugin-owned by `#{owner_plugin}` and may drift from release contracts.",
387
+ file: relative,
388
+ line: 1,
389
+ snippet: "Prefer plugin-managed runtime assets for this path."
390
+ )
391
+ end
392
+ end
393
+ end
394
+
349
395
  def each_candidate_file
350
396
  FILE_GLOBS.each do |glob|
351
397
  Dir.glob(@root.join(glob)).sort.each do |path|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AlFolioUpgrade
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: al_folio_upgrade
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - al-folio maintainers
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2026-02-16 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: jekyll
@@ -120,7 +119,6 @@ metadata:
120
119
  allowed_push_host: https://rubygems.org
121
120
  homepage_uri: https://github.com/al-org-dev/al-folio-upgrade
122
121
  source_code_uri: https://github.com/al-org-dev/al-folio-upgrade
123
- post_install_message:
124
122
  rdoc_options: []
125
123
  require_paths:
126
124
  - lib
@@ -135,8 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
133
  - !ruby/object:Gem::Version
136
134
  version: '0'
137
135
  requirements: []
138
- rubygems_version: 3.4.10
139
- signing_key:
136
+ rubygems_version: 4.0.6
140
137
  specification_version: 4
141
138
  summary: Upgrade tooling for al-folio v1.x
142
139
  test_files: []