{"id":18352935,"url":"https://github.com/aaronhuggins/js-edi","last_synced_at":"2026-04-01T18:42:18.983Z","repository":{"id":52987930,"uuid":"343855139","full_name":"aaronhuggins/js-edi","owner":"aaronhuggins","description":"Next-gen EDI parser in Antlr4 grammar compiled by antlr4ts","archived":false,"fork":false,"pushed_at":"2021-04-15T19:57:12.000Z","size":1911,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-27T22:57:10.111Z","etag":null,"topics":["antlr4","edi","edifact","grammars","javascript","js-edi","parser","typescript","x12"],"latest_commit_sha":null,"homepage":"","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/aaronhuggins.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}},"created_at":"2021-03-02T17:22:26.000Z","updated_at":"2025-08-27T05:18:01.000Z","dependencies_parsed_at":"2022-08-28T12:22:28.371Z","dependency_job_id":null,"html_url":"https://github.com/aaronhuggins/js-edi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aaronhuggins/js-edi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronhuggins%2Fjs-edi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronhuggins%2Fjs-edi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronhuggins%2Fjs-edi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronhuggins%2Fjs-edi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronhuggins","download_url":"https://codeload.github.com/aaronhuggins/js-edi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronhuggins%2Fjs-edi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: 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":["antlr4","edi","edifact","grammars","javascript","js-edi","parser","typescript","x12"],"created_at":"2024-11-05T21:37:58.733Z","updated_at":"2026-04-01T18:42:18.954Z","avatar_url":"https://github.com/aaronhuggins.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JS-EDI\n\nWork in progress, not fit for production use. Parser for both EDIX12 and EDIFACT leveraging Antlr4 grammar.\n\nIf I could call it J-EDI, I would. May the force be with you.\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ahuggins-nhs_js-edi\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=ahuggins-nhs_js-edi) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=ahuggins-nhs_js-edi\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=ahuggins-nhs_js-edi) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=ahuggins-nhs_js-edi\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=ahuggins-nhs_js-edi) [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=ahuggins-nhs_js-edi\u0026metric=ncloc)](https://sonarcloud.io/dashboard?id=ahuggins-nhs_js-edi)\n\n# Features\n\n- Support for EDI X12 and EDIFACT\n- Parse natively in JS to a document object model (DOM)\n- Generate from a constructed dom\n- Query the dom using element selectors\n- Traverse as a hierarchical dom\n- Transform to and from JS objects\n- Serialize to and from JSON EDI notation\n- Validate parsed EDI using JSON Schema\n\n# What's done prior to alpha so far\n\n- EDI X12 support; parser in antlr4ts is fully functional, detects component and repeated elements\n- Document object model, supports detecting difference between EDI flavors and complexe nodes\n- Validator, works with the DOM to be able to validate a document with JSON Schema\n- Element selector query language\n\n# Known TO-DOs\n\n## Before alpha release\n- Complete initial documentation\n\n## Before beta release\n- Improve accuracy of parsing/handling EDIFACT\n  - Better service string advice detection\n  - Conform to EDIFACT standard with \"release indicator\"\n  - Conform to EDIFACT charactar sets better (technically only UNOA and UNOB supported for now)\n\n## Before release candidate\n- Add custom eventing in document parser\n  - Events for each node type generated\n  - on errors\n  - on parse start and stop\n- Stabilize \n- Finish writing tests\n\n# Roadmap\n- Complete EDIFACT support and optimize grammar\n- Stabilize all APIs\n- Expose listener APIs\n- Write examples\n- Make tests more broadly specific to the parsing of grammars(??)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronhuggins%2Fjs-edi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronhuggins%2Fjs-edi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronhuggins%2Fjs-edi/lists"}