{"id":47677944,"url":"https://github.com/webdriverio/cddl","last_synced_at":"2026-04-02T13:38:32.396Z","repository":{"id":346820751,"uuid":"1188938742","full_name":"webdriverio/cddl","owner":"webdriverio","description":"Tools for parsing CDDL schema files and generating TypeScript definitions","archived":false,"fork":false,"pushed_at":"2026-03-26T14:10:23.000Z","size":253,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-26T17:42:35.912Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/webdriverio.png","metadata":{"files":{"readme":"README.md","changelog":"changelogithub.base.config.ts","contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"tidelift":"npm/webdriverio","open_collective":"webdriverio"}},"created_at":"2026-03-22T19:32:44.000Z","updated_at":"2026-03-26T14:07:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/webdriverio/cddl","commit_stats":null,"previous_names":["webdriverio/cddl"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/webdriverio/cddl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdriverio%2Fcddl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdriverio%2Fcddl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdriverio%2Fcddl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdriverio%2Fcddl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webdriverio","download_url":"https://codeload.github.com/webdriverio/cddl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdriverio%2Fcddl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30992795,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-26T18:07:05.776Z","status":"ssl_error","status_checked_at":"2026-03-26T18:07:05.331Z","response_time":114,"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":[],"created_at":"2026-04-02T13:38:30.157Z","updated_at":"2026-04-02T13:38:32.388Z","avatar_url":"https://github.com/webdriverio.png","language":"TypeScript","funding_links":["https://tidelift.com/funding/github/npm/webdriverio","https://opencollective.com/webdriverio"],"categories":[],"sub_categories":[],"readme":"CDDL [![Test](https://github.com/webdriverio/cddl/actions/workflows/test.yml/badge.svg)](https://github.com/webdriverio/cddl/actions/workflows/test.yml)\n====\n\n\u003e Concise data definition language ([RFC 8610](https://tools.ietf.org/html/rfc8610)) implementation for JSON validator \u0026 code generator in Node.js\n\nCDDL expresses Concise Binary Object Representation (CBOR) data structures ([RFC 7049](https://tools.ietf.org/html/rfc7049)). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.\n\nThere are also CDDL parsers for other languages:\n- Rust: [anweiss/cddl](https://github.com/anweiss/cddl)\n\nThe package is currently mostly used to help generate typed interfaces for the WebDriver Bidi specification in the following projects:\n- [WebdriverIO](https://webdriver.io) - via the [`cddl2ts`](https://www.npmjs.com/package/cddl2ts) package and [this script](https://github.com/webdriverio/webdriverio/blob/a2ae35332f9b3fc9490136df1ac3d2e14c1e35b6/scripts/bidi/index.ts)\n- [Selenium](https://selenium.dev) - via the [`cddl2java`](https://github.com/webdriverio/cddl2java) package\n\n__Note:__ this is __work in progress__, feel free to have a look at the code or contribute but don't use this for anything yet!\n\n## Install\n\nTo install one of the packages run:\n\n```sh\n# Parser \u0026 validator\n$ npm install cddl\n\n# Generate typescript definition\n$ npm install cddl2ts\n```\n\n## Using packages\n\nThe packages expose a CLI as well as a programmatic interface for parsing and transforming CDDL.\n\n### CLI\n\nThe `cddl` CLI offers a `validate` command that helps identify invalid CDDL formats, e.g.:\n\n```sh\nnpx cddl validate ./path/to/interface.cddl\n✅ Valid CDDL file!\n```\n\nThe `cddl2ts` CLI allows transforming CDDL into TypeScript:\n\n```sh\nnpx cddl2ts ./path/to/interface.cddl \u0026\u003e ./path/to/interface.ts\n```\n\n### Programmatic Interface\n\nYou can import any of the packages into your typescript project for an easy integration\n- [`cddl` example](packages/cddl/README.md#programmatic-interface)\n- [`cddl2ts` example](packages/cddl2ts/README.md#programmatic-interface)\n\n---\n\nIf you are interested in this project, please feel free to contribute ideas or code patches. Have a look at our [contributing guidelines](https://github.com/webdriverio/cddl/blob/master/CONTRIBUTING.md) to get started.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebdriverio%2Fcddl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebdriverio%2Fcddl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebdriverio%2Fcddl/lists"}