cra-template-aaa-typescript

The base TypeScript template for AAA Create React App.

Usage no npm install needed!

<script type="module">
  import craTemplateAaaTypescript from 'https://cdn.skypack.dev/cra-template-aaa-typescript';
</script>

README

cra-template-aaa-typescript npm version Build and Test

This is the aaa TypeScript template for Create React App.

To use this template, add --template aaa-typescript when creating a new app.

For example:

npx create-react-app my-app --template aaa-typescript

# or

yarn create react-app my-app --template aaa-typescript

For more information, please refer to:

Differences to the official TypeScript template

  • We strive to support Visual Studio Code as much as possible.
  • Easy overwrite of configurations through a local craco.config.js file in the project. Also see Craco.
  • Automatically installs compatible versions of popular libraries within our organization.
  • Support for compile-time safe i18n through customized typings and utils in the projects.
  • Sample Login-Page in the frontend code.
  • eslintrc is overwritable.

Development

To test the template run yarn test. This will create a new project in template-test.

How to publish a new version

DO NOT increase the build version in package.json and don't add a git tag. npx np will do that for you in the next step.

To publish new versions use np (https://www.npmjs.com/package/np).

npx np

Testing template Dockerfile

Run yarn test and then switch to the newly created folder template-test.

Run the following commands to build the image and run it:

docker build . \
--build-arg REACT_APP_API_BASE_URL=http://localhost \
--build-arg REACT_APP_DEPLOYMENT_ENV=dev:optimized \
--build-arg REACT_APP_BASE_NAME=/webapp \
--build-arg REACT_APP_COMMIT_HASH=main_d00faffe \
--build-arg PUBLIC_URL=. \
-t cra-template-aaa-typescript

docker run -p 80:80 cra-template-aaa-typescript
# http://localhost

docker run -p 80:80 -e REACT_APP_BASE_NAME="/webapp" cra-template-aaa-typescript
# http://localhost/webapp

docker run -p 80:80 -e REACT_APP_BASE_NAME="/cms" cra-template-aaa-typescript
# http://localhost/cms