-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tsff 230 meldinger omskriving (meir typebasert backend kommunikasjon) #6054
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
For å bruke css nesting når tailwind er aktivert, uten å få advarsel, må ein også aktivere tailwindcss/nesting plugin i postcss. Endre og konfigurasjonsfila til å vere meir lik eksempeloppsett frå nettet.
Sidan vite advarer om at commonjs som grunnkonfigurasjon er deprecated og vil slutte å fungere med vite 6.0
Sidan package.json type no er "module".
Starta på ny implementasjon av Messages.tsx
Hadde feil ending på ein del importer.
Fører til at typescript feiler, sidan gammal kode då blir sjekka med strict tsconfig.
Fjerner gamal testing-react, legger til addon-interactions og testing-library. For bruk i "play" funksjon i stories.
Denne erstatter @storybook/addon-knobs som ikkje ser ut til å fungere lenger. (Viser ingen kontroller for å justere argument.)
Ein enkel måte å begrense bredda til komponenter vi lager stories for, når det er ein komponent som til vanleg lever ein tilværelse med fast begrensing på bredde. Eksempel på bruk vil vere å sjå i Messages.stories.tsx
…sjon. Gjev automatisk bruk av "addon-controls", betre typesafety/intellisense og enklare, mindre kode for storybook definisjon.
Bør helst også skrive disse om til ny storybook definisjon.
Bakgrunn: For å få gradvis overgang til strict typescript redefinerer ein nokre typer frå gammal kode på nytt i v2 kode. Ein definerer då kanskje ikkje heile den gamle typen viss ein ikkje treng alle props frå den i første omgang. Det kan og vere at ein lage ein ny type som bevisst skal vere eit subsett av ein anna type for bruk som prop i nokre komponenter. Slik at ein ikkje må spesifisere unødvendige data i storybook/testing av prop. Ein treng då ein måte å sikre at dei ulike typane er i synk over tid. Løsning: For å sikre at den "delvise" nye typen er i synk med anna meir komplett type kan ein bruke denne nye Implements typen på den (gamle) "komplette" typen. Eksempel: type New = { a: string } type Old = Implements<New, { a: string b: number }>
…timModuleSyntax. exactOptionalPropertyTypes vart tungvindt mtp react måte å skrive kode på. verbatimModuleSyntax virka å vere anbefalt for framtida, får meir konsekvent oppførsel av imports.
…komponenter for nytt meldingspanel. Bruker lokal versjon av k9-sak-typescript-client. Må vente til ny versjon der er publisert før denne kan rullast ut.
With manual merge resolve.
Ikkje blitt gjort sidan 2021, og er urealistisk å gjere sidan mange dependencies feiler å kompilere då.
# Conflicts: # package.json # packages/behandling-innsyn/src/components/InnsynProsess.spec.tsx # packages/storybook/stories/prosess/TilkjentYtelseProsessIndex.stories.tsx # packages/storybook/stories/prosess/VilkarresultatMedOverstyringProsessIndex.stories.tsx # packages/storybook/stories/prosess/VilkarresultatSoknadsfristProsessIndex.stories.tsx # packages/storybook/stories/sak/BehandlingVelgerSakIndexOld.stories.tsx # packages/storybook/stories/sak/DekoratorSakIndex.stories.tsx # packages/storybook/stories/sak/FatterVedtakApprovalModalSakIndex.stories.tsx # packages/storybook/stories/sak/MeldingerSakIndex.stories.tsx # packages/storybook/stories/sak/RisikoklassifiseringSakIndex.stories.tsx # yarn.lock
Og fiksa litt anna småplukk etter merge.
shorthand grid-template kan fort bli vanskeleg å forstå.
Bruken av denne vart fjerna i master.
Hadde forsvunne i merge der storybook vart oppgradert til 8.
# Conflicts: # package.json # yarn.lock
packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.spec.tsx
Show resolved
Hide resolved
packages/v2/backend/src/k9formidling/client/ForhåndsvisningControllerClient.ts
Show resolved
Hide resolved
hallvardastark
approved these changes
May 23, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bakgrunn
Ønske om opprydding, forenkling og forbetring av Meldingspanel.
Ønsker også generelt å få meir typesikker typescript kode. Som ein del av dette ønsker eg og å få generert typescript kode direkte frå backend kode for modell-typer, konstant-verdier, urler for endepunkt, argument namn til disse, etc.
På denne måten får vi på sikt ein meir forståeleg frontend kode, og det er forhåpentlegvis lettare å forstå samanheng med backend.
Prøver og å auke kvaliteten/nytteverdien av storybook, at ein får testa meir av komponentane via storybook.
Løysing
Denne PR introduserer litt nye typer i v2/backend, basert på generert typescriptkode. Gjere og nokre kodeverk typer meir typesikre ut frå dette.
Det er og ein ny implementasjon av meldingspanel komponenter i denne PR, og storybook for disse. Entrypoint for nytt meldingspanel er framleis ikkje tatt i bruk i denne PR, så det er kun for visning i storybook endå. For å få feedback og teste meir før utrulling.