{"id":42310053,"url":"https://github.com/mgit-at/typescript-flatbuffers-codegen","last_synced_at":"2026-01-27T11:16:31.187Z","repository":{"id":53738288,"uuid":"282437116","full_name":"mgit-at/typescript-flatbuffers-codegen","owner":"mgit-at","description":"This package aims to simplify the use of flatbuffers in javascript/typescript","archived":false,"fork":false,"pushed_at":"2021-04-19T16:24:46.000Z","size":146,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-21T10:36:24.621Z","etag":null,"topics":["flatbuffers","flatbuffers-compiler","javascript","javascript-library","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgit-at.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-25T12:13:35.000Z","updated_at":"2025-08-14T12:53:57.000Z","dependencies_parsed_at":"2022-09-26T20:00:58.710Z","dependency_job_id":null,"html_url":"https://github.com/mgit-at/typescript-flatbuffers-codegen","commit_stats":null,"previous_names":["mgit-at/typescript-flatbuffer-codegen"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mgit-at/typescript-flatbuffers-codegen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgit-at%2Ftypescript-flatbuffers-codegen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgit-at%2Ftypescript-flatbuffers-codegen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgit-at%2Ftypescript-flatbuffers-codegen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgit-at%2Ftypescript-flatbuffers-codegen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgit-at","download_url":"https://codeload.github.com/mgit-at/typescript-flatbuffers-codegen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgit-at%2Ftypescript-flatbuffers-codegen/sbom","scorecard":{"id":639370,"data":{"date":"2025-08-11","repo":{"name":"github.com/mgit-at/typescript-flatbuffers-codegen","commit":"0b4fe445dfec9d8d1ecf77d24b79b0e9bf726d22"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.9,"checks":[{"name":"Code-Review","score":1,"reason":"Found 1/10 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE.txt:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENCE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"23 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-jgrx-mgxx-jf9v","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T10:15:14.938Z","repository_id":53738288,"created_at":"2025-08-21T10:15:14.939Z","updated_at":"2025-08-21T10:15:14.939Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28812372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T07:41:26.337Z","status":"ssl_error","status_checked_at":"2026-01-27T07:41:08.776Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["flatbuffers","flatbuffers-compiler","javascript","javascript-library","typescript"],"created_at":"2026-01-27T11:16:30.480Z","updated_at":"2026-01-27T11:16:31.180Z","avatar_url":"https://github.com/mgit-at.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Typescript Flatbuffers Codegen (flattsc)\n\nThis package aims to simplify the use of flatbuffers in javascript/typescript.\n\n## Requirements\n\n* Flatbuffers compiler (flatc) https://github.com/google/flatbuffers\n\n## Installation\n\n`yarn add @mgit-at/typescript-flatbuffers-codegen`\n\nor\n\n`npm install @mgit-at/typescript-flatbuffers-codegen`\n\n## Generator usage\n\n`npx flattsc [OPTIONS] FILES...`\n\n### Example\n\n`npx flattsc schema.fbs`\n\nGenerates code for the file 'schema.fbs'\n\n## Simple generated code usage\n\nSchema file:\n```\ntable RootTable {\n    name: NameTable;\n}\n\ntable NameTable {\n    firstname: string;\n    lastname: string;\n}\n```\n\n```typescript\nimport {RootTable} from 'schema_generated';\n\nconst flatbuffersObject = BINARY_DATA;\n\nconst data = RootTable.fromFlatbuffers(flatbuffersObject);\n\nconsole.log(data.name.firstname);\nconsole.log(data.name.lastname);\n```\n\n## Performance\n\nTypescript Flatbuffers Codegen brings multiple performance and memory benefits.\n\nEspecially in use-cases where all or nearly all the data in the flatbuffers objects get parsed anyway, flattsc brings improvements in parsing time and memory usage.\n\n## Features \n\nTypescript Flatbuffers Codegen adds some unique features to it's generated files, which the default flatbuffer compiler doesn't add:\n\n### Object API\n\nFlattsc generates what the flatbuffer compiler calls object api. The whole flatbuffers object gets decoded as a whole and can be easily accessed and modified in javascript/typescript. \n\n### Proxy\n\nThe proxy feature helps reduce the time spent for the initial decode of the flatbuffers object, the objects will only get decoded if they are accessed.\n\nThis feature can be used by adding the proxy attribute to a field: \n\n```\nattribute \"proxy\";\n\ntable RootTable {\n    data: ExpensiveToDecode (proxy);\n}\n\ntable ExpensiveToDecode {\n    name: string;\n}\n```\n\nThis also works for arrays:\n\n```\nattribute \"proxy\";\n\ntable RootTable {\n    data: [ExpensiveToDecode] (proxy);\n}\n\ntable ExpensiveToDecode {\n    name: string;\n}\n```\n\nBy default the first 2 elements get decoded, other elements only get decoded if they are accessed.\n\nThe amount of initially decoded elements can also be set. This decodes 10:\n\n```\ntable RootTable {\n    data: [ExpensiveToDecode] (proxy:10);\n}\n```\n\n### Unique identifier\n\nThe uid feature helps reduce the amount of object duplicates in memory. A badly crafted flatbuffers object my contain an object multiple times. By setting a field as the unique identifier field, the object with this uid is memoized for additional references.\n\n```\nattribute \"uid\";\n\ntable RootTable {\n    data: DuplicatedTable;\n}\n\ntable DuplicatedTable {\n    id: number (uid);\n}\n```\n\n### Object memoization and cyclic reference support\n\nThe code generated by flattsc only decodes every element in a flatbuffers object once and supports cyclic references.\n\n## License\n\nApache-2.0 License\n\n## Author Information\n\nThis package was initially created in 2020 by Patrick Pichler ([@aveexy](https://github.com/aveexy)) from [mgit GmbH](https://mgit.at).\n\nCopyright 2020 mgIT GmbH.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgit-at%2Ftypescript-flatbuffers-codegen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgit-at%2Ftypescript-flatbuffers-codegen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgit-at%2Ftypescript-flatbuffers-codegen/lists"}