cordova plugin add --link ../plugin/ does not provide a cohesive local plugin workflow
- 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
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