{"id":14449388,"url":"https://github.com/The-Commit-Company/frappe-types","last_synced_at":"2025-08-28T03:31:42.860Z","repository":{"id":77021488,"uuid":"535491015","full_name":"The-Commit-Company/frappe-types","owner":"The-Commit-Company","description":"Typescript type definition generator for Frappe DocTypes","archived":false,"fork":false,"pushed_at":"2024-05-13T06:16:55.000Z","size":75,"stargazers_count":60,"open_issues_count":2,"forks_count":29,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-15T00:17:39.589Z","etag":null,"topics":["frappe-framework","typescript"],"latest_commit_sha":null,"homepage":"","language":"Python","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/The-Commit-Company.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-12T02:55:28.000Z","updated_at":"2025-07-09T16:12:25.000Z","dependencies_parsed_at":"2024-02-14T08:24:46.350Z","dependency_job_id":"a7868949-ee4d-4c89-9d34-d20d6a544669","html_url":"https://github.com/The-Commit-Company/frappe-types","commit_stats":null,"previous_names":["nikkothari22/frappe-types"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/The-Commit-Company/frappe-types","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-Commit-Company%2Ffrappe-types","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-Commit-Company%2Ffrappe-types/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-Commit-Company%2Ffrappe-types/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-Commit-Company%2Ffrappe-types/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/The-Commit-Company","download_url":"https://codeload.github.com/The-Commit-Company/frappe-types/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The-Commit-Company%2Ffrappe-types/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272394500,"owners_count":24927203,"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","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["frappe-framework","typescript"],"created_at":"2024-09-01T08:01:15.634Z","updated_at":"2025-08-28T03:31:42.580Z","avatar_url":"https://github.com/The-Commit-Company.png","language":"Python","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"## Frappe Typescript Type Generator\n\nTypescript type definition generator for Frappe DocTypes.\n\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/nikkothari22/frappe-types\"\u003e\u003cimg src=\"https://img.shields.io/maintenance/yes/2024?style=flat-square\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/nikkothari22/frappe-types\"\u003e\u003cimg src=\"https://img.shields.io/github/license/The-Commit-Company/frappe-types?style=flat-square\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n## Usage\n\nTo use the app, install it on your local development bench:\n\n```bash\n$ bench get-app https://github.com/The-Commit-Company/frappe-types\n$ bench --site mysite.test install-app frappe_types\n```\n\nAfter installing the app, search for \"Type Generation Settings\" in Desk using the Awesomebar. You need to add the app name and path where you want to save your Typescript type definition files. frappe-types will only run on those app whose app name and path are added in these settings.\n\n\u003cimg width=\"1372\" alt=\"Screenshot 2023-01-12 at 2 30 31 PM\" src=\"https://user-images.githubusercontent.com/59503001/212024507-3197ecfb-e243-4695-a96c-b86d0c1113b4.png\"\u003e\n\nThat's it.\n\nNow whenever you create or update any DocType on your local machine, the app will generate `.ts` files under at the following path: `app/src/types/\u003cmodule_def\u003e/\u003cdoctype_name\u003e.ts`.\n\n\u003cbr/\u003e\n\n## Features\n\n1. Supports most Frappe field types\n2. Runs automatically whenever you save/update a DocType\n3. Adds JSDoc comments for every field in the interface\n4. Support CLI command to run type generation on existing DocTypes without having to update them.\n\n\u003cbr/\u003e\n\n## CLI Command\n\nYou can also run the type generation command from the bench CLI. This will generate types for all DocTypes in the system.\nThis CLI Command works for all frappe-bench apps, and can generate types of any DocType .\n\n1.  Generate types for DocType.\n\n```bash\n $ bench  --site \u003csite_name\u003e generate-types-for-doctype --app \u003capp_name\u003e --doctype \u003cdoctype_name\u003e [--generate_child_tables] [--custom_fields]\n\n#  or just Answer the prompts\n $ bench  --site \u003csite_name\u003e generate-types-for-doctype\n```\n\n2.  Generate types for Module.\n\n```bash\n $ bench --site \u003csite_name\u003e generate-types-for-module --app \u003capp_name\u003e --module \u003cmodule_name\u003e [--generate_child_tables]\n\n#  or just Answer the prompts\n  $ bench --site \u003csite_name\u003e generate-types-for-module\n```\n\nNote: No need to mention --site \u003csite_name\u003e if current site is same site where module/doctype existed app installed in that site.\n\n1. `--app` - the app name included in `Type Generation Settings` doctype and where you want to save type files.\n2. `--doctype` - the doctype name for which you want to generate types.\n3. `--module` - the module name for which you want to generate types.\n4. `--generate_child_tables` - if you want to generate types for child tables of the doctype (default=False).\n5. `--custom_fields` - if you want to generate types for custom fields of the doctype (Default=False).\n\n\u003cbr\u003e\n\n## Example\n\nLet's say you create a DocType in a module called \"Project Management\" called \"Projects\" and Child Table called \"Project User Table\" with the following fields:\n\u003cbr/\u003e\n\n\u003cimg width=\"1047\" alt=\"image\" src=\"https://github.com/The-Commit-Company/frappe-types/assets/59503001/60718378-c1e7-4b65-86eb-5e320ab3a5ca\"\u003e\n\n\u003cbr/\u003e\n\nThe app will automatically create a file called `Projects.ts` and `ProjectUserTable.ts` at the path `\u003cyour_app_folder\u003e/types/ProjectManagement` like this:\n\n(Notice that spaces in the Module and DocType names will be removed)\n\n\u003cbr/\u003e\n\n\u003cimg width=\"1239\" alt=\"image\" src=\"https://github.com/The-Commit-Company/frappe-types/assets/59503001/c67b6f11-66b3-4c72-8217-bb1afab95c02\"\u003e\n\n\u003cbr/\u003e\n\u003cimg width=\"1242\" alt=\"image\" src=\"https://github.com/The-Commit-Company/frappe-types/assets/59503001/1c40ccd4-66a1-4b12-be5d-1f8c3798b60e\"\u003e\n\n\u003cbr/\u003e\n\n## Where can you use this?\n\nIf you are developing custom Frappe apps with a Frappe backend and a frontend single-page app using React/Vue/other frameworks, you can use this app to generate TypeScript definitions to be used in your frontend app.\n\n\u003cbr/\u003e\n\n## What features will we add next?\n\n1. Looking at how to improve speed so that DocType saving does not take a lot of time.\n\n\u003cbr/\u003e\n\n## Maintainers\n\n| Maintainer     | GitHub                                          | Social                                                           |\n| -------------- | ----------------------------------------------- | ---------------------------------------------------------------- |\n| Nikhil Kothari | [nikkothari22](https://github.com/nikkothari22) | [@nik_kothari22](https://twitter.com/nik_kothari22)              |\n| Sumit Jain     | [sumitjain236](https://github.com/sumitjain236) | [@sumit_jain](https://www.linkedin.com/in/sumit-jain-66bb5719a/) |\n\n\u003cbr/\u003e\n\n#### License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThe-Commit-Company%2Ffrappe-types","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FThe-Commit-Company%2Ffrappe-types","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThe-Commit-Company%2Ffrappe-types/lists"}