Skip to content

Commit

Permalink
Set XDG_CONFIG_HOME env on Linux when not set.
Browse files Browse the repository at this point in the history
Otherwise, `node-log-rotate` creates a folder with `undefined` name.

Closes #394.

Signed-off-by: Akos Kitta <[email protected]>
  • Loading branch information
Akos Kitta authored and kittaakos committed Aug 4, 2022
1 parent 36ac47b commit 0b33b51
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions electron/build/patch/backend/main.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
// @ts-check

// Patch for on Linux when `XDG_CONFIG_HOME` is not available, `node-log-rotate` creates the folder with `undefined` name.
// See https://github.com/lemon-sour/node-log-rotate/issues/23 and https://github.com/arduino/arduino-ide/issues/394.
// If the IDE2 is running on Linux, and the `XDG_CONFIG_HOME` variable is not available, set it to avoid the `undefined` folder.
// From the specs: https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html
// "If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used."
const os = require('os');
if (os.platform() === 'linux' && !process.env['XDG_CONFIG_HOME']) {
const { join } = require('path');
const home = process.env['HOME'];
const xdgConfigHome = home ? join(home, '.config') : join(os.homedir(), '.config');
process.env['XDG_CONFIG_HOME'] = xdgConfigHome;
}

const { setup, log } = require('node-log-rotate');
setup({
appName: 'Arduino IDE',
Expand Down

0 comments on commit 0b33b51

Please sign in to comment.