freecodecamp.com Gwen Faraday: Live Coding Project: Create an Hour Tracking App using Vue.js
public | ||
src | ||
tests | ||
.browserslistrc | ||
.editorconfig | ||
.eslintrc.js | ||
.gitignore | ||
.travis.yml | ||
babel.config.js | ||
CODE_OF_CONDUCT.md | ||
jest.config.js | ||
LICENSE | ||
nightwatch.conf.js | ||
nightwatch.json | ||
package-lock.json | ||
package.json | ||
postcss.config.js | ||
README.md | ||
screenshot.png | ||
server.js | ||
vue.config.js |
nw-vue-cli-example
NW.js + Vue-CLI 4 example
- NW.js
- Vue-CLI 4
- Vue 2
- Vue-DevTools (latest)
- Babel
- ESLint
- Jest (100% test coverage)
Running Locally for development
npm install
npm start
- An empty window will pop up while Webpack warm ups
- Once Webpack is running, refresh the window and you're golden
Building for distribution
npm run build:clean
will delete your./dist
and./dist-vue
foldersnpm run build:vue
will build just your Vue app for distribution (./dist-vue
)npm run build:nw
will build just your NW.js app (./dist
)npm run build
is your all-in-one command. It will clean out the old dist folders and build your Vue and NW.js app
IMPORTANT NOTE ABOUT BUILDS!!!
They take a long time. If you do npm run build
expect it to take 10-30 minutes (depending on amount of dependencies in the dist and your CPU/internet). This can be adjusted by changing the build params in the package.json
. The more platforms and build types, the longer it takes.
Automated quality enforcment
- Linting:
npm run lint
- Uses rules in./eslint.json
- Unit tests:
npm run test:unit
- Jest. - End-to-end:
npm run test:e2e
- Accepting PR to make tests run in NW.js. - Nightwatch.
Customize configuration
Want Vue-Router? Vuex? Use the Vue-CLI to add them:
Alternatives
- nwjs-vue - Uses Vue-CLI 2
- vue-desktop-basic - Does not use a build system at all, all
.vue
files run directly in the browser context
Maintainence of this repo
This is not for those using this repo, but for those maintaining it.
- When updating the version of NW.js devDependency, also update these:
tests/unit/setup.js
tests/unit/components/__snapshots__/HelloWorld.test.js.snap
.browserslistrc
- Run
npm run regression
after updating dependencies or other major changes to verify builds still work correctly