module.exports = {
(省略)
rules: {
'import/no-restricted-paths': [
'error',
{
zones: [
// Domain層が依存してはいけない領域
{
from: './src/Application/**/*',
target: './src/Domain/**/!(*.spec.ts|*.test.ts)',
message: 'Domain層でApplication層をimportしてはいけません。',
},
{
from: './src/Presentation/**/*',
target: './src/Domain/**/!(*.spec.ts|*.test.ts)',
message: 'Domain層でPresentation層をimportしてはいけません。',
},
{
from: './src/Infrastructure/**/*!(test).ts',
target: './src/Domain/**/!(*.spec.ts|*.test.ts)',
message: 'Domain層でInfrastructure層をimportしてはいけません。',
},
// Application層が依存してはいけない領域
{
from: './src/Presentation/**/*',
target: './src/Application/**/!(*.spec.ts|*.test.ts)',
message: 'Application層でPresentation層をimportしてはいけません。',
},
{
from: './src/Infrastructure/**/*',
target: './src/Application/**/!(*.spec.ts|*.test.ts)',
message:
'Application層でInfrastructure層をimportしてはいけません。',
},
],
},
],
},
};