text: const fs = require('fs');
  const path = require('path');
  
  const projectRootPath = fs.realpathSync('./project'); // __dirname
  const packageJson = require(path.join(projectRootPath, 'package.json'));
  
  let voltoPath = path.join(projectRootPath, 'node_modules/@plone/volto');
  
  let configFile;
  if (fs.existsSync(`${this.projectRootPath}/tsconfig.json`))
    configFile = `${this.projectRootPath}/tsconfig.json`;
  else if (fs.existsSync(`${this.projectRootPath}/jsconfig.json`))
    configFile = `${this.projectRootPath}/jsconfig.json`;
  
  if (configFile) {
    const jsConfig = require(configFile).compilerOptions;
    const pathsConfig = jsConfig.paths;
    if (pathsConfig['@plone/volto'])
      voltoPath = `./${jsConfig.baseUrl}/${pathsConfig['@plone/volto'][0]}`;
  }
  
  const AddonConfigurationRegistry = require(`${voltoPath}/addon-registry.js`);
  const reg = new AddonConfigurationRegistry(projectRootPath);
  
  // Extends ESlint configuration for adding the aliases to `src` directories in Volto addons
  const addonAliases = Object.keys(reg.packages).map((o) => [
    o,
    reg.packages[o].modulePath,
  ]);
  
  module.exports = {
    extends: `${voltoPath}/.eslintrc`,
    settings: {
      'import/resolver': {
        alias: {
          map: [
            ['@plone/volto', '@plone/volto/src'],
            ...addonAliases,
            ['@package', `${__dirname}/src`],
            ['~', `${__dirname}/src`],
          ],
          extensions: ['.js', '.jsx', '.json'],
        },
        'babel-plugin-root-import': {
          rootPathSuffix: 'src',
        },
      },
    },
  };
  