@jpmorganchase/mosaic-plugins 0.1.0-beta.8 → 0.1.0-beta.9

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.
@@ -1,43 +1,23 @@
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 { escapeRegExp } from "lodash";
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const lodash_1 = require("lodash");
32
13
  function createFileGlob(url, pageExtensions) {
33
14
  if (pageExtensions.length === 1) {
34
- return "".concat(url).concat(pageExtensions[0]);
15
+ return `${url}${pageExtensions[0]}`;
35
16
  }
36
- return "".concat(url, "{").concat(pageExtensions.join(","), "}");
17
+ return `${url}{${pageExtensions.join(',')}}`;
37
18
  }
38
- function createSortFn(pageExtensions, param) {
39
- var _sortBy = param.sortBy, indexFirst = param.indexFirst;
40
- var indexRegExp = indexFirst && new RegExp("index".concat(pageExtensions.map(escapeRegExp).join("|"), "$"));
19
+ function createSortFn(pageExtensions, { sortBy: _sortBy, indexFirst }) {
20
+ const indexRegExp = indexFirst && new RegExp(`index${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
41
21
  // TODO: Switch out the algorithm here, based on `sortBy`
42
22
  return function sortFn(fullPathA, fullPathB) {
43
23
  // Always pin /index to the front
@@ -50,124 +30,34 @@ function createSortFn(pageExtensions, param) {
50
30
  /**
51
31
  * Sorts the pages in a folder alphabetically and then embeds a `navigation` property to the metadata with ordered
52
32
  * next/prev pages
53
- */ var NextPrevPlugin = {
54
- $beforeSend: function $beforeSend(mutableFilesystem, param, param1) {
55
- var config = param.config, pageExtensions = param.pageExtensions, ignorePages = param.ignorePages, indexFirst = param1.indexFirst, sortBy = param1.sortBy;
56
- return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
57
- var pageDirs, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, dirName, pages, i;
58
- return regeneratorRuntime.wrap(function _callee$(_ctx) {
59
- while(1)switch(_ctx.prev = _ctx.next){
60
- case 0:
61
- _ctx.next = 2;
62
- return mutableFilesystem.promises.glob("**", {
63
- onlyDirectories: true,
64
- ignore: ignorePages.map(function(ignore) {
65
- return "**/".concat(ignore);
66
- }),
67
- cwd: "/"
68
- });
69
- case 2:
70
- pageDirs = _ctx.sent;
71
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
72
- _ctx.prev = 4;
73
- _iterator = pageDirs[Symbol.iterator]();
74
- case 6:
75
- if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
76
- _ctx.next = 15;
77
- break;
78
- }
79
- dirName = _step.value;
80
- _ctx.next = 10;
81
- return mutableFilesystem.promises.glob(createFileGlob("*", pageExtensions), {
82
- onlyFiles: true,
83
- cwd: dirName,
84
- ignore: ignorePages
85
- });
86
- case 10:
87
- pages = _ctx.sent.sort(createSortFn(pageExtensions, {
88
- indexFirst: indexFirst,
89
- sortBy: sortBy
90
- }));
91
- for(i = 0; i < pages.length; i++){
92
- if (i > 0) {
93
- config.setRef(pages[i], [
94
- "navigation",
95
- "prev",
96
- "title",
97
- "$ref"
98
- ], "".concat(pages[i - 1], "#/title"));
99
- config.setRef(pages[i], [
100
- "navigation",
101
- "prev",
102
- "fullPath",
103
- "$ref"
104
- ], "".concat(pages[i - 1], "#/route"));
105
- }
106
- if (i < pages.length - 1) {
107
- config.setRef(pages[i], [
108
- "navigation",
109
- "next",
110
- "title",
111
- "$ref"
112
- ], "".concat(pages[i + 1], "#/title"));
113
- config.setRef(pages[i], [
114
- "navigation",
115
- "next",
116
- "fullPath",
117
- "$ref"
118
- ], "".concat(pages[i + 1], "#/route"));
119
- }
120
- }
121
- case 12:
122
- _iteratorNormalCompletion = true;
123
- _ctx.next = 6;
124
- break;
125
- case 15:
126
- _ctx.next = 21;
127
- break;
128
- case 17:
129
- _ctx.prev = 17;
130
- _ctx.t0 = _ctx["catch"](4);
131
- _didIteratorError = true;
132
- _iteratorError = _ctx.t0;
133
- case 21:
134
- _ctx.prev = 21;
135
- _ctx.prev = 22;
136
- if (!_iteratorNormalCompletion && _iterator.return != null) {
137
- _iterator.return();
138
- }
139
- case 24:
140
- _ctx.prev = 24;
141
- if (!_didIteratorError) {
142
- _ctx.next = 27;
143
- break;
144
- }
145
- throw _iteratorError;
146
- case 27:
147
- return _ctx.finish(24);
148
- case 28:
149
- return _ctx.finish(21);
150
- case 29:
151
- case "end":
152
- return _ctx.stop();
33
+ */
34
+ const NextPrevPlugin = {
35
+ $beforeSend(mutableFilesystem, { config, pageExtensions, ignorePages }, { indexFirst, sortBy }) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ const pageDirs = (yield mutableFilesystem.promises.glob('**', {
38
+ onlyDirectories: true,
39
+ ignore: ignorePages.map(ignore => `**/${ignore}`),
40
+ cwd: '/'
41
+ }));
42
+ for (const dirName of pageDirs) {
43
+ const pages = (yield mutableFilesystem.promises.glob(createFileGlob('*', pageExtensions), {
44
+ onlyFiles: true,
45
+ cwd: dirName,
46
+ ignore: ignorePages
47
+ })).sort(createSortFn(pageExtensions, { indexFirst, sortBy }));
48
+ for (let i = 0; i < pages.length; i++) {
49
+ if (i > 0) {
50
+ config.setRef(pages[i], ['navigation', 'prev', 'title', '$ref'], `${pages[i - 1]}#/title`);
51
+ config.setRef(pages[i], ['navigation', 'prev', 'fullPath', '$ref'], `${pages[i - 1]}#/route`);
52
+ }
53
+ if (i < pages.length - 1) {
54
+ config.setRef(pages[i], ['navigation', 'next', 'title', '$ref'], `${pages[i + 1]}#/title`);
55
+ config.setRef(pages[i], ['navigation', 'next', 'fullPath', '$ref'], `${pages[i + 1]}#/route`);
56
+ }
153
57
  }
154
- }, _callee, null, [
155
- [
156
- 4,
157
- 17,
158
- 21,
159
- 29
160
- ],
161
- [
162
- 22,
163
- ,
164
- 24,
165
- 28
166
- ]
167
- ]);
168
- }))();
58
+ }
59
+ });
169
60
  }
170
61
  };
171
- export default NextPrevPlugin;
172
-
62
+ exports.default = NextPrevPlugin;
173
63
  //# sourceMappingURL=NextPrevPagePlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/NextPrevPagePlugin.ts"],"sourcesContent":["import type { Page, Plugin as PluginType } from '@jpmorganchase/mosaic-types';\nimport { escapeRegExp } from 'lodash';\n\nfunction createFileGlob(url, pageExtensions) {\n if (pageExtensions.length === 1) {\n return `${url}${pageExtensions[0]}`;\n }\n return `${url}{${pageExtensions.join(',')}}`;\n}\n\nfunction createSortFn(\n pageExtensions: string[],\n { sortBy: _sortBy, indexFirst }: NextPrevPluginOptions\n) {\n const indexRegExp =\n indexFirst && new RegExp(`index${pageExtensions.map(escapeRegExp).join('|')}$`);\n\n // TODO: Switch out the algorithm here, based on `sortBy`\n return function sortFn(fullPathA, fullPathB) {\n // Always pin /index to the front\n if (indexFirst && indexRegExp.test(fullPathA)) {\n return -1;\n }\n return fullPathA.localeCompare(fullPathB);\n };\n}\n\ninterface NextPrevPluginPage extends Page {\n nextPrev: { [key: string]: string[] };\n refs: { [key: string]: { $$path: (number | string)[]; $$value: string }[] };\n}\n\ninterface NextPrevPluginOptions {\n indexFirst?: boolean;\n sortBy?: string;\n}\n\n/**\n * Sorts the pages in a folder alphabetically and then embeds a `navigation` property to the metadata with ordered\n * next/prev pages\n */\nconst NextPrevPlugin: PluginType<NextPrevPluginPage, NextPrevPluginOptions> = {\n async $beforeSend(\n mutableFilesystem,\n { config, pageExtensions, ignorePages },\n { indexFirst, sortBy }\n ) {\n const pageDirs = (await mutableFilesystem.promises.glob('**', {\n onlyDirectories: true,\n ignore: ignorePages.map(ignore => `**/${ignore}`),\n cwd: '/'\n })) as string[];\n for (const dirName of pageDirs) {\n const pages = (\n await mutableFilesystem.promises.glob(createFileGlob('*', pageExtensions), {\n onlyFiles: true,\n cwd: dirName,\n ignore: ignorePages\n })\n ).sort(createSortFn(pageExtensions, { indexFirst, sortBy })) as string[];\n for (let i = 0; i < pages.length; i++) {\n if (i > 0) {\n config.setRef(\n pages[i],\n ['navigation', 'prev', 'title', '$ref'],\n `${pages[i - 1]}#/title`\n );\n config.setRef(\n pages[i],\n ['navigation', 'prev', 'fullPath', '$ref'],\n `${pages[i - 1]}#/route`\n );\n }\n if (i < pages.length - 1) {\n config.setRef(\n pages[i],\n ['navigation', 'next', 'title', '$ref'],\n `${pages[i + 1]}#/title`\n );\n config.setRef(\n pages[i],\n ['navigation', 'next', 'fullPath', '$ref'],\n `${pages[i + 1]}#/route`\n );\n }\n }\n }\n }\n};\n\nexport default NextPrevPlugin;\n"],"names":["escapeRegExp","createFileGlob","url","pageExtensions","length","join","createSortFn","sortBy","_sortBy","indexFirst","indexRegExp","RegExp","map","sortFn","fullPathA","fullPathB","test","localeCompare","NextPrevPlugin","$beforeSend","mutableFilesystem","config","ignorePages","pageDirs","dirName","pages","i","promises","glob","onlyDirectories","ignore","cwd","onlyFiles","sort","setRef"],"mappings":"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"}
1
+ {"version":3,"file":"NextPrevPagePlugin.js","sourceRoot":"","sources":["../src/NextPrevPagePlugin.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,mCAAsC;AAEtC,SAAS,cAAc,CAAC,GAAG,EAAE,cAAc;IACzC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,GAAG,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;KACrC;IACD,OAAO,GAAG,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CACnB,cAAwB,EACxB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAyB;IAEtD,MAAM,WAAW,GACf,UAAU,IAAI,IAAI,MAAM,CAAC,QAAQ,cAAc,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElF,yDAAyD;IACzD,OAAO,SAAS,MAAM,CAAC,SAAS,EAAE,SAAS;QACzC,iCAAiC;QACjC,IAAI,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC,CAAC;SACX;QACD,OAAO,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC;AAYD;;;GAGG;AACH,MAAM,cAAc,GAA0D;IACtE,WAAW,CACf,iBAAiB,EACjB,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,EACvC,EAAE,UAAU,EAAE,MAAM,EAAE;;YAEtB,MAAM,QAAQ,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC5D,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,MAAM,EAAE,CAAC;gBACjD,GAAG,EAAE,GAAG;aACT,CAAC,CAAa,CAAC;YAChB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,MAAM,KAAK,GAAG,CACZ,MAAM,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE;oBACzE,SAAS,EAAE,IAAI;oBACf,GAAG,EAAE,OAAO;oBACZ,MAAM,EAAE,WAAW;iBACpB,CAAC,CACH,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAa,CAAC;gBACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,MAAM,CAAC,MAAM,CACX,KAAK,CAAC,CAAC,CAAC,EACR,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EACvC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CACzB,CAAC;wBACF,MAAM,CAAC,MAAM,CACX,KAAK,CAAC,CAAC,CAAC,EACR,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAC1C,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CACzB,CAAC;qBACH;oBACD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxB,MAAM,CAAC,MAAM,CACX,KAAK,CAAC,CAAC,CAAC,EACR,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EACvC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CACzB,CAAC;wBACF,MAAM,CAAC,MAAM,CACX,KAAK,CAAC,CAAC,CAAC,EACR,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAC1C,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CACzB,CAAC;qBACH;iBACF;aACF;QACH,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC"}
@@ -1,128 +1,45 @@
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 { escapeRegExp } from "lodash";
32
- import path from "path";
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"));
33
17
  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
- };
18
+ const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
19
+ const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
20
+ return file => !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
39
21
  }
40
22
  /**
41
23
  * Plugin that creates aliases without the file extension for every page emitted by the source.
42
24
  * This allows pages to be retrieved from the filesystem without specifying `.mdx` (or whatever file extension is specified in `options.stripExt`).
43
25
  * The plugin also modifies the `route` to point to the shorter alias. Friendly fullPaths are the shortest possible paths that
44
26
  * will point to the page (see `Page` docs)
45
- */ var PagesWithoutFileExtPlugin = {
46
- $afterSource: function $afterSource(pages, param) {
47
- var config = param.config, ignorePages = param.ignorePages, pageExtensions = param.pageExtensions;
48
- return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
49
- var isNonHiddenPage, pageTest, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, page;
50
- return regeneratorRuntime.wrap(function _callee$(_ctx) {
51
- while(1)switch(_ctx.prev = _ctx.next){
52
- case 0:
53
- isNonHiddenPage = createPageTest(ignorePages, pageExtensions);
54
- pageTest = new RegExp("".concat(pageExtensions.map(escapeRegExp).join("|"), "$"));
55
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
56
- _ctx.prev = 3;
57
- _iterator = pages[Symbol.iterator]();
58
- case 5:
59
- if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
60
- _ctx.next = 14;
61
- break;
62
- }
63
- page = _step.value;
64
- if (isNonHiddenPage(page.fullPath)) {
65
- _ctx.next = 9;
66
- break;
67
- }
68
- return _ctx.abrupt("continue", 11);
69
- case 9:
70
- page.route = page.route.replace(pageTest, "");
71
- config.setAliases(page.fullPath, [
72
- page.route
73
- ]);
74
- case 11:
75
- _iteratorNormalCompletion = true;
76
- _ctx.next = 5;
77
- break;
78
- case 14:
79
- _ctx.next = 20;
80
- break;
81
- case 16:
82
- _ctx.prev = 16;
83
- _ctx.t0 = _ctx["catch"](3);
84
- _didIteratorError = true;
85
- _iteratorError = _ctx.t0;
86
- case 20:
87
- _ctx.prev = 20;
88
- _ctx.prev = 21;
89
- if (!_iteratorNormalCompletion && _iterator.return != null) {
90
- _iterator.return();
91
- }
92
- case 23:
93
- _ctx.prev = 23;
94
- if (!_didIteratorError) {
95
- _ctx.next = 26;
96
- break;
97
- }
98
- throw _iteratorError;
99
- case 26:
100
- return _ctx.finish(23);
101
- case 27:
102
- return _ctx.finish(20);
103
- case 28:
104
- return _ctx.abrupt("return", pages);
105
- case 29:
106
- case "end":
107
- return _ctx.stop();
27
+ */
28
+ const PagesWithoutFileExtPlugin = {
29
+ $afterSource(pages, { config, ignorePages, pageExtensions }) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const isNonHiddenPage = createPageTest(ignorePages, pageExtensions);
32
+ const pageTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
33
+ for (const page of pages) {
34
+ if (!isNonHiddenPage(page.fullPath)) {
35
+ continue;
108
36
  }
109
- }, _callee, null, [
110
- [
111
- 3,
112
- 16,
113
- 20,
114
- 28
115
- ],
116
- [
117
- 21,
118
- ,
119
- 23,
120
- 27
121
- ]
122
- ]);
123
- }))();
37
+ page.route = page.route.replace(pageTest, '');
38
+ config.setAliases(page.fullPath, [page.route]);
39
+ }
40
+ return pages;
41
+ });
124
42
  }
125
43
  };
126
- export default PagesWithoutFileExtPlugin;
127
-
44
+ exports.default = PagesWithoutFileExtPlugin;
128
45
  //# sourceMappingURL=PagesWithoutFileExtPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/PagesWithoutFileExtPlugin.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\n/**\n * Plugin that creates aliases without the file extension for every page emitted by the source.\n * This allows pages to be retrieved from the filesystem without specifying `.mdx` (or whatever file extension is specified in `options.stripExt`).\n * The plugin also modifies the `route` to point to the shorter alias. Friendly fullPaths are the shortest possible paths that\n * will point to the page (see `Page` docs)\n */\nconst PagesWithoutFileExtPlugin: PluginType = {\n async $afterSource(pages, { config, ignorePages, pageExtensions }) {\n const isNonHiddenPage = createPageTest(ignorePages, pageExtensions);\n const pageTest = new RegExp(`${pageExtensions.map(escapeRegExp).join('|')}$`);\n\n for (const page of pages) {\n if (!isNonHiddenPage(page.fullPath)) {\n continue;\n }\n page.route = page.route.replace(pageTest, '');\n config.setAliases(page.fullPath, [page.route]);\n }\n return pages;\n }\n};\n\nexport default PagesWithoutFileExtPlugin;\n"],"names":["escapeRegExp","path","createPageTest","ignorePages","pageExtensions","extTest","RegExp","map","join","ignoreTest","file","test","basename","startsWith","PagesWithoutFileExtPlugin","$afterSource","pages","config","isNonHiddenPage","pageTest","page","fullPath","route","replace","setAliases"],"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;AAED;;;;;CAKC,GACD,IAAMC,yBAAyB,GAAe;IACtCC,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,EACfC,QAAQ,EAET,yBAAU,EAAV,iBAAU,EAAV,cAAU,EAAV,SAAU,EAAV,KAAU,EAAJC,IAAI;;;;wBAHTF,eAAe,GAAGhB,cAAc,CAACC,WAAW,EAAEC,cAAc,CAAC,CAAC;wBAC9De,QAAQ,GAAG,IAAIb,MAAM,CAAC,AAAC,EAAA,CAA6C,MAAC,CAA5CF,cAAc,CAACG,GAAG,CAACP,YAAY,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC,EAAC,GAAC,CAAC,CAAC,CAAC;wBAEzE,yBAAU,SAAV,iBAAU,UAAV,cAAU;;wBAAV,SAAU,GAAIQ,KAAK;;4BAAnB,yBAAU,IAAV,KAAU,GAAV,SAAU;;;;wBAAJI,IAAI,GAAV,KAAU,MAAA;4BACRF,eAAe,CAACE,IAAI,CAACC,QAAQ,CAAC;;;;;;wBAGnCD,IAAI,CAACE,KAAK,GAAGF,IAAI,CAACE,KAAK,CAACC,OAAO,CAACJ,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAC9CF,MAAM,CAACO,UAAU,CAACJ,IAAI,CAACC,QAAQ,EAAE;4BAACD,IAAI,CAACE,KAAK;yBAAC,CAAC,CAAC;;wBAL5C,yBAAU;;;;;;;;;wBAAV,iBAAU;wBAAV,cAAU;;;;6BAAV,yBAAU,IAAV,SAAU;4BAAV,SAAU;;;;4BAAV,CAAA,iBAAU;;;;8BAAV,cAAU;;;;;;qDAORN,KAAK;;;;;;;;;;;;;;;;;;;SACb,EAAA;KAAA;CACF,AAAC;AAEF,eAAeF,yBAAyB,CAAC"}
1
+ {"version":3,"file":"PagesWithoutFileExtPlugin.js","sourceRoot":"","sources":["../src/PagesWithoutFileExtPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mCAAsC;AACtC,gDAAwB;AAExB,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,CACZ,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;AACzF,CAAC;AAED;;;;;GAKG;AACH,MAAM,yBAAyB,GAAe;IACtC,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE;;YAC/D,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE9E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACnC,SAAS;iBACV;gBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAChD;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,yBAAyB,CAAC"}