This plugin makes it easy to protect your source code with Bytenode by replacing your entry point with a script that can import bytecode.
In short, it turns this:
// index.js
function hello() {
console.log("Hello, world!");
}
module.exports = hello;Into this:
// index.js
require("bytenode");
require("./main");// main.js
function hello() {
console.log("Hello, world!");
}
module.exports = hello;Install the plugin:
$ npm install bytenode-webpack-pluginThen simply add BytenodePlugin to your configuration, passing the name of the entrypoint to shim and the new file name to the entries field.
To shim entrypoint "index.js" as "main.js", here's a basic config file:
module.exports = {
mode: "production",
entry: {
index: "src/index.js",
},
output: {
dir: "app",
filename: "[name].js",
},
plugins: [new BytenodePlugin({ entries: { index: "main" } })],
};You can then compile main.js to bytecode using the bytenode cli.
$ bytenode app/main.js && rm ./app/main.js