uuid: - value: 72b2ca6d-de17-42a6-a0fd-1afdb1fc55d5 langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:50+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: | Types and static analysis saved me today created: - value: '2023-01-01T00:00:00+00:00' changed: - value: '2025-05-11T09:00:50+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2023/01/01/types-and-static-analysis-saved-me-today langcode: en body: - value: |
Today I was writing Pulumi code in Typescript, and I although I have autocompletion, I mistyped the name of a property.
But, because of the types that I'd declared and how I have Neovim configured, the error was immediately shown, and I was able to fix the typo and what would have been a compilation error if I'd tried to run it.
It only took a second or two for me to make and fix the mistake.
I didn't need to run the code or commit it and push it to a CI pipeline to find out that there was a bug.
I found out and fixed it immediately, and moved on as if I hadn't written the typo at all. This is why I like types and static analysis.
format: full_html processed: |Today I was writing Pulumi code in Typescript, and I although I have autocompletion, I mistyped the name of a property.
But, because of the types that I'd declared and how I have Neovim configured, the error was immediately shown, and I was able to fix the typo and what would have been a compilation error if I'd tried to run it.
It only took a second or two for me to make and fix the mistake.
I didn't need to run the code or commit it and push it to a CI pipeline to find out that there was a bug.
I found out and fixed it immediately, and moved on as if I hadn't written the typo at all. This is why I like types and static analysis.
summary: null field_daily_email_cta: { }