Как сделать так, чтобы мой скрипт npx запускал команды в одном пакете / репо? - PullRequest
0 голосов
/ 19 января 2019

Скажем, я создаю репозиторий my-npx-hello-world

имеет следующие файлы

my-npx-hello-world/
      foo.sh
      index.sh
      package.json

пакет.json имеет

  "bin": "./index.sh"

index.sh вызывает ./foo.sh, т.е.

#!/bin/sh

echo "running foo"
./foo.sh

Теперь, когда я пытаюсь запустить это

# npx my-npx-hello-world
running foo
line 4: ./foo.sh: No such file or directory

Это потому, что он ищет foo.sh в моем CWD, а не в репозитории my-npx-hello-world.

Что мне нужно сделать, чтобы я мог index.sh выполнить сценарий foo.sh в том же репо.

1 Ответ

0 голосов
/ 09 февраля 2019

Отвечая на мой собственный вопрос, я решил это, найдя CWD, как показано ниже

BASEDIR=$(dirname "$0")/../lib/node_modules/my-npx-hello-worl

, а затем

cd $BASEDIR
./foo.sh
...