From d1601e494cf14ae4704ee7e781b0b89a645f5c50 Mon Sep 17 00:00:00 2001 From: Jaime Bernardo Date: Sat, 23 Sep 2017 22:54:54 +0100 Subject: [PATCH] Initial commit for the React Native Module --- .gitattributes | 1 + .gitignore | 46 + README.md | 97 + android/CMakeLists.txt | 64 + android/build.gradle | 60 + .../armeabi-v7a/copy-armv7a-libnode.so-here | 0 android/libnode/bin/armeabi-v7a/libnode.so | Bin 0 -> 25363312 bytes .../libnode/bin/x86/copy-x86-libnode.so-here | 0 android/libnode/bin/x86/libnode.so | Bin 0 -> 25665172 bytes .../libnode/include/node/android-ifaddrs.h | 54 + android/libnode/include/node/common.gypi | 425 + android/libnode/include/node/config.gypi | 63 + .../node/libplatform/libplatform-export.h | 29 + .../include/node/libplatform/libplatform.h | 78 + .../include/node/libplatform/v8-tracing.h | 270 + android/libnode/include/node/node.h | 735 ++ android/libnode/include/node/node_api.h | 545 + android/libnode/include/node/node_api_types.h | 112 + android/libnode/include/node/node_buffer.h | 89 + .../libnode/include/node/node_object_wrap.h | 132 + android/libnode/include/node/node_version.h | 82 + android/libnode/include/node/openssl/aes.h | 149 + .../node/openssl/archs/BSD-x86/opensslconf.h | 270 + .../openssl/archs/BSD-x86_64/opensslconf.h | 270 + .../node/openssl/archs/VC-WIN32/opensslconf.h | 271 + .../openssl/archs/VC-WIN64A/opensslconf.h | 271 + .../node/openssl/archs/aix-gcc/opensslconf.h | 273 + .../openssl/archs/aix64-gcc/opensslconf.h | 273 + .../archs/darwin-i386-cc/opensslconf.h | 273 + .../archs/darwin64-x86_64-cc/opensslconf.h | 273 + .../openssl/archs/linux-aarch64/opensslconf.h | 270 + .../openssl/archs/linux-armv4/opensslconf.h | 270 + .../openssl/archs/linux-elf/opensslconf.h | 270 + .../openssl/archs/linux-ppc/opensslconf.h | 270 + .../openssl/archs/linux-ppc64/opensslconf.h | 270 + .../openssl/archs/linux-x32/opensslconf.h | 270 + .../openssl/archs/linux-x86_64/opensslconf.h | 270 + .../openssl/archs/linux32-s390x/opensslconf.h | 270 + .../openssl/archs/linux64-s390x/opensslconf.h | 270 + .../archs/solaris-x86-gcc/opensslconf.h | 270 + .../archs/solaris64-x86_64-gcc/opensslconf.h | 270 + android/libnode/include/node/openssl/asn1.h | 1419 +++ .../libnode/include/node/openssl/asn1_mac.h | 579 + android/libnode/include/node/openssl/asn1t.h | 973 ++ android/libnode/include/node/openssl/bio.h | 883 ++ .../libnode/include/node/openssl/blowfish.h | 130 + android/libnode/include/node/openssl/bn.h | 951 ++ android/libnode/include/node/openssl/buffer.h | 125 + .../libnode/include/node/openssl/camellia.h | 132 + android/libnode/include/node/openssl/cast.h | 107 + android/libnode/include/node/openssl/cmac.h | 82 + android/libnode/include/node/openssl/cms.h | 555 + android/libnode/include/node/openssl/comp.h | 83 + android/libnode/include/node/openssl/conf.h | 268 + .../libnode/include/node/openssl/conf_api.h | 89 + android/libnode/include/node/openssl/crypto.h | 661 + android/libnode/include/node/openssl/des.h | 257 + .../libnode/include/node/openssl/des_old.h | 497 + android/libnode/include/node/openssl/dh.h | 410 + android/libnode/include/node/openssl/dsa.h | 332 + android/libnode/include/node/openssl/dso.h | 451 + android/libnode/include/node/openssl/dtls1.h | 272 + android/libnode/include/node/openssl/e_os2.h | 328 + android/libnode/include/node/openssl/ebcdic.h | 26 + android/libnode/include/node/openssl/ec.h | 1282 ++ android/libnode/include/node/openssl/ecdh.h | 134 + android/libnode/include/node/openssl/ecdsa.h | 335 + android/libnode/include/node/openssl/engine.h | 960 ++ android/libnode/include/node/openssl/err.h | 390 + android/libnode/include/node/openssl/evp.h | 1536 +++ android/libnode/include/node/openssl/hmac.h | 109 + android/libnode/include/node/openssl/idea.h | 105 + .../libnode/include/node/openssl/krb5_asn.h | 240 + android/libnode/include/node/openssl/kssl.h | 197 + android/libnode/include/node/openssl/lhash.h | 240 + android/libnode/include/node/openssl/md4.h | 119 + android/libnode/include/node/openssl/md5.h | 119 + android/libnode/include/node/openssl/mdc2.h | 94 + android/libnode/include/node/openssl/modes.h | 163 + .../libnode/include/node/openssl/obj_mac.h | 4194 +++++++ .../libnode/include/node/openssl/objects.h | 1143 ++ android/libnode/include/node/openssl/ocsp.h | 637 + .../include/node/openssl/opensslconf.h | 146 + .../libnode/include/node/openssl/opensslv.h | 97 + .../libnode/include/node/openssl/ossl_typ.h | 213 + android/libnode/include/node/openssl/pem.h | 617 + android/libnode/include/node/openssl/pem2.h | 70 + android/libnode/include/node/openssl/pkcs12.h | 342 + android/libnode/include/node/openssl/pkcs7.h | 481 + android/libnode/include/node/openssl/pqueue.h | 99 + android/libnode/include/node/openssl/rand.h | 150 + android/libnode/include/node/openssl/rc2.h | 103 + android/libnode/include/node/openssl/rc4.h | 88 + android/libnode/include/node/openssl/ripemd.h | 105 + android/libnode/include/node/openssl/rsa.h | 664 + .../libnode/include/node/openssl/safestack.h | 2672 ++++ android/libnode/include/node/openssl/seed.h | 149 + android/libnode/include/node/openssl/sha.h | 214 + android/libnode/include/node/openssl/srp.h | 179 + android/libnode/include/node/openssl/srtp.h | 147 + android/libnode/include/node/openssl/ssl.h | 3163 +++++ android/libnode/include/node/openssl/ssl2.h | 265 + android/libnode/include/node/openssl/ssl23.h | 84 + android/libnode/include/node/openssl/ssl3.h | 774 ++ android/libnode/include/node/openssl/stack.h | 107 + .../libnode/include/node/openssl/symhacks.h | 516 + android/libnode/include/node/openssl/tls1.h | 810 ++ android/libnode/include/node/openssl/ts.h | 865 ++ android/libnode/include/node/openssl/txt_db.h | 112 + android/libnode/include/node/openssl/ui.h | 415 + .../libnode/include/node/openssl/ui_compat.h | 88 + .../libnode/include/node/openssl/whrlpool.h | 41 + android/libnode/include/node/openssl/x509.h | 1330 ++ .../libnode/include/node/openssl/x509_vfy.h | 652 + android/libnode/include/node/openssl/x509v3.h | 1055 ++ .../libnode/include/node/pthread-barrier.h | 68 + .../libnode/include/node/stdint-msvc2008.h | 247 + android/libnode/include/node/tree.h | 768 ++ android/libnode/include/node/uv-aix.h | 32 + android/libnode/include/node/uv-bsd.h | 34 + android/libnode/include/node/uv-darwin.h | 61 + android/libnode/include/node/uv-errno.h | 419 + android/libnode/include/node/uv-linux.h | 34 + android/libnode/include/node/uv-os390.h | 30 + android/libnode/include/node/uv-posix.h | 31 + android/libnode/include/node/uv-sunos.h | 44 + android/libnode/include/node/uv-threadpool.h | 37 + android/libnode/include/node/uv-unix.h | 368 + android/libnode/include/node/uv-version.h | 43 + android/libnode/include/node/uv-win.h | 650 + android/libnode/include/node/uv.h | 1508 +++ android/libnode/include/node/v8-debug.h | 255 + .../include/node/v8-inspector-protocol.h | 13 + android/libnode/include/node/v8-inspector.h | 267 + android/libnode/include/node/v8-platform.h | 227 + android/libnode/include/node/v8-profiler.h | 912 ++ android/libnode/include/node/v8-testing.h | 48 + android/libnode/include/node/v8-util.h | 655 + .../node/v8-value-serializer-version.h | 24 + .../libnode/include/node/v8-version-string.h | 33 + android/libnode/include/node/v8-version.h | 20 + android/libnode/include/node/v8.h | 10159 ++++++++++++++++ android/libnode/include/node/v8config.h | 428 + android/libnode/include/node/zconf.h | 534 + android/libnode/include/node/zlib.h | 1912 +++ android/src/main/AndroidManifest.xml | 6 + android/src/main/cpp/native-lib.cpp | 98 + android/src/main/cpp/rn-bridge.cpp | 260 + android/src/main/cpp/rn-bridge.h | 8 + .../RNNodeJsMobileModule.java | 224 + .../RNNodeJsMobilePackage.java | 28 + index.js | 32 + .../nodejs-project/sample-main.js | 12 + .../nodejs-project/sample-package.json | 12 + .../builtin_modules/rn-bridge/index.js | 16 + .../builtin_modules/rn-bridge/package.json | 11 + ios/NodeRunner.hpp | 18 + ios/NodeRunner.mm | 117 + ios/RNNodeJsMobile.h | 7 + ios/RNNodeJsMobile.m | 100 + ios/RNNodeJsMobile.xcodeproj/project.pbxproj | 301 + .../contents.xcworkspacedata | 9 + ios/libnode.framework/Headers/libnode.h | 9 + ios/libnode.framework/Headers/node.hpp | 10 + ios/libnode.framework/Info.plist | Bin 0 -> 875 bytes .../Modules/module.modulemap | 6 + ios/libnode.framework/libnode | Bin 0 -> 16976900 bytes ios/libnode/include/node/android-ifaddrs.h | 54 + ios/libnode/include/node/common.gypi | 425 + ios/libnode/include/node/config.gypi | 63 + .../node/libplatform/libplatform-export.h | 29 + .../include/node/libplatform/libplatform.h | 78 + .../include/node/libplatform/v8-tracing.h | 270 + ios/libnode/include/node/node.h | 735 ++ ios/libnode/include/node/node_api.h | 545 + ios/libnode/include/node/node_api_types.h | 112 + ios/libnode/include/node/node_buffer.h | 89 + ios/libnode/include/node/node_object_wrap.h | 132 + ios/libnode/include/node/node_version.h | 82 + ios/libnode/include/node/openssl/aes.h | 149 + .../node/openssl/archs/BSD-x86/opensslconf.h | 270 + .../openssl/archs/BSD-x86_64/opensslconf.h | 270 + .../node/openssl/archs/VC-WIN32/opensslconf.h | 271 + .../openssl/archs/VC-WIN64A/opensslconf.h | 271 + .../node/openssl/archs/aix-gcc/opensslconf.h | 273 + .../openssl/archs/aix64-gcc/opensslconf.h | 273 + .../archs/darwin-i386-cc/opensslconf.h | 273 + .../archs/darwin64-x86_64-cc/opensslconf.h | 273 + .../openssl/archs/linux-aarch64/opensslconf.h | 270 + .../openssl/archs/linux-armv4/opensslconf.h | 270 + .../openssl/archs/linux-elf/opensslconf.h | 270 + .../openssl/archs/linux-ppc/opensslconf.h | 270 + .../openssl/archs/linux-ppc64/opensslconf.h | 270 + .../openssl/archs/linux-x32/opensslconf.h | 270 + .../openssl/archs/linux-x86_64/opensslconf.h | 270 + .../openssl/archs/linux32-s390x/opensslconf.h | 270 + .../openssl/archs/linux64-s390x/opensslconf.h | 270 + .../archs/solaris-x86-gcc/opensslconf.h | 270 + .../archs/solaris64-x86_64-gcc/opensslconf.h | 270 + ios/libnode/include/node/openssl/asn1.h | 1419 +++ ios/libnode/include/node/openssl/asn1_mac.h | 579 + ios/libnode/include/node/openssl/asn1t.h | 973 ++ ios/libnode/include/node/openssl/bio.h | 883 ++ ios/libnode/include/node/openssl/blowfish.h | 130 + ios/libnode/include/node/openssl/bn.h | 951 ++ ios/libnode/include/node/openssl/buffer.h | 125 + ios/libnode/include/node/openssl/camellia.h | 132 + ios/libnode/include/node/openssl/cast.h | 107 + ios/libnode/include/node/openssl/cmac.h | 82 + ios/libnode/include/node/openssl/cms.h | 555 + ios/libnode/include/node/openssl/comp.h | 83 + ios/libnode/include/node/openssl/conf.h | 268 + ios/libnode/include/node/openssl/conf_api.h | 89 + ios/libnode/include/node/openssl/crypto.h | 661 + ios/libnode/include/node/openssl/des.h | 257 + ios/libnode/include/node/openssl/des_old.h | 497 + ios/libnode/include/node/openssl/dh.h | 410 + ios/libnode/include/node/openssl/dsa.h | 332 + ios/libnode/include/node/openssl/dso.h | 451 + ios/libnode/include/node/openssl/dtls1.h | 272 + ios/libnode/include/node/openssl/e_os2.h | 328 + ios/libnode/include/node/openssl/ebcdic.h | 26 + ios/libnode/include/node/openssl/ec.h | 1282 ++ ios/libnode/include/node/openssl/ecdh.h | 134 + ios/libnode/include/node/openssl/ecdsa.h | 335 + ios/libnode/include/node/openssl/engine.h | 960 ++ ios/libnode/include/node/openssl/err.h | 390 + ios/libnode/include/node/openssl/evp.h | 1536 +++ ios/libnode/include/node/openssl/hmac.h | 109 + ios/libnode/include/node/openssl/idea.h | 105 + ios/libnode/include/node/openssl/krb5_asn.h | 240 + ios/libnode/include/node/openssl/kssl.h | 197 + ios/libnode/include/node/openssl/lhash.h | 240 + ios/libnode/include/node/openssl/md4.h | 119 + ios/libnode/include/node/openssl/md5.h | 119 + ios/libnode/include/node/openssl/mdc2.h | 94 + ios/libnode/include/node/openssl/modes.h | 163 + ios/libnode/include/node/openssl/obj_mac.h | 4194 +++++++ ios/libnode/include/node/openssl/objects.h | 1143 ++ ios/libnode/include/node/openssl/ocsp.h | 637 + .../include/node/openssl/opensslconf.h | 146 + ios/libnode/include/node/openssl/opensslv.h | 97 + ios/libnode/include/node/openssl/ossl_typ.h | 213 + ios/libnode/include/node/openssl/pem.h | 617 + ios/libnode/include/node/openssl/pem2.h | 70 + ios/libnode/include/node/openssl/pkcs12.h | 342 + ios/libnode/include/node/openssl/pkcs7.h | 481 + ios/libnode/include/node/openssl/pqueue.h | 99 + ios/libnode/include/node/openssl/rand.h | 150 + ios/libnode/include/node/openssl/rc2.h | 103 + ios/libnode/include/node/openssl/rc4.h | 88 + ios/libnode/include/node/openssl/ripemd.h | 105 + ios/libnode/include/node/openssl/rsa.h | 664 + ios/libnode/include/node/openssl/safestack.h | 2672 ++++ ios/libnode/include/node/openssl/seed.h | 149 + ios/libnode/include/node/openssl/sha.h | 214 + ios/libnode/include/node/openssl/srp.h | 179 + ios/libnode/include/node/openssl/srtp.h | 147 + ios/libnode/include/node/openssl/ssl.h | 3163 +++++ ios/libnode/include/node/openssl/ssl2.h | 265 + ios/libnode/include/node/openssl/ssl23.h | 84 + ios/libnode/include/node/openssl/ssl3.h | 774 ++ ios/libnode/include/node/openssl/stack.h | 107 + ios/libnode/include/node/openssl/symhacks.h | 516 + ios/libnode/include/node/openssl/tls1.h | 810 ++ ios/libnode/include/node/openssl/ts.h | 865 ++ ios/libnode/include/node/openssl/txt_db.h | 112 + ios/libnode/include/node/openssl/ui.h | 415 + ios/libnode/include/node/openssl/ui_compat.h | 88 + ios/libnode/include/node/openssl/whrlpool.h | 41 + ios/libnode/include/node/openssl/x509.h | 1330 ++ ios/libnode/include/node/openssl/x509_vfy.h | 652 + ios/libnode/include/node/openssl/x509v3.h | 1055 ++ ios/libnode/include/node/pthread-barrier.h | 68 + ios/libnode/include/node/stdint-msvc2008.h | 247 + ios/libnode/include/node/tree.h | 768 ++ ios/libnode/include/node/uv-aix.h | 32 + ios/libnode/include/node/uv-bsd.h | 34 + ios/libnode/include/node/uv-darwin.h | 61 + ios/libnode/include/node/uv-errno.h | 419 + ios/libnode/include/node/uv-linux.h | 34 + ios/libnode/include/node/uv-os390.h | 30 + ios/libnode/include/node/uv-posix.h | 31 + ios/libnode/include/node/uv-sunos.h | 44 + ios/libnode/include/node/uv-threadpool.h | 37 + ios/libnode/include/node/uv-unix.h | 368 + ios/libnode/include/node/uv-version.h | 43 + ios/libnode/include/node/uv-win.h | 650 + ios/libnode/include/node/uv.h | 1508 +++ ios/libnode/include/node/v8-debug.h | 255 + .../include/node/v8-inspector-protocol.h | 13 + ios/libnode/include/node/v8-inspector.h | 267 + ios/libnode/include/node/v8-platform.h | 227 + ios/libnode/include/node/v8-profiler.h | 912 ++ ios/libnode/include/node/v8-testing.h | 48 + ios/libnode/include/node/v8-util.h | 655 + .../node/v8-value-serializer-version.h | 24 + ios/libnode/include/node/v8-version-string.h | 33 + ios/libnode/include/node/v8-version.h | 20 + ios/libnode/include/node/v8.h | 10159 ++++++++++++++++ ios/libnode/include/node/v8config.h | 428 + ios/libnode/include/node/zconf.h | 534 + ios/libnode/include/node/zlib.h | 1912 +++ ios/rn-bridge.cpp | 260 + ios/rn-bridge.h | 8 + package.json | 31 + scripts/create-node-structure.js | 80 + scripts/module-postlink.js | 135 + 308 files changed, 134442 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 android/CMakeLists.txt create mode 100644 android/build.gradle create mode 100644 android/libnode/bin/armeabi-v7a/copy-armv7a-libnode.so-here create mode 100755 android/libnode/bin/armeabi-v7a/libnode.so create mode 100644 android/libnode/bin/x86/copy-x86-libnode.so-here create mode 100755 android/libnode/bin/x86/libnode.so create mode 100644 android/libnode/include/node/android-ifaddrs.h create mode 100644 android/libnode/include/node/common.gypi create mode 100644 android/libnode/include/node/config.gypi create mode 100644 android/libnode/include/node/libplatform/libplatform-export.h create mode 100644 android/libnode/include/node/libplatform/libplatform.h create mode 100644 android/libnode/include/node/libplatform/v8-tracing.h create mode 100644 android/libnode/include/node/node.h create mode 100644 android/libnode/include/node/node_api.h create mode 100644 android/libnode/include/node/node_api_types.h create mode 100644 android/libnode/include/node/node_buffer.h create mode 100644 android/libnode/include/node/node_object_wrap.h create mode 100644 android/libnode/include/node/node_version.h create mode 100644 android/libnode/include/node/openssl/aes.h create mode 100644 android/libnode/include/node/openssl/archs/BSD-x86/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/BSD-x86_64/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/VC-WIN32/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/VC-WIN64A/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/aix-gcc/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/aix64-gcc/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/darwin-i386-cc/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/darwin64-x86_64-cc/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux-aarch64/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux-armv4/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux-elf/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux-ppc/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux-ppc64/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux-x32/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux-x86_64/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux32-s390x/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/linux64-s390x/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/solaris-x86-gcc/opensslconf.h create mode 100644 android/libnode/include/node/openssl/archs/solaris64-x86_64-gcc/opensslconf.h create mode 100644 android/libnode/include/node/openssl/asn1.h create mode 100644 android/libnode/include/node/openssl/asn1_mac.h create mode 100644 android/libnode/include/node/openssl/asn1t.h create mode 100644 android/libnode/include/node/openssl/bio.h create mode 100644 android/libnode/include/node/openssl/blowfish.h create mode 100644 android/libnode/include/node/openssl/bn.h create mode 100644 android/libnode/include/node/openssl/buffer.h create mode 100644 android/libnode/include/node/openssl/camellia.h create mode 100644 android/libnode/include/node/openssl/cast.h create mode 100644 android/libnode/include/node/openssl/cmac.h create mode 100644 android/libnode/include/node/openssl/cms.h create mode 100644 android/libnode/include/node/openssl/comp.h create mode 100644 android/libnode/include/node/openssl/conf.h create mode 100644 android/libnode/include/node/openssl/conf_api.h create mode 100644 android/libnode/include/node/openssl/crypto.h create mode 100644 android/libnode/include/node/openssl/des.h create mode 100644 android/libnode/include/node/openssl/des_old.h create mode 100644 android/libnode/include/node/openssl/dh.h create mode 100644 android/libnode/include/node/openssl/dsa.h create mode 100644 android/libnode/include/node/openssl/dso.h create mode 100644 android/libnode/include/node/openssl/dtls1.h create mode 100644 android/libnode/include/node/openssl/e_os2.h create mode 100644 android/libnode/include/node/openssl/ebcdic.h create mode 100644 android/libnode/include/node/openssl/ec.h create mode 100644 android/libnode/include/node/openssl/ecdh.h create mode 100644 android/libnode/include/node/openssl/ecdsa.h create mode 100644 android/libnode/include/node/openssl/engine.h create mode 100644 android/libnode/include/node/openssl/err.h create mode 100644 android/libnode/include/node/openssl/evp.h create mode 100644 android/libnode/include/node/openssl/hmac.h create mode 100644 android/libnode/include/node/openssl/idea.h create mode 100644 android/libnode/include/node/openssl/krb5_asn.h create mode 100644 android/libnode/include/node/openssl/kssl.h create mode 100644 android/libnode/include/node/openssl/lhash.h create mode 100644 android/libnode/include/node/openssl/md4.h create mode 100644 android/libnode/include/node/openssl/md5.h create mode 100644 android/libnode/include/node/openssl/mdc2.h create mode 100644 android/libnode/include/node/openssl/modes.h create mode 100644 android/libnode/include/node/openssl/obj_mac.h create mode 100644 android/libnode/include/node/openssl/objects.h create mode 100644 android/libnode/include/node/openssl/ocsp.h create mode 100644 android/libnode/include/node/openssl/opensslconf.h create mode 100644 android/libnode/include/node/openssl/opensslv.h create mode 100644 android/libnode/include/node/openssl/ossl_typ.h create mode 100644 android/libnode/include/node/openssl/pem.h create mode 100644 android/libnode/include/node/openssl/pem2.h create mode 100644 android/libnode/include/node/openssl/pkcs12.h create mode 100644 android/libnode/include/node/openssl/pkcs7.h create mode 100644 android/libnode/include/node/openssl/pqueue.h create mode 100644 android/libnode/include/node/openssl/rand.h create mode 100644 android/libnode/include/node/openssl/rc2.h create mode 100644 android/libnode/include/node/openssl/rc4.h create mode 100644 android/libnode/include/node/openssl/ripemd.h create mode 100644 android/libnode/include/node/openssl/rsa.h create mode 100644 android/libnode/include/node/openssl/safestack.h create mode 100644 android/libnode/include/node/openssl/seed.h create mode 100644 android/libnode/include/node/openssl/sha.h create mode 100644 android/libnode/include/node/openssl/srp.h create mode 100644 android/libnode/include/node/openssl/srtp.h create mode 100644 android/libnode/include/node/openssl/ssl.h create mode 100644 android/libnode/include/node/openssl/ssl2.h create mode 100644 android/libnode/include/node/openssl/ssl23.h create mode 100644 android/libnode/include/node/openssl/ssl3.h create mode 100644 android/libnode/include/node/openssl/stack.h create mode 100644 android/libnode/include/node/openssl/symhacks.h create mode 100644 android/libnode/include/node/openssl/tls1.h create mode 100644 android/libnode/include/node/openssl/ts.h create mode 100644 android/libnode/include/node/openssl/txt_db.h create mode 100644 android/libnode/include/node/openssl/ui.h create mode 100644 android/libnode/include/node/openssl/ui_compat.h create mode 100644 android/libnode/include/node/openssl/whrlpool.h create mode 100644 android/libnode/include/node/openssl/x509.h create mode 100644 android/libnode/include/node/openssl/x509_vfy.h create mode 100644 android/libnode/include/node/openssl/x509v3.h create mode 100644 android/libnode/include/node/pthread-barrier.h create mode 100644 android/libnode/include/node/stdint-msvc2008.h create mode 100644 android/libnode/include/node/tree.h create mode 100644 android/libnode/include/node/uv-aix.h create mode 100644 android/libnode/include/node/uv-bsd.h create mode 100644 android/libnode/include/node/uv-darwin.h create mode 100644 android/libnode/include/node/uv-errno.h create mode 100644 android/libnode/include/node/uv-linux.h create mode 100644 android/libnode/include/node/uv-os390.h create mode 100644 android/libnode/include/node/uv-posix.h create mode 100644 android/libnode/include/node/uv-sunos.h create mode 100644 android/libnode/include/node/uv-threadpool.h create mode 100644 android/libnode/include/node/uv-unix.h create mode 100644 android/libnode/include/node/uv-version.h create mode 100644 android/libnode/include/node/uv-win.h create mode 100644 android/libnode/include/node/uv.h create mode 100644 android/libnode/include/node/v8-debug.h create mode 100644 android/libnode/include/node/v8-inspector-protocol.h create mode 100644 android/libnode/include/node/v8-inspector.h create mode 100644 android/libnode/include/node/v8-platform.h create mode 100644 android/libnode/include/node/v8-profiler.h create mode 100644 android/libnode/include/node/v8-testing.h create mode 100644 android/libnode/include/node/v8-util.h create mode 100644 android/libnode/include/node/v8-value-serializer-version.h create mode 100644 android/libnode/include/node/v8-version-string.h create mode 100644 android/libnode/include/node/v8-version.h create mode 100644 android/libnode/include/node/v8.h create mode 100644 android/libnode/include/node/v8config.h create mode 100644 android/libnode/include/node/zconf.h create mode 100644 android/libnode/include/node/zlib.h create mode 100644 android/src/main/AndroidManifest.xml create mode 100644 android/src/main/cpp/native-lib.cpp create mode 100644 android/src/main/cpp/rn-bridge.cpp create mode 100644 android/src/main/cpp/rn-bridge.h create mode 100644 android/src/main/java/com/janeasystems/rn_nodejs_mobile/RNNodeJsMobileModule.java create mode 100644 android/src/main/java/com/janeasystems/rn_nodejs_mobile/RNNodeJsMobilePackage.java create mode 100644 index.js create mode 100644 install/resources/nodejs-assets/nodejs-project/sample-main.js create mode 100644 install/resources/nodejs-assets/nodejs-project/sample-package.json create mode 100644 install/resources/nodejs-modules/builtin_modules/rn-bridge/index.js create mode 100644 install/resources/nodejs-modules/builtin_modules/rn-bridge/package.json create mode 100644 ios/NodeRunner.hpp create mode 100644 ios/NodeRunner.mm create mode 100644 ios/RNNodeJsMobile.h create mode 100644 ios/RNNodeJsMobile.m create mode 100644 ios/RNNodeJsMobile.xcodeproj/project.pbxproj create mode 100644 ios/RNNodeJsMobile.xcworkspace/contents.xcworkspacedata create mode 100644 ios/libnode.framework/Headers/libnode.h create mode 100644 ios/libnode.framework/Headers/node.hpp create mode 100644 ios/libnode.framework/Info.plist create mode 100644 ios/libnode.framework/Modules/module.modulemap create mode 100755 ios/libnode.framework/libnode create mode 100644 ios/libnode/include/node/android-ifaddrs.h create mode 100644 ios/libnode/include/node/common.gypi create mode 100644 ios/libnode/include/node/config.gypi create mode 100644 ios/libnode/include/node/libplatform/libplatform-export.h create mode 100644 ios/libnode/include/node/libplatform/libplatform.h create mode 100644 ios/libnode/include/node/libplatform/v8-tracing.h create mode 100644 ios/libnode/include/node/node.h create mode 100644 ios/libnode/include/node/node_api.h create mode 100644 ios/libnode/include/node/node_api_types.h create mode 100644 ios/libnode/include/node/node_buffer.h create mode 100644 ios/libnode/include/node/node_object_wrap.h create mode 100644 ios/libnode/include/node/node_version.h create mode 100644 ios/libnode/include/node/openssl/aes.h create mode 100644 ios/libnode/include/node/openssl/archs/BSD-x86/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/BSD-x86_64/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/VC-WIN32/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/VC-WIN64A/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/aix-gcc/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/aix64-gcc/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/darwin-i386-cc/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/darwin64-x86_64-cc/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux-aarch64/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux-armv4/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux-elf/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux-ppc/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux-ppc64/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux-x32/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux-x86_64/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux32-s390x/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/linux64-s390x/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/solaris-x86-gcc/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/archs/solaris64-x86_64-gcc/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/asn1.h create mode 100644 ios/libnode/include/node/openssl/asn1_mac.h create mode 100644 ios/libnode/include/node/openssl/asn1t.h create mode 100644 ios/libnode/include/node/openssl/bio.h create mode 100644 ios/libnode/include/node/openssl/blowfish.h create mode 100644 ios/libnode/include/node/openssl/bn.h create mode 100644 ios/libnode/include/node/openssl/buffer.h create mode 100644 ios/libnode/include/node/openssl/camellia.h create mode 100644 ios/libnode/include/node/openssl/cast.h create mode 100644 ios/libnode/include/node/openssl/cmac.h create mode 100644 ios/libnode/include/node/openssl/cms.h create mode 100644 ios/libnode/include/node/openssl/comp.h create mode 100644 ios/libnode/include/node/openssl/conf.h create mode 100644 ios/libnode/include/node/openssl/conf_api.h create mode 100644 ios/libnode/include/node/openssl/crypto.h create mode 100644 ios/libnode/include/node/openssl/des.h create mode 100644 ios/libnode/include/node/openssl/des_old.h create mode 100644 ios/libnode/include/node/openssl/dh.h create mode 100644 ios/libnode/include/node/openssl/dsa.h create mode 100644 ios/libnode/include/node/openssl/dso.h create mode 100644 ios/libnode/include/node/openssl/dtls1.h create mode 100644 ios/libnode/include/node/openssl/e_os2.h create mode 100644 ios/libnode/include/node/openssl/ebcdic.h create mode 100644 ios/libnode/include/node/openssl/ec.h create mode 100644 ios/libnode/include/node/openssl/ecdh.h create mode 100644 ios/libnode/include/node/openssl/ecdsa.h create mode 100644 ios/libnode/include/node/openssl/engine.h create mode 100644 ios/libnode/include/node/openssl/err.h create mode 100644 ios/libnode/include/node/openssl/evp.h create mode 100644 ios/libnode/include/node/openssl/hmac.h create mode 100644 ios/libnode/include/node/openssl/idea.h create mode 100644 ios/libnode/include/node/openssl/krb5_asn.h create mode 100644 ios/libnode/include/node/openssl/kssl.h create mode 100644 ios/libnode/include/node/openssl/lhash.h create mode 100644 ios/libnode/include/node/openssl/md4.h create mode 100644 ios/libnode/include/node/openssl/md5.h create mode 100644 ios/libnode/include/node/openssl/mdc2.h create mode 100644 ios/libnode/include/node/openssl/modes.h create mode 100644 ios/libnode/include/node/openssl/obj_mac.h create mode 100644 ios/libnode/include/node/openssl/objects.h create mode 100644 ios/libnode/include/node/openssl/ocsp.h create mode 100644 ios/libnode/include/node/openssl/opensslconf.h create mode 100644 ios/libnode/include/node/openssl/opensslv.h create mode 100644 ios/libnode/include/node/openssl/ossl_typ.h create mode 100644 ios/libnode/include/node/openssl/pem.h create mode 100644 ios/libnode/include/node/openssl/pem2.h create mode 100644 ios/libnode/include/node/openssl/pkcs12.h create mode 100644 ios/libnode/include/node/openssl/pkcs7.h create mode 100644 ios/libnode/include/node/openssl/pqueue.h create mode 100644 ios/libnode/include/node/openssl/rand.h create mode 100644 ios/libnode/include/node/openssl/rc2.h create mode 100644 ios/libnode/include/node/openssl/rc4.h create mode 100644 ios/libnode/include/node/openssl/ripemd.h create mode 100644 ios/libnode/include/node/openssl/rsa.h create mode 100644 ios/libnode/include/node/openssl/safestack.h create mode 100644 ios/libnode/include/node/openssl/seed.h create mode 100644 ios/libnode/include/node/openssl/sha.h create mode 100644 ios/libnode/include/node/openssl/srp.h create mode 100644 ios/libnode/include/node/openssl/srtp.h create mode 100644 ios/libnode/include/node/openssl/ssl.h create mode 100644 ios/libnode/include/node/openssl/ssl2.h create mode 100644 ios/libnode/include/node/openssl/ssl23.h create mode 100644 ios/libnode/include/node/openssl/ssl3.h create mode 100644 ios/libnode/include/node/openssl/stack.h create mode 100644 ios/libnode/include/node/openssl/symhacks.h create mode 100644 ios/libnode/include/node/openssl/tls1.h create mode 100644 ios/libnode/include/node/openssl/ts.h create mode 100644 ios/libnode/include/node/openssl/txt_db.h create mode 100644 ios/libnode/include/node/openssl/ui.h create mode 100644 ios/libnode/include/node/openssl/ui_compat.h create mode 100644 ios/libnode/include/node/openssl/whrlpool.h create mode 100644 ios/libnode/include/node/openssl/x509.h create mode 100644 ios/libnode/include/node/openssl/x509_vfy.h create mode 100644 ios/libnode/include/node/openssl/x509v3.h create mode 100644 ios/libnode/include/node/pthread-barrier.h create mode 100644 ios/libnode/include/node/stdint-msvc2008.h create mode 100644 ios/libnode/include/node/tree.h create mode 100644 ios/libnode/include/node/uv-aix.h create mode 100644 ios/libnode/include/node/uv-bsd.h create mode 100644 ios/libnode/include/node/uv-darwin.h create mode 100644 ios/libnode/include/node/uv-errno.h create mode 100644 ios/libnode/include/node/uv-linux.h create mode 100644 ios/libnode/include/node/uv-os390.h create mode 100644 ios/libnode/include/node/uv-posix.h create mode 100644 ios/libnode/include/node/uv-sunos.h create mode 100644 ios/libnode/include/node/uv-threadpool.h create mode 100644 ios/libnode/include/node/uv-unix.h create mode 100644 ios/libnode/include/node/uv-version.h create mode 100644 ios/libnode/include/node/uv-win.h create mode 100644 ios/libnode/include/node/uv.h create mode 100644 ios/libnode/include/node/v8-debug.h create mode 100644 ios/libnode/include/node/v8-inspector-protocol.h create mode 100644 ios/libnode/include/node/v8-inspector.h create mode 100644 ios/libnode/include/node/v8-platform.h create mode 100644 ios/libnode/include/node/v8-profiler.h create mode 100644 ios/libnode/include/node/v8-testing.h create mode 100644 ios/libnode/include/node/v8-util.h create mode 100644 ios/libnode/include/node/v8-value-serializer-version.h create mode 100644 ios/libnode/include/node/v8-version-string.h create mode 100644 ios/libnode/include/node/v8-version.h create mode 100644 ios/libnode/include/node/v8.h create mode 100644 ios/libnode/include/node/v8config.h create mode 100644 ios/libnode/include/node/zconf.h create mode 100644 ios/libnode/include/node/zlib.h create mode 100644 ios/rn-bridge.cpp create mode 100644 ios/rn-bridge.h create mode 100644 package.json create mode 100644 scripts/create-node-structure.js create mode 100644 scripts/module-postlink.js diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..eb39591 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.pbxproj -text \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9cadbfe --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ + +# OSX +# +.DS_Store + +# node.js +# +node_modules/ +npm-debug.log +yarn-error.log + + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace + + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml + +# BUCK +buck-out/ +\.buckd/ +*.keystore + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..54c73ff --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ + +# The Node.js for Mobile Apps React Native plugin + +## Installation + +`$ npm install nodejs-mobile-react-native --save` + +`$ react-native link nodejs-mobile-react-native` + +### iOS + +As currently only `arm64` binaries are available, you need a physical device to run the project, so you'll also have to sign the project. + +### Android + +You may need to open your app's `/android` folder in `Android Studio`, so that it detects, downloads and cofigures requirements that might be missing, like the `NDK` and `CMake` to build the native code part of the project. + +## Usage + +### `Node.js` project + +When `nodejs-mobile-react-native` was installed through npm, it created a `nodejs-assets/nodejs-project/` path inside your application. This path will be packaged with your application and the background project will be started using the `main.js` file inside. It contains a `sample-main.js` and `sample-package.json` files under `nodejs-assets/nodejs-project/`. + +The `sample-main.js` and `sample-package.json` files contain a sample echo project. We advise to rename `sample-main.js` to `main.js` and `sample-package.json` to `package.json` to get you started easily. + +> Attention: The `sample-main.js` and `sample-package.json` will be overwritten with installs/updates of `nodejs-mobile-react-native`. + +The sample `main.js` contents: +```js +var rn_bridge = require('rn-bridge'); + +// Echo every message received from react-native. +rn_bridge.channel.on('message', (msg) => { + rn_bridge.channel.send(msg); +} ); + +// Inform react-native node is initialized. +rn_bridge.channel.send("Node was initialized."); +``` + +> The Node.js runtime accesses files through Unix-based pathnames, so in Android the node project is copied from the project's apk assets into the default application data folder at startup. In the future, we hope to provide the mechanisms so Node.js can access the files inside the apk. + +### `React-Native` application + +To communicate with Node.js from your `react-native` application, first import `nodejs-mobile-react-native`. + +```js +import nodejs from 'nodejs-mobile-react-native'; +``` + +Then add this to your Application's main component's `componentWillMount` lifecycle event: +```js + componentWillMount() + { + nodejs.start(); + nodejs.channel.addListener( + "message", + (msg) => { + alert("From node: " + msg); + }, + this + ); + } +``` + +This will tell the native code to start a dedicated thread running Node.js starting at the `main.js` file in `nodejs-assets/nodejs-project/`, as described above. It will then register a listener to show alert boxes with each message sent from Node.js. + +> Attention: The Node.js project runs on a dedicated thread and as a singleton, so only the first `nodejs.start()` command will make any effect, as further calls will not start new threads. This means that if you use `react-native`'s hotreload functionality you won't see any changes in the Node.js project. + +We can then define a button in our interface to send messages to our Node.js project: + +```js +