I wonder if there is a way to prevent all files in a certain scope from importing any file from a different second scope. Example:
Given this project structure:
project/
├── node_modules/
├── test/
├── src/
│ ├── domain/
│ │ ├── SomeModelClass.ts
│ ├── application/
│ │ ├── SomeApplicationConcern.ts
│ ├── database/
│ │ ├── SomeRepository.ts
├── tsconfig.json
└── tslint.json
I would like to enforce at least some of these rules:
SomeApplicationConcern
can import code from anywhere.SomeRepository
can not import code fromapplication
SomeModelClass
can not import code from neitherapplication
nordomain
.
Can it be achieved somehow using nested tsconfig.json
files?
Can it be achieved using some fancy tslint
rules?
I have no clue if anything like this is possible. I would like to get a compilation error (or tslint error, which is set to error severity in my project) if a forbidden dependency is detected.