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 +4 -4
- data/CHANGELOG.md +13 -1
- data/README.md +13 -2
- data/lib/al_folio_upgrade/cli.rb +46 -0
- data/lib/al_folio_upgrade/version.rb +1 -1
- metadata +3 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 311c5c378bf84cb75344dad471da0f2638381cf02bbc3fa0df7efb2334d4d2dc
|
|
4
|
+
data.tar.gz: 3a105b308d61ea92afee0d7c2cc3c5dfe98a0a1038bb2bf1aa58f3c45eb30ce0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
-
#
|
|
1
|
+
# al-folio-upgrade
|
|
2
2
|
|
|
3
|
-
|
|
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.
|
data/lib/al_folio_upgrade/cli.rb
CHANGED
|
@@ -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|
|
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.
|
|
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:
|
|
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:
|
|
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: []
|