Slide 10
Slide 10 text
package private のような設計を作る
module.exports = {
forbidden: [
{
name: `1. '_'
から始まるディレクトリ内部のファイルは、同ディレクトリ内のファイルまたは、一つ上の階層のディレクトリのファイルからのみimport
可能`,
severity: 'error',
from: { path: ['(.*)\\/.*\\.ts'], pathNot: ['.*\\.spec\\.ts$'] },
to: {
path: ['_\\w+\\/\\w+\\.ts$'],
pathNot: ['$1\\/_\\w+\\/\\w+\\.ts$', '$1\\/\\w+\\.ts$'],
},
},
{
name: `2. '_'
から始まるファイルは同階層に置かれたファイルからのみimport
可能`,
severity: 'error',
from: { path: ['(.*)\\/.*\\.ts$'], pathNot: ['.*\\.spec\\.ts$'] },
to: {
path: ['.*\\/_\\w+.ts$'],
pathNot: ['$1\\/_\\w+.ts$'],
},
},
]
fromがimport(require)する側で、toがexportする側です。
pathがルールを適用するファイルパスで、pathNotが適用されないファイルパスです。
10 / 13