chore: formatted, prettified, legacy deps

This commit is contained in:
Rick van Lieshout 2025-07-16 10:52:08 +02:00
parent 7c93cd76d9
commit a83befd5b2
22 changed files with 682 additions and 1619 deletions

1
.npmrc Normal file
View File

@ -0,0 +1 @@
legacy-peer-deps=true

View File

@ -1,3 +1,4 @@
module.exports = { module.exports = {
...require("@mastermindzh/prettier-config"), ...require("@mastermindzh/prettier-config"),
trailingComma: "all",
}; };

22
.prettierrc.json Normal file
View File

@ -0,0 +1,22 @@
{
"printWidth": 100,
"useTabs": false,
"tabWidth": 2,
"singleQuote": false,
"jsxSingleQuote": false,
"quoteProps": "as-needed",
"trailingComma": "all",
"bracketSpacing": true,
"bracketSameLine": false,
"arrowParens": "always",
"requirePragma": false,
"insertPragma": false,
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"endOfLine": "lf",
"semi": true,
"singleAttributePerLine": false,
"embeddedLanguageFormatting": "auto",
"vueIndentScriptAndStyle": false,
"experimentalTernaries": false
}

View File

@ -99,7 +99,7 @@ const createPages: GatsbyNode["createPages"] = async ({ graphql, actions }) => {
const path = utils.concat( const path = utils.concat(
constants.routes.categoryRoute, constants.routes.categoryRoute,
"/", "/",
utils.toKebabCase(category.fieldValue) utils.toKebabCase(category.fieldValue),
); );
for (let page = 0; page < total; page += 1) { for (let page = 0; page < total; page += 1) {

View File

@ -28,7 +28,7 @@ const onCreateNode: GatsbyNode["onCreateNode"] = ({ node, actions, getNode }) =>
if (tags) { if (tags) {
const value = tags.map((tag) => const value = tags.map((tag) =>
utils.concat(constants.routes.tagRoute, "/", utils.toKebabCase(tag), "/") utils.concat(constants.routes.tagRoute, "/", utils.toKebabCase(tag), "/"),
); );
createNodeField({ node, name: "tagSlugs", value }); createNodeField({ node, name: "tagSlugs", value });
@ -39,7 +39,7 @@ const onCreateNode: GatsbyNode["onCreateNode"] = ({ node, actions, getNode }) =>
constants.routes.categoryRoute, constants.routes.categoryRoute,
"/", "/",
utils.toKebabCase(category), utils.toKebabCase(category),
"/" "/",
); );
createNodeField({ node, name: "categorySlug", value }); createNodeField({ node, name: "categorySlug", value });

View File

@ -15,7 +15,7 @@ const onCreateWebpackConfig = (
...aliases, ...aliases,
[name]: path.resolve(target), [name]: path.resolve(target),
}), }),
{} {},
), ),
}, },
}); });

View File

@ -5,19 +5,7 @@ const gatsby = jest.requireActual("gatsby");
export default { export default {
...gatsby, ...gatsby,
graphql: jest.fn(), graphql: jest.fn(),
Link: jest Link: jest.fn().mockImplementation(({ to, ...rest }) =>
.fn()
.mockImplementation(
({
activeClassName,
activeStyle,
getProps,
innerRef,
ref,
replace,
to,
...rest
}) =>
React.createElement("a", { React.createElement("a", {
...rest, ...rest,
href: to, href: to,

2193
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@
"format": "npm run format:ts && npm run format:scss", "format": "npm run format:ts && npm run format:scss",
"format:scss": "stylelint \"src/**/*.scss\" --fix", "format:scss": "stylelint \"src/**/*.scss\" --fix",
"format:ts": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier --write .", "format:ts": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier --write .",
"install:legacy": "npm install --legacy-peer-deps",
"lint": "npm run lint:ts && npm run lint:scss", "lint": "npm run lint:ts && npm run lint:scss",
"lint:scss": "stylelint \"src/**/*.scss\"", "lint:scss": "stylelint \"src/**/*.scss\"",
"lint:staged": "lint-staged", "lint:staged": "lint-staged",
@ -100,11 +101,11 @@
"@eslint/js": "^9.31.0", "@eslint/js": "^9.31.0",
"@jest/globals": "^30.0.4", "@jest/globals": "^30.0.4",
"@mastermindzh/eslint-config": "^3.1.0", "@mastermindzh/eslint-config": "^3.1.0",
"@mastermindzh/prettier-config": "^1.0.0", "@mastermindzh/prettier-config": "^1.1.0",
"@swc/core": "^1.12.14", "@swc/core": "^1.12.14",
"@swc/jest": "^0.2.39", "@swc/jest": "^0.2.39",
"@types/gatsby-transformer-remark": "^2.9.4", "@types/gatsby-transformer-remark": "^2.9.4",
"@types/jest": "^29.5.14", "@types/jest": "^30.0.0",
"@types/node": "^24.0.14", "@types/node": "^24.0.14",
"@types/react": "^18.3.18", "@types/react": "^18.3.18",
"@types/react-dom": "^18.3.5", "@types/react-dom": "^18.3.5",

View File

@ -11,9 +11,7 @@ const mockedUseStaticQuery = useStaticQuery as jest.Mock;
describe("Author", () => { describe("Author", () => {
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -11,9 +11,7 @@ const mockedUseStaticQuery = useStaticQuery as jest.Mock;
describe("Comments", () => { describe("Comments", () => {
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -11,9 +11,7 @@ const mockedUseStaticQuery = useStaticQuery as jest.Mock;
describe("Post", () => { describe("Post", () => {
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -25,7 +25,7 @@ const Contacts: React.FC<Props> = ({ contacts }: Props) => (
<Icon name={name} icon={getIcon(name)} /> <Icon name={name} icon={getIcon(name)} />
</a> </a>
</li> </li>
) : null ) : null,
)} )}
<li className={styles.item} key="keys"> <li className={styles.item} key="keys">
<a className={styles.link} href="/keys.json" rel="noopener noreferrer" target="_blank"> <a className={styles.link} href="/keys.json" rel="noopener noreferrer" target="_blank">

View File

@ -6,8 +6,6 @@ type Props = {
copyright: string; copyright: string;
}; };
const Copyright = ({ copyright }: Props) => ( const Copyright = ({ copyright }: Props) => <div className={styles.copyright}>{copyright}</div>;
<div className={styles.copyright}>{copyright}</div>
);
export default Copyright; export default Copyright;

View File

@ -11,9 +11,7 @@ const mockedUseStaticQuery = useStaticQuery as jest.Mock;
describe("Sidebar", () => { describe("Sidebar", () => {
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -6,7 +6,6 @@ import { StaticQuery, useStaticQuery } from "gatsby";
import CategoriesTemplate from "./CategoriesTemplate"; import CategoriesTemplate from "./CategoriesTemplate";
import * as mocks from "@/mocks"; import * as mocks from "@/mocks";
const mockedStaticQuery = StaticQuery as jest.Mock; const mockedStaticQuery = StaticQuery as jest.Mock;
const mockedUseStaticQuery = useStaticQuery as jest.Mock; const mockedUseStaticQuery = useStaticQuery as jest.Mock;

View File

@ -6,15 +6,12 @@ import { StaticQuery, useStaticQuery } from "gatsby";
import CategoryTemplate from "./CategoryTemplate"; import CategoryTemplate from "./CategoryTemplate";
import * as mocks from "@/mocks"; import * as mocks from "@/mocks";
const mockedStaticQuery = StaticQuery as jest.Mock; const mockedStaticQuery = StaticQuery as jest.Mock;
const mockedUseStaticQuery = useStaticQuery as jest.Mock; const mockedUseStaticQuery = useStaticQuery as jest.Mock;
describe("CategoryTemplate", () => { describe("CategoryTemplate", () => {
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -6,15 +6,12 @@ import { StaticQuery, useStaticQuery } from "gatsby";
import IndexTemplate from "./IndexTemplate"; import IndexTemplate from "./IndexTemplate";
import * as mocks from "@/mocks"; import * as mocks from "@/mocks";
const mockedStaticQuery = StaticQuery as jest.Mock; const mockedStaticQuery = StaticQuery as jest.Mock;
const mockedUseStaticQuery = useStaticQuery as jest.Mock; const mockedUseStaticQuery = useStaticQuery as jest.Mock;
describe("IndexTemplate", () => { describe("IndexTemplate", () => {
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -6,15 +6,12 @@ import NotFoundTemplate from "./NotFoundTemplate";
import * as mocks from "@/mocks"; import * as mocks from "@/mocks";
const mockedStaticQuery = StaticQuery as jest.Mock; const mockedStaticQuery = StaticQuery as jest.Mock;
const mockedUseStaticQuery = useStaticQuery as jest.Mock; const mockedUseStaticQuery = useStaticQuery as jest.Mock;
describe("NotFoundTemplate", () => { describe("NotFoundTemplate", () => {
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -17,9 +17,7 @@ describe("PostTemplate", () => {
}; };
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -9,9 +9,7 @@ const mockedUseStaticQuery = useStaticQuery as jest.Mock;
describe("TagTemplate", () => { describe("TagTemplate", () => {
beforeEach(() => { beforeEach(() => {
mockedStaticQuery.mockImplementationOnce(({ render }) => mockedStaticQuery.mockImplementationOnce(({ render }) => render(mocks.siteMetadata));
render(mocks.siteMetadata),
);
mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata); mockedUseStaticQuery.mockReturnValue(mocks.siteMetadata);
}); });

View File

@ -6,7 +6,6 @@ import TagsTemplate from "./TagsTemplate";
import * as mocks from "@/mocks"; import * as mocks from "@/mocks";
const mockedStaticQuery = StaticQuery as jest.Mock; const mockedStaticQuery = StaticQuery as jest.Mock;
const mockedUseStaticQuery = useStaticQuery as jest.Mock; const mockedUseStaticQuery = useStaticQuery as jest.Mock;