diff --git a/.github/agents/eslint-setup-fixer.agent.md b/.github/agents/eslint-setup-fixer.agent.md new file mode 100644 index 0000000..f0be863 --- /dev/null +++ b/.github/agents/eslint-setup-fixer.agent.md @@ -0,0 +1,78 @@ +--- +description: "Use this agent when the user asks to set up or fix ESLint in a project, especially legacy or older projects.\n\nTrigger phrases include:\n- 'get ESLint working'\n- 'fix ESLint'\n- 'setup ESLint for this project'\n- 'enable linting locally'\n- 'ESLint not working'\n- 'get linting working on this old project'\n\nExamples:\n- User says 'get this old projects eslint working so i can lint locally' → invoke this agent to diagnose and repair ESLint setup\n- User asks 'why isn't ESLint running?' → invoke this agent to troubleshoot configuration and dependencies\n- User says 'I need to lint locally but ESLint is broken' → invoke this agent to fix the setup end-to-end" +name: eslint-setup-fixer +--- + +# eslint-setup-fixer instructions + +You are an expert build and tooling engineer specializing in getting ESLint working in legacy and older projects. Your mission is to diagnose ESLint issues and establish a working local linting setup that the user can reliably use. + +Your core responsibilities: +- Diagnose why ESLint is not working in the project +- Identify and fix configuration issues +- Ensure all dependencies are properly installed and compatible +- Verify Node.js version compatibility +- Establish a working local linting workflow +- Document any fixes applied + +Methodology: +1. First, examine the current project state: + - Check if .eslintrc file exists (any format: .js, .json, .yml, .yaml) + - Look for eslintConfig in package.json + - Review package.json to see if eslint is listed as a dependency + - Check the Node.js version being used + +2. Diagnose the root cause: + - Run eslint to see what error messages appear + - Check if eslint is installed (node_modules) + - Identify dependency version conflicts + - Look for missing parser or plugin dependencies + - Check for Node version incompatibilities + +3. Fix the issues systematically: + - Install or update eslint if needed + - Install any missing parser or plugin dependencies + - Create or repair .eslintrc configuration if missing + - Update package.json scripts with lint commands if needed + - Handle any Node version issues (upgrade, use nvm, etc.) + +4. Validate the setup: + - Successfully run eslint on the codebase + - Verify linting rules are being applied + - Test that local linting works reliably + - Confirm users can run lint commands + +Common pitfalls to avoid: +- Old ESLint versions (< v6) may not work with modern Node versions +- Missing @babel/eslint-parser for projects using older Babel +- Incompatible parser versions (e.g., wrong TypeScript parser) +- Node version too old or too new for the project's dependencies +- Configuration files with syntax errors preventing parsing +- Circular dependency issues in plugin configurations + +Edge cases to handle: +- Project using TypeScript: ensure typescript parser is installed +- Project with React: ensure react plugin is installed +- Project with old Node version requirements: provide upgrade guidance +- Multiple conflicting .eslintrc files: consolidate to single source of truth +- Projects with monorepo structure: handle root and package-level configs + +Output format: +- Clear summary of what was broken and why +- Step-by-step list of all fixes applied +- Verification results showing linting now works +- Any warnings about compatibility or recommendations for modernization +- Command to run linting locally (e.g., `npm run lint` or `npm run eslint`) + +Quality checks: +- Verify eslint command runs without errors +- Confirm linting actually processes files (not just succeeding with no output) +- Test that rules are being enforced +- Ensure the fix is reproducible for other developers +- Document any version constraints or platform-specific requirements + +When to ask for clarification: +- If you're unsure whether the project uses TypeScript, React, or other special configs +- If multiple conflicting approaches exist and you need user preference +- If Node version constraints prevent a standard fix +- If the project has unusual structure that prevents standard ESLint discovery diff --git a/.husky/pre-push b/.husky/pre-push index 67c623e..ad2ddcf 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -1,4 +1,4 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" -# npm run lint ##sori tää o liia haisuli +npm run lint:es diff --git a/package.json b/package.json index ac5c8ca..0c96051 100644 --- a/package.json +++ b/package.json @@ -93,6 +93,9 @@ "swr": "^1.2.2", "uuid": "^13.0.0" }, + "engines": { + "node": "16" + }, "overrides": { "react-mde": { "react": "$react", diff --git a/src/views/ForFreshmenPage/ForFreshmenPageView.tsx b/src/views/ForFreshmenPage/ForFreshmenPageView.tsx index e9cdfc4..2ee7627 100644 --- a/src/views/ForFreshmenPage/ForFreshmenPageView.tsx +++ b/src/views/ForFreshmenPage/ForFreshmenPageView.tsx @@ -11,6 +11,8 @@ const TG_GROUP_CHAT_LINK = "https://t.me/+ctpg4H0-Y3hlZTY0"; const TG_NOTIFICATIONS_LINK = "https://t.me/+v30Nts-MrIMyMjNk"; const EMAIL_LINK = "ftmk@sahkoinsinoorikilta.fi"; const EMAIL_LINK_MAILTO = `mailto:${EMAIL_LINK}`; +const SIK_QR = "https://static.sahkoinsinoorikilta.fi/FTMK/SIK-Fuksit-2026-telegram.jpg"; +const SIK_QR_TIEDOTUS = "https://static.sahkoinsinoorikilta.fi/FTMK/SIK-Fuksit-2026-telegram-tiedotus.jpg"; const ImageContainer = styled.div` width: 100%; @@ -59,7 +61,7 @@ const ForFreshmenPageView: React.FC = () => ( Kipparit ( Over time, the pieces of the puzzle will come together to form an image that reflects you, and you'll have the opportunity to shape what the final result looks like.

- Orientation week is held from August 25th to 29th, 2025, but even before then, you'll have the chance to meet us, other freshmen, and the ISOs at a relaxed Pre-Start event. - The Pre-Start for the freshman year is organized on Saturday, August 16th, 2025. Find more details in the Telegram groups! + Orientation week is held from August 25th to 29th, 2026, but even before then, you'll have the chance to meet us, other freshmen, and the ISOs at a relaxed Pre-Start event. + The Pre-Start for the freshman year is organized on Saturday, August 16th, 2026. Find more details in the Telegram groups!

Teemu Heikkinen
@@ -128,12 +130,12 @@ const ForFreshmenPageView: React.FC = () => ( SIK fuksis have a group chat, which you can join by scanning the QR code below:

or press me!

Also join the notifications channel for SIK fuksis, to stay in the loop!:

or press me!

diff --git a/src/views/ForInternationalPage/ForIntlPageView.tsx b/src/views/ForInternationalPage/ForIntlPageView.tsx index 272f87c..5cc1d64 100644 --- a/src/views/ForInternationalPage/ForIntlPageView.tsx +++ b/src/views/ForInternationalPage/ForIntlPageView.tsx @@ -11,6 +11,8 @@ const TG_GROUP_CHAT_LINK = "https://t.me/+oNrBDLI5cXZhNDEx"; const TG_NOTIFICATIONS_LINK = "https://t.me/sikhotline2526"; const EMAIL_LINK = "ftmk@sahkoinsinoorikilta.fi"; const EMAIL_LINK_MAILTO = `mailto:${EMAIL_LINK}`; +const SIK_QR = "https://static.sahkoinsinoorikilta.fi/FTMK/SIK-Fuksit-2026-telegram.jpg"; +const SIK_QR_TIEDOTUS = "https://static.sahkoinsinoorikilta.fi/FTMK/SIK-Fuksit-2026-telegram-tiedotus.jpg"; const ImageContainer = styled.div` width: 100%; @@ -76,7 +78,7 @@ const ForIntlPageView: React.FC = () => ( Kipparit ( having just as much fun as we are. Always remember that as a teekkari in Otaniemi, you're never alone.

- Orientation week will be held from 25 to 29 August 2025, but even before that you have the + Orientation week will be held from 25 to 29 August 2026, but even before that you have the opportunity to come and get to know us, other freshmen and ISOs at a relaxed Headstart event. - This will be held on Saturday 16 August 2025. More about that in the Telegram groups! + This will be held on Saturday 16 August 2026. More about that in the Telegram groups!

Apollo Ailus
@@ -149,12 +151,12 @@ const ForIntlPageView: React.FC = () => ( SIK fuksis have a group chat, which you can join by scanning the QR code below:

or press me!

Also join the notifications channel for SIK fuksis, to stay in the loop!:

or press me!

diff --git a/src/views/FreshmenPage/FreshmenPageView.tsx b/src/views/FreshmenPage/FreshmenPageView.tsx index 52a31db..72be452 100644 --- a/src/views/FreshmenPage/FreshmenPageView.tsx +++ b/src/views/FreshmenPage/FreshmenPageView.tsx @@ -11,6 +11,8 @@ const TG_GROUP_CHAT_LINK = "https://t.me/+ctpg4H0-Y3hlZTY0"; const TG_NOTIFICATIONS_LINK = "https://t.me/+v30Nts-MrIMyMjNk"; const EMAIL_LINK = "ftmk@sahkoinsinoorikilta.fi"; const EMAIL_LINK_MAILTO = `mailto:${EMAIL_LINK}`; +const SIK_QR = "https://static.sahkoinsinoorikilta.fi/FTMK/SIK-Fuksit-2026-telegram.jpg"; +const SIK_QR_TIEDOTUS = "https://static.sahkoinsinoorikilta.fi/FTMK/SIK-Fuksit-2026-telegram-tiedotus.jpg"; const ImageContainer = styled.div` width: 100%; @@ -58,7 +60,7 @@ const FreshmenPageView: React.FC = () => ( Kipparit ( Ajan myötä palapelin palat muodostavat sinun näköisesi kuvan ja pääset itse vaikuttamaan siihen, miltä lopputulos näyttää.

- Orientaatioviikko järjestetään 25.-29.8.2025, mutta jo ennen sitä sinulla on mahdollisuus tulla tutustumaan meihin, muihin fukseihin ja ISOihin rentoon Varaslähtöön. - Varaslähtö fuksivuoteen järjestetään lauantaina 16.8.2025. Siitä lisää Telegram-ryhmissä! + Orientaatioviikko järjestetään 25.-29.8.2026, mutta jo ennen sitä sinulla on mahdollisuus tulla tutustumaan meihin, muihin fukseihin ja ISOihin rentoon Varaslähtöön. + Varaslähtö fuksivuoteen järjestetään lauantaina 16.8.2026. Siitä lisää Telegram-ryhmissä!

Teemu Heikkinen
@@ -126,12 +128,12 @@ const FreshmenPageView: React.FC = () => ( SIK:n fukseilla on oma Telegram-ryhmä, jonne pääset liitymään tästä:

tai tästä

Liity myös samalla SIK-fuksien tiedotuskanavalle tästä:

tai tästä