al_folio_upgrade 1.0.0 → 1.0.1
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 +9 -1
- data/README.md +2 -0
- data/lib/al_folio_upgrade/cli.rb +38 -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: bd88cb1402a827eabf6aa0071e3acdc3d5fcca076ded19ce25f1e5429cec47c9
|
|
4
|
+
data.tar.gz: 750cf28549ed799b5db297429c150bf6c4d3e2bb960d89b4ac2c751de2657aa1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fce9205106f25d2844fcb7a6088bc5f9679f6535a09456ebfa3bbc987c0cbf5cfce9865335b27a4b3e99b69c53616a248f321efa7504ce9c101c93aeba9c88eb
|
|
7
|
+
data.tar.gz: d71f687b9bd95392a617ab21f945d45d32470f3a43336b266b77ae4396ff7d1c641f43ee348c92581eec7f966d6a9af0376c26178051f694be148acc2fb3cf60
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 1.0.
|
|
3
|
+
## 1.0.1 - 2026-02-17
|
|
4
|
+
|
|
5
|
+
- Added ownership-aware checks for plugin-owned local runtime assets (icons/search paths).
|
|
6
|
+
- Added config contract warning when `al_icons` is missing from plugin wiring.
|
|
7
|
+
|
|
8
|
+
## 1.0.0 - 2026-02-08
|
|
9
|
+
|
|
10
|
+
- Initial release.
|
|
11
|
+
- Added `al-folio upgrade audit`, `al-folio upgrade apply --safe`, and `al-folio upgrade report`.
|
data/README.md
CHANGED
|
@@ -11,7 +11,9 @@ 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 search/icon runtime files copied into starter paths)
|
|
17
19
|
- Migration manifest availability from `al_folio_core`
|
data/lib/al_folio_upgrade/cli.rb
CHANGED
|
@@ -59,6 +59,13 @@ module AlFolioUpgrade
|
|
|
59
59
|
tailwind.config.js
|
|
60
60
|
].freeze
|
|
61
61
|
|
|
62
|
+
PLUGIN_OWNED_LOCAL_PATHS = {
|
|
63
|
+
"assets/js/search/**/*" => "al_search",
|
|
64
|
+
"assets/webfonts/**/*" => "al_icons",
|
|
65
|
+
"assets/fonts/academicons.*" => "al_icons",
|
|
66
|
+
"assets/fonts/scholar-icons.*" => "al_icons"
|
|
67
|
+
}.freeze
|
|
68
|
+
|
|
62
69
|
def initialize(root: Dir.pwd, stdout: $stdout, stderr: $stderr)
|
|
63
70
|
@root = Pathname.new(root)
|
|
64
71
|
@stdout = stdout
|
|
@@ -139,6 +146,7 @@ module AlFolioUpgrade
|
|
|
139
146
|
check_legacy_patterns(findings)
|
|
140
147
|
check_distill_runtime(findings)
|
|
141
148
|
check_core_override_drift(findings)
|
|
149
|
+
check_plugin_owned_local_assets(findings)
|
|
142
150
|
findings
|
|
143
151
|
end
|
|
144
152
|
|
|
@@ -220,6 +228,18 @@ module AlFolioUpgrade
|
|
|
220
228
|
snippet: "Add al_folio.distill.engine/source/allow_remote_loader."
|
|
221
229
|
)
|
|
222
230
|
end
|
|
231
|
+
|
|
232
|
+
plugins = Array(parsed["plugins"]).map(&:to_s)
|
|
233
|
+
return if plugins.include?("al_icons")
|
|
234
|
+
|
|
235
|
+
findings << Finding.new(
|
|
236
|
+
id: "missing_al_icons_plugin",
|
|
237
|
+
severity: :warning,
|
|
238
|
+
message: "Missing `al_icons` in plugin list; icon runtime ownership moved out of core.",
|
|
239
|
+
file: "_config.yml",
|
|
240
|
+
line: 1,
|
|
241
|
+
snippet: "Add `- al_icons` under plugins."
|
|
242
|
+
)
|
|
223
243
|
end
|
|
224
244
|
|
|
225
245
|
def check_legacy_assets(findings)
|
|
@@ -346,6 +366,24 @@ module AlFolioUpgrade
|
|
|
346
366
|
end
|
|
347
367
|
end
|
|
348
368
|
|
|
369
|
+
def check_plugin_owned_local_assets(findings)
|
|
370
|
+
PLUGIN_OWNED_LOCAL_PATHS.each do |glob, owner_plugin|
|
|
371
|
+
Dir.glob(@root.join(glob)).sort.each do |path|
|
|
372
|
+
next unless File.file?(path)
|
|
373
|
+
|
|
374
|
+
relative = Pathname.new(path).relative_path_from(@root).to_s
|
|
375
|
+
findings << Finding.new(
|
|
376
|
+
id: "plugin_owned_local_asset",
|
|
377
|
+
severity: :warning,
|
|
378
|
+
message: "Local asset path is plugin-owned by `#{owner_plugin}` and may drift from release contracts.",
|
|
379
|
+
file: relative,
|
|
380
|
+
line: 1,
|
|
381
|
+
snippet: "Prefer plugin-managed runtime assets for this path."
|
|
382
|
+
)
|
|
383
|
+
end
|
|
384
|
+
end
|
|
385
|
+
end
|
|
386
|
+
|
|
349
387
|
def each_candidate_file
|
|
350
388
|
FILE_GLOBS.each do |glob|
|
|
351
389
|
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.1
|
|
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: []
|