@canopycanopycanopy/b-ber-lib 3.0.8-next.61 → 3.0.8-next.96
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/EbookConvert.js +2 -75
- package/Html.js +2 -24
- package/HtmlToXml.js +2 -252
- package/ManifestItemProperties.js +2 -88
- package/State.js +2 -398
- package/Theme.js +2 -171
- package/YamlAdaptor.js +2 -41
- package/dist/index.d.ts +364 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1372 -0
- package/package.json +24 -31
- package/utils.js +2 -0
- package/Config.js +0 -58
- package/GuideItem.js +0 -19
- package/Spine.js +0 -133
- package/SpineItem.js +0 -53
- package/Template.js +0 -20
- package/Url.js +0 -42
- package/Yaml.js +0 -174
- package/index.js +0 -98
- package/utils/index.js +0 -286
package/package.json
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canopycanopycanopy/b-ber-lib",
|
|
3
|
-
"version": "3.0.8-next.
|
|
3
|
+
"version": "3.0.8-next.96+7446845b",
|
|
4
4
|
"description": "",
|
|
5
|
-
"main": "index.js",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
6
7
|
"scripts": {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"prepare": "npm run clean && npm run prepare:dist",
|
|
10
|
-
"build": "npm run prepare",
|
|
11
|
-
"watch": "BABEL_ENV=production babel --config-file ../../babel.config.js -d ./ src/ --watch src --ignore **/__tests__/**",
|
|
12
|
-
"start": "babel-node ./src/index.js --presets es2015,stage-0",
|
|
8
|
+
"build": "tsdown",
|
|
9
|
+
"typecheck": "tsc --noEmit",
|
|
13
10
|
"test": "jest"
|
|
14
11
|
},
|
|
15
12
|
"author": "Triple Canopy <b-ber@canopycanopycanopy.com> (https://triplecanopy.github.io/)",
|
|
@@ -18,21 +15,24 @@
|
|
|
18
15
|
"access": "public"
|
|
19
16
|
},
|
|
20
17
|
"devDependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"@
|
|
23
|
-
"@
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
18
|
+
"@swc/core": "^1.15.40",
|
|
19
|
+
"@swc/jest": "^0.2.39",
|
|
20
|
+
"@types/fs-extra": "^11.0.4",
|
|
21
|
+
"@types/js-yaml": "^3.12.10",
|
|
22
|
+
"@types/lodash": "^4.17.24",
|
|
23
|
+
"@types/mime-types": "^3.0.1",
|
|
24
|
+
"@types/vinyl": "^2.0.12",
|
|
25
|
+
"jest": "^29.7.0",
|
|
26
|
+
"rimraf": "^2.7.1",
|
|
27
|
+
"tsdown": "^0.22.1",
|
|
28
|
+
"typescript": "^6.0.3"
|
|
28
29
|
},
|
|
29
30
|
"dependencies": {
|
|
30
|
-
"@
|
|
31
|
-
"@canopycanopycanopy/b-ber-
|
|
32
|
-
"@canopycanopycanopy/b-ber-shapes-
|
|
33
|
-
"@canopycanopycanopy/b-ber-
|
|
34
|
-
"@canopycanopycanopy/b-ber-theme-
|
|
35
|
-
"@canopycanopycanopy/b-ber-theme-serif": "3.0.8-next.61+2bbec564",
|
|
31
|
+
"@canopycanopycanopy/b-ber-logger": "3.0.8-next.96+7446845b",
|
|
32
|
+
"@canopycanopycanopy/b-ber-shapes-dublin-core": "3.0.8-next.96+7446845b",
|
|
33
|
+
"@canopycanopycanopy/b-ber-shapes-sequences": "3.0.8-next.96+7446845b",
|
|
34
|
+
"@canopycanopycanopy/b-ber-theme-sans": "3.0.8-next.96+7446845b",
|
|
35
|
+
"@canopycanopycanopy/b-ber-theme-serif": "3.0.8-next.96+7446845b",
|
|
36
36
|
"command-exists": "^1.2.2",
|
|
37
37
|
"fs-extra": "^8.1.0",
|
|
38
38
|
"glob": "^7.1.4",
|
|
@@ -41,26 +41,19 @@
|
|
|
41
41
|
"layouts": "^3.0.2",
|
|
42
42
|
"lodash": "^4.17.21",
|
|
43
43
|
"mime-types": "^2.1.24",
|
|
44
|
-
"tar": "^6.1.11",
|
|
45
44
|
"vinyl": "^2.2.0",
|
|
46
45
|
"yargs": "^13.3.0",
|
|
47
46
|
"yawn-yaml": "1.5.0"
|
|
48
47
|
},
|
|
49
48
|
"files": [
|
|
50
|
-
"
|
|
51
|
-
"Config.js",
|
|
49
|
+
"dist",
|
|
52
50
|
"EbookConvert.js",
|
|
53
|
-
"GuideItem.js",
|
|
54
51
|
"Html.js",
|
|
55
52
|
"HtmlToXml.js",
|
|
56
53
|
"ManifestItemProperties.js",
|
|
57
|
-
"Spine.js",
|
|
58
|
-
"SpineItem.js",
|
|
59
54
|
"State.js",
|
|
60
|
-
"Template.js",
|
|
61
55
|
"Theme.js",
|
|
62
|
-
"
|
|
63
|
-
"Yaml.js",
|
|
56
|
+
"utils.js",
|
|
64
57
|
"YamlAdaptor.js"
|
|
65
58
|
],
|
|
66
59
|
"repository": {
|
|
@@ -77,5 +70,5 @@
|
|
|
77
70
|
"url": "https://maxwellsimmer.com"
|
|
78
71
|
}
|
|
79
72
|
],
|
|
80
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "7446845bcda4337bfbc9f75b55a1e0ca805023eb"
|
|
81
74
|
}
|
package/utils.js
ADDED
package/Config.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
5
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
10
|
-
var _defaultsDeep = _interopRequireDefault(require("lodash/defaultsDeep"));
|
|
11
|
-
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
12
|
-
/* eslint-disable camelcase */
|
|
13
|
-
|
|
14
|
-
class Config {
|
|
15
|
-
constructor(options = {}) {
|
|
16
|
-
(0, _defineProperty2.default)(this, "defaultOptions", {
|
|
17
|
-
env: process.env.NODE_ENV || 'development',
|
|
18
|
-
src: '_project',
|
|
19
|
-
dist: 'project',
|
|
20
|
-
cache: true,
|
|
21
|
-
ibooks_specified_fonts: false,
|
|
22
|
-
theme: 'b-ber-theme-serif',
|
|
23
|
-
themes_directory: './themes',
|
|
24
|
-
base_url: 'http://localhost:4000/project-web',
|
|
25
|
-
base_path: '/',
|
|
26
|
-
remote_url: 'http://localhost:4000/',
|
|
27
|
-
reader_url: 'http://localhost:4000/project-reader',
|
|
28
|
-
downloads: [],
|
|
29
|
-
ui_options: {
|
|
30
|
-
navigation: {
|
|
31
|
-
header_icons: {
|
|
32
|
-
info: true,
|
|
33
|
-
home: true,
|
|
34
|
-
downloads: true,
|
|
35
|
-
toc: true
|
|
36
|
-
},
|
|
37
|
-
footer_icons: {
|
|
38
|
-
chapter: true,
|
|
39
|
-
page: true
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
private: false,
|
|
44
|
-
ignore: [],
|
|
45
|
-
autoprefixer_options: {
|
|
46
|
-
overrideBrowserslist: ['defaults', '> 1%', 'not dead', 'not IE 11'],
|
|
47
|
-
flexbox: 'no-2009'
|
|
48
|
-
},
|
|
49
|
-
layout: 'columns',
|
|
50
|
-
group_footnotes: true
|
|
51
|
-
});
|
|
52
|
-
// lodash.defaultsDeep mutates so we deepclone first
|
|
53
|
-
const defaultOptionsClone = (0, _cloneDeep.default)(this.defaultOptions);
|
|
54
|
-
const optionsClone = (0, _cloneDeep.default)(options);
|
|
55
|
-
return (0, _defaultsDeep.default)(optionsClone, defaultOptionsClone);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
var _default = exports.default = Config;
|
package/GuideItem.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
class GuideItem {
|
|
9
|
-
constructor({
|
|
10
|
-
fileName,
|
|
11
|
-
title,
|
|
12
|
-
type
|
|
13
|
-
}) {
|
|
14
|
-
this.fileName = fileName;
|
|
15
|
-
this.title = title;
|
|
16
|
-
this.type = type;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
var _default = exports.default = GuideItem;
|
package/Spine.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$keys2 = 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 _filterInstanceProperty = 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 _forEachInstanceProperty = 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 _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
12
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
13
|
-
value: true
|
|
14
|
-
});
|
|
15
|
-
exports.default = void 0;
|
|
16
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
|
17
|
-
var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectDestructuringEmpty"));
|
|
18
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
19
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
20
|
-
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
|
|
21
|
-
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/entries"));
|
|
22
|
-
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
|
23
|
-
var _entries2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
|
24
|
-
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
25
|
-
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
26
|
-
var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
27
|
-
var _path = _interopRequireDefault(require("path"));
|
|
28
|
-
var _glob = _interopRequireDefault(require("glob"));
|
|
29
|
-
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
30
|
-
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
|
|
31
|
-
var _difference = _interopRequireDefault(require("lodash/difference"));
|
|
32
|
-
var _YamlAdaptor = _interopRequireDefault(require("./YamlAdaptor"));
|
|
33
|
-
var _SpineItem = _interopRequireDefault(require("./SpineItem"));
|
|
34
|
-
const _excluded = ["nodes"];
|
|
35
|
-
function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
36
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
37
|
-
class Spine {
|
|
38
|
-
constructor({
|
|
39
|
-
src,
|
|
40
|
-
buildType,
|
|
41
|
-
navigationConfigFile
|
|
42
|
-
}) {
|
|
43
|
-
this.src = src;
|
|
44
|
-
this.buildType = buildType;
|
|
45
|
-
this.frontMatter = new _map.default();
|
|
46
|
-
this.navigationConfigFile = navigationConfigFile;
|
|
47
|
-
this.entries = this.create();
|
|
48
|
-
this.nested = this.build((0, _entries.default)(this)); // nested navigation
|
|
49
|
-
this.flattened = this.flattenNodes(this.nested); // one-dimensional page flow
|
|
50
|
-
}
|
|
51
|
-
build(entries = []) {
|
|
52
|
-
const {
|
|
53
|
-
buildType
|
|
54
|
-
} = this;
|
|
55
|
-
return (0, _reduce.default)(entries).call(entries, (acc, curr, index) => {
|
|
56
|
-
// create new spine item
|
|
57
|
-
let node;
|
|
58
|
-
// check if it either has nested entries or attributes that have
|
|
59
|
-
// been assigned in the yaml file
|
|
60
|
-
if ((0, _isPlainObject.default)(curr)) {
|
|
61
|
-
// we know that nested navigation is wrapped in a `section`
|
|
62
|
-
// object so we check against that
|
|
63
|
-
const {
|
|
64
|
-
section
|
|
65
|
-
} = curr;
|
|
66
|
-
if (section) {
|
|
67
|
-
// curr has nested navigation. attach the nodes to the
|
|
68
|
-
// previous entry in the tree by querying the last index
|
|
69
|
-
let _index = 0;
|
|
70
|
-
while ((0, _isUndefined.default)(acc[index - _index]) && _index !== acc.length) {
|
|
71
|
-
_index += 1;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// add the nodes recursively and return the tree
|
|
75
|
-
acc[index - _index].nodes = this.build(section);
|
|
76
|
-
return acc;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// curr has attributes
|
|
80
|
-
const [[fileName, _ref]] = (0, _entries2.default)(curr);
|
|
81
|
-
// also set frontmatter for easy access later
|
|
82
|
-
const options = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
|
|
83
|
-
this.frontMatter.set(fileName, {});
|
|
84
|
-
node = new _SpineItem.default(_objectSpread({
|
|
85
|
-
fileName,
|
|
86
|
-
buildType
|
|
87
|
-
}, options));
|
|
88
|
-
} else {
|
|
89
|
-
// just a plain file name
|
|
90
|
-
const fileName = curr;
|
|
91
|
-
// also set frontmatter for easy access later
|
|
92
|
-
this.frontMatter.set(fileName, {});
|
|
93
|
-
node = new _SpineItem.default({
|
|
94
|
-
fileName,
|
|
95
|
-
buildType
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
return (0, _concat.default)(acc).call(acc, node);
|
|
99
|
-
}, []);
|
|
100
|
-
}
|
|
101
|
-
flattenNodes(arr) {
|
|
102
|
-
return (0, _reduce.default)(arr).call(arr, (acc, curr) => {
|
|
103
|
-
const {
|
|
104
|
-
nodes
|
|
105
|
-
} = curr,
|
|
106
|
-
rest = (0, _objectWithoutProperties2.default)(curr, _excluded);
|
|
107
|
-
const acc_ = (0, _concat.default)(acc).call(acc, rest);
|
|
108
|
-
return nodes && nodes.length ? (0, _concat.default)(acc_).call(acc_, this.flattenNodes(nodes)) : acc_;
|
|
109
|
-
}, []);
|
|
110
|
-
}
|
|
111
|
-
flattenYAML(data = []) {
|
|
112
|
-
return (0, _reduce.default)(data).call(data, (acc, curr) => {
|
|
113
|
-
if ((0, _isPlainObject.default)(curr)) {
|
|
114
|
-
if ((0, _keys.default)(curr)[0] === 'section') {
|
|
115
|
-
return (0, _concat.default)(acc).call(acc, this.flattenYAML(curr.section));
|
|
116
|
-
}
|
|
117
|
-
return (0, _concat.default)(acc).call(acc, (0, _keys.default)(curr)[0]);
|
|
118
|
-
}
|
|
119
|
-
return (0, _concat.default)(acc).call(acc, curr);
|
|
120
|
-
}, []);
|
|
121
|
-
}
|
|
122
|
-
create() {
|
|
123
|
-
var _context;
|
|
124
|
-
const pattern = _path.default.resolve(this.src, '_markdown', '*.md');
|
|
125
|
-
const declaredFiles = _YamlAdaptor.default.load(this.navigationConfigFile);
|
|
126
|
-
const flattenedFiles = this.flattenYAML(declaredFiles);
|
|
127
|
-
const systemFileNames = (0, _map2.default)(_context = _glob.default.sync(pattern)).call(_context, file => _path.default.basename(file, '.md'));
|
|
128
|
-
const missingEntries = (0, _difference.default)(systemFileNames, flattenedFiles);
|
|
129
|
-
const entries = (0, _concat.default)(declaredFiles).call(declaredFiles, missingEntries);
|
|
130
|
-
return entries;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
var _default = exports.default = Spine;
|
package/SpineItem.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
5
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
|
10
|
-
var _startCase = _interopRequireDefault(require("lodash/startCase"));
|
|
11
|
-
/* eslint-disable camelcase */
|
|
12
|
-
|
|
13
|
-
class SpineItem {
|
|
14
|
-
static isNavigationDocument(fileName) {
|
|
15
|
-
return fileName === 'toc' || fileName === 'nav';
|
|
16
|
-
}
|
|
17
|
-
constructor({
|
|
18
|
-
fileName,
|
|
19
|
-
in_toc,
|
|
20
|
-
linear,
|
|
21
|
-
generated,
|
|
22
|
-
pageOrder,
|
|
23
|
-
buildType,
|
|
24
|
-
nodes,
|
|
25
|
-
ref,
|
|
26
|
-
title
|
|
27
|
-
}) {
|
|
28
|
-
// TODO: rename name baseName
|
|
29
|
-
// TODO: fileName has an extension in some cases, other times not (only seen in inject/index.js so far). this needs to be verified
|
|
30
|
-
// TODO: should contain separate fields for input and output name (i.e., .md and .xhtml)
|
|
31
|
-
// @issue: https://github.com/triplecanopy/b-ber/issues/207
|
|
32
|
-
|
|
33
|
-
// options
|
|
34
|
-
this.fileName = fileName;
|
|
35
|
-
this.pageOrder = typeof pageOrder === 'number' ? pageOrder : -1;
|
|
36
|
-
this.in_toc = typeof in_toc === 'boolean' ? in_toc : true;
|
|
37
|
-
this.linear = typeof linear === 'boolean' ? linear : true;
|
|
38
|
-
this.generated = Boolean(generated);
|
|
39
|
-
this.nodes = nodes || [];
|
|
40
|
-
this.ref = ref || null; // TODO: what's this? @issue: https://github.com/triplecanopy/b-ber/issues/207
|
|
41
|
-
this.title = title || (0, _startCase.default)(fileName.toLowerCase());
|
|
42
|
-
|
|
43
|
-
// dynamicly created props
|
|
44
|
-
this.relativePath = SpineItem.isNavigationDocument(this.fileName) // relative to OPS
|
|
45
|
-
? this.fileName : _path.default.join('text', this.fileName);
|
|
46
|
-
this.absolutePath = _path.default.resolve(`project-${buildType}`, 'OPS', this.relativePath);
|
|
47
|
-
this.extension = _path.default.extname(this.fileName);
|
|
48
|
-
this.name = _path.default.basename(this.fileName, this.extension);
|
|
49
|
-
this.remotePath = '';
|
|
50
|
-
this.type = ''; // frontmatter, backmatter, ec
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
var _default = exports.default = SpineItem;
|
package/Template.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
5
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
10
|
-
var _vinyl = _interopRequireDefault(require("vinyl"));
|
|
11
|
-
var _layouts = _interopRequireDefault(require("layouts"));
|
|
12
|
-
class Template {}
|
|
13
|
-
(0, _defineProperty2.default)(Template, "render", (contents, template) => (0, _layouts.default)(new _vinyl.default({
|
|
14
|
-
path: '.Template',
|
|
15
|
-
layout: 'template',
|
|
16
|
-
contents: Buffer.from(contents)
|
|
17
|
-
}), {
|
|
18
|
-
template
|
|
19
|
-
}).contents.toString());
|
|
20
|
-
var _default = exports.default = Template;
|
package/Url.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
5
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
10
|
-
var _Url;
|
|
11
|
-
class Url {
|
|
12
|
-
static trimSlashes(url) {
|
|
13
|
-
return url.replace(/(^\/+|\/+$)/, '');
|
|
14
|
-
}
|
|
15
|
-
static ensureDecoded(str) {
|
|
16
|
-
let str_ = str;
|
|
17
|
-
while (decodeURIComponent(str_) !== str_) {
|
|
18
|
-
str_ = decodeURIComponent(str_);
|
|
19
|
-
}
|
|
20
|
-
return str_;
|
|
21
|
-
}
|
|
22
|
-
static encodeQueryString(url) {
|
|
23
|
-
let url_ = url.split('?');
|
|
24
|
-
const loc = url_[0];
|
|
25
|
-
let qs = url_[1];
|
|
26
|
-
if (!qs) return loc;
|
|
27
|
-
qs = Url.ensureDecoded(qs);
|
|
28
|
-
qs = encodeURIComponent(qs);
|
|
29
|
-
url_ = `${loc}?${qs}`;
|
|
30
|
-
return url_;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
_Url = Url;
|
|
34
|
-
(0, _defineProperty2.default)(Url, "removeTrailingSlash", str => {
|
|
35
|
-
if (typeof str !== 'string') return '';
|
|
36
|
-
return str.replace(/\/+$/, '');
|
|
37
|
-
});
|
|
38
|
-
(0, _defineProperty2.default)(Url, "addTrailingSlash", str => {
|
|
39
|
-
if (typeof str !== 'string' || str === '/') return '/';
|
|
40
|
-
return `${_Url.removeTrailingSlash(str)}/`;
|
|
41
|
-
});
|
|
42
|
-
var _default = exports.default = Url;
|
package/Yaml.js
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
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 _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
12
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
13
|
-
value: true
|
|
14
|
-
});
|
|
15
|
-
exports.default = void 0;
|
|
16
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
17
|
-
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
|
18
|
-
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
|
19
|
-
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
20
|
-
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
21
|
-
var _find = _interopRequireDefault(require("lodash/find"));
|
|
22
|
-
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
|
|
23
|
-
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
24
|
-
var _bBerLogger = _interopRequireDefault(require("@canopycanopycanopy/b-ber-logger"));
|
|
25
|
-
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty2(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty2(_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty2(_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable camelcase */
|
|
27
|
-
const YAWN = require('yawn-yaml/cjs');
|
|
28
|
-
|
|
29
|
-
// TODO set up decoder
|
|
30
|
-
const interfaces = {
|
|
31
|
-
metadata: {
|
|
32
|
-
term: {
|
|
33
|
-
type: 'string',
|
|
34
|
-
required: true
|
|
35
|
-
},
|
|
36
|
-
value: {
|
|
37
|
-
type: 'string',
|
|
38
|
-
required: true
|
|
39
|
-
},
|
|
40
|
-
term_property: {
|
|
41
|
-
type: 'string',
|
|
42
|
-
required: false
|
|
43
|
-
},
|
|
44
|
-
term_property_value: {
|
|
45
|
-
type: 'string',
|
|
46
|
-
required: false
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
config: {
|
|
50
|
-
env: {
|
|
51
|
-
type: 'string',
|
|
52
|
-
required: false
|
|
53
|
-
},
|
|
54
|
-
src: {
|
|
55
|
-
type: 'string',
|
|
56
|
-
required: true
|
|
57
|
-
},
|
|
58
|
-
dist: {
|
|
59
|
-
type: 'string',
|
|
60
|
-
required: true
|
|
61
|
-
},
|
|
62
|
-
ibooks_specified_fonts: {
|
|
63
|
-
type: 'boolean',
|
|
64
|
-
required: false
|
|
65
|
-
},
|
|
66
|
-
theme: {
|
|
67
|
-
type: 'string',
|
|
68
|
-
required: false
|
|
69
|
-
},
|
|
70
|
-
themes_directory: {
|
|
71
|
-
type: 'string',
|
|
72
|
-
required: false
|
|
73
|
-
},
|
|
74
|
-
base_url: {
|
|
75
|
-
type: 'string',
|
|
76
|
-
required: false
|
|
77
|
-
},
|
|
78
|
-
base_path: {
|
|
79
|
-
type: 'string',
|
|
80
|
-
required: false
|
|
81
|
-
},
|
|
82
|
-
remote_url: {
|
|
83
|
-
type: 'string',
|
|
84
|
-
required: false
|
|
85
|
-
},
|
|
86
|
-
reader_url: {
|
|
87
|
-
type: 'string',
|
|
88
|
-
required: false
|
|
89
|
-
},
|
|
90
|
-
downloads: {
|
|
91
|
-
type: 'array',
|
|
92
|
-
required: false
|
|
93
|
-
},
|
|
94
|
-
ui_options: {
|
|
95
|
-
type: 'object',
|
|
96
|
-
required: false
|
|
97
|
-
},
|
|
98
|
-
private: {
|
|
99
|
-
type: 'boolean',
|
|
100
|
-
required: false
|
|
101
|
-
},
|
|
102
|
-
ignore: {
|
|
103
|
-
type: 'array',
|
|
104
|
-
required: false
|
|
105
|
-
},
|
|
106
|
-
autoprefixer_options: {
|
|
107
|
-
type: 'object',
|
|
108
|
-
required: false
|
|
109
|
-
},
|
|
110
|
-
layout: {
|
|
111
|
-
type: 'string',
|
|
112
|
-
required: false
|
|
113
|
-
},
|
|
114
|
-
group_footnotes: {
|
|
115
|
-
type: 'boolean',
|
|
116
|
-
required: false
|
|
117
|
-
}
|
|
118
|
-
// TODO: fill this in with missing options
|
|
119
|
-
},
|
|
120
|
-
media: {}
|
|
121
|
-
};
|
|
122
|
-
function YawnAPI() {
|
|
123
|
-
this.yaml = () => '';
|
|
124
|
-
this.json = () => {};
|
|
125
|
-
}
|
|
126
|
-
const typeCheck = (schema, data = {}) => {
|
|
127
|
-
var _context;
|
|
128
|
-
const errors = [];
|
|
129
|
-
if (!interfaces[schema]) errors.push(new Error(`Invalid schema: ${schema}`));
|
|
130
|
-
if (!(0, _isPlainObject.default)(data)) {
|
|
131
|
-
errors.push(new Error(`Invalid entry: ${typeof data}`));
|
|
132
|
-
}
|
|
133
|
-
(0, _forEach.default)(_context = (0, _entries.default)(data)).call(_context, ([key, val]) => {
|
|
134
|
-
if (!interfaces[schema][key]) {
|
|
135
|
-
errors.push(new Error(`Schema "${schema}" does not support property "${key}"`));
|
|
136
|
-
}
|
|
137
|
-
if (interfaces[schema][key] && interfaces[schema][key].required === true && (0, _isUndefined.default)(val)) {
|
|
138
|
-
errors.push(new Error(`Schema "${schema}" requires value for"${key}"`));
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
if (errors.length) _bBerLogger.default.error(errors);
|
|
142
|
-
};
|
|
143
|
-
class Yaml {
|
|
144
|
-
constructor(schema, strict) {
|
|
145
|
-
(0, _defineProperty2.default)(this, "data", new YawnAPI());
|
|
146
|
-
(0, _defineProperty2.default)(this, "schema", '');
|
|
147
|
-
(0, _defineProperty2.default)(this, "strict", true);
|
|
148
|
-
(0, _defineProperty2.default)(this, "load", file => {
|
|
149
|
-
const data = _fsExtra.default.readFileSync(file, 'utf8');
|
|
150
|
-
this.data = new YAWN(data);
|
|
151
|
-
});
|
|
152
|
-
(0, _defineProperty2.default)(this, "add", entry => {
|
|
153
|
-
if (this.strict) typeCheck(this.schema, entry);
|
|
154
|
-
this.data.json = [...this.data.json, entry];
|
|
155
|
-
});
|
|
156
|
-
(0, _defineProperty2.default)(this, "remove", (key, value) => {
|
|
157
|
-
var _context2;
|
|
158
|
-
this.data.json = (0, _filter.default)(_context2 = this.data.json).call(_context2, a => a[key] === value);
|
|
159
|
-
});
|
|
160
|
-
(0, _defineProperty2.default)(this, "update", (key, current, object) => {
|
|
161
|
-
const entry = (0, _find.default)(this.data.json, {
|
|
162
|
-
[key]: current
|
|
163
|
-
});
|
|
164
|
-
this.remove(key, current);
|
|
165
|
-
this.data.json = [...this.data.json, _objectSpread(_objectSpread({}, entry), object)];
|
|
166
|
-
});
|
|
167
|
-
(0, _defineProperty2.default)(this, "yaml", () => this.data.yaml);
|
|
168
|
-
(0, _defineProperty2.default)(this, "json", () => this.data.json);
|
|
169
|
-
this.strict = (0, _isUndefined.default)(strict) ? strict : this.strict;
|
|
170
|
-
if (this.strict) typeCheck(schema);
|
|
171
|
-
this.schema = schema;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
var _default = exports.default = Yaml;
|