All Projects → Narkoleptika → webpack-everything

Narkoleptika / webpack-everything

Licence: MIT license
Vue cli template with webpack, vuex, vue router, eslint, image compression, graphql, apollo, server side rendering, code splitting and progressive web app (PWA) capabilities

Programming Languages

javascript
184084 projects - #8 most used programming language
Vue
7211 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to webpack-everything

graphX
A simple blog based on Nuxt and graphQL
Stars: ✭ 19 (+0%)
Mutual labels:  apollo, vue-apollo
universal-react-starter-kit
Universal React Starter Kit is an universal web application framework using koa, react, redux and webpack.
Stars: ✭ 13 (-31.58%)
Mutual labels:  progressive-web-app, code-splitting
Meteor Apollo Starter Kit
Meteor, Apollo, React, PWA, Styled-Components boilerplate
Stars: ✭ 91 (+378.95%)
Mutual labels:  apollo, progressive-web-app
Hacker News Pwas
HNPWA - Hacker News readers as Progressive Web Apps 📱
Stars: ✭ 2,345 (+12242.11%)
Mutual labels:  progressive-web-app, code-splitting
Https Localhost
HTTPS server running on localhost
Stars: ✭ 122 (+542.11%)
Mutual labels:  ssl, progressive-web-app
offPIM
Decentralized, Offline-first, Personal Information Manager (PIM) using PouchDB/CouchDB. Includes task-, note-, and contact-management, as well as journaling.
Stars: ✭ 63 (+231.58%)
Mutual labels:  progressive-web-app
GitHunt-Polymer
An example of a client-side app built with Polymer and Apollo Client.
Stars: ✭ 13 (-31.58%)
Mutual labels:  apollo
instagram-clone
Instagram clone using apollo, react and graphQl (hasura-graphQl engine)
Stars: ✭ 44 (+131.58%)
Mutual labels:  apollo
meditation-timer
🧘 Progressive web application for timing your meditations
Stars: ✭ 23 (+21.05%)
Mutual labels:  progressive-web-app
matters-web
Website of Matters.News, built with Next.js.
Stars: ✭ 70 (+268.42%)
Mutual labels:  apollo
graphql-api-starter
Starter API graphql with apollo server and some other shit.
Stars: ✭ 12 (-36.84%)
Mutual labels:  apollo
WatsonCluster
A simple C# class using Watson TCP to enable a one-to-one high availability cluster.
Stars: ✭ 18 (-5.26%)
Mutual labels:  ssl
stencil-boilerplate
A Stencil app boilerplate including routing, Redux etc.
Stars: ✭ 51 (+168.42%)
Mutual labels:  progressive-web-app
Chromium-Gost
Chromium с поддержкой алгоритмов ГОСТ
Stars: ✭ 286 (+1405.26%)
Mutual labels:  ssl
fake-fews
Candidate solution for Facebook's fake news problem using machine learning and crowd-sourcing. Takes form of a Chrome extension. Developed in under 24 hours at 2017 Crimson Code hackathon at Washington State University.
Stars: ✭ 13 (-31.58%)
Mutual labels:  ssl
vault-pki-monitor-venafi
Venafi PKI Monitoring Secrets Engine for HashiCorp Vault that enforces security policy and provides certificate visiblity to the enterprise.
Stars: ✭ 18 (-5.26%)
Mutual labels:  ssl
certbot-dns-loopia
Loopia DNS authentication plugin for Certbot
Stars: ✭ 28 (+47.37%)
Mutual labels:  ssl
spendlogs
SpendLogs - Personal Expense Manager
Stars: ✭ 18 (-5.26%)
Mutual labels:  progressive-web-app
whatsapp-PWA
Progressive Web app of Whatsapp web
Stars: ✭ 16 (-15.79%)
Mutual labels:  progressive-web-app
SimpleSockets
Asynchronous TCP .NET library with reliable transmission and receipt of data, with an ssl implementation.
Stars: ✭ 74 (+289.47%)
Mutual labels:  ssl

Webpack Everything

This is a vue-cli template that comes with webpack, ESLint, server side rendering (SSR), route level code splitting, apollo + graphql and progressive web app (PWA) capabilities. This template requires SSL in production in order to function properly.

Preprocessors

Choose from

  1. Stylus
  2. Scss

Geting Started

npm install -g vue-cli || yarn global add vue-cli
vue init narkoleptika/webpack-everything example-project
cd example-project
npm install || yarn
npm run dev

Dev server with SSR and HMR will run by default at http://localhost:3000

Production

npm run prod

SSL

You should use SSL. This template assumes the use of encryption by default. You will need to set the following environment variables to run production.

  • SSL - SSL port -- default: 3001
  • CERT - Path to the ssl certificate -- default: ./private/server.crt
  • KEY - Path to the server key -- default: ./private/server.key

Testing SSL

You can self sign some certificates for localhost (Which are handy to have for testing SSL in general)

mkdir private
cd private
openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
openssl rsa -passin pass:x -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt

It is a good idea to test production in incognito mode to avoid troubles clearing the 301 redirect later.

No SSL

Use the following to test production without SSL

npm run prod--no-ssl

Please note: Service workers require ssl in order to work. If you don't use encryption, you will lose offline capabilities.

Apollo + GraphQL

Optionally, you can choose to include a GraphQL server with Apollo integration.

When Apollo + GraphQL is included, you will need to run an additional server with the following command

npm run api:dev

Production

npm run api

The api will use the same KEY, CERT, and CA env vars in production

ESLint

Optionally, you can choose to include ESLint. This will include eslint-loader which will display errors on an overlay when there are lint errors

Bundle Analyzer

This template comes with webpack-bundle-analyzer which will generate a report of the chunks that get output from webpack. It will run by default in development and can be enabled for production by setting the STATS env var.

Environment Vars

Without Apollo

  • NODE_ENV
  • PORT - default: 3000
  • HOST - default: 0.0.0.0
  • SSL - default: 3001
  • KEY - default: ./private/server.key
  • CERT - default: ./private/server.crt
  • CA
  • NO_SSL
  • STATS

With Apollo

  • NODE_ENV
  • RENDERER_PORT - default: 3000
  • RENDERER_HOST - default: 0.0.0.0
  • RENDERER_SSL - default: 3001
  • API_PORT - default: 3002
  • API_HOST - default: 0.0.0.0
  • API_SSL - default: 3003
  • ORIGIN - default: localhost
  • KEY - default: ./private/server.key
  • CERT - default: ./private/server.crt
  • CA
  • NO_SSL
  • STATS

Thanks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].