{"id":14156561,"url":"https://github.com/adobe/generator-tsx","last_synced_at":"2025-08-06T02:33:48.623Z","repository":{"id":34898951,"uuid":"187891347","full_name":"adobe/generator-tsx","owner":"adobe","description":"Yeoman generator for CRA + TypeScript + React + Redux + Router + Testing Library.","archived":false,"fork":false,"pushed_at":"2024-04-08T12:50:06.000Z","size":1809,"stargazers_count":30,"open_issues_count":20,"forks_count":11,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-07-01T21:09:54.739Z","etag":null,"topics":["cra","react","react-intl","react-testing-library","redux","router","typescript","yeoman","yeoman-generator"],"latest_commit_sha":null,"homepage":"https://generator-tsx.surge.sh","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/adobe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2019-05-21T18:18:58.000Z","updated_at":"2024-06-13T13:04:13.000Z","dependencies_parsed_at":"2024-08-17T08:17:38.047Z","dependency_job_id":null,"html_url":"https://github.com/adobe/generator-tsx","commit_stats":null,"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/adobe/generator-tsx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe%2Fgenerator-tsx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe%2Fgenerator-tsx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe%2Fgenerator-tsx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe%2Fgenerator-tsx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adobe","download_url":"https://codeload.github.com/adobe/generator-tsx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe%2Fgenerator-tsx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268976512,"owners_count":24338901,"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-08-05T02:00:12.334Z","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":["cra","react","react-intl","react-testing-library","redux","router","typescript","yeoman","yeoman-generator"],"created_at":"2024-08-17T08:06:26.322Z","updated_at":"2025-08-06T02:33:48.150Z","avatar_url":"https://github.com/adobe.png","language":"TypeScript","readme":"# TSX Yeoman Generator\n\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n![GitHub Workflow](https://github.com/adobe/generator-tsx/workflows/master/badge.svg)\n[![NPM version](http://img.shields.io/npm/v/generator-tsx.svg)](https://www.npmjs.org/package/generator-tsx)\n[![npm license](http://img.shields.io/npm/l/generator-tsx.svg)](https://www.npmjs.org/package/generator-tsx)\n[![codecov](https://codecov.io/gh/adobe/generator-tsx/branch/master/graph/badge.svg)](https://codecov.io/gh/adobe/generator-tsx)\n[![Greenkeeper badge](https://badges.greenkeeper.io/adobe/generator-tsx.svg)](https://greenkeeper.io/)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![Netlify Status](https://api.netlify.com/api/v1/badges/ac39aa76-5042-44ed-959b-8244ddb23ae9/deploy-status)](https://app.netlify.com/sites/generator-tsx/deploys)\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n![screenshot](screenshot.png)\n\n## Goals\n\nSee [Design Goals](https://github.com/adobe/generator-tsx/wiki/Design-Goals).\n\n## Features\n\n- [TypeScript](http://www.typescriptlang.org/)\n- [React](https://reactjs.org/)\n  - [CRA](https://facebook.github.io/create-react-app/)\n  - [Redux](https://react-redux.js.org/)\n  - [Router](https://www.npmjs.com/package/@reach/router)\n  - [Testing Library](https://github.com/testing-library/react-testing-library#react-testing-library)\n  - [react-intl](https://github.com/formatjs/react-intl)\n- CSS in JS via [Linaria](https://linaria.now.sh/)\n\n## Configuration\n\nAdd the following\n[GitHub secrets](https://help.github.com/en/articles/virtual-environments-for-github-actions#creating-and-using-secrets-encrypted-variables)\nto your repo:\n\n- `CODECOV_TOKEN`\n- `NPM_TOKEN`\n\n## Installation\n\nFirst, install [Yeoman](http://yeoman.io) and generator-tsx using\n[npm](https://www.npmjs.com/) (we assume you have pre-installed\n[Node.js](https://nodejs.org/)).\n\n```bash\nnpm install -g yo generator-tsx\n```\n\nNext, create a new folder for your project:\n\n```bash\nmkdir project-x\ncd project-x\n```\n\nFinally, run the tsx generator to create your initial project files:\n\n```bash\nyo tsx [\u003cappname\u003e] [\u003cversion\u003e] [options]\n```\n\nProject files are generated in the `project-x` directory.\n\nRun `yo tsx --help` for more information about arguments and options.\n\n## Sub-generators\n\nAll generators create project files including tests.\n\n- [tsx:actions](#actions)\n- [tsx:api](#api)\n- [tsx:component](#component)\n- [tsx:helper](#helper)\n- [tsx:model](#model)\n- [tsx:reducer](#reducer)\n- [tsx:theme](#theme)\n- [tsx:util](#util)\n- [tsx:actions](#actions)\n- [tsx:actions](#actions)\n- [tsx:actions](#actions)\n\n### actions\n\n```bash\nyo tsx:actions foo\n```\n\nCreates [Redux Actions](https://redux.js.org/basics/actions) in\n`src/actions/foo/*`.\n\n_This action also modifies `src/actions/index.ts`._\n\n### api\n\n```bash\nyo tsx:api foo\n```\n\nCreates an API client in `src/api/foo/*`.\n\n### component\n\n```bash\nyo tsx:component Foo [--connect]\n```\n\nCreates a [React Component](https://reactjs.org/docs/components-and-props.html)\nas a simple function in `src/components/Foo/*`.\n\n### helper\n\n```bash\nyo tsx:helper foo\n```\n\nCreates a helper function named `foo` and places it in `src/helpers/foo.ts`\n(supports slashes in the name for folder depth).\n\n### model\n\n```bash\nyo tsx:model Foo\n```\n\nCreates a model, defined as a\n[TypeScript Interface](http://www.typescriptlang.org/docs/handbook/interfaces.html),\nin `src/models/Foo.ts`.\n\n### reducer\n\n```bash\nyo tsx:reducer foo\n```\n\nCreates a [Redux Reducer](https://redux.js.org/basics/reducers) in\n`src/reducers/foo/*`.\n\n### theme\n\n```bash\nyo tsx:theme foo\n```\n\nCreates a theme in `src/themes/foo` that is modeled after your existing\n`src/models/Theme.ts` interface.\n\n### util\n\n```bash\nyo tsx:util foo\n```\n\nCreates a utility function named `foo` and places it in `src/utils/foo.ts`\n(supports slashes in the name for folder depth).\n\n## Roadmap\n\nFor details on our planned features and future direction, please refer to our\n[roadmap](https://github.com/adobe/generator-tsx/wiki/Roadmap).\n\n## Getting To Know Yeoman\n\n- Yeoman has a heart of gold.\n- Yeoman is a person with feelings and opinions, but is very easy to work with.\n- Yeoman can be too opinionated at times but is easily convinced not to be.\n- Feel free to [learn more about Yeoman](http://yeoman.io/).\n\n### Contributing\n\nContributions are welcomed! Read the\n[Contributing Guide](.github/CONTRIBUTING.md) for more information.\n\n### Licensing\n\nThis project is licensed under the Apache V2 License. See [LICENSE](LICENSE) for\nmore information.\n","funding_links":[],"categories":["TypeScript","typescript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadobe%2Fgenerator-tsx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadobe%2Fgenerator-tsx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadobe%2Fgenerator-tsx/lists"}