@jpmorganchase/mosaic-plugins 0.1.0-beta.19 → 0.1.0-beta.21

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,5 +1,8 @@
1
1
  import path from 'path';
2
2
  import { sidebarDataLayoutSchema } from '@jpmorganchase/mosaic-schemas';
3
+ import { cloneDeep } from 'lodash-es';
4
+ // What level the sidebar.json files are created
5
+ const UserJourneyRootLevel = 2;
3
6
  function createFileGlob(patterns, pageExtensions) {
4
7
  if (Array.isArray(patterns)) {
5
8
  return patterns.map(pattern => createFileGlob(pattern, pageExtensions));
@@ -9,10 +12,7 @@ function createFileGlob(patterns, pageExtensions) {
9
12
  }
10
13
  return `${patterns}{${pageExtensions.join(',')}}`;
11
14
  }
12
- function isSubfolderIndex(page, dirName) {
13
- return page.fullPath.split('/').length === String(dirName).split('/').length + 2;
14
- }
15
- function sortFn(pageA, pageB, dirName) {
15
+ function sortPagesByPriority(pageA, pageB, dirName) {
16
16
  // Always pin /index to the front
17
17
  const route = `${dirName}/index`;
18
18
  if (pageA.route === route) {
@@ -24,7 +24,15 @@ function sortFn(pageA, pageB, dirName) {
24
24
  return ((pageB.sidebar && pageB.sidebar.priority ? pageB.sidebar.priority : -1) -
25
25
  (pageA.sidebar && pageA.sidebar.priority ? pageA.sidebar.priority : -1));
26
26
  }
27
- function filterFn(page) {
27
+ function getPageLevel(page) {
28
+ return page.route.split('/').length - 2;
29
+ }
30
+ function sortByPathLevel(pathA, pathB) {
31
+ const pathALevel = pathA.split('/').length;
32
+ const pathBLevel = pathB.split('/').length;
33
+ return pathBLevel - pathALevel;
34
+ }
35
+ function filterPages(page) {
28
36
  return (!(page.sidebar && page.sidebar.exclude) &&
29
37
  sidebarDataLayoutSchema.safeParse(page.layout).success);
30
38
  }
@@ -34,63 +42,109 @@ function filterFn(page) {
34
42
  */
35
43
  const SidebarPlugin = {
36
44
  async $beforeSend(mutableFilesystem, { config, serialiser, ignorePages, pageExtensions }, options) {
37
- function setPageRefs(sidebarFilePath, page, i) {
38
- config.setRef(sidebarFilePath, ['pages', `${i}`, 'id', '$ref'], `${page.fullPath}#/route`);
39
- const label = page.sidebar && page.sidebar.label
40
- ? `${page.fullPath}#/sidebar/label`
41
- : `${page.fullPath}#/title`;
42
- config.setRef(sidebarFilePath, ['pages', `${i}`, 'name', '$ref'], label);
43
- config.setRef(sidebarFilePath, ['pages', `${i}`, 'data', 'link', '$ref'], `${page.fullPath}#/route`);
45
+ /**
46
+ * Create a list of pages that should be used to build a sidebar.json
47
+ * @param dirName - root path of sidebar
48
+ */
49
+ async function createPageList(dirName) {
50
+ let pageList = await Promise.all((await mutableFilesystem.promises.glob(createFileGlob(['**'], pageExtensions), {
51
+ cwd: String(dirName),
52
+ ignore: ignorePages.map(ignore => `**/${ignore}`)
53
+ })).map(async (pagePath) => await serialiser.deserialise(pagePath, await mutableFilesystem.promises.readFile(pagePath))));
54
+ pageList = pageList
55
+ .filter(page => filterPages(page))
56
+ .sort((pageA, pageB) => sortPagesByPriority(pageA, pageB, dirName));
57
+ return pageList;
44
58
  }
45
- async function setChildPageRefs(page, dirName, i, sidebarFilePath) {
46
- if (isSubfolderIndex(page, dirName)) {
47
- const childDirName = path.posix.dirname(page.fullPath);
48
- const childNodeSidebarPath = path.posix.join(childDirName, options.filename);
49
- const childPages = (await Promise.all((await mutableFilesystem.promises.glob(createFileGlob(['*', '*/index'], pageExtensions), {
50
- onlyFiles: true,
51
- cwd: String(childDirName),
52
- ignore: ignorePages.map(ignore => `**/${ignore}`)
53
- })).map(async (pagePath) => {
54
- const deserialisedPage = await serialiser.deserialise(pagePath, await mutableFilesystem.promises.readFile(pagePath));
55
- return deserialisedPage;
56
- }))).filter(filterPage => filterFn(filterPage));
57
- if (childPages.length > 1) {
58
- for (let j = 1; j < childPages.length; j++) {
59
- config.setRef(sidebarFilePath, ['pages', `${i}`, 'childNodes', `${j - 1}`, '$ref'], `${childNodeSidebarPath}#/pages/${j}`);
60
- }
59
+ /**
60
+ * Group the pages into parent/child hierachy
61
+ * @param pages - sidebar pages
62
+ */
63
+ function createGroupMap(pages) {
64
+ return pages.reduce((result, page) => {
65
+ const name = page.sidebar?.label || page.title;
66
+ const id = page.route;
67
+ const isGroup = /\/index$/.test(page.route);
68
+ const groupPath = path.posix.dirname(page.fullPath);
69
+ const level = getPageLevel(page);
70
+ const newChildNode = { id, name, data: { level, link: page.route }, childNodes: [] };
71
+ if (isGroup) {
72
+ result[groupPath] = {
73
+ ...newChildNode,
74
+ ...result[groupPath]
75
+ };
61
76
  }
62
- }
77
+ else {
78
+ const childNodes = Object.prototype.hasOwnProperty.call(result, groupPath)
79
+ ? result[groupPath].childNodes
80
+ : [];
81
+ result[groupPath] = {
82
+ ...result[groupPath],
83
+ childNodes: [...childNodes, newChildNode]
84
+ };
85
+ }
86
+ return result;
87
+ }, {});
63
88
  }
64
- function addSidebarDataToFrontmatter(page, dirName) {
65
- const dirNameLevels = String(dirName)
66
- .split('/')
67
- .filter(level => level);
68
- const sidebarRootDir = path.posix.join('/', ...dirNameLevels.slice(0, dirNameLevels.length < 3 ? dirNameLevels.length : 3), '/');
69
- config.setRef(String(page.fullPath), ['sidebarData', '$ref'], path.posix.join(String(sidebarRootDir), options.filename, '#', 'pages'));
89
+ /**
90
+ * Link the group map to their parents
91
+ * @param groupMap - unlinked groups of pages
92
+ * @param dirName - root path of sidebar
93
+ */
94
+ function linkGroupMap(groupMap, dirName) {
95
+ const linkedGroupMap = cloneDeep(groupMap);
96
+ const sortedGroupMapKeys = Object.keys(linkedGroupMap).sort(sortByPathLevel);
97
+ sortedGroupMapKeys.forEach(groupPath => {
98
+ let parentGroupPath = path.posix.dirname(groupPath);
99
+ if (linkedGroupMap[parentGroupPath] === undefined) {
100
+ return;
101
+ }
102
+ linkedGroupMap[parentGroupPath].childNodes = [
103
+ ...linkedGroupMap[parentGroupPath].childNodes,
104
+ linkedGroupMap[groupPath]
105
+ ];
106
+ });
107
+ return [linkedGroupMap[dirName]];
108
+ }
109
+ /**
110
+ * Link each page to a sidebar.json file via ref
111
+ * @param pages - sidebar pages
112
+ * @param dirName - root path of sidebar
113
+ * @param maxLevel - max level
114
+ */
115
+ function addSidebarDataToFrontmatter(pages, dirName, maxLevel = Infinity) {
116
+ pages.forEach(page => {
117
+ const pageLevel = getPageLevel(page);
118
+ // A page can only have one sidebar but different levels have different sidebars
119
+ // this enables us to support a root index that contains all pages
120
+ if (pageLevel <= maxLevel) {
121
+ // set Ref for pages below root and not above root
122
+ config.setRef(String(page.fullPath), ['sidebarData', '$ref'], path.posix.join(dirName, options.filename, '#', 'pages'));
123
+ }
124
+ });
70
125
  }
71
- const dirs = await mutableFilesystem.promises.glob('**', {
126
+ const rootUserJourneys = await mutableFilesystem.promises.glob('**', {
72
127
  onlyDirectories: true,
73
- cwd: '/'
128
+ cwd: '/',
129
+ deep: UserJourneyRootLevel
74
130
  });
75
- for (const dirName of dirs) {
131
+ await Promise.all(rootUserJourneys.map(async (dirName) => {
76
132
  const sidebarFilePath = path.posix.join(String(dirName), options.filename);
77
- const pages = (await Promise.all((await mutableFilesystem.promises.glob(createFileGlob(['*', '*/index'], pageExtensions), {
78
- onlyFiles: true,
79
- cwd: String(dirName),
80
- ignore: ignorePages.map(ignore => `**/${ignore}`)
81
- })).map(async (pagePath) => {
82
- const deserialisedPage = await serialiser.deserialise(pagePath, await mutableFilesystem.promises.readFile(pagePath));
83
- return deserialisedPage;
84
- })))
85
- .filter(page => filterFn(page))
86
- .sort((pageA, pageB) => sortFn(pageA, pageB, dirName));
87
- for (let i = 0; i < pages.length; i++) {
88
- setPageRefs(sidebarFilePath, pages[i], i);
89
- setChildPageRefs(pages[i], dirName, i, sidebarFilePath);
90
- addSidebarDataToFrontmatter(pages[i], dirName);
133
+ const pages = await createPageList(dirName);
134
+ const groupMap = createGroupMap(pages);
135
+ const sidebarData = linkGroupMap(groupMap, dirName);
136
+ await mutableFilesystem.promises.writeFile(sidebarFilePath, JSON.stringify({ pages: sidebarData }));
137
+ const dirNameLevel = dirName.split('/').length - 1;
138
+ let maxLevel;
139
+ // Add the sidebar frontmatter to each page, via ref
140
+ // e.g /mosaic/docs/sidebar.json -> /mosaic/docs/index.mdx
141
+ // The root directory contains it's own sidebar.json with everything inside it
142
+ // /mosaic/sidebar.json > /mosaic/index.mdx
143
+ if (dirNameLevel < UserJourneyRootLevel) {
144
+ maxLevel = UserJourneyRootLevel - 1;
91
145
  }
92
- await mutableFilesystem.promises.writeFile(sidebarFilePath, '[]');
93
- }
146
+ addSidebarDataToFrontmatter(pages, dirName, maxLevel);
147
+ }));
94
148
  }
95
149
  };
96
150
  export default SidebarPlugin;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jpmorganchase/mosaic-plugins",
3
- "version": "0.1.0-beta.19",
3
+ "version": "0.1.0-beta.21",
4
4
  "author": "",
5
5
  "description": "Mosaic plugins for core file system",
6
6
  "license": "Apache-2.0",
@@ -32,17 +32,18 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@apidevtools/json-schema-ref-parser": "^9.0.9",
35
- "@jpmorganchase/mosaic-schemas": "^0.1.0-beta.19",
36
- "@jpmorganchase/mosaic-serialisers": "^0.1.0-beta.19",
37
- "@jpmorganchase/mosaic-source-git-repo": "^0.1.0-beta.19",
38
- "@jpmorganchase/mosaic-source-local-folder": "^0.1.0-beta.19",
39
- "@jpmorganchase/mosaic-types": "^0.1.0-beta.19",
35
+ "@jpmorganchase/mosaic-schemas": "^0.1.0-beta.21",
36
+ "@jpmorganchase/mosaic-serialisers": "^0.1.0-beta.21",
37
+ "@jpmorganchase/mosaic-source-git-repo": "^0.1.0-beta.21",
38
+ "@jpmorganchase/mosaic-source-local-folder": "^0.1.0-beta.21",
39
+ "@jpmorganchase/mosaic-types": "^0.1.0-beta.21",
40
40
  "@types/github-slugger": "^1.3.0",
41
41
  "@vcarl/remark-headings": "^0.1.0",
42
42
  "fs-extra": "^10.1.0",
43
43
  "github-slugger": "^1.4.0",
44
44
  "lodash-es": "^4.17.21",
45
45
  "memfs": "^3.4.12",
46
+ "react-pro-sidebar": "^1.0.0",
46
47
  "reading-time": "^1.5.0",
47
48
  "remark-mdx": "^2.1.5",
48
49
  "remark-parse": "^10.0.1",