diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml
new file mode 100644
index 0000000..f1cf8c6
--- /dev/null
+++ b/.github/workflows/quality.yml
@@ -0,0 +1,45 @@
+name: Quality checks
+
+on:
+ push:
+ pull_request:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: quality-${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ quality:
+ name: Lint, format and type-check
+ runs-on: ubuntu-latest
+ timeout-minutes: 10
+ steps:
+ - name: Check out repository
+ uses: actions/checkout@v4
+
+ - name: Set up pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: 9.1.0
+ run_install: false
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: pnpm
+
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Run quality check
+ run: pnpm quality
+
+ - name: Run lint
+ run: pnpm lint
+
+ - name: Check formatting
+ run: pnpm format:check
diff --git a/.gitignore b/.gitignore
index 8600305..b8b4661 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,4 +35,3 @@ yarn-error.log*
# typescript
*.tsbuildinfo
-next-env.d.ts
diff --git a/.prettierrc b/.prettierrc
index 9200c76..0bfca66 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,9 +1,9 @@
{
- "bracketSpacing": true,
- "endOfLine": "lf",
- "printWidth": 80,
- "semi": false,
- "singleQuote": false,
- "tabWidth": 2,
- "trailingComma": "all"
- }
\ No newline at end of file
+ "bracketSpacing": true,
+ "endOfLine": "lf",
+ "printWidth": 80,
+ "semi": false,
+ "singleQuote": false,
+ "tabWidth": 2,
+ "trailingComma": "all"
+}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d3ca4ff..35ee3d8 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,4 +1,4 @@
- # Contributing to Coding Bunker Website
+# Contributing to Coding Bunker Website
Thank you for considering contributing to Coding Bunker Website! We welcome all contributions, big and small. Please follow the guidelines below to get started.
@@ -9,5 +9,4 @@ Thank you for considering contributing to Coding Bunker Website! We welcome all
3. **Create a Branch**: Create a new branch for your feature or bug fix.
- Branch naming convention: `feature/[feature-name]` or `bugfix/[issue-number]-[short-description]`
-
Thank you for contributing!
diff --git a/next-env.d.ts b/next-env.d.ts
new file mode 100644
index 0000000..1b3be08
--- /dev/null
+++ b/next-env.d.ts
@@ -0,0 +1,5 @@
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/package.json b/package.json
index 35cc92b..41754f8 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,8 @@
"build": "next build",
"start": "next start",
"lint": "next lint",
+ "format:check": "prettier --check .",
+ "quality": "tsc --noEmit",
"init:tailwind": "tailwindcss init tailwindcss.config.ts"
},
"engines": {
@@ -34,7 +36,8 @@
"eslint": "^8.57.1",
"eslint-config-next": "14.2.23",
"postcss": "^8.5.1",
+ "prettier": "3.4.2",
"tailwindcss": "^3.4.17",
"typescript": "^5.7.3"
}
-}
\ No newline at end of file
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9547ece..74e1480 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,20 +1,19 @@
-lockfileVersion: '9.0'
+lockfileVersion: "9.0"
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
importers:
-
.:
dependencies:
- '@getbrevo/brevo':
+ "@getbrevo/brevo":
specifier: ^2.2.0
version: 2.2.0
- '@netlify/plugin-nextjs':
+ "@netlify/plugin-nextjs":
specifier: ^5.9.3
version: 5.9.3
- '@notionhq/client':
+ "@notionhq/client":
specifier: ^2.2.15
version: 2.2.15
axios:
@@ -39,16 +38,16 @@ importers:
specifier: ^2.16.0
version: 2.16.0(react@18.3.1)
devDependencies:
- '@types/luxon':
+ "@types/luxon":
specifier: ^3.4.2
version: 3.4.2
- '@types/node':
+ "@types/node":
specifier: ^20.17.14
version: 20.17.14
- '@types/react':
+ "@types/react":
specifier: ^18.3.18
version: 18.3.18
- '@types/react-dom':
+ "@types/react-dom":
specifier: ^18.3.5
version: 18.3.5(@types/react@18.3.18)
eslint:
@@ -60,6 +59,9 @@ importers:
postcss:
specifier: ^8.5.1
version: 8.5.1
+ prettier:
+ specifier: 3.4.2
+ version: 3.4.2
tailwindcss:
specifier: ^3.4.17
version: 3.4.17
@@ -68,740 +70,1255 @@ importers:
version: 5.7.3
packages:
-
- '@alloc/quick-lru@5.2.0':
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
-
- '@emnapi/runtime@1.3.1':
- resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
-
- '@eslint-community/eslint-utils@4.4.0':
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ "@alloc/quick-lru@5.2.0":
+ resolution:
+ {
+ integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==,
+ }
+ engines: { node: ">=10" }
+
+ "@emnapi/runtime@1.3.1":
+ resolution:
+ {
+ integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==,
+ }
+
+ "@eslint-community/eslint-utils@4.4.0":
+ resolution:
+ {
+ integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.11.0':
- resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
- '@eslint/eslintrc@2.1.4':
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- '@eslint/js@8.57.1':
- resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- '@getbrevo/brevo@2.2.0':
- resolution: {integrity: sha512-mNCkXtgqn6jqLglAx1JzZcTj53kBZ5dK9Yd6zVuEyXAvhz68f5Ps6dSJar9HvkHH0Lfr3NrqW76xurjcoxqhIg==}
-
- '@humanwhocodes/config-array@0.13.0':
- resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
- engines: {node: '>=10.10.0'}
+ "@eslint-community/regexpp@4.11.0":
+ resolution:
+ {
+ integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==,
+ }
+ engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 }
+
+ "@eslint/eslintrc@2.1.4":
+ resolution:
+ {
+ integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+
+ "@eslint/js@8.57.1":
+ resolution:
+ {
+ integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+
+ "@getbrevo/brevo@2.2.0":
+ resolution:
+ {
+ integrity: sha512-mNCkXtgqn6jqLglAx1JzZcTj53kBZ5dK9Yd6zVuEyXAvhz68f5Ps6dSJar9HvkHH0Lfr3NrqW76xurjcoxqhIg==,
+ }
+
+ "@humanwhocodes/config-array@0.13.0":
+ resolution:
+ {
+ integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==,
+ }
+ engines: { node: ">=10.10.0" }
deprecated: Use @eslint/config-array instead
- '@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
-
- '@humanwhocodes/object-schema@2.0.3':
- resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
+ "@humanwhocodes/module-importer@1.0.1":
+ resolution:
+ {
+ integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==,
+ }
+ engines: { node: ">=12.22" }
+
+ "@humanwhocodes/object-schema@2.0.3":
+ resolution:
+ {
+ integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==,
+ }
deprecated: Use @eslint/object-schema instead
- '@img/sharp-darwin-arm64@0.33.5':
- resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-darwin-arm64@0.33.5":
+ resolution:
+ {
+ integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [arm64]
os: [darwin]
- '@img/sharp-darwin-x64@0.33.5':
- resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-darwin-x64@0.33.5":
+ resolution:
+ {
+ integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [x64]
os: [darwin]
- '@img/sharp-libvips-darwin-arm64@1.0.4':
- resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
+ "@img/sharp-libvips-darwin-arm64@1.0.4":
+ resolution:
+ {
+ integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==,
+ }
cpu: [arm64]
os: [darwin]
- '@img/sharp-libvips-darwin-x64@1.0.4':
- resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
+ "@img/sharp-libvips-darwin-x64@1.0.4":
+ resolution:
+ {
+ integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==,
+ }
cpu: [x64]
os: [darwin]
- '@img/sharp-libvips-linux-arm64@1.0.4':
- resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
+ "@img/sharp-libvips-linux-arm64@1.0.4":
+ resolution:
+ {
+ integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==,
+ }
cpu: [arm64]
os: [linux]
- '@img/sharp-libvips-linux-arm@1.0.5':
- resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
+ "@img/sharp-libvips-linux-arm@1.0.5":
+ resolution:
+ {
+ integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==,
+ }
cpu: [arm]
os: [linux]
- '@img/sharp-libvips-linux-s390x@1.0.4':
- resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
+ "@img/sharp-libvips-linux-s390x@1.0.4":
+ resolution:
+ {
+ integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==,
+ }
cpu: [s390x]
os: [linux]
- '@img/sharp-libvips-linux-x64@1.0.4':
- resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
+ "@img/sharp-libvips-linux-x64@1.0.4":
+ resolution:
+ {
+ integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==,
+ }
cpu: [x64]
os: [linux]
- '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
- resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
+ "@img/sharp-libvips-linuxmusl-arm64@1.0.4":
+ resolution:
+ {
+ integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==,
+ }
cpu: [arm64]
os: [linux]
- '@img/sharp-libvips-linuxmusl-x64@1.0.4':
- resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
+ "@img/sharp-libvips-linuxmusl-x64@1.0.4":
+ resolution:
+ {
+ integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==,
+ }
cpu: [x64]
os: [linux]
- '@img/sharp-linux-arm64@0.33.5':
- resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-linux-arm64@0.33.5":
+ resolution:
+ {
+ integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [arm64]
os: [linux]
- '@img/sharp-linux-arm@0.33.5':
- resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-linux-arm@0.33.5":
+ resolution:
+ {
+ integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [arm]
os: [linux]
- '@img/sharp-linux-s390x@0.33.5':
- resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-linux-s390x@0.33.5":
+ resolution:
+ {
+ integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [s390x]
os: [linux]
- '@img/sharp-linux-x64@0.33.5':
- resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-linux-x64@0.33.5":
+ resolution:
+ {
+ integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [x64]
os: [linux]
- '@img/sharp-linuxmusl-arm64@0.33.5':
- resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-linuxmusl-arm64@0.33.5":
+ resolution:
+ {
+ integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [arm64]
os: [linux]
- '@img/sharp-linuxmusl-x64@0.33.5':
- resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-linuxmusl-x64@0.33.5":
+ resolution:
+ {
+ integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [x64]
os: [linux]
- '@img/sharp-wasm32@0.33.5':
- resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-wasm32@0.33.5":
+ resolution:
+ {
+ integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [wasm32]
- '@img/sharp-win32-ia32@0.33.5':
- resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-win32-ia32@0.33.5":
+ resolution:
+ {
+ integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [ia32]
os: [win32]
- '@img/sharp-win32-x64@0.33.5':
- resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ "@img/sharp-win32-x64@0.33.5":
+ resolution:
+ {
+ integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
cpu: [x64]
os: [win32]
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
- '@netlify/plugin-nextjs@5.9.3':
- resolution: {integrity: sha512-760YvPaw6tSPmmX/2sqRzqBehPOfTD6lJoUb+bW+yZhQNyfLyCJR9/cRQP0+fFN2CCmdRWECX4nbi76Qne5/FQ==}
- engines: {node: '>=18.0.0'}
-
- '@next/env@15.1.5':
- resolution: {integrity: sha512-jg8ygVq99W3/XXb9Y6UQsritwhjc+qeiO7QrGZRYOfviyr/HcdnhdBQu4gbp2rBIh2ZyBYTBMWbPw3JSCb0GHw==}
-
- '@next/eslint-plugin-next@14.2.23':
- resolution: {integrity: sha512-efRC7m39GoiU1fXZRgGySqYbQi6ZyLkuGlvGst7IwkTTczehQTJA/7PoMg4MMjUZvZEGpiSEu+oJBAjPawiC3Q==}
-
- '@next/swc-darwin-arm64@15.1.5':
- resolution: {integrity: sha512-5ttHGE75Nw9/l5S8zR2xEwR8OHEqcpPym3idIMAZ2yo+Edk0W/Vf46jGqPOZDk+m/SJ+vYZDSuztzhVha8rcdA==}
- engines: {node: '>= 10'}
+ "@isaacs/cliui@8.0.2":
+ resolution:
+ {
+ integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==,
+ }
+ engines: { node: ">=12" }
+
+ "@jridgewell/gen-mapping@0.3.5":
+ resolution:
+ {
+ integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==,
+ }
+ engines: { node: ">=6.0.0" }
+
+ "@jridgewell/resolve-uri@3.1.2":
+ resolution:
+ {
+ integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==,
+ }
+ engines: { node: ">=6.0.0" }
+
+ "@jridgewell/set-array@1.2.1":
+ resolution:
+ {
+ integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==,
+ }
+ engines: { node: ">=6.0.0" }
+
+ "@jridgewell/sourcemap-codec@1.5.0":
+ resolution:
+ {
+ integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==,
+ }
+
+ "@jridgewell/trace-mapping@0.3.25":
+ resolution:
+ {
+ integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==,
+ }
+
+ "@netlify/plugin-nextjs@5.9.3":
+ resolution:
+ {
+ integrity: sha512-760YvPaw6tSPmmX/2sqRzqBehPOfTD6lJoUb+bW+yZhQNyfLyCJR9/cRQP0+fFN2CCmdRWECX4nbi76Qne5/FQ==,
+ }
+ engines: { node: ">=18.0.0" }
+
+ "@next/env@15.1.5":
+ resolution:
+ {
+ integrity: sha512-jg8ygVq99W3/XXb9Y6UQsritwhjc+qeiO7QrGZRYOfviyr/HcdnhdBQu4gbp2rBIh2ZyBYTBMWbPw3JSCb0GHw==,
+ }
+
+ "@next/eslint-plugin-next@14.2.23":
+ resolution:
+ {
+ integrity: sha512-efRC7m39GoiU1fXZRgGySqYbQi6ZyLkuGlvGst7IwkTTczehQTJA/7PoMg4MMjUZvZEGpiSEu+oJBAjPawiC3Q==,
+ }
+
+ "@next/swc-darwin-arm64@15.1.5":
+ resolution:
+ {
+ integrity: sha512-5ttHGE75Nw9/l5S8zR2xEwR8OHEqcpPym3idIMAZ2yo+Edk0W/Vf46jGqPOZDk+m/SJ+vYZDSuztzhVha8rcdA==,
+ }
+ engines: { node: ">= 10" }
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@15.1.5':
- resolution: {integrity: sha512-8YnZn7vDURUUTInfOcU5l0UWplZGBqUlzvqKKUFceM11SzfNEz7E28E1Arn4/FsOf90b1Nopboy7i7ufc4jXag==}
- engines: {node: '>= 10'}
+ "@next/swc-darwin-x64@15.1.5":
+ resolution:
+ {
+ integrity: sha512-8YnZn7vDURUUTInfOcU5l0UWplZGBqUlzvqKKUFceM11SzfNEz7E28E1Arn4/FsOf90b1Nopboy7i7ufc4jXag==,
+ }
+ engines: { node: ">= 10" }
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@15.1.5':
- resolution: {integrity: sha512-rDJC4ctlYbK27tCyFUhgIv8o7miHNlpCjb2XXfTLQszwAUOSbcMN9q2y3urSrrRCyGVOd9ZR9a4S45dRh6JF3A==}
- engines: {node: '>= 10'}
+ "@next/swc-linux-arm64-gnu@15.1.5":
+ resolution:
+ {
+ integrity: sha512-rDJC4ctlYbK27tCyFUhgIv8o7miHNlpCjb2XXfTLQszwAUOSbcMN9q2y3urSrrRCyGVOd9ZR9a4S45dRh6JF3A==,
+ }
+ engines: { node: ">= 10" }
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@15.1.5':
- resolution: {integrity: sha512-FG5RApf4Gu+J+pHUQxXPM81oORZrKBYKUaBTylEIQ6Lz17hKVDsLbSXInfXM0giclvXbyiLXjTv42sQMATmZ0A==}
- engines: {node: '>= 10'}
+ "@next/swc-linux-arm64-musl@15.1.5":
+ resolution:
+ {
+ integrity: sha512-FG5RApf4Gu+J+pHUQxXPM81oORZrKBYKUaBTylEIQ6Lz17hKVDsLbSXInfXM0giclvXbyiLXjTv42sQMATmZ0A==,
+ }
+ engines: { node: ">= 10" }
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@15.1.5':
- resolution: {integrity: sha512-NX2Ar3BCquAOYpnoYNcKz14eH03XuF7SmSlPzTSSU4PJe7+gelAjxo3Y7F2m8+hLT8ZkkqElawBp7SWBdzwqQw==}
- engines: {node: '>= 10'}
+ "@next/swc-linux-x64-gnu@15.1.5":
+ resolution:
+ {
+ integrity: sha512-NX2Ar3BCquAOYpnoYNcKz14eH03XuF7SmSlPzTSSU4PJe7+gelAjxo3Y7F2m8+hLT8ZkkqElawBp7SWBdzwqQw==,
+ }
+ engines: { node: ">= 10" }
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@15.1.5':
- resolution: {integrity: sha512-EQgqMiNu3mrV5eQHOIgeuh6GB5UU57tu17iFnLfBEhYfiOfyK+vleYKh2dkRVkV6ayx3eSqbIYgE7J7na4hhcA==}
- engines: {node: '>= 10'}
+ "@next/swc-linux-x64-musl@15.1.5":
+ resolution:
+ {
+ integrity: sha512-EQgqMiNu3mrV5eQHOIgeuh6GB5UU57tu17iFnLfBEhYfiOfyK+vleYKh2dkRVkV6ayx3eSqbIYgE7J7na4hhcA==,
+ }
+ engines: { node: ">= 10" }
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@15.1.5':
- resolution: {integrity: sha512-HPULzqR/VqryQZbZME8HJE3jNFmTGcp+uRMHabFbQl63TtDPm+oCXAz3q8XyGv2AoihwNApVlur9Up7rXWRcjg==}
- engines: {node: '>= 10'}
+ "@next/swc-win32-arm64-msvc@15.1.5":
+ resolution:
+ {
+ integrity: sha512-HPULzqR/VqryQZbZME8HJE3jNFmTGcp+uRMHabFbQl63TtDPm+oCXAz3q8XyGv2AoihwNApVlur9Up7rXWRcjg==,
+ }
+ engines: { node: ">= 10" }
cpu: [arm64]
os: [win32]
- '@next/swc-win32-x64-msvc@15.1.5':
- resolution: {integrity: sha512-n74fUb/Ka1dZSVYfjwQ+nSJ+ifUff7jGurFcTuJNKZmI62FFOxQXUYit/uZXPTj2cirm1rvGWHG2GhbSol5Ikw==}
- engines: {node: '>= 10'}
+ "@next/swc-win32-x64-msvc@15.1.5":
+ resolution:
+ {
+ integrity: sha512-n74fUb/Ka1dZSVYfjwQ+nSJ+ifUff7jGurFcTuJNKZmI62FFOxQXUYit/uZXPTj2cirm1rvGWHG2GhbSol5Ikw==,
+ }
+ engines: { node: ">= 10" }
cpu: [x64]
os: [win32]
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@notionhq/client@2.2.15':
- resolution: {integrity: sha512-XhdSY/4B1D34tSco/GION+23GMjaS9S2zszcqYkMHo8RcWInymF6L1x+Gk7EmHdrSxNFva2WM8orhC4BwQCwgw==}
- engines: {node: '>=12'}
-
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
-
- '@rushstack/eslint-patch@1.10.3':
- resolution: {integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==}
-
- '@swc/counter@0.1.3':
- resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
-
- '@swc/helpers@0.5.15':
- resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
-
- '@types/json5@0.0.29':
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
-
- '@types/luxon@3.4.2':
- resolution: {integrity: sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==}
-
- '@types/node-fetch@2.6.11':
- resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
-
- '@types/node@20.17.14':
- resolution: {integrity: sha512-w6qdYetNL5KRBiSClK/KWai+2IMEJuAj+EujKCumalFOwXtvOXaEan9AuwcRID2IcOIAWSIfR495hBtgKlx2zg==}
-
- '@types/prop-types@15.7.12':
- resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
-
- '@types/react-dom@18.3.5':
- resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==}
+ "@nodelib/fs.scandir@2.1.5":
+ resolution:
+ {
+ integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==,
+ }
+ engines: { node: ">= 8" }
+
+ "@nodelib/fs.stat@2.0.5":
+ resolution:
+ {
+ integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==,
+ }
+ engines: { node: ">= 8" }
+
+ "@nodelib/fs.walk@1.2.8":
+ resolution:
+ {
+ integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==,
+ }
+ engines: { node: ">= 8" }
+
+ "@notionhq/client@2.2.15":
+ resolution:
+ {
+ integrity: sha512-XhdSY/4B1D34tSco/GION+23GMjaS9S2zszcqYkMHo8RcWInymF6L1x+Gk7EmHdrSxNFva2WM8orhC4BwQCwgw==,
+ }
+ engines: { node: ">=12" }
+
+ "@pkgjs/parseargs@0.11.0":
+ resolution:
+ {
+ integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==,
+ }
+ engines: { node: ">=14" }
+
+ "@rushstack/eslint-patch@1.10.3":
+ resolution:
+ {
+ integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==,
+ }
+
+ "@swc/counter@0.1.3":
+ resolution:
+ {
+ integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==,
+ }
+
+ "@swc/helpers@0.5.15":
+ resolution:
+ {
+ integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==,
+ }
+
+ "@types/json5@0.0.29":
+ resolution:
+ {
+ integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==,
+ }
+
+ "@types/luxon@3.4.2":
+ resolution:
+ {
+ integrity: sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==,
+ }
+
+ "@types/node-fetch@2.6.11":
+ resolution:
+ {
+ integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==,
+ }
+
+ "@types/node@20.17.14":
+ resolution:
+ {
+ integrity: sha512-w6qdYetNL5KRBiSClK/KWai+2IMEJuAj+EujKCumalFOwXtvOXaEan9AuwcRID2IcOIAWSIfR495hBtgKlx2zg==,
+ }
+
+ "@types/prop-types@15.7.12":
+ resolution:
+ {
+ integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==,
+ }
+
+ "@types/react-dom@18.3.5":
+ resolution:
+ {
+ integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==,
+ }
peerDependencies:
- '@types/react': ^18.0.0
-
- '@types/react@18.3.18':
- resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==}
-
- '@typescript-eslint/eslint-plugin@8.21.0':
- resolution: {integrity: sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ "@types/react": ^18.0.0
+
+ "@types/react@18.3.18":
+ resolution:
+ {
+ integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==,
+ }
+
+ "@typescript-eslint/eslint-plugin@8.21.0":
+ resolution:
+ {
+ integrity: sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
- '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
+ "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0
eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/parser@7.2.0':
- resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ typescript: ">=4.8.4 <5.8.0"
+
+ "@typescript-eslint/parser@7.2.0":
+ resolution:
+ {
+ integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
eslint: ^8.56.0
- typescript: '*'
+ typescript: "*"
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/scope-manager@7.2.0':
- resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==}
- engines: {node: ^16.0.0 || >=18.0.0}
-
- '@typescript-eslint/scope-manager@8.21.0':
- resolution: {integrity: sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/type-utils@8.21.0':
- resolution: {integrity: sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ "@typescript-eslint/scope-manager@7.2.0":
+ resolution:
+ {
+ integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+
+ "@typescript-eslint/scope-manager@8.21.0":
+ resolution:
+ {
+ integrity: sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ "@typescript-eslint/type-utils@8.21.0":
+ resolution:
+ {
+ integrity: sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/types@7.2.0':
- resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==}
- engines: {node: ^16.0.0 || >=18.0.0}
-
- '@typescript-eslint/types@8.21.0':
- resolution: {integrity: sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/typescript-estree@7.2.0':
- resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ typescript: ">=4.8.4 <5.8.0"
+
+ "@typescript-eslint/types@7.2.0":
+ resolution:
+ {
+ integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+
+ "@typescript-eslint/types@8.21.0":
+ resolution:
+ {
+ integrity: sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ "@typescript-eslint/typescript-estree@7.2.0":
+ resolution:
+ {
+ integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
peerDependencies:
- typescript: '*'
+ typescript: "*"
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/typescript-estree@8.21.0':
- resolution: {integrity: sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ "@typescript-eslint/typescript-estree@8.21.0":
+ resolution:
+ {
+ integrity: sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/utils@8.21.0':
- resolution: {integrity: sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ typescript: ">=4.8.4 <5.8.0"
+
+ "@typescript-eslint/utils@8.21.0":
+ resolution:
+ {
+ integrity: sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '>=4.8.4 <5.8.0'
-
- '@typescript-eslint/visitor-keys@7.2.0':
- resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==}
- engines: {node: ^16.0.0 || >=18.0.0}
-
- '@typescript-eslint/visitor-keys@8.21.0':
- resolution: {integrity: sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@ungap/structured-clone@1.2.0':
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ typescript: ">=4.8.4 <5.8.0"
+
+ "@typescript-eslint/visitor-keys@7.2.0":
+ resolution:
+ {
+ integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==,
+ }
+ engines: { node: ^16.0.0 || >=18.0.0 }
+
+ "@typescript-eslint/visitor-keys@8.21.0":
+ resolution:
+ {
+ integrity: sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+ "@ungap/structured-clone@1.2.0":
+ resolution:
+ {
+ integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==,
+ }
acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ resolution:
+ {
+ integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==,
+ }
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
acorn@8.12.1:
- resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
- engines: {node: '>=0.4.0'}
+ resolution:
+ {
+ integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==,
+ }
+ engines: { node: ">=0.4.0" }
hasBin: true
ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ resolution:
+ {
+ integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==,
+ }
ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==,
+ }
+ engines: { node: ">=8" }
ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==,
+ }
+ engines: { node: ">=12" }
ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==,
+ }
+ engines: { node: ">=8" }
ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==,
+ }
+ engines: { node: ">=12" }
any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+ resolution:
+ {
+ integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==,
+ }
anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==,
+ }
+ engines: { node: ">= 8" }
arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ resolution:
+ {
+ integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==,
+ }
argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ resolution:
+ {
+ integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
+ }
aria-query@5.1.3:
- resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
+ resolution:
+ {
+ integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==,
+ }
array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==,
+ }
+ engines: { node: ">= 0.4" }
array-includes@3.1.8:
- resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==,
+ }
+ engines: { node: ">= 0.4" }
array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==,
+ }
+ engines: { node: ">=8" }
array.prototype.findlast@1.2.5:
- resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==,
+ }
+ engines: { node: ">= 0.4" }
array.prototype.findlastindex@1.2.5:
- resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==,
+ }
+ engines: { node: ">= 0.4" }
array.prototype.flat@1.3.2:
- resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==,
+ }
+ engines: { node: ">= 0.4" }
array.prototype.flatmap@1.3.2:
- resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==,
+ }
+ engines: { node: ">= 0.4" }
array.prototype.toreversed@1.1.2:
- resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+ resolution:
+ {
+ integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==,
+ }
array.prototype.tosorted@1.1.4:
- resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==,
+ }
+ engines: { node: ">= 0.4" }
arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==,
+ }
+ engines: { node: ">= 0.4" }
asn1@0.2.6:
- resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==}
+ resolution:
+ {
+ integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==,
+ }
assert-plus@1.0.0:
- resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
- engines: {node: '>=0.8'}
+ resolution:
+ {
+ integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==,
+ }
+ engines: { node: ">=0.8" }
ast-types-flow@0.0.8:
- resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+ resolution:
+ {
+ integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==,
+ }
asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+ resolution:
+ {
+ integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==,
+ }
available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==,
+ }
+ engines: { node: ">= 0.4" }
aws-sign2@0.7.0:
- resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
+ resolution:
+ {
+ integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==,
+ }
aws4@1.13.0:
- resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==}
+ resolution:
+ {
+ integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==,
+ }
axe-core@4.9.1:
- resolution: {integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==,
+ }
+ engines: { node: ">=4" }
axios@1.7.9:
- resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==}
+ resolution:
+ {
+ integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==,
+ }
axobject-query@3.1.1:
- resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==}
+ resolution:
+ {
+ integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==,
+ }
balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ resolution:
+ {
+ integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==,
+ }
bcrypt-pbkdf@1.0.2:
- resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
+ resolution:
+ {
+ integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==,
+ }
binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==,
+ }
+ engines: { node: ">=8" }
bluebird@3.7.2:
- resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
+ resolution:
+ {
+ integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==,
+ }
brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ resolution:
+ {
+ integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==,
+ }
brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ resolution:
+ {
+ integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==,
+ }
braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==,
+ }
+ engines: { node: ">=8" }
busboy@1.6.0:
- resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
- engines: {node: '>=10.16.0'}
+ resolution:
+ {
+ integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==,
+ }
+ engines: { node: ">=10.16.0" }
call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==,
+ }
+ engines: { node: ">= 0.4" }
callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
+ }
+ engines: { node: ">=6" }
camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==,
+ }
+ engines: { node: ">= 6" }
caniuse-lite@1.0.30001641:
- resolution: {integrity: sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==}
+ resolution:
+ {
+ integrity: sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==,
+ }
caseless@0.12.0:
- resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
+ resolution:
+ {
+ integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==,
+ }
chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==,
+ }
+ engines: { node: ">=10" }
chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
+ resolution:
+ {
+ integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==,
+ }
+ engines: { node: ">= 8.10.0" }
classnames@2.5.1:
- resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
+ resolution:
+ {
+ integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==,
+ }
client-only@0.0.1:
- resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+ resolution:
+ {
+ integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==,
+ }
color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ resolution:
+ {
+ integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
+ }
+ engines: { node: ">=7.0.0" }
color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ resolution:
+ {
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
+ }
color-string@1.9.1:
- resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+ resolution:
+ {
+ integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==,
+ }
color@4.2.3:
- resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
- engines: {node: '>=12.5.0'}
+ resolution:
+ {
+ integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==,
+ }
+ engines: { node: ">=12.5.0" }
combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==,
+ }
+ engines: { node: ">= 0.8" }
commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==,
+ }
+ engines: { node: ">= 6" }
concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ resolution:
+ {
+ integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
+ }
core-util-is@1.0.2:
- resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
+ resolution:
+ {
+ integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==,
+ }
cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
+ }
+ engines: { node: ">= 8" }
cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==,
+ }
+ engines: { node: ">=4" }
hasBin: true
csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ resolution:
+ {
+ integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==,
+ }
damerau-levenshtein@1.0.8:
- resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ resolution:
+ {
+ integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==,
+ }
dashdash@1.14.1:
- resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
- engines: {node: '>=0.10'}
+ resolution:
+ {
+ integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==,
+ }
+ engines: { node: ">=0.10" }
data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==,
+ }
+ engines: { node: ">= 0.4" }
data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==,
+ }
+ engines: { node: ">= 0.4" }
data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==,
+ }
+ engines: { node: ">= 0.4" }
debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ resolution:
+ {
+ integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==,
+ }
peerDependencies:
- supports-color: '*'
+ supports-color: "*"
peerDependenciesMeta:
supports-color:
optional: true
debug@4.3.5:
- resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
- engines: {node: '>=6.0'}
+ resolution:
+ {
+ integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==,
+ }
+ engines: { node: ">=6.0" }
peerDependencies:
- supports-color: '*'
+ supports-color: "*"
peerDependenciesMeta:
supports-color:
optional: true
deep-equal@2.2.3:
- resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==,
+ }
+ engines: { node: ">= 0.4" }
deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ resolution:
+ {
+ integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==,
+ }
deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==,
+ }
+ engines: { node: ">=0.10.0" }
define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==,
+ }
+ engines: { node: ">= 0.4" }
define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==,
+ }
+ engines: { node: ">= 0.4" }
delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
+ resolution:
+ {
+ integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==,
+ }
+ engines: { node: ">=0.4.0" }
detect-libc@2.0.3:
- resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==,
+ }
+ engines: { node: ">=8" }
didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ resolution:
+ {
+ integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==,
+ }
dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==,
+ }
+ engines: { node: ">=8" }
dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+ resolution:
+ {
+ integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==,
+ }
doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==,
+ }
+ engines: { node: ">=0.10.0" }
doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
+ resolution:
+ {
+ integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==,
+ }
+ engines: { node: ">=6.0.0" }
eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ resolution:
+ {
+ integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==,
+ }
ecc-jsbn@0.1.2:
- resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
+ resolution:
+ {
+ integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==,
+ }
emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ resolution:
+ {
+ integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
+ }
emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ resolution:
+ {
+ integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==,
+ }
enhanced-resolve@5.17.0:
- resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==}
- engines: {node: '>=10.13.0'}
+ resolution:
+ {
+ integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==,
+ }
+ engines: { node: ">=10.13.0" }
es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==,
+ }
+ engines: { node: ">= 0.4" }
es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==,
+ }
+ engines: { node: ">= 0.4" }
es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==,
+ }
+ engines: { node: ">= 0.4" }
es-get-iterator@1.1.3:
- resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
+ resolution:
+ {
+ integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==,
+ }
es-iterator-helpers@1.0.19:
- resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==,
+ }
+ engines: { node: ">= 0.4" }
es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==,
+ }
+ engines: { node: ">= 0.4" }
es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==,
+ }
+ engines: { node: ">= 0.4" }
es-shim-unscopables@1.0.2:
- resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+ resolution:
+ {
+ integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==,
+ }
es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==,
+ }
+ engines: { node: ">= 0.4" }
escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==,
+ }
+ engines: { node: ">=10" }
eslint-config-next@14.2.23:
- resolution: {integrity: sha512-qtWJzOsDZxnLtXLNtnVjbutHmnEp6QTTSZBTlTCge/Wy0AsUaq8nwR91dBcZZvFg3eY3zKFPBhUkLMHu3Qpauw==}
+ resolution:
+ {
+ integrity: sha512-qtWJzOsDZxnLtXLNtnVjbutHmnEp6QTTSZBTlTCge/Wy0AsUaq8nwR91dBcZZvFg3eY3zKFPBhUkLMHu3Qpauw==,
+ }
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
- typescript: '>=3.3.1'
+ typescript: ">=3.3.1"
peerDependenciesMeta:
typescript:
optional: true
eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ resolution:
+ {
+ integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==,
+ }
eslint-import-resolver-typescript@3.6.1:
- resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
peerDependencies:
- eslint: '*'
- eslint-plugin-import: '*'
+ eslint: "*"
+ eslint-plugin-import: "*"
eslint-module-utils@2.8.1:
- resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==,
+ }
+ engines: { node: ">=4" }
peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: '*'
- eslint-import-resolver-node: '*'
- eslint-import-resolver-typescript: '*'
- eslint-import-resolver-webpack: '*'
+ "@typescript-eslint/parser": "*"
+ eslint: "*"
+ eslint-import-resolver-node: "*"
+ eslint-import-resolver-typescript: "*"
+ eslint-import-resolver-webpack: "*"
peerDependenciesMeta:
- '@typescript-eslint/parser':
+ "@typescript-eslint/parser":
optional: true
eslint:
optional: true
@@ -813,575 +1330,1013 @@ packages:
optional: true
eslint-plugin-import@2.29.1:
- resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==,
+ }
+ engines: { node: ">=4" }
peerDependencies:
- '@typescript-eslint/parser': '*'
+ "@typescript-eslint/parser": "*"
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
peerDependenciesMeta:
- '@typescript-eslint/parser':
+ "@typescript-eslint/parser":
optional: true
eslint-plugin-jsx-a11y@6.9.0:
- resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==,
+ }
+ engines: { node: ">=4.0" }
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
eslint-plugin-react-hooks@4.6.2:
- resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==,
+ }
+ engines: { node: ">=10" }
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
eslint-plugin-react@7.34.3:
- resolution: {integrity: sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==,
+ }
+ engines: { node: ">=4" }
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
eslint-visitor-keys@4.2.0:
- resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
eslint@8.57.1:
- resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
- engines: {node: '>=0.10'}
+ resolution:
+ {
+ integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==,
+ }
+ engines: { node: ">=0.10" }
esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==,
+ }
+ engines: { node: ">=4.0" }
estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==,
+ }
+ engines: { node: ">=4.0" }
esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==,
+ }
+ engines: { node: ">=0.10.0" }
extend@3.0.2:
- resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+ resolution:
+ {
+ integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==,
+ }
extsprintf@1.3.0:
- resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
- engines: {'0': node >=0.6.0}
+ resolution:
+ {
+ integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==,
+ }
+ engines: { "0": node >=0.6.0 }
fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ resolution:
+ {
+ integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==,
+ }
fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
+ resolution:
+ {
+ integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==,
+ }
+ engines: { node: ">=8.6.0" }
fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ resolution:
+ {
+ integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==,
+ }
fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ resolution:
+ {
+ integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==,
+ }
fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ resolution:
+ {
+ integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==,
+ }
file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ resolution:
+ {
+ integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==,
+ }
+ engines: { node: ">=8" }
find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==,
+ }
+ engines: { node: ">=10" }
flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ resolution:
+ {
+ integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ resolution:
+ {
+ integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==,
+ }
follow-redirects@1.15.6:
- resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==,
+ }
+ engines: { node: ">=4.0" }
peerDependencies:
- debug: '*'
+ debug: "*"
peerDependenciesMeta:
debug:
optional: true
for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ resolution:
+ {
+ integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==,
+ }
foreground-child@3.2.1:
- resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==,
+ }
+ engines: { node: ">=14" }
forever-agent@0.6.1:
- resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
+ resolution:
+ {
+ integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==,
+ }
form-data@2.3.3:
- resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
- engines: {node: '>= 0.12'}
+ resolution:
+ {
+ integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==,
+ }
+ engines: { node: ">= 0.12" }
form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==,
+ }
+ engines: { node: ">= 6" }
fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ resolution:
+ {
+ integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==,
+ }
fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ resolution:
+ {
+ integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
+ }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
os: [darwin]
function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ resolution:
+ {
+ integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==,
+ }
function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==,
+ }
+ engines: { node: ">= 0.4" }
functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ resolution:
+ {
+ integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==,
+ }
get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==,
+ }
+ engines: { node: ">= 0.4" }
get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==,
+ }
+ engines: { node: ">= 0.4" }
get-tsconfig@4.7.5:
- resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
+ resolution:
+ {
+ integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==,
+ }
getpass@0.1.7:
- resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
+ resolution:
+ {
+ integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==,
+ }
glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==,
+ }
+ engines: { node: ">= 6" }
glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
+ resolution:
+ {
+ integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==,
+ }
+ engines: { node: ">=10.13.0" }
glob@10.3.10:
- resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
- engines: {node: '>=16 || 14 >=14.17'}
+ resolution:
+ {
+ integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==,
+ }
+ engines: { node: ">=16 || 14 >=14.17" }
hasBin: true
glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ resolution:
+ {
+ integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==,
+ }
hasBin: true
glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ resolution:
+ {
+ integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==,
+ }
deprecated: Glob versions prior to v9 are no longer supported
globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==,
+ }
+ engines: { node: ">=8" }
globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==,
+ }
+ engines: { node: ">= 0.4" }
globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==,
+ }
+ engines: { node: ">=10" }
gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ resolution:
+ {
+ integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==,
+ }
graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ resolution:
+ {
+ integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==,
+ }
graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ resolution:
+ {
+ integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==,
+ }
har-schema@2.0.0:
- resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==,
+ }
+ engines: { node: ">=4" }
har-validator@5.1.5:
- resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==,
+ }
+ engines: { node: ">=6" }
deprecated: this library is no longer supported
has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ resolution:
+ {
+ integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==,
+ }
has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==,
+ }
+ engines: { node: ">=8" }
has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ resolution:
+ {
+ integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==,
+ }
has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==,
+ }
+ engines: { node: ">= 0.4" }
has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==,
+ }
+ engines: { node: ">= 0.4" }
has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==,
+ }
+ engines: { node: ">= 0.4" }
hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==,
+ }
+ engines: { node: ">= 0.4" }
http-signature@1.2.0:
- resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
- engines: {node: '>=0.8', npm: '>=1.3.7'}
+ resolution:
+ {
+ integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==,
+ }
+ engines: { node: ">=0.8", npm: ">=1.3.7" }
ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
+ resolution:
+ {
+ integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==,
+ }
+ engines: { node: ">= 4" }
import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
+ }
+ engines: { node: ">=6" }
imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
+ resolution:
+ {
+ integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==,
+ }
+ engines: { node: ">=0.8.19" }
inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ resolution:
+ {
+ integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==,
+ }
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ resolution:
+ {
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==,
+ }
internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==,
+ }
+ engines: { node: ">= 0.4" }
is-arguments@1.1.1:
- resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==,
+ }
+ engines: { node: ">= 0.4" }
is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==,
+ }
+ engines: { node: ">= 0.4" }
is-arrayish@0.3.2:
- resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
+ resolution:
+ {
+ integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==,
+ }
is-async-function@2.0.0:
- resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==,
+ }
+ engines: { node: ">= 0.4" }
is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ resolution:
+ {
+ integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==,
+ }
is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==,
+ }
+ engines: { node: ">=8" }
is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==,
+ }
+ engines: { node: ">= 0.4" }
is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==,
+ }
+ engines: { node: ">= 0.4" }
is-core-module@2.14.0:
- resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==,
+ }
+ engines: { node: ">= 0.4" }
is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==,
+ }
+ engines: { node: ">= 0.4" }
is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==,
+ }
+ engines: { node: ">= 0.4" }
is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==,
+ }
+ engines: { node: ">=0.10.0" }
is-finalizationregistry@1.0.2:
- resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ resolution:
+ {
+ integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==,
+ }
is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==,
+ }
+ engines: { node: ">=8" }
is-generator-function@1.0.10:
- resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==,
+ }
+ engines: { node: ">= 0.4" }
is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==,
+ }
+ engines: { node: ">=0.10.0" }
is-map@2.0.3:
- resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==,
+ }
+ engines: { node: ">= 0.4" }
is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==,
+ }
+ engines: { node: ">= 0.4" }
is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==,
+ }
+ engines: { node: ">= 0.4" }
is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
+ resolution:
+ {
+ integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==,
+ }
+ engines: { node: ">=0.12.0" }
is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==,
+ }
+ engines: { node: ">=8" }
is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==,
+ }
+ engines: { node: ">= 0.4" }
is-set@2.0.3:
- resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==,
+ }
+ engines: { node: ">= 0.4" }
is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==,
+ }
+ engines: { node: ">= 0.4" }
is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==,
+ }
+ engines: { node: ">= 0.4" }
is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==,
+ }
+ engines: { node: ">= 0.4" }
is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==,
+ }
+ engines: { node: ">= 0.4" }
is-typedarray@1.0.0:
- resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+ resolution:
+ {
+ integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==,
+ }
is-weakmap@2.0.2:
- resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==,
+ }
+ engines: { node: ">= 0.4" }
is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ resolution:
+ {
+ integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==,
+ }
is-weakset@2.0.3:
- resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==,
+ }
+ engines: { node: ">= 0.4" }
isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ resolution:
+ {
+ integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==,
+ }
isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ resolution:
+ {
+ integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
+ }
isstream@0.1.2:
- resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
+ resolution:
+ {
+ integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==,
+ }
iterator.prototype@1.1.2:
- resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ resolution:
+ {
+ integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==,
+ }
jackspeak@2.3.6:
- resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==,
+ }
+ engines: { node: ">=14" }
jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+ resolution:
+ {
+ integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==,
+ }
jiti@1.21.6:
- resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ resolution:
+ {
+ integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==,
+ }
hasBin: true
js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ resolution:
+ {
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
+ }
js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ resolution:
+ {
+ integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==,
+ }
hasBin: true
jsbn@0.1.1:
- resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
+ resolution:
+ {
+ integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==,
+ }
json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ resolution:
+ {
+ integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==,
+ }
json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ resolution:
+ {
+ integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==,
+ }
json-schema@0.4.0:
- resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
+ resolution:
+ {
+ integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==,
+ }
json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ resolution:
+ {
+ integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==,
+ }
json-stringify-safe@5.0.1:
- resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
+ resolution:
+ {
+ integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==,
+ }
json5@1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ resolution:
+ {
+ integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==,
+ }
hasBin: true
jsprim@1.4.2:
- resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
- engines: {node: '>=0.6.0'}
+ resolution:
+ {
+ integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==,
+ }
+ engines: { node: ">=0.6.0" }
jsx-ast-utils@3.3.5:
- resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==,
+ }
+ engines: { node: ">=4.0" }
keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ resolution:
+ {
+ integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==,
+ }
language-subtag-registry@0.3.23:
- resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
+ resolution:
+ {
+ integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==,
+ }
language-tags@1.0.9:
- resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
- engines: {node: '>=0.10'}
+ resolution:
+ {
+ integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==,
+ }
+ engines: { node: ">=0.10" }
levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==,
+ }
+ engines: { node: ">= 0.8.0" }
lilconfig@3.1.3:
- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==,
+ }
+ engines: { node: ">=14" }
lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ resolution:
+ {
+ integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
+ }
load-script@1.0.0:
- resolution: {integrity: sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==}
+ resolution:
+ {
+ integrity: sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==,
+ }
locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==,
+ }
+ engines: { node: ">=10" }
lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ resolution:
+ {
+ integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==,
+ }
loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ resolution:
+ {
+ integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==,
+ }
hasBin: true
lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+ resolution:
+ {
+ integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==,
+ }
luxon@3.5.0:
- resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==,
+ }
+ engines: { node: ">=12" }
memoize-one@5.2.1:
- resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==}
+ resolution:
+ {
+ integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==,
+ }
merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==,
+ }
+ engines: { node: ">= 8" }
micromatch@4.0.7:
- resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
- engines: {node: '>=8.6'}
+ resolution:
+ {
+ integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==,
+ }
+ engines: { node: ">=8.6" }
micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
+ resolution:
+ {
+ integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==,
+ }
+ engines: { node: ">=8.6" }
mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==,
+ }
+ engines: { node: ">= 0.6" }
mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==,
+ }
+ engines: { node: ">= 0.6" }
minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ resolution:
+ {
+ integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==,
+ }
minimatch@9.0.3:
- resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
- engines: {node: '>=16 || 14 >=14.17'}
+ resolution:
+ {
+ integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==,
+ }
+ engines: { node: ">=16 || 14 >=14.17" }
minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
+ resolution:
+ {
+ integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==,
+ }
+ engines: { node: ">=16 || 14 >=14.17" }
minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ resolution:
+ {
+ integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==,
+ }
minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
+ resolution:
+ {
+ integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==,
+ }
+ engines: { node: ">=16 || 14 >=14.17" }
ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ resolution:
+ {
+ integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
+ }
ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ resolution:
+ {
+ integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==,
+ }
mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ resolution:
+ {
+ integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==,
+ }
nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ resolution:
+ {
+ integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==,
+ }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
hasBin: true
nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ resolution:
+ {
+ integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==,
+ }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
hasBin: true
natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ resolution:
+ {
+ integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==,
+ }
next@15.1.5:
- resolution: {integrity: sha512-Cf/TEegnt01hn3Hoywh6N8fvkhbOuChO4wFje24+a86wKOubgVaWkDqxGVgoWlz2Hp9luMJ9zw3epftujdnUOg==}
- engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
+ resolution:
+ {
+ integrity: sha512-Cf/TEegnt01hn3Hoywh6N8fvkhbOuChO4wFje24+a86wKOubgVaWkDqxGVgoWlz2Hp9luMJ9zw3epftujdnUOg==,
+ }
+ engines: { node: ^18.18.0 || ^19.8.0 || >= 20.0.0 }
hasBin: true
peerDependencies:
- '@opentelemetry/api': ^1.1.0
- '@playwright/test': ^1.41.2
- babel-plugin-react-compiler: '*'
+ "@opentelemetry/api": ^1.1.0
+ "@playwright/test": ^1.41.2
+ babel-plugin-react-compiler: "*"
react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
sass: ^1.3.0
peerDependenciesMeta:
- '@opentelemetry/api':
+ "@opentelemetry/api":
optional: true
- '@playwright/test':
+ "@playwright/test":
optional: true
babel-plugin-react-compiler:
optional: true
@@ -1389,8 +2344,11 @@ packages:
optional: true
node-fetch@2.7.0:
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
- engines: {node: 4.x || >=6.0.0}
+ resolution:
+ {
+ integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==,
+ }
+ engines: { node: 4.x || >=6.0.0 }
peerDependencies:
encoding: ^0.1.0
peerDependenciesMeta:
@@ -1398,144 +2356,249 @@ packages:
optional: true
normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==,
+ }
+ engines: { node: ">=0.10.0" }
oauth-sign@0.9.0:
- resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==}
+ resolution:
+ {
+ integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==,
+ }
object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==,
+ }
+ engines: { node: ">=0.10.0" }
object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==,
+ }
+ engines: { node: ">= 6" }
object-inspect@1.13.2:
- resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==,
+ }
+ engines: { node: ">= 0.4" }
object-is@1.1.6:
- resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==,
+ }
+ engines: { node: ">= 0.4" }
object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==,
+ }
+ engines: { node: ">= 0.4" }
object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==,
+ }
+ engines: { node: ">= 0.4" }
object.entries@1.1.8:
- resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==,
+ }
+ engines: { node: ">= 0.4" }
object.fromentries@2.0.8:
- resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==,
+ }
+ engines: { node: ">= 0.4" }
object.groupby@1.0.3:
- resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==,
+ }
+ engines: { node: ">= 0.4" }
object.hasown@1.1.4:
- resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==,
+ }
+ engines: { node: ">= 0.4" }
object.values@1.2.0:
- resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==,
+ }
+ engines: { node: ">= 0.4" }
once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ resolution:
+ {
+ integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==,
+ }
optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==,
+ }
+ engines: { node: ">= 0.8.0" }
p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==,
+ }
+ engines: { node: ">=10" }
p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==,
+ }
+ engines: { node: ">=10" }
package-json-from-dist@1.0.0:
- resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
+ resolution:
+ {
+ integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==,
+ }
parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==,
+ }
+ engines: { node: ">=6" }
path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==,
+ }
+ engines: { node: ">=8" }
path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==,
+ }
+ engines: { node: ">=0.10.0" }
path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
+ }
+ engines: { node: ">=8" }
path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ resolution:
+ {
+ integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==,
+ }
path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
+ resolution:
+ {
+ integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==,
+ }
+ engines: { node: ">=16 || 14 >=14.18" }
path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==,
+ }
+ engines: { node: ">=8" }
performance-now@2.1.0:
- resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
+ resolution:
+ {
+ integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==,
+ }
picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+ resolution:
+ {
+ integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==,
+ }
picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+ resolution:
+ {
+ integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==,
+ }
picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
+ resolution:
+ {
+ integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==,
+ }
+ engines: { node: ">=8.6" }
pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==,
+ }
+ engines: { node: ">=0.10.0" }
pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==,
+ }
+ engines: { node: ">= 6" }
possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==,
+ }
+ engines: { node: ">= 0.4" }
postcss-import@15.1.0:
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==,
+ }
+ engines: { node: ">=14.0.0" }
peerDependencies:
postcss: ^8.0.0
postcss-js@4.0.1:
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
+ resolution:
+ {
+ integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==,
+ }
+ engines: { node: ^12 || ^14 || >= 16 }
peerDependencies:
postcss: ^8.4.21
postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
+ resolution:
+ {
+ integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==,
+ }
+ engines: { node: ">= 14" }
peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
+ postcss: ">=8.0.9"
+ ts-node: ">=9.0.0"
peerDependenciesMeta:
postcss:
optional: true
@@ -1543,447 +2606,778 @@ packages:
optional: true
postcss-nested@6.2.0:
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
- engines: {node: '>=12.0'}
+ resolution:
+ {
+ integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==,
+ }
+ engines: { node: ">=12.0" }
peerDependencies:
postcss: ^8.2.14
postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==,
+ }
+ engines: { node: ">=4" }
postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ resolution:
+ {
+ integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==,
+ }
postcss@8.4.31:
- resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
- engines: {node: ^10 || ^12 || >=14}
+ resolution:
+ {
+ integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
postcss@8.5.1:
- resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
- engines: {node: ^10 || ^12 || >=14}
+ resolution:
+ {
+ integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==,
+ }
+ engines: { node: ">= 0.8.0" }
+
+ prettier@3.4.2:
+ resolution:
+ {
+ integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==,
+ }
+ engines: { node: ">=14" }
+ hasBin: true
prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ resolution:
+ {
+ integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==,
+ }
proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+ resolution:
+ {
+ integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==,
+ }
psl@1.9.0:
- resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
+ resolution:
+ {
+ integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==,
+ }
punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==,
+ }
+ engines: { node: ">=6" }
qs@6.5.3:
- resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
- engines: {node: '>=0.6'}
+ resolution:
+ {
+ integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==,
+ }
+ engines: { node: ">=0.6" }
queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ resolution:
+ {
+ integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==,
+ }
react-dom@18.3.1:
- resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
+ resolution:
+ {
+ integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==,
+ }
peerDependencies:
react: ^18.3.1
react-fast-compare@3.2.2:
- resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
+ resolution:
+ {
+ integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==,
+ }
react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ resolution:
+ {
+ integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==,
+ }
react-player@2.16.0:
- resolution: {integrity: sha512-mAIPHfioD7yxO0GNYVFD1303QFtI3lyyQZLY229UEAp/a10cSW+hPcakg0Keq8uWJxT2OiT/4Gt+Lc9bD6bJmQ==}
+ resolution:
+ {
+ integrity: sha512-mAIPHfioD7yxO0GNYVFD1303QFtI3lyyQZLY229UEAp/a10cSW+hPcakg0Keq8uWJxT2OiT/4Gt+Lc9bD6bJmQ==,
+ }
peerDependencies:
- react: '>=16.6.0'
+ react: ">=16.6.0"
react@18.3.1:
- resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==,
+ }
+ engines: { node: ">=0.10.0" }
read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ resolution:
+ {
+ integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==,
+ }
readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
+ resolution:
+ {
+ integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==,
+ }
+ engines: { node: ">=8.10.0" }
reflect.getprototypeof@1.0.6:
- resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==,
+ }
+ engines: { node: ">= 0.4" }
regexp.prototype.flags@1.5.2:
- resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==,
+ }
+ engines: { node: ">= 0.4" }
request@2.88.2:
- resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==,
+ }
+ engines: { node: ">= 6" }
deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==,
+ }
+ engines: { node: ">=4" }
resolve-pkg-maps@1.0.0:
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ resolution:
+ {
+ integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==,
+ }
resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ resolution:
+ {
+ integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==,
+ }
hasBin: true
resolve@2.0.0-next.5:
- resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ resolution:
+ {
+ integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==,
+ }
hasBin: true
reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==,
+ }
+ engines: { iojs: ">=1.0.0", node: ">=0.10.0" }
rewire@7.0.0:
- resolution: {integrity: sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==}
+ resolution:
+ {
+ integrity: sha512-DyyNyzwMtGYgu0Zl/ya0PR/oaunM+VuCuBxCuhYJHHaV0V+YvYa3bBGxb5OZ71vndgmp1pYY8F4YOwQo1siRGw==,
+ }
rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ resolution:
+ {
+ integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==,
+ }
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ resolution:
+ {
+ integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==,
+ }
safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
- engines: {node: '>=0.4'}
+ resolution:
+ {
+ integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==,
+ }
+ engines: { node: ">=0.4" }
safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ resolution:
+ {
+ integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==,
+ }
safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==,
+ }
+ engines: { node: ">= 0.4" }
safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ resolution:
+ {
+ integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==,
+ }
scheduler@0.23.2:
- resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+ resolution:
+ {
+ integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==,
+ }
semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ resolution:
+ {
+ integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==,
+ }
hasBin: true
semver@7.6.3:
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==,
+ }
+ engines: { node: ">=10" }
hasBin: true
set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==,
+ }
+ engines: { node: ">= 0.4" }
set-function-name@2.0.2:
- resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==,
+ }
+ engines: { node: ">= 0.4" }
sharp@0.33.5:
- resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
- engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ resolution:
+ {
+ integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==,
+ }
+ engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
+ }
+ engines: { node: ">=8" }
shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
+ }
+ engines: { node: ">=8" }
side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==,
+ }
+ engines: { node: ">= 0.4" }
signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==,
+ }
+ engines: { node: ">=14" }
simple-swizzle@0.2.2:
- resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+ resolution:
+ {
+ integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==,
+ }
slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==,
+ }
+ engines: { node: ">=8" }
source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==,
+ }
+ engines: { node: ">=0.10.0" }
source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==,
+ }
+ engines: { node: ">=0.10.0" }
sshpk@1.18.0:
- resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==,
+ }
+ engines: { node: ">=0.10.0" }
hasBin: true
stop-iteration-iterator@1.0.0:
- resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==,
+ }
+ engines: { node: ">= 0.4" }
streamsearch@1.1.0:
- resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
- engines: {node: '>=10.0.0'}
+ resolution:
+ {
+ integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==,
+ }
+ engines: { node: ">=10.0.0" }
string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
+ }
+ engines: { node: ">=8" }
string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==,
+ }
+ engines: { node: ">=12" }
string.prototype.includes@2.0.0:
- resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==}
+ resolution:
+ {
+ integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==,
+ }
string.prototype.matchall@4.0.11:
- resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==,
+ }
+ engines: { node: ">= 0.4" }
string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==,
+ }
+ engines: { node: ">= 0.4" }
string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+ resolution:
+ {
+ integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==,
+ }
string.prototype.trimstart@1.0.8:
- resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==,
+ }
+ engines: { node: ">= 0.4" }
strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==,
+ }
+ engines: { node: ">=8" }
strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==,
+ }
+ engines: { node: ">=12" }
strip-bom@3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==,
+ }
+ engines: { node: ">=4" }
strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==,
+ }
+ engines: { node: ">=8" }
styled-jsx@5.1.6:
- resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
- engines: {node: '>= 12.0.0'}
+ resolution:
+ {
+ integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==,
+ }
+ engines: { node: ">= 12.0.0" }
peerDependencies:
- '@babel/core': '*'
- babel-plugin-macros: '*'
- react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
+ "@babel/core": "*"
+ babel-plugin-macros: "*"
+ react: ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0"
peerDependenciesMeta:
- '@babel/core':
+ "@babel/core":
optional: true
babel-plugin-macros:
optional: true
sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
+ resolution:
+ {
+ integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==,
+ }
+ engines: { node: ">=16 || 14 >=14.17" }
hasBin: true
supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==,
+ }
+ engines: { node: ">=8" }
supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==,
+ }
+ engines: { node: ">= 0.4" }
tailwindcss@3.4.17:
- resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==,
+ }
+ engines: { node: ">=14.0.0" }
hasBin: true
tapable@2.2.1:
- resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==,
+ }
+ engines: { node: ">=6" }
text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ resolution:
+ {
+ integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==,
+ }
thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
+ resolution:
+ {
+ integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==,
+ }
+ engines: { node: ">=0.8" }
thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ resolution:
+ {
+ integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==,
+ }
to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ resolution:
+ {
+ integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==,
+ }
+ engines: { node: ">=8.0" }
tough-cookie@2.5.0:
- resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
- engines: {node: '>=0.8'}
+ resolution:
+ {
+ integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==,
+ }
+ engines: { node: ">=0.8" }
tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ resolution:
+ {
+ integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==,
+ }
ts-api-utils@1.3.0:
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
- engines: {node: '>=16'}
+ resolution:
+ {
+ integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==,
+ }
+ engines: { node: ">=16" }
peerDependencies:
- typescript: '>=4.2.0'
+ typescript: ">=4.2.0"
ts-api-utils@2.0.0:
- resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==}
- engines: {node: '>=18.12'}
+ resolution:
+ {
+ integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==,
+ }
+ engines: { node: ">=18.12" }
peerDependencies:
- typescript: '>=4.8.4'
+ typescript: ">=4.8.4"
ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ resolution:
+ {
+ integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==,
+ }
tsconfig-paths@3.15.0:
- resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ resolution:
+ {
+ integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==,
+ }
tslib@2.6.3:
- resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
+ resolution:
+ {
+ integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==,
+ }
tslib@2.8.1:
- resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+ resolution:
+ {
+ integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==,
+ }
tunnel-agent@0.6.0:
- resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+ resolution:
+ {
+ integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==,
+ }
tweetnacl@0.14.5:
- resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
+ resolution:
+ {
+ integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==,
+ }
type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==,
+ }
+ engines: { node: ">= 0.8.0" }
type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==,
+ }
+ engines: { node: ">=10" }
typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==,
+ }
+ engines: { node: ">= 0.4" }
typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==,
+ }
+ engines: { node: ">= 0.4" }
typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==,
+ }
+ engines: { node: ">= 0.4" }
typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==,
+ }
+ engines: { node: ">= 0.4" }
typescript@5.7.3:
- resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
- engines: {node: '>=14.17'}
+ resolution:
+ {
+ integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==,
+ }
+ engines: { node: ">=14.17" }
hasBin: true
unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ resolution:
+ {
+ integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==,
+ }
undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ resolution:
+ {
+ integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==,
+ }
uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ resolution:
+ {
+ integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==,
+ }
util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ resolution:
+ {
+ integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==,
+ }
uuid@3.4.0:
- resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
+ resolution:
+ {
+ integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==,
+ }
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
hasBin: true
verror@1.10.0:
- resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
- engines: {'0': node >=0.6.0}
+ resolution:
+ {
+ integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==,
+ }
+ engines: { "0": node >=0.6.0 }
webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ resolution:
+ {
+ integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==,
+ }
whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ resolution:
+ {
+ integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==,
+ }
which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ resolution:
+ {
+ integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==,
+ }
which-builtin-type@1.1.3:
- resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==,
+ }
+ engines: { node: ">= 0.4" }
which-collection@1.0.2:
- resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==,
+ }
+ engines: { node: ">= 0.4" }
which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==,
+ }
+ engines: { node: ">= 0.4" }
which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
+ }
+ engines: { node: ">= 8" }
hasBin: true
word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==,
+ }
+ engines: { node: ">=0.10.0" }
wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==,
+ }
+ engines: { node: ">=10" }
wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==,
+ }
+ engines: { node: ">=12" }
wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ resolution:
+ {
+ integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==,
+ }
yaml@2.4.5:
- resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==}
- engines: {node: '>= 14'}
+ resolution:
+ {
+ integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==,
+ }
+ engines: { node: ">= 14" }
hasBin: true
yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==,
+ }
+ engines: { node: ">=10" }
snapshots:
+ "@alloc/quick-lru@5.2.0": {}
- '@alloc/quick-lru@5.2.0': {}
-
- '@emnapi/runtime@1.3.1':
+ "@emnapi/runtime@1.3.1":
dependencies:
tslib: 2.6.3
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)':
+ "@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)":
dependencies:
eslint: 8.57.1
eslint-visitor-keys: 3.4.3
- '@eslint-community/regexpp@4.11.0': {}
+ "@eslint-community/regexpp@4.11.0": {}
- '@eslint/eslintrc@2.1.4':
+ "@eslint/eslintrc@2.1.4":
dependencies:
ajv: 6.12.6
debug: 4.3.5
@@ -1997,9 +3391,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@8.57.1': {}
+ "@eslint/js@8.57.1": {}
- '@getbrevo/brevo@2.2.0':
+ "@getbrevo/brevo@2.2.0":
dependencies:
bluebird: 3.7.2
request: 2.88.2
@@ -2007,94 +3401,94 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@humanwhocodes/config-array@0.13.0':
+ "@humanwhocodes/config-array@0.13.0":
dependencies:
- '@humanwhocodes/object-schema': 2.0.3
+ "@humanwhocodes/object-schema": 2.0.3
debug: 4.3.5
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- '@humanwhocodes/module-importer@1.0.1': {}
+ "@humanwhocodes/module-importer@1.0.1": {}
- '@humanwhocodes/object-schema@2.0.3': {}
+ "@humanwhocodes/object-schema@2.0.3": {}
- '@img/sharp-darwin-arm64@0.33.5':
+ "@img/sharp-darwin-arm64@0.33.5":
optionalDependencies:
- '@img/sharp-libvips-darwin-arm64': 1.0.4
+ "@img/sharp-libvips-darwin-arm64": 1.0.4
optional: true
- '@img/sharp-darwin-x64@0.33.5':
+ "@img/sharp-darwin-x64@0.33.5":
optionalDependencies:
- '@img/sharp-libvips-darwin-x64': 1.0.4
+ "@img/sharp-libvips-darwin-x64": 1.0.4
optional: true
- '@img/sharp-libvips-darwin-arm64@1.0.4':
+ "@img/sharp-libvips-darwin-arm64@1.0.4":
optional: true
- '@img/sharp-libvips-darwin-x64@1.0.4':
+ "@img/sharp-libvips-darwin-x64@1.0.4":
optional: true
- '@img/sharp-libvips-linux-arm64@1.0.4':
+ "@img/sharp-libvips-linux-arm64@1.0.4":
optional: true
- '@img/sharp-libvips-linux-arm@1.0.5':
+ "@img/sharp-libvips-linux-arm@1.0.5":
optional: true
- '@img/sharp-libvips-linux-s390x@1.0.4':
+ "@img/sharp-libvips-linux-s390x@1.0.4":
optional: true
- '@img/sharp-libvips-linux-x64@1.0.4':
+ "@img/sharp-libvips-linux-x64@1.0.4":
optional: true
- '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ "@img/sharp-libvips-linuxmusl-arm64@1.0.4":
optional: true
- '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ "@img/sharp-libvips-linuxmusl-x64@1.0.4":
optional: true
- '@img/sharp-linux-arm64@0.33.5':
+ "@img/sharp-linux-arm64@0.33.5":
optionalDependencies:
- '@img/sharp-libvips-linux-arm64': 1.0.4
+ "@img/sharp-libvips-linux-arm64": 1.0.4
optional: true
- '@img/sharp-linux-arm@0.33.5':
+ "@img/sharp-linux-arm@0.33.5":
optionalDependencies:
- '@img/sharp-libvips-linux-arm': 1.0.5
+ "@img/sharp-libvips-linux-arm": 1.0.5
optional: true
- '@img/sharp-linux-s390x@0.33.5':
+ "@img/sharp-linux-s390x@0.33.5":
optionalDependencies:
- '@img/sharp-libvips-linux-s390x': 1.0.4
+ "@img/sharp-libvips-linux-s390x": 1.0.4
optional: true
- '@img/sharp-linux-x64@0.33.5':
+ "@img/sharp-linux-x64@0.33.5":
optionalDependencies:
- '@img/sharp-libvips-linux-x64': 1.0.4
+ "@img/sharp-libvips-linux-x64": 1.0.4
optional: true
- '@img/sharp-linuxmusl-arm64@0.33.5':
+ "@img/sharp-linuxmusl-arm64@0.33.5":
optionalDependencies:
- '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ "@img/sharp-libvips-linuxmusl-arm64": 1.0.4
optional: true
- '@img/sharp-linuxmusl-x64@0.33.5':
+ "@img/sharp-linuxmusl-x64@0.33.5":
optionalDependencies:
- '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ "@img/sharp-libvips-linuxmusl-x64": 1.0.4
optional: true
- '@img/sharp-wasm32@0.33.5':
+ "@img/sharp-wasm32@0.33.5":
dependencies:
- '@emnapi/runtime': 1.3.1
+ "@emnapi/runtime": 1.3.1
optional: true
- '@img/sharp-win32-ia32@0.33.5':
+ "@img/sharp-win32-ia32@0.33.5":
optional: true
- '@img/sharp-win32-x64@0.33.5':
+ "@img/sharp-win32-x64@0.33.5":
optional: true
- '@isaacs/cliui@8.0.2':
+ "@isaacs/cliui@8.0.2":
dependencies:
string-width: 5.1.2
string-width-cjs: string-width@4.2.3
@@ -2103,117 +3497,117 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
- '@jridgewell/gen-mapping@0.3.5':
+ "@jridgewell/gen-mapping@0.3.5":
dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
+ "@jridgewell/set-array": 1.2.1
+ "@jridgewell/sourcemap-codec": 1.5.0
+ "@jridgewell/trace-mapping": 0.3.25
- '@jridgewell/resolve-uri@3.1.2': {}
+ "@jridgewell/resolve-uri@3.1.2": {}
- '@jridgewell/set-array@1.2.1': {}
+ "@jridgewell/set-array@1.2.1": {}
- '@jridgewell/sourcemap-codec@1.5.0': {}
+ "@jridgewell/sourcemap-codec@1.5.0": {}
- '@jridgewell/trace-mapping@0.3.25':
+ "@jridgewell/trace-mapping@0.3.25":
dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
+ "@jridgewell/resolve-uri": 3.1.2
+ "@jridgewell/sourcemap-codec": 1.5.0
- '@netlify/plugin-nextjs@5.9.3': {}
+ "@netlify/plugin-nextjs@5.9.3": {}
- '@next/env@15.1.5': {}
+ "@next/env@15.1.5": {}
- '@next/eslint-plugin-next@14.2.23':
+ "@next/eslint-plugin-next@14.2.23":
dependencies:
glob: 10.3.10
- '@next/swc-darwin-arm64@15.1.5':
+ "@next/swc-darwin-arm64@15.1.5":
optional: true
- '@next/swc-darwin-x64@15.1.5':
+ "@next/swc-darwin-x64@15.1.5":
optional: true
- '@next/swc-linux-arm64-gnu@15.1.5':
+ "@next/swc-linux-arm64-gnu@15.1.5":
optional: true
- '@next/swc-linux-arm64-musl@15.1.5':
+ "@next/swc-linux-arm64-musl@15.1.5":
optional: true
- '@next/swc-linux-x64-gnu@15.1.5':
+ "@next/swc-linux-x64-gnu@15.1.5":
optional: true
- '@next/swc-linux-x64-musl@15.1.5':
+ "@next/swc-linux-x64-musl@15.1.5":
optional: true
- '@next/swc-win32-arm64-msvc@15.1.5':
+ "@next/swc-win32-arm64-msvc@15.1.5":
optional: true
- '@next/swc-win32-x64-msvc@15.1.5':
+ "@next/swc-win32-x64-msvc@15.1.5":
optional: true
- '@nodelib/fs.scandir@2.1.5':
+ "@nodelib/fs.scandir@2.1.5":
dependencies:
- '@nodelib/fs.stat': 2.0.5
+ "@nodelib/fs.stat": 2.0.5
run-parallel: 1.2.0
- '@nodelib/fs.stat@2.0.5': {}
+ "@nodelib/fs.stat@2.0.5": {}
- '@nodelib/fs.walk@1.2.8':
+ "@nodelib/fs.walk@1.2.8":
dependencies:
- '@nodelib/fs.scandir': 2.1.5
+ "@nodelib/fs.scandir": 2.1.5
fastq: 1.17.1
- '@notionhq/client@2.2.15':
+ "@notionhq/client@2.2.15":
dependencies:
- '@types/node-fetch': 2.6.11
+ "@types/node-fetch": 2.6.11
node-fetch: 2.7.0
transitivePeerDependencies:
- encoding
- '@pkgjs/parseargs@0.11.0':
+ "@pkgjs/parseargs@0.11.0":
optional: true
- '@rushstack/eslint-patch@1.10.3': {}
+ "@rushstack/eslint-patch@1.10.3": {}
- '@swc/counter@0.1.3': {}
+ "@swc/counter@0.1.3": {}
- '@swc/helpers@0.5.15':
+ "@swc/helpers@0.5.15":
dependencies:
tslib: 2.8.1
- '@types/json5@0.0.29': {}
+ "@types/json5@0.0.29": {}
- '@types/luxon@3.4.2': {}
+ "@types/luxon@3.4.2": {}
- '@types/node-fetch@2.6.11':
+ "@types/node-fetch@2.6.11":
dependencies:
- '@types/node': 20.17.14
+ "@types/node": 20.17.14
form-data: 4.0.0
- '@types/node@20.17.14':
+ "@types/node@20.17.14":
dependencies:
undici-types: 6.19.8
- '@types/prop-types@15.7.12': {}
+ "@types/prop-types@15.7.12": {}
- '@types/react-dom@18.3.5(@types/react@18.3.18)':
+ "@types/react-dom@18.3.5(@types/react@18.3.18)":
dependencies:
- '@types/react': 18.3.18
+ "@types/react": 18.3.18
- '@types/react@18.3.18':
+ "@types/react@18.3.18":
dependencies:
- '@types/prop-types': 15.7.12
+ "@types/prop-types": 15.7.12
csstype: 3.1.3
- '@typescript-eslint/eslint-plugin@8.21.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)':
+ "@typescript-eslint/eslint-plugin@8.21.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)":
dependencies:
- '@eslint-community/regexpp': 4.11.0
- '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.7.3)
- '@typescript-eslint/scope-manager': 8.21.0
- '@typescript-eslint/type-utils': 8.21.0(eslint@8.57.1)(typescript@5.7.3)
- '@typescript-eslint/utils': 8.21.0(eslint@8.57.1)(typescript@5.7.3)
- '@typescript-eslint/visitor-keys': 8.21.0
+ "@eslint-community/regexpp": 4.11.0
+ "@typescript-eslint/parser": 7.2.0(eslint@8.57.1)(typescript@5.7.3)
+ "@typescript-eslint/scope-manager": 8.21.0
+ "@typescript-eslint/type-utils": 8.21.0(eslint@8.57.1)(typescript@5.7.3)
+ "@typescript-eslint/utils": 8.21.0(eslint@8.57.1)(typescript@5.7.3)
+ "@typescript-eslint/visitor-keys": 8.21.0
eslint: 8.57.1
graphemer: 1.4.0
ignore: 5.3.1
@@ -2223,12 +3617,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.7.3)':
+ "@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.7.3)":
dependencies:
- '@typescript-eslint/scope-manager': 7.2.0
- '@typescript-eslint/types': 7.2.0
- '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.7.3)
- '@typescript-eslint/visitor-keys': 7.2.0
+ "@typescript-eslint/scope-manager": 7.2.0
+ "@typescript-eslint/types": 7.2.0
+ "@typescript-eslint/typescript-estree": 7.2.0(typescript@5.7.3)
+ "@typescript-eslint/visitor-keys": 7.2.0
debug: 4.3.5
eslint: 8.57.1
optionalDependencies:
@@ -2236,20 +3630,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@7.2.0':
+ "@typescript-eslint/scope-manager@7.2.0":
dependencies:
- '@typescript-eslint/types': 7.2.0
- '@typescript-eslint/visitor-keys': 7.2.0
+ "@typescript-eslint/types": 7.2.0
+ "@typescript-eslint/visitor-keys": 7.2.0
- '@typescript-eslint/scope-manager@8.21.0':
+ "@typescript-eslint/scope-manager@8.21.0":
dependencies:
- '@typescript-eslint/types': 8.21.0
- '@typescript-eslint/visitor-keys': 8.21.0
+ "@typescript-eslint/types": 8.21.0
+ "@typescript-eslint/visitor-keys": 8.21.0
- '@typescript-eslint/type-utils@8.21.0(eslint@8.57.1)(typescript@5.7.3)':
+ "@typescript-eslint/type-utils@8.21.0(eslint@8.57.1)(typescript@5.7.3)":
dependencies:
- '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
- '@typescript-eslint/utils': 8.21.0(eslint@8.57.1)(typescript@5.7.3)
+ "@typescript-eslint/typescript-estree": 8.21.0(typescript@5.7.3)
+ "@typescript-eslint/utils": 8.21.0(eslint@8.57.1)(typescript@5.7.3)
debug: 4.3.5
eslint: 8.57.1
ts-api-utils: 2.0.0(typescript@5.7.3)
@@ -2257,14 +3651,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@7.2.0': {}
+ "@typescript-eslint/types@7.2.0": {}
- '@typescript-eslint/types@8.21.0': {}
+ "@typescript-eslint/types@8.21.0": {}
- '@typescript-eslint/typescript-estree@7.2.0(typescript@5.7.3)':
+ "@typescript-eslint/typescript-estree@7.2.0(typescript@5.7.3)":
dependencies:
- '@typescript-eslint/types': 7.2.0
- '@typescript-eslint/visitor-keys': 7.2.0
+ "@typescript-eslint/types": 7.2.0
+ "@typescript-eslint/visitor-keys": 7.2.0
debug: 4.3.5
globby: 11.1.0
is-glob: 4.0.3
@@ -2276,10 +3670,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@8.21.0(typescript@5.7.3)':
+ "@typescript-eslint/typescript-estree@8.21.0(typescript@5.7.3)":
dependencies:
- '@typescript-eslint/types': 8.21.0
- '@typescript-eslint/visitor-keys': 8.21.0
+ "@typescript-eslint/types": 8.21.0
+ "@typescript-eslint/visitor-keys": 8.21.0
debug: 4.3.5
fast-glob: 3.3.2
is-glob: 4.0.3
@@ -2290,28 +3684,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.21.0(eslint@8.57.1)(typescript@5.7.3)':
+ "@typescript-eslint/utils@8.21.0(eslint@8.57.1)(typescript@5.7.3)":
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
- '@typescript-eslint/scope-manager': 8.21.0
- '@typescript-eslint/types': 8.21.0
- '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
+ "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.1)
+ "@typescript-eslint/scope-manager": 8.21.0
+ "@typescript-eslint/types": 8.21.0
+ "@typescript-eslint/typescript-estree": 8.21.0(typescript@5.7.3)
eslint: 8.57.1
typescript: 5.7.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@7.2.0':
+ "@typescript-eslint/visitor-keys@7.2.0":
dependencies:
- '@typescript-eslint/types': 7.2.0
+ "@typescript-eslint/types": 7.2.0
eslint-visitor-keys: 3.4.3
- '@typescript-eslint/visitor-keys@8.21.0':
+ "@typescript-eslint/visitor-keys@8.21.0":
dependencies:
- '@typescript-eslint/types': 8.21.0
+ "@typescript-eslint/types": 8.21.0
eslint-visitor-keys: 4.2.0
- '@ungap/structured-clone@1.2.0': {}
+ "@ungap/structured-clone@1.2.0": {}
acorn-jsx@5.3.2(acorn@8.12.1):
dependencies:
@@ -2773,10 +4167,10 @@ snapshots:
eslint-config-next@14.2.23(eslint@8.57.1)(typescript@5.7.3):
dependencies:
- '@next/eslint-plugin-next': 14.2.23
- '@rushstack/eslint-patch': 1.10.3
- '@typescript-eslint/eslint-plugin': 8.21.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)
- '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.7.3)
+ "@next/eslint-plugin-next": 14.2.23
+ "@rushstack/eslint-patch": 1.10.3
+ "@typescript-eslint/eslint-plugin": 8.21.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)
+ "@typescript-eslint/parser": 7.2.0(eslint@8.57.1)(typescript@5.7.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.1)
@@ -2810,7 +4204,7 @@ snapshots:
is-core-module: 2.14.0
is-glob: 4.0.3
transitivePeerDependencies:
- - '@typescript-eslint/parser'
+ - "@typescript-eslint/parser"
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
@@ -2819,7 +4213,7 @@ snapshots:
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.7.3)
+ "@typescript-eslint/parser": 7.2.0(eslint@8.57.1)(typescript@5.7.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.1)
@@ -2847,7 +4241,7 @@ snapshots:
semver: 6.3.1
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.7.3)
+ "@typescript-eslint/parser": 7.2.0(eslint@8.57.1)(typescript@5.7.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -2910,14 +4304,14 @@ snapshots:
eslint@8.57.1:
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
- '@eslint-community/regexpp': 4.11.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.57.1
- '@humanwhocodes/config-array': 0.13.0
- '@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
+ "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.1)
+ "@eslint-community/regexpp": 4.11.0
+ "@eslint/eslintrc": 2.1.4
+ "@eslint/js": 8.57.1
+ "@humanwhocodes/config-array": 0.13.0
+ "@humanwhocodes/module-importer": 1.0.1
+ "@nodelib/fs.walk": 1.2.8
+ "@ungap/structured-clone": 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
@@ -2977,8 +4371,8 @@ snapshots:
fast-glob@3.3.2:
dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
+ "@nodelib/fs.stat": 2.0.5
+ "@nodelib/fs.walk": 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.7
@@ -3314,15 +4708,15 @@ snapshots:
jackspeak@2.3.6:
dependencies:
- '@isaacs/cliui': 8.0.2
+ "@isaacs/cliui": 8.0.2
optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
+ "@pkgjs/parseargs": 0.11.0
jackspeak@3.4.3:
dependencies:
- '@isaacs/cliui': 8.0.2
+ "@isaacs/cliui": 8.0.2
optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
+ "@pkgjs/parseargs": 0.11.0
jiti@1.21.6: {}
@@ -3451,9 +4845,9 @@ snapshots:
next@15.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@next/env': 15.1.5
- '@swc/counter': 0.1.3
- '@swc/helpers': 0.5.15
+ "@next/env": 15.1.5
+ "@swc/counter": 0.1.3
+ "@swc/helpers": 0.5.15
busboy: 1.6.0
caniuse-lite: 1.0.30001641
postcss: 8.4.31
@@ -3461,17 +4855,17 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
styled-jsx: 5.1.6(react@18.3.1)
optionalDependencies:
- '@next/swc-darwin-arm64': 15.1.5
- '@next/swc-darwin-x64': 15.1.5
- '@next/swc-linux-arm64-gnu': 15.1.5
- '@next/swc-linux-arm64-musl': 15.1.5
- '@next/swc-linux-x64-gnu': 15.1.5
- '@next/swc-linux-x64-musl': 15.1.5
- '@next/swc-win32-arm64-msvc': 15.1.5
- '@next/swc-win32-x64-msvc': 15.1.5
+ "@next/swc-darwin-arm64": 15.1.5
+ "@next/swc-darwin-x64": 15.1.5
+ "@next/swc-linux-arm64-gnu": 15.1.5
+ "@next/swc-linux-arm64-musl": 15.1.5
+ "@next/swc-linux-x64-gnu": 15.1.5
+ "@next/swc-linux-x64-musl": 15.1.5
+ "@next/swc-win32-arm64-msvc": 15.1.5
+ "@next/swc-win32-x64-msvc": 15.1.5
sharp: 0.33.5
transitivePeerDependencies:
- - '@babel/core'
+ - "@babel/core"
- babel-plugin-macros
node-fetch@2.7.0:
@@ -3634,6 +5028,8 @@ snapshots:
prelude-ls@1.2.1: {}
+ prettier@3.4.2: {}
+
prop-types@15.8.1:
dependencies:
loose-envify: 1.4.0
@@ -3800,25 +5196,25 @@ snapshots:
detect-libc: 2.0.3
semver: 7.6.3
optionalDependencies:
- '@img/sharp-darwin-arm64': 0.33.5
- '@img/sharp-darwin-x64': 0.33.5
- '@img/sharp-libvips-darwin-arm64': 1.0.4
- '@img/sharp-libvips-darwin-x64': 1.0.4
- '@img/sharp-libvips-linux-arm': 1.0.5
- '@img/sharp-libvips-linux-arm64': 1.0.4
- '@img/sharp-libvips-linux-s390x': 1.0.4
- '@img/sharp-libvips-linux-x64': 1.0.4
- '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
- '@img/sharp-libvips-linuxmusl-x64': 1.0.4
- '@img/sharp-linux-arm': 0.33.5
- '@img/sharp-linux-arm64': 0.33.5
- '@img/sharp-linux-s390x': 0.33.5
- '@img/sharp-linux-x64': 0.33.5
- '@img/sharp-linuxmusl-arm64': 0.33.5
- '@img/sharp-linuxmusl-x64': 0.33.5
- '@img/sharp-wasm32': 0.33.5
- '@img/sharp-win32-ia32': 0.33.5
- '@img/sharp-win32-x64': 0.33.5
+ "@img/sharp-darwin-arm64": 0.33.5
+ "@img/sharp-darwin-x64": 0.33.5
+ "@img/sharp-libvips-darwin-arm64": 1.0.4
+ "@img/sharp-libvips-darwin-x64": 1.0.4
+ "@img/sharp-libvips-linux-arm": 1.0.5
+ "@img/sharp-libvips-linux-arm64": 1.0.4
+ "@img/sharp-libvips-linux-s390x": 1.0.4
+ "@img/sharp-libvips-linux-x64": 1.0.4
+ "@img/sharp-libvips-linuxmusl-arm64": 1.0.4
+ "@img/sharp-libvips-linuxmusl-x64": 1.0.4
+ "@img/sharp-linux-arm": 0.33.5
+ "@img/sharp-linux-arm64": 0.33.5
+ "@img/sharp-linux-s390x": 0.33.5
+ "@img/sharp-linux-x64": 0.33.5
+ "@img/sharp-linuxmusl-arm64": 0.33.5
+ "@img/sharp-linuxmusl-x64": 0.33.5
+ "@img/sharp-wasm32": 0.33.5
+ "@img/sharp-win32-ia32": 0.33.5
+ "@img/sharp-win32-x64": 0.33.5
optional: true
shebang-command@2.0.0:
@@ -3935,7 +5331,7 @@ snapshots:
sucrase@3.35.0:
dependencies:
- '@jridgewell/gen-mapping': 0.3.5
+ "@jridgewell/gen-mapping": 0.3.5
commander: 4.1.1
glob: 10.4.5
lines-and-columns: 1.2.4
@@ -3951,7 +5347,7 @@ snapshots:
tailwindcss@3.4.17:
dependencies:
- '@alloc/quick-lru': 5.2.0
+ "@alloc/quick-lru": 5.2.0
arg: 5.0.2
chokidar: 3.6.0
didyoumean: 1.2.2
@@ -4011,7 +5407,7 @@ snapshots:
tsconfig-paths@3.15.0:
dependencies:
- '@types/json5': 0.0.29
+ "@types/json5": 0.0.29
json5: 1.0.2
minimist: 1.2.8
strip-bom: 3.0.0
diff --git a/postcss.config.mjs b/postcss.config.mjs
index 1a69fd2..0dc456a 100644
--- a/postcss.config.mjs
+++ b/postcss.config.mjs
@@ -3,6 +3,6 @@ const config = {
plugins: {
tailwindcss: {},
},
-};
+}
-export default config;
+export default config
diff --git a/public/site.webmanifest b/public/site.webmanifest
index ccf313a..981d97f 100644
--- a/public/site.webmanifest
+++ b/public/site.webmanifest
@@ -18,4 +18,4 @@
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
-}
\ No newline at end of file
+}
diff --git a/src/apiClient/BrevoApiclient.ts b/src/apiClient/BrevoApiclient.ts
index 3124f13..b872f2a 100644
--- a/src/apiClient/BrevoApiclient.ts
+++ b/src/apiClient/BrevoApiclient.ts
@@ -1,25 +1,23 @@
-import brevo, { ContactsApiApiKeys } from '@getbrevo/brevo'
-
-
-const BrevoApiClient = () =>{
-
- const addASubscriber = (email : string) =>{
- if(!process.env.BREVO_STANDARD_CONTACT_LIST || !process.env.BREVO_API_KEY) return
-
- const apiClient = new brevo.ContactsApi();
- apiClient.setApiKey(ContactsApiApiKeys.apiKey,process.env.BREVO_API_KEY)
- apiClient.addContactToList(parseInt(process.env.BREVO_STANDARD_CONTACT_LIST), {
- emails: [email]
- })
-
- }
-
-
- return {
- addASubscriber
- }
-
+import brevo, { ContactsApiApiKeys } from "@getbrevo/brevo"
+
+const BrevoApiClient = () => {
+ const addASubscriber = (email: string) => {
+ if (!process.env.BREVO_STANDARD_CONTACT_LIST || !process.env.BREVO_API_KEY)
+ return
+
+ const apiClient = new brevo.ContactsApi()
+ apiClient.setApiKey(ContactsApiApiKeys.apiKey, process.env.BREVO_API_KEY)
+ apiClient.addContactToList(
+ parseInt(process.env.BREVO_STANDARD_CONTACT_LIST),
+ {
+ emails: [email],
+ },
+ )
+ }
+
+ return {
+ addASubscriber,
+ }
}
-
-export default BrevoApiClient
\ No newline at end of file
+export default BrevoApiClient
diff --git a/src/app/about-us/page.tsx b/src/app/about-us/page.tsx
index abef26c..6baa6ad 100644
--- a/src/app/about-us/page.tsx
+++ b/src/app/about-us/page.tsx
@@ -1,5 +1,3 @@
-
-
export default function Page() {
- return
Hello, Next.js!
- }
\ No newline at end of file
+ return Hello, Next.js!
+}
diff --git a/src/app/aiuta-la-community/page.tsx b/src/app/aiuta-la-community/page.tsx
index 05fb165..90d7040 100644
--- a/src/app/aiuta-la-community/page.tsx
+++ b/src/app/aiuta-la-community/page.tsx
@@ -1,16 +1,163 @@
import type { Metadata } from "next"
-export const metadata: Metadata = { title: "Aiuta la community | Coding Bunker", description: "Valori, ruoli e attività con cui contribuire a Coding Bunker." }
+export const metadata: Metadata = {
+ title: "Aiuta la community | Coding Bunker",
+ description: "Valori, ruoli e attività con cui contribuire a Coding Bunker.",
+}
const roles = [
- ["Programmazione", "Aiuta a leggere le proposte, proporre temi e costruire il calendario degli incontri."],
- ["Speaker care", "Accompagna chi porta un talk: dal primo contatto alle prove, fino al palco."],
- ["Accoglienza", "Rendi ogni serata semplice da vivere: check-in, orientamento, domande e networking."],
- ["Community e comunicazione", "Racconta gli eventi, coinvolgi nuove persone e mantieni vive le conversazioni tra un meetup e l’altro."],
- ["Location e partner", "Aiuta a trovare spazi ospitali e collaborazioni coerenti con i valori della community."],
- ["Open source e attività pratiche", "Proponi hackathon, Open Source Hours, workshop e momenti in cui imparare facendo."],
+ [
+ "Programmazione",
+ "Aiuta a leggere le proposte, proporre temi e costruire il calendario degli incontri.",
+ ],
+ [
+ "Speaker care",
+ "Accompagna chi porta un talk: dal primo contatto alle prove, fino al palco.",
+ ],
+ [
+ "Accoglienza",
+ "Rendi ogni serata semplice da vivere: check-in, orientamento, domande e networking.",
+ ],
+ [
+ "Community e comunicazione",
+ "Racconta gli eventi, coinvolgi nuove persone e mantieni vive le conversazioni tra un meetup e l’altro.",
+ ],
+ [
+ "Location e partner",
+ "Aiuta a trovare spazi ospitali e collaborazioni coerenti con i valori della community.",
+ ],
+ [
+ "Open source e attività pratiche",
+ "Proponi hackathon, Open Source Hours, workshop e momenti in cui imparare facendo.",
+ ],
]
export default function HelpCommunityPage() {
- return Partecipa dietro le quinte
Vorrei aiutare la community. Coding Bunker vive grazie a persone che credono nella condivisione libera delle competenze e scelgono di trasformare una buona idea in un’esperienza utile per altre persone.
I nostri valori
Cosa proteggiamo, ogni volta che organizziamo. Accessibilità Eventi gratuiti, linguaggio chiaro e spazio per chi è all’inizio come per chi ha più esperienza.
Generosità Condividere ciò che sappiamo, inclusi errori, dubbi e pratiche che possono essere utili a qualcun altro.
Qualità Contenuti concreti, rispetto del tempo delle persone e cura per chi prende parte all’evento.
Collaborazione Costruire ponti tra persone, community, aziende e spazi: non competere per l’attenzione.
Come lavoriamo
Un incontro organizzativo ogni due settimane. Lo staff si incontra ogni due settimane per decidere priorità, rivedere le proposte di speaking, costruire attività, preparare la comunicazione e verificare che ogni evento rispecchi i valori della community.
Non serve fare tutto: basta scegliere un pezzetto di lavoro e portarlo avanti con continuità, insieme agli altri.
Dove puoi contribuire
Ruoli aperti, responsabilità condivise. {roles.map(([title, description], index) => {String(index + 1).padStart(2, "0")} {title} {description}
)}Il prossimo passo
Hai un’ora, un’idea o uno spazio da mettere a disposizione? Raccontaci cosa ti piacerebbe fare. Ti aiuteremo a trovare un modo concreto per iniziare, senza promesse vaghe e senza dover già sapere tutto.
Vorrei aiutare
+ return (
+
+
+ Partecipa dietro le quinte
+ Vorrei aiutare la community.
+
+ Coding Bunker vive grazie a persone che credono nella condivisione
+ libera delle competenze e scelgono di trasformare una buona idea in
+ un’esperienza utile per altre persone.
+
+
+
+
+
+
+
I nostri valori
+
+ Cosa proteggiamo, ogni volta che organizziamo.
+
+
+
+
+ Accessibilità
+
+ Eventi gratuiti, linguaggio chiaro e spazio per chi è all’inizio
+ come per chi ha più esperienza.
+
+
+
+ Generosità
+
+ Condividere ciò che sappiamo, inclusi errori, dubbi e pratiche che
+ possono essere utili a qualcun altro.
+
+
+
+ Qualità
+
+ Contenuti concreti, rispetto del tempo delle persone e cura per chi
+ prende parte all’evento.
+
+
+
+ Collaborazione
+
+ Costruire ponti tra persone, community, aziende e spazi: non
+ competere per l’attenzione.
+
+
+
+
+
+
Come lavoriamo
+
Un incontro organizzativo ogni due settimane.
+
+
+
+ Lo staff si incontra ogni due settimane per decidere priorità,
+ rivedere le proposte di speaking, costruire attività, preparare la
+ comunicazione e verificare che ogni evento rispecchi i valori della
+ community.
+
+
+ Non serve fare tutto: basta scegliere un pezzetto di lavoro e
+ portarlo avanti con continuità, insieme agli altri.
+
+
+
+
+
+
+
Dove puoi contribuire
+
Ruoli aperti, responsabilità condivise.
+
+
+ {roles.map(([title, description], index) => (
+
+ {String(index + 1).padStart(2, "0")}
+ {title}
+ {description}
+
+ ))}
+
+
+
+
Il prossimo passo
+
Hai un’ora, un’idea o uno spazio da mettere a disposizione?
+
+
+
+ Raccontaci cosa ti piacerebbe fare. Ti aiuteremo a trovare un modo
+ concreto per iniziare, senza promesse vaghe e senza dover già sapere
+ tutto.
+
+
+ Vorrei aiutare
+
+
+
+
+ )
}
diff --git a/src/app/code-of-conduct/en/page.tsx b/src/app/code-of-conduct/en/page.tsx
index dc57300..9ab0916 100644
--- a/src/app/code-of-conduct/en/page.tsx
+++ b/src/app/code-of-conduct/en/page.tsx
@@ -1,15 +1,91 @@
import type { Metadata } from "next"
import Link from "next/link"
-export const metadata: Metadata = { title: "Code of Conduct | Coding Bunker", description: "Coding Bunker community Code of Conduct." }
+export const metadata: Metadata = {
+ title: "Code of Conduct | Coding Bunker",
+ description: "Coding Bunker community Code of Conduct.",
+}
export default function EnglishCodeOfConductPage() {
- return
- Community policy · Version 1.0
Code of Conduct Coding Bunker is an open, collaborative and safe space to learn, share knowledge and discuss software.
Last updated: 18 October 2026 · Versione italiana
- Our commitment This Code applies to Coding Bunker meetups, workshops, Telegram channels and all official online and offline interactions between attendees, speakers, partners and organisers. We welcome people of every experience level and background.
- Expected behaviour Respectful, constructive technical discussion and active listening. Generous sharing of knowledge and experience. Clear, respectful feedback, including when people disagree. Welcoming newcomers and respecting different experience levels.
- Unacceptable behaviour Harassment, intimidation, discrimination, personal attacks or threats. Sexist, racist or demeaning comments and unwanted physical contact. Spam, scams, unapproved promotion or sharing personal information without consent. Intentional, repeated disruption of events or conversations.
- Reporting a concern At an event, speak to an identifiable organiser. Afterwards, email info@codingbunker.it . We handle reports as confidentially as possible, but cannot promise absolute anonymity if action is needed to keep people safe.
If someone is in immediate danger, contact venue staff or emergency services first.
- Enforcement Organisers take reports seriously and may issue a verbal warning, ask for conduct to stop, remove someone from an event or official channel, or exclude them from future events. Any action will be proportionate to the conduct and the safety of the people involved.
-
+ return (
+
+
+ Community policy · Version 1.0
+ Code of Conduct
+
+ Coding Bunker is an open, collaborative and safe space to learn, share
+ knowledge and discuss software.
+
+
+ Last updated: 18 October 2026 ·{" "}
+
+ Versione italiana
+
+
+
+
+ Our commitment
+
+ This Code applies to Coding Bunker meetups, workshops, Telegram
+ channels and all official online and offline interactions between
+ attendees, speakers, partners and organisers. We welcome people of
+ every experience level and background.
+
+
+
+ Expected behaviour
+
+
+ Respectful, constructive technical discussion and active listening.
+
+ Generous sharing of knowledge and experience.
+ Clear, respectful feedback, including when people disagree.
+
+ Welcoming newcomers and respecting different experience levels.
+
+
+
+
+ Unacceptable behaviour
+
+
+ Harassment, intimidation, discrimination, personal attacks or
+ threats.
+
+
+ Sexist, racist or demeaning comments and unwanted physical contact.
+
+
+ Spam, scams, unapproved promotion or sharing personal information
+ without consent.
+
+ Intentional, repeated disruption of events or conversations.
+
+
+
+ Reporting a concern
+
+ At an event, speak to an identifiable organiser. Afterwards, email{" "}
+
+ info@codingbunker.it
+
+ . We handle reports as confidentially as possible, but cannot promise
+ absolute anonymity if action is needed to keep people safe.
+
+
+ If someone is in immediate danger, contact venue staff or emergency
+ services first.
+
+
+
+ Enforcement
+
+ Organisers take reports seriously and may issue a verbal warning, ask
+ for conduct to stop, remove someone from an event or official channel,
+ or exclude them from future events. Any action will be proportionate
+ to the conduct and the safety of the people involved.
+
+
+
+ )
}
diff --git a/src/app/code-of-conduct/page.tsx b/src/app/code-of-conduct/page.tsx
index 4046ff1..be83a21 100644
--- a/src/app/code-of-conduct/page.tsx
+++ b/src/app/code-of-conduct/page.tsx
@@ -1,15 +1,105 @@
import type { Metadata } from "next"
import Link from "next/link"
-export const metadata: Metadata = { title: "Code of Conduct | Coding Bunker", description: "Il Code of Conduct della community Coding Bunker." }
+export const metadata: Metadata = {
+ title: "Code of Conduct | Coding Bunker",
+ description: "Il Code of Conduct della community Coding Bunker.",
+}
export default function CodeOfConductPage() {
- return
- Community policy · Versione 1.0
Code of Conduct Coding Bunker vuole essere uno spazio aperto, collaborativo e sicuro per imparare, condividere conoscenza e confrontarsi sul software.
Ultimo aggiornamento: 18 ottobre 2026 · English version
- Il nostro impegno Ci impegniamo a costruire una community accogliente per persone di ogni livello di esperienza e background. Questo Code of Conduct si applica ai meetup, workshop, canali Telegram e a tutte le interazioni online e offline riconducibili a Coding Bunker, incluse quelle tra partecipanti, speaker, partner e organizzatori.
- Comportamenti che incoraggiamo Rispetto reciproco, ascolto attivo e discussioni tecniche costruttive. Condivisione generosa di esperienze e conoscenze. Feedback chiari e rispettosi, anche nel disaccordo. Accoglienza di chi partecipa per la prima volta e rispetto per livelli di esperienza diversi.
- Comportamenti non accettati Molestie, intimidazioni, discriminazioni o commenti sessisti, razzisti e denigratori. Offese personali, attacchi mirati, minacce o contatti fisici indesiderati. Spam, truffe e promozioni non autorizzate. Condivisione di informazioni personali senza consenso. Interruzioni intenzionali e ripetute degli eventi o delle conversazioni.
- Come segnalare un problema Durante un evento, puoi parlare direttamente con un organizzatore riconoscibile. Per una segnalazione successiva, scrivi a info@codingbunker.it . Tratteremo le segnalazioni con riservatezza per quanto possibile; non possiamo però promettere l’anonimato assoluto quando è necessario intervenire per proteggere le persone coinvolte.
Se ritieni che qualcuno sia in pericolo immediato, rivolgiti prima al personale della sede o ai servizi di emergenza.
- Come interveniamo Gli organizzatori prendono seriamente le segnalazioni e valutano interventi proporzionati alla gravità e alla sicurezza delle persone coinvolte: richiamo verbale, richiesta di interrompere il comportamento, allontanamento da un evento, rimozione dai canali ufficiali o esclusione da eventi futuri nei casi più gravi.
Le decisioni vengono prese dagli organizzatori designati in modo coerente e con attenzione al contesto. Questa policy si ispira alle buone pratiche delle community open source, adattate agli incontri tecnici in presenza.
-
+ return (
+
+
+ Community policy · Versione 1.0
+ Code of Conduct
+
+ Coding Bunker vuole essere uno spazio aperto, collaborativo e sicuro
+ per imparare, condividere conoscenza e confrontarsi sul software.
+
+
+ Ultimo aggiornamento: 18 ottobre 2026 ·{" "}
+
+ English version
+
+
+
+
+ Il nostro impegno
+
+ Ci impegniamo a costruire una community accogliente per persone di
+ ogni livello di esperienza e background. Questo Code of Conduct si
+ applica ai meetup, workshop, canali Telegram e a tutte le interazioni
+ online e offline riconducibili a Coding Bunker, incluse quelle tra
+ partecipanti, speaker, partner e organizzatori.
+
+
+
+ Comportamenti che incoraggiamo
+
+
+ Rispetto reciproco, ascolto attivo e discussioni tecniche
+ costruttive.
+
+ Condivisione generosa di esperienze e conoscenze.
+ Feedback chiari e rispettosi, anche nel disaccordo.
+
+ Accoglienza di chi partecipa per la prima volta e rispetto per
+ livelli di esperienza diversi.
+
+
+
+
+ Comportamenti non accettati
+
+
+ Molestie, intimidazioni, discriminazioni o commenti sessisti,
+ razzisti e denigratori.
+
+
+ Offese personali, attacchi mirati, minacce o contatti fisici
+ indesiderati.
+
+ Spam, truffe e promozioni non autorizzate.
+ Condivisione di informazioni personali senza consenso.
+
+ Interruzioni intenzionali e ripetute degli eventi o delle
+ conversazioni.
+
+
+
+
+ Come segnalare un problema
+
+ Durante un evento, puoi parlare direttamente con un organizzatore
+ riconoscibile. Per una segnalazione successiva, scrivi a{" "}
+
+ info@codingbunker.it
+
+ . Tratteremo le segnalazioni con riservatezza per quanto possibile;
+ non possiamo però promettere l’anonimato assoluto quando è necessario
+ intervenire per proteggere le persone coinvolte.
+
+
+ Se ritieni che qualcuno sia in pericolo immediato, rivolgiti prima al
+ personale della sede o ai servizi di emergenza.
+
+
+
+ Come interveniamo
+
+ Gli organizzatori prendono seriamente le segnalazioni e valutano
+ interventi proporzionati alla gravità e alla sicurezza delle persone
+ coinvolte: richiamo verbale, richiesta di interrompere il
+ comportamento, allontanamento da un evento, rimozione dai canali
+ ufficiali o esclusione da eventi futuri nei casi più gravi.
+
+
+ Le decisioni vengono prese dagli organizzatori designati in modo
+ coerente e con attenzione al contesto. Questa policy si ispira alle
+ buone pratiche delle community open source, adattate agli incontri
+ tecnici in presenza.
+
+
+
+ )
}
diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx
index 5c223a8..c689cbb 100644
--- a/src/app/contact/page.tsx
+++ b/src/app/contact/page.tsx
@@ -3,19 +3,101 @@ import Link from "next/link"
export const metadata: Metadata = {
title: "Get involved",
- description: "Find out how to join an event, submit a talk, offer a venue or contact Coding Bunker.",
+ description:
+ "Find out how to join an event, submit a talk, offer a venue or contact Coding Bunker.",
alternates: { canonical: "/contact", languages: { it: "/contatti" } },
}
export default function ContactPage() {
- return
- Get involved
A good meetup starts before the evening. Whether you want to join, share something you learned or help create the right space, choose the path that fits you best.
-
- 01
Join a meetup Follow the calendar and find the next free Coding Bunker event in Milan.
See events ↗
- 02
Submit a talk Share a practical experience by proposing a talk for a Coding Bunker meetup.
Submit a proposal ↗
- 03
Offer a venue Have a space for a community evening? Tell us about it through the partnership form.
Offer a venue ↗
- 04
Contact the team For press, collaborations or questions not covered by the other paths.
Email the team ↗
-
- An open community
You do not need a perfect profile. Coding Bunker events are free and leave room for questions, different experiences and useful conversations.
Read the Code of Conduct
→
-
+ return (
+
+
+ Get involved
+ A good meetup starts before the evening.
+
+ Whether you want to join, share something you learned or help create
+ the right space, choose the path that fits you best.
+
+
+
+
+ 01
+ Join a meetup
+
+ Follow the calendar and find the next free Coding Bunker event in
+ Milan.
+
+
+ See events ↗
+
+
+
+ 02
+ Submit a talk
+
+ Share a practical experience by proposing a talk for a Coding Bunker
+ meetup.
+
+
+ Submit a proposal ↗
+
+
+
+ 03
+ Offer a venue
+
+ Have a space for a community evening? Tell us about it through the
+ partnership form.
+
+
+ Offer a venue ↗
+
+
+
+ 04
+ Contact the team
+
+ For press, collaborations or questions not covered by the other
+ paths.
+
+
+ Email the team ↗
+
+
+
+
+
+
An open community
+
You do not need a perfect profile.
+
+
+
+ Coding Bunker events are free and leave room for questions,
+ different experiences and useful conversations.
+
+
+ Read the Code of Conduct
→
+
+
+
+
+ )
}
diff --git a/src/app/contatti/page.tsx b/src/app/contatti/page.tsx
index 2cd5e7e..4c33c32 100644
--- a/src/app/contatti/page.tsx
+++ b/src/app/contatti/page.tsx
@@ -3,20 +3,82 @@ import Link from "next/link"
export const metadata: Metadata = {
title: "Contatti e partecipa",
- description: "Scopri come partecipare agli eventi, proporre un talk, offrire una location o collaborare con Coding Bunker.",
+ description:
+ "Scopri come partecipare agli eventi, proporre un talk, offrire una location o collaborare con Coding Bunker.",
}
const paths = [
- ["Partecipa a un meetup", "Segui il calendario e trova il prossimo incontro gratuito a Milano.", "https://www.meetup.com/it-IT/coding-bunker/", "Vedi gli eventi ↗"],
- ["Proponi un talk", "Condividi un’esperienza concreta proponendo un talk per un meetup Coding Bunker.", "https://sessionize.com/codingbunker/", "Invia una proposta ↗"],
- ["Offri una location", "Hai uno spazio adatto a una serata community? Raccontacelo nel form partnership.", "https://forms.gle/FPca5upst1VTGFP86", "Proponi una location ↗"],
- ["Scrivi allo staff", "Per stampa, collaborazioni o domande non incluse negli altri percorsi.", "mailto:info@codingbunker.it", "Contatta lo staff ↗"],
+ [
+ "Partecipa a un meetup",
+ "Segui il calendario e trova il prossimo incontro gratuito a Milano.",
+ "https://www.meetup.com/it-IT/coding-bunker/",
+ "Vedi gli eventi ↗",
+ ],
+ [
+ "Proponi un talk",
+ "Condividi un’esperienza concreta proponendo un talk per un meetup Coding Bunker.",
+ "https://sessionize.com/codingbunker/",
+ "Invia una proposta ↗",
+ ],
+ [
+ "Offri una location",
+ "Hai uno spazio adatto a una serata community? Raccontacelo nel form partnership.",
+ "https://forms.gle/FPca5upst1VTGFP86",
+ "Proponi una location ↗",
+ ],
+ [
+ "Scrivi allo staff",
+ "Per stampa, collaborazioni o domande non incluse negli altri percorsi.",
+ "mailto:info@codingbunker.it",
+ "Contatta lo staff ↗",
+ ],
]
export default function ContactPage() {
- return
- Partecipa
Un buon meetup comincia prima della serata. Che tu voglia partecipare, condividere qualcosa che hai imparato o aiutare a creare lo spazio giusto, qui trovi il percorso più semplice.
- {paths.map(([title, description, href, label], index) => {String(index + 1).padStart(2, "0")}
{title} {description}
{label} )}
- Una community aperta
Non serve avere il profilo perfetto. Gli eventi Coding Bunker sono gratuiti e progettati per lasciare spazio a domande, esperienze diverse e conversazioni utili.
Leggi il Code of Conduct
→
-
+ return (
+
+
+ Partecipa
+ Un buon meetup comincia prima della serata.
+
+ Che tu voglia partecipare, condividere qualcosa che hai imparato o
+ aiutare a creare lo spazio giusto, qui trovi il percorso più semplice.
+
+
+
+ {paths.map(([title, description, href, label], index) => (
+
+
+ {String(index + 1).padStart(2, "0")}
+
+ {title}
+ {description}
+
+ {label}
+
+
+ ))}
+
+
+
+
Una community aperta
+
Non serve avere il profilo perfetto.
+
+
+
+ Gli eventi Coding Bunker sono gratuiti e progettati per lasciare
+ spazio a domande, esperienze diverse e conversazioni utili.
+
+
+ Leggi il Code of Conduct
→
+
+
+
+
+ )
}
diff --git a/src/app/en/page.tsx b/src/app/en/page.tsx
index fc9b6b6..22d50d9 100644
--- a/src/app/en/page.tsx
+++ b/src/app/en/page.tsx
@@ -6,17 +6,103 @@ import HeroCodeMotifs from "@/components/HeroCodeMotifs"
export const metadata: Metadata = {
title: "Coding Bunker | Tech community in Milan",
- description: "An independent tech community in Milan for people who build software, share experience and learn together.",
+ description:
+ "An independent tech community in Milan for people who build software, share experience and learn together.",
alternates: { canonical: "/en", languages: { it: "/" } },
- openGraph: { title: "Coding Bunker | Tech community in Milan", description: "Meetups, talks and practical conversations for people who build software.", locale: "en_GB", url: "https://www.codingbunker.it/en" },
+ openGraph: {
+ title: "Coding Bunker | Tech community in Milan",
+ description:
+ "Meetups, talks and practical conversations for people who build software.",
+ locale: "en_GB",
+ url: "https://www.codingbunker.it/en",
+ },
}
export default function EnglishHome() {
- return
-
- Independent tech community · Milan
Where people who build software meet. Free meetups, real-world experience and technical conversations for people who want to build better software, together.
-
-
- Get involved
Have a story, a space or an idea? Join the community, propose a talk through Sessionize, the platform we use to collect proposals, or explore how to partner with Coding Bunker.
-
+ return (
+
+
+
+
Independent tech community · Milan
+
Where people who build software meet.
+
+ Free meetups, real-world experience and technical conversations for
+ people who want to build better software, together.
+
+
+
+
+
+
+
+
+
+
+ Get involved
+ Have a story, a space or an idea?
+
+ Join the community, propose a talk through Sessionize, the platform we
+ use to collect proposals, or explore how to partner with Coding
+ Bunker.
+
+
+
+
+ )
}
diff --git a/src/app/events/page.tsx b/src/app/events/page.tsx
index eb717d2..42274cd 100644
--- a/src/app/events/page.tsx
+++ b/src/app/events/page.tsx
@@ -1,14 +1,70 @@
import type { Metadata } from "next"
import MeetupEventCard from "@/components/MeetupEventCard"
-import { fetchMeetupEvents, meetupEventsUrl, splitMeetupEvents } from "@/lib/meetup"
+import {
+ fetchMeetupEvents,
+ meetupEventsUrl,
+ splitMeetupEvents,
+} from "@/lib/meetup"
-export const metadata: Metadata = { title: "Eventi | Coding Bunker", description: "Prossimi meetup e archivio degli eventi Coding Bunker a Milano." }
+export const metadata: Metadata = {
+ title: "Eventi | Coding Bunker",
+ description:
+ "Prossimi meetup e archivio degli eventi Coding Bunker a Milano.",
+}
export default async function EventsPage() {
const { upcoming, past } = splitMeetupEvents(await fetchMeetupEvents())
- return <>
- Eventi Coding Bunker
Incontri per chi costruisce software. Le date e le iscrizioni arrivano direttamente dalla pagina ufficiale di Coding Bunker su Meetup.
- {upcoming.length ? {upcoming.map((event) => )}
: Non ci sono ancora eventi in calendario. Segui il gruppo Meetup per essere avvisatə.
}
-
Eventi passati {past.length ? {past.map((event) => )}
: L’archivio sarà disponibile qui appena Meetup lo rende pubblico.
}
- >
+ return (
+ <>
+
+ Eventi Coding Bunker
+ Incontri per chi costruisce software.
+
+ Le date e le iscrizioni arrivano direttamente dalla pagina ufficiale
+ di Coding Bunker su Meetup.
+
+
+
+
+ {upcoming.length ? (
+
+ {upcoming.map((event) => (
+
+ ))}
+
+ ) : (
+
+ Non ci sono ancora eventi in calendario. Segui il gruppo Meetup per
+ essere avvisatə.
+
+ )}
+
+
+
+
Eventi passati
+
+ {past.length ? (
+
+ {past.map((event) => (
+
+ ))}
+
+ ) : (
+
+ L’archivio sarà disponibile qui appena Meetup lo rende pubblico.
+
+ )}
+
+ >
+ )
}
diff --git a/src/app/globals.css b/src/app/globals.css
index e7ce7da..24af3a0 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -1,4 +1,677 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
-:root{--ink:#211239;--paper:#fcfbff;--purple:#a576ff;--purple-dark:#7347c5;--lavender:#f0eaff;--line:#e3daf7;--muted:#655d75}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit}.shell{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:10;background:rgba(252,251,255,.86);backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(227,218,247,.8)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center}.brand img{width:54px;height:35px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:20px;font-size:.91rem;font-weight:750}.nav nav a{text-decoration:none}.nav nav a:hover,.text-link:hover{color:var(--purple-dark)}.main-content{padding:72px 0 104px}.hero{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(36px,7vw,92px);align-items:center;min-height:480px}.eyebrow{margin:0 0 12px;color:var(--purple-dark);font-size:.74rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:760px;font-size:clamp(3rem,6.2vw,5.5rem);line-height:.95;letter-spacing:-.065em}h2{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1;letter-spacing:-.045em}.hero-lede{max-width:580px;color:var(--muted);font-size:clamp(1.12rem,1.8vw,1.35rem);line-height:1.45}.hero-actions,.involvement-links{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 18px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;border:1px solid var(--ink);border-radius:999px;font-weight:800;text-decoration:none;transition:transform 160ms ease,background 160ms ease,color 160ms ease,box-shadow 160ms ease}.button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(64,30,124,.13)}.button:active{transform:scale(.97)}.button-primary{background:var(--purple);border-color:var(--purple);color:var(--ink)}.button-primary:hover{background:var(--purple-dark);border-color:var(--purple-dark);color:#fff}.button-secondary{background:rgba(255,255,255,.55)}.button-secondary:hover{background:var(--lavender)}.hero-note{max-width:520px;color:var(--muted);font-size:.91rem}.hero-image-wrap{border-radius:30px;overflow:hidden;box-shadow:14px 16px 0 var(--lavender)}.hero-image{display:block;width:100%;height:auto;transition:transform .45s ease}.hero-image-wrap:hover .hero-image{transform:scale(1.025)}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:54px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:20px}.proof-strip>div{padding:20px 24px;background:rgba(255,255,255,.65)}.proof-strip strong,.proof-strip span{display:block}.proof-strip strong{font-size:1.75rem;letter-spacing:-.06em}.proof-strip span{color:var(--muted);font-size:.82rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-heading h2{margin:0}.text-link{display:inline-block;color:var(--ink);font-weight:800;text-underline-offset:5px}.event-card{display:flex;gap:18px;height:100%;padding:24px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:20px;transition:transform .18s ease,box-shadow .18s ease}.event-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(34,21,78,.09)}.event-card-featured{padding:30px;background:var(--ink);color:#fff;border-color:var(--ink)}.event-card-date{flex:0 0 58px;height:58px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:13px;background:var(--lavender);color:var(--purple-dark);font-weight:900;line-height:1.05}.event-card-date span:last-child{font-size:.78rem;margin-top:4px}.event-card-content{min-width:0;flex:1}.event-card .eyebrow{margin-bottom:5px;font-size:.68rem}.event-card h3{margin-bottom:6px;font-size:1.25rem;line-height:1.2;letter-spacing:-.025em}.event-location,.event-description{color:var(--muted);font-size:.91rem}.event-card-featured .event-location,.event-card-featured .event-description{color:#d9d2ed}.event-description{margin-bottom:18px}.event-link{font-weight:800;text-underline-offset:4px}.event-card-featured .event-link{color:#d8caff}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.empty-state{padding:34px;background:var(--lavender);border-radius:20px}.empty-state p{font-size:1.2rem;font-weight:700}.muted{color:var(--muted)}.story-section,.contribution-section,.speaker-section,.partners-section,.current-partner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,80px);align-items:start}.story-copy,.contribution-section>div:last-child,.speaker-section>div:last-child,.partners-section>div:first-child{font-size:1.08rem;color:#484057}.story-highlight{padding:18px 20px;margin-bottom:0;border-left:3px solid var(--purple);background:var(--lavender);border-radius:0 14px 14px 0;color:var(--ink);font-weight:650}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reason-grid article{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}.reason-grid span{color:var(--purple-dark);font-weight:850}.reason-grid h3{margin:28px 0 10px;font-size:1.3rem}.reason-grid p{margin-bottom:0;color:var(--muted)}.score-section{max-width:800px;padding:60px;margin-top:104px;background:var(--ink);border-radius:30px;color:#fff}.score-section .eyebrow{color:#d9caff}.score-section h2{max-width:600px}.score-section>p:not(.eyebrow){max-width:680px;color:#ddd4ed;font-size:1.08rem}.format-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.format-points span{padding:7px 12px;border:1px solid #67557f;border-radius:999px;font-size:.86rem;font-weight:700}.topic-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,6vw,76px);align-items:start}.topic-section>div>p:last-child{color:var(--muted);font-size:1.05rem}.topic-vote{padding:28px;background:var(--lavender);border-radius:24px}.topic-vote fieldset{border:0;padding:0;margin:0}.topic-vote legend{margin-bottom:16px;font-weight:850}.topic-options{display:flex;flex-wrap:wrap;gap:9px}.topic-option input{position:absolute;opacity:0}.topic-option span{display:block;padding:9px 13px;border:1px solid #cbbcef;border-radius:999px;background:#fff;font-size:.91rem;font-weight:700;cursor:pointer;transition:background .16s ease,transform .16s ease}.topic-option input:focus-visible+span{outline:3px solid var(--purple);outline-offset:2px}.topic-option input:checked+span{background:var(--purple);border-color:var(--purple-dark);color:var(--ink);transform:translateY(-1px)}.topic-vote-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.topic-vote small{max-width:245px;color:var(--muted)}.partner-card{display:flex;align-items:center;justify-content:center;min-height:195px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:24px}.partner-card img{width:auto;height:auto;max-height:120px;object-fit:contain}.legacy-partners{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.site-footer{padding:36px 0;background:var(--ink);color:#fff}.footer-content{display:flex;justify-content:space-between;gap:32px}.footer-brand{margin-bottom:4px;font-size:1.3rem;font-weight:800}.footer-content p:last-child{margin-bottom:0;color:#cfc5e7}.footer-links{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:end;gap:16px 22px;font-size:.9rem}.footer-links a{color:#fff}.policy{max-width:760px}.policy-header{margin-bottom:58px}.policy-header h1{margin-bottom:20px}.policy-summary{color:var(--muted);font-size:1.2rem}.policy section{padding:28px 0;border-top:1px solid var(--line)}.policy h2{font-size:1.7rem;letter-spacing:-.035em}.policy li{margin:8px 0}.policy-note{padding:20px;background:var(--lavender);border-radius:16px}.back-to-top,.telegram-fab{position:fixed;z-index:20;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;font:inherit;font-size:.85rem;font-weight:800;box-shadow:0 12px 28px rgba(30,16,57,.18);text-decoration:none}.back-to-top{top:88px;left:20px;padding:10px 13px;background:rgba(252,251,255,.92);color:var(--ink);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.back-to-top:hover,.telegram-fab:hover{transform:translateY(-2px)}.telegram-fab{right:20px;bottom:24px;padding:13px 16px;background:var(--purple);color:var(--ink);transition:transform .18s ease}.page-intro{max-width:730px}.page-intro h1{font-size:clamp(3rem,6vw,4.8rem);margin-bottom:20px}.page-intro>p:last-child{color:var(--muted);font-size:1.2rem}@media(max-width:760px){.shell{width:min(100% - 32px,1120px)}.nav{min-height:64px}.nav nav{gap:14px;font-size:.83rem}.nav nav a:nth-child(2),.nav nav a:nth-child(3){display:none}.main-content{padding:44px 0 78px}.hero,.story-section,.contribution-section,.speaker-section,.partners-section,.current-partner,.topic-section{grid-template-columns:1fr}.hero{min-height:0}.hero-image-wrap{order:-1;max-width:520px}.proof-strip{grid-template-columns:1fr}.event-grid,.reason-grid{grid-template-columns:1fr}.score-section{margin-top:72px;padding:34px 24px}.topic-vote-footer{align-items:flex-start;flex-direction:column}.legacy-partners{grid-template-columns:1fr}.footer-content{flex-direction:column}.footer-links{justify-content:start}.section-heading{align-items:start;flex-direction:column;gap:12px}.back-to-top{top:auto;bottom:82px;left:16px}.back-to-top span{display:none}.telegram-fab{right:16px;bottom:16px;padding:12px 14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
+:root {
+ --ink: #211239;
+ --paper: #fcfbff;
+ --purple: #a576ff;
+ --purple-dark: #7347c5;
+ --lavender: #f0eaff;
+ --line: #e3daf7;
+ --muted: #655d75;
+}
+* {
+ box-sizing: border-box;
+}
+html {
+ scroll-behavior: smooth;
+}
+body {
+ margin: 0;
+ background: var(--paper);
+ color: var(--ink);
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 16px;
+ line-height: 1.5;
+}
+a {
+ color: inherit;
+}
+.shell {
+ width: min(1120px, calc(100% - 40px));
+ margin: 0 auto;
+}
+.site-header {
+ position: sticky;
+ top: 0;
+ z-index: 10;
+ background: rgba(252, 251, 255, 0.86);
+ backdrop-filter: blur(20px) saturate(160%);
+ border-bottom: 1px solid rgba(227, 218, 247, 0.8);
+}
+.nav {
+ min-height: 72px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 24px;
+}
+.brand {
+ display: inline-flex;
+ align-items: center;
+}
+.brand img {
+ width: 54px;
+ height: 35px;
+ object-fit: contain;
+}
+.nav nav {
+ display: flex;
+ align-items: center;
+ gap: 20px;
+ font-size: 0.91rem;
+ font-weight: 750;
+}
+.nav nav a {
+ text-decoration: none;
+}
+.nav nav a:hover,
+.text-link:hover {
+ color: var(--purple-dark);
+}
+.main-content {
+ padding: 72px 0 104px;
+}
+.hero {
+ display: grid;
+ grid-template-columns: 1.12fr 0.88fr;
+ gap: clamp(36px, 7vw, 92px);
+ align-items: center;
+ min-height: 480px;
+}
+.eyebrow {
+ margin: 0 0 12px;
+ color: var(--purple-dark);
+ font-size: 0.74rem;
+ font-weight: 850;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+}
+h1,
+h2,
+h3,
+p {
+ margin-top: 0;
+}
+h1 {
+ max-width: 760px;
+ font-size: clamp(3rem, 6.2vw, 5.5rem);
+ line-height: 0.95;
+ letter-spacing: -0.065em;
+}
+h2 {
+ font-size: clamp(2rem, 3.4vw, 3.1rem);
+ line-height: 1;
+ letter-spacing: -0.045em;
+}
+.hero-lede {
+ max-width: 580px;
+ color: var(--muted);
+ font-size: clamp(1.12rem, 1.8vw, 1.35rem);
+ line-height: 1.45;
+}
+.hero-actions,
+.involvement-links {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 12px;
+ margin: 30px 0 18px;
+}
+.button {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 48px;
+ padding: 11px 18px;
+ border: 1px solid var(--ink);
+ border-radius: 999px;
+ font-weight: 800;
+ text-decoration: none;
+ transition:
+ transform 160ms ease,
+ background 160ms ease,
+ color 160ms ease,
+ box-shadow 160ms ease;
+}
+.button:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 8px 18px rgba(64, 30, 124, 0.13);
+}
+.button:active {
+ transform: scale(0.97);
+}
+.button-primary {
+ background: var(--purple);
+ border-color: var(--purple);
+ color: var(--ink);
+}
+.button-primary:hover {
+ background: var(--purple-dark);
+ border-color: var(--purple-dark);
+ color: #fff;
+}
+.button-secondary {
+ background: rgba(255, 255, 255, 0.55);
+}
+.button-secondary:hover {
+ background: var(--lavender);
+}
+.hero-note {
+ max-width: 520px;
+ color: var(--muted);
+ font-size: 0.91rem;
+}
+.hero-image-wrap {
+ border-radius: 30px;
+ overflow: hidden;
+ box-shadow: 14px 16px 0 var(--lavender);
+}
+.hero-image {
+ display: block;
+ width: 100%;
+ height: auto;
+ transition: transform 0.45s ease;
+}
+.hero-image-wrap:hover .hero-image {
+ transform: scale(1.025);
+}
+.proof-strip {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 1px;
+ margin-top: 54px;
+ overflow: hidden;
+ background: var(--line);
+ border: 1px solid var(--line);
+ border-radius: 20px;
+}
+.proof-strip > div {
+ padding: 20px 24px;
+ background: rgba(255, 255, 255, 0.65);
+}
+.proof-strip strong,
+.proof-strip span {
+ display: block;
+}
+.proof-strip strong {
+ font-size: 1.75rem;
+ letter-spacing: -0.06em;
+}
+.proof-strip span {
+ color: var(--muted);
+ font-size: 0.82rem;
+}
+.section-heading {
+ display: flex;
+ justify-content: space-between;
+ align-items: end;
+ gap: 24px;
+ margin-bottom: 28px;
+}
+.section-heading h2 {
+ margin: 0;
+}
+.text-link {
+ display: inline-block;
+ color: var(--ink);
+ font-weight: 800;
+ text-underline-offset: 5px;
+}
+.event-card {
+ display: flex;
+ gap: 18px;
+ height: 100%;
+ padding: 24px;
+ background: rgba(255, 255, 255, 0.78);
+ border: 1px solid var(--line);
+ border-radius: 20px;
+ transition:
+ transform 0.18s ease,
+ box-shadow 0.18s ease;
+}
+.event-card:hover {
+ transform: translateY(-4px);
+ box-shadow: 0 15px 32px rgba(34, 21, 78, 0.09);
+}
+.event-card-featured {
+ padding: 30px;
+ background: var(--ink);
+ color: #fff;
+ border-color: var(--ink);
+}
+.event-card-date {
+ flex: 0 0 58px;
+ height: 58px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ border-radius: 13px;
+ background: var(--lavender);
+ color: var(--purple-dark);
+ font-weight: 900;
+ line-height: 1.05;
+}
+.event-card-date span:last-child {
+ font-size: 0.78rem;
+ margin-top: 4px;
+}
+.event-card-content {
+ min-width: 0;
+ flex: 1;
+}
+.event-card .eyebrow {
+ margin-bottom: 5px;
+ font-size: 0.68rem;
+}
+.event-card h3 {
+ margin-bottom: 6px;
+ font-size: 1.25rem;
+ line-height: 1.2;
+ letter-spacing: -0.025em;
+}
+.event-location,
+.event-description {
+ color: var(--muted);
+ font-size: 0.91rem;
+}
+.event-card-featured .event-location,
+.event-card-featured .event-description {
+ color: #d9d2ed;
+}
+.event-description {
+ margin-bottom: 18px;
+}
+.event-link {
+ font-weight: 800;
+ text-underline-offset: 4px;
+}
+.event-card-featured .event-link {
+ color: #d8caff;
+}
+.event-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 16px;
+}
+.empty-state {
+ padding: 34px;
+ background: var(--lavender);
+ border-radius: 20px;
+}
+.empty-state p {
+ font-size: 1.2rem;
+ font-weight: 700;
+}
+.muted {
+ color: var(--muted);
+}
+.story-section,
+.contribution-section,
+.speaker-section,
+.partners-section,
+.current-partner {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: clamp(28px, 6vw, 80px);
+ align-items: start;
+}
+.story-copy,
+.contribution-section > div:last-child,
+.speaker-section > div:last-child,
+.partners-section > div:first-child {
+ font-size: 1.08rem;
+ color: #484057;
+}
+.story-highlight {
+ padding: 18px 20px;
+ margin-bottom: 0;
+ border-left: 3px solid var(--purple);
+ background: var(--lavender);
+ border-radius: 0 14px 14px 0;
+ color: var(--ink);
+ font-weight: 650;
+}
+.reason-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 16px;
+}
+.reason-grid article {
+ padding: 28px;
+ border: 1px solid var(--line);
+ border-radius: 20px;
+ background: #fff;
+}
+.reason-grid span {
+ color: var(--purple-dark);
+ font-weight: 850;
+}
+.reason-grid h3 {
+ margin: 28px 0 10px;
+ font-size: 1.3rem;
+}
+.reason-grid p {
+ margin-bottom: 0;
+ color: var(--muted);
+}
+.score-section {
+ max-width: 800px;
+ padding: 60px;
+ margin-top: 104px;
+ background: var(--ink);
+ border-radius: 30px;
+ color: #fff;
+}
+.score-section .eyebrow {
+ color: #d9caff;
+}
+.score-section h2 {
+ max-width: 600px;
+}
+.score-section > p:not(.eyebrow) {
+ max-width: 680px;
+ color: #ddd4ed;
+ font-size: 1.08rem;
+}
+.format-points {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+ margin-top: 24px;
+}
+.format-points span {
+ padding: 7px 12px;
+ border: 1px solid #67557f;
+ border-radius: 999px;
+ font-size: 0.86rem;
+ font-weight: 700;
+}
+.topic-section {
+ display: grid;
+ grid-template-columns: 0.8fr 1.2fr;
+ gap: clamp(24px, 6vw, 76px);
+ align-items: start;
+}
+.topic-section > div > p:last-child {
+ color: var(--muted);
+ font-size: 1.05rem;
+}
+.topic-vote {
+ padding: 28px;
+ background: var(--lavender);
+ border-radius: 24px;
+}
+.topic-vote fieldset {
+ border: 0;
+ padding: 0;
+ margin: 0;
+}
+.topic-vote legend {
+ margin-bottom: 16px;
+ font-weight: 850;
+}
+.topic-options {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 9px;
+}
+.topic-option input {
+ position: absolute;
+ opacity: 0;
+}
+.topic-option span {
+ display: block;
+ padding: 9px 13px;
+ border: 1px solid #cbbcef;
+ border-radius: 999px;
+ background: #fff;
+ font-size: 0.91rem;
+ font-weight: 700;
+ cursor: pointer;
+ transition:
+ background 0.16s ease,
+ transform 0.16s ease;
+}
+.topic-option input:focus-visible + span {
+ outline: 3px solid var(--purple);
+ outline-offset: 2px;
+}
+.topic-option input:checked + span {
+ background: var(--purple);
+ border-color: var(--purple-dark);
+ color: var(--ink);
+ transform: translateY(-1px);
+}
+.topic-vote-footer {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 20px;
+ margin-top: 24px;
+}
+.topic-vote small {
+ max-width: 245px;
+ color: var(--muted);
+}
+.partner-card {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 195px;
+ padding: 32px;
+ background: #fff;
+ border: 1px solid var(--line);
+ border-radius: 24px;
+}
+.partner-card img {
+ width: auto;
+ height: auto;
+ max-height: 120px;
+ object-fit: contain;
+}
+.legacy-partners {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 16px;
+}
+.site-footer {
+ padding: 36px 0;
+ background: var(--ink);
+ color: #fff;
+}
+.footer-content {
+ display: flex;
+ justify-content: space-between;
+ gap: 32px;
+}
+.footer-brand {
+ margin-bottom: 4px;
+ font-size: 1.3rem;
+ font-weight: 800;
+}
+.footer-content p:last-child {
+ margin-bottom: 0;
+ color: #cfc5e7;
+}
+.footer-links {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: flex-start;
+ justify-content: end;
+ gap: 16px 22px;
+ font-size: 0.9rem;
+}
+.footer-links a {
+ color: #fff;
+}
+.policy {
+ max-width: 760px;
+}
+.policy-header {
+ margin-bottom: 58px;
+}
+.policy-header h1 {
+ margin-bottom: 20px;
+}
+.policy-summary {
+ color: var(--muted);
+ font-size: 1.2rem;
+}
+.policy section {
+ padding: 28px 0;
+ border-top: 1px solid var(--line);
+}
+.policy h2 {
+ font-size: 1.7rem;
+ letter-spacing: -0.035em;
+}
+.policy li {
+ margin: 8px 0;
+}
+.policy-note {
+ padding: 20px;
+ background: var(--lavender);
+ border-radius: 16px;
+}
+.back-to-top,
+.telegram-fab {
+ position: fixed;
+ z-index: 20;
+ display: inline-flex;
+ align-items: center;
+ gap: 8px;
+ border: 0;
+ border-radius: 999px;
+ font: inherit;
+ font-size: 0.85rem;
+ font-weight: 800;
+ box-shadow: 0 12px 28px rgba(30, 16, 57, 0.18);
+ text-decoration: none;
+}
+.back-to-top {
+ top: 88px;
+ left: 20px;
+ padding: 10px 13px;
+ background: rgba(252, 251, 255, 0.92);
+ color: var(--ink);
+ opacity: 0;
+ pointer-events: none;
+ transform: translateY(-8px);
+ transition:
+ opacity 0.2s ease,
+ transform 0.2s ease;
+}
+.back-to-top.is-visible {
+ opacity: 1;
+ pointer-events: auto;
+ transform: none;
+}
+.back-to-top:hover,
+.telegram-fab:hover {
+ transform: translateY(-2px);
+}
+.telegram-fab {
+ right: 20px;
+ bottom: 24px;
+ padding: 13px 16px;
+ background: var(--purple);
+ color: var(--ink);
+ transition: transform 0.18s ease;
+}
+.page-intro {
+ max-width: 730px;
+}
+.page-intro h1 {
+ font-size: clamp(3rem, 6vw, 4.8rem);
+ margin-bottom: 20px;
+}
+.page-intro > p:last-child {
+ color: var(--muted);
+ font-size: 1.2rem;
+}
+@media (max-width: 760px) {
+ .shell {
+ width: min(100% - 32px, 1120px);
+ }
+ .nav {
+ min-height: 64px;
+ }
+ .nav nav {
+ gap: 14px;
+ font-size: 0.83rem;
+ }
+ .nav nav a:nth-child(2),
+ .nav nav a:nth-child(3) {
+ display: none;
+ }
+ .main-content {
+ padding: 44px 0 78px;
+ }
+ .hero,
+ .story-section,
+ .contribution-section,
+ .speaker-section,
+ .partners-section,
+ .current-partner,
+ .topic-section {
+ grid-template-columns: 1fr;
+ }
+ .hero {
+ min-height: 0;
+ }
+ .hero-image-wrap {
+ order: -1;
+ max-width: 520px;
+ }
+ .proof-strip {
+ grid-template-columns: 1fr;
+ }
+ .event-grid,
+ .reason-grid {
+ grid-template-columns: 1fr;
+ }
+ .score-section {
+ margin-top: 72px;
+ padding: 34px 24px;
+ }
+ .topic-vote-footer {
+ align-items: flex-start;
+ flex-direction: column;
+ }
+ .legacy-partners {
+ grid-template-columns: 1fr;
+ }
+ .footer-content {
+ flex-direction: column;
+ }
+ .footer-links {
+ justify-content: start;
+ }
+ .section-heading {
+ align-items: start;
+ flex-direction: column;
+ gap: 12px;
+ }
+ .back-to-top {
+ top: auto;
+ bottom: 82px;
+ left: 16px;
+ }
+ .back-to-top span {
+ display: none;
+ }
+ .telegram-fab {
+ right: 16px;
+ bottom: 16px;
+ padding: 12px 14px;
+ }
+}
+@media (prefers-reduced-motion: reduce) {
+ *,
+ *::before,
+ *::after {
+ scroll-behavior: auto !important;
+ transition-duration: 0.01ms !important;
+ }
+}
diff --git a/src/app/grazie/page.tsx b/src/app/grazie/page.tsx
index dc39d16..a529512 100644
--- a/src/app/grazie/page.tsx
+++ b/src/app/grazie/page.tsx
@@ -3,15 +3,33 @@ import Link from "next/link"
export const metadata: Metadata = {
title: "Voto ricevuto",
- description: "Il voto per il prossimo tema di Coding Bunker è stato ricevuto.",
+ description:
+ "Il voto per il prossimo tema di Coding Bunker è stato ricevuto.",
robots: { index: false, follow: false },
}
export default function ThanksPage() {
- return
- Voto ricevuto
- Grazie per aver deciso insieme a noi.
- La tua preferenza è stata registrata. Useremo i risultati per orientare i prossimi meetup e le call della community.
-
-
+ return (
+
+ Voto ricevuto
+ Grazie per aver deciso insieme a noi.
+
+ La tua preferenza è stata registrata. Useremo i risultati per orientare
+ i prossimi meetup e le call della community.
+
+
+
+ )
}
diff --git a/src/app/hacktoberfest/page.tsx b/src/app/hacktoberfest/page.tsx
index 21e3641..6b5e7da 100644
--- a/src/app/hacktoberfest/page.tsx
+++ b/src/app/hacktoberfest/page.tsx
@@ -3,24 +3,53 @@ import Image from "next/image"
export const metadata: Metadata = {
title: "Hacktoberfest Milan 2026",
- description: "Hacktoberfest Hack Day Milano x Coding Bunker: 39 partecipanti, progetti open source e AI open-weight.",
+ description:
+ "Hacktoberfest Hack Day Milano x Coding Bunker: 39 partecipanti, progetti open source e AI open-weight.",
openGraph: {
title: "Hacktoberfest Milan 2026 | Coding Bunker",
description: "Il recap del Hacktoberfest Hack Day Milano x Coding Bunker.",
- images: [{ url: "/hacktoberfest-milan-2026.png", width: 968, height: 768, alt: "Progetti vincitori dell'Hacktoberfest Hack Day Milano 2026" }],
+ images: [
+ {
+ url: "/hacktoberfest-milan-2026.png",
+ width: 968,
+ height: 768,
+ alt: "Progetti vincitori dell'Hacktoberfest Hack Day Milano 2026",
+ },
+ ],
},
}
const categories = [
- ["Best Developer Tool", "Il miglior strumento pensato per semplificare o migliorare il lavoro degli sviluppatori."],
- ["Best AI for Good", "La migliore applicazione che utilizza l'intelligenza artificiale per risolvere problemi reali e generare un impatto positivo."],
- ["Most Creative Hack", "Il progetto più originale e creativo, capace di distinguersi per l'idea o per il modo in cui è stato realizzato."],
+ [
+ "Best Developer Tool",
+ "Il miglior strumento pensato per semplificare o migliorare il lavoro degli sviluppatori.",
+ ],
+ [
+ "Best AI for Good",
+ "La migliore applicazione che utilizza l'intelligenza artificiale per risolvere problemi reali e generare un impatto positivo.",
+ ],
+ [
+ "Most Creative Hack",
+ "Il progetto più originale e creativo, capace di distinguersi per l'idea o per il modo in cui è stato realizzato.",
+ ],
]
const projectTypes = [
- ["AI Agent Skills", "Skill riutilizzabili che permettono agli agenti AI di eseguire attività specifiche.", "Una skill che permette a un agente AI di generare automaticamente test con Playwright."],
- ["Applicazioni con LLM o SLM open-weight", "Applicazioni che integrano modelli linguistici aperti per risolvere problemi concreti.", "Un'applicazione che utilizza Gemma o altri modelli aperti per analizzare documenti ed estrarre informazioni utili."],
- ["Model Harness", "Framework o strumenti per gestire il funzionamento degli agenti AI, inclusi tool calling, memoria e contesto.", "Un framework che permette di orchestrare più agenti AI e gestire le loro interazioni con strumenti esterni."],
+ [
+ "AI Agent Skills",
+ "Skill riutilizzabili che permettono agli agenti AI di eseguire attività specifiche.",
+ "Una skill che permette a un agente AI di generare automaticamente test con Playwright.",
+ ],
+ [
+ "Applicazioni con LLM o SLM open-weight",
+ "Applicazioni che integrano modelli linguistici aperti per risolvere problemi concreti.",
+ "Un'applicazione che utilizza Gemma o altri modelli aperti per analizzare documenti ed estrarre informazioni utili.",
+ ],
+ [
+ "Model Harness",
+ "Framework o strumenti per gestire il funzionamento degli agenti AI, inclusi tool calling, memoria e contesto.",
+ "Un framework che permette di orchestrare più agenti AI e gestire le loro interazioni con strumenti esterni.",
+ ],
]
const requirements = [
@@ -32,36 +61,221 @@ const requirements = [
]
const projects = [
- ["Best use of Gemma 4 · Winner", "Fluffy Photo", "Legge ogni foto appena arriva dalla fotocamera ed estrae ciò che sta succedendo nell’immagine mentre la gara è ancora in corso.", "Gianni Bombelli"],
- ["Best Developer Tool · Winner", "Vouch explorer", "Un’app web che aiuta a valutare i contributori open source.", "Fabian Hogger"],
- ["Most Creative Hack · Winner", "Unfold", "Rende più comprensibili oggetti complessi che usiamo ogni giorno, mostrando l’ingegneria nascosta al loro interno.", "Gabriele Digilio"],
- ["Progetto partecipante", "FuoriSaver", "Un assistente locale e basato sull’AI per gestire l’inventario alimentare, pensato anche per studenti e persone che vivono lontano da casa.", "Team FuoriSaver"],
- ["Best Open-Source AI Project · Winner · Best AI for Good · Winner", "Gluco", "Un assistente intelligente che aiuta chi soffre di diabete a prevedere e bloccare i picchi glicemici prima che si verifichino.", "Andrea Rossi, Enzo Sbarra, Francesco Sangalli, Riccardo Sironi"],
- ["Progetto partecipante", "Hikari", "Un workflow automatizzato di code review con GitHub Actions e Playwright per individuare errori nel frontend.", "Edward K. Aiddo, Marcelo Kaihara, Leonardo Cavalleri"],
+ [
+ "Best use of Gemma 4 · Winner",
+ "Fluffy Photo",
+ "Legge ogni foto appena arriva dalla fotocamera ed estrae ciò che sta succedendo nell’immagine mentre la gara è ancora in corso.",
+ "Gianni Bombelli",
+ ],
+ [
+ "Best Developer Tool · Winner",
+ "Vouch explorer",
+ "Un’app web che aiuta a valutare i contributori open source.",
+ "Fabian Hogger",
+ ],
+ [
+ "Most Creative Hack · Winner",
+ "Unfold",
+ "Rende più comprensibili oggetti complessi che usiamo ogni giorno, mostrando l’ingegneria nascosta al loro interno.",
+ "Gabriele Digilio",
+ ],
+ [
+ "Progetto partecipante",
+ "FuoriSaver",
+ "Un assistente locale e basato sull’AI per gestire l’inventario alimentare, pensato anche per studenti e persone che vivono lontano da casa.",
+ "Team FuoriSaver",
+ ],
+ [
+ "Best Open-Source AI Project · Winner · Best AI for Good · Winner",
+ "Gluco",
+ "Un assistente intelligente che aiuta chi soffre di diabete a prevedere e bloccare i picchi glicemici prima che si verifichino.",
+ "Andrea Rossi, Enzo Sbarra, Francesco Sangalli, Riccardo Sironi",
+ ],
+ [
+ "Progetto partecipante",
+ "Hikari",
+ "Un workflow automatizzato di code review con GitHub Actions e Playwright per individuare errori nel frontend.",
+ "Edward K. Aiddo, Marcelo Kaihara, Leonardo Cavalleri",
+ ],
]
export default function HacktoberfestPage() {
- return
-
+ return (
+
+
- 39 partecipanti
3 categorie principali
100% open source e sperimentazione
+
+
+ 39
+ partecipanti
+
+
+ 3
+ categorie principali
+
+
+ 100%
+ open source e sperimentazione
+
+
- La sfida
Categorie e tipologie di progetti Per l'Hacktoberfest Hack Day abbiamo pensato a tre categorie per premiare i progetti realizzati dai partecipanti.
{categories.map(([title, description], index) =>
0{index + 1} {title} {description}
)}
+
+
+
+
La sfida
+
Categorie e tipologie di progetti
+
+
+
+ Per l'Hacktoberfest Hack Day abbiamo pensato a tre categorie per
+ premiare i progetti realizzati dai partecipanti.
+
+
+ {categories.map(([title, description], index) => (
+
+ 0{index + 1}
+ {title}
+ {description}
+
+ ))}
+
+
- Spazio alla creatività
I progetti che si potevano realizzare Durante l’Hacktoberfest Hack Day, i partecipanti potevano sviluppare diverse tipologie di progetto, anche combinando più approcci. Gli esempi qui sotto documentano le possibilità esplorate durante l’evento e non rappresentavano categorie rigide: l’obiettivo era lasciare spazio alla creatività.
{projectTypes.map(([title, description, example]) =>
{title} {description}
Esempio: {example}
)}
Era possibile realizzare un’applicazione web, una CLI, un’estensione VS Code o qualsiasi altro strumento, purché l’AI open-source o open-weight fosse una parte significativa del progetto.
+
+
+
+
Spazio alla creatività
+
I progetti che si potevano realizzare
+
+
+
+ Durante l’Hacktoberfest Hack Day, i partecipanti potevano sviluppare
+ diverse tipologie di progetto, anche combinando più approcci. Gli
+ esempi qui sotto documentano le possibilità esplorate durante l’evento
+ e non rappresentavano categorie rigide: l’obiettivo era lasciare
+ spazio alla creatività.
+
+
+ {projectTypes.map(([title, description, example]) => (
+
+ {title}
+ {description}
+
+ Esempio: {example}
+
+
+ ))}
+
+
+ Era possibile realizzare un’applicazione web, una CLI, un’estensione
+ VS Code o qualsiasi altro strumento, purché l’AI open-source o
+ open-weight fosse una parte significativa del progetto.
+
+
- Regole aperte, contributi reali
Requisiti dei progetti {requirements.map((requirement) => {requirement} )} L'obiettivo è sperimentare, imparare qualcosa di nuovo e soprattutto creare qualcosa di utile da condividere con la community.
+
+
+
+
Regole aperte, contributi reali
+
Requisiti dei progetti
+
+
+
+ {requirements.map((requirement) => (
+ {requirement}
+ ))}
+
+
+ L'obiettivo è sperimentare, imparare qualcosa di nuovo e
+ soprattutto creare qualcosa di utile da condividere con la community.
+
+
- {projects.map(([category, title, description, authors]) =>
{category.includes("Winner") ? "🏆 " : ""}{category}
{title} {description}
{authors}
)}
+
+
+
+ {projects.map(([category, title, description, authors]) => (
+
+
+ {category.includes("Winner") ? "🏆 " : ""}
+ {category}
+
+ {title}
+ {description}
+ {authors}
+
+ ))}
+
+
-
-
+
+
+ )
}
diff --git a/src/app/impatto-milano/page.tsx b/src/app/impatto-milano/page.tsx
index 7f15e6c..41a0a8b 100644
--- a/src/app/impatto-milano/page.tsx
+++ b/src/app/impatto-milano/page.tsx
@@ -2,7 +2,11 @@ import type { Metadata } from "next"
import Link from "next/link"
import { fetchMeetupGroupStats } from "@/lib/meetup"
-export const metadata: Metadata = { title: "Impatto a Milano | Coding Bunker", description: "Il contributo gratuito di Coding Bunker all'ecosistema tecnologico milanese." }
+export const metadata: Metadata = {
+ title: "Impatto a Milano | Coding Bunker",
+ description:
+ "Il contributo gratuito di Coding Bunker all'ecosistema tecnologico milanese.",
+}
const meetupUrl = "https://www.meetup.com/it-IT/coding-bunker/"
const zigDayUrl = "https://zig.day/europe/milano/2/"
@@ -16,20 +20,288 @@ const historicVideos = [
export default async function ImpactPage() {
const stats = await fetchMeetupGroupStats()
const metrics = [
- { value: stats.members?.toLocaleString("it-IT") || "—", label: "membri della community Meetup" },
+ {
+ value: stats.members?.toLocaleString("it-IT") || "—",
+ label: "membri della community Meetup",
+ },
{ value: "33", label: "eventi organizzati" },
- { value: stats.rating ? `${stats.rating.toLocaleString("it-IT", { maximumFractionDigits: 1 })}/5` : "—", label: stats.ratingCount ? `valutazione su ${stats.ratingCount.toLocaleString("it-IT")} recensioni` : "valutazione Meetup" },
+ {
+ value: stats.rating
+ ? `${stats.rating.toLocaleString("it-IT", { maximumFractionDigits: 1 })}/5`
+ : "—",
+ label: stats.ratingCount
+ ? `valutazione su ${stats.ratingCount.toLocaleString("it-IT")} recensioni`
+ : "valutazione Meetup",
+ },
]
- return <>
- Coding Bunker Impact
La conoscenza tecnica è un bene della città. Milano non deve soltanto attrarre innovazione: deve creare le condizioni perché le persone possano condividerla, impararla e costruirla insieme. Gratuitamente.
- {metrics.map((metric) => {metric.value} {metric.label}
)}
- Per Milano
Un’infrastruttura civica per la conoscenza tech. Coding Bunker porta a Milano incontri in presenza in cui esperienza professionale, curiosità e voglia di fare si incontrano senza biglietti di ingresso. Non è una conferenza da consumare: è un luogo in cui partecipare, fare domande e restituire competenze alla community.
Il risultato è una rete più accessibile per chi entra nel settore, più connessa per chi ci lavora e più aperta per organizzazioni che vogliono contribuire al territorio.
- Una storia che continua
Dalle live del 2020 alla community in presenza. Coding Bunker ha iniziato a creare occasioni di confronto online nel periodo della pandemia. Le registrazioni del canale raccontano live del 2020 su AI, testing, cybersecurity, game development e inclusione nel digitale: conoscenza pratica offerta gratuitamente quando incontrarsi era difficile.
Da quella spinta è cresciuta una community che oggi porta quelle conversazioni a Milano, in presenza, senza perdere la stessa idea di partenza: aiutarsi concretamente, non restare bloccati e far circolare competenze.
Esplora il canale Coding Bunker su YouTube ↗
- Dall’archivio
Le prime conversazioni, ancora disponibili.
- Un caso concreto
Zig Day Milano Il sito ufficiale di Zig Day ringrazia Coding Bunker per aver messo a disposizione la location per Zig Day Milano #2. Documenta inoltre la partecipazione di Andrew Kelley e del core team Zig, oltre a sessioni collaborative, mentoring e sviluppo condiviso.
Leggi la documentazione ufficiale di Zig Day ↗ Conoscenza internazionale Un incontro locale che mette in dialogo la community milanese con persone e progetti di rilevanza internazionale.
Apprendimento attivo Non solo ascolto: pairing, mentoring, domande e costruzione collaborativa.
Accesso aperto Occasioni tecniche di qualità rese disponibili alla community.
- Oltre la singola community
Community Day è un evento no profit ideato per far incontrare community tech italiane, condividere competenze e creare relazioni oltre i confini di ogni singolo gruppo. L’edizione 2025 si è svolta a Milano al Luiss Hub ed è stata organizzata in collaborazione tra Coding Bunker, GrUSP e Fondazione Giacomo Brodolini.
È il passo naturale della nostra idea di community: non competere per l’attenzione, ma rendere più forte l’ecosistema attraverso collaborazione, workshop, talk e networking aperto.
Scopri Community Day ↗
- Il valore che generiamo
Più connessioni. Più competenze condivise. Più possibilità di partecipare. 01 Competenze accessibili Talk, discussioni e workshop gratuiti rendono esperienze professionali concrete disponibili a chi vuole imparare.
02 Persone e luoghi Mettiamo in relazione professionisti, studenti, aziende, associazioni e spazi che credono nella crescita della città.
03 Restituire valore Open source, mentoring e condivisione di pratica: la conoscenza produce più valore quando circola.
- Un invito aperto
Hai uno spazio, una rete o un progetto per Milano? Coding Bunker porta community, contenuti e cura organizzativa. Cerchiamo istituzioni, fondazioni, aziende, media e spazi che vogliano rendere l’innovazione più concreta e accessibile sul territorio.
- >
+ return (
+ <>
+
+ Coding Bunker Impact
+ La conoscenza tecnica è un bene della città.
+
+ Milano non deve soltanto attrarre innovazione: deve creare le
+ condizioni perché le persone possano condividerla, impararla e
+ costruirla insieme. Gratuitamente.
+
+
+
+
+ {metrics.map((metric) => (
+
+ {metric.value}
+ {metric.label}
+
+ ))}
+
+
+
+
Per Milano
+
Un’infrastruttura civica per la conoscenza tech.
+
+
+
+ Coding Bunker porta a Milano incontri in presenza in cui esperienza
+ professionale, curiosità e voglia di fare si incontrano senza
+ biglietti di ingresso. Non è una conferenza da consumare: è un luogo
+ in cui partecipare, fare domande e restituire competenze alla
+ community.
+
+
+ Il risultato è una rete più accessibile per chi entra nel settore,
+ più connessa per chi ci lavora e più aperta per organizzazioni che
+ vogliono contribuire al territorio.
+
+
+
+
+
+
Una storia che continua
+
+ Dalle live del 2020 alla community in presenza.
+
+
+
+
+ Coding Bunker ha iniziato a creare occasioni di confronto online nel
+ periodo della pandemia. Le registrazioni del canale raccontano live
+ del 2020 su AI, testing, cybersecurity, game development e
+ inclusione nel digitale: conoscenza pratica offerta gratuitamente
+ quando incontrarsi era difficile.
+
+
+ Da quella spinta è cresciuta una community che oggi porta quelle
+ conversazioni a Milano, in presenza, senza perdere la stessa idea di
+ partenza: aiutarsi concretamente, non restare bloccati e far
+ circolare competenze.
+
+
+ Esplora il canale Coding Bunker su YouTube ↗
+
+
+
+
+
+
+
Dall’archivio
+
+ Le prime conversazioni, ancora disponibili.
+
+
+
+
+
+
+
+
Un caso concreto
+
Zig Day Milano
+
+ Il sito ufficiale di Zig Day ringrazia Coding Bunker per aver messo
+ a disposizione la location per Zig Day Milano #2. Documenta inoltre
+ la partecipazione di Andrew Kelley e del core team Zig, oltre a
+ sessioni collaborative, mentoring e sviluppo condiviso.
+
+
+ Leggi la documentazione ufficiale di Zig Day ↗
+
+
+
+
+ Conoscenza internazionale
+
+ Un incontro locale che mette in dialogo la community milanese con
+ persone e progetti di rilevanza internazionale.
+
+
+
+ Apprendimento attivo
+
+ Non solo ascolto: pairing, mentoring, domande e costruzione
+ collaborativa.
+
+
+
+ Accesso aperto
+
+ Occasioni tecniche di qualità rese disponibili alla community.
+
+
+
+
+
+
+
Oltre la singola community
+
+
+
+
+ Community Day è un evento no profit ideato per far incontrare
+ community tech italiane, condividere competenze e creare relazioni
+ oltre i confini di ogni singolo gruppo. L’edizione 2025 si è svolta
+ a Milano al Luiss Hub ed è stata organizzata in collaborazione tra
+ Coding Bunker, GrUSP e Fondazione Giacomo Brodolini.
+
+
+ È il passo naturale della nostra idea di community: non competere
+ per l’attenzione, ma rendere più forte l’ecosistema attraverso
+ collaborazione, workshop, talk e networking aperto.
+
+
+ Scopri Community Day ↗
+
+
+
+
+
+
+
Il valore che generiamo
+
+ Più connessioni. Più competenze condivise. Più possibilità di
+ partecipare.
+
+
+
+
+
+ 01
+ Competenze accessibili
+
+ Talk, discussioni e workshop gratuiti rendono esperienze
+ professionali concrete disponibili a chi vuole imparare.
+
+
+
+ 02
+ Persone e luoghi
+
+ Mettiamo in relazione professionisti, studenti, aziende,
+ associazioni e spazi che credono nella crescita della città.
+
+
+
+ 03
+ Restituire valore
+
+ Open source, mentoring e condivisione di pratica: la conoscenza
+ produce più valore quando circola.
+
+
+
+
+
+
+
Un invito aperto
+
+ Hai uno spazio, una rete o un progetto per Milano?
+
+
+
+
+ Coding Bunker porta community, contenuti e cura organizzativa.
+ Cerchiamo istituzioni, fondazioni, aziende, media e spazi che
+ vogliano rendere l’innovazione più concreta e accessibile sul
+ territorio.
+
+
+
+
+ >
+ )
}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 9b2e83e..72e7aff 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -9,14 +9,87 @@ import SiteFooter from "@/components/SiteFooter"
import "./globals.css"
import "./overrides.css"
-export const metadata: Metadata = { metadataBase: new URL("https://www.codingbunker.it"), title: { default: "Coding Bunker | Community tech a Milano", template: "%s | Coding Bunker" }, description: "Meetup gratuiti a Milano per chi costruisce software: esperienze reali, confronto tecnico e community.", keywords: ["Coding Bunker", "meetup tech Milano", "community developer", "eventi tecnologia Milano", "call for papers"], authors: [{ name: "Coding Bunker" }], creator: "Coding Bunker", icons: { icon: "/favicon.ico", apple: "/apple-touch-icon.png" }, manifest: "/site.webmanifest", alternates: { canonical: "/", languages: { it: "/", en: "/en" } }, openGraph: { title: "Coding Bunker | Community tech a Milano", description: "La community di chi costruisce software.", images: [{ url: TeamImage.src, width: 1200, height: 630, alt: "La community Coding Bunker durante un meetup" }], type: "website", locale: "it_IT", alternateLocale: "en_GB", url: "https://www.codingbunker.it" }, twitter: { card: "summary_large_image", title: "Coding Bunker | Community tech a Milano", description: "La community di chi costruisce software.", images: [TeamImage.src] } }
+export const metadata: Metadata = {
+ metadataBase: new URL("https://www.codingbunker.it"),
+ title: {
+ default: "Coding Bunker | Community tech a Milano",
+ template: "%s | Coding Bunker",
+ },
+ description:
+ "Meetup gratuiti a Milano per chi costruisce software: esperienze reali, confronto tecnico e community.",
+ keywords: [
+ "Coding Bunker",
+ "meetup tech Milano",
+ "community developer",
+ "eventi tecnologia Milano",
+ "call for papers",
+ ],
+ authors: [{ name: "Coding Bunker" }],
+ creator: "Coding Bunker",
+ icons: { icon: "/favicon.ico", apple: "/apple-touch-icon.png" },
+ manifest: "/site.webmanifest",
+ alternates: { canonical: "/", languages: { it: "/", en: "/en" } },
+ openGraph: {
+ title: "Coding Bunker | Community tech a Milano",
+ description: "La community di chi costruisce software.",
+ images: [
+ {
+ url: TeamImage.src,
+ width: 1200,
+ height: 630,
+ alt: "La community Coding Bunker durante un meetup",
+ },
+ ],
+ type: "website",
+ locale: "it_IT",
+ alternateLocale: "en_GB",
+ url: "https://www.codingbunker.it",
+ },
+ twitter: {
+ card: "summary_large_image",
+ title: "Coding Bunker | Community tech a Milano",
+ description: "La community di chi costruisce software.",
+ images: [TeamImage.src],
+ },
+}
-export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {
- return
-
-
- {children}
-
-
-
+export default function RootLayout({
+ children,
+}: Readonly<{ children: React.ReactNode }>) {
+ return (
+
+
+
+
+ {children}
+
+
+
+
+ )
}
diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx
index 7c1c182..d32b6e4 100644
--- a/src/app/not-found.tsx
+++ b/src/app/not-found.tsx
@@ -8,17 +8,25 @@ export const metadata = {
export default function NotFound() {
return (
- 404
+
+ 404
+
Pagina non trovata
-
Sembra che questo link abbia perso la strada.
+
+ Sembra che questo link abbia perso la strada.
+
La pagina potrebbe essere stata spostata o non essere più disponibile.
Riparti da un punto sicuro per tornare a esplorare Coding Bunker.
- Torna alla home
- Scopri gli eventi
+
+ Torna alla home
+
+
+ Scopri gli eventi
+
Hacktoberfest Milan
diff --git a/src/app/overrides.css b/src/app/overrides.css
index 91bd2e5..426e3e3 100644
--- a/src/app/overrides.css
+++ b/src/app/overrides.css
@@ -8,7 +8,7 @@
.not-found {
display: grid;
- grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr);
+ grid-template-columns: minmax(190px, 0.7fr) minmax(0, 1.3fr);
gap: clamp(32px, 8vw, 100px);
align-items: center;
min-height: min(620px, calc(100vh - 220px));
@@ -23,23 +23,58 @@
color: var(--purple);
font-size: clamp(5.5rem, 17vw, 12rem);
font-weight: 900;
- line-height: .78;
- letter-spacing: -.1em;
+ line-height: 0.78;
+ letter-spacing: -0.1em;
}
-.not-found-content { max-width: 650px; }
-.not-found .eyebrow { color: #d9caff; }
-.not-found h1 { max-width: 620px; margin-bottom: 22px; }
-.not-found-description { max-width: 570px; color: #ddd4ed; font-size: clamp(1.05rem, 1.7vw, 1.2rem); }
-.not-found-actions { margin-top: 30px; }
-.not-found .button-secondary { border-color: #81739a; color: #fff; background: transparent; }
-.not-found .button-secondary:hover { background: #453466; border-color: #453466; }
-.not-found-links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 28px; }
-.not-found-links a { color: #d9caff; font-size: .92rem; font-weight: 750; text-underline-offset: 4px; }
-.not-found-links a:hover { color: #fff; }
+.not-found-content {
+ max-width: 650px;
+}
+.not-found .eyebrow {
+ color: #d9caff;
+}
+.not-found h1 {
+ max-width: 620px;
+ margin-bottom: 22px;
+}
+.not-found-description {
+ max-width: 570px;
+ color: #ddd4ed;
+ font-size: clamp(1.05rem, 1.7vw, 1.2rem);
+}
+.not-found-actions {
+ margin-top: 30px;
+}
+.not-found .button-secondary {
+ border-color: #81739a;
+ color: #fff;
+ background: transparent;
+}
+.not-found .button-secondary:hover {
+ background: #453466;
+ border-color: #453466;
+}
+.not-found-links {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px 22px;
+ margin-top: 28px;
+}
+.not-found-links a {
+ color: #d9caff;
+ font-size: 0.92rem;
+ font-weight: 750;
+ text-underline-offset: 4px;
+}
+.not-found-links a:hover {
+ color: #fff;
+}
@media (max-width: 760px) {
- .back-to-top { bottom: 16px; left: 16px; }
+ .back-to-top {
+ bottom: 16px;
+ left: 16px;
+ }
}
.impact-hero {
@@ -50,11 +85,25 @@
color: #fff;
}
-.impact-hero h1 { max-width: 800px; }
-.impact-hero > p:not(.eyebrow) { max-width: 670px; color: #ddd4ed; font-size: 1.18rem; }
-.impact-hero .eyebrow { color: #d9caff; }
-.impact-hero .button-secondary { border-color: #d8caff; color: #fff; background: transparent; }
-.impact-hero .button-secondary:hover { background: #453466; }
+.impact-hero h1 {
+ max-width: 800px;
+}
+.impact-hero > p:not(.eyebrow) {
+ max-width: 670px;
+ color: #ddd4ed;
+ font-size: 1.18rem;
+}
+.impact-hero .eyebrow {
+ color: #d9caff;
+}
+.impact-hero .button-secondary {
+ border-color: #d8caff;
+ color: #fff;
+ background: transparent;
+}
+.impact-hero .button-secondary:hover {
+ background: #453466;
+}
.impact-metrics {
display: grid;
@@ -67,63 +116,218 @@
background: var(--line);
}
-.impact-metrics > div, .impact-metrics > p { padding: 22px; margin: 0; background: #fff; }
-.impact-metrics strong, .impact-metrics span { display: block; }
-.impact-metrics strong { font-size: 1.85rem; letter-spacing: -0.06em; }
-.impact-metrics span, .impact-metrics p { color: var(--muted); font-size: .85rem; }
-.impact-metrics > p { grid-column: 1 / -1; padding: 12px 22px; border-top: 1px solid var(--line); }
-.impact-metrics a { font-weight: 800; }
-
-.impact-intro, .impact-case, .impact-invite { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 80px); }
-.impact-intro > div:last-child, .impact-invite > div:last-child { color: #484057; font-size: 1.08rem; }
-.impact-case { align-items: start; padding: clamp(32px, 5vw, 58px); border-radius: 28px; background: var(--lavender); }
-.impact-case > div:first-child { min-width: 0; }
-.impact-case > div:first-child p { max-width: 62ch; margin-bottom: 22px; color: #484057; font-size: 1.05rem; line-height: 1.65; }
-.impact-case > div:first-child .text-link { line-height: 1.45; }
-.impact-case-points { display: grid; gap: 0; }
-.impact-case-points p { display: grid; grid-template-columns: minmax(150px, .7fr) 1.3fr; gap: 24px; padding: 20px 0; margin: 0; border-top: 1px solid #d3c6ee; }
-.impact-case-points p:last-child { padding-bottom: 0; }
-.impact-case-points strong { line-height: 1.35; }
-.impact-case-points span { color: var(--muted); line-height: 1.55; }
-.impact-invite { padding: clamp(30px, 5vw, 58px); border: 1px solid var(--line); border-radius: 28px; }
-
-.press-page { max-width: 820px; }
-.press-block { border-top: 1px solid var(--line); }
-.press-block h2 { margin-bottom: 18px; font-size: 1.8rem; }
-.press-block > p, .press-block li { max-width: 720px; font-size: 1.05rem; }
-.press-block li { margin: 12px 0; }
-.press-logo { display: inline-flex; padding: 24px; border-radius: 18px; background: var(--lavender); }
-.press-logo img { width: 150px; height: auto; }
-.press-brand-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 620px; }
-.press-logo-dark { background: var(--ink); }
-.press-meta { padding: 18px 20px; border-left: 3px solid var(--purple); background: var(--lavender); }
-.speaker-invite { padding: clamp(30px, 5vw, 58px); border-radius: 28px; background: var(--lavender); }
-.speaker-invite .button { margin-top: 6px; }
-.speaker-note { margin: 14px 0 0; color: var(--muted); font-size: .9rem; }
-.english-page { max-width: 1000px; }
-.english-grid, .english-cta { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 80px); }
-.english-grid > div:last-child { color: #484057; font-size: 1.08rem; }
-.english-cta { display: block; padding: clamp(30px, 5vw, 58px); border-radius: 28px; background: var(--ink); color: #fff; }
-.english-cta .eyebrow { color: #d9caff; }
-.english-cta p:not(.eyebrow) { max-width: 650px; color: #ddd4ed; font-size: 1.08rem; }
+.impact-metrics > div,
+.impact-metrics > p {
+ padding: 22px;
+ margin: 0;
+ background: #fff;
+}
+.impact-metrics strong,
+.impact-metrics span {
+ display: block;
+}
+.impact-metrics strong {
+ font-size: 1.85rem;
+ letter-spacing: -0.06em;
+}
+.impact-metrics span,
+.impact-metrics p {
+ color: var(--muted);
+ font-size: 0.85rem;
+}
+.impact-metrics > p {
+ grid-column: 1 / -1;
+ padding: 12px 22px;
+ border-top: 1px solid var(--line);
+}
+.impact-metrics a {
+ font-weight: 800;
+}
+
+.impact-intro,
+.impact-case,
+.impact-invite {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: clamp(28px, 6vw, 80px);
+}
+.impact-intro > div:last-child,
+.impact-invite > div:last-child {
+ color: #484057;
+ font-size: 1.08rem;
+}
+.impact-case {
+ align-items: start;
+ padding: clamp(32px, 5vw, 58px);
+ border-radius: 28px;
+ background: var(--lavender);
+}
+.impact-case > div:first-child {
+ min-width: 0;
+}
+.impact-case > div:first-child p {
+ max-width: 62ch;
+ margin-bottom: 22px;
+ color: #484057;
+ font-size: 1.05rem;
+ line-height: 1.65;
+}
+.impact-case > div:first-child .text-link {
+ line-height: 1.45;
+}
+.impact-case-points {
+ display: grid;
+ gap: 0;
+}
+.impact-case-points p {
+ display: grid;
+ grid-template-columns: minmax(150px, 0.7fr) 1.3fr;
+ gap: 24px;
+ padding: 20px 0;
+ margin: 0;
+ border-top: 1px solid #d3c6ee;
+}
+.impact-case-points p:last-child {
+ padding-bottom: 0;
+}
+.impact-case-points strong {
+ line-height: 1.35;
+}
+.impact-case-points span {
+ color: var(--muted);
+ line-height: 1.55;
+}
+.impact-invite {
+ padding: clamp(30px, 5vw, 58px);
+ border: 1px solid var(--line);
+ border-radius: 28px;
+}
+
+.press-page {
+ max-width: 820px;
+}
+.press-block {
+ border-top: 1px solid var(--line);
+}
+.press-block h2 {
+ margin-bottom: 18px;
+ font-size: 1.8rem;
+}
+.press-block > p,
+.press-block li {
+ max-width: 720px;
+ font-size: 1.05rem;
+}
+.press-block li {
+ margin: 12px 0;
+}
+.press-logo {
+ display: inline-flex;
+ padding: 24px;
+ border-radius: 18px;
+ background: var(--lavender);
+}
+.press-logo img {
+ width: 150px;
+ height: auto;
+}
+.press-brand-grid {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 16px;
+ max-width: 620px;
+}
+.press-logo-dark {
+ background: var(--ink);
+}
+.press-meta {
+ padding: 18px 20px;
+ border-left: 3px solid var(--purple);
+ background: var(--lavender);
+}
+.speaker-invite {
+ padding: clamp(30px, 5vw, 58px);
+ border-radius: 28px;
+ background: var(--lavender);
+}
+.speaker-invite .button {
+ margin-top: 6px;
+}
+.speaker-note {
+ margin: 14px 0 0;
+ color: var(--muted);
+ font-size: 0.9rem;
+}
+.english-page {
+ max-width: 1000px;
+}
+.english-grid,
+.english-cta {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: clamp(28px, 6vw, 80px);
+}
+.english-grid > div:last-child {
+ color: #484057;
+ font-size: 1.08rem;
+}
+.english-cta {
+ display: block;
+ padding: clamp(30px, 5vw, 58px);
+ border-radius: 28px;
+ background: var(--ink);
+ color: #fff;
+}
+.english-cta .eyebrow {
+ color: #d9caff;
+}
+.english-cta p:not(.eyebrow) {
+ max-width: 650px;
+ color: #ddd4ed;
+ font-size: 1.08rem;
+}
@media (max-width: 760px) {
- .press-brand-grid, .english-grid { grid-template-columns: 1fr; }
- .impact-metrics { grid-template-columns: 1fr; }
- .impact-metrics > p { grid-column: auto; }
- .impact-intro, .impact-case, .impact-invite { grid-template-columns: 1fr; }
- .impact-case { padding: 30px 24px; }
- .impact-case-points p { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; }
+ .press-brand-grid,
+ .english-grid {
+ grid-template-columns: 1fr;
+ }
+ .impact-metrics {
+ grid-template-columns: 1fr;
+ }
+ .impact-metrics > p {
+ grid-column: auto;
+ }
+ .impact-intro,
+ .impact-case,
+ .impact-invite {
+ grid-template-columns: 1fr;
+ }
+ .impact-case {
+ padding: 30px 24px;
+ }
+ .impact-case-points p {
+ grid-template-columns: 1fr;
+ gap: 8px;
+ padding: 18px 0;
+ }
}
-.history-section, .community-day {
+.history-section,
+.community-day {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(28px, 6vw, 80px);
}
-.history-copy, .community-day > div:last-child { color: #484057; font-size: 1.08rem; }
-.history-copy .text-link { margin-top: 8px; }
+.history-copy,
+.community-day > div:last-child {
+ color: #484057;
+ font-size: 1.08rem;
+}
+.history-copy .text-link {
+ margin-top: 8px;
+}
.historic-video-grid {
display: grid;
@@ -145,12 +349,16 @@
border: 0;
}
-.historic-video-grid h3, .historic-video-grid .text-link {
+.historic-video-grid h3,
+.historic-video-grid .text-link {
display: block;
margin: 18px 20px 0;
}
-.historic-video-grid .text-link { margin-bottom: 22px; font-size: .92rem; }
+.historic-video-grid .text-link {
+ margin-bottom: 22px;
+ font-size: 0.92rem;
+}
.community-day {
padding: clamp(30px, 5vw, 58px);
@@ -159,13 +367,27 @@
color: #fff;
}
-.community-day .eyebrow { color: #d9caff; }
-.community-day > div:last-child { color: #ddd4ed; }
-.community-day .button-secondary { color: #fff; border-color: #d9caff; background: transparent; }
-.community-day .button-secondary:hover { background: #453466; }
+.community-day .eyebrow {
+ color: #d9caff;
+}
+.community-day > div:last-child {
+ color: #ddd4ed;
+}
+.community-day .button-secondary {
+ color: #fff;
+ border-color: #d9caff;
+ background: transparent;
+}
+.community-day .button-secondary:hover {
+ background: #453466;
+}
@media (max-width: 760px) {
- .history-section, .community-day, .historic-video-grid { grid-template-columns: 1fr; }
+ .history-section,
+ .community-day,
+ .historic-video-grid {
+ grid-template-columns: 1fr;
+ }
}
.event-card:has(.event-card-photo) {
@@ -238,7 +460,7 @@
overflow: hidden;
padding: 0;
border-radius: 22px;
- animation: event-card-arrive 420ms cubic-bezier(.2, .8, .2, 1) both;
+ animation: event-card-arrive 420ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.event-card-media {
@@ -254,7 +476,8 @@
justify-content: space-between;
padding: 22px;
color: #fff;
- background: radial-gradient(circle at 85% 15%, #cbaeff 0, transparent 28%), linear-gradient(135deg, var(--ink), #54358d);
+ background: radial-gradient(circle at 85% 15%, #cbaeff 0, transparent 28%),
+ linear-gradient(135deg, var(--ink), #54358d);
}
.event-card-media.is-placeholder::after {
@@ -263,15 +486,38 @@
bottom: -48px;
width: 170px;
height: 170px;
- border: 1px solid rgba(255,255,255,.3);
+ border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 50%;
content: "";
}
-.event-card-monogram { font-size: 3.1rem; font-weight: 900; letter-spacing: -.12em; line-height: 1; }
-.event-card-placeholder-label { position: relative; z-index: 1; max-width: 160px; font-size: .78rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
-.event-card-media .event-card-photo { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transition: transform 500ms cubic-bezier(.2, .8, .2, 1); }
-.event-card:hover .event-card-photo { transform: scale(1.045); }
+.event-card-monogram {
+ font-size: 3.1rem;
+ font-weight: 900;
+ letter-spacing: -0.12em;
+ line-height: 1;
+}
+.event-card-placeholder-label {
+ position: relative;
+ z-index: 1;
+ max-width: 160px;
+ font-size: 0.78rem;
+ font-weight: 750;
+ letter-spacing: 0.05em;
+ text-transform: uppercase;
+}
+.event-card-media .event-card-photo {
+ position: absolute;
+ inset: 0;
+ width: 100%;
+ height: 100%;
+ aspect-ratio: auto;
+ object-fit: cover;
+ transition: transform 500ms cubic-bezier(0.2, 0.8, 0.2, 1);
+}
+.event-card:hover .event-card-photo {
+ transform: scale(1.045);
+}
.event-card--visual .event-card-date {
position: absolute;
@@ -279,327 +525,1438 @@
right: 14px;
bottom: 14px;
margin: 0;
- border: 1px solid rgba(255,255,255,.65);
- box-shadow: 0 7px 18px rgba(20,9,43,.18);
+ border: 1px solid rgba(255, 255, 255, 0.65);
+ box-shadow: 0 7px 18px rgba(20, 9, 43, 0.18);
}
-.event-card--visual .event-card-content { display: flex; flex: 1; flex-direction: column; padding: 22px; }
-.event-card--visual:not(.event-card-featured) .event-card-content { color: var(--ink); background: #fff; }
-.event-card--visual:not(.event-card-featured) .event-link { color: var(--purple-dark); }
-.event-card--visual .event-card-content > * { max-width: 62ch; }
-.event-card--visual .event-card-content .eyebrow { margin: 0 0 10px; line-height: 1.25; }
-.event-card--visual .event-card-content h3 { margin: 0 0 12px; line-height: 1.18; }
-.event-card--visual .event-location { margin: 0 0 10px; line-height: 1.4; }
-.event-card--visual .event-description { margin-bottom: 20px; }
-.event-card--visual .event-link { margin-top: auto; }
-.event-card--visual.event-card-featured .event-card-content { background: var(--ink); }
+.event-card--visual .event-card-content {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ padding: 22px;
+}
+.event-card--visual:not(.event-card-featured) .event-card-content {
+ color: var(--ink);
+ background: #fff;
+}
+.event-card--visual:not(.event-card-featured) .event-link {
+ color: var(--purple-dark);
+}
+.event-card--visual .event-card-content > * {
+ max-width: 62ch;
+}
+.event-card--visual .event-card-content .eyebrow {
+ margin: 0 0 10px;
+ line-height: 1.25;
+}
+.event-card--visual .event-card-content h3 {
+ margin: 0 0 12px;
+ line-height: 1.18;
+}
+.event-card--visual .event-location {
+ margin: 0 0 10px;
+ line-height: 1.4;
+}
+.event-card--visual .event-description {
+ margin-bottom: 20px;
+}
+.event-card--visual .event-link {
+ margin-top: auto;
+}
+.event-card--visual.event-card-featured .event-card-content {
+ background: var(--ink);
+}
-@keyframes event-card-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
+@keyframes event-card-arrive {
+ from {
+ opacity: 0;
+ transform: translateY(10px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
/* The impact statements and invitation stay visually connected. */
-.impact-values { padding: clamp(32px, 5vw, 58px); border: 1px solid var(--line); border-radius: 28px 28px 0 0; background: #fff; }
-.impact-values + .impact-invite { margin-top: clamp(56px, 7vw, 88px); padding-top: clamp(30px, 5vw, 58px); border-top: 1px solid var(--line); border-radius: 28px; background: var(--lavender); }
-
-.staff-page, .help-page { max-width: 1120px; }
-.staff-intro, .help-hero { max-width: 770px; }
-.staff-intro > p:last-of-type, .help-hero > p:last-of-type { color: var(--muted); font-size: 1.18rem; }
-.staff-intro .button, .help-hero .button { margin-top: 10px; }
-.staff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 64px; }
-.staff-card { display: flex; flex-direction: column; min-height: 100%; padding: 24px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.8); transition: transform 240ms cubic-bezier(.2,.8,.2,1), box-shadow 240ms cubic-bezier(.2,.8,.2,1); }
-.staff-card:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(39,21,77,.1); }
-.staff-portrait { position: relative; width: 132px; height: 132px; margin-bottom: 24px; overflow: hidden; border: 4px solid var(--lavender); border-radius: 50%; background: var(--lavender); }
-.staff-card h2 { margin-bottom: 12px; font-size: 1.6rem; }
-.staff-card > p:not(.eyebrow) { color: var(--muted); }
-.staff-card .text-link { margin-top: auto; padding-top: 12px; }
-.staff-closing { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-top: 72px; padding: 38px; border-radius: 28px; background: var(--ink); color: #fff; }
-.staff-closing .eyebrow { color: #d9caff; }.staff-closing h2 { max-width: 680px; margin-bottom: 0; }
-
-.values-grid, .role-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
-.values-grid .section-heading, .role-grid .section-heading { grid-column: 1 / -1; }
-.values-grid article, .role-grid article { padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
-.values-grid h3, .role-grid h3 { margin-bottom: 9px; font-size: 1.25rem; }
-.values-grid p, .role-grid p { margin-bottom: 0; color: var(--muted); }
-.role-grid article > span { color: var(--purple-dark); font-weight: 900; }
-.role-grid article h3 { margin-top: 24px; }
-.help-rhythm, .help-cta { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 80px); padding: clamp(30px, 5vw, 56px); border-radius: 28px; background: var(--lavender); }
-.help-rhythm > div:last-child, .help-cta > div:last-child { color: #484057; font-size: 1.08rem; }
-.help-cta { background: var(--ink); color: #fff; }.help-cta .eyebrow { color: #d9caff; }.help-cta > div:last-child { color: #ddd4ed; }
-
-@media (max-width: 760px) {
- .event-card-media { min-height: 175px; }
- .staff-grid, .values-grid, .role-grid { grid-template-columns: 1fr; }
- .staff-closing, .help-rhythm, .help-cta { align-items: start; grid-template-columns: 1fr; }
- .values-grid .section-heading, .role-grid .section-heading { grid-column: auto; }
+.impact-values {
+ padding: clamp(32px, 5vw, 58px);
+ border: 1px solid var(--line);
+ border-radius: 28px 28px 0 0;
+ background: #fff;
}
-
-@media (prefers-reduced-motion: reduce) {
- .event-card.event-card--visual { animation: none; }
- .event-card:hover .event-card-photo, .staff-card:hover { transform: none; }
- .hero-copy, .hero-image-wrap { animation: none; }
+.impact-values + .impact-invite {
+ margin-top: clamp(56px, 7vw, 88px);
+ padding-top: clamp(30px, 5vw, 58px);
+ border-top: 1px solid var(--line);
+ border-radius: 28px;
+ background: var(--lavender);
}
-/* A calmer rhythm for the denser pages. */
-.main-content { padding-top: clamp(52px, 7vw, 88px); }
-.page-intro, .staff-intro, .help-hero { margin-bottom: 8px; }
-.page-intro > p:last-of-type, .staff-intro > p:last-of-type, .help-hero > p:last-of-type { max-width: 700px; margin-bottom: 0; }
-.section-heading { margin-bottom: 32px; }
-.section-heading-links { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
-.event-grid { gap: 20px; }
-.event-card--visual { border-radius: 26px; }
-.event-card-media { min-height: 208px; }
-.event-card-date { width: 76px; height: 76px; border: 4px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(240,234,255,.94); box-shadow: 0 12px 24px rgba(33,18,57,.22); backdrop-filter: blur(12px); transform: rotate(-3deg); transition: transform 220ms ease, box-shadow 220ms ease; }
-.event-card:hover .event-card-date { transform: rotate(0) translateY(-3px); box-shadow: 0 16px 28px rgba(33,18,57,.28); }
-.event-card-placeholder-label { max-width: 190px; font-size: .82rem; letter-spacing: .08em; }
-.event-card--visual .event-card-content { padding: 26px; }
-.staff-grid { gap: 22px; margin-top: 56px; }
-.staff-card { padding: 28px; }
-.staff-card h2 { margin-bottom: 18px; }
-.staff-card .text-link { margin-top: 0; }
-.staff-archive { max-width: 760px; margin-top: 72px; padding: clamp(28px, 5vw, 48px); border: 1px solid var(--line); border-radius: 26px; background: var(--lavender); }
-.staff-archive h2 { margin-bottom: 12px; }
-.staff-archive p:last-child { margin-bottom: 0; color: var(--muted); }
-.impact-metrics { margin-top: 28px; }
-.impact-metrics > div { min-height: 118px; }
-.topic-vote { border: 1px solid rgba(203,188,239,.7); box-shadow: 0 16px 36px rgba(56,29,111,.07); }
-.hidden-field { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
-.english-page .hero { min-height: 430px; }
-.english-page .english-grid { align-items: start; }
-.english-page .english-cta { margin-top: 0; }
-.english-page .hero-actions { margin-bottom: 0; }
-.site-header nav a { transition: color 180ms ease, opacity 180ms ease; }
-.site-header nav a:hover { opacity: .72; }
+.staff-page,
+.help-page {
+ max-width: 1120px;
+}
+.staff-intro,
+.help-hero {
+ max-width: 770px;
+}
+.staff-intro > p:last-of-type,
+.help-hero > p:last-of-type {
+ color: var(--muted);
+ font-size: 1.18rem;
+}
+.staff-intro .button,
+.help-hero .button {
+ margin-top: 10px;
+}
+.staff-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 18px;
+ margin-top: 64px;
+}
+.staff-card {
+ display: flex;
+ flex-direction: column;
+ min-height: 100%;
+ padding: 24px;
+ border: 1px solid var(--line);
+ border-radius: 24px;
+ background: rgba(255, 255, 255, 0.8);
+ transition:
+ transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1),
+ box-shadow 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
+}
+.staff-card:hover {
+ transform: translateY(-5px);
+ box-shadow: 0 18px 34px rgba(39, 21, 77, 0.1);
+}
+.staff-portrait {
+ position: relative;
+ width: 132px;
+ height: 132px;
+ margin-bottom: 24px;
+ overflow: hidden;
+ border: 4px solid var(--lavender);
+ border-radius: 50%;
+ background: var(--lavender);
+}
+.staff-card h2 {
+ margin-bottom: 12px;
+ font-size: 1.6rem;
+}
+.staff-card > p:not(.eyebrow) {
+ color: var(--muted);
+}
+.staff-card .text-link {
+ margin-top: auto;
+ padding-top: 12px;
+}
+.staff-closing {
+ display: flex;
+ align-items: end;
+ justify-content: space-between;
+ gap: 28px;
+ margin-top: 72px;
+ padding: 38px;
+ border-radius: 28px;
+ background: var(--ink);
+ color: #fff;
+}
+.staff-closing .eyebrow {
+ color: #d9caff;
+}
+.staff-closing h2 {
+ max-width: 680px;
+ margin-bottom: 0;
+}
-/* Keep each section visually distinct instead of letting adjacent backgrounds merge. */
-.section { margin-top: clamp(72px, 8vw, 104px); }
-.section + .section { margin-top: clamp(72px, 8vw, 104px); }
-.page-intro { padding-bottom: clamp(20px, 3vw, 34px); }
-.hero { position: relative; gap: clamp(44px, 8vw, 112px); }
-.hero { grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); }
-.hero h1 { max-width: 760px; font-size: clamp(2.65rem, 4.8vw, 5rem); text-wrap: balance; }
-.hero-copy { min-width: 0; }
-.hero-copy, .hero-image-wrap { animation: content-enter 620ms cubic-bezier(.22, .8, .24, 1) both; }
-.hero-image-wrap { animation-delay: 90ms; }
-.hero-image-wrap { position: relative; justify-self: end; width: min(100%, 540px); isolation: isolate; box-shadow: 16px 20px 0 var(--lavender), 0 28px 60px rgba(33,18,57,.13); transform: translateZ(0); animation: content-enter 620ms cubic-bezier(.22, .8, .24, 1) both, hero-float 8s ease-in-out 720ms infinite; }
-.hero-image-wrap::after { position: absolute; z-index: 2; inset: 0; border: 1px solid rgba(255,255,255,.42); border-radius: inherit; content: ""; pointer-events: none; }
-.hero-image { transform: scale(1.015); transition: transform 700ms cubic-bezier(.2,.8,.2,1), filter 700ms ease; }
-.hero-image-wrap:hover .hero-image { transform: scale(1.07); filter: saturate(1.08) contrast(1.03); }
-.hero-image-wrap:hover { box-shadow: 18px 24px 0 var(--lavender), 0 34px 72px rgba(33,18,57,.19); }
-.hero-code-motifs { --pointer-x: 0; --pointer-y: 0; position: absolute; z-index: 0; inset: 0; overflow: visible; pointer-events: auto; }
-.hero > .hero-copy, .hero > .hero-image-wrap { position: relative; z-index: 1; }
-.hero-code-motif { --depth: 1; position: absolute; display: grid; place-items: center; min-width: 46px; height: 46px; padding: 0 10px; border: 1px solid rgba(255,255,255,.38); border-radius: 14px; background: rgba(33,18,57,.36); box-shadow: 0 12px 28px rgba(20,9,43,.22); color: #fff; font-family: "SFMono-Regular", Consolas, monospace; font-size: .9rem; font-weight: 700; letter-spacing: -.08em; text-shadow: 0 1px 12px rgba(255,255,255,.38); backdrop-filter: blur(8px); animation: code-motif-float 7s ease-in-out infinite; transition: transform 700ms cubic-bezier(.2,.8,.2,1), box-shadow 700ms ease; }
-.hero-code-motif::after { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--purple); box-shadow: 0 0 14px var(--purple); content: ""; }
-.motif-angle { --depth: .7; top: 7%; left: 58%; animation-delay: -1.2s; transform: translate(calc(var(--pointer-x) * 10px * var(--depth)), calc(var(--pointer-y) * 8px * var(--depth))) rotate(-12deg); }
-.motif-angle::after { right: -3px; bottom: 6px; }
-.motif-braces { --depth: 1.2; top: 16%; right: 2%; animation-delay: -3.8s; transform: translate(calc(var(--pointer-x) * 10px * var(--depth)), calc(var(--pointer-y) * 8px * var(--depth))) rotate(9deg) scale(1.08); }
-.motif-braces::after { left: -3px; bottom: 8px; background: #fff; }
-.motif-arrow { --depth: .9; bottom: 12%; left: 60%; animation-delay: -2.5s; transform: translate(calc(var(--pointer-x) * 10px * var(--depth)), calc(var(--pointer-y) * 8px * var(--depth))) rotate(7deg) scale(.88); }
-.motif-arrow::after { right: 5px; top: -3px; background: #d9caff; }
-.motif-parentheses { --depth: 1.35; right: 24%; bottom: 3%; animation-delay: -4.6s; transform: translate(calc(var(--pointer-x) * 10px * var(--depth)), calc(var(--pointer-y) * 8px * var(--depth))) rotate(-8deg) scale(.82); }
-.motif-parentheses::after { left: 5px; top: -3px; background: #fff; }
-.motif-semicolon { --depth: .55; top: 48%; left: 72%; min-width: 34px; height: 34px; border-radius: 50%; animation-delay: -5.2s; transform: translate(calc(var(--pointer-x) * 10px * var(--depth)), calc(var(--pointer-y) * 8px * var(--depth))) rotate(14deg) scale(.72); }
-.motif-semicolon::after { right: -4px; top: 5px; width: 4px; height: 4px; }
-.partner-card-dark { background: #24163b; border-color: #4f3c69; }
-.partner-card-dark img { max-height: 116px; filter: brightness(1.08); }
-.homepage-archive { padding: clamp(34px, 5vw, 58px); border-radius: 32px; background: linear-gradient(145deg, #24163b, #39215d); color: #fff; }
-.homepage-archive .eyebrow { color: #d9caff; }
-.homepage-archive .text-link { color: #fff; }
-.homepage-archive .event-card { background: rgba(255,255,255,.96); }
-.homepage-archive .event-card:not(.event-card-featured),
-.homepage-archive .event-card:not(.event-card-featured) .event-card-content { color: var(--ink); background: #fff; }
-.homepage-archive .event-card:not(.event-card-featured) .event-link { color: var(--purple-dark); }
-.homepage-archive .event-card:hover { box-shadow: 0 20px 40px rgba(0,0,0,.24); }
-.partners-section { align-items: center; }
-.partners-section > div:first-child { max-width: 560px; }
-.partners-section > div:first-child > p:not(.eyebrow) { margin-bottom: 22px; }
-.partners-section .partner-card { min-height: 250px; background: #fff; border-color: var(--line); box-shadow: 0 14px 34px rgba(56,29,111,.06); }
-.partners-section .partner-card img { max-width: 82%; filter: none; }
-.reasons-section .section-heading { max-width: 760px; margin-bottom: 30px; }
-.reasons-section .reason-grid { align-items: stretch; gap: 18px; }
-.reasons-section .reason-grid article { display: flex; flex-direction: column; min-height: 238px; padding: 28px; border-radius: 22px; }
-.reasons-section .reason-grid span { display: block; margin-bottom: 28px; font-size: .82rem; letter-spacing: .08em; }
-.reasons-section .reason-grid h3 { margin: 0 0 12px; line-height: 1.2; }
-.reasons-section .reason-grid p { margin: 0; max-width: 34ch; line-height: 1.55; }
-.score-section { width: min(100%, 900px); padding: clamp(34px, 5vw, 58px); }
-.score-section h2 { max-width: 680px; margin-bottom: 22px; line-height: 1.05; }
-.score-section > p:not(.eyebrow) { margin-bottom: 0; line-height: 1.65; }
-.format-points { gap: 10px; margin-top: 30px; }
-.format-points span { padding: 8px 14px; }
-.current-partner .partner-card { background: #fff; border-color: var(--line); color: var(--ink); }
-.hacktoberfest-home-card { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; padding: clamp(30px, 5vw, 54px); border-radius: 28px; background: linear-gradient(135deg, #211239, #4b2c79); color: #fff; }
-.hacktoberfest-home-card .eyebrow { color: #d9caff; }
-.hacktoberfest-home-card h2 { margin-bottom: 14px; }
-.hacktoberfest-home-card p:not(.eyebrow) { max-width: 680px; margin-bottom: 24px; color: #e2d9f0; font-size: 1.05rem; }
-.hacktoberfest-home-card .button-primary { background: #c3a5ff; border-color: #c3a5ff; }
-.hacktoberfest-home-meta { display: grid; min-width: 150px; padding: 24px; border: 1px solid rgba(217,202,255,.3); border-radius: 20px; background: rgba(255,255,255,.08); text-align: center; }
-.hacktoberfest-home-meta strong { font-size: 3.4rem; line-height: 1; letter-spacing: -.08em; }
-.hacktoberfest-home-meta span { color: #d9caff; font-size: .82rem; }
-.hacktoberfest-home-meta strong { display: block; margin-bottom: 8px; }
-.hacktoberfest-home-meta span + span { margin-top: 4px; }
-.speaker-invite { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 6vw, 80px); align-items: start; }
-.speaker-invite > div:last-child { min-width: 0; }
-.speaker-invite > div:last-child > p:first-child { margin-bottom: 24px; line-height: 1.65; }
-.speaker-invite .speaker-note { margin-top: 18px; line-height: 1.45; }
-.score-section .format-points { display: flex; align-items: center; flex-wrap: wrap; }
-.score-section .format-points span { display: inline-flex; align-items: center; line-height: 1.2; }
-.community-day { align-items: start; }
-.community-day > div:last-child { min-width: 0; line-height: 1.65; }
-.community-day > div:last-child p { margin-bottom: 20px; }
-.community-day > div:last-child .button { margin-top: 4px; }
-.impact-values .section-heading { max-width: 800px; margin-bottom: 32px; }
-.impact-values .reason-grid { gap: 18px; }
-.impact-values .reason-grid article { min-height: 220px; }
-.impact-invite > div:last-child { line-height: 1.65; }
-.impact-invite .hero-actions { margin-top: 24px; }
-.press-block { padding-bottom: 8px; }
-.press-block > p { line-height: 1.65; }
-.press-block ul { padding-left: 1.3rem; margin: 0; }
-.press-block li { padding-left: 6px; line-height: 1.55; }
-.site-footer { margin-top: clamp(76px, 10vw, 132px); padding: 64px 0 22px; background: var(--ink); color: #fff; }
-.footer-content { display: grid; grid-template-columns: minmax(220px, .8fr) 1.2fr; gap: clamp(42px, 9vw, 120px); }
-.footer-intro { max-width: 300px; }
-.footer-brand { margin-bottom: 10px; font-size: 1.35rem; letter-spacing: -.03em; }
-.footer-intro > p:not(.footer-brand) { margin-bottom: 24px; color: #cfc5e7; font-size: .95rem; }
-.footer-cta { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 800; text-underline-offset: 5px; }
-.footer-bug-link { display: inline-flex; max-width: 260px; margin-top: 18px; color: #d9caff; font-size: .86rem; font-weight: 700; line-height: 1.45; text-underline-offset: 4px; }
-.footer-bug-link:hover { color: #fff; }
-.footer-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
-.footer-nav > div { display: grid; align-content: start; gap: 10px; }
-.footer-heading { margin: 0 0 4px; color: #d9caff; font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
-.footer-nav a { color: #fff; font-size: .92rem; text-decoration: none; text-underline-offset: 4px; }
-.footer-nav a:hover, .footer-cta:hover { color: #d9caff; text-decoration: underline; }
-.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 58px; padding-top: 18px; border-top: 1px solid rgba(217,202,255,.22); color: #aa9dc4; font-size: .78rem; }
-.footer-nav > div { min-width: 0; }
-.footer-nav a { display: block; width: fit-content; line-height: 1.4; }
-.site-footer .footer-bottom span { line-height: 1.4; }
-.contact-page { max-width: 1000px; }
-.contact-intro { max-width: 760px; }
-.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 48px; }
-.contact-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 270px; padding: clamp(24px, 4vw, 36px); border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(56,29,111,.05); }
-.contact-card-index { margin-bottom: 30px; color: var(--purple-dark); font-family: "SFMono-Regular", Consolas, monospace; font-size: .8rem; font-weight: 800; }
-.contact-card h2 { margin-bottom: 12px; font-size: clamp(1.5rem, 2.8vw, 2.15rem); }
-.contact-card > p:not(.contact-card-index) { max-width: 42ch; margin-bottom: 24px; color: var(--muted); }
-.contact-card .button { margin-top: auto; }
-.contact-note { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 80px); margin-top: 96px; padding: clamp(30px, 5vw, 58px); border-radius: 28px; background: var(--lavender); }
-.contact-note h2 { max-width: 420px; }
-.contact-note > div:last-child { color: #484057; font-size: 1.08rem; }
-.hacktoberfest-page { max-width: 1120px; }
-.hacktoberfest-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); gap: clamp(36px, 7vw, 96px); align-items: center; min-height: 500px; }
-.hacktoberfest-hero h1 { max-width: 720px; }
-.hacktoberfest-lede { max-width: 620px; color: var(--muted); font-size: clamp(1.15rem, 2vw, 1.4rem); }
-.hacktoberfest-hero-image { overflow: hidden; border-radius: 28px; border: 1px solid var(--line); background: #fff; box-shadow: 16px 18px 0 var(--lavender), 0 24px 54px rgba(33,18,57,.12); transform: rotate(1deg); }
-.hacktoberfest-hero-image img { display: block; width: 100%; height: auto; }
-.hacktoberfest-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 48px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--line); }
-.hacktoberfest-stats > div { padding: 24px; background: #fff; }
-.hacktoberfest-stats strong, .hacktoberfest-stats span { display: block; }
-.hacktoberfest-stats strong { font-size: 2.15rem; letter-spacing: -.06em; }
-.hacktoberfest-stats span { color: var(--muted); font-size: .88rem; }
-.hacktoberfest-section { max-width: 1000px; }
-.hacktoberfest-intro { max-width: 720px; color: #484057; font-size: 1.08rem; }
-.hacktoberfest-category-grid, .hacktoberfest-types, .hacktoberfest-winner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; }
-.hacktoberfest-category-grid article, .hacktoberfest-types article, .hacktoberfest-winner-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
-.hacktoberfest-category-grid span { color: var(--purple-dark); font-family: "SFMono-Regular", Consolas, monospace; font-size: .82rem; font-weight: 800; }
-.hacktoberfest-category-grid h3, .hacktoberfest-types h3, .hacktoberfest-winner-grid h3 { margin: 22px 0 12px; line-height: 1.2; }
-.hacktoberfest-category-grid p, .hacktoberfest-types p, .hacktoberfest-winner-grid p { margin-bottom: 0; color: var(--muted); }
-.hacktoberfest-surface { max-width: none; padding: clamp(34px, 5vw, 58px); border-radius: 30px; background: var(--lavender); }
-.hacktoberfest-surface .section-heading { max-width: 700px; }
-.hacktoberfest-types { grid-template-columns: repeat(3, 1fr); }
-.hacktoberfest-types article { border-color: rgba(115,71,197,.16); }
-.hacktoberfest-types h3 { margin-top: 0; }
-.hacktoberfest-example { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(115,71,197,.18); font-size: .92rem; }
-.hacktoberfest-example strong { color: var(--ink); }
-.hacktoberfest-note, .hacktoberfest-goal { max-width: 760px; margin: 28px 0 0; color: #484057; font-size: 1.05rem; }
-.hacktoberfest-requirements { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 28px; max-width: 850px; padding: 0; margin: 30px 0 0; list-style: none; }
-.hacktoberfest-requirements li { position: relative; padding-left: 28px; }
-.hacktoberfest-requirements li::before { position: absolute; top: .55em; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--purple); content: ""; }
-.hacktoberfest-winners { max-width: none; }
-.hacktoberfest-winner-grid { grid-template-columns: repeat(3, 1fr); }
-.hacktoberfest-winner-grid article { display: flex; flex-direction: column; }
-.hacktoberfest-winner-category { color: var(--purple-dark) !important; font-size: .74rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
-.hacktoberfest-winner-grid h3 { font-size: 1.35rem; }
-.hacktoberfest-authors { margin-top: auto; padding-top: 22px; font-size: .82rem; font-weight: 700; }
-.hacktoberfest-gallery-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 96px; padding: clamp(30px, 5vw, 58px); border-radius: 28px; background: var(--ink); color: #fff; }
-.hacktoberfest-gallery-cta h2 { max-width: 650px; }
-.hacktoberfest-gallery-cta .eyebrow { color: #d9caff; }
-.current-partner .partner-card { min-height: 250px; }
-.legacy-partners { gap: 22px; }
-.legacy-partners .partner-card { min-height: 220px; }
-.staff-archive { margin-top: clamp(56px, 8vw, 96px); }
-.english-page .hero-image-wrap { min-width: 0; }
-.english-page .hero-image { min-height: 320px; object-fit: cover; }
-.english-page .section { margin-top: clamp(72px, 8vw, 104px); }
-.thanks-page { max-width: 720px; padding: clamp(42px, 8vw, 96px) 0; }
-.thanks-page > p:not(.eyebrow) { max-width: 580px; color: var(--muted); font-size: 1.2rem; }
-@keyframes content-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
-@keyframes hero-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-8px) rotate(.35deg); } }
-@keyframes code-motif-float { 0%, 100% { margin-top: 0; opacity: .7; } 50% { margin-top: -10px; opacity: .98; } }
-.event-grid .event-card:nth-child(2), .staff-grid .staff-card:nth-child(2), .legacy-partners .partner-card:nth-child(2) { animation-delay: 80ms; }
-.event-grid .event-card:nth-child(3), .staff-grid .staff-card:nth-child(3), .legacy-partners .partner-card:nth-child(3) { animation-delay: 160ms; }
-.event-grid .event-card, .staff-grid .staff-card, .legacy-partners .partner-card { animation: event-card-arrive 520ms cubic-bezier(.2,.8,.2,1) both; }
-
-html { scrollbar-color: var(--purple-dark) var(--lavender); scrollbar-width: thin; }
-::-webkit-scrollbar { width: 11px; }
-::-webkit-scrollbar-track { background: var(--lavender); }
-::-webkit-scrollbar-thumb { border: 3px solid var(--lavender); border-radius: 999px; background: var(--purple-dark); }
-::-webkit-scrollbar-thumb:hover { background: var(--ink); }
+.values-grid,
+.role-grid {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 16px;
+}
+.values-grid .section-heading,
+.role-grid .section-heading {
+ grid-column: 1 / -1;
+}
+.values-grid article,
+.role-grid article {
+ padding: 26px;
+ border: 1px solid var(--line);
+ border-radius: 20px;
+ background: #fff;
+}
+.values-grid h3,
+.role-grid h3 {
+ margin-bottom: 9px;
+ font-size: 1.25rem;
+}
+.values-grid p,
+.role-grid p {
+ margin-bottom: 0;
+ color: var(--muted);
+}
+.role-grid article > span {
+ color: var(--purple-dark);
+ font-weight: 900;
+}
+.role-grid article h3 {
+ margin-top: 24px;
+}
+.help-rhythm,
+.help-cta {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: clamp(28px, 6vw, 80px);
+ padding: clamp(30px, 5vw, 56px);
+ border-radius: 28px;
+ background: var(--lavender);
+}
+.help-rhythm > div:last-child,
+.help-cta > div:last-child {
+ color: #484057;
+ font-size: 1.08rem;
+}
+.help-cta {
+ background: var(--ink);
+ color: #fff;
+}
+.help-cta .eyebrow {
+ color: #d9caff;
+}
+.help-cta > div:last-child {
+ color: #ddd4ed;
+}
@media (max-width: 760px) {
- .main-content { padding-bottom: 76px; }
- .hero { grid-template-columns: 1fr; gap: 42px; }
- .hero-image-wrap { justify-self: stretch; width: 100%; max-width: none; }
- .section-heading { align-items: start; flex-direction: column; }
- .section-heading-links { gap: 10px 16px; }
- .event-card-media { min-height: 188px; }
- .event-card-date { width: 68px; height: 68px; }
- .topic-vote-footer { align-items: start; flex-direction: column; }
- .section, .section + .section { margin-top: 56px; }
- .section-heading { gap: 14px; margin-bottom: 22px; }
- .event-grid, .reason-grid, .legacy-partners { gap: 14px; }
- .event-card--visual .event-card-content { padding: 22px 20px 24px; }
- .topic-vote, .partner-card { padding: 24px; }
- .footer-content, .footer-nav, .contact-grid, .contact-note { grid-template-columns: 1fr; }
- .footer-nav { gap: 30px; }
- .footer-bottom { align-items: flex-start; flex-direction: column; gap: 6px; margin-top: 42px; }
- .contact-grid { margin-top: 34px; }
- .contact-card { min-height: 240px; }
- .contact-note { margin-top: 64px; }
- .reasons-section .reason-grid { gap: 14px; }
- .reasons-section .reason-grid article { min-height: 0; padding: 24px; }
- .score-section { padding: 30px 24px; }
- .partners-section .partner-card { min-height: 210px; }
- .speaker-invite { grid-template-columns: 1fr; gap: 24px; }
- .impact-values + .impact-invite { margin-top: 56px; }
- .impact-values .reason-grid article { min-height: 0; }
- .hacktoberfest-hero { grid-template-columns: 1fr; gap: 30px; min-height: 0; }
- .hacktoberfest-hero-image { max-width: 620px; transform: none; }
- .hacktoberfest-stats, .hacktoberfest-category-grid, .hacktoberfest-types, .hacktoberfest-winner-grid, .hacktoberfest-requirements { grid-template-columns: 1fr; }
- .hacktoberfest-stats { margin-top: 34px; }
- .hacktoberfest-category-grid, .hacktoberfest-types, .hacktoberfest-winner-grid { gap: 14px; margin-top: 24px; }
- .hacktoberfest-surface { padding: 30px 22px; }
- .hacktoberfest-gallery-cta { align-items: flex-start; flex-direction: column; margin-top: 64px; }
- .hacktoberfest-home-card { grid-template-columns: 1fr; gap: 24px; }
- .hacktoberfest-home-meta { justify-self: start; min-width: 136px; }
- .english-page .hero-image { min-height: 240px; }
- .hero-code-motifs { display: none; }
- .not-found {
+ .event-card-media {
+ min-height: 175px;
+ }
+ .staff-grid,
+ .values-grid,
+ .role-grid {
+ grid-template-columns: 1fr;
+ }
+ .staff-closing,
+ .help-rhythm,
+ .help-cta {
+ align-items: start;
grid-template-columns: 1fr;
- gap: 38px;
- min-height: auto;
- padding: 42px 26px 48px;
}
- .not-found-mark { font-size: clamp(5rem, 25vw, 8rem); }
+ .values-grid .section-heading,
+ .role-grid .section-heading {
+ grid-column: auto;
+ }
}
-@media (min-width: 761px) and (max-width: 980px) {
- .hero { grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); gap: 36px; }
- .hero h1 { font-size: clamp(2.6rem, 5.8vw, 4.2rem); }
- .section, .section + .section { margin-top: 72px; }
- .event-card--visual .event-card-content { padding: 22px; }
+@media (prefers-reduced-motion: reduce) {
+ .event-card.event-card--visual {
+ animation: none;
+ }
+ .event-card:hover .event-card-photo,
+ .staff-card:hover {
+ transform: none;
+ }
+ .hero-copy,
+ .hero-image-wrap {
+ animation: none;
+ }
}
-@media (prefers-reduced-motion: reduce) {
- .hero-copy, .hero-image-wrap, .event-grid .event-card, .staff-grid .staff-card, .legacy-partners .partner-card { animation: none; }
- .hero-image-wrap:hover .hero-image, .hero-image-wrap .hero-image { transform: none; }
- .hero-code-motif { animation: none; }
+/* A calmer rhythm for the denser pages. */
+.main-content {
+ padding-top: clamp(52px, 7vw, 88px);
+}
+.page-intro,
+.staff-intro,
+.help-hero {
+ margin-bottom: 8px;
+}
+.page-intro > p:last-of-type,
+.staff-intro > p:last-of-type,
+.help-hero > p:last-of-type {
+ max-width: 700px;
+ margin-bottom: 0;
+}
+.section-heading {
+ margin-bottom: 32px;
+}
+.section-heading-links {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 18px;
+ align-items: center;
+}
+.event-grid {
+ gap: 20px;
+}
+.event-card--visual {
+ border-radius: 26px;
+}
+.event-card-media {
+ min-height: 208px;
+}
+.event-card-date {
+ width: 76px;
+ height: 76px;
+ border: 4px solid rgba(255, 255, 255, 0.7);
+ border-radius: 50%;
+ background: rgba(240, 234, 255, 0.94);
+ box-shadow: 0 12px 24px rgba(33, 18, 57, 0.22);
+ backdrop-filter: blur(12px);
+ transform: rotate(-3deg);
+ transition:
+ transform 220ms ease,
+ box-shadow 220ms ease;
+}
+.event-card:hover .event-card-date {
+ transform: rotate(0) translateY(-3px);
+ box-shadow: 0 16px 28px rgba(33, 18, 57, 0.28);
+}
+.event-card-placeholder-label {
+ max-width: 190px;
+ font-size: 0.82rem;
+ letter-spacing: 0.08em;
+}
+.event-card--visual .event-card-content {
+ padding: 26px;
+}
+.staff-grid {
+ gap: 22px;
+ margin-top: 56px;
+}
+.staff-card {
+ padding: 28px;
+}
+.staff-card h2 {
+ margin-bottom: 18px;
+}
+.staff-card .text-link {
+ margin-top: 0;
+}
+.staff-archive {
+ max-width: 760px;
+ margin-top: 72px;
+ padding: clamp(28px, 5vw, 48px);
+ border: 1px solid var(--line);
+ border-radius: 26px;
+ background: var(--lavender);
+}
+.staff-archive h2 {
+ margin-bottom: 12px;
+}
+.staff-archive p:last-child {
+ margin-bottom: 0;
+ color: var(--muted);
+}
+.impact-metrics {
+ margin-top: 28px;
+}
+.impact-metrics > div {
+ min-height: 118px;
+}
+.topic-vote {
+ border: 1px solid rgba(203, 188, 239, 0.7);
+ box-shadow: 0 16px 36px rgba(56, 29, 111, 0.07);
+}
+.hidden-field {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+ clip: rect(0 0 0 0);
+ white-space: nowrap;
+}
+.english-page .hero {
+ min-height: 430px;
+}
+.english-page .english-grid {
+ align-items: start;
+}
+.english-page .english-cta {
+ margin-top: 0;
+}
+.english-page .hero-actions {
+ margin-bottom: 0;
+}
+.site-header nav a {
+ transition:
+ color 180ms ease,
+ opacity 180ms ease;
+}
+.site-header nav a:hover {
+ opacity: 0.72;
+}
+
+/* Keep each section visually distinct instead of letting adjacent backgrounds merge. */
+.section {
+ margin-top: clamp(72px, 8vw, 104px);
+}
+.section + .section {
+ margin-top: clamp(72px, 8vw, 104px);
+}
+.page-intro {
+ padding-bottom: clamp(20px, 3vw, 34px);
+}
+.hero {
+ position: relative;
+ gap: clamp(44px, 8vw, 112px);
+}
+.hero {
+ grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
+}
+.hero h1 {
+ max-width: 760px;
+ font-size: clamp(2.65rem, 4.8vw, 5rem);
+ text-wrap: balance;
+}
+.hero-copy {
+ min-width: 0;
+}
+.hero-copy,
+.hero-image-wrap {
+ animation: content-enter 620ms cubic-bezier(0.22, 0.8, 0.24, 1) both;
+}
+.hero-image-wrap {
+ animation-delay: 90ms;
+}
+.hero-image-wrap {
+ position: relative;
+ justify-self: end;
+ width: min(100%, 540px);
+ isolation: isolate;
+ box-shadow:
+ 16px 20px 0 var(--lavender),
+ 0 28px 60px rgba(33, 18, 57, 0.13);
+ transform: translateZ(0);
+ animation:
+ content-enter 620ms cubic-bezier(0.22, 0.8, 0.24, 1) both,
+ hero-float 8s ease-in-out 720ms infinite;
+}
+.hero-image-wrap::after {
+ position: absolute;
+ z-index: 2;
+ inset: 0;
+ border: 1px solid rgba(255, 255, 255, 0.42);
+ border-radius: inherit;
+ content: "";
+ pointer-events: none;
+}
+.hero-image {
+ transform: scale(1.015);
+ transition:
+ transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1),
+ filter 700ms ease;
+}
+.hero-image-wrap:hover .hero-image {
+ transform: scale(1.07);
+ filter: saturate(1.08) contrast(1.03);
+}
+.hero-image-wrap:hover {
+ box-shadow:
+ 18px 24px 0 var(--lavender),
+ 0 34px 72px rgba(33, 18, 57, 0.19);
+}
+.hero-code-motifs {
+ --pointer-x: 0;
+ --pointer-y: 0;
+ position: absolute;
+ z-index: 0;
+ inset: 0;
+ overflow: visible;
+ pointer-events: auto;
+}
+.hero > .hero-copy,
+.hero > .hero-image-wrap {
+ position: relative;
+ z-index: 1;
+}
+.hero-code-motif {
+ --depth: 1;
+ position: absolute;
+ display: grid;
+ place-items: center;
+ min-width: 46px;
+ height: 46px;
+ padding: 0 10px;
+ border: 1px solid rgba(255, 255, 255, 0.38);
+ border-radius: 14px;
+ background: rgba(33, 18, 57, 0.36);
+ box-shadow: 0 12px 28px rgba(20, 9, 43, 0.22);
+ color: #fff;
+ font-family: "SFMono-Regular", Consolas, monospace;
+ font-size: 0.9rem;
+ font-weight: 700;
+ letter-spacing: -0.08em;
+ text-shadow: 0 1px 12px rgba(255, 255, 255, 0.38);
+ backdrop-filter: blur(8px);
+ animation: code-motif-float 7s ease-in-out infinite;
+ transition:
+ transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1),
+ box-shadow 700ms ease;
+}
+.hero-code-motif::after {
+ position: absolute;
+ width: 5px;
+ height: 5px;
+ border-radius: 50%;
+ background: var(--purple);
+ box-shadow: 0 0 14px var(--purple);
+ content: "";
+}
+.motif-angle {
+ --depth: 0.7;
+ top: 7%;
+ left: 58%;
+ animation-delay: -1.2s;
+ transform: translate(
+ calc(var(--pointer-x) * 10px * var(--depth)),
+ calc(var(--pointer-y) * 8px * var(--depth))
+ )
+ rotate(-12deg);
+}
+.motif-angle::after {
+ right: -3px;
+ bottom: 6px;
+}
+.motif-braces {
+ --depth: 1.2;
+ top: 16%;
+ right: 2%;
+ animation-delay: -3.8s;
+ transform: translate(
+ calc(var(--pointer-x) * 10px * var(--depth)),
+ calc(var(--pointer-y) * 8px * var(--depth))
+ )
+ rotate(9deg) scale(1.08);
+}
+.motif-braces::after {
+ left: -3px;
+ bottom: 8px;
+ background: #fff;
+}
+.motif-arrow {
+ --depth: 0.9;
+ bottom: 12%;
+ left: 60%;
+ animation-delay: -2.5s;
+ transform: translate(
+ calc(var(--pointer-x) * 10px * var(--depth)),
+ calc(var(--pointer-y) * 8px * var(--depth))
+ )
+ rotate(7deg) scale(0.88);
+}
+.motif-arrow::after {
+ right: 5px;
+ top: -3px;
+ background: #d9caff;
+}
+.motif-parentheses {
+ --depth: 1.35;
+ right: 24%;
+ bottom: 3%;
+ animation-delay: -4.6s;
+ transform: translate(
+ calc(var(--pointer-x) * 10px * var(--depth)),
+ calc(var(--pointer-y) * 8px * var(--depth))
+ )
+ rotate(-8deg) scale(0.82);
+}
+.motif-parentheses::after {
+ left: 5px;
+ top: -3px;
+ background: #fff;
+}
+.motif-semicolon {
+ --depth: 0.55;
+ top: 48%;
+ left: 72%;
+ min-width: 34px;
+ height: 34px;
+ border-radius: 50%;
+ animation-delay: -5.2s;
+ transform: translate(
+ calc(var(--pointer-x) * 10px * var(--depth)),
+ calc(var(--pointer-y) * 8px * var(--depth))
+ )
+ rotate(14deg) scale(0.72);
+}
+.motif-semicolon::after {
+ right: -4px;
+ top: 5px;
+ width: 4px;
+ height: 4px;
+}
+.partner-card-dark {
+ background: #24163b;
+ border-color: #4f3c69;
+}
+.partner-card-dark img {
+ max-height: 116px;
+ filter: brightness(1.08);
+}
+.homepage-archive {
+ padding: clamp(34px, 5vw, 58px);
+ border-radius: 32px;
+ background: linear-gradient(145deg, #24163b, #39215d);
+ color: #fff;
+}
+.homepage-archive .eyebrow {
+ color: #d9caff;
+}
+.homepage-archive .text-link {
+ color: #fff;
+}
+.homepage-archive .event-card {
+ background: rgba(255, 255, 255, 0.96);
+}
+.homepage-archive .event-card:not(.event-card-featured),
+.homepage-archive .event-card:not(.event-card-featured) .event-card-content {
+ color: var(--ink);
+ background: #fff;
+}
+.homepage-archive .event-card:not(.event-card-featured) .event-link {
+ color: var(--purple-dark);
+}
+.homepage-archive .event-card:hover {
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.24);
+}
+.partners-section {
+ align-items: center;
+}
+.partners-section > div:first-child {
+ max-width: 560px;
+}
+.partners-section > div:first-child > p:not(.eyebrow) {
+ margin-bottom: 22px;
+}
+.partners-section .partner-card {
+ min-height: 250px;
+ background: #fff;
+ border-color: var(--line);
+ box-shadow: 0 14px 34px rgba(56, 29, 111, 0.06);
+}
+.partners-section .partner-card img {
+ max-width: 82%;
+ filter: none;
+}
+.reasons-section .section-heading {
+ max-width: 760px;
+ margin-bottom: 30px;
+}
+.reasons-section .reason-grid {
+ align-items: stretch;
+ gap: 18px;
+}
+.reasons-section .reason-grid article {
+ display: flex;
+ flex-direction: column;
+ min-height: 238px;
+ padding: 28px;
+ border-radius: 22px;
+}
+.reasons-section .reason-grid span {
+ display: block;
+ margin-bottom: 28px;
+ font-size: 0.82rem;
+ letter-spacing: 0.08em;
+}
+.reasons-section .reason-grid h3 {
+ margin: 0 0 12px;
+ line-height: 1.2;
+}
+.reasons-section .reason-grid p {
+ margin: 0;
+ max-width: 34ch;
+ line-height: 1.55;
+}
+.score-section {
+ width: min(100%, 900px);
+ padding: clamp(34px, 5vw, 58px);
+}
+.score-section h2 {
+ max-width: 680px;
+ margin-bottom: 22px;
+ line-height: 1.05;
+}
+.score-section > p:not(.eyebrow) {
+ margin-bottom: 0;
+ line-height: 1.65;
+}
+.format-points {
+ gap: 10px;
+ margin-top: 30px;
+}
+.format-points span {
+ padding: 8px 14px;
+}
+.current-partner .partner-card {
+ background: #fff;
+ border-color: var(--line);
+ color: var(--ink);
+}
+.hacktoberfest-home-card {
+ display: grid;
+ grid-template-columns: 1fr auto;
+ gap: 32px;
+ align-items: center;
+ padding: clamp(30px, 5vw, 54px);
+ border-radius: 28px;
+ background: linear-gradient(135deg, #211239, #4b2c79);
+ color: #fff;
+}
+.hacktoberfest-home-card .eyebrow {
+ color: #d9caff;
+}
+.hacktoberfest-home-card h2 {
+ margin-bottom: 14px;
+}
+.hacktoberfest-home-card p:not(.eyebrow) {
+ max-width: 680px;
+ margin-bottom: 24px;
+ color: #e2d9f0;
+ font-size: 1.05rem;
+}
+.hacktoberfest-home-card .button-primary {
+ background: #c3a5ff;
+ border-color: #c3a5ff;
+}
+.hacktoberfest-home-meta {
+ display: grid;
+ min-width: 150px;
+ padding: 24px;
+ border: 1px solid rgba(217, 202, 255, 0.3);
+ border-radius: 20px;
+ background: rgba(255, 255, 255, 0.08);
+ text-align: center;
+}
+.hacktoberfest-home-meta strong {
+ font-size: 3.4rem;
+ line-height: 1;
+ letter-spacing: -0.08em;
+}
+.hacktoberfest-home-meta span {
+ color: #d9caff;
+ font-size: 0.82rem;
+}
+.hacktoberfest-home-meta strong {
+ display: block;
+ margin-bottom: 8px;
+}
+.hacktoberfest-home-meta span + span {
+ margin-top: 4px;
+}
+.speaker-invite {
+ display: grid;
+ grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
+ gap: clamp(28px, 6vw, 80px);
+ align-items: start;
+}
+.speaker-invite > div:last-child {
+ min-width: 0;
+}
+.speaker-invite > div:last-child > p:first-child {
+ margin-bottom: 24px;
+ line-height: 1.65;
+}
+.speaker-invite .speaker-note {
+ margin-top: 18px;
+ line-height: 1.45;
+}
+.score-section .format-points {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+}
+.score-section .format-points span {
+ display: inline-flex;
+ align-items: center;
+ line-height: 1.2;
+}
+.community-day {
+ align-items: start;
+}
+.community-day > div:last-child {
+ min-width: 0;
+ line-height: 1.65;
+}
+.community-day > div:last-child p {
+ margin-bottom: 20px;
+}
+.community-day > div:last-child .button {
+ margin-top: 4px;
+}
+.impact-values .section-heading {
+ max-width: 800px;
+ margin-bottom: 32px;
+}
+.impact-values .reason-grid {
+ gap: 18px;
+}
+.impact-values .reason-grid article {
+ min-height: 220px;
+}
+.impact-invite > div:last-child {
+ line-height: 1.65;
+}
+.impact-invite .hero-actions {
+ margin-top: 24px;
+}
+.press-block {
+ padding-bottom: 8px;
+}
+.press-block > p {
+ line-height: 1.65;
+}
+.press-block ul {
+ padding-left: 1.3rem;
+ margin: 0;
+}
+.press-block li {
+ padding-left: 6px;
+ line-height: 1.55;
+}
+.site-footer {
+ margin-top: clamp(76px, 10vw, 132px);
+ padding: 64px 0 22px;
+ background: var(--ink);
+ color: #fff;
+}
+.footer-content {
+ display: grid;
+ grid-template-columns: minmax(220px, 0.8fr) 1.2fr;
+ gap: clamp(42px, 9vw, 120px);
+}
+.footer-intro {
+ max-width: 300px;
+}
+.footer-brand {
+ margin-bottom: 10px;
+ font-size: 1.35rem;
+ letter-spacing: -0.03em;
+}
+.footer-intro > p:not(.footer-brand) {
+ margin-bottom: 24px;
+ color: #cfc5e7;
+ font-size: 0.95rem;
+}
+.footer-cta {
+ display: inline-flex;
+ align-items: center;
+ gap: 8px;
+ color: #fff;
+ font-weight: 800;
+ text-underline-offset: 5px;
+}
+.footer-bug-link {
+ display: inline-flex;
+ max-width: 260px;
+ margin-top: 18px;
+ color: #d9caff;
+ font-size: 0.86rem;
+ font-weight: 700;
+ line-height: 1.45;
+ text-underline-offset: 4px;
+}
+.footer-bug-link:hover {
+ color: #fff;
+}
+.footer-nav {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 28px;
+}
+.footer-nav > div {
+ display: grid;
+ align-content: start;
+ gap: 10px;
+}
+.footer-heading {
+ margin: 0 0 4px;
+ color: #d9caff;
+ font-size: 0.72rem;
+ font-weight: 850;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+}
+.footer-nav a {
+ color: #fff;
+ font-size: 0.92rem;
+ text-decoration: none;
+ text-underline-offset: 4px;
+}
+.footer-nav a:hover,
+.footer-cta:hover {
+ color: #d9caff;
+ text-decoration: underline;
+}
+.footer-bottom {
+ display: flex;
+ justify-content: space-between;
+ gap: 20px;
+ margin-top: 58px;
+ padding-top: 18px;
+ border-top: 1px solid rgba(217, 202, 255, 0.22);
+ color: #aa9dc4;
+ font-size: 0.78rem;
+}
+.footer-nav > div {
+ min-width: 0;
+}
+.footer-nav a {
+ display: block;
+ width: fit-content;
+ line-height: 1.4;
+}
+.site-footer .footer-bottom span {
+ line-height: 1.4;
+}
+.contact-page {
+ max-width: 1000px;
+}
+.contact-intro {
+ max-width: 760px;
+}
+.contact-grid {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 18px;
+ margin-top: 48px;
+}
+.contact-card {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ min-height: 270px;
+ padding: clamp(24px, 4vw, 36px);
+ border: 1px solid var(--line);
+ border-radius: 24px;
+ background: #fff;
+ box-shadow: 0 12px 30px rgba(56, 29, 111, 0.05);
+}
+.contact-card-index {
+ margin-bottom: 30px;
+ color: var(--purple-dark);
+ font-family: "SFMono-Regular", Consolas, monospace;
+ font-size: 0.8rem;
+ font-weight: 800;
+}
+.contact-card h2 {
+ margin-bottom: 12px;
+ font-size: clamp(1.5rem, 2.8vw, 2.15rem);
+}
+.contact-card > p:not(.contact-card-index) {
+ max-width: 42ch;
+ margin-bottom: 24px;
+ color: var(--muted);
+}
+.contact-card .button {
+ margin-top: auto;
+}
+.contact-note {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: clamp(28px, 6vw, 80px);
+ margin-top: 96px;
+ padding: clamp(30px, 5vw, 58px);
+ border-radius: 28px;
+ background: var(--lavender);
+}
+.contact-note h2 {
+ max-width: 420px;
+}
+.contact-note > div:last-child {
+ color: #484057;
+ font-size: 1.08rem;
+}
+.hacktoberfest-page {
+ max-width: 1120px;
+}
+.hacktoberfest-hero {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) minmax(340px, 0.8fr);
+ gap: clamp(36px, 7vw, 96px);
+ align-items: center;
+ min-height: 500px;
+}
+.hacktoberfest-hero h1 {
+ max-width: 720px;
+}
+.hacktoberfest-lede {
+ max-width: 620px;
+ color: var(--muted);
+ font-size: clamp(1.15rem, 2vw, 1.4rem);
+}
+.hacktoberfest-hero-image {
+ overflow: hidden;
+ border-radius: 28px;
+ border: 1px solid var(--line);
+ background: #fff;
+ box-shadow:
+ 16px 18px 0 var(--lavender),
+ 0 24px 54px rgba(33, 18, 57, 0.12);
+ transform: rotate(1deg);
+}
+.hacktoberfest-hero-image img {
+ display: block;
+ width: 100%;
+ height: auto;
+}
+.hacktoberfest-stats {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 1px;
+ margin-top: 48px;
+ overflow: hidden;
+ border: 1px solid var(--line);
+ border-radius: 22px;
+ background: var(--line);
+}
+.hacktoberfest-stats > div {
+ padding: 24px;
+ background: #fff;
+}
+.hacktoberfest-stats strong,
+.hacktoberfest-stats span {
+ display: block;
+}
+.hacktoberfest-stats strong {
+ font-size: 2.15rem;
+ letter-spacing: -0.06em;
+}
+.hacktoberfest-stats span {
+ color: var(--muted);
+ font-size: 0.88rem;
+}
+.hacktoberfest-section {
+ max-width: 1000px;
+}
+.hacktoberfest-intro {
+ max-width: 720px;
+ color: #484057;
+ font-size: 1.08rem;
+}
+.hacktoberfest-category-grid,
+.hacktoberfest-types,
+.hacktoberfest-winner-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 18px;
+ margin-top: 32px;
+}
+.hacktoberfest-category-grid article,
+.hacktoberfest-types article,
+.hacktoberfest-winner-grid article {
+ padding: 28px;
+ border: 1px solid var(--line);
+ border-radius: 22px;
+ background: #fff;
+}
+.hacktoberfest-category-grid span {
+ color: var(--purple-dark);
+ font-family: "SFMono-Regular", Consolas, monospace;
+ font-size: 0.82rem;
+ font-weight: 800;
+}
+.hacktoberfest-category-grid h3,
+.hacktoberfest-types h3,
+.hacktoberfest-winner-grid h3 {
+ margin: 22px 0 12px;
+ line-height: 1.2;
+}
+.hacktoberfest-category-grid p,
+.hacktoberfest-types p,
+.hacktoberfest-winner-grid p {
+ margin-bottom: 0;
+ color: var(--muted);
+}
+.hacktoberfest-surface {
+ max-width: none;
+ padding: clamp(34px, 5vw, 58px);
+ border-radius: 30px;
+ background: var(--lavender);
+}
+.hacktoberfest-surface .section-heading {
+ max-width: 700px;
+}
+.hacktoberfest-types {
+ grid-template-columns: repeat(3, 1fr);
+}
+.hacktoberfest-types article {
+ border-color: rgba(115, 71, 197, 0.16);
+}
+.hacktoberfest-types h3 {
+ margin-top: 0;
+}
+.hacktoberfest-example {
+ margin-top: 18px;
+ padding-top: 18px;
+ border-top: 1px solid rgba(115, 71, 197, 0.18);
+ font-size: 0.92rem;
+}
+.hacktoberfest-example strong {
+ color: var(--ink);
+}
+.hacktoberfest-note,
+.hacktoberfest-goal {
+ max-width: 760px;
+ margin: 28px 0 0;
+ color: #484057;
+ font-size: 1.05rem;
+}
+.hacktoberfest-requirements {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 12px 28px;
+ max-width: 850px;
+ padding: 0;
+ margin: 30px 0 0;
+ list-style: none;
+}
+.hacktoberfest-requirements li {
+ position: relative;
+ padding-left: 28px;
+}
+.hacktoberfest-requirements li::before {
+ position: absolute;
+ top: 0.55em;
+ left: 0;
+ width: 9px;
+ height: 9px;
+ border-radius: 50%;
+ background: var(--purple);
+ content: "";
+}
+.hacktoberfest-winners {
+ max-width: none;
+}
+.hacktoberfest-winner-grid {
+ grid-template-columns: repeat(3, 1fr);
+}
+.hacktoberfest-winner-grid article {
+ display: flex;
+ flex-direction: column;
+}
+.hacktoberfest-winner-category {
+ color: var(--purple-dark) !important;
+ font-size: 0.74rem;
+ font-weight: 850;
+ letter-spacing: 0.04em;
+ text-transform: uppercase;
+}
+.hacktoberfest-winner-grid h3 {
+ font-size: 1.35rem;
+}
+.hacktoberfest-authors {
+ margin-top: auto;
+ padding-top: 22px;
+ font-size: 0.82rem;
+ font-weight: 700;
+}
+.hacktoberfest-gallery-cta {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 28px;
+ margin-top: 96px;
+ padding: clamp(30px, 5vw, 58px);
+ border-radius: 28px;
+ background: var(--ink);
+ color: #fff;
+}
+.hacktoberfest-gallery-cta h2 {
+ max-width: 650px;
+}
+.hacktoberfest-gallery-cta .eyebrow {
+ color: #d9caff;
+}
+.current-partner .partner-card {
+ min-height: 250px;
+}
+.legacy-partners {
+ gap: 22px;
+}
+.legacy-partners .partner-card {
+ min-height: 220px;
+}
+.staff-archive {
+ margin-top: clamp(56px, 8vw, 96px);
+}
+.english-page .hero-image-wrap {
+ min-width: 0;
+}
+.english-page .hero-image {
+ min-height: 320px;
+ object-fit: cover;
+}
+.english-page .section {
+ margin-top: clamp(72px, 8vw, 104px);
+}
+.thanks-page {
+ max-width: 720px;
+ padding: clamp(42px, 8vw, 96px) 0;
+}
+.thanks-page > p:not(.eyebrow) {
+ max-width: 580px;
+ color: var(--muted);
+ font-size: 1.2rem;
+}
+@keyframes content-enter {
+ from {
+ opacity: 0;
+ transform: translateY(16px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+@keyframes hero-float {
+ 0%,
+ 100% {
+ transform: translateY(0) rotate(0deg);
+ }
+ 50% {
+ transform: translateY(-8px) rotate(0.35deg);
+ }
+}
+@keyframes code-motif-float {
+ 0%,
+ 100% {
+ margin-top: 0;
+ opacity: 0.7;
+ }
+ 50% {
+ margin-top: -10px;
+ opacity: 0.98;
+ }
+}
+.event-grid .event-card:nth-child(2),
+.staff-grid .staff-card:nth-child(2),
+.legacy-partners .partner-card:nth-child(2) {
+ animation-delay: 80ms;
+}
+.event-grid .event-card:nth-child(3),
+.staff-grid .staff-card:nth-child(3),
+.legacy-partners .partner-card:nth-child(3) {
+ animation-delay: 160ms;
+}
+.event-grid .event-card,
+.staff-grid .staff-card,
+.legacy-partners .partner-card {
+ animation: event-card-arrive 520ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
+}
+
+html {
+ scrollbar-color: var(--purple-dark) var(--lavender);
+ scrollbar-width: thin;
+}
+::-webkit-scrollbar {
+ width: 11px;
+}
+::-webkit-scrollbar-track {
+ background: var(--lavender);
+}
+::-webkit-scrollbar-thumb {
+ border: 3px solid var(--lavender);
+ border-radius: 999px;
+ background: var(--purple-dark);
+}
+::-webkit-scrollbar-thumb:hover {
+ background: var(--ink);
+}
+
+@media (max-width: 760px) {
+ .main-content {
+ padding-bottom: 76px;
+ }
+ .hero {
+ grid-template-columns: 1fr;
+ gap: 42px;
+ }
+ .hero-image-wrap {
+ justify-self: stretch;
+ width: 100%;
+ max-width: none;
+ }
+ .section-heading {
+ align-items: start;
+ flex-direction: column;
+ }
+ .section-heading-links {
+ gap: 10px 16px;
+ }
+ .event-card-media {
+ min-height: 188px;
+ }
+ .event-card-date {
+ width: 68px;
+ height: 68px;
+ }
+ .topic-vote-footer {
+ align-items: start;
+ flex-direction: column;
+ }
+ .section,
+ .section + .section {
+ margin-top: 56px;
+ }
+ .section-heading {
+ gap: 14px;
+ margin-bottom: 22px;
+ }
+ .event-grid,
+ .reason-grid,
+ .legacy-partners {
+ gap: 14px;
+ }
+ .event-card--visual .event-card-content {
+ padding: 22px 20px 24px;
+ }
+ .topic-vote,
+ .partner-card {
+ padding: 24px;
+ }
+ .footer-content,
+ .footer-nav,
+ .contact-grid,
+ .contact-note {
+ grid-template-columns: 1fr;
+ }
+ .footer-nav {
+ gap: 30px;
+ }
+ .footer-bottom {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 6px;
+ margin-top: 42px;
+ }
+ .contact-grid {
+ margin-top: 34px;
+ }
+ .contact-card {
+ min-height: 240px;
+ }
+ .contact-note {
+ margin-top: 64px;
+ }
+ .reasons-section .reason-grid {
+ gap: 14px;
+ }
+ .reasons-section .reason-grid article {
+ min-height: 0;
+ padding: 24px;
+ }
+ .score-section {
+ padding: 30px 24px;
+ }
+ .partners-section .partner-card {
+ min-height: 210px;
+ }
+ .speaker-invite {
+ grid-template-columns: 1fr;
+ gap: 24px;
+ }
+ .impact-values + .impact-invite {
+ margin-top: 56px;
+ }
+ .impact-values .reason-grid article {
+ min-height: 0;
+ }
+ .hacktoberfest-hero {
+ grid-template-columns: 1fr;
+ gap: 30px;
+ min-height: 0;
+ }
+ .hacktoberfest-hero-image {
+ max-width: 620px;
+ transform: none;
+ }
+ .hacktoberfest-stats,
+ .hacktoberfest-category-grid,
+ .hacktoberfest-types,
+ .hacktoberfest-winner-grid,
+ .hacktoberfest-requirements {
+ grid-template-columns: 1fr;
+ }
+ .hacktoberfest-stats {
+ margin-top: 34px;
+ }
+ .hacktoberfest-category-grid,
+ .hacktoberfest-types,
+ .hacktoberfest-winner-grid {
+ gap: 14px;
+ margin-top: 24px;
+ }
+ .hacktoberfest-surface {
+ padding: 30px 22px;
+ }
+ .hacktoberfest-gallery-cta {
+ align-items: flex-start;
+ flex-direction: column;
+ margin-top: 64px;
+ }
+ .hacktoberfest-home-card {
+ grid-template-columns: 1fr;
+ gap: 24px;
+ }
+ .hacktoberfest-home-meta {
+ justify-self: start;
+ min-width: 136px;
+ }
+ .english-page .hero-image {
+ min-height: 240px;
+ }
+ .hero-code-motifs {
+ display: none;
+ }
+ .not-found {
+ grid-template-columns: 1fr;
+ gap: 38px;
+ min-height: auto;
+ padding: 42px 26px 48px;
+ }
+ .not-found-mark {
+ font-size: clamp(5rem, 25vw, 8rem);
+ }
+}
+
+@media (min-width: 761px) and (max-width: 980px) {
+ .hero {
+ grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
+ gap: 36px;
+ }
+ .hero h1 {
+ font-size: clamp(2.6rem, 5.8vw, 4.2rem);
+ }
+ .section,
+ .section + .section {
+ margin-top: 72px;
+ }
+ .event-card--visual .event-card-content {
+ padding: 22px;
+ }
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .hero-copy,
+ .hero-image-wrap,
+ .event-grid .event-card,
+ .staff-grid .staff-card,
+ .legacy-partners .partner-card {
+ animation: none;
+ }
+ .hero-image-wrap:hover .hero-image,
+ .hero-image-wrap .hero-image {
+ transform: none;
+ }
+ .hero-code-motif {
+ animation: none;
+ }
}
/* Keep card content aligned independently from the amount of copy. */
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 28d2721..9cc675b 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -4,41 +4,426 @@ import TeamImage from "../assets/team/team.png"
import MeetupEventCard from "@/components/MeetupEventCard"
import TopicVote from "@/components/TopicVote"
import HeroCodeMotifs from "@/components/HeroCodeMotifs"
-import { fetchMeetupEvents, meetupEventsUrl, splitMeetupEvents } from "@/lib/meetup"
+import {
+ fetchMeetupEvents,
+ meetupEventsUrl,
+ splitMeetupEvents,
+} from "@/lib/meetup"
export default async function Home() {
const events = await fetchMeetupEvents()
const { upcoming, past } = splitMeetupEvents(events)
const nextEvent = upcoming[0]
- return <>
-
- Community tech indipendente · Milano
Dove le persone che costruiscono software si incontrano. Meetup gratuiti, esperienze reali e conversazioni tecniche per chi vuole fare software meglio, insieme.
Engineering, testing, AI, architettura, DevOps e ciò che impariamo davvero sul campo.
-
-
+ return (
+ <>
+
+
+
Community tech indipendente · Milano
+
+ Dove le persone che costruiscono software si incontrano.
+
+
+ Meetup gratuiti, esperienze reali e conversazioni tecniche per chi
+ vuole fare software meglio, insieme.
+
+
+
+ Engineering, testing, AI, architettura, DevOps e ciò che impariamo
+ davvero sul campo.
+
+
+
+
+
+
+
- 1500+ persone coinvolte
50+ eventi organizzati
100% gratuito per chi partecipa
+
+
+ 1500+
+ persone coinvolte
+
+
+ 50+
+ eventi organizzati
+
+
+ 100%
+ gratuito per chi partecipa
+
+
-
+
+
+ {nextEvent ? (
+
+ ) : (
+
+ )}
+
- La nostra missione
Nata per riportare le conversazioni tecniche tra le persone. Coding Bunker nasce da una convinzione semplice: le competenze che abbiamo costruito sul lavoro diventano più utili quando le restituiamo alla community.
Per questo creiamo serate accessibili, senza biglietti né pitch commerciali, dove professioniste e professionisti condividono ciò che funziona, ciò che non ha funzionato e le domande che restano aperte.
Amiamo l’open source perché è un gesto concreto di restituzione: imparare in pubblico, rendere visibile il proprio sapere e lasciare qualcosa di utile a chi viene dopo.
+
+
+
La nostra missione
+
+ Nata per riportare le conversazioni tecniche tra le persone.
+
+
+
+
+ Coding Bunker nasce da una convinzione semplice: le competenze che
+ abbiamo costruito sul lavoro diventano più utili quando le
+ restituiamo alla community.
+
+
+ Per questo creiamo serate accessibili, senza biglietti né pitch
+ commerciali, dove professioniste e professionisti condividono ciò
+ che funziona, ciò che non ha funzionato e le domande che restano
+ aperte.
+
+
+ Amiamo l’open source perché è un gesto concreto di restituzione:
+ imparare in pubblico, rendere visibile il proprio sapere e lasciare
+ qualcosa di utile a chi viene dopo.
+
+
+
- Non un solo formato
Ogni conversazione trova la sua forma. Talk frontale Un’esperienza concreta raccontata da chi l’ha vissuta.
Open Discussion Una conversazione aperta per confrontare approcci e dubbi.
Fishbowl Conversations Una discussione che lascia spazio a chi vuole entrare nel cerchio.
Hackathon Una giornata per costruire, sperimentare e imparare facendo.
Open Source Hours Tempo condiviso per contribuire, chiedere aiuto e restituire valore.
Panel + Mentimeter Domande live dal pubblico per rendere il panel una conversazione.
Filoni tematici Una sequenza di eventi che approfondisce lo stesso argomento nel tempo, invece di esaurirlo in una sola sera.
+
+
+
+
Non un solo formato
+
+ Ogni conversazione trova la sua forma.
+
+
+
+
+
+ Talk frontale
+ Un’esperienza concreta raccontata da chi l’ha vissuta.
+
+
+ Open Discussion
+ Una conversazione aperta per confrontare approcci e dubbi.
+
+
+ Fishbowl Conversations
+
+ Una discussione che lascia spazio a chi vuole entrare nel cerchio.
+
+
+
+ Hackathon
+ Una giornata per costruire, sperimentare e imparare facendo.
+
+
+ Open Source Hours
+
+ Tempo condiviso per contribuire, chiedere aiuto e restituire
+ valore.
+
+
+
+ Panel + Mentimeter
+
+ Domande live dal pubblico per rendere il panel una conversazione.
+
+
+
+ Filoni tematici
+
+ Una sequenza di eventi che approfondisce lo stesso argomento nel
+ tempo, invece di esaurirlo in una sola sera.
+
+
+
+
- Evento speciale · Hack Day
Hacktoberfest Milan 39 partecipanti, progetti open source e AI open-weight: scopri i vincitori, le categorie e le foto dell’Hacktoberfest Hack Day Milano 2026.
Scopri Hacktoberfest Milan ↗ 39 partecipanti Milano · 2026
+
+
+
Evento speciale · Hack Day
+
Hacktoberfest Milan
+
+ 39 partecipanti, progetti open source e AI open-weight: scopri i
+ vincitori, le categorie e le foto dell’Hacktoberfest Hack Day Milano
+ 2026.
+
+
+ Scopri Hacktoberfest Milan ↗
+
+
+
+ 39
+ partecipanti
+ Milano · 2026
+
+
- Perché partecipare
Più vicino di una conferenza. Più utile di una slide. 01 Esperienze reali Parliamo di decisioni, limiti e compromessi incontrati nel lavoro quotidiano.
02 Domande, non platea Puoi intervenire, confrontarti con chi parla e continuare la conversazione dopo il talk.
03 Networking che resta Conosci persone con problemi e curiosità simili, senza badge costosi o barriere d’ingresso.
+
+
+
+
Perché partecipare
+
+ Più vicino di una conferenza. Più utile di una slide.
+
+
+
+
+
+ 01
+ Esperienze reali
+
+ Parliamo di decisioni, limiti e compromessi incontrati nel lavoro
+ quotidiano.
+
+
+
+ 02
+ Domande, non platea
+
+ Puoi intervenire, confrontarti con chi parla e continuare la
+ conversazione dopo il talk.
+
+
+
+ 03
+ Networking che resta
+
+ Conosci persone con problemi e curiosità simili, senza badge
+ costosi o barriere d’ingresso.
+
+
+
+
- Il nostro formato
Il valore di un meetup non è un voto a stelle. Lo misuriamo con ciò che succede dopo: una domanda che diventa confronto, una persona che torna, una competenza condivisa liberamente. Qui non vendiamo una conferenza: mettiamo a disposizione uno spazio per crescere insieme.
Gratuito Community-led In presenza Accessibile
+
+ Il nostro formato
+
+ Il valore di un meetup non è un voto a stelle.
+
+
+ Lo misuriamo con ciò che succede dopo: una domanda che diventa
+ confronto, una persona che torna, una competenza condivisa
+ liberamente. Qui non vendiamo una conferenza: mettiamo a disposizione
+ uno spazio per crescere insieme.
+
+
+ Gratuito
+ Community-led
+ In presenza
+ Accessibile
+
+
- Decidiamo insieme
Quale tema vuoi vedere al prossimo meetup? La programmazione nasce dalla community. Scegli il tema che ti interessa: useremo i risultati per orientare i prossimi inviti e le call.
+
+
+
Decidiamo insieme
+
+ Quale tema vuoi vedere al prossimo meetup?
+
+
+ La programmazione nasce dalla community. Scegli il tema che ti
+ interessa: useremo i risultati per orientare i prossimi inviti e le
+ call.
+
+
+
+
- Dai spazio alle idee
Hai una location? Noi portiamo persone, contenuti e valore. Se la tua azienda ha uno spazio a Milano, può diventare il luogo in cui professionisti si incontrano, imparano e creano connessioni. Coding Bunker cura la community e il programma; tu offri un luogo ospitale per far accadere qualcosa di utile.
Metti a disposizione una location ↗
+
+
+
Dai spazio alle idee
+
+ Hai una location? Noi portiamo persone, contenuti e valore.
+
+
+
+
+ Se la tua azienda ha uno spazio a Milano, può diventare il luogo in
+ cui professionisti si incontrano, imparano e creano connessioni.
+ Coding Bunker cura la community e il programma; tu offri un luogo
+ ospitale per far accadere qualcosa di utile.
+
+
+ Metti a disposizione una location ↗
+
+
+
- Proponi un talk
Il prossimo talk può partire da te. Hai imparato qualcosa sul campo, risolto un problema difficile o cambiato approccio? Le proposte di talk sono aperte: raccontaci la tua esperienza tramite Sessionize, la piattaforma che usiamo per raccogliere le candidature. Non servono solo CV perfetti: servono esperienze che vale la pena raccontare.
Proponi il tuo talk ↗ La proposta viene valutata dallo staff Coding Bunker.
+
+
+
Proponi un talk
+
Il prossimo talk può partire da te.
+
+
+
+ Hai imparato qualcosa sul campo, risolto un problema difficile o
+ cambiato approccio? Le proposte di talk sono aperte: raccontaci la
+ tua esperienza tramite Sessionize, la piattaforma che usiamo per
+ raccogliere le candidature. Non servono solo CV perfetti: servono
+ esperienze che vale la pena raccontare.
+
+
+ Proponi il tuo talk ↗
+
+
+ La proposta viene valutata dallo staff Coding Bunker.
+
+
+
- Partner attuale
Fondazione Giacomo Brodolini Grazie a chi sostiene luoghi e occasioni di condivisione professionale, aperte alla community.
Scopri i partner
→
+
+
+
Partner attuale
+
Fondazione Giacomo Brodolini
+
+ Grazie a chi sostiene luoghi e occasioni di condivisione
+ professionale, aperte alla community.
+
+
+ Scopri i partner
→
+
+
+
+
+
+
- Archivio
Gli ultimi meetup {past.length ? {past.slice(0, 3).map((event) => )}
: Gli eventi passati saranno disponibili qui appena Meetup li pubblicherà.
}
- >
+
+
+
+
Archivio
+
Gli ultimi meetup
+
+
+
+ {past.length ? (
+
+ {past.slice(0, 3).map((event) => (
+
+ ))}
+
+ ) : (
+
+ Gli eventi passati saranno disponibili qui appena Meetup li
+ pubblicherà.
+
+ )}
+
+ >
+ )
}
diff --git a/src/app/partners/page.tsx b/src/app/partners/page.tsx
index 8fd8533..b35b52a 100644
--- a/src/app/partners/page.tsx
+++ b/src/app/partners/page.tsx
@@ -2,8 +2,75 @@ import type { Metadata } from "next"
import Image from "next/image"
import Link from "next/link"
-export const metadata: Metadata = { title: "Partner", description: "Scopri come aziende, fondazioni e spazi possono sostenere gli eventi gratuiti di Coding Bunker a Milano." }
+export const metadata: Metadata = {
+ title: "Partner",
+ description:
+ "Scopri come aziende, fondazioni e spazi possono sostenere gli eventi gratuiti di Coding Bunker a Milano.",
+}
export default function PartnersPage() {
- return <>Partner
Spazi e persone che rendono possibile la community. Collaboriamo con organizzazioni che credono nella condivisione concreta di competenze e nel valore delle connessioni professionali aperte.
Partner attuale
Fondazione Giacomo Brodolini Un partner che contribuisce a creare contesti in cui formazione, lavoro e innovazione possono incontrarsi.
Diventa partner ↗ Cerchi chi ha sostenuto Coding Bunker in passato? Vedi i partner storici.
>
+ return (
+ <>
+
+ Partner
+ Spazi e persone che rendono possibile la community.
+
+ Collaboriamo con organizzazioni che credono nella condivisione
+ concreta di competenze e nel valore delle connessioni professionali
+ aperte.
+
+
+
+
+
+
+
+
+
Partner attuale
+
Fondazione Giacomo Brodolini
+
+ Un partner che contribuisce a creare contesti in cui formazione,
+ lavoro e innovazione possono incontrarsi.
+
+
+ Diventa partner ↗
+
+
+
+
+
+ Cerchi chi ha sostenuto Coding Bunker in passato?{" "}
+
+ Vedi i partner storici
+
+ .
+
+
+ >
+ )
}
diff --git a/src/app/partners/past/page.tsx b/src/app/partners/past/page.tsx
index f81aa59..310cf2f 100644
--- a/src/app/partners/past/page.tsx
+++ b/src/app/partners/past/page.tsx
@@ -6,7 +6,38 @@ import CondenseLogo from "../../../assets/partner/condense.png"
import GruspLogo from "../../../assets/partner/grusp.png"
import MollieLogo from "../../../assets/partner/mollie.svg"
-export const metadata: Metadata = { title: "Partner storici", description: "Le organizzazioni che hanno sostenuto Coding Bunker nel tempo." }
+export const metadata: Metadata = {
+ title: "Partner storici",
+ description: "Le organizzazioni che hanno sostenuto Coding Bunker nel tempo.",
+}
-const partners = [{ logo: CodemotionLogo, name: "Codemotion" }, { logo: CondenseLogo, name: "Condense" }, { logo: GruspLogo, name: "GrUSP" }, { logo: MollieLogo, name: "Mollie" }]
-export default function PastPartnersPage() { return <>Partner storici
Grazie a chi ha camminato con noi. Queste organizzazioni hanno sostenuto iniziative e momenti della storia di Coding Bunker.
{partners.map((partner) =>
)} ← Torna ai partner attuali> }
+const partners = [
+ { logo: CodemotionLogo, name: "Codemotion" },
+ { logo: CondenseLogo, name: "Condense" },
+ { logo: GruspLogo, name: "GrUSP" },
+ { logo: MollieLogo, name: "Mollie" },
+]
+export default function PastPartnersPage() {
+ return (
+ <>
+
+ Partner storici
+ Grazie a chi ha camminato con noi.
+
+ Queste organizzazioni hanno sostenuto iniziative e momenti della
+ storia di Coding Bunker.
+
+
+
+ {partners.map((partner) => (
+
+
+
+ ))}
+
+
+ ← Torna ai partner attuali
+
+ >
+ )
+}
diff --git a/src/app/press/page.tsx b/src/app/press/page.tsx
index 830707b..cac9b55 100644
--- a/src/app/press/page.tsx
+++ b/src/app/press/page.tsx
@@ -2,8 +2,157 @@ import type { Metadata } from "next"
import Image from "next/image"
import Logo from "../../assets/logo.svg"
-export const metadata: Metadata = { title: "Press kit | Coding Bunker", description: "Informazioni e fonti per raccontare Coding Bunker." }
+export const metadata: Metadata = {
+ title: "Press kit | Coding Bunker",
+ description: "Informazioni e fonti per raccontare Coding Bunker.",
+}
export default function PressPage() {
- return Press kit
Raccontare Coding Bunker, con le fonti. Materiali essenziali per media, enti, partner e persone che vogliono raccontare il valore della community a Milano.
Descrizione breve Coding Bunker è una community tech indipendente di Milano che organizza meetup gratuiti, talk, discussioni e momenti pratici per condividere esperienza professionale, imparare insieme e rendere la conoscenza tecnica più accessibile.
Descrizione breve: Community tech indipendente di Milano per chi costruisce software.
Fatti verificabili I numeri aggiornati di membri, eventi e valutazioni sono pubblicati su Meetup ↗ . Il canale YouTube ↗ conserva live pubblicate nel 2020 su AI, testing, cybersecurity, game development e inclusione nel digitale. La pagina ufficiale di Zig Day Milano #2 ↗ ringrazia Coding Bunker per la location e documenta la presenza di Andrew Kelley e del core team Zig. Community Day ↗ è un evento no profit organizzato con GrUSP e Fondazione Giacomo Brodolini per unire le community tech italiane.Gli eventi sono gratuiti per chi partecipa e il calendario ufficiale è disponibile su Meetup. Asset del brand Usa il logo senza alterarne proporzioni o colori. Per immagini, interviste o ulteriori materiali: info@codingbunker.it .
Angoli editoriali Dalle live del periodo pandemico agli incontri gratuiti in presenza a Milano. La conoscenza tecnologica come bene comune: meetup gratuiti e accessibili. Dal talk al fare: hackathon, open source hours e pratica condivisa. Community Day: una collaborazione tra community tech, non una competizione per l’attenzione.
+ return (
+
+
+ Press kit
+ Raccontare Coding Bunker, con le fonti.
+
+ Materiali essenziali per media, enti, partner e persone che vogliono
+ raccontare il valore della community a Milano.
+
+
+
+
+ Descrizione breve
+
+ Coding Bunker è una community tech indipendente di Milano che
+ organizza meetup gratuiti, talk, discussioni e momenti pratici per
+ condividere esperienza professionale, imparare insieme e rendere la
+ conoscenza tecnica più accessibile.
+
+
+ Descrizione breve: Community tech indipendente di
+ Milano per chi costruisce software.
+
+
+
+ Fatti verificabili
+
+
+ I numeri aggiornati di membri, eventi e valutazioni sono pubblicati
+ su{" "}
+
+ Meetup ↗
+
+ .
+
+
+ Il canale{" "}
+
+ YouTube ↗
+ {" "}
+ conserva live pubblicate nel 2020 su AI, testing, cybersecurity,
+ game development e inclusione nel digitale.
+
+
+ La pagina ufficiale di{" "}
+
+ Zig Day Milano #2 ↗
+ {" "}
+ ringrazia Coding Bunker per la location e documenta la presenza di
+ Andrew Kelley e del core team Zig.
+
+
+
+ Community Day ↗
+ {" "}
+ è un evento no profit organizzato con GrUSP e Fondazione Giacomo
+ Brodolini per unire le community tech italiane.
+
+
+ Gli eventi sono gratuiti per chi partecipa e il calendario ufficiale
+ è disponibile su Meetup.
+
+
+
+
+ Asset del brand
+
+
+ Usa il logo senza alterarne proporzioni o colori. Per immagini,
+ interviste o ulteriori materiali:{" "}
+
+ info@codingbunker.it
+
+ .
+
+
+
+ Angoli editoriali
+
+
+ Dalle live del periodo pandemico agli incontri gratuiti in presenza
+ a Milano.
+
+
+ La conoscenza tecnologica come bene comune: meetup gratuiti e
+ accessibili.
+
+
+ Dal talk al fare: hackathon, open source hours e pratica condivisa.
+
+
+ Community Day: una collaborazione tra community tech, non una
+ competizione per l’attenzione.
+
+
+
+
+ )
}
diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts
index ede4203..86ea0d2 100644
--- a/src/app/sitemap.ts
+++ b/src/app/sitemap.ts
@@ -4,11 +4,27 @@ const baseUrl = "https://www.codingbunker.it"
export const dynamic = "force-static"
export default function sitemap(): MetadataRoute.Sitemap {
- const routes = ["/", "/en", "/events", "/hacktoberfest", "/impatto-milano", "/partners", "/partners/past", "/press", "/staff", "/aiuta-la-community", "/about-us", "/code-of-conduct", "/contatti", "/contact"]
+ const routes = [
+ "/",
+ "/en",
+ "/events",
+ "/hacktoberfest",
+ "/impatto-milano",
+ "/partners",
+ "/partners/past",
+ "/press",
+ "/staff",
+ "/aiuta-la-community",
+ "/about-us",
+ "/code-of-conduct",
+ "/contatti",
+ "/contact",
+ ]
return routes.map((route) => ({
url: `${baseUrl}${route}`,
lastModified: new Date(),
- changeFrequency: route === "/" || route === "/events" ? "weekly" : "monthly",
+ changeFrequency:
+ route === "/" || route === "/events" ? "weekly" : "monthly",
priority: route === "/" ? 1 : route === "/events" ? 0.9 : 0.7,
}))
}
diff --git a/src/app/staff/page.tsx b/src/app/staff/page.tsx
index 420d92f..b707ec1 100644
--- a/src/app/staff/page.tsx
+++ b/src/app/staff/page.tsx
@@ -2,14 +2,88 @@ import type { Metadata } from "next"
import Image from "next/image"
import Link from "next/link"
-export const metadata: Metadata = { title: "Staff | Coding Bunker", description: "Le persone che rendono possibile Coding Bunker." }
+export const metadata: Metadata = {
+ title: "Staff | Coding Bunker",
+ description: "Le persone che rendono possibile Coding Bunker.",
+}
const staff = [
- { name: "Ludovico Besana", imageSrc: "/staff/ludovico-besana.png", linkedin: "https://www.linkedin.com/in/ludovicobesana/" },
- { name: "Pietro Marchini", imageSrc: "/staff/pietro-marchini.png", linkedin: "https://www.linkedin.com/in/pietro-marchini-6a2545109/" },
- { name: "Ruggero Visintin", imageSrc: "/staff/ruggero-visintin.png", linkedin: "https://www.linkedin.com/in/ruggero-enrico-visintin/" },
+ {
+ name: "Ludovico Besana",
+ imageSrc: "/staff/ludovico-besana.png",
+ linkedin: "https://www.linkedin.com/in/ludovicobesana/",
+ },
+ {
+ name: "Pietro Marchini",
+ imageSrc: "/staff/pietro-marchini.png",
+ linkedin: "https://www.linkedin.com/in/pietro-marchini-6a2545109/",
+ },
+ {
+ name: "Ruggero Visintin",
+ imageSrc: "/staff/ruggero-visintin.png",
+ linkedin: "https://www.linkedin.com/in/ruggero-enrico-visintin/",
+ },
]
export default function StaffPage() {
- return Le persone dietro gli eventi
Una piccola squadra, una community grande. Coding Bunker è costruita da persone che scelgono di mettere tempo, esperienza e cura al servizio di una conoscenza tecnica più accessibile.
Vorrei aiutare la communityArchivio della community
Hall of Fame dello staff Stiamo ricostruendo l’archivio delle persone che hanno contribuito alla storia di Coding Bunker. Torna presto per sbloccare i profili della vecchia crew.
Un lavoro condiviso
La community non è un servizio. È qualcosa che costruiamo insieme. Scopri come partecipare
+ return (
+
+
+ Le persone dietro gli eventi
+ Una piccola squadra, una community grande.
+
+ Coding Bunker è costruita da persone che scelgono di mettere tempo,
+ esperienza e cura al servizio di una conoscenza tecnica più
+ accessibile.
+
+
+ Vorrei aiutare la community
+
+
+
+
+ Archivio della community
+ Hall of Fame dello staff
+
+ Stiamo ricostruendo l’archivio delle persone che hanno contribuito
+ alla storia di Coding Bunker. Torna presto per sbloccare i profili
+ della vecchia crew.
+
+
+
+
+
Un lavoro condiviso
+
+ La community non è un servizio. È qualcosa che costruiamo insieme.
+
+
+
+ Scopri come partecipare
+
+
+
+ )
}
diff --git a/src/app/team/page.tsx b/src/app/team/page.tsx
index bfdcb3e..e5d6e0a 100644
--- a/src/app/team/page.tsx
+++ b/src/app/team/page.tsx
@@ -2,7 +2,10 @@ import type { Metadata } from "next"
import { redirect } from "next/navigation"
/** The public crew page replaced the former Notion-backed team listing. */
-export const metadata: Metadata = { title: "Team", description: "Le persone che organizzano Coding Bunker." }
+export const metadata: Metadata = {
+ title: "Team",
+ description: "Le persone che organizzano Coding Bunker.",
+}
export default function TeamPage() {
redirect("/staff")
diff --git a/src/components/AnnouncementBar.tsx b/src/components/AnnouncementBar.tsx
index 9189038..28d031a 100644
--- a/src/components/AnnouncementBar.tsx
+++ b/src/components/AnnouncementBar.tsx
@@ -31,7 +31,9 @@ export default function AnnouncementBar() {
- 🚀 Nuovo sito in arrivo — Presto online!
+
+ 🚀 Nuovo sito in arrivo — Presto online!
+
{
const footer = document.querySelector(".site-footer")
if (!footer) return
- const observer = new IntersectionObserver(([entry]) => setFooterVisible(entry.isIntersecting), { threshold: 0.05 })
+ const observer = new IntersectionObserver(
+ ([entry]) => setFooterVisible(entry.isIntersecting),
+ { threshold: 0.05 },
+ )
observer.observe(footer)
return () => observer.disconnect()
}, [])
- return <>
- window.scrollTo({ top: 0, behavior: "smooth" })} aria-label="Torna all'inizio">↑ Torna su
- ✦ Unisciti su Telegram
- >
+ return (
+ <>
+ window.scrollTo({ top: 0, behavior: "smooth" })}
+ aria-label="Torna all'inizio"
+ >
+ ↑ Torna su
+
+
+ ✦ Unisciti su Telegram
+
+ >
+ )
}
diff --git a/src/components/HeroCodeMotifs.tsx b/src/components/HeroCodeMotifs.tsx
index 4f7bb0b..876a1fb 100644
--- a/src/components/HeroCodeMotifs.tsx
+++ b/src/components/HeroCodeMotifs.tsx
@@ -15,7 +15,12 @@ export default function HeroCodeMotifs() {
useEffect(() => {
const container = containerRef.current
- if (!container || window.matchMedia("(prefers-reduced-motion: reduce)").matches || !window.matchMedia("(pointer: fine)").matches) return
+ if (
+ !container ||
+ window.matchMedia("(prefers-reduced-motion: reduce)").matches ||
+ !window.matchMedia("(pointer: fine)").matches
+ )
+ return
let frame = 0
const handlePointerMove = (event: PointerEvent) => {
@@ -24,8 +29,14 @@ export default function HeroCodeMotifs() {
const y = ((event.clientY - bounds.top) / bounds.height - 0.5) * 2
cancelAnimationFrame(frame)
frame = requestAnimationFrame(() => {
- container.style.setProperty("--pointer-x", `${Math.max(-1, Math.min(1, x))}`)
- container.style.setProperty("--pointer-y", `${Math.max(-1, Math.min(1, y))}`)
+ container.style.setProperty(
+ "--pointer-x",
+ `${Math.max(-1, Math.min(1, x))}`,
+ )
+ container.style.setProperty(
+ "--pointer-y",
+ `${Math.max(-1, Math.min(1, y))}`,
+ )
})
}
const resetPointer = () => {
@@ -45,5 +56,16 @@ export default function HeroCodeMotifs() {
}
}, [])
- return {motifs.map((motif) => {motif.symbol} )}
+ return (
+
+ {motifs.map((motif) => (
+
+ {motif.symbol}
+
+ ))}
+
+ )
}
diff --git a/src/components/MeetupEventCard.tsx b/src/components/MeetupEventCard.tsx
index d78df2d..479ba7e 100644
--- a/src/components/MeetupEventCard.tsx
+++ b/src/components/MeetupEventCard.tsx
@@ -3,17 +3,69 @@ import Image from "next/image"
import type { MeetupEvent } from "@/lib/meetup"
function conciseDescription(description: string) {
- return description.replace(/[#*_`]/g, "").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").replace(/\s+/g, " ").trim().slice(0, 170)
+ return description
+ .replace(/[#*_`]/g, "")
+ .replace(/\[([^\]]+)\]\([^)]*\)/g, "$1")
+ .replace(/\s+/g, " ")
+ .trim()
+ .slice(0, 170)
}
-export default function MeetupEventCard({ event, featured = false, imageSrc }: { event: MeetupEvent; featured?: boolean; imageSrc?: string }) {
+export default function MeetupEventCard({
+ event,
+ featured = false,
+ imageSrc,
+}: {
+ event: MeetupEvent
+ featured?: boolean
+ imageSrc?: string
+}) {
const date = DateTime.fromISO(event.dateTime).setLocale("it")
const coverImage = imageSrc || event.coverImageUrl
- return
-
- {coverImage ?
: null}
-
{date.toFormat("dd LLL")} {date.toFormat("HH:mm")}
-
-
-
+ return (
+
+
+ {coverImage ? (
+
+ ) : null}
+
+ {date.toFormat("dd LLL")}
+ {date.toFormat("HH:mm")}
+
+
+
+
+ )
}
diff --git a/src/components/SingleEventCard.tsx b/src/components/SingleEventCard.tsx
index e7657a6..a3ab289 100644
--- a/src/components/SingleEventCard.tsx
+++ b/src/components/SingleEventCard.tsx
@@ -1,38 +1,52 @@
-import { getDataFromBlock, getMultiSelectFromBlock, getPlainTextFromBlock } from "@/utils/NotionFormatter"
+import {
+ getDataFromBlock,
+ getMultiSelectFromBlock,
+ getPlainTextFromBlock,
+} from "@/utils/NotionFormatter"
import { PageObjectResponse } from "@notionhq/client/build/src/api-endpoints"
import classNames from "classnames"
import Link from "next/link"
import TagChip from "./TagChip"
-export interface SingleEventCardProps{
- event: PageObjectResponse
- className?: string
+export interface SingleEventCardProps {
+ event: PageObjectResponse
+ className?: string
}
+const SingleEventCard: React.FC = ({
+ event,
+ className,
+}) => {
+ const tags = getMultiSelectFromBlock(event.properties["Tags"])
-
-const SingleEventCard : React.FC = ({event, className}) =>{
-
- const tags = getMultiSelectFromBlock(event.properties["Tags"]);
-
-
- return
-
-
{getPlainTextFromBlock(event.properties["Name"])}
-
{getDataFromBlock(event.properties["Date"])}
-
-
- {getPlainTextFromBlock(event.properties["Description"])}
+ return (
+
+
+
+ {getPlainTextFromBlock(event.properties["Name"])}
- {tags && tags.length > 0 &&
-
- {tags.map((tag, index) => (
-
- ))}
-
- }
-
+
+ {getDataFromBlock(event.properties["Date"])}
+
+
+
+ {getPlainTextFromBlock(event.properties["Description"])}
+
+ {tags && tags.length > 0 && (
+
+ {tags.map((tag, index) => (
+
+ ))}
+
+ )}
+ )
}
-export default SingleEventCard
\ No newline at end of file
+export default SingleEventCard
diff --git a/src/components/SiteFooter.tsx b/src/components/SiteFooter.tsx
index c7c1931..3f532d2 100644
--- a/src/components/SiteFooter.tsx
+++ b/src/components/SiteFooter.tsx
@@ -5,5 +5,133 @@ import { usePathname } from "next/navigation"
export default function SiteFooter() {
const isEnglish = usePathname().startsWith("/en")
- return {isEnglish ? "Explore" : "Esplora"}
{isEnglish ? <>
Home
Events
Hacktoberfest Milan
Partners
Press kit> : <>
Home
Eventi
Hacktoberfest Milan
Partner
Press kit>}
© {new Date().getFullYear()} Coding Bunker {isEnglish ? "Built in Milan, shared openly." : "Costruito a Milano, condiviso apertamente."}
+ return (
+
+
+
+
+
+
+ {isEnglish ? "Explore" : "Esplora"}
+
+ {isEnglish ? (
+ <>
+
Home
+
Events
+
Hacktoberfest Milan
+
Partners
+
Press kit
+ >
+ ) : (
+ <>
+
Home
+
Eventi
+
Hacktoberfest Milan
+
Partner
+
Press kit
+ >
+ )}
+
+
+
+
+ {isEnglish ? "Language" : "Lingua"}
+
+
+ {isEnglish ? "Italiano" : "English"}{" "}
+
↗
+
+
info@codingbunker.it
+
+
+
+
+ © {new Date().getFullYear()} Coding Bunker
+
+ {isEnglish
+ ? "Built in Milan, shared openly."
+ : "Costruito a Milano, condiviso apertamente."}
+
+
+
+ )
}
diff --git a/src/components/SiteNavigation.tsx b/src/components/SiteNavigation.tsx
index 24c631a..75f2b70 100644
--- a/src/components/SiteNavigation.tsx
+++ b/src/components/SiteNavigation.tsx
@@ -11,8 +11,42 @@ export default function SiteNavigation() {
document.documentElement.lang = isEnglish ? "en" : "it"
}, [isEnglish])
const links = isEnglish
- ? [["/en", "Home"], ["/events", "Events"], ["/en#community", "Community"], ["/partners", "Partners"], ["/press", "Press"]]
- : [["/events", "Eventi"], ["/impatto-milano", "Impatto"], ["/partners", "Partner"], ["/staff", "Community"], ["/press", "Press"]]
+ ? [
+ ["/en", "Home"],
+ ["/events", "Events"],
+ ["/en#community", "Community"],
+ ["/partners", "Partners"],
+ ["/press", "Press"],
+ ]
+ : [
+ ["/events", "Eventi"],
+ ["/impatto-milano", "Impatto"],
+ ["/partners", "Partner"],
+ ["/staff", "Community"],
+ ["/press", "Press"],
+ ]
- return {links.map(([href, label]) => {label})}Meetup ↗ {isEnglish ? "IT" : "EN"}
+ return (
+
+ {links.map(([href, label]) => (
+
+ {label}
+
+ ))}
+
+ Meetup ↗
+
+
+ {isEnglish ? "IT" : "EN"}
+
+
+ )
}
diff --git a/src/components/TagChip.tsx b/src/components/TagChip.tsx
index 79550ed..41d14b5 100644
--- a/src/components/TagChip.tsx
+++ b/src/components/TagChip.tsx
@@ -1,10 +1,15 @@
-
-
-interface TagChipProps{
- name: string
+interface TagChipProps {
+ name: string
}
-const TagChip : React.FC = ({name}) =>{
- return {name}
+const TagChip: React.FC = ({ name }) => {
+ return (
+
+ {name}
+
+ )
}
-export default TagChip
\ No newline at end of file
+export default TagChip
diff --git a/src/components/TopicVote.tsx b/src/components/TopicVote.tsx
index 83cf6ad..776cda8 100644
--- a/src/components/TopicVote.tsx
+++ b/src/components/TopicVote.tsx
@@ -1,13 +1,57 @@
-const topics = ["n8n e automazioni", "AI agents", "Testing", "Open source", "Architettura", "Platform engineering"]
+const topics = [
+ "n8n e automazioni",
+ "AI agents",
+ "Testing",
+ "Open source",
+ "Architettura",
+ "Platform engineering",
+]
export default function TopicVote() {
- return
+ return (
+
+ )
}
diff --git a/src/components/VideoPlayer.tsx b/src/components/VideoPlayer.tsx
index 3ec6ec1..fbc0640 100644
--- a/src/components/VideoPlayer.tsx
+++ b/src/components/VideoPlayer.tsx
@@ -1,16 +1,19 @@
+"use client"
+import React from "react"
+import ReactPlayer from "react-player"
-"use client";
-import React from "react";
-import ReactPlayer from "react-player";
-
-interface VideoPlayerProps{
- className?: string
- src?: string;
- width?: string
- height?: string
+interface VideoPlayerProps {
+ className?: string
+ src?: string
+ width?: string
+ height?: string
}
-const VideoPlayer : React.FC = ({src, width= "100%", height="400px" ,className}) => {
-
+const VideoPlayer: React.FC = ({
+ src,
+ width = "100%",
+ height = "400px",
+ className,
+}) => {
return (
= ({src, width= "100%", height="4
/>
- );
-};
+ )
+}
-export default VideoPlayer;
\ No newline at end of file
+export default VideoPlayer
diff --git a/src/lib/meetup.ts b/src/lib/meetup.ts
index 5afeb42..0145e83 100644
--- a/src/lib/meetup.ts
+++ b/src/lib/meetup.ts
@@ -61,22 +61,42 @@ function getNextData(html: string): Record | undefined {
*/
export async function fetchMeetupEvents(): Promise {
try {
- const pages = await Promise.all([EVENTS_URL, PAST_EVENTS_URL].map(async (url) => {
- const response = await fetch(url, {
- next: { revalidate: 3600 },
- headers: { "User-Agent": "CodingBunkerWebsite/1.0 (+https://codingbunker.it)" },
- })
- return response.ok ? getNextData(await response.text()) : undefined
- }))
+ const pages = await Promise.all(
+ [EVENTS_URL, PAST_EVENTS_URL].map(async (url) => {
+ const response = await fetch(url, {
+ next: { revalidate: 3600 },
+ headers: {
+ "User-Agent": "CodingBunkerWebsite/1.0 (+https://codingbunker.it)",
+ },
+ })
+ return response.ok ? getNextData(await response.text()) : undefined
+ }),
+ )
const events = pages.flatMap((page) => {
- const state = (page as { props?: { pageProps?: { __APOLLO_STATE__?: Record } } } | undefined)?.props?.pageProps?.__APOLLO_STATE__
+ const state = (
+ page as
+ | {
+ props?: {
+ pageProps?: { __APOLLO_STATE__?: Record }
+ }
+ }
+ | undefined
+ )?.props?.pageProps?.__APOLLO_STATE__
if (!state) return []
return Object.entries(state)
- .filter(([, value]) => value.__typename === "Event" && value.id && value.title && value.dateTime && value.eventUrl)
+ .filter(
+ ([, value]) =>
+ value.__typename === "Event" &&
+ value.id &&
+ value.title &&
+ value.dateTime &&
+ value.eventUrl,
+ )
.map(([key, event]) => {
const venueReference = event.venue?.__ref
const venue = venueReference ? state[venueReference] : undefined
- const photoReference = event.displayPhoto?.__ref || event.featuredEventPhoto?.__ref
+ const photoReference =
+ event.displayPhoto?.__ref || event.featuredEventPhoto?.__ref
const photo = photoReference ? state[photoReference] : undefined
return {
id: event.id || key,
@@ -89,12 +109,14 @@ export async function fetchMeetupEvents(): Promise {
venue: venue?.name || null,
city: venue?.city || null,
attendeeCount: event.going?.totalCount ?? null,
- coverImageUrl: typeof photo?.highResUrl === "string" ? photo.highResUrl : null,
+ coverImageUrl:
+ typeof photo?.highResUrl === "string" ? photo.highResUrl : null,
}
})
})
- return [...new Map(events.map((event) => [event.id, event])).values()]
- .sort((a, b) => new Date(a.dateTime).getTime() - new Date(b.dateTime).getTime())
+ return [...new Map(events.map((event) => [event.id, event])).values()].sort(
+ (a, b) => new Date(a.dateTime).getTime() - new Date(b.dateTime).getTime(),
+ )
} catch {
return []
}
@@ -105,7 +127,9 @@ export async function fetchMeetupPastEventCount(): Promise {
try {
const response = await fetch(EVENTS_URL, {
next: { revalidate: 3600 },
- headers: { "User-Agent": "CodingBunkerWebsite/1.0 (+https://codingbunker.it)" },
+ headers: {
+ "User-Agent": "CodingBunkerWebsite/1.0 (+https://codingbunker.it)",
+ },
})
if (!response.ok) return undefined
@@ -115,13 +139,20 @@ export async function fetchMeetupPastEventCount(): Promise {
const state = page?.props?.pageProps?.__APOLLO_STATE__
if (!state) return undefined
- const group = Object.values(state).find((value) => (
- typeof value === "object" && value !== null && (value as ApolloRecord).__typename === "Group"
- )) as Record | undefined
+ const group = Object.values(state).find(
+ (value) =>
+ typeof value === "object" &&
+ value !== null &&
+ (value as ApolloRecord).__typename === "Group",
+ ) as Record | undefined
if (!group) return undefined
- const pastEvents = Object.entries(group).find(([key]) => key.includes('"status":["PAST"]'))?.[1] as { totalCount?: number } | undefined
- return typeof pastEvents?.totalCount === "number" ? pastEvents.totalCount : undefined
+ const pastEvents = Object.entries(group).find(([key]) =>
+ key.includes('"status":["PAST"]'),
+ )?.[1] as { totalCount?: number } | undefined
+ return typeof pastEvents?.totalCount === "number"
+ ? pastEvents.totalCount
+ : undefined
} catch {
return undefined
}
@@ -132,7 +163,9 @@ export async function fetchMeetupGroupStats(): Promise {
try {
const response = await fetch(EVENTS_URL, {
next: { revalidate: 3600 },
- headers: { "User-Agent": "CodingBunkerWebsite/1.0 (+https://codingbunker.it)" },
+ headers: {
+ "User-Agent": "CodingBunkerWebsite/1.0 (+https://codingbunker.it)",
+ },
})
if (!response.ok) return {}
@@ -140,13 +173,25 @@ export async function fetchMeetupGroupStats(): Promise {
props?: { pageProps?: { __APOLLO_STATE__?: Record } }
}
const state = page?.props?.pageProps?.__APOLLO_STATE__
- const group = state && Object.values(state).find((value) => (
- typeof value === "object" && value !== null && (value as ApolloRecord).__typename === "Group"
- )) as Record | undefined
+ const group =
+ state &&
+ (Object.values(state).find(
+ (value) =>
+ typeof value === "object" &&
+ value !== null &&
+ (value as ApolloRecord).__typename === "Group",
+ ) as Record | undefined)
if (!group) return {}
- const stats = group.stats as { memberCounts?: { all?: number }; eventRatings?: { average?: number; total?: number } } | undefined
- const pastEvents = Object.entries(group).find(([key]) => key.includes('"status":["PAST"]'))?.[1] as { totalCount?: number } | undefined
+ const stats = group.stats as
+ | {
+ memberCounts?: { all?: number }
+ eventRatings?: { average?: number; total?: number }
+ }
+ | undefined
+ const pastEvents = Object.entries(group).find(([key]) =>
+ key.includes('"status":["PAST"]'),
+ )?.[1] as { totalCount?: number } | undefined
return {
members: stats?.memberCounts?.all,
pastEvents: pastEvents?.totalCount,
@@ -161,10 +206,21 @@ export async function fetchMeetupGroupStats(): Promise {
export function splitMeetupEvents(events: MeetupEvent[], now = new Date()) {
const current = now.getTime()
return {
- upcoming: events.filter((event) => new Date(event.dateTime).getTime() >= current && event.status !== "CANCELLED"),
+ upcoming: events.filter(
+ (event) =>
+ new Date(event.dateTime).getTime() >= current &&
+ event.status !== "CANCELLED",
+ ),
past: events
- .filter((event) => new Date(event.dateTime).getTime() < current || event.status === "PAST")
- .sort((a, b) => new Date(b.dateTime).getTime() - new Date(a.dateTime).getTime()),
+ .filter(
+ (event) =>
+ new Date(event.dateTime).getTime() < current ||
+ event.status === "PAST",
+ )
+ .sort(
+ (a, b) =>
+ new Date(b.dateTime).getTime() - new Date(a.dateTime).getTime(),
+ ),
}
}
diff --git a/src/types/NotionDatabaseEventsQueryProperties.ts b/src/types/NotionDatabaseEventsQueryProperties.ts
index a624bb0..98a8309 100644
--- a/src/types/NotionDatabaseEventsQueryProperties.ts
+++ b/src/types/NotionDatabaseEventsQueryProperties.ts
@@ -1,59 +1,64 @@
-import { DateProperty, RichText, SelectOption, User } from "./NotionDatabaseQueryType";
+import {
+ DateProperty,
+ RichText,
+ SelectOption,
+ User,
+} from "./NotionDatabaseQueryType"
-export default interface NotionDatabaseEventsQueryProperties {
- Description: {
- id: string;
- type: string;
- rich_text: RichText[];
- };
- Date: {
- id: string;
- type: string;
- date: DateProperty;
- };
- 'SEO Description': {
- id: string;
- type: string;
- rich_text: RichText[];
- };
- 'Registration Link': {
- id: string;
- type: string;
- url: string | null;
- };
- Created: {
- id: string;
- type: string;
- created_time: string;
- };
- Type: {
- id: string;
- type: string;
- select: SelectOption;
- };
- slug: {
- id: string;
- type: string;
- rich_text: RichText[];
- };
- Cover: {
- id: string;
- type: string;
- files: any[];
- };
- 'Video Url': {
- id: string;
- type: string;
- url: string;
- };
- Speaker: {
- id: string;
- type: string;
- people: User[];
- };
- Name: {
- id: string;
- type: string;
- title: RichText[];
- };
-}
\ No newline at end of file
+export default interface NotionDatabaseEventsQueryProperties {
+ Description: {
+ id: string
+ type: string
+ rich_text: RichText[]
+ }
+ Date: {
+ id: string
+ type: string
+ date: DateProperty
+ }
+ "SEO Description": {
+ id: string
+ type: string
+ rich_text: RichText[]
+ }
+ "Registration Link": {
+ id: string
+ type: string
+ url: string | null
+ }
+ Created: {
+ id: string
+ type: string
+ created_time: string
+ }
+ Type: {
+ id: string
+ type: string
+ select: SelectOption
+ }
+ slug: {
+ id: string
+ type: string
+ rich_text: RichText[]
+ }
+ Cover: {
+ id: string
+ type: string
+ files: any[]
+ }
+ "Video Url": {
+ id: string
+ type: string
+ url: string
+ }
+ Speaker: {
+ id: string
+ type: string
+ people: User[]
+ }
+ Name: {
+ id: string
+ type: string
+ title: RichText[]
+ }
+}
diff --git a/src/types/NotionDatabaseQueryType.ts b/src/types/NotionDatabaseQueryType.ts
index 2189c07..43b3da8 100644
--- a/src/types/NotionDatabaseQueryType.ts
+++ b/src/types/NotionDatabaseQueryType.ts
@@ -1,69 +1,69 @@
export interface TextContent {
- content: string;
- link: string | null;
+ content: string
+ link: string | null
}
export interface Annotations {
- bold: boolean;
- italic: boolean;
- strikethrough: boolean;
- underline: boolean;
- code: boolean;
- color: string;
+ bold: boolean
+ italic: boolean
+ strikethrough: boolean
+ underline: boolean
+ code: boolean
+ color: string
}
export interface RichText {
- type: string;
- text: TextContent;
- annotations: Annotations;
- plain_text: string;
- href: string | null;
+ type: string
+ text: TextContent
+ annotations: Annotations
+ plain_text: string
+ href: string | null
}
export interface DateProperty {
- start: string;
- end: string | null;
- time_zone: string | null;
+ start: string
+ end: string | null
+ time_zone: string | null
}
export interface SelectOption {
- id: string;
- name: string;
- color: string;
+ id: string
+ name: string
+ color: string
}
export interface User {
- object: string;
- id: string;
+ object: string
+ id: string
}
export interface Page {
- object: string;
- id: string;
- created_time: string;
- last_edited_time: string;
- created_by: User;
- last_edited_by: User;
- cover: string | null;
- icon: string | null;
- parent: {
- type: string;
- database_id: string;
- };
- archived: boolean;
- in_trash: boolean;
- properties: A;
- url: string;
- public_url: string | null;
+ object: string
+ id: string
+ created_time: string
+ last_edited_time: string
+ created_by: User
+ last_edited_by: User
+ cover: string | null
+ icon: string | null
+ parent: {
+ type: string
+ database_id: string
+ }
+ archived: boolean
+ in_trash: boolean
+ properties: A
+ url: string
+ public_url: string | null
}
export default interface NotionDatabaseQueryType {
- object: string;
- results: Page [];
- next_cursor: string | null;
- has_more: boolean;
- type: string;
- page_or_database: Record;
- developer_survey: string;
- request_id: string;
-}
\ No newline at end of file
+ object: string
+ results: Page[]
+ next_cursor: string | null
+ has_more: boolean
+ type: string
+ page_or_database: Record
+ developer_survey: string
+ request_id: string
+}
diff --git a/src/utils/NotionFormatter.tsx b/src/utils/NotionFormatter.tsx
index 0c471e2..c4d8632 100644
--- a/src/utils/NotionFormatter.tsx
+++ b/src/utils/NotionFormatter.tsx
@@ -1,38 +1,40 @@
import { DateTime } from "luxon"
-interface MultiseletData{
- id: string,
- name: string,
- color: string
+interface MultiseletData {
+ id: string
+ name: string
+ color: string
}
-export const getMultiSelectFromBlock = (block: any) : MultiseletData[] | undefined => {
- return block?.["multi_select"] as MultiseletData[]
+export const getMultiSelectFromBlock = (
+ block: any,
+): MultiseletData[] | undefined => {
+ return block?.["multi_select"] as MultiseletData[]
}
-export const getPlainTextFromBlock = (block: any) : string | undefined => {
- if(!block?.type) return ""
- if(block.type == "rich_text"){
- return block?.rich_text?.[0]?.plain_text
- }else if(block.type == "title"){
- return block?.title?.[0]?.plain_text
- }else if(block.type == "date"){
- return block?.date?.start
- }
+export const getPlainTextFromBlock = (block: any): string | undefined => {
+ if (!block?.type) return ""
+ if (block.type == "rich_text") {
+ return block?.rich_text?.[0]?.plain_text
+ } else if (block.type == "title") {
+ return block?.title?.[0]?.plain_text
+ } else if (block.type == "date") {
+ return block?.date?.start
+ }
}
-export const getDataFromBlock = (block: any) : string | undefined => {
- const data = getPlainTextFromBlock(block)
- if(!data) return undefined;
- return DateTime.fromISO(data).toFormat("dd-MM-yyyy")
+export const getDataFromBlock = (block: any): string | undefined => {
+ const data = getPlainTextFromBlock(block)
+ if (!data) return undefined
+ return DateTime.fromISO(data).toFormat("dd-MM-yyyy")
}
-export const getDatetimeFromBlock = (block: any) : string | undefined => {
- const data = getPlainTextFromBlock(block)
- if(!data) return undefined;
- return DateTime.fromISO(data).toFormat("dd-MM-YY HH:mm")
+export const getDatetimeFromBlock = (block: any): string | undefined => {
+ const data = getPlainTextFromBlock(block)
+ if (!data) return undefined
+ return DateTime.fromISO(data).toFormat("dd-MM-YY HH:mm")
}
-export const getUrl = (block: any) : string | undefined => {
- return block?.url
-}
\ No newline at end of file
+export const getUrl = (block: any): string | undefined => {
+ return block?.url
+}
diff --git a/tailwind.config.ts b/tailwind.config.ts
index 97db7ad..9bb97bf 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -1,4 +1,4 @@
-import type { Config } from "tailwindcss";
+import type { Config } from "tailwindcss"
const config: Config = {
content: [
@@ -8,8 +8,8 @@ const config: Config = {
],
theme: {
extend: {
- colors:{
- 'purple': "#a576ff",
+ colors: {
+ purple: "#a576ff",
},
backgroundImage: {
"gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
@@ -19,6 +19,5 @@ const config: Config = {
},
},
plugins: [],
-};
-export default config;
-
+}
+export default config
diff --git a/tsconfig.json b/tsconfig.json
index 58cb239..2f0e4d0 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,10 +1,6 @@
{
"compilerOptions": {
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ],
+ "lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
@@ -22,9 +18,7 @@
}
],
"paths": {
- "@/*": [
- "./src/*"
- ]
+ "@/*": ["./src/*"]
},
"target": "ES2017"
},
@@ -35,7 +29,5 @@
".next/types/**/*.ts",
"dist/types/**/*.ts"
],
- "exclude": [
- "node_modules"
- ]
+ "exclude": ["node_modules"]
}