Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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 opened this issue Sep 16, 2020 · 8 comments
Labels
Milestone

Comments

@felixkrautschuk
Copy link

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):

  • CLI: 7.0.8

  • Cross-platform modules: -

  • Android Runtime: -

  • iOS Runtime: -

  • Plugin(s): -

    Just in case this is important to know:
    - Node: 12.18.1

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
Copy link
Author

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.

@rigor789 rigor789 added the bug label Sep 20, 2020
@sr3dna
Copy link

sr3dna commented Sep 20, 2020

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
Copy link

CorentinDy commented Oct 6, 2020

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
Copy link
Contributor

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
Copy link

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 rigor789 added this to the 7.0.11 milestone Oct 21, 2020
@rigor789
Copy link
Member

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
Copy link

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

@arLevi
Copy link

arLevi commented May 12, 2023

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 ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants