Skip to content

Chore/oxlint basic setup - #607

Open
RikSchefferAmsterdam wants to merge 4 commits into
mainfrom
chore/oxlint-basic-setup
Open

Chore/oxlint basic setup#607
RikSchefferAmsterdam wants to merge 4 commits into
mainfrom
chore/oxlint-basic-setup

Conversation

@RikSchefferAmsterdam

@RikSchefferAmsterdam RikSchefferAmsterdam commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Changes

Pull request overview

Adds Oxlint alongside ESLint and resolves newly surfaced lint findings.

Changes:

  • Adds Oxlint configuration, dependency, scripts, and editor integration.
  • Improves Storybook metadata typing and action definitions.
  • Applies lint-driven cleanup and suppressions.

Test instructions

Other notes

GitHub Copilot was used in writing the code

@RikSchefferAmsterdam
RikSchefferAmsterdam requested review from a team and a balanced review from Copilot August 20, 2026 15:12
@github-actions github-actions Bot added module:address Module touched based on changed src/modules folder(s). module:boat-charging Module touched based on changed src/modules folder(s). module:city-pass Module touched based on changed src/modules folder(s). module:construction-work Module touched based on changed src/modules folder(s). module:contact Module touched based on changed src/modules folder(s). module:news Module touched based on changed src/modules folder(s). module:parking Module touched based on changed src/modules folder(s). module:pride Module touched based on changed src/modules folder(s). module:waste-container Module touched based on changed src/modules folder(s). dependencies Pull requests that update a dependency file labels Aug 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Oxlint alongside ESLint and resolves newly surfaced lint findings.

Changes:

  • Adds Oxlint configuration, dependency, scripts, and editor integration.
  • Improves Storybook metadata typing and action definitions.
  • Applies lint-driven cleanup and suppressions.

Reviewed changes

Copilot reviewed 97 out of 99 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/utils/datetime/formatUtilities.stories.tsx Uses type-safe Storybook metadata.
src/processes/logging/hooks/useAddTelemetryInitializer.ts Simplifies promise handling.
src/modules/waste-container/assets/images/WasteCardSvg.stories.tsx Improves metadata typing.
src/modules/waste-container/assets/images/WasteCardBluetoothSvg.stories.tsx Improves metadata typing.
src/modules/waste-container/assets/images/AddWasteCardFigure.stories.tsx Improves metadata typing.
src/modules/pride/components/ModuleIcon.stories.tsx Improves metadata typing.
src/modules/parking/utils/refreshAccessToken.ts Suppresses an async-executor warning.
src/modules/parking/components/ParkingIntroFigure.stories.tsx Improves metadata typing.
src/modules/news/components/liveblog/LiveblogTag.stories.tsx Improves metadata typing.
src/modules/contact/components/NewsletterSignup.stories.tsx Improves metadata typing.
src/modules/contact/components/contact-options/ContactOptions.tsx Simplifies HTTPS detection.
src/modules/construction-work/components/project/ProjectTimeline.stories.tsx Improves metadata typing.
src/modules/city-pass/screens/CityPassBlockPass.screen.tsx Adds a React list key.
src/modules/city-pass/components/error/FullScreenErrorFigure.stories.tsx Improves metadata typing.
src/modules/city-pass/components/card-display/CityPassCard.stories.tsx Improves metadata typing.
src/modules/boat-charging/screens/BoatChargingTermsAndConditions.screen.tsx Removes unused navigation props.
src/modules/boat-charging/components/BoatChargingSocketStatusTag.stories.tsx Improves metadata typing.
src/modules/address/hooks/useGetCoordinates.ts Suppresses an async-executor warning.
src/components/ui/text/Title.stories.tsx Improves metadata typing.
src/components/ui/text/Tag.stories.tsx Improves metadata typing.
src/components/ui/text/Phrase.stories.tsx Improves metadata typing.
src/components/ui/text/Paragraph.stories.tsx Improves metadata typing.
src/components/ui/text/list/List.stories.tsx Improves metadata typing.
src/components/ui/text/Link.stories.tsx Improves metadata typing.
src/components/ui/text/HtmlContent.stories.tsx Improves metadata typing.
src/components/ui/menus/PopUpMenu.stories.tsx Improves metadata typing.
src/components/ui/media/ImageFallback.stories.tsx Improves metadata typing.
src/components/ui/media/Image.stories.tsx Improves metadata typing.
src/components/ui/media/Icon.stories.tsx Improves metadata typing.
src/components/ui/media/FigureWithFacadesBackground.stories.tsx Improves metadata typing.
src/components/ui/media/Figure.stories.tsx Improves metadata typing.
src/components/ui/media/errors/WasteGuideFigure.stories.tsx Improves metadata typing.
src/components/ui/media/errors/UpdateFigure.stories.tsx Improves metadata typing.
src/components/ui/media/errors/ReportProblemFigure.stories.tsx Improves metadata typing.
src/components/ui/media/errors/ModulesFigure.stories.tsx Improves metadata typing.
src/components/ui/media/errors/ErrorFigure.stories.tsx Improves metadata typing.
src/components/ui/media/errors/ConstructionWorkFigure.stories.tsx Improves metadata typing.
src/components/ui/media/errors/ConstructionWorkDetailFigure.stories.tsx Improves metadata typing.
src/components/ui/layout/Size.stories.tsx Improves metadata typing.
src/components/ui/layout/Row.stories.tsx Improves metadata typing.
src/components/ui/layout/Column.stories.tsx Improves metadata typing.
src/components/ui/layout/Center.stories.tsx Improves metadata typing.
src/components/ui/layout/AspectRatio.stories.tsx Improves metadata typing.
src/components/ui/forms/Switch.stories.tsx Improves metadata typing.
src/components/ui/forms/RadioGroup.stories.tsx Improves metadata typing.
src/components/ui/forms/Options.stories.tsx Improves metadata typing.
src/components/ui/forms/Label.stories.tsx Improves metadata typing.
src/components/ui/forms/input/TextInput.stories.tsx Improves metadata typing.
src/components/ui/forms/input/EmailTextInputField.stories.tsx Improves metadata typing.
src/components/ui/forms/Checkbox.stories.tsx Corrects the action and metadata.
src/components/ui/forms/CharactersLeftDisplay.stories.tsx Improves metadata typing.
src/components/ui/feedback/Triangle.stories.tsx Improves metadata typing.
src/components/ui/feedback/Trait.stories.tsx Improves metadata typing.
src/components/ui/feedback/tooltip/Tooltip.stories.tsx Improves metadata typing.
src/components/ui/feedback/SomethingWentWrong.stories.tsx Improves metadata typing.
src/components/ui/feedback/PleaseWait.stories.tsx Improves metadata typing.
src/components/ui/feedback/Notice.stories.tsx Improves metadata typing.
src/components/ui/feedback/EmptyMessage.stories.tsx Improves metadata typing.
src/components/ui/feedback/Badge.stories.tsx Improves metadata typing.
src/components/ui/feedback/alert/Alert.stories.tsx Improves metadata typing.
src/components/ui/containers/Box.stories.tsx Improves metadata typing.
src/components/ui/containers/Accordion.stories.tsx Improves metadata and adds a key.
src/components/ui/buttons/TopTaskButton.stories.tsx Improves metadata typing.
src/components/ui/buttons/PressableBase.stories.tsx Improves metadata typing.
src/components/ui/buttons/Pressable.stories.tsx Improves metadata typing.
src/components/ui/buttons/PhoneHQButton.stories.tsx Removes an invalid action.
src/components/ui/buttons/PhoneButton.stories.tsx Removes an invalid action.
src/components/ui/buttons/NavigationButton.stories.tsx Improves metadata typing.
src/components/ui/buttons/MoreInfoButton.stories.tsx Improves metadata typing.
src/components/ui/buttons/IconButton.stories.tsx Improves metadata typing.
src/components/ui/buttons/FollowButton.stories.tsx Improves metadata typing.
src/components/ui/buttons/FauxButton.stories.tsx Removes an invalid action.
src/components/ui/buttons/EmailButton.stories.tsx Removes an invalid action.
src/components/ui/buttons/Button.stories.tsx Improves metadata typing.
src/components/ui/buttons/ActionButton.stories.tsx Improves metadata typing.
src/components/ui/animations/Fader.stories.tsx Improves metadata typing.
src/components/features/NotificationToggleBox.tsx Cleans up prop declarations.
src/components/features/NotificationToggleBox.stories.tsx Supplies required story arguments.
src/components/features/map/marker/SelectedPin.stories.tsx Improves metadata typing.
src/components/features/map/marker/Pin.stories.tsx Improves metadata typing.
src/components/features/map/marker/MarkerBase.stories.tsx Improves metadata typing.
src/components/features/map/marker/ElectionsCrowdUnknownPin.stories.tsx Improves metadata typing.
src/components/features/map/marker/ElectionsCrowdMediumPin.stories.tsx Improves metadata typing.
src/components/features/map/marker/ElectionsCrowdCalmPin.stories.tsx Improves metadata typing.
src/components/features/map/marker/ElectionsCrowdBusyPin.stories.tsx Improves metadata typing.
src/components/features/map/marker/DistinctPin.stories.tsx Improves metadata typing.
src/components/features/map/marker/CustomMarkerIcon.stories.tsx Improves metadata and adds keys.
src/components/features/map/marker/CustomMarker.stories.tsx Improves metadata typing.
src/components/features/EmptyList.stories.tsx Improves metadata typing.
src/app/navigation/RootStackNavigator.tsx Suppresses an intentional children-prop warning.
react-native-salesforce-messaging-in-app/src/types.ts Removes an empty placeholder file.
package.json Integrates Oxlint into lint scripts.
package-lock.json Locks Oxlint and native bindings.
oxlint.utils.mts Adds plugin configuration extraction.
oxlint.config.mts Defines Oxlint rules and overrides.
index.js Suppresses an entry-point import warning.
eslint-plugin-amsterdam/index.mts Exposes the plugin to Oxlint.
.vscode/settings.json Enables Oxlint editor fixes.
.lintstagedrc.js Runs Oxlint on staged source files.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

dispatch: ReduxDispatch,
state: RootState,
): Promise<string> =>
// oxlint-disable-next-line no-async-promise-executor

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ik ben op zich wel benieuwd naar de reden waarom we dit toch surpressen. Zou je dit kunnen uitleggen (na mijn vakantie)?

Comment thread src/modules/address/hooks/useGetCoordinates.ts
Comment thread package.json
@github-actions github-actions Bot added the Copilot ready All Copilot comments are resolved label Aug 20, 2026
export {rules}
const meta = {name: 'amsterdam'}

export {rules, meta}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hebben we zowel een default export en een named export nodig?


return (
<Stack.Screen
// oxlint-disable-next-line react/no-children-prop

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hier zouden de children ook gewoon als children worden neergezet ipv als prop, dan hoeft deze disable ook niet.

'Ga akkoord gaan met de voorwaarden om verder te gaan.'

export const BoatChargingTermsAndConditionsScreen = ({}: Props) => {
export const BoatChargingTermsAndConditionsScreen = () => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Goed dat we besloten hebben om lege props in screens weg te laten want oxllint had ons overruled

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tenzij je dit handmatig hebt gedaan

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oxlint gaf dit aan :)

items={[
'Is je pas gestolen of kwijt? Blokkeer de pas om misbruik te voorkomen.',
<Phrase>
<Phrase key="CityPassBlockPassPassFoundPhrase">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hier al een key?

dispatch: ReduxDispatch,
state: RootState,
): Promise<string> =>
// oxlint-disable-next-line no-async-promise-executor

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ik ben op zich wel benieuwd naar de reden waarom we dit toch surpressen. Zou je dit kunnen uitleggen (na mijn vakantie)?

{} as Record<string, boolean>,
)

void Promise.all([isEmulatorDeviceInfo()]).then(([isEmulator]) => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grappig dat hier een Promise.all werd gebruikt

Comment thread oxlint.config.mts
'recommended-legacy',
)

// eslint-disable-next-line import-x/no-default-export

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol

@github-actions github-actions Bot added Code reviewed PR has been reviewed by a team member. and removed Copilot ready All Copilot comments are resolved labels Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Code reviewed PR has been reviewed by a team member. dependencies Pull requests that update a dependency file module:address Module touched based on changed src/modules folder(s). module:boat-charging Module touched based on changed src/modules folder(s). module:city-pass Module touched based on changed src/modules folder(s). module:construction-work Module touched based on changed src/modules folder(s). module:contact Module touched based on changed src/modules folder(s). module:news Module touched based on changed src/modules folder(s). module:parking Module touched based on changed src/modules folder(s). module:pride Module touched based on changed src/modules folder(s). module:waste-container Module touched based on changed src/modules folder(s).

Development

Successfully merging this pull request may close these issues.

3 participants