https://github.com/marcoabcorrea/flight-search
WIP
https://github.com/marcoabcorrea/flight-search
flight-search react typescript webpack
Last synced: 3 months ago
JSON representation
WIP
- Host: GitHub
- URL: https://github.com/marcoabcorrea/flight-search
- Owner: MarcoABCorrea
- License: apache-2.0
- Created: 2018-06-11T23:27:00.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-06-12T04:51:31.000Z (about 8 years ago)
- Last Synced: 2025-02-27T00:50:02.867Z (over 1 year ago)
- Topics: flight-search, react, typescript, webpack
- Language: TypeScript
- Homepage:
- Size: 236 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# react-webpack-stack
Use this repository as a starting point for React-based UI applications.
## Project Setup
We recommend using a JavaScript-based IDE (like WebStorm) as they provide code quality and syntax tooling supported as plugins, often right out of the box.
### Setup Steps
1. If you don't already have it, download and install NodeJS 6.4.0 or later. (Installing NodeJS will also install npm.)
2. This project favors Yarn, so make sure you have the latest.
```
$ npm install -g yarn@0.24.6
```
3. Install the build and application dependencies.
```
$ yarn install
```
## Project Layout
The project contains the following configuration and application files.
### Root Files
Also know as *dot* files, these are the build and the build configuration files for the application.
* bin/ - Shell scripts for continuous integration and build environments.
* .babelrc - Configuration file for Babel preproccessor.
* .editorconfig - Configuration file for EditorConfig IDE plugin.
* .eslintrc - Linting rules for spec and build files.
* jest.config.js - Configuration file for Jest (test runner).
* package.json - NPM / Yarn dependency configuration file, for
build related dependencies. This defines all runnable scripts and commands.
* tsconfig.json - Configuration file for the TypeScript compiler.
* tslint.json - Linting rules for the TypeScript source code.
* webpack.config.common.js - Webpack config for managing shared webpack configurations.
* webpack.config.develop.js - Webpack config for local development.
* webpack.config.prod.js - Webpack config for production builds.
### Application Files
The following directories contain the application code, including unit tests. They are intended to be kept as flat as possible with a BoF (birds of a feather) organization.
```
react-seed
│
└───src
│ │
│ │
│ └───subfolder1
│ │ file111.tsx
│ │ file111.spec.tsx
│ │ ...
│
└───folder2
│ file021.tsx
│ file022.spec.tsx
```
## Tasks
This project uses webpack as the build tool, executed with NPM scripts. All available tasks are in the *scripts* section of *package.json*.
### Development
Start up a development server using
[webpack-dev-server](https://github.com/webpack/webpack-dev-server)
which watches for changes and re-deploys as needed.
```
$ yarn run develop
```
webpack-dev-server automatically opens a browser window to ```localhost:9000```.
### Production
This is the production build task for the project. Run it prior to deploying to an environment to build a production version of the application.
```
$ yarn run build
```
### Demo
To demo a production build locally on ```localhost:9000``` run:
```
$ yarn run serve
```
**Note:** We recommend running this command from the master branch or a tag. By default, this proxies with the webpack-dev-server proxy.
This task is also aliased as:
```
$ yarn start
```
### Tests
To execute unit tests run:
```
$ yarn run test
```
To execute unit tests in TDD (Test-Driven Development) mode run:
```
$ yarn run test -- --watch
```
This command uses jest.config.json as a configuration file for unit tests. It will display a percentage of the files covered by the unit tests.
## Dependency Management
All dependencies added or removed from the project must be done so through Yarn.
### Add
```bash
# use --dev if it as devDependency
$ yarn add [--dev]
```
### Remove
```
$ yarn remove
```
### Upgrade
```
$ yarn upgrade
```
## LICENSE
Copyright 2017 Kenzan, LLC -
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.