@jpmorganchase/mosaic-plugins 0.1.0-beta.52 → 0.1.0-beta.54

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.
@@ -46,7 +46,7 @@ const BreadcrumbsPlugin = {
46
46
  }
47
47
  return pages;
48
48
  },
49
- async afterUpdate(mutableFilesystem, { serialiser, globalFilesystem, ignorePages }, options) {
49
+ async afterNamespaceSourceUpdate(mutableFilesystem, { serialiser, globalFilesystem, ignorePages }, options) {
50
50
  const pages = (await mutableFilesystem.promises.glob('**', {
51
51
  onlyFiles: true,
52
52
  ignore: ignorePages.map(ignore => `**/${ignore}`),
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsPlugin.js","sourceRoot":"","sources":["../src/BreadcrumbsPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BreadcrumbsPlugin.js","sourceRoot":"","sources":["../src/BreadcrumbsPlugin.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Plugin as PluginType, Page } from '@jpmorganchase/mosaic-types';
2
+ import { type SortConfig } from '@jpmorganchase/mosaic-schemas';
2
3
  interface SidebarPluginConfigData {
3
4
  dirs: string[];
4
5
  refs: {
@@ -12,6 +13,11 @@ export interface SidebarPluginPage extends Page {
12
13
  sidebar?: {
13
14
  label?: string;
14
15
  };
16
+ sharedConfig: {
17
+ sidebar: {
18
+ sort: SortConfig;
19
+ };
20
+ };
15
21
  }
16
22
  interface SidebarPluginOptions {
17
23
  /**
@@ -1,5 +1,7 @@
1
1
  import path from 'path';
2
+ import { sidebarSortConfigSchema } from '@jpmorganchase/mosaic-schemas';
2
3
  import { cloneDeep } from 'lodash-es';
4
+ import { sortSidebarData } from './utils/sortSidebarData.js';
3
5
  function createFileGlob(patterns, pageExtensions) {
4
6
  if (Array.isArray(patterns)) {
5
7
  return patterns.map(pattern => createFileGlob(pattern, pageExtensions));
@@ -17,6 +19,43 @@ function sortByPathLevel(pathA, pathB) {
17
19
  const pathBLevel = pathB.split('/').length;
18
20
  return pathBLevel - pathALevel;
19
21
  }
22
+ /**
23
+ * Given the sharedSortConfig
24
+ * 1. find the field specified by 'field' in the sort config
25
+ * 2. transform the field value into the type specified by 'dataType'
26
+ * @param page
27
+ * @param sharedSortConfig
28
+ * @returns transformed field value
29
+ */
30
+ function getSortFieldData(page, sharedSortConfig) {
31
+ let fieldData;
32
+ if (sharedSortConfig !== undefined) {
33
+ const { field, dataType = 'string' } = sharedSortConfig;
34
+ field
35
+ .replace(/^(?:\.\.\/|\.\/)+/, '')
36
+ .split('/')
37
+ .forEach(part => {
38
+ const source = fieldData === undefined ? page : fieldData;
39
+ if (Object.prototype.hasOwnProperty.call(source, part)) {
40
+ fieldData = source[part];
41
+ }
42
+ });
43
+ switch (dataType) {
44
+ case 'date':
45
+ fieldData = new Date(fieldData).getTime(); // call getTime to convert to a number
46
+ break;
47
+ case 'string':
48
+ fieldData = String(fieldData);
49
+ break;
50
+ case 'number':
51
+ fieldData = Number(fieldData);
52
+ break;
53
+ default:
54
+ fieldData = String(fieldData);
55
+ }
56
+ }
57
+ return fieldData;
58
+ }
20
59
  /**
21
60
  * Sorts the pages in a folder by priority and then exports a JSON file with the
22
61
  * sidebar tree from that directory downwards and adds sidebar data into frontmatter for each page.
@@ -50,12 +89,27 @@ const SidebarPlugin = {
50
89
  return pageList;
51
90
  }
52
91
  /**
53
- * Group the pages into parent/child hierachy
92
+ * Group the pages into parent/child hierarchy
54
93
  * @param pages - sidebar pages
55
94
  */
56
95
  function createGroupMap(pages) {
96
+ const sortConfigPages = {};
57
97
  return pages.reduce((result, page) => {
58
98
  const name = page.sidebar?.label || page.title;
99
+ const sharedSortConfig = page?.sharedConfig?.sidebar?.sort;
100
+ if (sharedSortConfig) {
101
+ try {
102
+ sidebarSortConfigSchema.parse(sharedSortConfig);
103
+ sortConfigPages[`${path.posix.dirname(page.fullPath)}`] = sharedSortConfig;
104
+ }
105
+ catch (e) {
106
+ /**
107
+ * Don't throw a PluginError here as this will stop the sidebar being generated.
108
+ * Plugins need a way to log errors/warnings without exceptions
109
+ */
110
+ console.error(`[Mosaic] SidebarPlugin - Invalid sidebar sort config found in ${page.fullPath}`);
111
+ }
112
+ }
59
113
  const priority = page.sidebar?.priority;
60
114
  const id = page.route;
61
115
  const isGroup = /\/index$/.test(page.route);
@@ -69,6 +123,13 @@ const SidebarPlugin = {
69
123
  data: { level, link: page.route },
70
124
  childNodes: []
71
125
  };
126
+ if (!isGroup && sortConfigPages[`${path.posix.dirname(page.fullPath)}`] !== undefined) {
127
+ const fieldData = getSortFieldData(page, sortConfigPages[`${path.posix.dirname(page.fullPath)}`]);
128
+ newChildNode.sharedSortConfig = {
129
+ ...sortConfigPages[`${path.posix.dirname(page.fullPath)}`],
130
+ fieldData
131
+ };
132
+ }
72
133
  if (isGroup) {
73
134
  result[groupPath] = {
74
135
  ...newChildNode,
@@ -169,17 +230,6 @@ const SidebarPlugin = {
169
230
  cwd: '/'
170
231
  });
171
232
  const removeExcludedPages = page => !(page.sidebar && page.sidebar.exclude);
172
- function sortPagesByPriority(sidebarData) {
173
- const pagesByPriority = sidebarData.map(page => {
174
- if (page.childNodes?.length > 1) {
175
- const pagesByPriority = page.childNodes.sort((pageA, pageB) => (pageB.priority ? pageB.priority : -1) - (pageA.priority ? pageA.priority : -1));
176
- sortPagesByPriority(page.childNodes);
177
- return { ...page, childNodes: pagesByPriority };
178
- }
179
- return page;
180
- });
181
- return pagesByPriority;
182
- }
183
233
  function moveRootPageDown(pagesByPriority) {
184
234
  const rootPage = pagesByPriority[0];
185
235
  const pagesWithRootMovedDown = rootPage.childNodes;
@@ -198,9 +248,9 @@ const SidebarPlugin = {
198
248
  console.log('[Mosaic] SidebarPlugin - likely you have a directory without an index file');
199
249
  return;
200
250
  }
201
- const pagesByPriority = sortPagesByPriority(sidebarData);
202
- addNavigationToFrontmatter(pagesByPriority);
203
- const pagesWithRootMovedDown = moveRootPageDown(pagesByPriority);
251
+ const sortedSidebarData = sortSidebarData(sidebarData);
252
+ addNavigationToFrontmatter(sortedSidebarData);
253
+ const pagesWithRootMovedDown = moveRootPageDown(sortedSidebarData);
204
254
  await mutableFilesystem.promises.writeFile(sidebarFilePath, JSON.stringify({ pages: pagesWithRootMovedDown }));
205
255
  addSidebarDataToFrontmatter(pages, rootDir);
206
256
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarPlugin.js","sourceRoot":"","sources":["../src/SidebarPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SidebarPlugin.js","sourceRoot":"","sources":["../src/SidebarPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { SortConfig } from '@jpmorganchase/mosaic-schemas';
2
+ declare type FieldData = string | number;
3
+ interface SortConfigWithValue extends SortConfig {
4
+ fieldData: FieldData;
5
+ }
6
+ export interface SidebarDataNode {
7
+ id: string;
8
+ fullPath: string;
9
+ name: string;
10
+ priority?: number;
11
+ data: {
12
+ level: number;
13
+ link: string;
14
+ };
15
+ childNodes: SidebarDataNode[];
16
+ sharedSortConfig?: SortConfigWithValue;
17
+ }
18
+ export declare function sortSidebarData(sidebarData: SidebarDataNode[]): SidebarDataNode[];
19
+ export {};
@@ -0,0 +1,35 @@
1
+ const isNumber = (fieldData) => typeof fieldData === 'number';
2
+ function doSort(a, b) {
3
+ if (isNumber(a) && isNumber(b)) {
4
+ return a - b;
5
+ }
6
+ if (a > b) {
7
+ return 1;
8
+ }
9
+ if (a < b) {
10
+ return -1;
11
+ }
12
+ return 0;
13
+ }
14
+ function sortBySharedSortConfig(pageA, pageB) {
15
+ if (pageA.sharedSortConfig === undefined || pageB.sharedSortConfig === undefined) {
16
+ return 0;
17
+ }
18
+ if (pageA.sharedSortConfig?.arrange === 'asc') {
19
+ return doSort(pageA.sharedSortConfig.fieldData, pageB.sharedSortConfig.fieldData);
20
+ }
21
+ return doSort(pageB.sharedSortConfig.fieldData, pageA.sharedSortConfig.fieldData);
22
+ }
23
+ export function sortSidebarData(sidebarData) {
24
+ const pagesByPriority = sidebarData.map(page => {
25
+ if (page.childNodes?.length > 1) {
26
+ const sortedChildNodes = page.childNodes.sort((pageA, pageB) => (pageB.priority ? pageB.priority : -1) - (pageA.priority ? pageA.priority : -1) ||
27
+ sortBySharedSortConfig(pageA, pageB));
28
+ sortSidebarData(page.childNodes);
29
+ return { ...page, childNodes: sortedChildNodes };
30
+ }
31
+ return page;
32
+ });
33
+ return pagesByPriority;
34
+ }
35
+ //# sourceMappingURL=sortSidebarData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortSidebarData.js","sourceRoot":"","sources":["../../src/utils/sortSidebarData.ts"],"names":[],"mappings":"AAiBA,MAAM,QAAQ,GAAG,CAAC,SAAoB,EAAuB,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC;AAE9F,SAAS,MAAM,CAAC,CAAY,EAAE,CAAY;IACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;IACD,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,OAAO,CAAC,CAAC;KACV;IACD,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,OAAO,CAAC,CAAC,CAAC;KACX;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAsB,EAAE,KAAsB;IAC5E,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE;QAChF,OAAO,CAAC,CAAC;KACV;IAED,IAAI,KAAK,CAAC,gBAAgB,EAAE,OAAO,KAAK,KAAK,EAAE;QAC7C,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;KACnF;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAA8B;IAC5D,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC7C,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC3C,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CACvC,CAAC;YACF,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,OAAO,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;SAClD;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jpmorganchase/mosaic-plugins",
3
- "version": "0.1.0-beta.52",
3
+ "version": "0.1.0-beta.54",
4
4
  "author": "",
5
5
  "description": "Mosaic plugins for core file system",
6
6
  "license": "Apache-2.0",
@@ -38,11 +38,11 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@apidevtools/json-schema-ref-parser": "^10.1.0",
41
- "@jpmorganchase/mosaic-schemas": "^0.1.0-beta.52",
42
- "@jpmorganchase/mosaic-serialisers": "^0.1.0-beta.52",
43
- "@jpmorganchase/mosaic-source-git-repo": "^0.1.0-beta.52",
44
- "@jpmorganchase/mosaic-source-local-folder": "^0.1.0-beta.52",
45
- "@jpmorganchase/mosaic-types": "^0.1.0-beta.52",
41
+ "@jpmorganchase/mosaic-schemas": "^0.1.0-beta.54",
42
+ "@jpmorganchase/mosaic-serialisers": "^0.1.0-beta.54",
43
+ "@jpmorganchase/mosaic-source-git-repo": "^0.1.0-beta.54",
44
+ "@jpmorganchase/mosaic-source-local-folder": "^0.1.0-beta.54",
45
+ "@jpmorganchase/mosaic-types": "^0.1.0-beta.54",
46
46
  "@types/github-slugger": "^1.3.0",
47
47
  "@vcarl/remark-headings": "^0.1.0",
48
48
  "check-links": "^2.0.0",