Skip to content

Releases: Arkellys/rebuiltron

v6.2.0

06 Nov 07:28
Compare
Choose a tag to compare

Changes

Add optional option excludeInProduction, allowing excluding modules from the production bundle:

module.exports = {
  ...
  excludeInProduction: [
    "electron-devtools-installer"
  ]
};

v6.1.0

03 Nov 09:04
Compare
Choose a tag to compare

Changes

Automatically transform lodash imports to support tree shaking.

Dependencies

v6.0.3

22 Sep 15:11
Compare
Choose a tag to compare

Changes

Harmonize log messages to make everything clearer and prettier.

v6.0.2

16 Sep 11:50
Compare
Choose a tag to compare

Changes

Always use mode production for main and preloads.

Some libraries (I'm looking at you, ADM-ZIP) seem to be slower when mode is development. Given the sizes of main and preload files, there is no great difference in compilation time between the two modes. NODE_ENV is still set to development, so the compiled files are still not made for production.

v6.0.1

15 Sep 13:54
Compare
Choose a tag to compare

Fixes

  • Fix a regression that caused Electron to start before the development server was ready

Changes

  • Optimize main and preload files compilation by removing unnecessary plugins and rules

v6.0.0

15 Sep 12:52
Compare
Choose a tag to compare

Features

Add support for ES6 imports on all processes. 🎉

Main and preload files are now compiled even in development, which means CJS require can now be replaced ES6 import on the files of these processes. In order for this to work, main and preload paths have to point to the built files.

package.json

{
  "main": "build/static/js/electron.main.js",
}

Main file

Since the preload file(s) will be compiled both in development and production, you can use a single path for both environment. Built files use the names declared in the configuration file: electron.preload.[name].js

new BrowserWindow({
  webPreferences: {
    // With a preload entry key named `app`
    preload: path.join(__dirname, "electron.preload.app.js"),
  }
});

Breaking changes

Remove support for ESM.

On the previous version, ESM was only supported thanks to a workaround (because I couldn't figure out how to configure webpack and SWC correctly) allowing the ESM equivalent of __dirname to be compiled as a dynamic path . Now that import can be used without ESM, this workaround was removed and so CJS __dirname must be available.

Rebuiltron configuration file must now have the extension .js instead of .cjs.

rebuiltron.config.cjs  --->  rebuiltron.config.js

Dependencies

v5.0.0

20 Apr 09:53
Compare
Choose a tag to compare

Breaking changes

Imports from ICSS :export should now be named, see css-loader's major release 7.0.0.

Migration guide

Before:

import styles from "./styles.css";
console.log(styles.myClass);

After:

import * as styles from "./styles.css";
console.log(styles.myClass);

// or

import { myClass } from "./styles.css";
console.log(myClass);

Dependencies

v4.1.0

07 Apr 14:50
Compare
Choose a tag to compare

Changes

Remove electron folder requirement in folder structure: main and preload files can now be placed anywhere.

v4.0.1

30 Mar 08:42
Compare
Choose a tag to compare

Dependencies

v4.0.0

02 Feb 08:08
Compare
Choose a tag to compare

Features

With added support for ESM on Electron v28.0.0, Rebuiltron now also supports ESM apps. 🎉

Breaking changes

Rebuiltron configuration file must now have the extension .cjs instead of .js.

rebuiltron.config.js  --->  rebuiltron.config.cjs

Dependencies