All Projects → bdero → electron-vue-typescript-starter

bdero / electron-vue-typescript-starter

Licence: MIT License
🔩 An Electron starter that supports VueJS + TypeScript.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Vue
7211 projects

Projects that are alternatives of or similar to electron-vue-typescript-starter

papyrus-lang
📜Advanced language tools for the Papyrus scripting language.
Stars: ✭ 65 (-18.75%)
Mutual labels:  visual-studio-code
vscode-mongodb
MongoDB extension for Visual Studio Code
Stars: ✭ 30 (-62.5%)
Mutual labels:  visual-studio-code
Fruit-Ninja-Replica
this is a 2D game made by unity, it's a replica of the Game Fruit Ninja
Stars: ✭ 16 (-80%)
Mutual labels:  visual-studio-code
code-connect
Open a file in your locally running Visual Studio Code instance from arbitrary terminal connections.
Stars: ✭ 44 (-45%)
Mutual labels:  visual-studio-code
vscode-highlight-bad-chars
Extension to highlight bad characters such as No-break space ( ) and the Greek question mark (;) in your source files.
Stars: ✭ 28 (-65%)
Mutual labels:  visual-studio-code
tdd roman csharp
Kata: TDD Arabic to Roman Numerals with C#
Stars: ✭ 14 (-82.5%)
Mutual labels:  visual-studio-code
ocean-space
🌊 Deep oceanic blue Visual Studio Code theme
Stars: ✭ 35 (-56.25%)
Mutual labels:  visual-studio-code
vscode-csharp-snippets
Extension of C# Snippets for Visual Studio Code
Stars: ✭ 22 (-72.5%)
Mutual labels:  visual-studio-code
vscode-sass-indented
[Unmaintained] Sass indented syntax support for VSCode
Stars: ✭ 60 (-25%)
Mutual labels:  visual-studio-code
vscode-iot-utility
IoT Utility for Visual Studio Code: Arduino, Espressif, Raspberry Pi, mbed and more
Stars: ✭ 61 (-23.75%)
Mutual labels:  visual-studio-code
Blog-Node
基于Node的个人博客,涵盖前后端的方方面面,项目持续更新中
Stars: ✭ 72 (-10%)
Mutual labels:  jade
DataverseDevTools-VSCode
The all-in-one tool to develop code for Dataverse/Dynamics 365. Helps you connect to a Dataverse environment, generate TypeScript definitions for entities, create a different type of Dataverse-specific projects, and much more.
Stars: ✭ 18 (-77.5%)
Mutual labels:  visual-studio-code
lsxc
Compile Livescript + Pug + React + SASS as a single component
Stars: ✭ 17 (-78.75%)
Mutual labels:  jade
TypeGame
👾 Sokoban Game in Pure TypeScript Type System
Stars: ✭ 222 (+177.5%)
Mutual labels:  visual-studio-code
preview-vscode
A previewer of Markdown and HTML for Visual Studio Code
Stars: ✭ 25 (-68.75%)
Mutual labels:  jade
AutoBuildMarlin
Visual Studio Code extension to more easily build Marlin Firmware
Stars: ✭ 206 (+157.5%)
Mutual labels:  visual-studio-code
vscode-extern
VS Code API externs for Haxe
Stars: ✭ 36 (-55%)
Mutual labels:  visual-studio-code
gruvbox-material-vscode
Gruvbox Material for Visual Studio Code
Stars: ✭ 143 (+78.75%)
Mutual labels:  visual-studio-code
AutoIt-VSCode
AutoIt Extension for Visual Studio Code
Stars: ✭ 51 (-36.25%)
Mutual labels:  visual-studio-code
vscode-kafka
Apache Kafka® extension for Visual Studio Code
Stars: ✭ 64 (-20%)
Mutual labels:  visual-studio-code

🔩 Electron-Vue-TypeScript Starter

The Electron Shell starter that'll have you saying "kids these days" faster than you can type npm start.

WARNING: Electron Compile (one of the core dependencies of this starter) is no longer being actively maintained. Please consider starting your project using Electron Forge directly instead!

Features

  • All programming/style/markup languages supported by Electron Compile:
    • Programming: TypeScript, ES6, ES7, CoffeeScript, GraphQL
    • Style: Less, Sass, Stylus
    • Markup/other: Jade, and Vue
  • In particular, TypeScript is tuned to be as strict as possible.
  • Good TypeScript code completion in VS Code! (There were some quirks to work out here)
  • Packaging for distribution with Electron Forge:
    • Run npm run make to generate distributable packages.
    • Configure forge by modifying forge.config.js.
  • Hot reloading of everything (courtesy of Electron Compile)
  • VueJS devtools.

How to use

Simply fork or download this repo, and start hacking away! Before beginning any work, install all dependencies by running npm install.

Available commands:

  • npm start: Runs the application with Electron in development mode. Hot reloading as well as the Vue devtools are enabled in this mode.
  • npm run make: Builds distributable app packages using Electron Forge, placing the results in the out directory. Note that this will only build packages compatible with the host system running the command; running the build on macOS won't produce GNU/Linux packages, for example.
  • npm run lint: Runs tslint over all TypeScript files.

What might I want to customize first?

Things to note

There are three different TypeScript configurations located in this repository, and all three of them are important:

  • tsconfig.json contains the configuration used by Visual Studio Code or other editors to configure TypeScript checking. This file pulls in additional type information from the types directory, which contains a type definition necessary for proper code completion on imported Vue modules in Visual Studio Code.
  • _compilerc contains the two type definitions that are actually used when transpiling for use with Electron, one for development (used when running npm start) and one for production (used when running npm run make).
  • Due to a known issue with npm@4 and @5, it's advised to use npm@3 with Electron Forge: npm install -g npm@3

Known issues/future work

  • SCSS works, but the indented Sass format doesn't build properly.
  • It would be nice if this was a vue-cli, cookecutter, or yeoman scaffold.

Not what you were looking for?

Not interested in using TypeScript with Vue? Prefer to start with something simpler? I recommend checking out the available starter templates that Electron Forge offers for initializing projects.

Want something with more stuff/customizability/documentation out of the box? Prefer to use Webpack instead of Electron Compile? I recommend taking a look at electron-vue, which allows for scaffolding projects using vue-cli.

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].