Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor resume & other things #172

Merged
merged 86 commits into from
Dec 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
0f041ab
Update Yarn, TS, and other deps
jerboa88 Nov 20, 2024
040ce9f
Disable noReactSpecificProps Biome rule. Allow importing file extensi…
jerboa88 Nov 20, 2024
abd8484
Add noConsole rule to Biome config
jerboa88 Nov 21, 2024
2e1f9d7
Add isSubStringInArray utility function
jerboa88 Nov 24, 2024
05dd213
Make numOfPages prop optional in DocumentPageLayout
jerboa88 Nov 24, 2024
71c278d
Reduce number of projects shown on resume
jerboa88 Nov 24, 2024
3a6585d
Fix link for ATS employment role
jerboa88 Nov 25, 2024
dbc0e9b
Add Tag and Tags components
jerboa88 Nov 26, 2024
9381aef
Replace fragment return values with null
jerboa88 Nov 26, 2024
34ed2ae
Add SkillEntries and SummaryEntry components. Move resume components …
jerboa88 Nov 26, 2024
ac8f43d
Move content types to content folder
jerboa88 Nov 26, 2024
9f4d29b
Move projects config to content folder
jerboa88 Nov 26, 2024
02919b9
Fix broken imports
jerboa88 Nov 26, 2024
a835463
Add ContentType enum
jerboa88 Nov 26, 2024
24eca36
Add page content config
jerboa88 Nov 26, 2024
46a62c6
Add skills config. Add content-manager.ts
jerboa88 Nov 27, 2024
3025d8b
Replace isSubStringInArray util function with findIndexOfSubstringInA…
jerboa88 Nov 27, 2024
7dc8f07
Combine roles config. Move role management from config manager to con…
jerboa88 Nov 29, 2024
db19996
Remove references note from resume
jerboa88 Nov 29, 2024
a3046bc
Make section rendering conditional on resume
jerboa88 Nov 29, 2024
5bfcf0c
Disable page counter on resume
jerboa88 Nov 29, 2024
8ea65b5
Move useRef hooks outside of render functions
jerboa88 Nov 29, 2024
585b805
Remove resume summary and highlights content
jerboa88 Nov 29, 2024
7e480c9
Allow DetailEntry to accept an array of tags
jerboa88 Dec 7, 2024
db9288c
Add headingClassName prop to SectionHeader
jerboa88 Dec 8, 2024
0f5dbdc
Increase number of skills shown on resume
jerboa88 Dec 8, 2024
bda7033
Increase number of projects shown on resume
jerboa88 Dec 8, 2024
51428a0
Reduce section padding on resume page
jerboa88 Dec 8, 2024
7f9c368
Add custom list style type
jerboa88 Dec 10, 2024
f0f1b34
Fix indentation for list items
jerboa88 Dec 10, 2024
27ee1fd
Make bullets for Haemonetics role more concise
jerboa88 Dec 10, 2024
9f45c63
Update deps
jerboa88 Dec 10, 2024
54f455b
Rewrite usage instructions in README
jerboa88 Dec 13, 2024
e71f929
Update yarn lockfile
jerboa88 Dec 18, 2024
8f50f14
Rename types for functions. Update imports for moved files
jerboa88 Dec 19, 2024
3afc36f
Update prettify utility function to accept custom replacer functions.…
jerboa88 Dec 19, 2024
27fc4a6
Add types for sort/filter functions
jerboa88 Dec 19, 2024
9b54ea3
Move config-manager.ts to managers folder
jerboa88 Dec 19, 2024
c251927
Improve DateString type
jerboa88 Dec 19, 2024
2cd4779
Remove panicOnBuild function. Fallback to console module when reporte…
jerboa88 Dec 19, 2024
f932eed
Create separate files for role and skill managers
jerboa88 Dec 20, 2024
eed3ac3
Refactor types for content
jerboa88 Dec 20, 2024
0535f9b
Add reusable utils for content managers
jerboa88 Dec 20, 2024
6bd6a5c
Add sort functions to page content config
jerboa88 Dec 20, 2024
0497fa8
Add utility function to get the typed keys of an object
jerboa88 Dec 20, 2024
1842bca
Replace Object.keys with keysOf function
jerboa88 Dec 20, 2024
5da3c33
Rewrite skills manager using content manager utility functions
jerboa88 Dec 21, 2024
cbf949f
Remove entrySortFn parameter from filterEntries function
jerboa88 Dec 21, 2024
4e67cb9
Rewrite role manager using content manager utility functions
jerboa88 Dec 21, 2024
a0a035d
Move project manager to managers folder
jerboa88 Dec 21, 2024
3f43eef
Refactor types for projects
jerboa88 Dec 21, 2024
95ed271
Rewrite projects config to match new types
jerboa88 Dec 21, 2024
74df7d9
Rewrite project manager using content manager utility functions
jerboa88 Dec 22, 2024
c3f1d8d
Rename convertRoleConfigToRole function to buildRole
jerboa88 Dec 22, 2024
f35f4e9
Remove unused functions from config manager
jerboa88 Dec 22, 2024
ff9ed97
Update gatsby-node.ts to use new project manager
jerboa88 Dec 22, 2024
ed87d2f
Rename Twitter to X
jerboa88 Dec 22, 2024
0034db6
Modify arrayToMap function to accept functions that return keys in ad…
jerboa88 Dec 23, 2024
a225026
Comment out unused arrayToMap function
jerboa88 Dec 23, 2024
26042d8
Remove unused project keys in pages config
jerboa88 Dec 23, 2024
7ccd1f2
Rewrite content manager utility functions for better performance and …
jerboa88 Dec 23, 2024
3021a6d
Rename logger group and groupEnd functions
jerboa88 Dec 23, 2024
32955a9
Replace console module with logger
jerboa88 Dec 23, 2024
a2b8959
Rename and mark config exports as const
jerboa88 Dec 23, 2024
f5ae0a0
Move external services config to constants
jerboa88 Dec 23, 2024
9711fc3
Fix various linting and type issues
jerboa88 Dec 23, 2024
ba54e53
Fix type errors
jerboa88 Dec 23, 2024
235e94d
Remove Role subtypes
jerboa88 Dec 23, 2024
1ee2715
Rename project category and type fields
jerboa88 Dec 24, 2024
caf4865
Fix type errors
jerboa88 Dec 24, 2024
b724496
Rename roleSortFn to startDateSortFn in pages config
jerboa88 Dec 24, 2024
812468d
Fix wrong property name in project config
jerboa88 Dec 24, 2024
72f7a51
Add assertIsUrlString utility function
jerboa88 Dec 26, 2024
05a7bd6
Add objectFrom utility function
jerboa88 Dec 26, 2024
da27b31
Make description and exposition of type SentenceString on GithubRepoP…
jerboa88 Dec 26, 2024
66a40d1
Relax type constraints on ResumeDetailEntry
jerboa88 Dec 26, 2024
fa03891
Require size property on social image generation config
jerboa88 Dec 26, 2024
3afa8d7
Make Theme type more strict
jerboa88 Dec 26, 2024
9db7ef5
Use large viewport units for particle background size to prevent layo…
jerboa88 Dec 26, 2024
7fc9988
Fix type and linting errors
jerboa88 Dec 27, 2024
cdded53
Replace simple truthiness checks with isDefined checks for conditiona…
jerboa88 Dec 27, 2024
d590f89
Make types for input components generic for stricter type checking. F…
jerboa88 Dec 27, 2024
987cf16
Replace manual undefined checks with isDefined function
jerboa88 Dec 27, 2024
43e9df1
Replace framer-motion with motion
jerboa88 Dec 28, 2024
183725f
Update deps
jerboa88 Dec 28, 2024
4b6fd3a
Optimize tabs component
jerboa88 Dec 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4,233 changes: 2,460 additions & 1,773 deletions .pnp.cjs

Large diffs are not rendered by default.

54 changes: 32 additions & 22 deletions .pnp.loader.mjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
"editor.codeActionsOnSave": {
"source.organizeImports.biome": "explicit"
},
"search.exclude": {
"**/.yarn": true,
"**/.pnp.*": true
},
"typescript.tsdk": ".yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true
"search.exclude": {
"**/.yarn": true,
"**/.pnp.*": true
},
"typescript.tsdk": ".yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true
}
925 changes: 0 additions & 925 deletions .yarn/releases/yarn-4.4.0.cjs

This file was deleted.

934 changes: 934 additions & 0 deletions .yarn/releases/yarn-4.5.3.cjs

Large diffs are not rendered by default.

16 changes: 14 additions & 2 deletions .yarn/sdks/typescript/bin/tsc
Original file line number Diff line number Diff line change
@@ -1,20 +1,32 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {createRequire, register} = require(`module`);
const {resolve} = require(`path`);
const {pathToFileURL} = require(`url`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absUserWrapperPath = resolve(__dirname, `./sdk.user.cjs`);
const absRequire = createRequire(absPnpApiPath);

const absPnpLoaderPath = resolve(absPnpApiPath, `../.pnp.loader.mjs`);
const isPnpLoaderEnabled = existsSync(absPnpLoaderPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/bin/tsc
require(absPnpApiPath).setup();
if (isPnpLoaderEnabled && register) {
register(pathToFileURL(absPnpLoaderPath));
}
}
}

const wrapWithUserWrapper = existsSync(absUserWrapperPath)
? exports => absRequire(absUserWrapperPath)(exports)
: exports => exports;

// Defer to the real typescript/bin/tsc your application uses
module.exports = absRequire(`typescript/bin/tsc`);
module.exports = wrapWithUserWrapper(absRequire(`typescript/bin/tsc`));
16 changes: 14 additions & 2 deletions .yarn/sdks/typescript/bin/tsserver
Original file line number Diff line number Diff line change
@@ -1,20 +1,32 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {createRequire, register} = require(`module`);
const {resolve} = require(`path`);
const {pathToFileURL} = require(`url`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absUserWrapperPath = resolve(__dirname, `./sdk.user.cjs`);
const absRequire = createRequire(absPnpApiPath);

const absPnpLoaderPath = resolve(absPnpApiPath, `../.pnp.loader.mjs`);
const isPnpLoaderEnabled = existsSync(absPnpLoaderPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/bin/tsserver
require(absPnpApiPath).setup();
if (isPnpLoaderEnabled && register) {
register(pathToFileURL(absPnpLoaderPath));
}
}
}

const wrapWithUserWrapper = existsSync(absUserWrapperPath)
? exports => absRequire(absUserWrapperPath)(exports)
: exports => exports;

// Defer to the real typescript/bin/tsserver your application uses
module.exports = absRequire(`typescript/bin/tsserver`);
module.exports = wrapWithUserWrapper(absRequire(`typescript/bin/tsserver`));
16 changes: 14 additions & 2 deletions .yarn/sdks/typescript/lib/tsc.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,32 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {createRequire, register} = require(`module`);
const {resolve} = require(`path`);
const {pathToFileURL} = require(`url`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absUserWrapperPath = resolve(__dirname, `./sdk.user.cjs`);
const absRequire = createRequire(absPnpApiPath);

const absPnpLoaderPath = resolve(absPnpApiPath, `../.pnp.loader.mjs`);
const isPnpLoaderEnabled = existsSync(absPnpLoaderPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsc.js
require(absPnpApiPath).setup();
if (isPnpLoaderEnabled && register) {
register(pathToFileURL(absPnpLoaderPath));
}
}
}

const wrapWithUserWrapper = existsSync(absUserWrapperPath)
? exports => absRequire(absUserWrapperPath)(exports)
: exports => exports;

// Defer to the real typescript/lib/tsc.js your application uses
module.exports = absRequire(`typescript/lib/tsc.js`);
module.exports = wrapWithUserWrapper(absRequire(`typescript/lib/tsc.js`));
37 changes: 30 additions & 7 deletions .yarn/sdks/typescript/lib/tsserver.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,38 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {createRequire, register} = require(`module`);
const {resolve} = require(`path`);
const {pathToFileURL} = require(`url`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absUserWrapperPath = resolve(__dirname, `./sdk.user.cjs`);
const absRequire = createRequire(absPnpApiPath);

const moduleWrapper = tsserver => {
const absPnpLoaderPath = resolve(absPnpApiPath, `../.pnp.loader.mjs`);
const isPnpLoaderEnabled = existsSync(absPnpLoaderPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsserver.js
require(absPnpApiPath).setup();
if (isPnpLoaderEnabled && register) {
register(pathToFileURL(absPnpLoaderPath));
}
}
}

const wrapWithUserWrapper = existsSync(absUserWrapperPath)
? exports => absRequire(absUserWrapperPath)(exports)
: exports => exports;

const moduleWrapper = exports => {
return wrapWithUserWrapper(moduleWrapperFn(exports));
};

const moduleWrapperFn = tsserver => {
if (!process.versions.pnp) {
return tsserver;
}
Expand Down Expand Up @@ -214,11 +237,11 @@ const moduleWrapper = tsserver => {
return tsserver;
};

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsserver.js
require(absPnpApiPath).setup();
}
const [major, minor] = absRequire(`typescript/package.json`).version.split(`.`, 2).map(value => parseInt(value, 10));
// In TypeScript@>=5.5 the tsserver uses the public TypeScript API so that needs to be patched as well.
// Ref https://github.com/microsoft/TypeScript/pull/55326
if (major > 5 || (major === 5 && minor >= 5)) {
moduleWrapper(absRequire(`typescript`));
}

// Defer to the real typescript/lib/tsserver.js your application uses
Expand Down
37 changes: 30 additions & 7 deletions .yarn/sdks/typescript/lib/tsserverlibrary.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,38 @@
#!/usr/bin/env node

const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {createRequire, register} = require(`module`);
const {resolve} = require(`path`);
const {pathToFileURL} = require(`url`);

const relPnpApiPath = "../../../../.pnp.cjs";

const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absUserWrapperPath = resolve(__dirname, `./sdk.user.cjs`);
const absRequire = createRequire(absPnpApiPath);

const moduleWrapper = tsserver => {
const absPnpLoaderPath = resolve(absPnpApiPath, `../.pnp.loader.mjs`);
const isPnpLoaderEnabled = existsSync(absPnpLoaderPath);

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsserverlibrary.js
require(absPnpApiPath).setup();
if (isPnpLoaderEnabled && register) {
register(pathToFileURL(absPnpLoaderPath));
}
}
}

const wrapWithUserWrapper = existsSync(absUserWrapperPath)
? exports => absRequire(absUserWrapperPath)(exports)
: exports => exports;

const moduleWrapper = exports => {
return wrapWithUserWrapper(moduleWrapperFn(exports));
};

const moduleWrapperFn = tsserver => {
if (!process.versions.pnp) {
return tsserver;
}
Expand Down Expand Up @@ -214,11 +237,11 @@ const moduleWrapper = tsserver => {
return tsserver;
};

if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsserverlibrary.js
require(absPnpApiPath).setup();
}
const [major, minor] = absRequire(`typescript/package.json`).version.split(`.`, 2).map(value => parseInt(value, 10));
// In TypeScript@>=5.5 the tsserver uses the public TypeScript API so that needs to be patched as well.
// Ref https://github.com/microsoft/TypeScript/pull/55326
if (major > 5 || (major === 5 && minor >= 5)) {
moduleWrapper(absRequire(`typescript`));
}

// Defer to the real typescript/lib/tsserverlibrary.js your application uses
Expand Down
Loading
Loading