{"id":18657211,"url":"https://github.com/reecelucas/bootstrap-react-project","last_synced_at":"2026-04-09T11:32:47.511Z","repository":{"id":95850442,"uuid":"264937289","full_name":"reecelucas/bootstrap-react-project","owner":"reecelucas","description":"A Deno script to bootstrap a React project using Gatsby, Next or Create React App","archived":false,"fork":false,"pushed_at":"2020-05-20T13:53:23.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-27T15:10:44.910Z","etag":null,"topics":["create-react-app","deno","gatsbyjs","nextjs","react"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reecelucas.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-18T12:47:02.000Z","updated_at":"2022-03-07T19:33:04.000Z","dependencies_parsed_at":"2023-05-11T09:45:53.922Z","dependency_job_id":null,"html_url":"https://github.com/reecelucas/bootstrap-react-project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reecelucas%2Fbootstrap-react-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reecelucas%2Fbootstrap-react-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reecelucas%2Fbootstrap-react-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reecelucas%2Fbootstrap-react-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reecelucas","download_url":"https://codeload.github.com/reecelucas/bootstrap-react-project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239474455,"owners_count":19644924,"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":["create-react-app","deno","gatsbyjs","nextjs","react"],"created_at":"2024-11-07T07:27:09.760Z","updated_at":"2025-11-05T21:30:30.062Z","avatar_url":"https://github.com/reecelucas.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bootstrap-react-project\n\nAn executable [Deno](https://deno.land/) script to bootstrap a React project with TypeScript and other modern tooling. This script automates a lot of the stuff I find myself doing when starting a new React project with [Gatsby](https://www.gatsbyjs.org/), [Next](https://nextjs.org/) or [Create React App](https://create-react-app.dev/).\n\n## Install\n\nInstall [Deno](https://deno.land/#installation), then clone the repo and install the script.\n\n```sh\ngit clone git@github.com:reecelucas/bootstrap-react-project.git\n\ndeno install --unstable --allow-read --allow-write --allow-run --allow-net --name bootstrap_react_project bootstrap-react-project/cli.ts\n```\n\nSee \u003chttps://deno.land/manual/tools/script_installer#script-installer\u003e for more details about installing executable scripts.\n\nYou can now run `bootstrap_react_project` at the root of a new project. The script will identify the framework used and will generate the required configuration files and install dependencies. See [what it does](#what-it-does) for more details.\n\n## Usage\n\n### Gatsby\n\n```sh\nnpm install -g gatsby-cli\ngatsby new gatsby-site\ncd gatsby-site\nbootstrap_react_project\n```\n\n### Next\n\n```sh\nyarn create next-app # follow instructions to create my-app\ncd my-app\nbootstrap_react_project\nyarn dev # to initialise tsconfig.json\n```\n\n### Create React App\n\n```sh\nyarn create react-app my-app --template typescript\ncd my-app\nbootstrap_react_project\n```\n\n## What it does\n\n### All Frameworks\n\n- Adds a [.editorconfig](./configs/common/.editorconfig) file to the root directory.\n- Adds a [.prettierrc](./configs/common/.prettierrc) file to the root directory.\n- Adds an [MIT License](./templates/LICENSE) to the root directory.\n- Adds the following fields to the [package.json](./helpers/modifyPackageJson.ts) file:\n  - `name`\n  - `description`\n  - `author`\n  - `license`\n  - `repository`\n  - `bugs`\n- Adds `lint` and `format` scripts to the [package.json](./helpers/modifyPackageJson.ts) file.\n- Adds a `pre-commit` hook using [husky](https://github.com/typicode/husky).\n- Installs required [dependencies](./dependencies.ts).\n\n### Gatbsy and Next\n\n- Adds a `jest.config.js` file to the root directory, along with required tansformers and mocks. Extends the recommended config ([gatsby](https://www.gatsbyjs.org/docs/unit-testing/#2-creating-a-configuration-file-for-jest), [next](https://github.com/zeit/next.js/tree/canary/examples/with-jest)) and includes [@testing-library/react](https://github.com/testing-library/react-testing-library) and [@testing-library/jest-dom](https://github.com/testing-library/jest-dom).\n- Adds a `test` script to the [package.json](./helpers/modifyPackageJson.ts) file.\n- Adds a `.eslintrc.json` file to the root directory, using [eslint-config-react-app](https://github.com/facebook/create-react-app/tree/master/packages/eslint-config-react-app).\n- Changes `js` and `jsx` file extensions to `ts` and `tsx`.\n\n### Next\n\n- Adds an empty `tsconfig.json` file to the root directory (\u003chttps://nextjs.org/docs/basic-features/typescript\u003e).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freecelucas%2Fbootstrap-react-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freecelucas%2Fbootstrap-react-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freecelucas%2Fbootstrap-react-project/lists"}