@canopycanopycanopy/b-ber-lib 1.2.16 → 2.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.
- package/Config.js +2 -10
- package/EbookConvert.js +11 -39
- package/GuideItem.js +0 -5
- package/Html.js +0 -6
- package/HtmlToXml.js +0 -38
- package/ManifestItemProperties.js +19 -40
- package/Spine.js +26 -70
- package/SpineItem.js +4 -11
- package/State.js +85 -159
- package/Template.js +0 -8
- package/Theme.js +23 -79
- package/Url.js +0 -11
- package/Yaml.js +16 -47
- package/YamlAdaptor.js +0 -19
- package/index.js +0 -28
- package/package.json +9 -8
- package/utils/index.js +41 -101
package/State.js
CHANGED
|
@@ -1,104 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _Object$
|
|
4
|
-
|
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
|
5
|
+
var _filterInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
7
|
+
var _forEachInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
|
8
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
|
9
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
|
10
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
11
|
+
var _Symbol$toPrimitive = require("@babel/runtime-corejs3/core-js-stable/symbol/to-primitive");
|
|
5
12
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
|
-
_Object$defineProperty2(exports, "__esModule", {
|
|
13
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
8
14
|
value: true
|
|
9
15
|
});
|
|
10
|
-
|
|
11
16
|
exports.default = void 0;
|
|
12
|
-
|
|
13
17
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
|
14
|
-
|
|
15
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
16
|
-
|
|
17
19
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
18
|
-
|
|
19
20
|
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
|
20
|
-
|
|
21
21
|
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
|
22
|
-
|
|
23
22
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
24
|
-
|
|
25
23
|
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
|
|
26
|
-
|
|
24
|
+
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
27
25
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
28
|
-
|
|
29
|
-
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
30
|
-
|
|
31
|
-
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
|
|
32
|
-
|
|
33
|
-
var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"));
|
|
34
|
-
|
|
35
|
-
var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"));
|
|
36
|
-
|
|
37
|
-
var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-properties"));
|
|
38
|
-
|
|
39
|
-
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property"));
|
|
40
|
-
|
|
41
|
-
var _toPrimitive2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol/to-primitive"));
|
|
42
|
-
|
|
43
26
|
var _crypto = _interopRequireDefault(require("crypto"));
|
|
44
|
-
|
|
45
27
|
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
|
|
46
|
-
|
|
47
28
|
var _isArray = _interopRequireDefault(require("lodash/isArray"));
|
|
48
|
-
|
|
49
29
|
var _find = _interopRequireDefault(require("lodash/find"));
|
|
50
|
-
|
|
51
30
|
var _findIndex = _interopRequireDefault(require("lodash/findIndex"));
|
|
52
|
-
|
|
53
|
-
var _set = _interopRequireDefault(require("lodash/set"));
|
|
54
|
-
|
|
31
|
+
var _set2 = _interopRequireDefault(require("lodash/set"));
|
|
55
32
|
var _get = _interopRequireDefault(require("lodash/get"));
|
|
56
|
-
|
|
33
|
+
var _has = _interopRequireDefault(require("lodash/has"));
|
|
57
34
|
var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
58
|
-
|
|
59
35
|
var _remove = _interopRequireDefault(require("lodash/remove"));
|
|
60
|
-
|
|
61
36
|
var _path = _interopRequireDefault(require("path"));
|
|
62
|
-
|
|
63
37
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
64
|
-
|
|
65
38
|
var _mimeTypes = _interopRequireDefault(require("mime-types"));
|
|
66
|
-
|
|
67
39
|
var _bBerThemeSerif = _interopRequireDefault(require("@canopycanopycanopy/b-ber-theme-serif"));
|
|
68
|
-
|
|
69
40
|
var _bBerThemeSans = _interopRequireDefault(require("@canopycanopycanopy/b-ber-theme-sans"));
|
|
70
|
-
|
|
71
41
|
var _bBerLogger = _interopRequireDefault(require("@canopycanopycanopy/b-ber-logger"));
|
|
72
|
-
|
|
73
42
|
var _Yaml = _interopRequireDefault(require("./Yaml"));
|
|
74
|
-
|
|
75
43
|
var _Config = _interopRequireDefault(require("./Config"));
|
|
76
|
-
|
|
77
44
|
var _Spine = _interopRequireDefault(require("./Spine"));
|
|
78
|
-
|
|
79
45
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
80
|
-
|
|
81
|
-
function
|
|
82
|
-
|
|
83
|
-
function ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
84
|
-
|
|
85
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context4; (0, _forEach.default)(_context4 = ownKeys(Object(source), true)).call(_context4, function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context5; (0, _forEach.default)(_context5 = ownKeys(Object(source))).call(_context5, function (key) { (0, _defineProperty3.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }
|
|
86
|
-
|
|
46
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[_Symbol$toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
47
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty2(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty2(_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty2(_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
87
49
|
const themes = {
|
|
88
50
|
'b-ber-theme-serif': _bBerThemeSerif.default,
|
|
89
51
|
'b-ber-theme-sans': _bBerThemeSans.default
|
|
90
52
|
};
|
|
91
|
-
|
|
92
53
|
const randomHash = () => _crypto.default.randomBytes(20).toString('hex');
|
|
93
|
-
|
|
94
54
|
const skipInitialization = () => {
|
|
95
55
|
const {
|
|
96
56
|
argv
|
|
97
|
-
} = process;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
(0, _includes.default)(argv).call(argv, '
|
|
101
|
-
|
|
57
|
+
} = process;
|
|
58
|
+
|
|
59
|
+
// prettier-ignore
|
|
60
|
+
return (0, _includes.default)(argv).call(argv, '--help') ||
|
|
61
|
+
// if a help flag is set
|
|
62
|
+
(0, _includes.default)(argv).call(argv, '-h') ||
|
|
63
|
+
// if a help alias is set
|
|
64
|
+
argv.length < 3 ||
|
|
65
|
+
// if there are insufficient arguments
|
|
102
66
|
(0, _includes.default)(argv).call(argv, 'new') // if it's a new project
|
|
103
67
|
;
|
|
104
68
|
};
|
|
@@ -116,7 +80,6 @@ const DIST_DIR_STYLESHEETS = 'stylesheets';
|
|
|
116
80
|
const DIST_DIR_JAVASCRIPTS = 'javascripts';
|
|
117
81
|
const DIST_DIR_FONTS = 'fonts';
|
|
118
82
|
const DIST_DIR_MEDIA = 'media';
|
|
119
|
-
|
|
120
83
|
class State {
|
|
121
84
|
static get defaults() {
|
|
122
85
|
return {
|
|
@@ -125,100 +88,77 @@ class State {
|
|
|
125
88
|
hash: randomHash()
|
|
126
89
|
};
|
|
127
90
|
}
|
|
128
|
-
|
|
129
91
|
get spine() {
|
|
130
92
|
return this.builds[this.build].spine;
|
|
131
93
|
}
|
|
132
|
-
|
|
133
94
|
set spine(val) {
|
|
134
95
|
this.builds[this.build].spine = val;
|
|
135
96
|
}
|
|
136
|
-
|
|
137
97
|
get guide() {
|
|
138
98
|
return this.builds[this.build].guide;
|
|
139
99
|
}
|
|
140
|
-
|
|
141
100
|
set guide(val) {
|
|
142
101
|
this.builds[this.build].guide = val;
|
|
143
102
|
}
|
|
144
|
-
|
|
145
103
|
get figures() {
|
|
146
104
|
return this.builds[this.build].figures;
|
|
147
105
|
}
|
|
148
|
-
|
|
149
106
|
set figures(val) {
|
|
150
107
|
this.builds[this.build].figures = val;
|
|
151
108
|
}
|
|
152
|
-
|
|
153
109
|
get footnotes() {
|
|
154
110
|
return this.builds[this.build].footnotes;
|
|
155
111
|
}
|
|
156
|
-
|
|
157
112
|
set footnotes(val) {
|
|
158
113
|
this.builds[this.build].footnotes = val;
|
|
159
114
|
}
|
|
160
|
-
|
|
161
115
|
get cursor() {
|
|
162
116
|
return this.builds[this.build].cursor;
|
|
163
117
|
}
|
|
164
|
-
|
|
165
118
|
set cursor(val) {
|
|
166
119
|
this.builds[this.build].cursor = val;
|
|
167
120
|
}
|
|
168
|
-
|
|
169
121
|
get toc() {
|
|
170
122
|
return this.builds[this.build].toc;
|
|
171
123
|
}
|
|
172
|
-
|
|
173
124
|
set toc(val) {
|
|
174
125
|
this.builds[this.build].toc = val;
|
|
175
126
|
}
|
|
176
|
-
|
|
177
127
|
get remoteAssets() {
|
|
178
128
|
return this.builds[this.build].remoteAssets;
|
|
179
129
|
}
|
|
180
|
-
|
|
181
130
|
set remoteAssets(val) {
|
|
182
131
|
this.builds[this.build].remoteAssets = val;
|
|
183
132
|
}
|
|
184
|
-
|
|
185
133
|
get loi() {
|
|
186
134
|
return this.builds[this.build].loi;
|
|
187
135
|
}
|
|
188
|
-
|
|
189
136
|
set loi(val) {
|
|
190
137
|
this.builds[this.build].loi = val;
|
|
191
138
|
}
|
|
192
|
-
|
|
193
139
|
get srcDir() {
|
|
194
140
|
return this.config.src;
|
|
195
141
|
}
|
|
196
|
-
|
|
197
142
|
set srcDir(val) {
|
|
198
143
|
this.config.src = val;
|
|
199
144
|
}
|
|
200
|
-
|
|
201
145
|
get distDir() {
|
|
202
146
|
if (this.build && this.builds && this.builds[this.build]) {
|
|
203
147
|
return this.builds[this.build].dist;
|
|
204
148
|
}
|
|
205
|
-
|
|
206
149
|
return this.config.dist;
|
|
207
150
|
}
|
|
208
|
-
|
|
209
151
|
set distDir(val) {
|
|
210
152
|
this.config.dist = val;
|
|
211
|
-
}
|
|
212
|
-
|
|
153
|
+
}
|
|
213
154
|
|
|
155
|
+
// eslint-disable-next-line class-methods-use-this
|
|
214
156
|
get env() {
|
|
215
157
|
return process.env.NODE_ENV || 'development';
|
|
216
158
|
}
|
|
217
|
-
|
|
218
159
|
set env(val) {
|
|
219
160
|
this.config.env = val;
|
|
220
161
|
}
|
|
221
|
-
|
|
222
162
|
constructor() {
|
|
223
163
|
(0, _defineProperty2.default)(this, "metadata", {
|
|
224
164
|
json: () => [{}]
|
|
@@ -259,55 +199,52 @@ class State {
|
|
|
259
199
|
});
|
|
260
200
|
(0, _defineProperty2.default)(this, "reset", () => {
|
|
261
201
|
var _context;
|
|
262
|
-
|
|
263
|
-
(0, _forEach.default)(_context = (0, _entries.default)(State.defaults)).call(_context, ([key, val]) => (0, _set.default)(this, key, val));
|
|
202
|
+
(0, _forEach.default)(_context = (0, _entries.default)(State.defaults)).call(_context, ([key, val]) => (0, _set2.default)(this, key, val));
|
|
264
203
|
this.loadConfig();
|
|
265
204
|
});
|
|
266
205
|
(0, _defineProperty2.default)(this, "add", (prop, value) => {
|
|
267
206
|
const prevValue = (0, _get.default)(this, prop);
|
|
268
|
-
|
|
269
207
|
if ((0, _isArray.default)(prevValue)) {
|
|
270
|
-
(0,
|
|
208
|
+
(0, _set2.default)(this, prop, [...prevValue, value]);
|
|
271
209
|
} else if ((0, _isPlainObject.default)(prevValue)) {
|
|
272
|
-
(0,
|
|
210
|
+
(0, _set2.default)(this, prop, _objectSpread(_objectSpread({}, prevValue), {}, {
|
|
273
211
|
value
|
|
274
212
|
}));
|
|
275
213
|
} else if (typeof prevValue === 'string') {
|
|
276
|
-
(0,
|
|
214
|
+
(0, _set2.default)(this, prop, `${prevValue}${value}`);
|
|
277
215
|
} else {
|
|
278
216
|
_bBerLogger.default.error(`Cannot add [${value}] to [state.${prop}]`);
|
|
279
217
|
}
|
|
280
218
|
});
|
|
281
219
|
(0, _defineProperty2.default)(this, "remove", (prop, value) => {
|
|
282
220
|
const prevValue = (0, _get.default)(this, prop);
|
|
283
|
-
|
|
284
221
|
if ((0, _isArray.default)(prevValue)) {
|
|
285
222
|
const arr = [...prevValue];
|
|
286
223
|
(0, _remove.default)(arr, value);
|
|
287
|
-
(0,
|
|
224
|
+
(0, _set2.default)(this, prop, arr);
|
|
288
225
|
} else if ((0, _isPlainObject.default)(prevValue)) {
|
|
289
226
|
var _context2;
|
|
290
|
-
|
|
291
227
|
const {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
(0, _set.default)(this, prop, rest);
|
|
228
|
+
[value]: _
|
|
229
|
+
} = prevValue,
|
|
230
|
+
rest = (0, _objectWithoutProperties2.default)(prevValue, (0, _map.default)(_context2 = [value]).call(_context2, _toPropertyKey)); // eslint-disable-line no-unused-vars
|
|
231
|
+
(0, _set2.default)(this, prop, rest);
|
|
297
232
|
} else {
|
|
298
233
|
_bBerLogger.default.error(`Cannot remove [${value}] from [state.${prop}]`);
|
|
299
234
|
}
|
|
300
235
|
});
|
|
301
236
|
(0, _defineProperty2.default)(this, "merge", (prop, value) => {
|
|
302
237
|
const oldValue = (0, _get.default)(this, prop);
|
|
303
|
-
(0,
|
|
238
|
+
(0, _set2.default)(this, prop, (0, _merge.default)(oldValue, value));
|
|
304
239
|
});
|
|
305
240
|
(0, _defineProperty2.default)(this, "update", (prop, val) => {
|
|
306
|
-
(0,
|
|
241
|
+
(0, _set2.default)(this, prop, val);
|
|
242
|
+
});
|
|
243
|
+
(0, _defineProperty2.default)(this, "has", prop => {
|
|
244
|
+
return (0, _has.default)(this, prop);
|
|
307
245
|
});
|
|
308
246
|
(0, _defineProperty2.default)(this, "contains", (coll, value) => {
|
|
309
247
|
var _context3;
|
|
310
|
-
|
|
311
248
|
return (0, _indexOf.default)(_context3 = this).call(_context3, coll, value) > -1;
|
|
312
249
|
});
|
|
313
250
|
(0, _defineProperty2.default)(this, "find", (coll, pred) => {
|
|
@@ -321,83 +258,77 @@ class State {
|
|
|
321
258
|
(0, _defineProperty2.default)(this, "loadConfig", () => {
|
|
322
259
|
if (!_fsExtra.default.existsSync(_path.default.resolve('config.yml'))) return;
|
|
323
260
|
const config = new _Yaml.default('config');
|
|
324
|
-
config.load(_path.default.resolve('config.yml'));
|
|
325
|
-
// not writing back to config.yml, but may be necessary at some point
|
|
261
|
+
config.load(_path.default.resolve('config.yml'));
|
|
326
262
|
|
|
327
|
-
|
|
263
|
+
// not necessary right now to pass around a YAWN instance since we'er
|
|
264
|
+
// not writing back to config.yml, but may be necessary at some point
|
|
265
|
+
(0, _set2.default)(this, 'config', new _Config.default(config.json()));
|
|
328
266
|
});
|
|
329
267
|
(0, _defineProperty2.default)(this, "loadMetadata", () => {
|
|
330
268
|
const fpath = _path.default.resolve(this.config.src, 'metadata.yml');
|
|
331
|
-
|
|
332
269
|
if (!_fsExtra.default.existsSync(fpath)) return;
|
|
333
|
-
(0,
|
|
270
|
+
(0, _set2.default)(this, 'metadata', new _Yaml.default('metadata'));
|
|
334
271
|
this.metadata.load(fpath);
|
|
335
272
|
});
|
|
336
273
|
(0, _defineProperty2.default)(this, "loadMedia", () => {
|
|
337
274
|
const fpath = _path.default.resolve(this.config.src, 'media.yml');
|
|
338
|
-
|
|
339
275
|
if (!_fsExtra.default.existsSync(fpath)) return;
|
|
340
276
|
let media = new _Yaml.default('media');
|
|
341
277
|
media.load(fpath);
|
|
342
278
|
media = media.json();
|
|
343
|
-
(0,
|
|
279
|
+
(0, _set2.default)(this, 'media', media);
|
|
344
280
|
});
|
|
345
281
|
(0, _defineProperty2.default)(this, "loadTheme", () => {
|
|
346
|
-
//
|
|
282
|
+
// Ensure themes dir exists unless running `new` command, as it's the
|
|
347
283
|
// only command that's run outside of a project directory
|
|
348
284
|
if (skipInitialization()) return;
|
|
349
|
-
|
|
350
285
|
const userThemesPath = _path.default.resolve(this.config.themes_directory);
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
286
|
+
_fsExtra.default.ensureDirSync(userThemesPath);
|
|
287
|
+
|
|
288
|
+
// Add modules path that references the current b-ber project's theme dir
|
|
289
|
+
module.paths.push(userThemesPath);
|
|
290
|
+
const cwd = process.cwd();
|
|
291
|
+
const cwdArr = cwd.split('/');
|
|
292
|
+
const modulePaths = new _set.default([...module.paths]);
|
|
293
|
+
let cwdPath;
|
|
294
|
+
|
|
295
|
+
// Add modules paths that reference the current b-ber project
|
|
296
|
+
do {
|
|
297
|
+
cwdPath = `${cwdArr.join('/')}/node_modules`;
|
|
298
|
+
if (modulePaths.has(cwdPath)) continue;
|
|
299
|
+
module.paths.push(cwdPath);
|
|
300
|
+
} while (cwdArr.pop());
|
|
301
|
+
|
|
302
|
+
// Theme is set, using a built-in theme
|
|
355
303
|
if (themes[this.config.theme]) {
|
|
304
|
+
(0, _set2.default)(this, 'theme', themes[this.config.theme]);
|
|
356
305
|
_bBerLogger.default.info(`Loaded theme [${this.config.theme}]`);
|
|
357
|
-
|
|
358
|
-
(0, _set.default)(this, 'theme', themes[this.config.theme]);
|
|
359
306
|
return;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
try {
|
|
364
|
-
if (this.theme = require(_path.default.resolve(userThemesPath, this.config.theme))) // eslint-disable-line global-require, import/no-dynamic-require
|
|
365
|
-
{
|
|
366
|
-
_bBerLogger.default.info(`Loaded theme [${this.config.theme}]`);
|
|
367
|
-
|
|
368
|
-
return;
|
|
369
|
-
}
|
|
370
|
-
} catch (_) {// noop
|
|
371
|
-
} // possibly a theme installed with npm, test the project root
|
|
372
|
-
|
|
307
|
+
}
|
|
373
308
|
|
|
309
|
+
// Possibly a user defined theme, or one installed with npm
|
|
374
310
|
try {
|
|
375
|
-
|
|
376
|
-
)
|
|
311
|
+
// eslint-disable-next-line global-require, import/no-dynamic-require
|
|
312
|
+
(0, _set2.default)(this, 'theme', require(this.config.theme));
|
|
313
|
+
_bBerLogger.default.info(`Loaded theme [${this.config.theme}]`);
|
|
377
314
|
} catch (err) {
|
|
378
315
|
_bBerLogger.default.warn(`There was an error during require [${this.config.theme}]`);
|
|
379
|
-
|
|
380
316
|
_bBerLogger.default.warn('Using default theme [b-ber-theme-serif]');
|
|
317
|
+
_bBerLogger.default.warn(err.message);
|
|
381
318
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
(0, _set.default)(this, 'theme', themes['b-ber-theme-serif']);
|
|
319
|
+
// Error loading theme, set to default
|
|
320
|
+
(0, _set2.default)(this, 'theme', themes['b-ber-theme-serif']);
|
|
386
321
|
}
|
|
387
322
|
});
|
|
388
323
|
(0, _defineProperty2.default)(this, "loadAudioVideo", () => {
|
|
389
324
|
if (skipInitialization()) return;
|
|
390
|
-
|
|
391
325
|
const mediaPath = _path.default.resolve(this.config.src, '_media');
|
|
392
|
-
|
|
393
326
|
_fsExtra.default.ensureDirSync(mediaPath);
|
|
394
|
-
|
|
395
327
|
const media = _fsExtra.default.readdirSync(mediaPath);
|
|
396
|
-
|
|
397
328
|
const video = (0, _filter.default)(media).call(media, a => /^video/.test(_mimeTypes.default.lookup(a)));
|
|
398
329
|
const audio = (0, _filter.default)(media).call(media, a => /^audio/.test(_mimeTypes.default.lookup(a)));
|
|
399
|
-
(0,
|
|
400
|
-
(0,
|
|
330
|
+
(0, _set2.default)(this, 'video', video);
|
|
331
|
+
(0, _set2.default)(this, 'audio', audio);
|
|
401
332
|
});
|
|
402
333
|
(0, _defineProperty2.default)(this, "loadBuildSettings", type => {
|
|
403
334
|
if (skipInitialization()) return;
|
|
@@ -405,24 +336,22 @@ class State {
|
|
|
405
336
|
src,
|
|
406
337
|
dist
|
|
407
338
|
} = this.config;
|
|
408
|
-
|
|
409
339
|
const projectDir = _path.default.resolve(src);
|
|
340
|
+
if (!_fsExtra.default.existsSync(projectDir)) _bBerLogger.default.error(`Project directory [${projectDir}] does not exist`);
|
|
410
341
|
|
|
411
|
-
|
|
342
|
+
// One TOC to rule them all (toc.yml). A user can override the TOC for a
|
|
412
343
|
// specific build by including a <type>.yml file, which will be loaded
|
|
413
344
|
// instead of toc.yml below.
|
|
414
|
-
|
|
415
345
|
const navigationConfigFileDefaultPath = _path.default.resolve(src, 'toc.yml');
|
|
416
|
-
|
|
417
346
|
const navigationConfigFilePath = _path.default.resolve(src, `${type}.yml`);
|
|
418
|
-
|
|
419
347
|
const navigationConfigFile = _fsExtra.default.existsSync(navigationConfigFilePath) ? navigationConfigFilePath : navigationConfigFileDefaultPath;
|
|
420
348
|
const spine = new _Spine.default({
|
|
421
349
|
src,
|
|
422
350
|
buildType: type,
|
|
423
351
|
navigationConfigFile
|
|
424
|
-
});
|
|
352
|
+
});
|
|
425
353
|
|
|
354
|
+
// Build-specific config. gets merged into base config during build step
|
|
426
355
|
const config = this.config[type] ? _objectSpread({}, this.config[type]) : {};
|
|
427
356
|
return {
|
|
428
357
|
src,
|
|
@@ -440,10 +369,11 @@ class State {
|
|
|
440
369
|
});
|
|
441
370
|
(0, _defineProperty2.default)(this, "loadBuilds", () => {
|
|
442
371
|
const builds = ['sample', 'epub', 'mobi', 'pdf', 'web', 'reader', 'xml'];
|
|
443
|
-
(0, _forEach.default)(builds).call(builds, build => (0,
|
|
372
|
+
(0, _forEach.default)(builds).call(builds, build => (0, _set2.default)(this.builds, build, this.loadBuildSettings(build)));
|
|
444
373
|
});
|
|
445
|
-
let version;
|
|
374
|
+
let version;
|
|
446
375
|
|
|
376
|
+
// for testing, since our directory structure is different in dist
|
|
447
377
|
try {
|
|
448
378
|
;
|
|
449
379
|
({
|
|
@@ -455,9 +385,8 @@ class State {
|
|
|
455
385
|
version
|
|
456
386
|
} = _fsExtra.default.readJSONSync(require.resolve('../package.json')));
|
|
457
387
|
}
|
|
458
|
-
|
|
459
|
-
(0,
|
|
460
|
-
(0, _set.default)(this, 'config', new _Config.default());
|
|
388
|
+
(0, _set2.default)(this, 'version', version);
|
|
389
|
+
(0, _set2.default)(this, 'config', new _Config.default());
|
|
461
390
|
this.reset();
|
|
462
391
|
this.loadMetadata();
|
|
463
392
|
this.loadAudioVideo();
|
|
@@ -465,9 +394,6 @@ class State {
|
|
|
465
394
|
this.loadBuilds();
|
|
466
395
|
this.loadTheme();
|
|
467
396
|
}
|
|
468
|
-
|
|
469
397
|
}
|
|
470
|
-
|
|
471
398
|
var _default = new State();
|
|
472
|
-
|
|
473
399
|
exports.default = _default;
|
package/Template.js
CHANGED
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
exports.default = void 0;
|
|
12
|
-
|
|
13
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
14
|
-
|
|
15
10
|
var _vinyl = _interopRequireDefault(require("vinyl"));
|
|
16
|
-
|
|
17
11
|
var _layouts = _interopRequireDefault(require("layouts"));
|
|
18
|
-
|
|
19
12
|
class Template {}
|
|
20
|
-
|
|
21
13
|
(0, _defineProperty2.default)(Template, "render", (contents, template) => (0, _layouts.default)(new _vinyl.default({
|
|
22
14
|
path: '.Template',
|
|
23
15
|
layout: 'template',
|