Open arodik opened 4 years ago
Did you use the oclif generator to create a plain JS cli?
No, I didn't I can try if it may help
I was trying to understand how you created your cli so I can try and reproduce.
I had a lot of files in the project when I decided to use OClif, so I've created the project into the separate directory via npx oclif multi mynewcli
Generator settings:
? Select a package manager npm
? TypeScript Yes
? Use tslint (linter for TypeScript) No
? Use mocha (testing framework) No
Then copied files to my project
I've figured out how to reproduce the issue
@oclif/config reading core plugin /Users/arodik/projects/mynewcli +0ms
@oclif/config loadJSON /Users/arodik/projects/mynewcli/package.json +0ms
@oclif/config loadJSON /Users/arodik/projects/mynewcli/oclif.manifest.json +2ms
@oclif/config loadJSON /Users/arodik/projects/mynewcli/.oclif.manifest.json +0ms
@oclif/config registering ts-node at /Users/arodik/projects/mynewcli +0ms
@oclif/config Error: Cannot find module 'ts-node'
@oclif/config Require stack:
@oclif/config - /Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/ts-node.js
@oclif/config - /Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/plugin.js
@oclif/config - /Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/config.js
@oclif/config - /Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/index.js
@oclif/config - /Users/arodik/projects/mynewcli/node_modules/@oclif/command/lib/command.js
@oclif/config - /Users/arodik/projects/mynewcli/node_modules/@oclif/command/lib/index.js
@oclif/config - /Users/arodik/projects/mynewcli/bin/run
@oclif/config at Function.Module._resolveFilename (internal/modules/cjs/loader.js:772:15)
@oclif/config at Function.resolve (internal/modules/cjs/helpers.js:74:19)
@oclif/config at registerTSNode (/Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/ts-node.js:19:32)
@oclif/config at Object.tsPath (/Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/ts-node.js:77:9)
@oclif/config at Plugin.get commandsDir [as commandsDir] (/Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/plugin.js:68:42)
@oclif/config at Plugin.get commandIDs [as commandIDs] (/Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/plugin.js:70:19)
@oclif/config at Plugin._manifest (/Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/plugin.js:161:28)
@oclif/config at async Plugin.load (/Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/plugin.js:56:25)
@oclif/config at async Config.load (/Users/arodik/projects/mynewcli/node_modules/@oclif/config/lib/config.js:28:9)
tsconfig is located at the root of the project because the project is written on Typescript, but I didn't install ts-node because I don't need it. I compile all into the dist directory and start OClif as a usual nodejs app
Ah, gotcha. We assume if there is a tsconfig.json file in root you are running a typescript project.
I think it's OK to skip ts-node
if the script can't find it in dependencies :)
I can try to make a PR with a fix
ts-node is in devDependencies of
@oclif/config
however if I run CLI with DEBUG=* I see the following:We don't use ts-node because we don't need it Our package.json