Встряхнуть в зависимости от каталога node_modules

Я использую Shake с проектом на основе npm, но не понимаю, как обращаться с папкой node_modules. Поток должен быть простым из того, что я могу сказать:

  • Любое изменение package.json приведет к повторному заполнению node_modules.
  • Все изменения в node_modules и/или main.ts вызовут срабатывание сценария, связанного с машинописным текстом. В этом случае он будет запускаться только один раз для всей коллекции изменений.

Как мне закодировать эти зависимости?


person Neil Mitchell    schedule 01.05.2018    source источник


Ответы (1)


Проблема в том, что node_modules — это каталог, а не файл, и вы можете не зависит от каталогов. Решение состоит в том, чтобы создать фальшивый файл в соответствии со строками:

"node_modules/.stamp" %> \out -> do
    need ["package.json"]
    cmd_ "npm update"
    copyFile' "package.json" out

"main.ts.out" %> \out -> do
    need ["node_modules/.stamp","main.ts"]
    cmd_ "whatever"

Единственный «странный» момент выше заключается в том, что мы copyFile' package.json для нашего файла штампа. Это уловка, так что если у нас есть хеш-проверка файлов, то файл .stamp изменится, тогда как если бы мы всегда записывали в него "", то это не так.

person Neil Mitchell    schedule 01.05.2018