@vscode/gulp-electron
v1.36.0
Published
gulp plugin for packaging Electron into VS Code
Downloads
25,884
Readme
Deprecated
Please use the official way of requiring Electron: https://electronjs.org/docs/tutorial/first-app
--
@vscode/gulp-electron
Installation
npm install --save-dev @vscode/gulp-electron
Usage
You can use this module in two distinct ways: to package your application and/or to download a version of Electron to disk.
How to Package Your Application
You should source your app's files using gulp.src
and pipe them through
@vscode/gulp-electron
. The following task will create your application in
the app
folder, ready for launch.
var gulp = require("gulp");
var symdest = require("gulp-symdest");
var electron = require("@vscode/gulp-electron");
gulp.task("default", function () {
return gulp
.src("src/**")
.pipe(electron({ version: "0.34.1", platform: "darwin" }))
.pipe(symdest("app"));
});
Note: It is important to use gulp-symdest
only because of the OS X
platform. An application bundle has symlinks within and if you use gulp.dest
to pipe the built app to disk, those will be missing. symdest
will make
sure symlinks are taken into account.
Finally, you can always pipe it to a zip archive for easy distribution. joaomoreno/gulp-vinyl-zip is recommended:
var gulp = require("gulp");
var zip = require("gulp-vinyl-zip");
var electron = require("@vscode/gulp-electron");
gulp.task("default", function () {
return gulp
.src("src/**")
.pipe(electron({ version: "0.34.1", platform: "darwin" }))
.pipe(zip.dest("app-darwin.zip"));
});
How to Download Electron
There's also a very handy export electron.dest()
function that
makes sure you always have the exact version of Electron in a directory:
var gulp = require("gulp");
var electron = require("@vscode/gulp-electron");
gulp.task("default", function () {
return electron.dest("electron-build", {
version: "0.34.1",
platform: "darwin",
});
});
This will place a vanilla Electron build into the electron-build
directory.
If you run it consecutively and it detects that the version in the destination directory
is the intended one, it will end up in a no-op. Else it will download the provided version
and replace it.
Options
You must provide the following options:
version
- the Electron version to useplatform
- kind of OS (darwin
,linux
,win32
)
The following options are optional:
quiet
- suppress a progress bar when downloadingtoken
- GitHub access token(to avoid request limit. You can grab it here)arch
- the processor architecture (ia32
,x64
)Windows
winIcon
- path to an.ico
filecompanyName
- company namecopyright
- copyright statement
Darwin
darwinIcon
- path to an.icns
filedarwinHelpBookFolder
- theCFBundleHelpBookFolder
valuedarwinHelpBookName
- theCFBundleHelpBookName
valuedarwinBundleDocumentTypes
- (reference) array of dictionaries, each containing the following structure:name
- theCFBundleTypeName
valuerole
- theCFBundleTypeRole
valueostypes
- theCFBundleTypeOSTypes
value, astring
arrayutis
- theLSItemContentTypes
value, astring
arrayextensions
- theCFBundleTypeExtensions
value, astring
array of file extensionsiconFile
- theCFBundleTypeIconFile
value
darwinForceDarkModeSupport
- Forces Mojave dark mode support to be enabled for older Electron versions
Linux
linuxExecutableName
- overwrite the name of the executable in Linux