Skip to content

svetch/bytenode-webpack-plugin

 
 

Repository files navigation

@svetch/bytenode-webpack-plugin

Forked from @herberttn/bytenode-webpack-plugin, fixes some WebPack 5 issue.

ci coveralls npm license

Compile JavaScript into bytecode using bytenode.
Inspired by bytenode-webpack-plugin.

Install

npm install --save @svetch/bytenode-webpack-plugin

Supports

  • electron-forge
    • ✔️ Default configuration
  • webpack
    • ✔️ v4
    • ❔ v5
    • ✔️ entry as a string (e.g., 'src/index.js')
    • ✔️ entry as an array (e.g., ['src/index.js'])
    • ✔️ entry as an object (e.g., { main: 'src/index.js' })
    • ✔️ entry middlewares (e.g., ['src/index.js', 'webpack-hot-middleware/client'])
    • ✔️ Dynamic output.filename (e.g., '[name].js')
    • ✔️ Named output.filename (e.g., 'index.js')

Usage

import { BytenodeWebpackPlugin } from '@svetch/bytenode-webpack-plugin';

// webpack options
module.exports = {
  // ...

  plugins: [
    // using all defaults
    new BytenodeWebpackPlugin(),

    // overriding an option
    new BytenodeWebpackPlugin({
      compileForElectron: true,
    }),
  ],
};

Options

interface Options {
  compileAsModule: boolean;    // wraps the code in a node module
  compileForElectron: boolean; // compiles for electron instead of plain node
  debugLifecycle: boolean;     // enables webpack hooks lifecycle logs
  debugLogs: boolean;          // enables debug logs
  keepSource: boolean;         // emits the original source files along with the compiled ones
  preventSourceMaps: boolean;  // prevents source maps from being generated
  silent: boolean;             // disables all logs, but not errors thrown (overrides debug flags)
}

Default options

new BytenodeWebpackPlugin({
  compileAsModule: true,
  compileForElectron: false,
  debugLifecycle: false,
  debugLogs: false,
  keepSource: false,
  preventSourceMaps: true,
  silent: false,
})

Contributors

svetch
herberttn
jjeff
Jeff Robbins

About

Compile JavaScript into bytecode using bytenode

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 70.5%
  • JavaScript 29.5%