{"id":25591375,"url":"https://github.com/bobbyg603/ngx-super-forms","last_synced_at":"2026-05-16T06:36:14.865Z","repository":{"id":70064353,"uuid":"501414444","full_name":"bobbyg603/ngx-super-forms","owner":"bobbyg603","description":"📐🦸📋 Strongly-typed Angular form that enforces type safety at declaration via data models.","archived":false,"fork":false,"pushed_at":"2023-08-10T21:37:57.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-11T06:23:22.523Z","etag":null,"topics":["angular","example","form","stackblitz"],"latest_commit_sha":null,"homepage":"https://betterprogramming.pub/how-to-build-a-strongly-typed-angular-14-super-form-86837965a0e5","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bobbyg603.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-06-08T21:21:27.000Z","updated_at":"2025-07-24T14:36:48.000Z","dependencies_parsed_at":"2023-08-11T04:44:55.941Z","dependency_job_id":"bb259edd-61c2-43f6-89c4-24289423c264","html_url":"https://github.com/bobbyg603/ngx-super-forms","commit_stats":null,"previous_names":["bobbyg603/ngx-super-forms"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bobbyg603/ngx-super-forms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbyg603%2Fngx-super-forms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbyg603%2Fngx-super-forms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbyg603%2Fngx-super-forms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbyg603%2Fngx-super-forms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bobbyg603","download_url":"https://codeload.github.com/bobbyg603/ngx-super-forms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbyg603%2Fngx-super-forms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33092715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","example","form","stackblitz"],"created_at":"2025-02-21T09:51:13.532Z","updated_at":"2026-05-16T06:36:14.831Z","avatar_url":"https://github.com/bobbyg603.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 📐📋🦸 Angular Super Forms: Confirm Password\n\n\u003cimg alt=\"Angular Super Forms\" src=\"https://github.com/bobbyg603/ngx-super-forms/assets/2646053/1ad8e2dc-d53e-433b-8edf-b360b8808bb9\" width=\"540px\" height=\"auto\"\u003e\n\n[![Medium](https://img.shields.io/badge/Medium-12100E?style=for-the-badge\u0026logo=medium\u0026logoColor=white)](https://betterprogramming.pub/how-to-build-a-strongly-typed-angular-14-super-form-86837965a0e5)\n[![twitter profile link](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)]([https://twitter.com/bobbyg603/status/1524465334522195968](https://twitter.com/bobbyg603/status/1534909164773851138))\n[![StackBlitz](https://img.shields.io/badge/StackBlitz-Edit-blue?style=for-the-badge\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAABECAYAAAD+1gcLAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AINBw4X0bTGRQAABSxJREFUaN7VmVtsFFUYx//fmQW79bbd2QKpaIIaDcGoifFBEgMGqTTRRA01SgxE5Rbi7QG6S3lgo9J2twpeotxEQlCigLdoQwJ4ARN9QB9MRCNRDBdRzE7LJbTSmTl/H4BYStmd2Z3tDOdt5lzml/9833fO9x0gYi2xgom6Tt5aapyKEnRDlrVGPzfGT+G3SwZ87HLGT8f5uYD7jmSl99IAX80RfTY3A5wMqDVepoQPnqVKHtMbAN4PyJeFtPwafXBSknG9UoDHAIDQq7xODRU8mdc5Aeaeffy7O2F8GnnwZM5dKsCic88CrMU8sSMNbubdZwTIDnjlOoZa52eNYQc3c84sEK+d/1a6ji2UA5EFN3POw4C8fcYy/m+a3p1y2MGTOXsqIJsAxAZ1Hei53tgeSfBkBycK1McALrswJGIVHhE3cuD1ed4uorsAXD5Ed7/hqvXlrFtV8LpO3qKpdwJIDLn/AB/+s0SORgp8VJ43KK23AzAvNsagWlXu+lKV6LGc14itvyEwrsiwX6wWNQEijITiY9pYD1vvKAENAG+VC40hQlNlNt3Bq22lt4EYX2Jor6PVe5V8KzDFG7KsFXE/A3GHB/vcdHyx9IQPnuXI/ji3CuRuT+N1+U4ZHPhmGqk43yXY5C0ccE9hsfwQLjgp5n69hmCz9ylYGcRPrgg8ldfLIXjSx5RjNX3GB6GCm3m3ncDz/v4QNnjJ4KsGbubdVhAZ35YFtTaoKOY7jps5dwGIZf73aH7dnZa9QYH72vLNDmcmRNaX86eEnGvT2BoIdA0o3pV2HgRkS9C7bXnRDGlPypmd9r2AvB8FaAFetDJGvqTiyU7eJWeOp1cgfOo3rRbj6ZJRJdHB20TrrkhAAxutXvVsSedMtfEmGno3gNHhM8snVp80IytO0The18HraOgdkYCm7KyLy6MDoYdUfNQyjnZjeheAm8NXmt/FlDH16CI5dUHaN/DhypeZUqK/AkomAsMQ8fCjq41GKy0nim75ydd51UjX3QZgQgQccV/MUfcVSzYM4Mw1hnPa7QJkYgSgD2qqe6xWOVL8kLWaI3ptbgFkUgSgjwpUY09GDpY8ZJnH9UsExhPYH8CuVgtgTJlzC5pqipXxdpUSaF3FzLkdANJleOIJETWlkJbvh78glOVIM64PARjlc2afiGoqtMiuUMoTqRp3ehnQtpDNfqEDBdeC+T6nuELOLGRiXVVPJC5u2xwP6L0+1qOQ8wqZWNmpXECK6wV+RBCipRLoQBRvyLL2dFwfBlDnTWos7W4xXgi3IATg31p3hldoEG8EAR0IuEC8OuUGK62eCyoYVARutvNOL9VZQD6yxqmnKqmHB6u46PkejHp7XVxmlHOzVhXnTKxgwujXhzH0bdo56m9jymgcKhEITXFl61lFoYV7BMa0akCjkjqJEHOKdP/U7xhNJ1vlZLXOv2Upnmq3JxfJlH4XRzWebBWrmgf38hRXav5F4vSfjqGmHl8if1W/NuSzjWljvW3oQxh0Ly9AQRtqUvdC+Xk4UiXfpmLH9JzB0CBOQKtpwwXtHzxLJcTsQW97FdQDQVxIVc3GUzVuEyEDb4z7NTndysju4c6qfSlOOc8pXQof78nEtoVRDvDsnMlXeK04+o+ztRgSnNOdjq1DSM2z4uLoeecKSCQWhgntXfEsY2ZcHwDQAMESq8VoC7ty5EnxZK37EIAGAV6NArT3c3def2Hm3HdASlSYSipe384bAR6x+tTsIBOBqoMTzlirVz2BrOgoWcF/mizikfkwKiQAAAAASUVORK5CYII=)](https://stackblitz.com/edit/angular-ivy-1b7hxn)\n\n\nThis is is a companion repo for [How To Build a Strongly Typed Angular Super Form](https://betterprogramming.pub/how-to-build-a-strongly-typed-angular-14-super-form-86837965a0e5) that demonstrates a strongly typed Angular form that enforces type safety at declaration via data models.\n\n## 🥾 Steps\n\nClone this repo\n\n```sh\ngit clone https://github.com/bobbyg603/ng-super-forms\n```\n\nInstall the dependencies\n\n```sh\nnpm i\n```\n\n## 🧑‍🏫 Additional Learning\n\nInspect the form in [src/app/shirt/shirt.component.ts](https://github.com/bobbyg603/ng-super-forms/blob/ebd17cdde5e3e214e5659ff8354a044527a3bac4/src/app/shirt/shirt.component.ts#L19)\n```ts\nformGroup = new FormGroup\u003cControlsOf\u003cItem\u003cShirt\u003e\u003e\u003e({\n  quantity: new FormControl(1),\n  item: new FormGroup({\n    color: new FormControl(Color.Green as Color),\n    size: new FormControl(Size.medium as Size),\n    text: new FormControl('hello world 🌎'),\n  }),\n});\n```\n\nModify [src/app/shirt/shirt.ts](https://github.com/bobbyg603/ng-super-forms/blob/master/src/app/shirt/shirt.ts)\n```ts\nexport interface Shirt {\n  frontText: string;\n  backText: string;\n  color: Color;\n  size: Size;\n}\n```\n\nFix the `formGroup` declaration error\n```ts\nformGroup = new FormGroup\u003cControlsOf\u003cItem\u003cShirt\u003e\u003e\u003e({\n  quantity: new FormControl(1),\n  item: new FormGroup({\n    color: new FormControl(Color.Green as Color),\n    size: new FormControl(Size.medium as Size),\n    frontText: new FormControl('hello world 🌎'),\n    backText: new FormControl('goodnight world 🌎'),\n  }),\n});\n```\n\n## 🧑‍💻 Next Steps\n\nIf you liked this example, please follow me on [Medium](https://bobbyg603.medium.com/) and [X](https://twitter.com/bobbyg603), where I post programming tutorials and discuss tips and tricks that have helped make me a better programmer.\n\n**Thank you for your support ❤️**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobbyg603%2Fngx-super-forms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbobbyg603%2Fngx-super-forms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobbyg603%2Fngx-super-forms/lists"}