Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Gatsby TypeScript application starter with Redux, react-intl i18n, Sass, and Jest unit testing pre-configured.
Gatsby's TypeScript application starter (GitHub: erkobridee/gatsby-typescript-app-starter) is a boilerplate for scaffolding React-based Gatsby websites with TypeScript, with Redux state management, react-intl internationalization, Sass styling, and Jest unit testing pre-configured. This starter is for developers who want a production-oriented Gatsby project setup without manually wiring together Babel, ESLint, Prettier, tsconfig, and test runners.
The Gatsby TypeScript App Starter is a Gatsby starter project that combines the Gatsby static-site generator with a TypeScript development environment. Running gatsby new my-app https://github.com/erkobridee/gatsby-typescript-app-starter creates a new project directory containing the source structure, configuration files, and npm scripts described in the README. The project is maintained by erkobridee and the repository metadata lists it as a "gatsby typescript application starter project" with topics covering coverage, gatsbyjs, jest, react-intl, sass, starter, and typescript.
The starter uses Gatsby's default static site generation on React, but extends the default with TypeScript support (tsconfig.json), a custom Babel configuration (.babelrc.js), ESLint and Prettier for code quality, and a custom HTML template (html.js) that overrides Gatsby's default to adjust the iOS viewport behavior. It also includes a src directory organized into assets, components, data, domains, helpers, pages, and store directories for scalable application architecture.
npm run translations script extracts i18n messages from the code and generates JSON translation files in src/assets/languages, which you maintain per language.npm run build, or on demand with npm run unit-tests; coverage reports are written to /coverage and mocks go in a __mock__ directory.npm run lint and npm run format.npm run check runs typings and lint together.gatsby new or npx gatsby new command, then npm i and npm start to begin developing at localhost:8000.npm run translations to extract messages from components, edit the JSON files in src/assets/languages, and switch languages with the Wrapper components.__tests__ directories or with .test/.spec suffixes; Jest collects coverage automatically and the build fails if tests fail.The starter's quick-start workflow is defined in the README: first, create a new site with the Gatsby CLI by passing this repository's URL. Second, navigate into the new directory, install dependencies with npm i, and start the development server with npm start (or npm run develop). Third, edit files under src/pages — the browser hot-reloads changes, and you can inspect data queries in the GraphiQL tool at localhost:8000/___graphql. The production build (npm run build) runs the Jest test suite first and then outputs a static site to /public.
Yes, the starter is open source and available on GitHub under the repository erkobridee/gatsby-typescript-app-starter. You can clone or fork it for any project, and the README links to Gatsby's official documentation for further customization.
Yes, TypeScript is a core part of the starter. It includes a tsconfig.json, type definitions for Redux states, and typings for data schemas and models. The npm run check script runs both type checking and linting.
The starter includes Jest configured via jest.config.js. Unit tests can be run with npm run unit-tests, jest, or jest --watch. Tests are automatically executed before npm run build, and coverage reports are generated in the /coverage directory.
Run npm run translations to extract i18n messages from your code. The extracted messages are used to generate JSON translation files in src/assets/languages. You then maintain and update the key entries for each supported language in those JSON files.
