NativeScript / NativeScript/nativescript-cli

`tns plugin add` fails when tns-android key is missing in package.json of the app

Aberta
#3,123 6 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

bug os: android plugins
Linguagem predominante
JavaScript
Estrelas
1.1k
Forks
204
Merge médio
1d 9h
PRs com merge (30d)
8

Descrição

Did you verify this is a real problem by searching

Yes, here.

Tell us about the problem

I do a lot of plugin development ;-) I tend to do
tns plugin add ../src or tns plugin add pluginname-1.0.0.tgz
All of these will cause nativescript to throw a error

TypeError: Cannot read property 'version' of undefined
    at PluginsService.getInstalledFrameworkVersion (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:261:29)
    at PluginsService.isPluginDataValidForPlatform (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:265:48)
    at PluginsService.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:57:26)
    at next (native)
    at /usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:7:71
    at __awaiter (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:3:12)
    at action (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:56:83)
    at PluginsService.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:253:27)
    at next (native)
    at /usr/local/lib/node_modules/nativescript/lib/services/plugins-service.js:7:71

The issue is inserted in the package.json: "nativescript-pluginname": "file:<path to dir>",

When you attempt to get version numbers, "file:....." doesn't match and causes the above error.

Which platform(s) does your issue occur on?

Both

Please provide the following version numbers that your issue occurs with:

At least since TNS 3.0, still happening in 3.2

Please tell us how to recreate the issue in as much detail as possible.

tns plugin add ../src from a demo folder

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece em lib/services/plugins-service.js, especialmente em PluginsService.getInstalledFrameworkVersion e isPluginDataValidForPlatform, e depois reproduza com tns plugin add ../src a partir de um app de demonstração. Rastreie como a dependência file: é tratada quando o package.json do app não contém uma chave tns-android. Está concluído quando as adições de plugins a partir de diretórios locais e tarballs não gerarem mais o erro undefined-version em nenhuma das duas plataformas.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript
Domínio
cli
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.