cloudcannon-jekyll-bookshop 2.0.0 → 2.0.4

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: 272a7ddb403a9ecc69d867930fa241767e84fd9ec41d4cbb0881510a03c5ad04
4
- data.tar.gz: 4d7562f2bc12b773b5647f6cee76437bbaa5a6e32e1a0e9f4b3c290e1a9629c9
3
+ metadata.gz: 578be28e9d766a56a3e73f55a77aecce49ff76e1eb3fa24291fcbbe76aaf73ba
4
+ data.tar.gz: 54a7068649ff0cec48d3ba78c1630e4e1ba1ff23515bd0d2d323d87fb9ffbd31
5
5
  SHA512:
6
- metadata.gz: 0e6d9b0ff778b9e5010c14f0b1713da5367d49511782a7e0251f830cbaad1efb53bb2daad5ffb1c182b96effe947c92fc5308c6a279c83db74a8197e06675c52
7
- data.tar.gz: b8b24448d5c6f20feef017c14e5b85621f5b7c60823af16a613f3924ac352b6c21e179c8f85d07041941db34b2052f1329bd6ea002406522f7ff0d9b43ca8c2d
6
+ metadata.gz: 7964aa2ab8068278edc904cc4e60b2354bf09dff57afefa28b9c7a0cc26d2f59c1cf11a42fc57598eed97bb7140740d5e37a292d1add92e37da7a0f7d18ac3be
7
+ data.tar.gz: 45999be4ea59596c5322edb3e560ae39980f893eb617c79e1fcb6b2eed1ca289c2a1aba7325809b2ed5f54c4ef396a29ad191aacfb4261433aefce4bfd14657f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cloudcannon-jekyll-bookshop (2.0.0)
4
+ cloudcannon-jekyll-bookshop (2.0.4)
5
5
  dry-inflector (>= 0.1, < 1.0)
6
6
  jekyll (>= 3.7, < 5.0)
7
7
  node-runner (>= 1.0, < 2.0)
@@ -58,18 +58,47 @@ module CloudCannonJekyllBookshop
58
58
  Jekyll.logger.info "Bookshop:",
59
59
  "Parsing Stories from #{base_path}"
60
60
 
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)
61
+ files = Dir.glob("**/*.{bookshop}.{toml,tml,tom,tm}", :base => base_path);
62
+
63
+ read_attempts = 0
64
+ while files.size > 0 && read_attempts < 5
65
+ processing = files.map(&:clone)
66
+ files = []
67
+ threads = []
68
+ processing.each do |f|
69
+ threads << Thread.new do
70
+ begin
71
+ raw_file = File.read(base_path + "/" + f)
72
+ component = load_component(raw_file)
73
+
74
+ transform_component(f, component).each do |transformed_component|
75
+ add_structure(site.config["_array_structures"], transformed_component)
76
+ end
77
+ rescue
78
+ Thread.current[:output] = f
79
+ end
69
80
  end
70
81
  end
82
+ threads.each do |t|
83
+ t.join
84
+ files << t[:output] if t[:output]
85
+ end
86
+ Jekyll.logger.info "Bookshop:",
87
+ "Had trouble reading #{files.size} file(s), retrying" if files.size > 0
88
+ read_attempts += 1
89
+ end
90
+
91
+ if files.size > 0
92
+ Jekyll.logger.error "Bookshop:",
93
+ "❌ Failed to read #{files.size} file(s)"
94
+ files.each do |f|
95
+ Jekyll.logger.error "Bookshop:",
96
+ "❌ Failed to read #{f}"
97
+ end
98
+ Jekyll.logger.error "Bookshop:",
99
+ "❌ Check your TOML files are valid."
100
+ exit 1
71
101
  end
72
- threads.each(&:join)
73
102
  end
74
103
 
75
104
  def self.setup_helpers
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CloudCannonJekyllBookshop
4
- VERSION = "2.0.0"
4
+ VERSION = "2.0.4"
5
5
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bookshop/cloudcannon-structures",
3
- "version": "2.0.0",
3
+ "version": "2.0.4",
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.0",
19
+ "@bookshop/toml-narrator": "2.0.4",
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.0",
3
+ "version": "2.0.4",
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.0
4
+ version: 2.0.4
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-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll