ultimate-jekyll-manager 1.0.16 → 1.0.18

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.
package/CHANGELOG.md CHANGED
@@ -14,6 +14,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
14
14
  - `Fixed` for any bug fixes.
15
15
  - `Security` in case of vulnerabilities.
16
16
 
17
+ ---
18
+ ## [1.0.18] - 2026-03-30
19
+ ### Changed
20
+ - Removed redundant "Additional gems" comment from Gemfile template output in defaults.js
21
+
22
+ ---
23
+ ## [1.0.17] - 2026-03-30
24
+ ### Added
25
+ - Configurable gems support via `gems` array in `config/ultimate-jekyll-manager.json`
26
+ - Function-based template data in defaults.js for runtime-computed values
27
+
17
28
  ---
18
29
  ## [1.0.16] - 2026-03-30
19
30
  ### Changed
@@ -39,3 +39,6 @@ gem "logger"
39
39
  # Fix x86_64 / arm64e error
40
40
  # /Users/ian/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/redcarpet-3.6.0/lib/redcarpet.rb:1:in `require': dlopen(/Users/ian/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/redcarpet-3.6.0/lib/redcarpet.bundle, 0x0009): tried: '/Users/ian/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/redcarpet-3.6.0/lib/redcarpet.bundle' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))) - /Users/ian/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/redcarpet-3.6.0/lib/redcarpet.bundle (LoadError)
41
41
  gem "redcarpet", "= 3.5.1"
42
+
43
+ # Additional gems can be added via config/ultimate-jekyll-manager.json "gems" array
44
+ { additionalGems }
@@ -25,4 +25,5 @@
25
25
  },
26
26
  },
27
27
  },
28
+ gems: [],
28
29
  }
@@ -112,10 +112,18 @@ const FILE_MAP = {
112
112
  template: cleanVersions,
113
113
  },
114
114
  'Gemfile': {
115
- template: {
116
- ujPowertoolsVersion: argv.ujPluginDevMode === 'true'
117
- ? `path: File.expand_path('~/Developer/Repositories/ITW-Creative-Works/jekyll-uj-powertools')`
118
- : '"~> 1.0"'
115
+ template: () => {
116
+ // Read project config for additional gems
117
+ const projectConfigPath = path.join(rootPathProject, 'config', 'ultimate-jekyll-manager.json');
118
+ const projectConfig = jetpack.exists(projectConfigPath) ? JSON5.parse(jetpack.read(projectConfigPath)) : {};
119
+ const gems = (projectConfig.gems || []).map(g => `gem "${g}"`).join('\n');
120
+
121
+ return {
122
+ ujPowertoolsVersion: argv.ujPluginDevMode === 'true'
123
+ ? `path: File.expand_path('~/Developer/Repositories/ITW-Creative-Works/jekyll-uj-powertools')`
124
+ : '"~> 1.0"',
125
+ additionalGems: gems ? `\n${gems}` : '',
126
+ };
119
127
  },
120
128
  },
121
129
 
@@ -515,8 +523,9 @@ function customTransform() {
515
523
 
516
524
  // Run template if required (skip for binary files)
517
525
  if (options.template && !isBinaryFile) {
526
+ const templateData = typeof options.template === 'function' ? options.template() : options.template;
518
527
  const contents = file.contents.toString();
519
- const templated = template(contents, options.template);
528
+ const templated = template(contents, templateData);
520
529
 
521
530
  // Update file contents
522
531
  file.contents = Buffer.from(templated);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ultimate-jekyll-manager",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "description": "Ultimate Jekyll dependency manager",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -96,7 +96,7 @@
96
96
  "libsodium-wrappers": "^0.8.2",
97
97
  "lodash": "^4.17.23",
98
98
  "markdown-it": "^14.1.1",
99
- "minimatch": "^10.2.4",
99
+ "minimatch": "^10.2.5",
100
100
  "node-powertools": "^3.0.0",
101
101
  "npm-api": "^1.0.1",
102
102
  "postcss": "^8.5.8",