chore(codestyle): cleanup and reformat

This commit is contained in:
Bastian Ike
2022-09-13 11:18:36 +02:00
committed by Bastian
parent 6081f1edbb
commit 37c43712d1
56 changed files with 1142 additions and 560 deletions

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env node
import * as fs from "fs-extra";
import { spawn } from "child_process";
import * as fs from "fs-extra";
import * as paths from "./paths";
// Do this as the first thing so that any code reading it knows the right env.
@@ -52,7 +52,7 @@ const buildTemplate = () => {
buildTemplate().then(() => {
fs.copySync(paths.templateBuild, paths.appBuild);
fs.ensureDirSync(paths.appPublic)
fs.ensureDirSync(paths.appPublic);
fs.copySync(paths.appPublic, paths.appBuild);
console.log(`${paths.appBuild} was created and can be deployed.`);
});

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env node
import { copyFileSync, existsSync, mkdirSync, readFileSync } from "fs";
import { copyFileSync, mkdirSync, existsSync, readFileSync } from "fs";
import { createRadar } from "./generateJson/radar";
// Do this as the first thing so that any code reading it knows the right env.

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env node
import * as fs from "fs-extra";
import * as paths from "./paths";
// Do this as the first thing so that any code reading it knows the right env.

View File

@@ -1,32 +1,39 @@
import { readFile } from "fs-extra";
import { readFileSync } from "fs";
import * as path from "path";
import frontMatter from "front-matter";
// @ts-ignore esModuleInterop is activated in tsconfig.scripts.json, but IDE typescript uses default typescript config
import { marked } from "marked";
import { readFileSync } from "fs";
import { readFile } from "fs-extra";
import highlight from "highlight.js";
import { marked } from "marked";
import * as path from "path";
import { radarPath, getAllMarkdownFiles } from "./file";
import { Item, Revision, ItemAttributes, Radar, FlagType } from "../../src/model";
import {
FlagType,
Item,
ItemAttributes,
Radar,
Revision,
} from "../../src/model";
import { appBuild } from "../paths";
import { getAllMarkdownFiles, radarPath } from "./file";
import type { ConfigData } from "../../src/config";
type FMAttributes = ItemAttributes;
marked.setOptions({
highlight: (code: any) => highlight.highlightAuto(code).value,
});
export const createRadar = async (): Promise<Radar> => {
const fileNames = await getAllMarkdownFiles(radarPath());
const revisions: (Revision|undefined)[] = await createRevisionsFromFiles(fileNames);
const filterdRevisions : Revision[] = revisions.filter(r => r !== undefined) as Revision[];
const revisions: (Revision | undefined)[] = await createRevisionsFromFiles(
fileNames
);
const filterdRevisions: Revision[] = revisions.filter(
(r) => r !== undefined
) as Revision[];
const allReleases = getAllReleases(filterdRevisions);
const items = createItems(filterdRevisions);
const flaggedItems = flagItem(items, allReleases);
items.forEach(item => checkAttributes(item.name, item))
items.forEach((item) => checkAttributes(item.name, item));
return {
items: flaggedItems,
@@ -34,7 +41,7 @@ export const createRadar = async (): Promise<Radar> => {
};
};
const checkAttributes = (fileName: string, attributes: FMAttributes) => {
const checkAttributes = (fileName: string, attributes: ItemAttributes) => {
const rawConf = readFileSync(path.resolve(appBuild, "config.json"), "utf-8");
const config = JSON.parse(rawConf) as ConfigData;
@@ -61,31 +68,29 @@ const checkAttributes = (fileName: string, attributes: FMAttributes) => {
} else {
return attributes;
}
};
const createRevisionsFromFiles = (fileNames: string[]) => {
const publicUrl = process.env.PUBLIC_URL;
return Promise.all(
fileNames.map(
(fileName) =>
readFile(fileName, "utf8").then(data => {
const fm = frontMatter<FMAttributes>(data);
let html = marked(fm.body.replace(/\]\(\//g, `](${publicUrl}/`));
html = html.replace(
/a href="http/g,
'a target="_blank" rel="noopener noreferrer" href="http'
);
const attributes = checkAttributes(fileName, fm.attributes);
if (attributes) {
return {
...itemInfoFromFilename(fileName),
...attributes,
fileName,
body: html,
} as Revision;
}
})
fileNames.map((fileName) =>
readFile(fileName, "utf8").then((data) => {
const fm = frontMatter<ItemAttributes>(data);
let html = marked(fm.body.replace(/\]\(\//g, `](${publicUrl}/`));
html = html.replace(
/a href="http/g,
'a target="_blank" rel="noopener noreferrer" href="http'
);
const attributes = checkAttributes(fileName, fm.attributes);
if (attributes) {
return {
...itemInfoFromFilename(fileName),
...attributes,
fileName,
body: html,
} as Revision;
}
})
)
);
};
@@ -120,7 +125,7 @@ const createItems = (revisions: Revision[]) => {
);
return Object.values(itemMap)
.map((item) => ({ ...item, "title": item.title || item.name }))
.map((item) => ({ ...item, title: item.title || item.name }))
.sort((x, y) => (x.name > y.name ? 1 : -1));
};
@@ -162,7 +167,12 @@ const addRevisionToItem = (
};
const revisionCreatesNewHistoryEntry = (revision: Revision, item: Item) => {
return revision.body.trim() !== "" || (typeof revision.ring !== "undefined" && revision.ring !== item.ring) || (typeof revision.quadrant !== "undefined" && revision.quadrant !== item.quadrant);
return (
revision.body.trim() !== "" ||
(typeof revision.ring !== "undefined" && revision.ring !== item.ring) ||
(typeof revision.quadrant !== "undefined" &&
revision.quadrant !== item.quadrant)
);
};
const flagItem = (items: Item[], allReleases: string[]) =>

View File

@@ -1,5 +1,5 @@
import { resolve } from "path";
import { realpathSync } from "fs";
import { resolve } from "path";
export const radarJson = "rd.json";
const appDirectory = realpathSync(process.cwd());