|
| 1 | +const fs = require('fs'); |
| 2 | +const projectRootPath = __dirname; |
| 3 | +const { AddonRegistry } = require('@plone/registry/addon-registry'); |
| 4 | + |
| 5 | +let coreLocation; |
| 6 | +if (fs.existsSync(`${projectRootPath}/core`)) |
| 7 | + coreLocation = `${projectRootPath}/core`; |
| 8 | +else if (fs.existsSync(`${projectRootPath}/../../core`)) |
| 9 | + coreLocation = `${projectRootPath}/../../core`; |
| 10 | + |
| 11 | +const { registry } = AddonRegistry.init(`${coreLocation}/packages/volto`); |
| 12 | + |
| 13 | +// Extends ESlint configuration for adding the aliases to `src` directories in Volto addons |
| 14 | +const addonAliases = Object.keys(registry.packages).map((o) => [ |
| 15 | + o, |
| 16 | + registry.packages[o].modulePath, |
| 17 | +]); |
| 18 | + |
1 | 19 | module.exports = { |
2 | | - extends: './core/packages/volto/.eslintrc', |
| 20 | + extends: `${coreLocation}/packages/volto/.eslintrc`, |
3 | 21 | rules: { |
4 | 22 | 'import/no-unresolved': 1, |
5 | 23 | }, |
6 | 24 | settings: { |
7 | 25 | 'import/resolver': { |
8 | 26 | alias: { |
9 | 27 | map: [ |
10 | | - ['@plone/volto', './core/packages/volto/src'], |
11 | | - ['@plone/volto-slate', './core/packages/volto-slate/src'], |
12 | | - ['@plone/registry', './core/packages/registry/src'], |
| 28 | + ['@plone/volto', `${coreLocation}/packages/volto/src`], |
| 29 | + ['@plone/volto-slate', `${coreLocation}/packages/volto-slate/src`], |
| 30 | + ['@plone/registry', `${coreLocation}/packages/registry/src`], |
13 | 31 | [ |
14 | 32 | '@plonegovbr/volto-code-block', |
15 | 33 | './packages/volto-code-block/src', |
16 | 34 | ], |
| 35 | + ...addonAliases, |
17 | 36 | ], |
18 | 37 | extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'], |
19 | 38 | }, |
|
0 commit comments