NativeScript / nativescript-cli

Command-line interface for building NativeScript apps
https://www.npmjs.com/package/nativescript
Apache License 2.0
1.04k stars 195 forks source link

error "The path argument must be of type string. Received null." when trying to build plugin or create new plugin since nativescript-cli 7.x #5387

Closed felixkrautschuk closed 4 years ago

felixkrautschuk commented 4 years ago

Environment Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

Describe the bug When I go to the src folder of my plugin and try to run npm run build, the process fails with the following error message: The "path" argument must be of type string. Received undefined.

When I try to create a new plugin using tns create plugin myplugin, I get a similar error message: The "path" argument must be of type string. Received null.

Full log:

? What is your GitHub username? (will be used to update the Github URLs in the plugin's package.json) NativeScriptDeveloper ? What will be the name of your plugin? (use lowercase characters and dashes only) testplugin ? Do you want to include a "TypeScript NativeScript" application linked with your plugin to make development easier? Yes ? Do you want to include an "Angular NativeScript" application linked with your plugin to make development easier? No NativeScript Plugin Seed Configuration Using Testplugin as the TypeScript Class name.. Will now rename some files.. Creating 'TypeScript' application from latest published template... You are using the deprecated nsconfig.json file. Just be aware that NativeScript 7 has an improved nativescript.config.(js|ts) file for when you're ready to upgrade this project. The "path" argument must be of type string. Received null TypeScript-NativeScript application created at: ../demo Adjusting scripts.. Installing plugin to ../demo ... Error: Command failed: cd ../demo && tns plugin add ../src /bin/sh: line 0: cd: ../demo: No such file or directory

at ChildProcess.exithandler (child_process.js:303:12)
at ChildProcess.emit (events.js:315:20)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5) {

killed: false, code: 1, signal: null, cmd: 'cd ../demo && tns plugin add ../src' } Solution for myplugin was successfully created.

When I try to build this plugin, I get the same error message as for my already existing plugin.

To Reproduce see description

Expected behavior Creating a new plugin should not throw this error. Building an existing plugin should not throw this error.

Sample project

Additional context

felixkrautschuk commented 4 years ago

It seems that the plugin is built (or created) as expected, as I can run the demo app and use the plugin's functionalities correctly. The message

executing 'tns plugin build' Error: Command failed: tns plugin build The "path" argument must be of type string. Received undefined

confused me, I was thinking that the plugin was not built at all, but that seems to work.

I also tried installing the latest NodeJS (v14.11.0) but that error message still appears.

sr3dna commented 4 years ago

I also encountered a similar error message "The 'path' argument must be of type string. Received undefined" when I tried to run 'ns migrate' on my project. The prior message was 'Migrating project to use nativescript.config.ts'.

CorentinDy commented 4 years ago

Same with cli version 7.0.10.

I can't create a project . It display the same error : tns create my-tab-vue --template tns-template-tab-navigation-vue The "path" argument must be of type string. Received null

And it is not even creating a single file for the project.

Logikgate commented 4 years ago

I am also running into this with 7.0.10 when running tns plugin build. It is also complaining about the use of nsconfig.json but there is no nsconfig.json in the plugin project

You are using the deprecated nsconfig.json file. Just be aware that NativeScript 7 has an improved nativescript.config.(js|ts) file for when you're ready to upgrade this project.
The "path" argument must be of type string. Received type undefined
dsamuel9 commented 4 years ago

when i run this command tns create my-blank-react --template tns-template-blank-react I get this error : You are using the deprecated nsconfig.json file. Just be aware that NativeScript 7 has an improved nativescript.config.(js|ts) file for when you're ready to upgrade this project. The "path" argument must be of type string. Received null in my prompt please help me

rigor789 commented 4 years ago

The commit above fixes the ns plugin build command - the ns plugin create command has to be fixed in the plugin seed, and should be addressed separately.

For those having issues with ns create project - make sure you are using the latest templates, they are now scoped under the @nativescript scope. For example ns create myTSApp --template @nativescript/template-blank-ts

codefestinternational commented 3 years ago

The "path" argument must be of type string. Received undefined

arLevi commented 1 year ago

For me the issue appeared when suddenly I see an entry like so the in the package.json:

+    "package.json": "^2.0.1",

Manually removed it, didn't run anything else, then the tns plugin add X started to work ...