npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@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 use
  • platform - kind of OS (darwin, linux, win32)

The following options are optional:

  • quiet - suppress a progress bar when downloading

  • token - GitHub access token(to avoid request limit. You can grab it here)

  • arch - the processor architecture (ia32, x64)

  • Windows

    • winIcon - path to an .ico file
    • companyName - company name
    • copyright - copyright statement
  • Darwin

    • darwinIcon - path to an .icns file
    • darwinHelpBookFolder - the CFBundleHelpBookFolder value
    • darwinHelpBookName - the CFBundleHelpBookName value
    • darwinBundleDocumentTypes - (reference) array of dictionaries, each containing the following structure:
      • name - the CFBundleTypeName value
      • role - the CFBundleTypeRole value
      • ostypes - the CFBundleTypeOSTypes value, a string array
      • utis - the LSItemContentTypes value, a string array
      • extensions - the CFBundleTypeExtensions value, a string array of file extensions
      • iconFile - the CFBundleTypeIconFile value
    • darwinForceDarkModeSupport - Forces Mojave dark mode support to be enabled for older Electron versions
  • Linux

    • linuxExecutableName - overwrite the name of the executable in Linux