Skip to content

Commit

Permalink
restrict import from core&plugin internals
Browse files Browse the repository at this point in the history
  • Loading branch information
mshustov committed Mar 22, 2019
1 parent 8ccd571 commit 50ea2d2
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ const ELASTIC_LICENSE_HEADER = `
*/
`;

const corePublicPattern = './src/core/public/(?!utils|index).*';
const coreServerPattern = './src/core/server/(?!index).*';
const pluginsPublicPattern = './src/plugins/.*/public/(?!index).*';
const pluginsServerPattern = './src/plugins/.*/server/(?!index).*';
module.exports = {
extends: ['@elastic/eslint-config-kibana', '@elastic/eslint-config-kibana/jest'],

Expand All @@ -46,6 +50,51 @@ module.exports = {
rules: {
'no-restricted-imports': [2, restrictedModules],
'no-restricted-modules': [2, restrictedModules],
'import/no-restricted-paths': [
2,
{
zones: [
{
target: './src/legacy/.*js$',
from: [
corePublicPattern,
coreServerPattern,
pluginsPublicPattern,
pluginsServerPattern,
],
},
{
target: './x-pack/(?!.*test).*js$',
from: [
corePublicPattern,
coreServerPattern,
pluginsPublicPattern,
pluginsServerPattern,
],
},
{
target: './src/core/public/.*js$',
from: [coreServerPattern, pluginsPublicPattern, pluginsServerPattern],
},
{
target: './src/core/server/.*js$',
from: [corePublicPattern, pluginsPublicPattern, pluginsServerPattern],
},
{
target: './src/plugins/.*/public/.*js$',
from: [corePublicPattern, coreServerPattern, pluginsServerPattern],
},
{
target: './src/plugins/.*/server/.*js$',
from: [corePublicPattern, coreServerPattern, pluginsPublicPattern],
},
// the rule doesn't support 'from' as an array, so we flatten it
].reduce(
(acc, zone) => acc.concat(zone.from.map(from => ({ target: zone.target, from }))),
[]
),
},
],
},

overrides: [
Expand Down

0 comments on commit 50ea2d2

Please sign in to comment.