mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2026-09-08 20:25:34 -04:00
try memoizing front matter parsing
This commit is contained in:
@@ -8,6 +8,9 @@ npm-debug.log*
|
|||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
|
|
||||||
|
# typescript
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
# here be secrets
|
# here be secrets
|
||||||
*.env*
|
*.env*
|
||||||
!.env.example
|
!.env.example
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import matter from "gray-matter";
|
|||||||
import { marked } from "marked";
|
import { marked } from "marked";
|
||||||
import removeMarkdown from "remove-markdown";
|
import removeMarkdown from "remove-markdown";
|
||||||
import pMap from "p-map";
|
import pMap from "p-map";
|
||||||
|
import pMemoize from "p-memoize";
|
||||||
import { formatDate } from "./format-date";
|
import { formatDate } from "./format-date";
|
||||||
import { baseUrl } from "../config";
|
import { baseUrl } from "../config";
|
||||||
import { NOTES_DIR } from "../config/constants";
|
import { NOTES_DIR } from "../config/constants";
|
||||||
@@ -55,7 +56,7 @@ export const getNoteData = async (
|
|||||||
};
|
};
|
||||||
|
|
||||||
// returns the parsed front matter of ALL notes, sorted reverse chronologically
|
// returns the parsed front matter of ALL notes, sorted reverse chronologically
|
||||||
export const getAllNotes = async (): Promise<NoteFrontMatter[]> => {
|
export const getAllNotes = pMemoize(async (): Promise<NoteFrontMatter[]> => {
|
||||||
const slugs = await getNoteSlugs();
|
const slugs = await getNoteSlugs();
|
||||||
|
|
||||||
// for each slug, query its front matter
|
// for each slug, query its front matter
|
||||||
@@ -65,4 +66,4 @@ export const getAllNotes = async (): Promise<NoteFrontMatter[]> => {
|
|||||||
data.sort((note1, note2) => (note1.date > note2.date ? -1 : 1));
|
data.sort((note1, note2) => (note1.date > note2.date ? -1 : 1));
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
};
|
});
|
||||||
|
|||||||
+7
-6
@@ -14,7 +14,7 @@
|
|||||||
"dev": "cross-env NODE_OPTIONS='--inspect' next dev",
|
"dev": "cross-env NODE_OPTIONS='--inspect' next dev",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
"lint": "next lint"
|
"lint": "eslint . --ext js,jsx,ts,tsx"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource/comic-neue": "4.5.8",
|
"@fontsource/comic-neue": "4.5.8",
|
||||||
@@ -42,10 +42,11 @@
|
|||||||
"gray-matter": "^4.0.3",
|
"gray-matter": "^4.0.3",
|
||||||
"hex-to-rgba": "^2.0.1",
|
"hex-to-rgba": "^2.0.1",
|
||||||
"marked": "^4.0.18",
|
"marked": "^4.0.18",
|
||||||
"next": "12.2.3-canary.10",
|
"next": "12.2.3-canary.13",
|
||||||
"next-mdx-remote": "^4.0.3",
|
"next-mdx-remote": "^4.0.3",
|
||||||
"next-seo": "^5.4.0",
|
"next-seo": "^5.4.0",
|
||||||
"p-map": "^5.5.0",
|
"p-map": "^5.5.0",
|
||||||
|
"p-memoize": "^7.1.0",
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"query-string": "^7.1.1",
|
"query-string": "^7.1.1",
|
||||||
"react": "18.2.0",
|
"react": "18.2.0",
|
||||||
@@ -83,11 +84,11 @@
|
|||||||
"@types/react-is": "^17.0.3",
|
"@types/react-is": "^17.0.3",
|
||||||
"@types/remove-markdown": "^0.3.1",
|
"@types/remove-markdown": "^0.3.1",
|
||||||
"@types/uglify-js": "^3.16.0",
|
"@types/uglify-js": "^3.16.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.30.6",
|
"@typescript-eslint/eslint-plugin": "^5.30.7",
|
||||||
"@typescript-eslint/parser": "^5.30.6",
|
"@typescript-eslint/parser": "^5.30.7",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "~8.19.0",
|
"eslint": "~8.20.0",
|
||||||
"eslint-config-next": "12.2.3-canary.10",
|
"eslint-config-next": "12.2.3-canary.13",
|
||||||
"eslint-config-prettier": "~8.5.0",
|
"eslint-config-prettier": "~8.5.0",
|
||||||
"eslint-plugin-prettier": "~4.2.1",
|
"eslint-plugin-prettier": "~4.2.1",
|
||||||
"lint-staged": "^13.0.3",
|
"lint-staged": "^13.0.3",
|
||||||
|
|||||||
Reference in New Issue
Block a user