https://github.com/mingderwang/test-parcel-preact-typescript
test parcel-preact-typescript
https://github.com/mingderwang/test-parcel-preact-typescript
Last synced: 7 days ago
JSON representation
test parcel-preact-typescript
- Host: GitHub
- URL: https://github.com/mingderwang/test-parcel-preact-typescript
- Owner: mingderwang
- License: mit
- Created: 2021-12-18T08:08:29.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-12-18T08:08:31.000Z (over 4 years ago)
- Last Synced: 2025-03-04T05:16:11.772Z (over 1 year ago)
- Language: TypeScript
- Size: 20.5 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# parcel-preact-typescript
> Minimal template using [Parcel](https://parceljs.org/), [Preact](https://preactjs.com/), and [TypeScript](https://www.typescriptlang.org/).
This template provides the simplest possible set-up that combines Parcel, Preact, TypeScript, and Jest.
## Getting Started
Install the project dependencies.
```bash
yarn install
```
## Available Scripts
### `yarn start`
Runs the app in development mode. Visit [http://localhost:1234](http://localhost:1234).
### `yarn build`
Builds the project for production. The build directory is `dist`; types will be written to `dist/index.d.ts`. Customize the build directory in the `outDir` configuration option in the [tsconfig.json](tsconfig.json).
### `yarn test`
Run the tests using the [jest](https://jestjs.io/) JavaScript testing framework.
The jest configuration is specified in `package.json`.
```json
{
"jest": {
"preset": "ts-jest"
}
}
```
## Customizing `tsconfig.json`
The default [`tsconfig.json`](tsconfig.json) contains the following:
```js
// tsconfig.json
{
"compilerOptions": {
"esModuleInterop": true,
"jsx": "react",
"jsxFactory": "h",
"lib": ["dom", "esnext"],
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"target": "es5"
},
"include": ["src"]
}
```
Note that `jsxFactory` must be `"h"` in order for preact to work with parcel.
### Decorators
Enable decorators ([stage 2](https://github.com/tc39/proposal-decorators)) by setting `compilerOptions.experimentalDecorators` to `true`:
```js
{
"compilerOptions": {
"experimentalDecorators": true
}
}
```
## License
[MIT](LICENSE)