cloudcannon-jekyll-bookshop 2.0.2 → 2.0.6

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: cc4e52fe7b3ba536952967db73d6c044bcfbc7b085f2d08a4c68b6596e2bd569
4
- data.tar.gz: c984f34175e0233c5c023d0ff3732fd017a146623b1e4cc2cea86c8197611f18
3
+ metadata.gz: e9e4ca9c7dd82b20b523ffc540493a2cb6baffdfdc3aa1e55923aaf2764724c5
4
+ data.tar.gz: 90f434c71ea590ceaa9ad24864f7290bd156b582f8879f09285c0421b02848d1
5
5
  SHA512:
6
- metadata.gz: a463bd057baba2cf95a15bb0e1b81ffb7803bbe7df82bfb4a99a83c3c8e265c3e2fba72dc2f0328b39910dbeb6bcbf602580d93a4ae55c0987a5f11366622427
7
- data.tar.gz: 8e9709477eb2d65df9965453f6e2381ce59764acb656ab9bf6b50029bd6c8bd352671a964b8a9f6958d5f6f8588c035bb06d2d97400eb1ab21fba1a0b79f4104
6
+ metadata.gz: 2f8555fe8d35188431f06a5ad5ba43e9caccf5590aeab79bb8f34d5f38ddf904bf6b5cd81add18c097faf2dcb4eb271dc6d7bad42566e25508464b9675ff1135
7
+ data.tar.gz: 03f2449f7bcd85610274c39acfd6b398b45bb24b8c5ccc3d95a5405e8961e92fda67e10a4ef1fb183dce379b0dddd6484b94413a78f68a85967c403cb46434d5
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cloudcannon-jekyll-bookshop (2.0.2)
4
+ cloudcannon-jekyll-bookshop (2.0.6)
5
5
  dry-inflector (>= 0.1, < 1.0)
6
6
  jekyll (>= 3.7, < 5.0)
7
- node-runner (>= 1.0, < 2.0)
7
+ node-runner-temp-fix-windows (>= 1.0, < 2.0)
8
8
  toml-rb (>= 2.0, < 3.0)
9
9
 
10
10
  GEM
@@ -16,7 +16,7 @@ GEM
16
16
  ast (2.4.2)
17
17
  builder (3.2.4)
18
18
  citrus (3.0.2)
19
- cloudcannon-jekyll (2.0.1)
19
+ cloudcannon-jekyll (2.2.0)
20
20
  jekyll (>= 2.4.0, < 5)
21
21
  colorator (1.1.0)
22
22
  concurrent-ruby (1.1.9)
@@ -25,14 +25,14 @@ GEM
25
25
  eventmachine (>= 0.12.9)
26
26
  http_parser.rb (~> 0.6.0)
27
27
  eventmachine (1.2.7)
28
- ffi (1.15.3)
28
+ ffi (1.15.4)
29
29
  forwardable-extended (2.6.0)
30
30
  hashdiff (1.0.1)
31
31
  http_parser.rb (0.6.0)
32
32
  i18n (1.8.10)
33
33
  concurrent-ruby (~> 1.0)
34
34
  jaro_winkler (1.5.4)
35
- jekyll (4.2.0)
35
+ jekyll (4.2.1)
36
36
  addressable (~> 2.4)
37
37
  colorator (~> 1.0)
38
38
  em-websocket (~> 0.5)
@@ -56,7 +56,7 @@ GEM
56
56
  kramdown-parser-gfm (1.1.0)
57
57
  kramdown (~> 2.0)
58
58
  liquid (4.0.3)
59
- listen (3.6.0)
59
+ listen (3.7.0)
60
60
  rb-fsevent (~> 0.10, >= 0.10.3)
61
61
  rb-inotify (~> 0.9, >= 0.9.10)
62
62
  mercenary (0.4.0)
@@ -66,7 +66,7 @@ GEM
66
66
  builder
67
67
  minitest (>= 5.0)
68
68
  ruby-progressbar
69
- node-runner (1.0.1)
69
+ node-runner-temp-fix-windows (1.0.1)
70
70
  parallel (1.20.1)
71
71
  parser (3.0.2.0)
72
72
  ast (~> 2.4.1)
@@ -79,7 +79,7 @@ GEM
79
79
  rb-inotify (0.10.1)
80
80
  ffi (~> 1.0)
81
81
  rexml (3.2.5)
82
- rouge (3.26.0)
82
+ rouge (3.26.1)
83
83
  rubocop (0.80.1)
84
84
  jaro_winkler (~> 1.5.1)
85
85
  parallel (~> 1.10)
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_dependency "jekyll", ">= 3.7", "< 5.0"
24
24
  spec.add_dependency "toml-rb", ">= 2.0", "< 3.0"
25
- spec.add_dependency "node-runner", ">= 1.0", "< 2.0"
25
+ spec.add_dependency "node-runner-temp-fix-windows", ">= 1.0", "< 2.0"
26
26
  spec.add_dependency "dry-inflector", ">= 0.1", "< 1.0"
27
27
  spec.add_development_dependency "cloudcannon-jekyll", ">= 2.0", "< 3.0"
28
28
  spec.add_development_dependency "rubocop", "~> 0.80"
@@ -47,6 +47,7 @@ module CloudCannonJekyllBookshop
47
47
  array_structures = component.delete("structures")
48
48
  array_structures.each do |key|
49
49
  hash[key] ||= {}
50
+ hash[key]["id_key"] = "_bookshop_name"
50
51
  hash[key]["values"] ||= []
51
52
  hash[key]["values"].push(component)
52
53
  end
@@ -58,18 +59,47 @@ module CloudCannonJekyllBookshop
58
59
  Jekyll.logger.info "Bookshop:",
59
60
  "Parsing Stories from #{base_path}"
60
61
 
61
- threads = []
62
- Dir.glob("**/*.{bookshop}.{toml,tml,tom,tm}", :base => base_path).each do |f|
63
- threads << Thread.new do
64
- raw_file = File.read(base_path + "/" + f)
65
- component = load_component(raw_file)
66
-
67
- transform_component(f, component).each do |transformed_component|
68
- add_structure(site.config["_array_structures"], transformed_component)
62
+ files = Dir.glob("**/*.{bookshop}.{toml,tml,tom,tm}", :base => base_path);
63
+
64
+ read_attempts = 0
65
+ while files.size > 0 && read_attempts < 5
66
+ processing = files.map(&:clone)
67
+ files = []
68
+ threads = []
69
+ processing.each do |f|
70
+ threads << Thread.new do
71
+ begin
72
+ raw_file = File.read(base_path + "/" + f)
73
+ component = load_component(raw_file)
74
+
75
+ transform_component(f, component).each do |transformed_component|
76
+ add_structure(site.config["_array_structures"], transformed_component)
77
+ end
78
+ rescue
79
+ Thread.current[:output] = f
80
+ end
69
81
  end
70
82
  end
83
+ threads.each do |t|
84
+ t.join
85
+ files << t[:output] if t[:output]
86
+ end
87
+ Jekyll.logger.info "Bookshop:",
88
+ "Had trouble reading #{files.size} file(s), retrying" if files.size > 0
89
+ read_attempts += 1
90
+ end
91
+
92
+ if files.size > 0
93
+ Jekyll.logger.error "Bookshop:",
94
+ "❌ Failed to read #{files.size} file(s)"
95
+ files.each do |f|
96
+ Jekyll.logger.error "Bookshop:",
97
+ "❌ Failed to read #{f}"
98
+ end
99
+ Jekyll.logger.error "Bookshop:",
100
+ "❌ Check your TOML files are valid."
101
+ exit 1
71
102
  end
72
- threads.each(&:join)
73
103
  end
74
104
 
75
105
  def self.setup_helpers
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CloudCannonJekyllBookshop
4
- VERSION = "2.0.2"
4
+ VERSION = "2.0.6"
5
5
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bookshop/cloudcannon-structures",
3
- "version": "2.0.2",
3
+ "version": "2.0.6",
4
4
  "description": "Convert a Bookshop object into a CloudCannon structure",
5
5
  "main": "main.js",
6
6
  "scripts": {
@@ -16,7 +16,7 @@
16
16
  "access": "public"
17
17
  },
18
18
  "devDependencies": {
19
- "@bookshop/toml-narrator": "2.0.2",
19
+ "@bookshop/toml-narrator": "2.0.6",
20
20
  "@ltd/j-toml": "^1.17.0",
21
21
  "ava": "^3.15.0",
22
22
  "nyc": "^15.1.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bookshop/toml-narrator",
3
- "version": "2.0.2",
3
+ "version": "2.0.6",
4
4
  "description": "Rewrite Bookshop TOML files to preserve comments",
5
5
  "main": "main.js",
6
6
  "scripts": {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudcannon-jekyll-bookshop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam Bigelow
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-05 00:00:00.000000000 Z
11
+ date: 2021-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -51,7 +51,7 @@ dependencies:
51
51
  - !ruby/object:Gem::Version
52
52
  version: '3.0'
53
53
  - !ruby/object:Gem::Dependency
54
- name: node-runner
54
+ name: node-runner-temp-fix-windows
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - ">="