{"id":15645730,"url":"https://github.com/mgechev/angular-ivy-demo","last_synced_at":"2025-04-30T10:50:08.334Z","repository":{"id":37664180,"uuid":"160115045","full_name":"mgechev/angular-ivy-demo","owner":"mgechev","description":"Demo repository showing how ivy allows significant API simplification.","archived":false,"fork":false,"pushed_at":"2018-12-09T21:20:56.000Z","size":26898,"stargazers_count":53,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-30T10:50:05.802Z","etag":null,"topics":["angular","angular-ivy","demo"],"latest_commit_sha":null,"homepage":"","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/mgechev.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}},"created_at":"2018-12-03T01:25:09.000Z","updated_at":"2022-11-10T13:49:09.000Z","dependencies_parsed_at":"2022-09-09T08:02:42.883Z","dependency_job_id":null,"html_url":"https://github.com/mgechev/angular-ivy-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgechev%2Fangular-ivy-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgechev%2Fangular-ivy-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgechev%2Fangular-ivy-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgechev%2Fangular-ivy-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgechev","download_url":"https://codeload.github.com/mgechev/angular-ivy-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251685303,"owners_count":21627269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","angular-ivy","demo"],"created_at":"2024-10-03T12:09:29.686Z","updated_at":"2025-04-30T10:50:08.307Z","avatar_url":"https://github.com/mgechev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Angular Ivy Demo\n\nThis repository demonstrates simplified API for using Angular enabled by ivy.\n\n**Disclaimer**: the APIs below are highly experimental and likely to change. The produced bundle by parcel is not tree-shaked, which means that it'll be significant bigger than what Angular CLI will produce once Ivy is officially released.\n\n## Overview\n\nThe entire application is within `index.html` and `index.ts`. The `index.ts` file contains two components and a pipe. There are two important points to notice:\n\n- **There are no `@NgModule`s**\n- **There are no zones**\n- We don't use rxjs explicitly\n\nThis already reduces the learning curve dramatically by cutting three of the most misunderstood concepts in Angular. **Keep in mind that Ivy does not deprecate NgModules and zones, they'll keep function the way they do today. The only difference is that with the new rendering they become optional**.\n\n## Usage\n\nTo try the demo:\n\n```\ngit clone git@github.com:mgechev/angular-ivy-demo\ncd angular-ivy-demo \u0026\u0026 npm i\nnpm start\n```\n\nNow open http://localhost:1234.\n\nTry to create a \"Hello, World!\" application by:\n\n* Create a file called `hello-world.html` with the following content:\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003cbody\u003e\n    \u003capp\u003e\u003c/app\u003e\n    \u003cscript src=\"hello-world.ts\"\u003e\u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\n* Create a file called `hello-world.ts` with the following content:\n\n```typescript\nimport {Component, ɵrenderComponent as renderComponent} from '@angular/core';\nimport '@angular/compiler';\n\n@Component({\n  selector: 'app',\n  template: 'Hello, World!'\n})\nclass AppComponent {}\n\nrenderComponent(AppComponent);\n```\n\n* Run the following command:\n\n```\n./node_modules/.bin/parcel hello-world.html\n```\n\n## License\n\nMIT\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgechev%2Fangular-ivy-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgechev%2Fangular-ivy-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgechev%2Fangular-ivy-demo/lists"}