Skip to content

shernaz/vue-starter-kit

Repository files navigation

Vue Typescript Starter

MIT License

Opinionated Vue TypeScript starter kit for building medium/large applications

Contents

Setup

Make sure you have NodeJS and Yarn installed and run the following snippet:

git clone https://github.com/gingerpayments/vue-ts-starter
cd vue-ts-starter
yarn setup

Project structure

.
├── dist (git ignored)          # Folder where the production build will be stored
├── node_modules (git ignored)  # (Dev)Dependencies folder 
├── src                         # Source files
|   ├── api                     # Folder for talking to api's
|   ├── assets                  # Folder where we store assets which will go through webpack loaders
|   ├── components              # Folder for components
|   ├── localization            # Folder for localization files/code
|   ├── router                  # Folder where we define the routes
|   ├── store                   # Folder for state management code
|   ├── views                   # Folder for views 
|   ├── App.vue                 # Root Vue file
|   └── main.ts                 # Bootstrap/Webpack entry file
├── static                      # Here we store static assets like favicons
├── test                        # Automated tests
|   ├── unit                    # Unit tests
|   └── e2e                     # E2E tests 
├── types                       # Folder for TypeScript declaration files
├── .gitignore                  # File where determine what which files/folders we version control
├── package.json                # (Dev)Dependencies registry file and task runner commands (scripts)
├── poi.config.json             # Config file of which presets we use and here we can extend the Webpack config
├── README.md                   # You are currently reading it
├── stats.json (git ignored)    # This file will only exist when we run the analyze command
├── tsconfig.json               # TypeScript config file
├── tslint.json                 # TSLint config File
└── yarn.lock                   # Yarn lock file 

NPM Scripts

We use the scripts in package.json as a simple task runner

Commands Description
analyze Runs build command and analyzes bundle size
build Production build in dist folder (creates this if not existent)
e2e Runs E2E tests for all installed browsers
headless Runs E2E tests without opening a browser (using Firefox or Chrome headless mode)
lint Runs tslint and automatically fixes all the simple errors
precommit This is a pre commit git hook, where we run the lint/unit/e2e(headless)
reset This will delete the dist and node_modules folder and reinstalls the dependencies
setup Will install the (dev)dependencies, remove .git folder and run git init
start This will start the development server with hot module reload
test Runs the unit tests

Style guide

We use the official Vue.js style guide

Dependencies

Library Description License
Axios Promise based HTTP client MIT License
Apisause Axios + standardized errors + request/response transforms MIT License
vue Progressive JavaScript Framework MIT License
vue-router Official Router Package for Vue.js MIT License
vue-class-component TypeScript decorator for class-style Vue components MIT License
vue-property-decorator Vue property decorator MIT License
vue-i18n Internationalization plugin Vue.js MIT License
vuex Centralized State Management for Vue.js MIT License
vuex-class Binding helpers for vuex/vue-class-component MIT License

devDependencies

Library Description License
Poi Config free Webpack setup (but extendable with Webpack Chain) MIT License
TypeScript Typed superset of JavaScript Apache License 2.0
TSLint TypeScript Linter Apache License 2.0
Husky Easy git hooks in package.json MIT License
TestCafe E2E test framework (without selenium dependency 😌 ) MIT License
Webpack Bundle Analyzer Analyzes the webpack produced bundle size MIT License
Jest JavaScript Test Solution MIT License
TS-Jest Jest TypeScript Transformer MIT License
Vue-Jest Jest Vue Transformer MIT License
Vue-test-utils Utilities for testing Vue Components MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published