apache / apache/cordova-cli

cordova plugin add --link ../plugin/ does not provide a cohesive local plugin workflow

Open
#497 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
967
Forks
344
Avg merge
8h 41m
Merged PRs (30d)
9

Description

# Bug Report
## Problem
Currently to re-compile the *.js of a local plugin the following chain of commands needs to performed:
```
cordova plugin rm cordova-plugin-name && cordova plugin add --link ../plugin
```

It seems that while the native files are symlinked properly, there is a compilation step to the plugin `*.js` code that doesn't occur with neither `build` or `prepare` or `compile`. This requires repeatedly adding and removing plugins when changes are made to *.js code.

### What is expected to happen?
Symlinking plus compilation (build) should provide an all in one solution for local plugin development.

### What does actually happen?
When .js files are changed the changes do not reflect in an *.xcworkspace project. To make the *.js changes reflect, the plugin needs to be `rm` and then `add -link /plugin/` again.

## Information
My particular plugin uses Cordova-iOS 5, CocoaPods and xCode .xcworkspace workflow.

### Environment, Platform, Device
CLI
xCode 11.2
iPhone X Emulator

### Version information
"cordova-ios": "^5.1.1"
"cordova-lib":@9.0.1
xCode 11.2
iPhone X Emulator

## Checklist

- [X] I searched for existing GitHub issues
- [X] I updated all Cordova tooling to most recent version
- [X] I included all the necessary information above

Contributor guide

Open the contributing guide

Research direction

Start with the cordova plugin rm, cordova plugin add --link, build, prepare, and compile entry points described in the report, focusing on the local plugin workflow. Reproduce the issue with the stated Cordova iOS 5, CocoaPods, and .xcworkspace setup, then verify that editing plugin *.js files is reflected without removing and re-adding the plugin.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
cli, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.