@jpmorganchase/mosaic-plugins 0.1.0-beta.6 → 0.1.0-beta.8
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 +35 -0
- package/dist/$AliasPlugin.js +229 -64
- package/dist/$AliasPlugin.js.map +1 -1
- package/dist/$CodeModPlugin.js +118 -36
- package/dist/$CodeModPlugin.js.map +1 -1
- package/dist/$RefPlugin.js +449 -122
- package/dist/$RefPlugin.js.map +1 -1
- package/dist/$TagPlugin.js +236 -77
- package/dist/$TagPlugin.js.map +1 -1
- package/dist/BreadcrumbsPlugin.js +114 -42
- package/dist/BreadcrumbsPlugin.js.map +1 -1
- package/dist/LazyPagePlugin.js +255 -86
- package/dist/LazyPagePlugin.js.map +1 -1
- package/dist/LocalFolderSavePlugin.js +165 -0
- package/dist/LocalFolderSavePlugin.js.map +1 -0
- package/dist/NextPrevPagePlugin.js +157 -47
- package/dist/NextPrevPagePlugin.js.map +1 -1
- package/dist/PagesWithoutFileExtPlugin.js +119 -38
- package/dist/PagesWithoutFileExtPlugin.js.map +1 -1
- package/dist/ReadingTimePlugin.mjs.map +1 -1
- package/dist/SearchIndexPlugin.mjs +268 -0
- package/dist/SearchIndexPlugin.mjs.map +1 -0
- package/dist/SharedConfigPlugin.js +174 -43
- package/dist/SharedConfigPlugin.js.map +1 -1
- package/dist/SidebarPlugin.js +319 -87
- package/dist/SidebarPlugin.js.map +1 -1
- package/dist/SiteMapPlugin.js +90 -38
- package/dist/SiteMapPlugin.js.map +1 -1
- package/dist/TableOfContentsPlugin.mjs +49 -58
- package/dist/TableOfContentsPlugin.mjs.map +1 -1
- package/dist/__tests__/BreadcrumbsPlugin.test.js +160 -0
- package/dist/__tests__/BreadcrumbsPlugin.test.js.map +1 -0
- package/dist/utils/normaliseRefs.js +276 -74
- package/dist/utils/normaliseRefs.js.map +1 -1
- package/package.json +16 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# @jpmorganchase/mosaic-plugins
|
|
2
2
|
|
|
3
|
+
## 0.1.0-beta.8
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 2dca0b1: initial release of Mosaic store package
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [2dca0b1]
|
|
12
|
+
- @jpmorganchase/mosaic-serialisers@0.1.0-beta.8
|
|
13
|
+
- @jpmorganchase/mosaic-source-git-repo@0.1.0-beta.8
|
|
14
|
+
- @jpmorganchase/mosaic-source-local-folder@0.1.0-beta.8
|
|
15
|
+
- @jpmorganchase/mosaic-types@0.1.0-beta.8
|
|
16
|
+
|
|
17
|
+
## 0.1.0-beta.7
|
|
18
|
+
|
|
19
|
+
### Minor Changes
|
|
20
|
+
|
|
21
|
+
- f82c397: Initial release of theme and client side search
|
|
22
|
+
|
|
23
|
+
We are iterating towards deploying our site code.
|
|
24
|
+
|
|
25
|
+
This release includes
|
|
26
|
+
|
|
27
|
+
- initial work for client-side search support
|
|
28
|
+
- Mosaic theme.
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [f82c397]
|
|
33
|
+
- @jpmorganchase/mosaic-serialisers@0.1.0-beta.7
|
|
34
|
+
- @jpmorganchase/mosaic-source-git-repo@0.1.0-beta.7
|
|
35
|
+
- @jpmorganchase/mosaic-source-local-folder@0.1.0-beta.7
|
|
36
|
+
- @jpmorganchase/mosaic-types@0.1.0-beta.7
|
|
37
|
+
|
|
3
38
|
## 0.1.0-beta.6
|
|
4
39
|
|
|
5
40
|
### Patch Changes
|
package/dist/$AliasPlugin.js
CHANGED
|
@@ -1,75 +1,240 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
+
try {
|
|
3
|
+
var info = gen[key](arg);
|
|
4
|
+
var value = info.value;
|
|
5
|
+
} catch (error) {
|
|
6
|
+
reject(error);
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (info.done) {
|
|
10
|
+
resolve(value);
|
|
11
|
+
} else {
|
|
12
|
+
Promise.resolve(value).then(_next, _throw);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function _asyncToGenerator(fn) {
|
|
16
|
+
return function() {
|
|
17
|
+
var self = this, args = arguments;
|
|
18
|
+
return new Promise(function(resolve, reject) {
|
|
19
|
+
var gen = fn.apply(self, args);
|
|
20
|
+
function _next(value) {
|
|
21
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
22
|
+
}
|
|
23
|
+
function _throw(err) {
|
|
24
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
25
|
+
}
|
|
26
|
+
_next(undefined);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
import regeneratorRuntime from "regenerator-runtime";
|
|
31
|
+
import path from "path";
|
|
32
|
+
import { escapeRegExp } from "lodash";
|
|
33
|
+
function createPageTest(ignorePages, pageExtensions) {
|
|
34
|
+
var extTest = new RegExp("".concat(pageExtensions.map(escapeRegExp).join("|"), "$"));
|
|
35
|
+
var ignoreTest = new RegExp("".concat(ignorePages.map(escapeRegExp).join("|"), "$"));
|
|
36
|
+
return function(file) {
|
|
37
|
+
return !ignoreTest.test(file) && extTest.test(file) && !path.basename(file).startsWith(".");
|
|
38
|
+
};
|
|
39
|
+
}
|
|
17
40
|
/**
|
|
18
41
|
* Plugin that scrapes `aliases` from page metadata and also applies all aliases stored in `config.data.aliases`
|
|
19
42
|
* Other plugins can use `setAliases` to apply new aliases, as long as they call it before this plugin has reaches `$beforeSend`
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
43
|
+
*/ var $AliasPlugin = {
|
|
44
|
+
$afterSource: function $afterSource(pages, param) {
|
|
45
|
+
var config = param.config, ignorePages = param.ignorePages, pageExtensions = param.pageExtensions;
|
|
46
|
+
return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
|
|
47
|
+
var isNonHiddenPage, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, page;
|
|
48
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
49
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
|
50
|
+
case 0:
|
|
51
|
+
isNonHiddenPage = createPageTest(ignorePages, pageExtensions);
|
|
52
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
53
|
+
_ctx.prev = 2;
|
|
54
|
+
_iterator = pages[Symbol.iterator]();
|
|
55
|
+
case 4:
|
|
56
|
+
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
|
|
57
|
+
_ctx.next = 13;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
page = _step.value;
|
|
61
|
+
if (isNonHiddenPage(page.fullPath)) {
|
|
62
|
+
_ctx.next = 8;
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
return _ctx.abrupt("continue", 10);
|
|
66
|
+
case 8:
|
|
67
|
+
if (page.aliases) {
|
|
68
|
+
config.setAliases(page.fullPath, page.aliases);
|
|
69
|
+
}
|
|
70
|
+
delete page.aliases;
|
|
71
|
+
case 10:
|
|
72
|
+
_iteratorNormalCompletion = true;
|
|
73
|
+
_ctx.next = 4;
|
|
74
|
+
break;
|
|
75
|
+
case 13:
|
|
76
|
+
_ctx.next = 19;
|
|
77
|
+
break;
|
|
78
|
+
case 15:
|
|
79
|
+
_ctx.prev = 15;
|
|
80
|
+
_ctx.t0 = _ctx["catch"](2);
|
|
81
|
+
_didIteratorError = true;
|
|
82
|
+
_iteratorError = _ctx.t0;
|
|
83
|
+
case 19:
|
|
84
|
+
_ctx.prev = 19;
|
|
85
|
+
_ctx.prev = 20;
|
|
86
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
87
|
+
_iterator.return();
|
|
88
|
+
}
|
|
89
|
+
case 22:
|
|
90
|
+
_ctx.prev = 22;
|
|
91
|
+
if (!_didIteratorError) {
|
|
92
|
+
_ctx.next = 25;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
throw _iteratorError;
|
|
96
|
+
case 25:
|
|
97
|
+
return _ctx.finish(22);
|
|
98
|
+
case 26:
|
|
99
|
+
return _ctx.finish(19);
|
|
100
|
+
case 27:
|
|
101
|
+
return _ctx.abrupt("return", pages);
|
|
102
|
+
case 28:
|
|
103
|
+
case "end":
|
|
104
|
+
return _ctx.stop();
|
|
32
105
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
106
|
+
}, _callee, null, [
|
|
107
|
+
[
|
|
108
|
+
2,
|
|
109
|
+
15,
|
|
110
|
+
19,
|
|
111
|
+
27
|
|
112
|
+
],
|
|
113
|
+
[
|
|
114
|
+
20,
|
|
115
|
+
,
|
|
116
|
+
22,
|
|
117
|
+
26
|
|
118
|
+
]
|
|
119
|
+
]);
|
|
120
|
+
}))();
|
|
37
121
|
},
|
|
38
|
-
$beforeSend(mutableFilesystem,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
122
|
+
$beforeSend: function $beforeSend(mutableFilesystem, param) {
|
|
123
|
+
var config = param.config;
|
|
124
|
+
return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
|
|
125
|
+
var fullPath, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, alias, aliasPath, aliasDir;
|
|
126
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
127
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
|
128
|
+
case 0:
|
|
129
|
+
// Prevent any more aliases being set after this lifecycle has been called - as they won't take effect
|
|
130
|
+
config.setAliases = function() {
|
|
131
|
+
throw new Error("Cannot set aliases after `$AliasPlugin` has reached `$beforeSend` lifecycle phase.");
|
|
132
|
+
};
|
|
133
|
+
if (config.data.aliases) {
|
|
134
|
+
_ctx.next = 3;
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
return _ctx.abrupt("return");
|
|
138
|
+
case 3:
|
|
139
|
+
_ctx.t0 = regeneratorRuntime.keys(config.data.aliases);
|
|
140
|
+
case 4:
|
|
141
|
+
if ((_ctx.t1 = _ctx.t0()).done) {
|
|
142
|
+
_ctx.next = 45;
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
fullPath = _ctx.t1.value;
|
|
146
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
147
|
+
_ctx.prev = 7;
|
|
148
|
+
_iterator = config.data.aliases[fullPath][Symbol.iterator]();
|
|
149
|
+
case 9:
|
|
150
|
+
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
|
|
151
|
+
_ctx.next = 29;
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
alias = _step.value;
|
|
155
|
+
aliasPath = path.resolve(path.dirname(fullPath), alias).toLowerCase();
|
|
156
|
+
aliasDir = path.dirname(aliasPath);
|
|
157
|
+
_ctx.next = 15;
|
|
158
|
+
return mutableFilesystem.promises.exists(aliasDir);
|
|
159
|
+
case 15:
|
|
160
|
+
if (_ctx.sent) {
|
|
161
|
+
_ctx.next = 18;
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
_ctx.next = 18;
|
|
165
|
+
return mutableFilesystem.promises.mkdir(aliasDir, {
|
|
53
166
|
recursive: true
|
|
54
167
|
});
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
168
|
+
case 18:
|
|
169
|
+
_ctx.next = 20;
|
|
170
|
+
return mutableFilesystem.promises.exists(aliasPath);
|
|
171
|
+
case 20:
|
|
172
|
+
if (_ctx.sent) {
|
|
173
|
+
_ctx.next = 25;
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
_ctx.next = 23;
|
|
177
|
+
return mutableFilesystem.promises.symlink(fullPath, aliasPath);
|
|
178
|
+
case 23:
|
|
179
|
+
_ctx.next = 26;
|
|
180
|
+
break;
|
|
181
|
+
case 25:
|
|
182
|
+
{
|
|
183
|
+
console.warn("Alias '".concat(aliasPath, "' already exists. Is there a duplicate alias, or a page with the same name but different file extensions?"));
|
|
184
|
+
}
|
|
185
|
+
case 26:
|
|
186
|
+
_iteratorNormalCompletion = true;
|
|
187
|
+
_ctx.next = 9;
|
|
188
|
+
break;
|
|
189
|
+
case 29:
|
|
190
|
+
_ctx.next = 35;
|
|
191
|
+
break;
|
|
192
|
+
case 31:
|
|
193
|
+
_ctx.prev = 31;
|
|
194
|
+
_ctx.t2 = _ctx["catch"](7);
|
|
195
|
+
_didIteratorError = true;
|
|
196
|
+
_iteratorError = _ctx.t2;
|
|
197
|
+
case 35:
|
|
198
|
+
_ctx.prev = 35;
|
|
199
|
+
_ctx.prev = 36;
|
|
200
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
201
|
+
_iterator.return();
|
|
202
|
+
}
|
|
203
|
+
case 38:
|
|
204
|
+
_ctx.prev = 38;
|
|
205
|
+
if (!_didIteratorError) {
|
|
206
|
+
_ctx.next = 41;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
throw _iteratorError;
|
|
210
|
+
case 41:
|
|
211
|
+
return _ctx.finish(38);
|
|
212
|
+
case 42:
|
|
213
|
+
return _ctx.finish(35);
|
|
214
|
+
case 43:
|
|
215
|
+
_ctx.next = 4;
|
|
216
|
+
break;
|
|
217
|
+
case 45:
|
|
218
|
+
case "end":
|
|
219
|
+
return _ctx.stop();
|
|
62
220
|
}
|
|
63
|
-
}
|
|
64
|
-
|
|
221
|
+
}, _callee, null, [
|
|
222
|
+
[
|
|
223
|
+
7,
|
|
224
|
+
31,
|
|
225
|
+
35,
|
|
226
|
+
43
|
|
227
|
+
],
|
|
228
|
+
[
|
|
229
|
+
36,
|
|
230
|
+
,
|
|
231
|
+
38,
|
|
232
|
+
42
|
|
233
|
+
]
|
|
234
|
+
]);
|
|
235
|
+
}))();
|
|
65
236
|
}
|
|
66
237
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
70
|
-
const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
71
|
-
return file => {
|
|
72
|
-
return !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
73
|
-
};
|
|
74
|
-
}
|
|
238
|
+
export default $AliasPlugin;
|
|
239
|
+
|
|
75
240
|
//# sourceMappingURL=$AliasPlugin.js.map
|
package/dist/$AliasPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/$AliasPlugin.ts"],"sourcesContent":["import path from 'path';\nimport { escapeRegExp } from 'lodash';\nimport type { Page, Plugin as PluginType } from '@jpmorganchase/mosaic-types';\n\nfunction createPageTest(ignorePages, pageExtensions) {\n const extTest = new RegExp(`${pageExtensions.map(escapeRegExp).join('|')}$`);\n const ignoreTest = new RegExp(`${ignorePages.map(escapeRegExp).join('|')}$`);\n return file =>\n !ignoreTest.test(file) && extTest.test(file) && !path.basename(file).startsWith('.');\n}\n\ninterface AliasPluginPage extends Page {\n aliases?: string[];\n}\n\n/**\n * Plugin that scrapes `aliases` from page metadata and also applies all aliases stored in `config.data.aliases`\n * Other plugins can use `setAliases` to apply new aliases, as long as they call it before this plugin has reaches `$beforeSend`\n */\nconst $AliasPlugin: PluginType<AliasPluginPage> = {\n async $afterSource(pages, { config, ignorePages, pageExtensions }) {\n const isNonHiddenPage = createPageTest(ignorePages, pageExtensions);\n\n // Group together all aliases defined in the frontmatter and store them in the alias config object\n for (const page of pages) {\n if (!isNonHiddenPage(page.fullPath)) {\n continue;\n }\n if (page.aliases) {\n config.setAliases(page.fullPath, page.aliases);\n }\n delete page.aliases;\n }\n return pages;\n },\n\n async $beforeSend(mutableFilesystem, { config }) {\n // Prevent any more aliases being set after this lifecycle has been called - as they won't take effect\n config.setAliases = () => {\n throw new Error(\n 'Cannot set aliases after `$AliasPlugin` has reached `$beforeSend` lifecycle phase.'\n );\n };\n if (!config.data.aliases) {\n return;\n }\n for (const fullPath in config.data.aliases) {\n for (const alias of config.data.aliases[fullPath]) {\n const aliasPath = path.resolve(path.dirname(fullPath), alias).toLowerCase();\n const aliasDir = path.dirname(aliasPath);\n if (!(await mutableFilesystem.promises.exists(aliasDir))) {\n await mutableFilesystem.promises.mkdir(aliasDir, {\n recursive: true\n });\n }\n if (!(await mutableFilesystem.promises.exists(aliasPath))) {\n await mutableFilesystem.promises.symlink(fullPath, aliasPath);\n } else {\n console.warn(\n `Alias '${aliasPath}' already exists. Is there a duplicate alias, or a page with the same name but different file extensions?`\n );\n }\n }\n }\n }\n};\n\nexport default $AliasPlugin;\n"],"names":["path","escapeRegExp","createPageTest","ignorePages","pageExtensions","extTest","RegExp","map","join","ignoreTest","file","test","basename","startsWith","$AliasPlugin","$afterSource","pages","config","isNonHiddenPage","page","fullPath","aliases","setAliases","$beforeSend","mutableFilesystem","alias","aliasPath","aliasDir","Error","data","resolve","dirname","toLowerCase","promises","exists","mkdir","recursive","symlink","console","warn"],"mappings":"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"}
|
package/dist/$CodeModPlugin.js
CHANGED
|
@@ -1,42 +1,124 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (page.frameOverrides) {
|
|
26
|
-
page.sharedConfig = page.frameOverrides;
|
|
27
|
-
page.frameOverrides = { $ref: '#/sharedConfig' };
|
|
28
|
-
}
|
|
1
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
+
try {
|
|
3
|
+
var info = gen[key](arg);
|
|
4
|
+
var value = info.value;
|
|
5
|
+
} catch (error) {
|
|
6
|
+
reject(error);
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (info.done) {
|
|
10
|
+
resolve(value);
|
|
11
|
+
} else {
|
|
12
|
+
Promise.resolve(value).then(_next, _throw);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function _asyncToGenerator(fn) {
|
|
16
|
+
return function() {
|
|
17
|
+
var self = this, args = arguments;
|
|
18
|
+
return new Promise(function(resolve, reject) {
|
|
19
|
+
var gen = fn.apply(self, args);
|
|
20
|
+
function _next(value) {
|
|
21
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
22
|
+
}
|
|
23
|
+
function _throw(err) {
|
|
24
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
29
25
|
}
|
|
30
|
-
|
|
26
|
+
_next(undefined);
|
|
31
27
|
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
import regeneratorRuntime from "regenerator-runtime";
|
|
31
|
+
import { escapeRegExp } from "lodash";
|
|
32
|
+
import path from "path";
|
|
35
33
|
function createPageTest(ignorePages, pageExtensions) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return file
|
|
39
|
-
return !ignoreTest.test(file) && extTest.test(file) && !
|
|
34
|
+
var extTest = new RegExp("".concat(pageExtensions.map(escapeRegExp).join("|"), "$"));
|
|
35
|
+
var ignoreTest = new RegExp("".concat(ignorePages.map(escapeRegExp).join("|"), "$"));
|
|
36
|
+
return function(file) {
|
|
37
|
+
return !ignoreTest.test(file) && extTest.test(file) && !path.basename(file).startsWith(".");
|
|
40
38
|
};
|
|
41
39
|
}
|
|
40
|
+
var $CodeModPlugin = {
|
|
41
|
+
$afterSource: function $afterSource(pages, param) {
|
|
42
|
+
var ignorePages = param.ignorePages, pageExtensions = param.pageExtensions;
|
|
43
|
+
return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
|
|
44
|
+
var isNonHiddenPage, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, page;
|
|
45
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
46
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
|
47
|
+
case 0:
|
|
48
|
+
isNonHiddenPage = createPageTest(ignorePages, pageExtensions);
|
|
49
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
50
|
+
_ctx.prev = 2;
|
|
51
|
+
_iterator = pages[Symbol.iterator]();
|
|
52
|
+
case 4:
|
|
53
|
+
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
|
|
54
|
+
_ctx.next = 12;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
page = _step.value;
|
|
58
|
+
if (isNonHiddenPage(page.fullPath)) {
|
|
59
|
+
_ctx.next = 8;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
return _ctx.abrupt("continue", 9);
|
|
63
|
+
case 8:
|
|
64
|
+
if (page.frameOverrides) {
|
|
65
|
+
page.sharedConfig = page.frameOverrides;
|
|
66
|
+
page.frameOverrides = {
|
|
67
|
+
$ref: "#/sharedConfig"
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
case 9:
|
|
71
|
+
_iteratorNormalCompletion = true;
|
|
72
|
+
_ctx.next = 4;
|
|
73
|
+
break;
|
|
74
|
+
case 12:
|
|
75
|
+
_ctx.next = 18;
|
|
76
|
+
break;
|
|
77
|
+
case 14:
|
|
78
|
+
_ctx.prev = 14;
|
|
79
|
+
_ctx.t0 = _ctx["catch"](2);
|
|
80
|
+
_didIteratorError = true;
|
|
81
|
+
_iteratorError = _ctx.t0;
|
|
82
|
+
case 18:
|
|
83
|
+
_ctx.prev = 18;
|
|
84
|
+
_ctx.prev = 19;
|
|
85
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
86
|
+
_iterator.return();
|
|
87
|
+
}
|
|
88
|
+
case 21:
|
|
89
|
+
_ctx.prev = 21;
|
|
90
|
+
if (!_didIteratorError) {
|
|
91
|
+
_ctx.next = 24;
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
throw _iteratorError;
|
|
95
|
+
case 24:
|
|
96
|
+
return _ctx.finish(21);
|
|
97
|
+
case 25:
|
|
98
|
+
return _ctx.finish(18);
|
|
99
|
+
case 26:
|
|
100
|
+
return _ctx.abrupt("return", pages);
|
|
101
|
+
case 27:
|
|
102
|
+
case "end":
|
|
103
|
+
return _ctx.stop();
|
|
104
|
+
}
|
|
105
|
+
}, _callee, null, [
|
|
106
|
+
[
|
|
107
|
+
2,
|
|
108
|
+
14,
|
|
109
|
+
18,
|
|
110
|
+
26
|
|
111
|
+
],
|
|
112
|
+
[
|
|
113
|
+
19,
|
|
114
|
+
,
|
|
115
|
+
21,
|
|
116
|
+
25
|
|
117
|
+
]
|
|
118
|
+
]);
|
|
119
|
+
}))();
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
export default $CodeModPlugin;
|
|
123
|
+
|
|
42
124
|
//# sourceMappingURL=$CodeModPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/$CodeModPlugin.ts"],"sourcesContent":["import type { Page, Plugin as PluginType } from '@jpmorganchase/mosaic-types';\nimport { escapeRegExp } from 'lodash';\nimport path from 'path';\n\nfunction createPageTest(ignorePages, pageExtensions) {\n const extTest = new RegExp(`${pageExtensions.map(escapeRegExp).join('|')}$`);\n const ignoreTest = new RegExp(`${ignorePages.map(escapeRegExp).join('|')}$`);\n return file =>\n !ignoreTest.test(file) && extTest.test(file) && !path.basename(file).startsWith('.');\n}\n\ninterface CodeModPluginPage extends Page {\n frameOverrides?: Record<string, unknown>;\n sharedConfig?: Record<string, unknown>;\n}\n\nconst $CodeModPlugin: PluginType<CodeModPluginPage> = {\n async $afterSource(pages, { ignorePages, pageExtensions }) {\n const isNonHiddenPage = createPageTest(ignorePages, pageExtensions);\n\n for (const page of pages) {\n if (!isNonHiddenPage(page.fullPath)) {\n continue;\n }\n if (page.frameOverrides) {\n page.sharedConfig = page.frameOverrides;\n page.frameOverrides = { $ref: '#/sharedConfig' };\n }\n }\n return pages;\n }\n};\n\nexport default $CodeModPlugin;\n"],"names":["escapeRegExp","path","createPageTest","ignorePages","pageExtensions","extTest","RegExp","map","join","ignoreTest","file","test","basename","startsWith","$CodeModPlugin","$afterSource","pages","isNonHiddenPage","page","fullPath","frameOverrides","sharedConfig","$ref"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAASA,YAAY,QAAQ,QAAQ,CAAC;AACtC,OAAOC,IAAI,MAAM,MAAM,CAAC;AAExB,SAASC,cAAc,CAACC,WAAW,EAAEC,cAAc,EAAE;IACnD,IAAMC,OAAO,GAAG,IAAIC,MAAM,CAAC,AAAC,EAAA,CAA6C,MAAC,CAA5CF,cAAc,CAACG,GAAG,CAACP,YAAY,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC,EAAC,GAAC,CAAC,CAAC,AAAC;IAC7E,IAAMC,UAAU,GAAG,IAAIH,MAAM,CAAC,AAAC,EAAA,CAA0C,MAAC,CAAzCH,WAAW,CAACI,GAAG,CAACP,YAAY,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC,EAAC,GAAC,CAAC,CAAC,AAAC;IAC7E,OAAOE,SAAAA,IAAI;eACT,CAACD,UAAU,CAACE,IAAI,CAACD,IAAI,CAAC,IAAIL,OAAO,CAACM,IAAI,CAACD,IAAI,CAAC,IAAI,CAACT,IAAI,CAACW,QAAQ,CAACF,IAAI,CAAC,CAACG,UAAU,CAAC,GAAG,CAAC;KAAA,CAAC;CACxF;AAOD,IAAMC,cAAc,GAAkC;IAC9CC,YAAY,EAAlB,SAAMA,YAAY,CAACC,KAAK,EAAE,KAA+B;YAA7Bb,WAAW,GAAb,KAA+B,CAA7BA,WAAW,EAAEC,cAAc,GAA7B,KAA+B,CAAhBA,cAAc;eAAI,wDAAA,mBAAA;gBACnDa,eAAe,EAEhB,yBAAU,EAAV,iBAAU,EAAV,cAAU,EAAV,SAAU,EAAV,KAAU,EAAJC,IAAI;;;;wBAFTD,eAAe,GAAGf,cAAc,CAACC,WAAW,EAAEC,cAAc,CAAC,CAAC;wBAE/D,yBAAU,SAAV,iBAAU,UAAV,cAAU;;wBAAV,SAAU,GAAIY,KAAK;;4BAAnB,yBAAU,IAAV,KAAU,GAAV,SAAU;;;;wBAAJE,IAAI,GAAV,KAAU,MAAA;4BACRD,eAAe,CAACC,IAAI,CAACC,QAAQ,CAAC;;;;;;wBAGnC,IAAID,IAAI,CAACE,cAAc,EAAE;4BACvBF,IAAI,CAACG,YAAY,GAAGH,IAAI,CAACE,cAAc,CAAC;4BACxCF,IAAI,CAACE,cAAc,GAAG;gCAAEE,IAAI,EAAE,gBAAgB;6BAAE,CAAC;yBAClD;;wBAPE,yBAAU;;;;;;;;;wBAAV,iBAAU;wBAAV,cAAU;;;;6BAAV,yBAAU,IAAV,SAAU;4BAAV,SAAU;;;;4BAAV,CAAA,iBAAU;;;;8BAAV,cAAU;;;;;;qDASRN,KAAK;;;;;;;;;;;;;;;;;;;SACb,EAAA;KAAA;CACF,AAAC;AAEF,eAAeF,cAAc,CAAC"}
|