@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.
Files changed (35) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/$AliasPlugin.js +229 -64
  3. package/dist/$AliasPlugin.js.map +1 -1
  4. package/dist/$CodeModPlugin.js +118 -36
  5. package/dist/$CodeModPlugin.js.map +1 -1
  6. package/dist/$RefPlugin.js +449 -122
  7. package/dist/$RefPlugin.js.map +1 -1
  8. package/dist/$TagPlugin.js +236 -77
  9. package/dist/$TagPlugin.js.map +1 -1
  10. package/dist/BreadcrumbsPlugin.js +114 -42
  11. package/dist/BreadcrumbsPlugin.js.map +1 -1
  12. package/dist/LazyPagePlugin.js +255 -86
  13. package/dist/LazyPagePlugin.js.map +1 -1
  14. package/dist/LocalFolderSavePlugin.js +165 -0
  15. package/dist/LocalFolderSavePlugin.js.map +1 -0
  16. package/dist/NextPrevPagePlugin.js +157 -47
  17. package/dist/NextPrevPagePlugin.js.map +1 -1
  18. package/dist/PagesWithoutFileExtPlugin.js +119 -38
  19. package/dist/PagesWithoutFileExtPlugin.js.map +1 -1
  20. package/dist/ReadingTimePlugin.mjs.map +1 -1
  21. package/dist/SearchIndexPlugin.mjs +268 -0
  22. package/dist/SearchIndexPlugin.mjs.map +1 -0
  23. package/dist/SharedConfigPlugin.js +174 -43
  24. package/dist/SharedConfigPlugin.js.map +1 -1
  25. package/dist/SidebarPlugin.js +319 -87
  26. package/dist/SidebarPlugin.js.map +1 -1
  27. package/dist/SiteMapPlugin.js +90 -38
  28. package/dist/SiteMapPlugin.js.map +1 -1
  29. package/dist/TableOfContentsPlugin.mjs +49 -58
  30. package/dist/TableOfContentsPlugin.mjs.map +1 -1
  31. package/dist/__tests__/BreadcrumbsPlugin.test.js +160 -0
  32. package/dist/__tests__/BreadcrumbsPlugin.test.js.map +1 -0
  33. package/dist/utils/normaliseRefs.js +276 -74
  34. package/dist/utils/normaliseRefs.js.map +1 -1
  35. 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
@@ -1,75 +1,240 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const path_1 = __importDefault(require("path"));
16
- const lodash_1 = require("lodash");
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
- const $AliasPlugin = {
22
- $afterSource(pages, { config, ignorePages, pageExtensions }, options) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const isNonHiddenPage = createPageTest(ignorePages, pageExtensions);
25
- // Group together all aliases defined in the frontmatter and store them in the alias config object
26
- for (const page of pages) {
27
- if (!isNonHiddenPage(page.fullPath)) {
28
- continue;
29
- }
30
- if (page.aliases) {
31
- config.setAliases(page.fullPath, page.aliases);
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
- delete page.aliases;
34
- }
35
- return pages;
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, { config }) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- // Prevent any more aliases being set after this lifecycle has been called - as they won't take effect
41
- config.setAliases = () => {
42
- throw new Error('Cannot set aliases after `$AliasPlugin` has reached `$beforeSend` lifecycle phase.');
43
- };
44
- if (!config.data.aliases) {
45
- return;
46
- }
47
- for (const fullPath in config.data.aliases) {
48
- for (const alias of config.data.aliases[fullPath]) {
49
- const aliasPath = path_1.default.resolve(path_1.default.dirname(fullPath), alias).toLowerCase();
50
- const aliasDir = path_1.default.dirname(aliasPath);
51
- if (!(yield mutableFilesystem.promises.exists(aliasDir))) {
52
- yield mutableFilesystem.promises.mkdir(aliasDir, {
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
- if (!(yield mutableFilesystem.promises.exists(aliasPath))) {
57
- yield mutableFilesystem.promises.symlink(fullPath, aliasPath);
58
- }
59
- else {
60
- console.warn(`Alias '${aliasPath}' already exists. Is there a duplicate alias, or a page with the same name but different file extensions?`);
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
- exports.default = $AliasPlugin;
68
- function createPageTest(ignorePages, pageExtensions) {
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
@@ -1 +1 @@
1
- {"version":3,"file":"$AliasPlugin.js","sourceRoot":"","sources":["../src/$AliasPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;AAGxB,mCAAsC;AAEtC;;;GAGG;AACH,MAAM,YAAY,GAA4D;IACtE,YAAY,CAChB,KAAqC,EACrC,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EACvC,OAAO;;YAEP,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAEpE,kGAAkG;YAClG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACnC,SAAS;iBACV;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAChD;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEK,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE;;YAC7C,sGAAsG;YACtG,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;gBACvB,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;YACJ,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBACxB,OAAO;aACR;YACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACjD,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC5E,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzC,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE;wBACxD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;4BAC/C,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;qBACJ;oBACD,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;wBACzD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;qBAC/D;yBAAM;wBACL,OAAO,CAAC,IAAI,CACV,UAAU,SAAS,2GAA2G,CAC/H,CAAC;qBACH;iBACF;aACF;QACH,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,YAAY,CAAC;AAE5B,SAAS,cAAc,CAAC,WAAW,EAAE,cAAc;IACjD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,EAAE;QACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9F,CAAC,CAAC;AACJ,CAAC"}
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,IAAI,MAAM,MAAM,CAAC;AACxB,SAASC,YAAY,QAAQ,QAAQ,CAAC;AAGtC,SAASC,cAAc,CAACC,WAAW,EAAEC,cAAc,EAAE;IACnD,IAAMC,OAAO,GAAG,IAAIC,MAAM,CAAC,AAAC,EAAA,CAA6C,MAAC,CAA5CF,cAAc,CAACG,GAAG,CAACN,YAAY,CAAC,CAACO,IAAI,CAAC,GAAG,CAAC,EAAC,GAAC,CAAC,CAAC,AAAC;IAC7E,IAAMC,UAAU,GAAG,IAAIH,MAAM,CAAC,AAAC,EAAA,CAA0C,MAAC,CAAzCH,WAAW,CAACI,GAAG,CAACN,YAAY,CAAC,CAACO,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,CAACV,IAAI,CAACY,QAAQ,CAACF,IAAI,CAAC,CAACG,UAAU,CAAC,GAAG,CAAC;KAAA,CAAC;CACxF;AAMD;;;CAGC,GACD,IAAMC,YAAY,GAAgC;IAC1CC,YAAY,EAAlB,SAAMA,YAAY,CAACC,KAAK,EAAE,KAAuC;YAArCC,MAAM,GAAR,KAAuC,CAArCA,MAAM,EAAEd,WAAW,GAArB,KAAuC,CAA7BA,WAAW,EAAEC,cAAc,GAArC,KAAuC,CAAhBA,cAAc;eAAI,wDAAA,mBAAA;gBAC3Dc,eAAe,EAGhB,yBAAU,EAAV,iBAAU,EAAV,cAAU,EAAV,SAAU,EAAV,KAAU,EAAJC,IAAI;;;;wBAHTD,eAAe,GAAGhB,cAAc,CAACC,WAAW,EAAEC,cAAc,CAAC,CAAC;wBAG/D,yBAAU,SAAV,iBAAU,UAAV,cAAU;;wBAAV,SAAU,GAAIY,KAAK;;4BAAnB,yBAAU,IAAV,KAAU,GAAV,SAAU;;;;wBAAJG,IAAI,GAAV,KAAU,MAAA;4BACRD,eAAe,CAACC,IAAI,CAACC,QAAQ,CAAC;;;;;;wBAGnC,IAAID,IAAI,CAACE,OAAO,EAAE;4BAChBJ,MAAM,CAACK,UAAU,CAACH,IAAI,CAACC,QAAQ,EAAED,IAAI,CAACE,OAAO,CAAC,CAAC;yBAChD;wBACD,OAAOF,IAAI,CAACE,OAAO,CAAC;;wBAPjB,yBAAU;;;;;;;;;wBAAV,iBAAU;wBAAV,cAAU;;;;6BAAV,yBAAU,IAAV,SAAU;4BAAV,SAAU;;;;4BAAV,CAAA,iBAAU;;;;8BAAV,cAAU;;;;;;qDASRL,KAAK;;;;;;;;;;;;;;;;;;;SACb,EAAA;KAAA;IAEKO,WAAW,EAAjB,SAAMA,WAAW,CAACC,iBAAiB,EAAE,KAAU;YAAV,AAAEP,MAAM,GAAR,KAAU,CAARA,MAAM,AAAE;eAAE,wDAAA,mBAAA;gBAUpCG,QAAQ,EACZ,yBAAW,EAAX,iBAAW,EAAX,cAAW,EAAX,SAAW,EAAX,KAAW,EAALK,KAAK,EACRC,SAAS,EACTC,QAAQ;;;;wBAZlB,sGAAsG;wBACtGV,MAAM,CAACK,UAAU,GAAG,WAAM;4BACxB,MAAM,IAAIM,KAAK,CACb,oFAAoF,CACrF,CAAC;yBACH,CAAC;4BACGX,MAAM,CAACY,IAAI,CAACR,OAAO;;;;;;0DAGDJ,MAAM,CAACY,IAAI,CAACR,OAAO;;;;;;wBAA/BD,QAAQ;wBACZ,yBAAW,SAAX,iBAAW,UAAX,cAAW;;wBAAX,SAAW,GAAIH,MAAM,CAACY,IAAI,CAACR,OAAO,CAACD,QAAQ,CAAC;;4BAA5C,yBAAW,IAAX,KAAW,GAAX,SAAW;;;;wBAALK,KAAK,GAAX,KAAW,MAAA;wBACRC,SAAS,GAAG1B,IAAI,CAAC8B,OAAO,CAAC9B,IAAI,CAAC+B,OAAO,CAACX,QAAQ,CAAC,EAAEK,KAAK,CAAC,CAACO,WAAW,EAAE,CAAC;wBACtEL,QAAQ,GAAG3B,IAAI,CAAC+B,OAAO,CAACL,SAAS,CAAC,CAAC;;+BAC7BF,iBAAiB,CAACS,QAAQ,CAACC,MAAM,CAACP,QAAQ,CAAC;;;;;;;+BAC/CH,iBAAiB,CAACS,QAAQ,CAACE,KAAK,CAACR,QAAQ,EAAE;4BAC/CS,SAAS,EAAE,IAAI;yBAChB,CAAC;;;+BAEQZ,iBAAiB,CAACS,QAAQ,CAACC,MAAM,CAACR,SAAS,CAAC;;;;;;;+BAChDF,iBAAiB,CAACS,QAAQ,CAACI,OAAO,CAACjB,QAAQ,EAAEM,SAAS,CAAC;;;;;wBACxD;4BACLY,OAAO,CAACC,IAAI,CACV,AAAC,SAAO,CAAY,MAAyG,CAAnHb,SAAS,EAAC,2GAAyG,CAAC,CAC/H,CAAC;yBACH;;wBAdE,yBAAW;;;;;;;;;wBAAX,iBAAW;wBAAX,cAAW;;;;6BAAX,yBAAW,IAAX,SAAW;4BAAX,SAAW;;;;4BAAX,CAAA,iBAAW;;;;8BAAX,cAAW;;;;;;;;;;;;;;;;;;;;;;;;;;SAiBnB,EAAA;KAAA;CACF,AAAC;AAEF,eAAeZ,YAAY,CAAC"}
@@ -1,42 +1,124 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const lodash_1 = require("lodash");
16
- const path_1 = __importDefault(require("path"));
17
- const $CodeModPlugin = {
18
- $afterSource(pages, { ignorePages, pageExtensions }) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- const isNonHiddenPage = createPageTest(ignorePages, pageExtensions);
21
- for (const page of pages) {
22
- if (!isNonHiddenPage(page.fullPath)) {
23
- continue;
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
- return pages;
26
+ _next(undefined);
31
27
  });
32
- }
33
- };
34
- exports.default = $CodeModPlugin;
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
- const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
37
- const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
38
- return file => {
39
- return !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
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,"file":"$CodeModPlugin.js","sourceRoot":"","sources":["../src/$CodeModPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mCAAsC;AACtC,gDAAwB;AAExB,MAAM,cAAc,GAGf;IACG,YAAY,CAAC,KAAa,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE;;YAC/D,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAEpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACnC,SAAS;iBACV;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;oBACxC,IAAI,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;iBAClD;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC;AAE9B,SAAS,cAAc,CAAC,WAAW,EAAE,cAAc;IACjD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,EAAE;QACZ,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9F,CAAC,CAAC;AACJ,CAAC"}
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"}