mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-06-20 02:56:34 +00:00

- update Theia to `1.39.0`, - remove the application packager and fix the security vulnerabilities, - bundle the backed application with `webpack`, and - enhance the developer docs. Co-authored-by: Akos Kitta <a.kitta@arduino.cc> Co-authored-by: per1234 <accounts@perglass.com> Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
43 lines
1.5 KiB
JavaScript
43 lines
1.5 KiB
JavaScript
// @ts-check
|
|
'use strict';
|
|
|
|
// 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."
|
|
function enableFileLogger() {
|
|
const os = require('os');
|
|
const util = require('util');
|
|
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',
|
|
maxSize: 10 * 1024 * 1024,
|
|
});
|
|
for (const name of ['log', 'trace', 'debug', 'info', 'warn', 'error']) {
|
|
const original = console[name];
|
|
console[name] = function () {
|
|
// eslint-disable-next-line prefer-rest-params
|
|
const messages = Object.values(arguments);
|
|
const message = util.format(...messages);
|
|
original(message);
|
|
log(message);
|
|
};
|
|
}
|
|
}
|
|
|
|
if (process.env.IDE2_FILE_LOGGER === 'true') {
|
|
enableFileLogger();
|
|
}
|
|
|
|
require('./src-gen/backend/main');
|