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

proper-electron-forge-plugin-webpack

v0.0.8

Published

Webpack plugin for forge

Downloads

12

Readme

Electron Forge Plugin Webpack

A plugin for Electron Forge that brings first class webpack support to your build pipeline.

Please note this is in beta, if any webpack options don't work for some reason please raise an issue (or even better a PR).

Usage

npm i @electron-forge/plugin-webpack --save-dev
// forge.config.js
const { WebpackPlugin } = require('@electron-forge/plugin-webpack')

module.exports = {
  // other config here
  plugins: [new WebpackPlugin(pluginConfig)]
}

Project Setup

In order for this plugin to work correctly you need to have a few things in place

  1. The main field of your package.json needs to point to ".webpack/main"
  2. Correctly configured BrowserWindow's, see the Renderer Setup section

Once your project is setup and the plugin added to your configuration, everything should Just Work(tm).

Plugin Configuration

const mainWebpackConfig = require('./xx/webpack.main.config.js)
const rendererWebpackConfig = require('./xx/webpack.renderer.config.js)

new WebpackPlugin({
  mainConfig: mainWebpackConfig,
  renderer: {
    config: rendererWebpackConfig,
    // Array of items to be prefixed to the "entry" array in the
    // renderer webpack config.  Useful for things like
    // 'react-hot-loader/patch'
    prefixedEntries: [],
    // Array of entry points to your application, each BrowserWindow
    // should require one entry point to be configured
    entryPoints: [{
      // Absolute path to the HTML template for this window
      html: '',
      // Absolute path to the JS entry point for this window
      js: '',
      // Name of this entry point, will be used when calling win.loadUrl
      name: ''
    }]
  }
})

By default the minimum possible config is defaulted inside the plugin, this means if you are just using vanilla JS everything should work out of the box with just a single entryPoint defined.

Renderer Setup

In order to know where to load your renderer process from you should use the magic globals that this plugin defines in your main process.

win.loadURL(MY_ENTRY_POINT_NAME_WEBPACK_ENTRY);

Notice no quotes are required, the format is {entryNameInUpperCase}_WEBPACK_ENTRY