Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Notion Integration
# Get your secret from https://www.notion.so/my-integrations
NOTION_SECRET=secret_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# Notion Database IDs
# Find these in the URL when viewing a database: notion.so/{workspace}/{DATABASE_ID}?v=...
NOTION_DB_ID=
NOTION_FAQ_DB_ID=
NOTION_IDEAS_DB_ID=
NOTION_SIGNATORIES_DB_ID=
NOTION_ENDORSEMENTS_DB_ID=
NOTION_SPEAKERS_DB_ID=
NOTION_AGENDA_DB_ID=

# ProjectHub Integration (optional)
PROJECTHUB_API_KEY=

# Public API (optional)
PUBLIC_API_URL=
PUBLIC_SECRET_KEY=
250 changes: 0 additions & 250 deletions cloudflare-worker/worker.js

This file was deleted.

11 changes: 0 additions & 11 deletions cloudflare-worker/wrangler.toml

This file was deleted.

56 changes: 56 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import eslintPluginAstro from "eslint-plugin-astro";
import tseslint from "typescript-eslint";
import jsxA11y from "eslint-plugin-jsx-a11y";
import prettierConfig from "eslint-config-prettier";

export default [
// TypeScript recommended rules
...tseslint.configs.recommended,

// Astro recommended rules
...eslintPluginAstro.configs.recommended,

// Accessibility rules for JSX
jsxA11y.flatConfigs.recommended,

// Disable ESLint rules that conflict with Prettier
prettierConfig,

{
rules: {
// Downgrade any → warn to allow gradual cleanup
"@typescript-eslint/no-explicit-any": "warn",
// Allow unused vars prefixed with _
"@typescript-eslint/no-unused-vars": [
"error",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_", caughtErrorsIgnorePattern: "^_" },
],
// These a11y rules require non-trivial UX refactoring — tracked as warnings
"jsx-a11y/click-events-have-key-events": "warn",
"jsx-a11y/no-static-element-interactions": "warn",
"jsx-a11y/label-has-associated-control": "warn",
"jsx-a11y/anchor-is-valid": "warn",
},
},

// Astro boilerplate — triple-slash reference is intentional
{
files: ["src/env.d.ts"],
rules: {
"@typescript-eslint/triple-slash-reference": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-empty-object-type": "off",
},
},

{
ignores: [
"dist/",
".astro/",
"node_modules/",
// Dead/legacy pages scheduled for removal
"src/pages/projects-old.astro",
"src/pages/donate-2.astro",
],
},
];
8 changes: 8 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
"preview": "astro preview",
"astro": "astro",
"check": "astro check",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write .",
"format:check": "prettier --check ."
},
Expand Down Expand Up @@ -67,9 +69,15 @@
"@iconify-json/tabler": "^1.2.23",
"@types/leaflet": "^1.9.21",
"@types/react-slick": "^0.23.13",
"@typescript-eslint/parser": "^8.57.1",
"eslint": "^9",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-astro": "^1.6.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"prettier": "^3.6.2",
"prettier-plugin-astro": "^0.14.1",
"prettier-plugin-tailwindcss": "^0.7.1",
"typescript-eslint": "^8.57.1",
"wrangler": "^4.70.0"
}
}
Loading
Loading