Solvedelectron vue Milestone Minimize, Project Update

Thank You.

Wow, thank you guys so much for helping make electron-vue one of the top 3 vue-cli templates (that I can find) on GitHub. I never thought this project would ever take off like it has today. Thinking back, I originally made this boilerplate (in May 2016) for a personal closed sourced project and decided to open source (the boilerplate itself) when I knew I had a majority of the pieces together. Fast-forward almost a full year and there have been so many new features implemented and amazing support from the community. I also want to give a special shoutout to those in the community helping answer issues when I'm not able to. You guys have absolutely no obligation to do anything but you do anyway, and I am grateful for that.

A Quick Update

So aside from expressing my appreciation, I would like to give a little update. You may or may not have noticed, but I have been away from the project for a few months now and haven't pushed many updates or changes. I've usually been on top of closing issues within a few days of receiving them, but now there are currently 16 open issues! Anyways, in short I recently started a full time position as a UI/UX Engineer working with Vue.js (of course). It has easily taken a lot of my time, but I believe that I am finally back to a steady schedule and feel more confident about maintaining electron-vue once again on a consistent pace. On a related note, I have a lot of credit to give this project for getting me the job as well. So let's talk about what's coming up...

Milestone: Minimize

The main premise of Minimize is to move the project structure to a single package.json setup. This was not possible back when I started this boilerplate, but thanks to community efforts both electron-packager and electron-builder now support these setups. Along with this, efforts will be made to rewrite development and build scripts to provide better feedback and reliability. Please feel free to comment below any questions or suggestions; your feedback is everything to this project.

Features will be merged to dev upon competition and can be tested out with...

vue init simulatedgreg/electron-vue#dev my-project

Upcoming Features

  • Single package.json structure #112
  • Replace vue-resource with axios #152
  • Default to Runtime + Compiler build of Vue.js #168
  • Support Web output #128
  • Include AppVeyor/Travis CI configurations for electron-builder users #141
  • Newly designed first-run landing page
  • Update development environment to conform to vuejs-templates/webpack's direction
  • Rewrite development scripts to provide better feedback on warning/errors, and possibly give direction to potential solutions (similar to the helpful error messages provided by Vue.js when developing)
    feat/dev-scripts
    • Start both main & renderer webpack processes
    • Start electron process once both webpack processes are ready
    • Enable hot-reloading in renderer process for developing vue application
    • Restart main process when main process webpack rebuilds
    • Push all console messages (from all 3 processes) to one terminal in an organized and meaningful way
    • Implement better build step that can stop build process when problems occur and provide error messages
  • Support main process debugging #149 (electron@^1.7.2 will be adding support for Node's Inspector Agent, making this process super simple with Chrome) [electron/electron#6634]
  • Replace UglifyJS with Babili to better target es2015 features available in Node 7/Chromium (removes the need to transpile completely to ES5) #175
  • Scaffolding option Auto update functionality for electron-builder users (community suggestion) [@abishekrsrikaanth]

Bugfix

  • Ensure dependencies are treated as externals in testing environments #170 (karma-webpack issue)
  • Ensure main process environment better matches in development and production

Documentation Updates

  • Multi-lingual support (Chinese, Japanese) [looking for volunteers] #155
  • Describe use of local filesystem for static assets #165
  • Add more FAQs related to most recently closed issues
  • Add use cases of adding pre-processor loaders #163
  • Migration guide (community suggestion) [@abishekrsrikaanth]
  • Describe usage with component libraries that have pure *.vue files #142
  • Recommend the use of yarn package manager

Extras

  • Project examples (similar to https://vuejs.org/v2/examples/index.html, but more focused on electron capabilities) [SoC]
  • Featured Community Projects (links to real world projects that the community has made with electron-vue)

Once again, please feel free to comment any questions or suggestions below.

17 Answers

βœ”οΈAccepted Answer

πŸŽ‰ It's Here! πŸŽ‰

Milestone Minimize is officially in the master branch of this repo and can be used of course with...

vue init simulatedgreg/electron-vue my-project

There has been quite a number of changes, so make sure to take a look at the updated documentation to find out more about the new single package.json structure and some new features like the __static global variable.

Commit: 2c29ea1
Documentation: https://simulatedgreg.gitbooks.io/electron-vue/content/index.html
CI Test: https://semaphoreci.com/simulatedgreg/electron-vue/branches/master/builds/216


electron-vue needs translators!!!

If you would like to help translate the documentation, specifically to Chinese, please take a look at #155. The project structure has already been setup and is waiting for contributions.

Other Answers:

✨ Checklist complete!

It looks like all items for this Milestone have been completed. Documentation has also been heavily overhauled to describe all of the new features. There are still a few things left on my personal task list to check out, but I will be planning to release merge to the master branch shortly after the electron@1.7.2 release comes out. This release will support Node's Inspector Agent to make main process debugging a breeze.

A big thank you to everybody that has tried out the dev branch and provided generous feedback about issues and suggestions.

It would be very useful to know how to use node modules in the projects, like using sqlite in vue-electron.

Alright, I think I finally found a clean way to show the logs. Here here's what it looks like right now in the dev branch. Last thing to consider is the friendly-errors-webpack-plugin logging.

image

πŸŽ‰ Almost there!

Good news, nearly all tasks for this Milestone are complete! There is still plenty of documentation to be updated, so until that is squared away a major push to master should be happening soon.

Currently looking to get started on project examples and (SoC) featured community projects. Please comment below any project examples you have in mind or submit [of] your own electron-vue projects to get featured.

More Issues: