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

build(deps): bump gatsby from 2.32.13 to 4.25.7 #452

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ jobs:
restore-keys: |
${{ runner.os }}-yarn-

- name: Use Node.js 14.x
uses: actions/setup-node@v2
with:
node-version: '14.x'

- name: Install deps
run: yarn install

Expand Down
21 changes: 20 additions & 1 deletion gatsby-config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* eslint-disable no-unused-vars */
const fs = require('fs');
const dotenv = require('dotenv').config({ path: '.env.gatsby' });
const path = require('path');

Check failure on line 4 in gatsby-config.js

View workflow job for this annotation

GitHub Actions / Lint

`path` import should occur before import of `dotenv`

module.exports = {
siteMetadata: {
Expand Down Expand Up @@ -47,6 +47,13 @@
name: 'con2022',
},
},
{
resolve: 'gatsby-source-filesystem',
options: {
path: `${__dirname}/src/con/data/2023`,
name: 'con2023',
},
},
{
resolve: 'gatsby-source-filesystem',
options: {
Expand Down Expand Up @@ -75,6 +82,13 @@
name: 'speakersImages',
},
},
{
resolve: 'gatsby-source-filesystem',
options: {
path: `${__dirname}/src/con/images/2023/speakers`,
name: 'speakersImages',
},
},
{
resolve: 'gatsby-source-filesystem',
options: {
Expand Down Expand Up @@ -133,7 +147,12 @@
},
},
'gatsby-plugin-image',
'gatsby-plugin-catch-links',
{
resolve: `gatsby-plugin-catch-links`,
options: {
excludePattern: /^\/con/,
},
},
'gatsby-plugin-sitemap',
'gatsby-plugin-twitter',
{
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@
"classnames": "^2.2.5",
"dayjs": "^1.8.21",
"diacritic": "^0.0.2",
"dotenv": "^16.0.3",
"eject": "^0.0.4",
"eslint-import-resolver-alias": "^1.1.2",
"gatsby": "^2.0.91",
"gatsby": "^4.25.7",
"gatsby-plugin-build-date": "^1.0.0",
"gatsby-plugin-dark-mode": "^1.1.2",
"gatsby-plugin-google-analytics": "^2.1.16",
Expand Down
29 changes: 15 additions & 14 deletions src/components/PreheaderCon.tsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
import React from 'react';
import { Link } from 'gatsby';
import Logo from '@con/images/logo.svg';
import Web from '@con/components/common/Web';

Check failure on line 3 in src/components/PreheaderCon.tsx

View workflow job for this annotation

GitHub Actions / Lint

`@con/components/common/Web` import should occur before import of `@con/images/logo.svg`
import Button from './common/Button';

const PreheaderCon: React.ComponentType = () => (
<Link to="/con/2022">
<div className="preheader preheader-con" role="button">
<Web className="preheader-con__web con__web" isVisible />
<img src={Logo} alt="Api Platform Conference" height="40" />
<div className="preheader-con__text">
<p>The conference dedicated to API Platform and its ecosystem</p>
<div>
<strong>Sep 15, 16 2022</strong> | Lille & online
const PreheaderCon: React.ComponentType = () => {
return (
<a href="/con/2023" rel="noreferrer">
<div className="preheader preheader-con" role="button">
<Web className="preheader-con__web con__web" isVisible />
<img src={Logo} alt="Api Platform Conference" height="40" />
<div className="preheader-con__text">
<p>The conference dedicated to API Platform and its ecosystem</p>
<div>
<strong>Sep 21, 22 2023</strong> | Lille & online
</div>
</div>
<Button text="Register now" className="preheader-con__button small empty white" />
</div>
<Button text="Register now" className="preheader-con__button small empty white" />
</div>
</Link>
);
</a>
);
};

export default PreheaderCon;
6 changes: 3 additions & 3 deletions src/components/layout/DocNav.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,13 @@ class DocNav extends Component {
<div className="news__con">
<p className="news__title">What&apos; new?</p>
<StaticImage
src="../../con/images/2022/thumbnail.png"
alt="API platform conference 2022"
src="../../con/images/2023/thumbnail.png"
alt="API platform conference 2023"
layout="fixed"
placeholder="blurred"
width={260}
/>
<p>Sep 15,16 2022: new edition of our conference dedicated to API Platform and its ecosystem!</p>
<p>Sep 21,22 2023: new edition of our conference dedicated to API Platform and its ecosystem!</p>
</div>
</Link>
{nav.map((item) => (
Expand Down
2 changes: 2 additions & 0 deletions src/components/layout/Header.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import Logo from './Logo';
import Search from './Search';
import MenuItem from './MenuItem';
import NavContext from '../../contexts/NavContext';
import PreheaderCon from '../PreheaderCon';

const nav = links.map((link) => <MenuItem key={link.text} {...link} />);

Expand All @@ -30,6 +31,7 @@ const Header = () => {

return (
<>
<PreheaderCon />
<header
className={classnames('header openable', {
'expand-search': isSearchFocused,
Expand Down
7 changes: 6 additions & 1 deletion src/con/components/2021/Venue/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@ const Venue: React.ComponentType<{ subtitle: string }> = ({ subtitle }) => (
<SectionTitle>
The <strong>venue</strong>
</SectionTitle>
<p className="conf__section-subtitle">{subtitle}</p>
<p
className="conf__section-subtitle"
dangerouslySetInnerHTML={{
__html: subtitle,
}}
/>
<Place />
<Warning title="Tip" img={Tip}>
<p>Once you’re arrived in Lille, we advice you to use public transports or local bike-sharing systems.</p>
Expand Down
21 changes: 20 additions & 1 deletion src/con/components/2022/Partners/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ interface PartnersProps {

const Partners: React.ComponentType<PartnersProps> = ({ data }) => {
const { edition } = useContext(ConfContext);
const sponsors = data.filter((s) => 6 > s.rank);
const partners = data.filter((s) => 6 <= s.rank);
return (
<Section className="conf__partners" section="partners">
<div className="container">
Expand All @@ -19,7 +21,24 @@ const Partners: React.ComponentType<PartnersProps> = ({ data }) => {
</SectionTitle>
<div className="partners__section partners__bronze">
<Grid>
{data.map(({ name, logo, link }) => (
{sponsors.map(({ name, logo, link }) => (
<GridItem key={name} autosize padding={20} className="partners__item">
<a href={link} title={`${name}`} key={name} target="_blank" rel="nofollow noreferrer noopener">
<img
width="200"
height="200"
loading="lazy"
src={`/con/${edition}/partners/${logo}.png`}
alt={name}
/>
</a>
</GridItem>
))}
</Grid>
</div>
<div className="partners__section partners__partners">
<Grid>
{partners.map(({ name, logo, link }) => (
<GridItem key={name} autosize padding={20} className="partners__item">
<a href={link} title={`${name}`} key={name} target="_blank" rel="nofollow noreferrer noopener">
<img
Expand Down
2 changes: 1 addition & 1 deletion src/con/components/2022/Speakers/SpeakerConferenceSlot.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const SpeakerConferenceSlot: React.ComponentType<{ conference: Conference; track
) : null}
</div>
<div className="conference__content">
<span className="overline">{getConferenceTimes(date, start, end)}</span>
{date && <span className="overline">{getConferenceTimes(date, start, end)}</span>}
<h3 className="h6 lined lined-left">{title}</h3>
<p>{short}</p>
<Button className="square" size="small" to={slug}>
Expand Down
2 changes: 1 addition & 1 deletion src/con/components/2022/layout/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ const Layout: React.ComponentType<LayoutProps> = ({ logoAlwaysVisible, children
footer={footer}
navButton={
<BuyButton className="pink" size="small" id="nav">
Buy ticket
Buy tickets
</BuyButton>
}
>
Expand Down
40 changes: 40 additions & 0 deletions src/con/components/2023/Speakers/SpeakerConferenceSlot.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import React from 'react';
import { getConferenceDate, getConferenceTimes } from '@con/utils';
import Button from '@con/components/common/Button';
import { Conference, Track } from 'src/con/types';
import { getDayByDate } from '@con/data/2023/days';

const SpeakerConferenceSlot: React.ComponentType<{ conference: Conference; tracks: Track[] }> = ({ conference }) => {
const day = getDayByDate(conference.date);
const { start, end, date, title, slug, short, track } = conference;
return (
<div className="speaker__conference-slot dotted-corner">
<div className="conference__track">
{date ? (
<>
{' '}
<span className="h6">
{day.title}
{track ? (
<>
<br /> {`Track #${track}`}
</>
) : null}
</span>
<span className="overline">{getConferenceDate(date)}</span>
</>
) : null}
</div>
<div className="conference__content">
{date && <span className="overline">{getConferenceTimes(date, start, end)}</span>}
<h3 className="h6 lined lined-left">{title}</h3>
<p>{short}</p>
<Button className="square" size="small" to={slug}>
See details
</Button>
</div>
</div>
);
};

export default SpeakerConferenceSlot;
2 changes: 1 addition & 1 deletion src/con/components/2023/SponsorShip/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const SponsorShip: React.ComponentType = () => {
</SectionTitle>
<LookingSponsorCard />
</div>
<div className="conf__bg-white py-200 text-center">
<div className="conf__bg-white pt-200 pb-50 text-center">
<div className="container">
<h3 className="h4 lined text-blue mb-20">They trusted us in 2022</h3>
<Grid>
Expand Down
6 changes: 3 additions & 3 deletions src/con/components/2023/home/LastEdition.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ const LastEdition: React.ComponentType = () => {
}));

return (
<Section className="conf__bg-white pt-20 pb-50 overflow-hidden relative" section="lastyear">
<Section className="pt-20 pb-200 overflow-hidden relative" section="lastyear">
<div className="container">
<SectionTitle>
<SectionTitle dark>
What happened <strong>last year</strong>?
</SectionTitle>
<p className="conf__section-subtitle mb-0">
<p className="conf__section-subtitle dark mb-0">
Take a look at the 2022 edition and find more information on <Link to="/con/2022/review">our review</Link>
</p>
</div>
Expand Down
15 changes: 11 additions & 4 deletions src/con/components/2023/home/MissingConferences.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,25 @@
import React from 'react';
import Section from '@con/components/common/Section';
import SectionTitle from '@con/components/common/SectionTitle';
import { Link } from 'gatsby';

const MissingConferences: React.ComponentType = () => {
return (
<Section className="py-20 relative overflow-hidden" section="missing">
<div className="container">
<SectionTitle dark>
<strong>Not registered in 2022?</strong>
<strong>What happened last year?</strong>
</SectionTitle>
<p className="conf__section-subtitle mb-20 dark">Watch the conference recordings on Youtube!</p>
<p className="conf__section-subtitle dark mb-0">
Watch the conference recordings on Youtube and find more information on{' '}
<Link className="text-white" to="/con/2022/review">
our review
</Link>
!
</p>
<a
className="my-20 mx-auto conf__button"
href="https://www.youtube.com/playlist?list=PL3hoUDjLa7eSo7-CAyiirYfhJe4h_Wxs4"
className="mt-30 mx-auto conf__button"
href="https://www.youtube.com/playlist?list=PL3hoUDjLa7eQfYOEmuQNG8he3AeOeWaz8"
target="_blank"
rel="noopener noreferrer"
>
Expand Down
2 changes: 1 addition & 1 deletion src/con/components/2023/layout/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ const Layout: React.ComponentType<LayoutProps> = ({ logoAlwaysVisible, children
footer={footer}
navButton={
<BuyButton className="pink" size="small" id="nav">
Buy ticket
Buy tickets
</BuyButton>
}
>
Expand Down
4 changes: 2 additions & 2 deletions src/con/components/2023/templates/ConferenceTemplate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import ConferenceTemplateBase from '@con/components/templates/ConferenceTemplate
import { PageProps } from 'gatsby';
import Layout from '@con/components/2023/layout';
import { getDayByDate } from '@con/data/2023/days';
import BuyButton from '../BuyButton';
import BuyButton from '@con/components/2022/BuyButton';

interface ConferenceTemplateProps extends PageProps {
pageContext: {
Expand All @@ -28,7 +28,7 @@ const ConferenceTemplate: React.ComponentType<ConferenceTemplateProps> = (props)
{...props}
trackSubtitle={
<p className="overline header__subtitle">
<strong>{day.title}</strong>
{day ? <strong>{day.title}</strong> : null}
{track ? ` - Track #${track}` : null}
</p>
}
Expand Down
2 changes: 1 addition & 1 deletion src/con/components/2023/templates/SpeakerTemplate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React from 'react';
import Layout from '@con/components/2023/layout';
import { PageProps } from 'gatsby';
import SpeakerTemplateBase from '@con/components/templates/SpeakerTemplate';
import SpeakerConferenceSlot from '@con/components/2022/Speakers/SpeakerConferenceSlot';
import SpeakerConferenceSlot from '@con/components/2023/Speakers/SpeakerConferenceSlot';
import BuyButton from '@con/components/2022/BuyButton';

interface SpeakerTemplateProps extends PageProps {
Expand Down
7 changes: 4 additions & 3 deletions src/con/data/2023/code-of-conduct.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,13 @@ Harassment includes, but is not limited to:
- Advocating for, or encouraging, any of the above behavior

## REPORTING
If someone makes you or anyone else feel unsafe or unwelcome, please **report it as soon as possible**, we will do our best to assist with any concerns you might have. Conference staff can be identified by their conference-specific staff t-shirts.
We value your attendance. If someone makes you or anyone else feel unsafe or unwelcome, please **report it as soon as possible**, we will do our best to assist with any concerns you might have. Conference staff can be identified by their conference-specific staff t-shirts.

You can make a personal report by:
- Contacting a **staff member**, identified by staff badges or shirts
- Contacting a **staff member**, identified by staff badges or shirts. Our staff will **ensure you are safe and cannot be overheard**. They may involve other event staff to ensure your report is managed properly. Once safe, we'll ask you to tell us about what happened. This can be upsetting, but we'll handle it as respectfully as possible, and you can bring someone to support you. You won't be asked to confront anyone and we won't tell anyone who you are. Our team will be happy to help you contact hotel/venue security, local support services, or otherwise assist you to feel safe for the duration of the event.
- Emailing us: <[email protected]>
- **Calling us**: We’ll publish a phone number that is staffed during main conference hours
- **Calling us**: we’ll publish a phone number that is staffed during main conference hours.


&nbsp;
&nbsp;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
type: conference
speakers: -robin-chalas
track:
date:
start:
end:
short: Get the best practices for securing your API
---

# All you need to know about securing your API (🇺🇸)

Security concerns arise early when starting a new project, and changing that aspect later is far from trivial. Should I use good old sessions or API tokens ? Which kind of tokens? How long should they live? Refreshed or blocklisted? And what about Authorization? Do I need OAuth? Which flow? Shall I use Roles or Voters? Maybe both? Also, how can I scope resources to the authenticated user?

This talk will give you the keys to determine **how to secure each part of *your* API within API Platform**, according to their business rules and the state-of-the-art.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
type: conference
speakers: -alex-rock
track:
date:
start:
end:
short: Créer un projet full-stack avec Svelte et Symfony
---

# API Platform, Svelte et un max de buzz-words (🇫🇷)

Aujourd'hui, les stacks de développement web sont devenues de plus en plus complexes. Nous allons donc voir pas-à-pas, pendant quarante minutes, comment **créer un projet full-stack** avec Svelte, OpenAPI, API Platform, Symfony, et un peu de DDD.
Loading
Loading