@modsy/react-modsy-scripts
Version:
Configuration and scripts for Create React App.
63 lines (39 loc) • 2.65 kB
Markdown
# react-modsy-scripts
This package is a fork from the vanilla `react-scripts`, in order to add custom support for [Typescript](https://www.typescriptlang.org/) and [Sass](http://sass-lang.com/).
This package includes scripts and configuration used by [Create React App](https://github.com/facebookincubator/create-react-app).
Please refer to its documentation:
* [Getting Started](https://github.com/facebookincubator/create-react-app/blob/master/README.md#getting-started) – How to create a new app.
* [User Guide](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md) – How to develop apps bootstrapped with Create React App.
## Install
1. `npm install -g create-react-app`
2. `create-react-app my-project-name --scripts-version=@modsy/react-modsy-scripts`
3. `cd my-project-name`
## Support
* [x] JS/ES6
* [x] Typescript
* [x] SASS
* [x] Multiple Entry Points
* [x] Automatic Browser Open disabled by default (`CRA_OPEN_BROWSER=true` to reenable)
JS/ES6 support has been kept in, so you can use JS/ES6 and Typescript in the same project if you need to.
## Usage
By default, you should have a `src/index.js` or `src/index.tsx` entry point. This will create the primary `app` bundle.
### Multiple Entry Points
Your application `src` directory should contain a `index.js` or `index.tsx` file.
Alternatively, if you are building a an application with [multiple entry points](https://webpack.github.io/docs/multiple-entry-points.html), you can create additional entry points by appending `index` before the filename extension.
When a filename following the convention of `src/*.index.(ts|tsx|js|jsx)` is detected, a new entry point will be added to the webpack entrypoint config.
A new html file will also be automatically generated, and default to using the `public/index.html` template if you did not create a custom template inside `public`.
To use a custom `index.html`, you can create a new html file with the matching entry point key.
Example:
```
src/index.tsx -> public/index.html
src/alt.index.tsx -> public/alt.html
```
The filetypes support for entry points are:
- tsx
- ts
- js
- jsx
**NOTE**: Periods after the first one will be ignored. If you want to generate additional index files for bundles named like `one.two.three.index.js`, it will be ignored and treated like `one.index.js` and generate a `one.html`. Use dashes or underscores as an alternative (ie. `one-two-three.index.js` -> `one-two-three.html`).
## References
* [react-scripts-ts](https://github.com/wmonk/create-react-app-typescript)
* [sass-loader](https://github.com/jtangelder/sass-loader)