Releases: rnpm/rnpm
v1.9.0
Since React Native (and therefore rnpm
) expects native modules to be linked in as static libraries, it's up to the application to link to the shared libraries that the static library might need (frameworks seem to be automatically handled by the module auto-linking feature). As a native module author, you can provide additional setup instructions or try to automate it yourself, like realm
does in their postlink
script here.
Thanks to @appden from realm
team, this is now getting automated by rnpm
so that you can specify an array of shared libraries to link:
"rnpm": {
"ios": {
"sharedLibraries": ["libc++", "libxml2", "libz"]
}
}
It is also fully supported by the unlink
part.
1.8.0
This release adds support for flags in the custom rnpm plugins.
Simply define an array of options, like the one below:
options: [{
flags: '-L, --list [path]',
description: 'List flag',
parse: (val) => val.split(',').map(Number),
default: [1,2,3],
}],
and your exported function will now receive a 3rd argument which will be an object containing list
property (which is an array).
E.g. when run rnpm plugin
, the list
will be [1,2,3]
. When run rnpm plugin --list=1,4,5
, the list
will be [1,4,5]
.
Note: parse
and default
are optional.
v1.7.0
This release adds uninstall
command, it's an equivalent of these two steps run manually:
$ rnpm unlink abc
$ npm uninstall abc
We have also fixed a bunch of Android edge-cases and improved general compatibility with Node v6 - you can check more details here -> https://github.com/rnpm/rnpm-plugin-link/releases/tag/v1.7.4
v1.6.4
v1.6.0
Features
Starting from now - rnpm
allows you to define an array of additional arguments to get from user during linking process that you can then, reference in e.g. packageInstance
.
Simply include the following in your package.json:
"rnpm": {
"params": [{
"type": "input",
"name": "gaToken",
"message": "What's your GA token"
}]
}
and update your packageInstance
with the new variable:
"rnpm": {
"android": {
"packageInstance": "new SomeLibName(this, ${gaToken})"
}
}
Starting from now on - users will be presented an interactive form powered by inquirer
each time they run rnpm link
.
Note: We pass params
array directly to inquirer which means you can also let users choose an answer from a list as well as provide a default value! See API docs for more details.
Fixes
This release finally fixes unlink
so that it no longer makes your Xcode crash forever. We now also exclude all projects with sample
in name except the ones in ios
folder (that change mainly affects 3rd party modules providers).
v1.5.5
v1.5.4
This release fixes few bugs with Info.plist
when CocoaPods were added to the project.
It also fixes an issue when wrong group in Xcode project was selected as a libraryFolder
by rnpm due to the same name (e.g. Libraries and Pods/Libraries - the 2nd one was used). This release fixes this issue and implements ability to use nested paths!
That is, if you now want to use Pods/Libraries or anything else, simply add:
{
"rnpm": {
"ios": {
"libraryFolder": "This/Is/Custom/Path"
}
}
}
which will result in This/Is/Custom/Path
group added to your project. All .xcodeproj being linked will be added there instead of standard Libraries
group.
v1.5.3
This release focuses mainly on making rnpm link
more stable and shipping fixes to most annoying issues that's been reported so far.
Most importantly:
- We have improved our iOS project detection pattern meaning we no longer ignore your projects under
ios
folder that havetest
orexample
name in it. That means if you ever create a project withreact-native init testApp
- it will work. - We have fixed a bug in our code that was causing rnpm to throw and stop if
Libraries
group was missing despite a warning being shown that we created that group for you - We now support CocoaPods projects when linking assets - previously it was exiting with an error
Misc:
- We now use Promises instead of callbacks
- We have trimmed down our dependencies in link by removing some packages (we are working on removing even more)