Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bencodezen/vue-enterprise-boilerplate
An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI.
https://github.com/bencodezen/vue-enterprise-boilerplate
boilerplate frontend javascript vue
Last synced: 5 days ago
JSON representation
An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI.
- Host: GitHub
- URL: https://github.com/bencodezen/vue-enterprise-boilerplate
- Owner: bencodezen
- Created: 2018-02-19T06:30:29.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-05-15T12:21:54.000Z (8 months ago)
- Last Synced: 2024-10-29T15:04:46.583Z (3 months ago)
- Topics: boilerplate, frontend, javascript, vue
- Language: SCSS
- Homepage:
- Size: 2.08 MB
- Stars: 7,783
- Watchers: 205
- Forks: 1,316
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome - bencodezen/vue-enterprise-boilerplate - An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI. (SCSS)
- awesome-github-repos - bencodezen/vue-enterprise-boilerplate - An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI. (SCSS)
- awesome-starred - bencodezen/vue-enterprise-boilerplate - An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI. (frontend)
README
# Vue Enterprise Boilerplate v3 (alpha)
This repo is currently in active development and considered in alpha release.
> This is an ever-evolving, opinionated architecture and dev environment for new Vue 3 + Vite SPA projects using [create-vue](https://github.com/vuejs/create-vue).
🎩 A huge thanks to [Chris Fritz](https://twitter.com/chrisvfritz) for the incredible work that this work builds upon. For those looking for his version, see [this branch for the original Vue 2 enterprise boilerplate](https://github.com/bencodezen/vue-enterprise-boilerplate/tree/vue-2-version).
## Recommended IDE Setup
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
## Type Support for `.vue` Imports in TS
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
1. Disable the built-in TypeScript Extension
1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.## Project Setup
```sh
npm install
```### Compile and Hot-Reload for Development
```sh
npm run dev
```### Type-Check, Compile and Minify for Production
```sh
npm run build
```### Run Unit Tests with [Vitest](https://vitest.dev/)
```sh
npm run test:unit
```### Run End-to-End Tests with [Playwright](https://playwright.dev)
```sh
# Install browsers for the first run
npx playwright install# When testing on CI, must build the project first
npm run build# Runs the end-to-end tests
npm run test:e2e
# Runs the tests only on Chromium
npm run test:e2e -- --project=chromium
# Runs the tests of a specific file
npm run test:e2e -- tests/example.spec.ts
# Runs the tests in debug mode
npm run test:e2e -- --debug
```### Lint with [ESLint](https://eslint.org/)
```sh
npm run lint
```