2.0.0 • Published 6 years ago

@ords/react-tcli v2.0.0

Weekly downloads
1
License
ISC
Repository
github
Last release
6 years ago

react-tcli

Typescript rewire of react-scripts where you can extend the webpack config. This is not a fork of react-script but it builds on top of any published react-scripts libary.

common issues

Python with sass for windows: npm config set python "path/to/python"

Features

  • CSS modules and "normal" css
  • Jest, Enzyme and React with react-scripts and ts-jest
  • Typescript
  • Synthetic default import
  • Dynamic imports
  • Tslint
  • Path alias for typescript

Disclaimer

This is a work in progress. If you find any bug or want better documentation please let us know!

Install (getting started)

run npm install @ords/react-tcli or do a global install npm install @ords/react-tcli -g.

You can then setup a new project with: react-tcli init. This will create a new folder called sampleProject.

If you have an exisiting project then modify your package.json you can add the following scripts:

"test": "react-tcli --src customPath/To/Src --withLatestReactEnzyme",
"start": "react-tclit --src customPath/To/Src",
"build": "react-tclit --src customPath/To/Src"

Suggested tslint

Use the build in linter by adding a tslint.json file in the root of your project with the following:

{ "extends": "./node_modules/@ords/react-tcli/dist/defaultConfigurations/tslint.json" }

Suggested and tested tsconfig compiler options

We only support a target of es5. To use our tsconfig, create your own with the following content:

{ "extends": "./node_modules/@ords/react-tcli/dist/defaultConfigurations/tsconfig.json" }

CSS modules

You can use traditional css import or name your files .module.css to use css modules.

Commands

Any commands that use webpack can have the configuration extended. Configurations for all the commands are described in this section.

Command init

Creates a new project

Command test

Use Jest to run test as of react-scripts. Filenames should be name.spec.(ts|tsx|js|jsx)

PropDefaultDescription
--srcsrcLocation of test source files
--envundefinedplease specify jsdom to use mount in jest
--setupTestFileundefinedLocation of jest setupTestFile
--withLatestReactEnzymeundefinedUsing setupTestFile from this project

Command start

Use webpack to serve and develop your react project

PropDefaultDescription
--srcsrcLocation of source files
--publicpublicLocation of react public dir
--extendWebpackFileundefinedLocation of file to extend webpack config

Command build

Use webpack to build your react project

PropDefaultDescription
--srcsrcLocation of source files
--publicpublicLocation of react public dir
--extendWebpackFileundefinedLocation of file to extend webpack config

More features

Are we missing anything? Should the project be even more configurable? Let us know!