1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2024-12-08 00:44:30 +01:00

build(deps): bump Next.js to v13

This commit is contained in:
Divlo 2022-10-27 19:13:29 +02:00
parent 28d9211583
commit 213a3fa182
No known key found for this signature in database
GPG Key ID: 8F9478F220CE65E9
14 changed files with 594 additions and 587 deletions

View File

@ -30,10 +30,11 @@ export const ErrorPage: React.FC<ErrorPageProps> = (props) => {
</h1> </h1>
<p className='text-center text-lg'> <p className='text-center text-lg'>
{message}{' '} {message}{' '}
<Link href='/'> <Link
<a className='text-yellow hover:underline dark:text-yellow-dark'> href='/'
{t('errors:return-to-home-page')} className='text-yellow hover:underline dark:text-yellow-dark'
</a> >
{t('errors:return-to-home-page')}
</Link> </Link>
</p> </p>
</main> </main>

View File

@ -17,10 +17,11 @@ export const Footer: React.FC<FooterProps> = (props) => {
return ( return (
<footer className='flex flex-col items-center justify-center border-t-2 border-gray-600 bg-white py-6 text-lg dark:border-gray-400 dark:bg-black'> <footer className='flex flex-col items-center justify-center border-t-2 border-gray-600 bg-white py-6 text-lg dark:border-gray-400 dark:bg-black'>
<p> <p>
<Link href='/'> <Link
<a className='text-yellow hover:underline dark:text-yellow-dark'> href='/'
Divlo className='text-yellow hover:underline dark:text-yellow-dark'
</a> >
Divlo
</Link>{' '} </Link>{' '}
| {t('common:all-rights-reserved')} | {t('common:all-rights-reserved')}
</p> </p>

View File

@ -14,30 +14,27 @@ export const Header: React.FC<HeaderProps> = (props) => {
return ( return (
<header className='sticky top-0 z-50 flex w-full justify-between border-b-2 border-gray-600 bg-white px-6 py-2 dark:border-gray-400 dark:bg-black'> <header className='sticky top-0 z-50 flex w-full justify-between border-b-2 border-gray-600 bg-white px-6 py-2 dark:border-gray-400 dark:bg-black'>
<Link href='/'> <Link href='/'>
<a> <div className='flex items-center justify-center'>
<div className='flex items-center justify-center'> <Image
<Image quality={100}
quality={100} width={60}
width={60} height={60}
height={60} src='/images/divlo_icon_small.png'
src='/images/divlo_icon_small.png' alt='Divlo'
alt='Divlo' />
/> <strong className='ml-1 hidden font-headline font-semibold text-yellow dark:text-yellow-dark xs:block'>
<strong className='ml-1 hidden font-headline font-semibold text-yellow dark:text-yellow-dark xs:block'> Divlo
Divlo </strong>
</strong> </div>
</div>
</a>
</Link> </Link>
<div className='flex justify-between'> <div className='flex justify-between'>
<div className='flex flex-col items-center justify-center px-6'> <div className='flex flex-col items-center justify-center px-6'>
<Link href='/blog'> <Link
<a href='/blog'
data-cy='header-blog-link' data-cy='header-blog-link'
className='text-yellow hover:underline dark:text-yellow-dark' className='text-yellow hover:underline dark:text-yellow-dark'
> >
Blog Blog
</a>
</Link> </Link>
</div> </div>
{showLanguage && <Language />} {showLanguage && <Language />}

View File

@ -24,7 +24,7 @@ export const PortfolioItem: React.FC<PortfolioItemProps> = (props) => {
<div className='flex justify-center'> <div className='flex justify-center'>
<Image <Image
quality={100} quality={100}
className='transition-opacity duration-500 group-hover:opacity-20 dark:group-hover:opacity-5' className='h-auto w-auto transition-opacity duration-500 group-hover:opacity-20 dark:group-hover:opacity-5'
width={300} width={300}
height={300} height={300}
src={image} src={image}

View File

@ -5,7 +5,7 @@ import DivloLogo from 'public/images/divlo_logo.png'
export const ProfileLogo: React.FC = () => { export const ProfileLogo: React.FC = () => {
return ( return (
<div className='max-h-[370px] max-w-[370px] px-2 py-6'> <div className='max-h-[370px] max-w-[370px] px-2 py-6'>
<Image quality={100} src={DivloLogo} alt='Divlo' /> <Image quality={100} src={DivloLogo} alt='Divlo' priority />
</div> </div>
) )
} }

View File

@ -32,7 +32,14 @@ export const SkillComponent: React.FC<SkillComponentProps> = (props) => {
rel='noopener noreferrer' rel='noopener noreferrer'
> >
<div className='text-center'> <div className='text-center'>
<Image quality={100} width={60} height={60} alt={skill} src={image} /> <Image
className='inline h-auto w-auto'
quality={100}
width={60}
height={60}
alt={skill}
src={image}
/>
<p className='mt-1'>{skill}</p> <p className='mt-1'>{skill}</p>
</div> </div>
</a> </a>

View File

@ -4,12 +4,7 @@ describe('Page /', () => {
}) })
it('should reveals the sections while scrolling except the about section', () => { it('should reveals the sections while scrolling except the about section', () => {
const sectionsReveals = [ const sectionsReveals = ['#interests', '#skills', '#portfolio']
'#interests',
'#skills',
'#portfolio',
'#open-source'
]
cy.get('#about').should('be.visible') cy.get('#about').should('be.visible')
for (const section of sectionsReveals) { for (const section of sectionsReveals) {
cy.get(section) cy.get(section)

View File

@ -11,9 +11,9 @@
"modern-normalize": "1.1.0" "modern-normalize": "1.1.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "18.11.3", "@types/node": "18.11.7",
"date-and-time": "2.4.1", "date-and-time": "2.4.1",
"vite": "3.1.8", "vite": "3.2.0",
"vite-plugin-html": "3.2.0" "vite-plugin-html": "3.2.0"
} }
}, },
@ -156,15 +156,15 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "18.11.3", "version": "18.11.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.3.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.7.tgz",
"integrity": "sha512-fNjDQzzOsZeKZu5NATgXUPsaFaTxeRgFXoosrHivTl8RGeV733OLawXsGfEk9a8/tySyZUyiZ6E8LcjPFZ2y1A==", "integrity": "sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==",
"dev": true "dev": true
}, },
"node_modules/acorn": { "node_modules/acorn": {
"version": "8.8.0", "version": "8.8.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
"integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
"dev": true, "dev": true,
"bin": { "bin": {
"acorn": "bin/acorn" "acorn": "bin/acorn"
@ -1301,9 +1301,9 @@
} }
}, },
"node_modules/rollup": { "node_modules/rollup": {
"version": "2.78.1", "version": "2.79.1",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
"integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
"dev": true, "dev": true,
"bin": { "bin": {
"rollup": "dist/bin/rollup" "rollup": "dist/bin/rollup"
@ -1442,15 +1442,15 @@
} }
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "3.1.8", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/vite/-/vite-3.1.8.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.0.tgz",
"integrity": "sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==", "integrity": "sha512-Ovj7+cqIdM1I0LPCk2CWxzgADXMix3NLXpUT6g7P7zg/a9grk/TaC3qn9YMg7w7M0POIVCBOp1aBANJW+RH7oA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"esbuild": "^0.15.9", "esbuild": "^0.15.9",
"postcss": "^8.4.16", "postcss": "^8.4.18",
"resolve": "^1.22.1", "resolve": "^1.22.1",
"rollup": "~2.78.0" "rollup": "^2.79.1"
}, },
"bin": { "bin": {
"vite": "bin/vite.js" "vite": "bin/vite.js"
@ -1465,6 +1465,7 @@
"less": "*", "less": "*",
"sass": "*", "sass": "*",
"stylus": "*", "stylus": "*",
"sugarss": "*",
"terser": "^5.4.0" "terser": "^5.4.0"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
@ -1477,6 +1478,9 @@
"stylus": { "stylus": {
"optional": true "optional": true
}, },
"sugarss": {
"optional": true
},
"terser": { "terser": {
"optional": true "optional": true
} }
@ -1607,15 +1611,15 @@
} }
}, },
"@types/node": { "@types/node": {
"version": "18.11.3", "version": "18.11.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.3.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.7.tgz",
"integrity": "sha512-fNjDQzzOsZeKZu5NATgXUPsaFaTxeRgFXoosrHivTl8RGeV733OLawXsGfEk9a8/tySyZUyiZ6E8LcjPFZ2y1A==", "integrity": "sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==",
"dev": true "dev": true
}, },
"acorn": { "acorn": {
"version": "8.8.0", "version": "8.8.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
"integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
"dev": true "dev": true
}, },
"ansi-styles": { "ansi-styles": {
@ -2365,9 +2369,9 @@
"dev": true "dev": true
}, },
"rollup": { "rollup": {
"version": "2.78.1", "version": "2.79.1",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
"integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
"dev": true, "dev": true,
"requires": { "requires": {
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
@ -2461,16 +2465,16 @@
"dev": true "dev": true
}, },
"vite": { "vite": {
"version": "3.1.8", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/vite/-/vite-3.1.8.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.0.tgz",
"integrity": "sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==", "integrity": "sha512-Ovj7+cqIdM1I0LPCk2CWxzgADXMix3NLXpUT6g7P7zg/a9grk/TaC3qn9YMg7w7M0POIVCBOp1aBANJW+RH7oA==",
"dev": true, "dev": true,
"requires": { "requires": {
"esbuild": "^0.15.9", "esbuild": "^0.15.9",
"fsevents": "~2.3.2", "fsevents": "~2.3.2",
"postcss": "^8.4.16", "postcss": "^8.4.18",
"resolve": "^1.22.1", "resolve": "^1.22.1",
"rollup": "~2.78.0" "rollup": "^2.79.1"
} }
}, },
"vite-plugin-html": { "vite-plugin-html": {

View File

@ -12,9 +12,9 @@
"modern-normalize": "1.1.0" "modern-normalize": "1.1.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "18.11.3", "@types/node": "18.11.7",
"date-and-time": "2.4.1", "date-and-time": "2.4.1",
"vite": "3.1.8", "vite": "3.2.0",
"vite-plugin-html": "3.2.0" "vite-plugin-html": "3.2.0"
} }
} }

979
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@
"date-and-time": "2.4.1", "date-and-time": "2.4.1",
"gray-matter": "4.0.3", "gray-matter": "4.0.3",
"html-react-parser": "3.0.4", "html-react-parser": "3.0.4",
"next": "12.3.1", "next": "13.0.0",
"next-mdx-remote": "4.1.0", "next-mdx-remote": "4.1.0",
"next-pwa": "5.6.0", "next-pwa": "5.6.0",
"next-themes": "0.2.1", "next-themes": "0.2.1",
@ -66,16 +66,16 @@
"@saithodev/semantic-release-backmerge": "2.1.2", "@saithodev/semantic-release-backmerge": "2.1.2",
"@semantic-release/git": "10.0.1", "@semantic-release/git": "10.0.1",
"@tailwindcss/typography": "0.5.7", "@tailwindcss/typography": "0.5.7",
"@types/node": "18.11.3", "@types/node": "18.11.7",
"@types/react": "18.0.21", "@types/react": "18.0.24",
"@types/unist": "2.0.6", "@types/unist": "2.0.6",
"@typescript-eslint/eslint-plugin": "5.40.1", "@typescript-eslint/eslint-plugin": "5.41.0",
"autoprefixer": "10.4.12", "autoprefixer": "10.4.12",
"cypress": "10.10.0", "cypress": "10.11.0",
"editorconfig-checker": "4.0.2", "editorconfig-checker": "4.0.2",
"eslint": "8.25.0", "eslint": "8.26.0",
"eslint-config-conventions": "5.0.0", "eslint-config-conventions": "5.0.0",
"eslint-config-next": "12.3.1", "eslint-config-next": "13.0.0",
"eslint-config-prettier": "8.5.0", "eslint-config-prettier": "8.5.0",
"eslint-plugin-import": "2.26.0", "eslint-plugin-import": "2.26.0",
"eslint-plugin-prettier": "4.2.1", "eslint-plugin-prettier": "4.2.1",
@ -91,7 +91,7 @@
"prettier-plugin-tailwindcss": "0.1.13", "prettier-plugin-tailwindcss": "0.1.13",
"semantic-release": "19.0.5", "semantic-release": "19.0.5",
"start-server-and-test": "1.14.0", "start-server-and-test": "1.14.0",
"tailwindcss": "3.2.0", "tailwindcss": "3.2.1",
"typescript": "4.8.4", "typescript": "4.8.4",
"vercel": "28.4.12" "vercel": "28.4.12"
} }

View File

@ -39,23 +39,26 @@ const BlogPage: NextPage<BlogPageProps> = (props) => {
'DD/MM/YYYY' 'DD/MM/YYYY'
) )
return ( return (
<Link href={`/blog/${post.slug}`} key={index} locale='en'> <Link
<a data-cy={post.slug}> href={`/blog/${post.slug}`}
<ShadowContainer className='cursor-pointer p-6 transition duration-200 ease-in-out hover:-translate-y-2'> key={index}
<h2 locale='en'
data-cy='blog-post-title' data-cy={post.slug}
className='text-xl font-semibold' >
> <ShadowContainer className='cursor-pointer p-6 transition duration-200 ease-in-out hover:-translate-y-2'>
{post.frontmatter.title} <h2
</h2> data-cy='blog-post-title'
<p data-cy='blog-post-date' className='mt-2'> className='text-xl font-semibold'
{postPublishedOn} >
</p> {post.frontmatter.title}
<p data-cy='blog-post-description' className='mt-3'> </h2>
{post.frontmatter.description} <p data-cy='blog-post-date' className='mt-2'>
</p> {postPublishedOn}
</ShadowContainer> </p>
</a> <p data-cy='blog-post-description' className='mt-3'>
{post.frontmatter.description}
</p>
</ShadowContainer>
</Link> </Link>
) )
})} })}

View File

@ -9,7 +9,7 @@ Hello! 👋
Welcome to the Ultimate Guide to master `git` in your daily workflow, we will see what are the most used commands, what are the best practices, and tips and tricks. Welcome to the Ultimate Guide to master `git` in your daily workflow, we will see what are the most used commands, what are the best practices, and tips and tricks.
This guide is a summary of the most important things to know when working with `git`, and in general, will link to the official documentation of `git` or other resources for more details (you can use it as a `git` cheatsheet). This guide is a summary of the most important things to know when working with `git`, and in general, will link to the official documentation of `git` or other resources for more details, it is on purpose to not go in depth in each topic, it allows to summarize `git` and vocabulary about it (you can use it as a `git` cheatsheet).
**Note:** Sources used to write this blog post are available at the [end of this post](#sources). **Note:** Sources used to write this blog post are available at the [end of this post](#sources).

View File

@ -10,7 +10,7 @@
"email": "contact@divlo.fr", "email": "contact@divlo.fr",
"location": {}, "location": {},
"url": "https://divlo.fr", "url": "https://divlo.fr",
"summary": "Je me forme en autodidacte dans l'informatique en suivant des formations en ligne et je suis aussi un étudiant à l'université suivant la formation \"BUT Informatique\" (première année). <br/> Je mets en pratique tout ce que j'apprends et réalise de nombreux projets." "summary": "Je me forme en autodidacte dans l'informatique en suivant des formations en ligne et je suis aussi un étudiant à l'université suivant la formation \"BUT Informatique\" (deuxième année). <br/> Je mets en pratique tout ce que j'apprends et réalise de nombreux projets."
}, },
"education": [ "education": [
{ {