{"id":13495563,"url":"https://github.com/maciejtreder/ng-toolkit","last_synced_at":"2025-05-15T04:04:27.480Z","repository":{"id":21776850,"uuid":"93931161","full_name":"maciejtreder/ng-toolkit","owner":"maciejtreder","description":":star: Angular tool-box! Start your PWA in two steps! Add Serverless support for existing projects and much more","archived":false,"fork":false,"pushed_at":"2023-01-24T00:40:14.000Z","size":7868,"stargazers_count":1118,"open_issues_count":208,"forks_count":155,"subscribers_count":47,"default_branch":"master","last_synced_at":"2025-05-08T16:41:06.973Z","etag":null,"topics":["angular","angular-schematics","angular-universal","aws","aws-lambda","boilerplate","firebug-lite","google-cloud","google-cloud-functions","offline","push","push-notifications","pwa","pwa-apps","safari-push-notifications","schematics","server-side-rendering","serverless","serverless-framework","webpush"],"latest_commit_sha":null,"homepage":"https://www.angular-universal-pwa.maciejtreder.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maciejtreder.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-10T10:07:58.000Z","updated_at":"2025-04-30T14:17:43.000Z","dependencies_parsed_at":"2023-02-13T05:45:29.824Z","dependency_job_id":null,"html_url":"https://github.com/maciejtreder/ng-toolkit","commit_stats":null,"previous_names":["maciejtreder/angular-universal-serverless"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maciejtreder%2Fng-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maciejtreder%2Fng-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maciejtreder%2Fng-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maciejtreder%2Fng-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maciejtreder","download_url":"https://codeload.github.com/maciejtreder/ng-toolkit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253141422,"owners_count":21860538,"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-schematics","angular-universal","aws","aws-lambda","boilerplate","firebug-lite","google-cloud","google-cloud-functions","offline","push","push-notifications","pwa","pwa-apps","safari-push-notifications","schematics","server-side-rendering","serverless","serverless-framework","webpush"],"created_at":"2024-07-31T19:01:35.952Z","updated_at":"2025-05-15T04:04:27.449Z","avatar_url":"https://github.com/maciejtreder.png","language":"TypeScript","funding_links":["https://opencollective.com/ng-toolkit","https://liberapay.com/maciejtreder/donate","https://www.paypal.me/ngtoolkit"],"categories":["TypeScript","serverless","angular"],"sub_categories":[],"readme":"# @ng-toolkit [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social\u0026logo=twitter)](https://twitter.com/intent/tweet?text=Check%20out%20ng-toolkit%20-%20collection%20of%20great%20tools%20for%20angular\u0026url=https://github.com/maciejtreder/ng-toolkit\u0026via=maciejtreder\u0026hashtags=angular,pwa,webapp,software,developers)\n\nThis project has two faces:\n\n- First, a Angular Universal PWA boilerplate, prepared for easy deployment on Serverless environment. The boilerplate contains all of the best practices and is continously evolving. [Find out more about the boilerplate here.](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/init)\n- Second, a collection of `schematics` (used with the `ng add` command) which can be applied to existing Angular projects. All `schematics` comes from the boilerplate mentioned above. The main goal is to make those schematics **interchangeably** (developer can apply them in any order)!\n\n## Wanna be a server-side Angular hero?\nIf you want to sharpen your skills in Angular Universal or you won't find what you're looking for in this project; check out the [Guide to Angular Universal](https://www.newline.co/courses/newline-guide-to-angular-universal) written by me for Newline.co!\n\n## Content\n\n- [What's inside](#quickOverview)\n  - [Application starter/boilerplate](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/init)\n  - [Angular Universal/server-side rendering](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/universal)\n  - [Serverless support (Firebase, AWS Lambda, Google Cloud Functions)](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/serverless)\n- [Planned features](#planned-features)\n- [Question, Problem, Feature Request](#question)\n- [Support @ng-toolkit](#funding)\n\n## \u003ca name=\"quickOverview\"\u003e What's inside\n\n### **PWA starter**\n\n```console\nnpm install -g @ng-toolkit/init\nng new --collection @ng-toolkit/init myApp [--provider --firebaseProject --gaTrackingCode --firebug]\n```\n\n- [Read more documentation](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/init/README.md)\n\n### **PWA - @angular/pwa extension**\n\nAdd update mechanism and server-side rendering fixes to your PWA\n\n```console\nng add @ng-toolkit/pwa [--serverModule]\n```\n\n- [Read more documentation](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/pwa/README.md)\n\n### **Serverless (Firebase, AWS Lambda, Google Cloud Functions)**\n\nMake your app deployable on serverless environment (FaaS)\n\n```console\nng add @ng-toolkit/serverless [--provider --firebaseProject]\n```\n\n- [Read more documentation](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/serverless/README.md)\n- [Read article about serverless with @ng-toolkit](https://medium.com/@maciejtreder/angular-serverless-a713e86ea07a)\n\n### **Angular Universal**\n\nAdd server-side rendering and improve SEO of your app\n\n```console\nng add @ng-toolkit/universal\n```\n\n- [Read more documentation](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/universal/README.md)\n- [Read article about server-side rendering with @ng-toolkit](https://medium.com/@maciejtreder/angular-server-side-rendering-with-ng-toolkit-universal-c08479ca688)\n\n### **Firebug-lite**\n\nAdd firebug-lite to your Angular app\n\n```console\nng add @ng-toolkit/firebug\n```\n\n- [Read more documentation](https://github.com/maciejtreder/ng-toolkit/tree/master/schematics/firebug/README.md)\n\n## Planned features\n\n- [@ng-toolkit/googleAnalytics](https://github.com/maciejtreder/ng-toolkit/issues/225) - tracking user and JS exceptions in Google Analytics\n- [@ng-toolkit/compodoc](https://github.com/maciejtreder/ng-toolkit/issues/275) - introduce [compodoc](https://github.com/compodoc/compodoc) - documentation tool for your angular app\n- @ng-toolkit/safariPush - add pushes for Safari users\n\n### \u003ca name=\"question\"\u003e\u003c/a\u003e Looking for something more?\n\nFeel free to [create issue with your feature request](https://github.com/maciejtreder/ng-toolkit/issues/new)\n\n## \u003ca name=\"funding\"\u003e\u003c/a\u003e Support @ng-toolkit\n\nYou can support development of this project via:\n\n- [Open Collective](https://opencollective.com/ng-toolkit)\n- [Donorbox](https://donorbox.org/ng-toolkit)\n- [Liberapay](https://liberapay.com/maciejtreder/donate)\n- [Paypal](https://www.paypal.me/ngtoolkit)\n\nIf you want, you can be listed on the [List of donors](https://www.angular-universal-pwa.maciejtreder.com/donors) on the demo page.\n\n### *Open Collective Backers*\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/ng-toolkit#backer)]\n\n\u003ca href=\"https://opencollective.com/ng-toolkit#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/backers.svg?width=890\"\u003e\u003c/a\u003e\n\n### Open Collective Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/ng-toolkit#sponsor)]\n\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/ng-toolkit/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/ng-toolkit/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\n## \u003ca name=\"credentials\"\u003e\u003c/a\u003e Credentials\n\n- Checkout my [home page](https://www.maciejtreder.com) and find out more about me\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaciejtreder%2Fng-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaciejtreder%2Fng-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaciejtreder%2Fng-toolkit/lists"}