Почему команда oclif-dev manifest выполняет исходный код?
oclif-dev manifest
выполнит ваш исходный код, почему это происходит?
Шаг для воспроизведения:
- пробег
npx oclif multi mynewcli
- создать
index.ts
файл в корневой папкеsrc/app/index.ts
- ты положил
console.log("test...");
внутриindex.ts
файл - импортируйте файл в свой
src/commands/hello.ts
import { Command } from "@oclif/command";
import * as fs from "fs-extra";
+ import "../app/index";
export default class extends Command {
async run() {
}
}
- Теперь ты бежишь
yarn run prepack
, терминал показывает
mynewcli % yarn run prepack
yarn run v1.22.4
$ rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme
test...
Я думал, что oclif будет переносить только ваш исходный код, но оказалось, что он его выполняет, что довольно странно, когда вы создаете библиотеку npm.
Текущее решение - написать все внутри функции.