{"id":13739508,"url":"https://github.com/arbre-app/read-gedcom","last_synced_at":"2025-05-08T19:34:15.983Z","repository":{"id":37696875,"uuid":"291798574","full_name":"arbre-app/read-gedcom","owner":"arbre-app","description":"A modern Gedcom parser written in Typescript","archived":false,"fork":false,"pushed_at":"2023-09-25T21:22:46.000Z","size":615,"stargazers_count":15,"open_issues_count":4,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-04T16:54:19.030Z","etag":null,"topics":["gedcom","genealogy","parser","typescript"],"latest_commit_sha":null,"homepage":"https://docs.arbre.app/read-gedcom","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/arbre-app.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}},"created_at":"2020-08-31T18:52:20.000Z","updated_at":"2024-04-02T09:51:45.000Z","dependencies_parsed_at":"2024-04-17T09:53:14.243Z","dependency_job_id":"9bed81e3-7364-4c88-aec5-e030b313aea4","html_url":"https://github.com/arbre-app/read-gedcom","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbre-app%2Fread-gedcom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbre-app%2Fread-gedcom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbre-app%2Fread-gedcom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbre-app%2Fread-gedcom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arbre-app","download_url":"https://codeload.github.com/arbre-app/read-gedcom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224758177,"owners_count":17364967,"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":["gedcom","genealogy","parser","typescript"],"created_at":"2024-08-03T04:00:34.654Z","updated_at":"2024-11-15T09:30:38.135Z","avatar_url":"https://github.com/arbre-app.png","language":"TypeScript","funding_links":[],"categories":["Parsers"],"sub_categories":["JavaScript/Node.js"],"readme":"# read-gedcom\n\n![](https://github.com/arbre-app/read-gedcom/actions/workflows/build.yml/badge.svg)\n![](https://img.shields.io/npm/v/read-gedcom?color=brightgreen)\n![](https://img.shields.io/librariesio/dependents/npm/read-gedcom)\n![](https://img.shields.io/npm/l/read-gedcom?color=brightgreen)\n\n***A Gedcom file reader written in Typescript.*** See the **[documentation](https://docs.arbre.app/read-gedcom/)**.\n\n### Features\n\n* Tolerant parsing\n  * Character encoding detection (ASCII, CP1252, UTF-8, UTF-16, CP850, and more)\n  * Good effort of parsing and interpreting non-standard data\n* Near full specification coverage\n  * Mostly Gedcom 5.5.5 compliant while being as much backward compatible as possible\n  * Parser for dates in any standard calendars\n* Unopinionated API\n  * We provide the API, but the user has full control over the interpretation of the data\n  * It's also possible to not use the API, in which case it can be shaken off the tree\n* Strongly typed\n* Zero dependencies; compatible on browser and Node.js\n  * Less than `20kB` gzipped\n* ...and more:\n  * Conversion of dates\n  * Serialization-friendly\n  * Progress tracking for larger files\n\n### Installation and Usage\n\n```\nnpm install read-gedcom\n```\n\n\n```javascript\nimport { readGedcom } from 'read-gedcom';\n\nconst promise = fetch('https://mon.arbre.app/gedcoms/royal92.ged')\n  .then(r =\u003e r.arrayBuffer())\n  .then(readGedcom);\n\npromise.then(gedcom =\u003e {\n  console.log(gedcom.getHeader().toString());\n});\n```\n\nOr, if you simply want to include it as a javascript file, this is also possible:\n```html\n\u003cscript type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/npm/read-gedcom/dist/read-gedcom.min.js\"\u003e\u003c/script\u003e\n\u003cscript\u003e\n    const promise = fetch('https://mon.arbre.app/gedcoms/royal92.ged')\n            .then(r =\u003e r.arrayBuffer())\n            .then(Gedcom.readGedcom);\n\n    promise.then(gedcom =\u003e {\n        console.log(gedcom.getHeader().toString());\n    });\n\u003c/script\u003e\n```\n\n### Documentation\n\n* **[Quick Start](https://docs.arbre.app/read-gedcom/pages/Getting%20Started/quickstart)**\n* **[Basic Examples](https://docs.arbre.app/read-gedcom/pages/Getting%20Started/basic-examples)**\n* **[Advanced Examples](https://docs.arbre.app/read-gedcom/pages/Getting%20Started/advanced-examples)**\n* **[API](https://docs.arbre.app/read-gedcom/modules)**\n\n### Bug report\n\nA Gedcom file isn't parsed correctly? Please [open a ticket](https://github.com/arbre-app/read-gedcom/issues)!\n\nAlso make sure to attach a zipped version of the bogus Gedcom file.\nIf you don't want to publicly share the file, you may send it to [this email address](https://github.com/arbre-app); we will create a minimal reproducible example based on what you sent us, which can be safely shared.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farbre-app%2Fread-gedcom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farbre-app%2Fread-gedcom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farbre-app%2Fread-gedcom/lists"}