{"id":20633426,"url":"https://github.com/shadowc/tymfony","last_synced_at":"2025-06-19T22:08:29.510Z","repository":{"id":139933257,"uuid":"487504556","full_name":"shadowc/tymfony","owner":"shadowc","description":"A TypeScript based express framework designed to feel like symfony","archived":false,"fork":false,"pushed_at":"2024-12-12T10:12:22.000Z","size":2867,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T03:54:36.072Z","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/shadowc.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}},"created_at":"2022-05-01T10:14:20.000Z","updated_at":"2024-12-29T17:58:37.000Z","dependencies_parsed_at":"2024-10-28T12:53:24.217Z","dependency_job_id":"f3db2b14-72b3-4893-b2a9-c1d98189d39e","html_url":"https://github.com/shadowc/tymfony","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shadowc/tymfony","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowc%2Ftymfony","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowc%2Ftymfony/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowc%2Ftymfony/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowc%2Ftymfony/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shadowc","download_url":"https://codeload.github.com/shadowc/tymfony/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowc%2Ftymfony/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260838640,"owners_count":23070608,"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":[],"created_at":"2024-11-16T14:20:20.531Z","updated_at":"2025-06-19T22:08:24.496Z","avatar_url":"https://github.com/shadowc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tymfony\n\nA symfony-like `TypeScript` framework designed around `express` to make the\nexperience of creating `node` based back-end solutions easier.\n\n## Proof of concept\n\nThe final idea would be that you install this package in your app and, along\nwith a global binary, you can create a minimalistic app that loads a\ndefault controller and template. You could then go and install other\n`tymfony` packages that add files to config and the `/types/config` (TBD) \ndirectory.\n\n\u003e The final aim of this project is that the`framework` directory would instead\n\u003e live inside `node_modules` and that you can have a small script `main.js` to\n\u003e start the server added by a `postinstall` script.\n\n## How to add pages\n\nYou can add classes derived from the `AbstractController` class (or any\nclass for that matter) inside the `controllers` directory and `tymfony` will\nautomatically scan it and add them to the `express` route system allowing\nyou to work on a one-file-per-route basis and getting some tools of \na symfony-like framework.\n\nYou can then add services inside the `services` dir, and entities in the\n`entities` or `model` dir.\n\n## Dependency Injection\n\nThere will be a container available globally with the different packages\ninstalled on `tymfony` as we move to a better way of figuring out dependency\ninjection.\n\n### Installing a hypothetical package\n\n- You run `npm i` on some package named `@tymfony/package`.\n- The package installs itself in `node_modules`\n- There is a `postinstall` script that copies some config files to `config`\n- The `postinstall` script also adds files to a `config_types` (TBD) dir and\nmodifies the general `config.d.ts` that allows new patterns in the \nconfiguration general file of `tymfony`.\n- You start importing classes or using this package in your app as you create\ncontrollers, services, entities and models.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadowc%2Ftymfony","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshadowc%2Ftymfony","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadowc%2Ftymfony/lists"}