-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use requireNodeSources under the hood of dependantFiles #52
Conversation
abbbeb5
to
a91a7e9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Нужно добавить документацию для нового API dependantFiles
.
|
||
return jobQueue.push(modulePath, opts); | ||
var nodePath = node.getPath(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Можно не дёргать метод в цикле
return jobQueue.push(modulePath, opts); | ||
var nodePath = node.getPath(); | ||
|
||
acc[nodePath] || (acc[nodePath] = []); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Зачем? node
не меняется.
var sources = {};
var currentNodeSources = sources[node.nodePath())] = [];
currentNodeSources.push(dependancy);
@@ -86,8 +86,22 @@ module.exports = buildFlow.create() | |||
tech: this._tech, | |||
techOptions: this._techOptions | |||
}, | |||
jobQueue = this.node.getSharedResources().jobQueue; | |||
jobQueue = this.node.getSharedResources().jobQueue, | |||
sourcesByNodes = this._dependantFiles.reduce(function (acc, dependancy) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Можно обойтись if
на объект + map
на конверт.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tadatuta тут падает если передавать объект так как написано в доке
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Сейчас можно указать только таргеты текущей ноды:
{
dependantFiles: ['a.css', 'b.js']
}
PR добавляет возможность указать полную запись (для любой ноды):
{
dependantFiles: {
'path/to/node': ['a.css', 'b.js']
}
}
При этом предыдущий вариант можно считать шорткатом к новому. Обратная совместимость не меняется. Тут всё хорошо.
Но смешанный вариант, мне не очень нравится:
{
dependantFiles: [
'a.css', 'b.js',
{
'path/to/node': ['a.css', 'b.js']
}
]
}
Если нужно указать таргеты для нескольких нод, лучше явно указывать эти ноды:
{
dependantFiles: {
'path/to/node-1': ['a.css', 'b.js'],
'path/to/node-2': ['a.css', 'b.js']
}
}
@tadatuta есть причины поддерживать смешанный вариант? |
Веских причин, конечно, нет, но поддержка ничего не стоит, а сахару добавляет. |
м? |
Давай в документации оставим только годный вариант, а извращенцы вроде тебя и сами догадаются. В реализации, соответственно оставим. |
a91a7e9
to
b088b6a
Compare
дописал в доку |
Имена файлов, после сборки которых запустится обработка исходного файла с помощью `borschik` | ||
Имена файлов, после сборки которых запустится обработка исходного файла с помощью `borschik`. | ||
Если переданы строки, то ожидается, что это имена таргетов текущей ноды. | ||
В случае передачи объекта, ключами является путь к ноде, а значениями — массив таргетов. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Надо примерами кода, а не буквами. Читается сложно.
b088b6a
to
8f37d58
Compare
🆙 |
ping? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
И отребейзь от master
, пожалуйста.
} | ||
``` | ||
|
||
В случае передачи объекта, ключами является путь к ноде, а значениями — массив таргетов: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Чот как-то не по-русски.
И давай считать массив краткой записью. Тогда получится примерно так:
Опция ожидает объект, где ключ это путь к ноде, а значение — массив файлов из указанной ноды.
{
dependantFiles: {
'path/to/index': ['index.css', 'index.js'],
'path/to/keyboard': ['keyboard.css', 'keyboard.js']
}
}
Если переданы строки, то ожидается, что это имена таргетов текущей ноды:
{
dependantFiles: ['index.css', 'index.js']
}
8f37d58
to
d355b8d
Compare
No description provided.