1 | import path from 'path'
|
2 |
|
3 | export default function getViewRelativeToView({
|
4 | id,
|
5 | view,
|
6 | viewsById,
|
7 | viewsToFiles,
|
8 | }) {
|
9 | let importCandidates = viewsById.get(id)
|
10 | if (!importCandidates) {
|
11 |
|
12 | console.log('No import candidates for ', id, 'from', view.file)
|
13 | importCandidates = new Set()
|
14 | }
|
15 | let importViewFile = [...importCandidates][0]
|
16 | if (importCandidates.size > 1) {
|
17 | let pathToView = path.dirname(view.file)
|
18 |
|
19 | let maybeFileViewInside = path
|
20 | .join(pathToView, id, 'view.blocks')
|
21 | .replace(/\\/g, '/')
|
22 | let maybeFileViewCustomInside = path
|
23 | .join(pathToView, id, 'react.js')
|
24 | .replace(/\\/g, '/')
|
25 | if (importCandidates.has(maybeFileViewInside)) {
|
26 | importViewFile = maybeFileViewInside
|
27 | } else if (importCandidates.has(maybeFileViewCustomInside)) {
|
28 | importViewFile = maybeFileViewCustomInside
|
29 | }
|
30 | }
|
31 |
|
32 | return viewsToFiles.get(importViewFile)
|
33 | }
|