{"id":30821120,"url":"https://github.com/tram-one/tram-one","last_synced_at":"2025-09-06T10:15:15.601Z","repository":{"id":21789236,"uuid":"93494886","full_name":"Tram-One/tram-one","owner":"Tram-One","description":"🚋 Legacy View Framework For Vanilla Javascript","archived":false,"fork":false,"pushed_at":"2025-01-26T15:52:55.000Z","size":3058,"stargazers_count":36,"open_issues_count":21,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-20T07:20:43.347Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://tram-one.io/","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/Tram-One.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,"zenodo":null}},"created_at":"2017-06-06T08:31:03.000Z","updated_at":"2025-01-26T15:52:59.000Z","dependencies_parsed_at":"2025-08-20T07:20:49.089Z","dependency_job_id":null,"html_url":"https://github.com/Tram-One/tram-one","commit_stats":{"total_commits":121,"total_committers":10,"mean_commits":12.1,"dds":"0.11570247933884292","last_synced_commit":"75c459b5a6fcddf87186b4207d8e1ca588887500"},"previous_names":["jrjurman/tram-one"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/Tram-One/tram-one","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tram-One%2Ftram-one","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tram-One%2Ftram-one/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tram-One%2Ftram-one/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tram-One%2Ftram-one/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tram-One","download_url":"https://codeload.github.com/Tram-One/tram-one/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tram-One%2Ftram-one/sbom","scorecard":{"id":143458,"data":{"date":"2025-08-11","repo":{"name":"github.com/Tram-One/tram-one","commit":"7f36228bfe932d1d5266735917527f4eebb04538"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.9,"checks":[{"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":"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":"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":"Code-Review","score":3,"reason":"Found 11/30 approved changesets -- score normalized to 3","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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v10.1.7 not signed: https://api.github.com/repos/Tram-One/tram-one/releases/46380319","Warn: release artifact v5.2.1 not signed: https://api.github.com/repos/Tram-One/tram-one/releases/10913747","Warn: release artifact v4.1.1 not signed: https://api.github.com/repos/Tram-One/tram-one/releases/9702226","Warn: release artifact v2.0.0 not signed: https://api.github.com/repos/Tram-One/tram-one/releases/7863620","Warn: release artifact v1.3.1 not signed: https://api.github.com/repos/Tram-One/tram-one/releases/7133850","Warn: release artifact v10.1.7 does not have provenance: https://api.github.com/repos/Tram-One/tram-one/releases/46380319","Warn: release artifact v5.2.1 does not have provenance: https://api.github.com/repos/Tram-One/tram-one/releases/10913747","Warn: release artifact v4.1.1 does not have provenance: https://api.github.com/repos/Tram-One/tram-one/releases/9702226","Warn: release artifact v2.0.0 does not have provenance: https://api.github.com/repos/Tram-One/tram-one/releases/7863620","Warn: release artifact v1.3.1 does not have provenance: https://api.github.com/repos/Tram-One/tram-one/releases/7133850"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"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":"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 12 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":"35 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-xq7p-g2vc-g82p","Warn: Project is vulnerable to: GHSA-wrw9-m778-g6mc","Warn: Project is vulnerable to: GHSA-pp7h-53gx-mx7r","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-x9w5-v3q2-3rhw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-434g-2637-qmqr","Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m","Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw","Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p","Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-7wpw-2hjm-89gp","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-7hpj-7hhx-2fgx","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm","Warn: Project is vulnerable to: GHSA-x6fg-f45m-jf5q","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-4wf5-vphf-c2xc","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","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-16T08:46:45.903Z","repository_id":21789236,"created_at":"2025-08-16T08:46:45.903Z","updated_at":"2025-08-16T08:46:45.903Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273888728,"owners_count":25185938,"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-09-06T02:00:13.247Z","response_time":2576,"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":[],"created_at":"2025-09-06T10:15:12.541Z","updated_at":"2025-09-06T10:15:15.590Z","avatar_url":"https://github.com/Tram-One.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!warning]\n\u003e this specific project in the Tram-One org is no longer under active development. We recommend checking out our other projects for web-development, namely [Tram-Deco](https://github.com/Tram-One/tram-deco)\n\n\u003cp align=\"center\"\u003e\u003ca href=\"http://tram-one.io/\" target=\"_blank\"\u003e\u003cimg src=\"https://unpkg.com/@tram-one/tram-logo@4\" width=\"128\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://unpkg.com/tram-one/dist/tram-one.cjs\"\u003e\n    \u003cimg src=\"https://github.com/Tram-One/tram-one/raw/master/docs/badges/cjs.svg?sanitize=true\" alt=\"Common JS build\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://unpkg.com/tram-one/dist/tram-one.js\"\u003e\n    \u003cimg src=\"https://github.com/Tram-One/tram-one/raw/master/docs/badges/umd.svg?sanitize=true\" alt=\"UMD build\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://unpkg.com/tram-one/dist/tram-one.mjs\"\u003e\n    \u003cimg src=\"https://github.com/Tram-One/tram-one/raw/master/docs/badges/mjs.svg?sanitize=true\" alt=\"ES Module build\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/tram-one\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/tram-one.svg\" alt=\"Downloads\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/tram-one\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/tram-one.svg\" alt=\"Version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/tram-one\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/l/tram-one.svg\" alt=\"License\"\u003e\n  \u003c/a\u003e\n    \u003ca href=\"https://discord.gg/dpBXAQC\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/discord-join-5865F2.svg?style=flat\" alt=\"Join Discord\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n# Tram-One\n\nModern View Framework for Vanilla Javascript\n\n## Summary\n\nTram-One is a Modern View Framework that has advance features like hooks, observables, and JSX-like template components, all in plain vanilla javascript.\n\nTram-One takes inspiration from frameworks like Choo, React, and Svelte, and provides a rich feature set without additional libraries.\n\n[View the docs for a complete one-stop-shop with everything you need to know about Tram-One.](/documentation.md)\n\n[If you have any questions from this page or about Tram-One, or just want to say hi, join our Discord!](https://discord.gg/dpBXAQC)\n\n```javascript\nimport { registerHtml, start } from 'tram-one';\n\nconst html = registerHtml();\nconst home = () =\u003e {\n\treturn html`\n\t\t\u003cmain\u003e\n\t\t\t\u003ch1\u003eTram-One\u003c/h1\u003e\n\t\t\t\u003ch2\u003eA Modern View Framework For Vanilla Javascript\u003c/h2\u003e\n\t\t\u003c/main\u003e\n\t`;\n};\n\nstart('#app', home);\n```\n\n### Why?\n\nTram-One is a project that emphasizes vanilla JS and HTML syntax, while providing the features of modern JS frameworks. It is born out of love of the JSX syntax, and an attempt to build something unique with existing open source libraries.\n\nWhile Tram-One makes use of many dependencies, an effort has been made to expose those dependencies in a way that will hopefully\nencourage other developers to mix-and-match their own libraries, make improvements, and potentially\nbuild off of what is here to make their own front-end frameworks!\n\n### Is Tram-One for Javascript or Typescript?\n\nBoth! While the source code and type checking exist in Typescript, smart editors (such as Visual Studio Code), will make use of\nthe Typescript annotations regardless of what language you work in!\n\n## This Repo and the Tram-One Org\n\nThis repo contains the main Tram-One framework, which can be installed and\nused to make web-apps. [The Tram-One org](https://github.com/Tram-One)\nincludes many of the dependencies as well as the websites and generators for the project.\nThe dependencies, while made (or modiefied) for Tram-One, can be used in other projects.\n\n### Discord\n\nIf you want to start contributing, need help, or would just like to say hi,\n[join our discord](https://discord.gg/dpBXAQC)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftram-one%2Ftram-one","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftram-one%2Ftram-one","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftram-one%2Ftram-one/lists"}