Skip to content

Commit 379f8d9

Browse files
Add Dependabot grouping for semver-minor and semver-patch updates (#47)
* Add Dependabot group for semver-minor and semver-patch npm updates * fix(dependabot): group update types * chore(dependabot): add labels and commit message prefixes * ci(codeql): add codeql workflow * Ensure generated/built code is properly analyzed * Improve analysis performance * Provide context in security findings * Handle the build process correctly for a Docusaurus site * fix(codeql): build-mode and node steps * fix(config.ts): move onBrokenMarkdownLinks siteConfig.onBrokenMarkdownLinks config option is deprecated and will be removed in Docusaurus v4. Please migrate to siteConfig.markdown.hooks.onBrokenMarkdownLinks. * fix(yarn): yarn.lock also set nodeLinker: node-modules to resolve ERR_INVALID_ARG_TYPE * build(deps): bump @docusaurus/preset-classic from 3.9.1 to 3.9.2 Bumps [@docusaurus/preset-classic](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic) from 3.9.1 to 3.9.2. - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.9.2/packages/docusaurus-preset-classic) --- updated-dependencies: - dependency-name: "@docusaurus/preset-classic" dependency-version: 3.9.2 dependency-type: direct:production update-type: version-update:semver-patch ... * build(deps-dev): bump @types/node from 24.7.2 to 24.9.1 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.7.2 to 24.9.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 24.9.1 dependency-type: direct:development update-type: version-update:semver-minor ... * build(deps-dev): bump @docusaurus/types from 3.9.1 to 3.9.2 Bumps [@docusaurus/types](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-types) from 3.9.1 to 3.9.2. - [Release notes](https://github.com/facebook/docusaurus/releases) - [Changelog](https://github.com/facebook/docusaurus/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/docusaurus/commits/v3.9.2/packages/docusaurus-types) --- updated-dependencies: - dependency-name: "@docusaurus/types" dependency-version: 3.9.2 dependency-type: direct:development update-type: version-update:semver-patch ... * fix(yarn): remove node 24.10 from yarn.lock * chore(workflows): simplify package.json and yarn.yml - checks yarn.lock consistency, and runs yarn build before deploying to Cloudflare * fix(package.json): move react from devDependencies to main dependencies * chore(build): optimize yarn config to be immutable 1. Removed @docusaurus/preset-classic (which bundled Algolia search) 2. Added individual Docusaurus plugins: ◦ @docusaurus/plugin-content-docs ◦ @docusaurus/plugin-content-blog ◦ @docusaurus/plugin-content-pages ◦ @docusaurus/plugin-sitemap ◦ @docusaurus/theme-classic 3. Updated docusaurus.config.ts to use plugins and themes directly 4. Added missing TypeScript types to devDependencies • ✅ Immutable installs work: yarn install --immutable passes • ✅ 67 packages removed (including all Algolia dependencies) • ✅ All Algolia peer dependency warnings eliminated • ✅ Remaining peer warnings are only about optional TypeScript types (harmless) * fix(typecheck): resolve errors 1. Fixed docusaurus.config.ts: • Removed import of @docusaurus/preset-classic (package no longer installed) • Removed the type assertion that was causing issues 2. Fixed src/pages/index.tsx: • Removed title and description props from <Layout> component (these props don't exist on the Layout component - metadata is set via the config instead) --------- Signed-off-by: Bryan Dady <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 837e0f9 commit 379f8d9

File tree

11 files changed

+1708
-1421
lines changed

11 files changed

+1708
-1421
lines changed

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,27 @@ updates:
44
directory: '/'
55
schedule:
66
interval: 'weekly'
7+
day: 'thursday'
8+
time: '22:00'
9+
timezone: 'America/Los_Angeles'
710
open-pull-requests-limit: 5
811
reviewers:
912
- 'bcdady'
13+
versioning-strategy: increase
14+
labels:
15+
- 'dependencies'
16+
- 'npm'
17+
commit-message:
18+
prefix: 'chore'
19+
prefix-development: 'chore(dev)'
20+
include: 'scope'
21+
groups:
22+
minor-and-patch:
23+
patterns:
24+
- '*'
25+
update-types:
26+
- 'minor'
27+
- 'patch'
28+
exclude-patterns:
29+
- 'typescript'
30+
- '@types/*'

.github/workflows/codeql.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: "CodeQL Security Scanning"
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
8+
schedule:
9+
- cron: '30 1 * * 1' # Weekly on Mondays at 1:30 AM UTC
10+
11+
jobs:
12+
analyze:
13+
name: Analyze Code
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 360
16+
permissions:
17+
security-events: write
18+
packages: read
19+
actions: read
20+
contents: read
21+
22+
strategy:
23+
fail-fast: false
24+
matrix:
25+
include:
26+
- language: javascript-typescript
27+
build-mode: autobuild
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
33+
- name: Initialize CodeQL
34+
uses: github/codeql-action/init@v3
35+
with:
36+
languages: ${{ matrix.language }}
37+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
38+
queries: +security-and-quality
39+
40+
- name: Setup Node.js
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version: '22'
44+
cache: 'yarn'
45+
46+
- name: Install dependencies and build
47+
run: |
48+
yarn install
49+
yarn build
50+
51+
- name: Perform CodeQL Analysis
52+
uses: github/codeql-action/analyze@v3
53+
with:
54+
category: "/language:${{matrix.language}}"
55+
upload: true
56+
ram: 6144 # Increase memory for large codebases
57+
threads: 2 # Number of threads to use for analysis
58+
add-snippets: true # Include code snippets in the results

.github/workflows/security.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

.github/workflows/yarn.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Check Dependencies & Build
2+
on:
3+
push:
4+
branches: [main]
5+
pull_request:
6+
branches: [main]
7+
schedule:
8+
- cron: '0 8 * * 1' # Weekly Monday 8am UTC
9+
10+
jobs:
11+
yarn:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
- uses: actions/setup-node@v4
16+
with:
17+
node-version: 'lts/*'
18+
cache: 'yarn'
19+
20+
# Verify lockfile is up-to-date
21+
- name: Check yarn.lock consistency
22+
run: |
23+
echo "Running immutable install to verify yarn.lock..."
24+
if ! yarn install --immutable; then
25+
echo "::error::yarn.lock is out of sync with package.json. Run 'yarn install' locally and commit the updated yarn.lock"
26+
exit 1
27+
fi
28+
29+
# Run typecheck before build to catch type errors early
30+
- name: Type check
31+
run: yarn typecheck
32+
33+
# build the docusaurus site
34+
- name: Build site
35+
run: yarn build

.yarn/releases/yarn-4.9.1.cjs

Lines changed: 948 additions & 0 deletions
Large diffs are not rendered by default.

.yarnrc.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
compressionLevel: mixed
2+
3+
enableGlobalCache: false
4+
5+
nodeLinker: node-modules
6+
7+
yarnPath: .yarn/releases/yarn-4.9.1.cjs

docusaurus.config.ts

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { themes as prismThemes } from "prism-react-renderer";
22
import type { Config } from "@docusaurus/types";
3-
import type * as Preset from "@docusaurus/preset-classic";
43

54
const config: Config = {
65
title: "Bryan Dady",
@@ -19,7 +18,11 @@ const config: Config = {
1918
projectName: "bryandady.com", // Usually your repo name.
2019

2120
onBrokenLinks: "throw",
22-
onBrokenMarkdownLinks: "warn",
21+
markdown: {
22+
hooks: {
23+
onBrokenMarkdownLinks: "warn",
24+
},
25+
},
2326

2427
// Even if you don't use internationalization, you can use this field to set
2528
// useful metadata like html lang. For example, if your site is Chinese, you
@@ -29,24 +32,31 @@ const config: Config = {
2932
locales: ["en"],
3033
},
3134

32-
presets: [
35+
plugins: [
3336
[
34-
"classic",
37+
"@docusaurus/plugin-content-docs",
3538
{
36-
docs: {
37-
sidebarPath: "./sidebars.ts",
38-
editUrl:
39-
"https://github.com/bcdady/bryandady.com/tree/main/",
40-
},
41-
blog: {
42-
showReadingTime: true,
43-
editUrl:
44-
"https://github.com/bcdady/bryandady.com/tree/main/",
45-
},
46-
theme: {
47-
customCss: "./src/css/custom.css",
48-
},
49-
} satisfies Preset.Options,
39+
sidebarPath: "./sidebars.ts",
40+
editUrl: "https://github.com/bcdady/bryandady.com/tree/main/",
41+
},
42+
],
43+
[
44+
"@docusaurus/plugin-content-blog",
45+
{
46+
showReadingTime: true,
47+
editUrl: "https://github.com/bcdady/bryandady.com/tree/main/",
48+
},
49+
],
50+
["@docusaurus/plugin-content-pages", {}],
51+
["@docusaurus/plugin-sitemap", {}],
52+
],
53+
54+
themes: [
55+
[
56+
"@docusaurus/theme-classic",
57+
{
58+
customCss: "./src/css/custom.css",
59+
},
5060
],
5161
],
5262

@@ -140,7 +150,7 @@ const config: Config = {
140150
theme: prismThemes.github,
141151
darkTheme: prismThemes.dracula,
142152
},
143-
} satisfies Preset.ThemeConfig,
153+
},
144154
};
145155

146156
export default config;

package.json

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,18 @@
11
{
22
"name": "my-website",
3-
"version": "1.0.0",
3+
"version": "1.1.0",
44
"private": true,
55
"scripts": {
66
"docusaurus": "docusaurus",
77
"start": "docusaurus start",
88
"build": "docusaurus build",
9-
"build:production": "yarn build && yarn verify:no-webpack-dev-server",
109
"swizzle": "docusaurus swizzle",
1110
"deploy": "docusaurus deploy",
1211
"clear": "docusaurus clear",
1312
"serve": "docusaurus serve",
1413
"write-translations": "docusaurus write-translations",
1514
"write-heading-ids": "docusaurus write-heading-ids",
1615
"typecheck": "tsc",
17-
"audit": "yarn audit",
18-
"audit:production": "yarn audit --groups dependencies",
19-
"audit:fix": "yarn audit",
20-
"outdated": "yarn outdated",
21-
"update:check": "yarn dlx npm-check-updates",
22-
"update:minor": "yarn dlx npm-check-updates -u --target minor",
23-
"security": "yarn audit && yarn outdated",
24-
"snyk:test": "snyk test",
25-
"snyk:monitor": "snyk monitor",
26-
"snyk:fix": "snyk fix",
27-
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md,yml,yaml}\"",
28-
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md,yml,yaml}\"",
29-
"format:yaml": "prettier --write \"**/*.{yml,yaml}\"",
30-
"verify:no-webpack-dev-server": "echo 'Verifying webpack-dev-server is not in build output...' && ! find build -name '*webpack-dev-server*' -o -name '*webpack*dev*' | grep -q . && echo 'Build verified: no webpack-dev-server found in output'",
31-
"deploy:verify": "yarn typecheck && yarn build && yarn verify:no-webpack-dev-server && echo 'Deployment verification complete: webpack-dev-server excluded from production build'",
32-
"deploy:safe": "echo 'Starting safe deployment process...' && yarn deploy:verify && echo 'Ready for production deployment - webpack-dev-server vulnerabilities do not affect deployed site'",
3316
"resume:validate": "node -e \"const fs = require('fs'); const data = JSON.parse(fs.readFileSync('docs/professional/Bryan_Dady.resume.json', 'utf8')); console.log('Resume JSON is valid:', data.basics.name); console.log('Schema version:', data.meta?.version || 'unknown');\"",
3417
"resume:check": "yarn resume:validate && echo 'Resume validation complete'",
3518
"resume:meta": "node scripts/generate-resume-meta.js",
@@ -38,20 +21,23 @@
3821
},
3922
"dependencies": {
4023
"@docusaurus/core": "^3.9.2",
41-
"@docusaurus/preset-classic": "^3.9.2",
24+
"@docusaurus/plugin-content-blog": "^3.9.2",
25+
"@docusaurus/plugin-content-docs": "^3.9.2",
26+
"@docusaurus/plugin-content-pages": "^3.9.2",
27+
"@docusaurus/plugin-sitemap": "^3.9.2",
28+
"@docusaurus/theme-classic": "^3.9.2",
4229
"@mdx-js/react": "^3.1.1",
4330
"clsx": "^2.1.1",
4431
"prism-react-renderer": "^2.4.1",
45-
"react": "^19.1.1",
46-
"react-dom": "^19.1.1"
32+
"react": "^18.2.0",
33+
"react-dom": "^18.2.0"
4734
},
4835
"devDependencies": {
4936
"@docusaurus/module-type-aliases": "^3.9.2",
5037
"@docusaurus/tsconfig": "^3.9.2",
5138
"@docusaurus/types": "^3.9.2",
52-
"@types/node": "^24.10.0",
53-
"@types/react": "^19.1.9",
54-
"prettier": "^3.6.2",
39+
"@types/react": "^18.2.28",
40+
"@types/react-dom": "^18.2.7",
5541
"typescript": "~5.9.3"
5642
},
5743
"browserslist": {
@@ -67,6 +53,7 @@
6753
]
6854
},
6955
"engines": {
70-
"node": ">=18.0"
71-
}
56+
"node": ">=22.0"
57+
},
58+
"packageManager": "[email protected]"
7259
}

src/pages/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import clsx from "clsx";
22
import Link from "@docusaurus/Link";
3+
import type { ComponentProps } from 'react';
34
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
45
import Layout from "@theme/Layout";
56
import HomepageFeatures from "@site/src/components/HomepageFeatures";
@@ -32,7 +33,7 @@ function HomepageHeader() {
3233
export default function Home(): React.JSX.Element {
3334
const { siteConfig } = useDocusaurusContext();
3435
return (
35-
<Layout title={`Hello from ${siteConfig.title}`} description="Bryan Dady">
36+
<Layout>
3637
<HomepageHeader />
3738
<main>
3839
<HomepageFeatures />

tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
"extends": "@docusaurus/tsconfig",
44
"compilerOptions": {
55
"baseUrl": "."
6-
}
6+
},
7+
"exclude": [".docusaurus", "build"]
78
}

0 commit comments

Comments
 (0)