Overview
Vortigern is an opinionated boilerplate for crafting universal web applications using modern technologies like TypeScript, React, and Redux. It provides a set of libraries and tools to facilitate the development process, including TypeScript, React Router, Redux, and Redux Thunk.
Features
- TypeScript: Enables the use of TypeScript for type-safe programming.
- React: Utilizes React and React DOM for views.
- React Router: Handles in-app routing within the application.
- Redux: Manages the application state.
- React-Redux: Provides bindings to use React and Redux together.
- React-Router-Redux: Keeps the application state synchronized with route changes.
- Isomorphic Fetch: Allows for the use of the fetch API on both client and server-side.
- Redux Thunk: Enables the dispatching of asynchronous actions.
- Redux Connect: Resolves asynchronous props in react-router.
- React Helmet: Manages the document head for better SEO and social media sharing.
- Webpack: Used for bundling the application.
- Awesome TypeScript Loader: A Webpack loader for TypeScript files.
- Babel Loader: A Webpack loader for JavaScript files.
- React Hot Loader: Provides hot reload capability to the development server.
- Isomorphic Style Loader: Loads styles on the server-side.
- Style Loader: Loads CSS styles.
- PostCSS Loader: A loader for preprocessing styles with PostCSS.
- TSLint Loader: Uses tslint as a preloader on the build process.
- Stylelint Loader: Uses stylelint as a preloader on the build process.
- Istanbul Instrumenter Loader: Uses istanbul for code coverage reports.
- Webpack Dev Server: Development server for running the application.
- Webpack Dev Middleware: Adds development-time features to the server-side bundle.
- Webpack Hot Middleware: Enables hot module replacement for the development server.
- Express: Runs the server on both the client and server-side.
- Compression: Provides gzip compression for faster delivery of assets.
- Serve Favicon: Serves the favicon for the web application.
- Typings: Installs type definitions of external libraries.
- TSLint: Lints TypeScript files.
- Stylelint: Lints styles.
- Redux Logger: Logs Redux actions and state changes to the console.
- Redux DevTools: Enhances the debugging experience for Redux applications.
- Chalk: Provides colored terminal logs.
- Karma: A test runner with various plugins for testing the application.
- Mocha: A testing framework.
- Chai: An assertion library.
- Enzyme: A utility for rendering React components during testing.
- Fetch Mock: A library for mocking fetch requests during testing.
- Redux Mock Store: Creates mock stores for testing.
- Clone or Install: Option to clone the repository or install the latest version as a zip file or a tarball.
Installation
To install Vortigern, you can clone the repository or install the latest version as a zip file or a tarball.
git clone git@github.com:username/vortigern.git
Summary
Vortigern is a boilerplate for creating universal web applications using TypeScript, React, and Redux. It provides a comprehensive set of libraries and tools to simplify the development process and improve developer experience. The installation process is straightforward, and the theme comes with a range of features for building modern web applications.