Coder Social home page Coder Social logo

flexn-io / renative Goto Github PK

View Code? Open in Web Editor NEW
1.8K 51.0 181.0 237.24 MB

πŸš€πŸš€πŸš€ Unified Development Platform for iOS, tvOS, Android, Android TV, Android Wear, Web, Tizen TV, Tizen Watch, Tizen Mobile, LG webOS, macOS/OSX, Windows, KaiOS, FirefoxOS Firefox TV platforms

Home Page: https://renative.org

License: MIT License

JavaScript 10.17% Ruby 1.00% Swift 0.11% HTML 1.40% C 0.07% Dockerfile 0.10% Shell 0.01% PowerShell 1.51% Objective-C 0.68% C++ 1.07% TypeScript 80.89% Objective-C++ 0.12% Kotlin 1.05% Java 1.83%
starter-kit starter-project tizen android ios web tvos react android-tv webos

renative's Introduction

ReNative

Unified Development Platform

πŸ’»πŸ“±βŒšπŸ“ΊπŸ–₯️

ReNative allows you to bootstrap, develop and deploy apps for mobile, web, TVs, desktops, consoles, wearables and more via single development environment.

Supports popular front-end frameworks like React, React Native, NextJS, Electron

Usage

To install the latest version of ReNative CLI run this command:

npm i -g rnv

To start new project, run following command:

rnv new

Getting Started

Visit here to get started with ReNative.

Documentation

Visit here to view full documentation.

Documentation source code can be found at https://github.com/flexn-io/renative-docs

Community

ReNative community can be found on Github Discussions.

Core Maintainers

Contributors

Thanks to all contributors [Contribute].

Backers

Thank you to all our backers! πŸ™ [Become a backer]

renative's People

Contributors

aurimasmi avatar changete avatar davidrielo avatar dependabot[bot] avatar doneitas avatar elenadiachenko avatar elmpp avatar eymaddis avatar himu243 avatar hosek avatar imokhles avatar jrsalazar-dev avatar juhazi avatar kasinskas avatar kompwu avatar locksten avatar lukutism avatar magician-margatroid avatar marius456 avatar maximilize avatar mihaiblaga89 avatar moni4a avatar pauliusguzas avatar pavjacko avatar rfestag avatar ricardasn avatar robertivanco avatar salik1992 avatar sanderlooijenga avatar theduc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

renative's Issues

ERRROR! ERROR: no app ID specified

Hey looks like a bunch of improvements have been being made (and may still be underway). This is awesome. However, i think there may be some documentation issues and instability. Here's what i found.

  1. I ran all the setup stuff including changing my config file in ~/.rnv and running the setup
  2. I got to the 3-panel terminal and ran in the first panel npm-start
  3. In the second panel i ran npx rnv target list or npm run tizen
    or npm run webos and i get RNV target - ERRROR! ERROR: no app ID specified.

Also the new code has a lot of unused variables and general cleanup missing. It seems like this is indeed a major upgrade and maybe is not quite stable yet. Can you keep me in the loop when you feel that this release is stable and has all your latest ideas solid? thanks!

Webpack config overriden by rnv run -p web

RNV: 0.19.3

Everytime I run rnv run -p web the webpack config is overriden.

Example:

  1. Open platformBuilds/YOUR_PROJECTExample_web/webpack.config.js
  2. Make any change
  3. Save
  4. run rnv run -p web
  5. platformBuilds/YOUR_PROJECTExample_web/webpack.config.js is overriden, and changes lost

Request: typescript

Hi

Have you ever considered migrating to typescript ? I encounter issues trying :).

Deploy Web

Hey -
I'm very new to RNV and have played with it for last couple of days - Really liking it, I have an app running on tvOS and would like to build it to web as well.
I am familiar on how to build Create React Apps for deployment, but how do you build and deploy a RNV web app?

Sorry if it a trivial or stupid question.

Thanks

Plugins added to native mobile devices only

Hello ,

I tried to add react-native-svg and use it on tvOS . it works fine on iPhone simulator , though on tvOS I had the "No component found for view with name 'RNSVGCircle'" error , which is typically an error for a non linked plugin.

Am I missing something in here ?

Screen Shot 2019-04-28 at 3 02 52 PM

UPDATE :

I ejected the platforms , added the pod manually to tvos pod file and it worked fine.

k is not defined installing plugins

Problem:
I get a k is not defined error when attempting to add a plugin.

Steps to reproduce:

  1. run yarn global add renative@latest
  2. run rnv app create
  3. I used "test" for name and picked ios and android as the targets
  4. cd test/ (the name of the app)
  5. run rnv plugin add
  6. I tried 20 and 22, both throw the error

Error:

Installing:
- react-native-svg v(9.4.0)

readline.js:1020
            throw err;
            ^

ReferenceError: k is not defined
    at /Users/n0148094/.config/yarn/global/node_modules/renative/rnv-cli/dist/cli/plugin.js:1:3554

Versions
Node: v8.12.0
rnv: 0.22.0-alpha.4

Question: fix:ios ?

Hi,
This looks like an amazing helper to kickstart a multi platform project πŸŽ‰

Could explain why is needed the fix:ios step in setup ?

Thank you πŸ€—

Tizen tv/watch access internet and cors

Please add those lines to tizen watch and tv in config.xml

<access origin="*" subdomains="true"></access> <tizen:privilege name="http://tizen.org/privilege/internet"/> <feature name="http://tizen.org/feature/network.internet"/>

Application crashes when trying to launch it on AndroidTV

image

05-09 15:47:14.089 15050 15050 E AndroidRuntime: FATAL EXCEPTION: main 05-09 15:47:14.089 15050 15050 E AndroidRuntime: Process: reactnativevanilla.helloworld.debug, PID: 15050 05-09 15:47:14.089 15050 15050 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{reactnativevanilla.helloworld.debug/reactnativevanilla.helloworld.debug.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2691) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2752) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.app.ActivityThread.-wrap12(ActivityThread.java) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1461) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6120) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.support.v7.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:555) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:518) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:457) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:145) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at com.facebook.react.ReactActivityDelegate.loadApp(ReactActivityDelegate.java:89) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at com.facebook.react.ReactActivityDelegate.onCreate(ReactActivityDelegate.java:75) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:52) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6664) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2644) 05-09 15:47:14.089 15050 15050 E AndroidRuntime: ... 9 more

RNV development kit

RNV itself is about CLI tools now, but what about to extending it with development kit?

For example, highly useful tools would be helpers to determine which platform we work on. We have src/api.js now, but it does not always work or only works in render() method because it's initialized during runtime and often the values are 'unknown'.

Thinking about creating a separate module to provide information about each platform might look like this:

import { IS_TIZEN, IS_MOBILE } from 'rnv-helpers';
{IS_TIZEN && 'Its tizen'}

or

import { Platform } from 'rnv-helpers';
{Platform('tizen') && 'Its tizen'}

So main question how to implement these into current RNV architecture?

  1. Create it as local npm package(file:./packages/rnvHelpers) and copy over it into the project when rnv create app is executed
  2. Publish it as separate npm package and include it into RNV dependencies with initial project setup

It's not only about these helpers mentioned above. I'm sure we will extend it with i.e. prepared multi platform navigation, focus management etc..

So what is your thoughts?

How to add dependencies

Hi,

How can I add a dependency to the project? For example I'm trying to add a video player or vector-icons and doesn't build anymore.

Is there any workflow to follow?

Failing to run ios

Failing to run npm run ios stack trace is posted below:

[email protected] ios /Users/apple/projects/react-native-vanilla
node ./utils/setup.js run_ios
Running iOS
Command react-native run-ios --project-path ios --simulator "iPhone 6" errored with Error: spawn react-native run-ios ENOENT
Command react-native run-ios --project-path ios --simulator "iPhone 6" exited with code -2, null
ios failed: process errored with Error: spawn react-native run-ios ENOENT
Killing child process react-native run-ios --project-path ios --simulator "iPhone 6"

The workaround I found at the moment is to run this command straight from cli in vanilla root dir:
react-native run-ios --project-path platforms/ios/ --simulator β€œiPhone 6”

Provide advanced boilerplate app example

would include:

  • Navigation
  • Drawer (for mobile)
  • Basic focus
  • Embedded fonts
  • vector icons

Platforms:

  • ios
  • android
  • web
  • tizen
  • webos
  • tvos
  • androidtv
  • androidwear
  • tizenwatch
  • macos
  • windows

'WebKit/WebKit.h' file not found

When I run the app over tvOS I face this error : 'WebKit/WebKit.h' file not found .
MacOS Mojave 10.14 .
Xcode Version 10.1 (10B61)
React version 16.5.1
ReactNative version 0.57.1

Any suggestions ? thanks

Add dependencies

hi great project!!!

I am a bit confused about adding project dependencies...

I would like to add for example react-native-google-cast
can I still use npm install and npm link ?

Or do i go about this another way ?

Gradle 4.10 & 3.3.0-alpha08

I tried to do the update myself but I can't get them to work.
I could help, but I need help...
It would also be necessary to go from jre to jdk since it is deprecated for kotlin.
If needed, I can open a PR with my current work.

Failed to install on Samsung Tizen

Hi, This is a great concept. I've just tried the framework today on Tizen TV, (the latest 5.0 SDK as of this month), when it tries to install on the "web simulator for TV" it just hangs during the install and never completes. I know this framework is evolving very fast so i'm sure it's hard to keep up. I'm really looking for a one-stop solution to develop across multiple TV platforms at the same time and this caught my eye. Thanks! (UPDATE: I previously was unable to install on webOS as well, but after clearing my emulator, this worked just fine!)

tvOS Build Broken

Xcode Version: 10.2.1
Node Version: v8.16.0
Renative Version: 0.23.0-alpha.16

$ npm install rnv@latest -g
$ rnv new
$ rnv new

----------------------------------------------------------
 πŸš€ ReNative new  is firing up! πŸ”₯
----------------------------------------------------------


ReNative new - initializeBuilder - Starting!

ReNative new - run - Starting!

ReNative new - _runCreate - Starting!

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
|                                                                                 |
|         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—         |
|         β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•         |
|         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—           |
|         β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•           |
|         β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—         |
|         β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•β•β•šβ•β•  β•šβ•β•   β•šβ•β•   β•šβ•β•  β•šβ•β•β•β•  β•šβ•β•β•β•β•β•β•         |
|             πŸš€πŸš€πŸš€ https://www.npmjs.com/package/renative πŸš€πŸš€πŸš€                |
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜


 ❓ What's your project Name? (no spaces, folder based on ID will be created in this directory): tvos-example

 ❓ What's your project Title? (press ENTER to use default: Hello Renative): tvOS Example

 ❓ What's your App ID? (press ENTER to use default: com.mycompany.tvos-example):

 ❓ What's your Version? (press ENTER to use default: 0.1.0):

 ❓ What template to use? (press ENTER to use default: renative-template-hello-world)
-[1] renative-template-hello-world
-[2] renative-template-blank
): 2

 ❓ What platforms would you like to use? (Add numbers separated by comma or leave blank for all)
-[1] ios
-[2] android
-[3] androidtv
-[4] androidwear
-[5] web
-[6] tizen
-[7] tvos
-[8] webos
-[9] macos
-[10] windows
-[11] tizenwatch
-[12] kaios
-[13] firefoxos
-[14] firefoxtv
: 7

 ❓ Is All Correct? (press ENTER for yes)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      πŸš€  ReNative Project Generator πŸš€                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
| Project Name (folder): tvos-example                                             |
| Project Title: tvOS Example                                                     |
| Project Version: 0.1.0                                                          |
| App ID: com.mycompany.tvos-example                                              |
| Project Template: renative-template-blank                                       |
| Project Platforms:                                                              |
| πŸ“Ί tvos,
| Project Strucutre:                                                              |
|                                                                                 |
| tvos-example                                                                    |
|   β”œβ”€β”€ appConfigs              # Application flavour configuration files/assets  |
|   β”‚   └── default             # Example application flavour                     |
|   β”‚       β”œβ”€β”€ assets          # Platform assets injected to ./platformAssets    |
|   β”‚       β”œβ”€β”€ builds          # Platform files injected to ./platformBuilds     |
|   β”‚       └── config.json     # Application flavour config                      |
|   β”œβ”€β”€ platformAssets          # Generated cross-platform assets                 |
|   β”œβ”€β”€ platformBuilds          # Generated platform app projects                 |
|   β”œβ”€β”€ projectConfigs          # Project configuration files/assets              |
|   β”‚   β”œβ”€β”€ fonts               # Folder for all custom fonts                     |
|   β”‚   β”œβ”€β”€ permissions.json    # Permissions configuration                       |
|   β”‚   └── plugins.json        # Multi-platform Plugins configuration            |
|   β”œβ”€β”€ src                     # Source files                                    |
|   β”œβ”€β”€ index.*.js              # Entry files                                     |
|   └── rnv-config.json         # ReNative project configuration                  |
|                                                                                 |
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

:

ReNative new - checkAndCreateProjectPackage:tvos-example - Starting!

ReNative new - WARNING: Looks like your package.json is missing. Let's create one for you!

ReNative new - checkAndCreateGitignore - Starting!

ReNative new - WARNING: Looks like your .gitignore is missing. Let's create one for you!

ReNative new - checkAndCreateProjectConfig - Starting!

ReNative new - WARNING: You're missing rnv-config.json file in your root project! Let's create one!

 βœ… Your project is ready! navigate to project cd tvos-example and run rnv run -p web to see magic happen!

 ReNative new - Done! πŸš€

----------------------------------------------------------

$ cd tvos-example/
$ rnv run -p tvos

Screen Shot 2019-06-07 at 8 40 05 PM

Issue with running android on Ubuntu 16

Running npm run androidon Linux Ubuntu 16.04 and got this error:

[email protected] android /var/www/react-native-vanilla
cd platforms/android && ./gradlew appStart
Task :app:checkDebugClasspath FAILED
FAILURE: Build failed with an exception.

Feature Request

β€’ Add Hot reloading to android wear
β€’Β How to run on Apple watch
β€’Β How to add native library of React Native to android wear and other platform
β€’Β How redux , navigation work for other platforms

Error running npm run setup

When running npm run setup I get the following:

$ npm run setup

> [email protected] setup .../react-native-vanilla
> node ./utils/setup.js

.../react-native-vanilla/utils/setup.js:315
            });
             ^

SyntaxError: missing ) after argument list
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:617:28)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
$ node --version
v8.12.0

$ npm --version
6.4.1

on macOS 10.13.6

Installing fails with XCode 10.2

Just tried to:
npm install --global --save react-native-vanilla
and it failed:

$ npm install --global --save react-native-vanilla
npm WARN deprecated [email protected]: See https://github.com/textlint/textlint/issues/455
npm WARN deprecated [email protected]: Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
/usr/local/bin/rnv -> /usr/local/lib/node_modules/react-native-vanilla/rnv-cli/bin/index.js

> [email protected] install /usr/local/lib/node_modules/react-native-vanilla/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js

  ACTION binding_gyp_ndtp_target_build_ndtp .
  TOUCH Release/obj.target/ndtp.stamp

> [email protected] install /usr/local/lib/node_modules/react-native-vanilla/node_modules/fsevents
> node install

node-pre-gyp WARN Using request for node-pre-gyp https download 
[fsevents] Success: "/usr/local/lib/node_modules/react-native-vanilla/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64/fse.node" is installed via remote

> [email protected] install /usr/local/lib/node_modules/react-native-vanilla/node_modules/husky
> node husky install

husky > setting up git hooks
Can't find .git, skipping Git hooks installation.
Please check that you're in a cloned repository or run 'git init' to create an empty Git repository and reinstall husky.

> [email protected] postinstall /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox
> node scripts/postinstall.js

+ xcodebuild -version
+++ dirname /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/scripts/build_framework.ios.sh
++ dirname /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/scripts
+ detoxRootPath=/usr/local/lib/node_modules/react-native-vanilla/node_modules/detox
++ node -p 'require('\''/usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/package.json'\'').version'
+ detoxVersion=9.0.4
++ echo 9.0.4
++ xcodebuild -version
++ shasum
++ awk '{print $1}'
+ sha1=7185509d4aeaa6fe07e3a067f58f475b7d34323e
+ detoxFrameworkDirPath=/Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e
+ detoxFrameworkPath=/Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e/Detox.framework
+ main
+ '[' -d /Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e ']'
+ '[' '!' -d /Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e/Detox.framework ']'
+ echo '/Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e was found, but could not find Detox.framework inside it. This means that the Detox framework build process was interrupted.
         deleting /Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e and trying to rebuild.'
/Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e was found, but could not find Detox.framework inside it. This means that the Detox framework build process was interrupted.
         deleting /Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e and trying to rebuild.
+ rm -rf /Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e
+ prepareAndBuildFramework
+ '[' -d /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios ']'
+ detoxSourcePath=/usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src
+ extractSources /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src
+ detoxSourcePath=/usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src
+ echo 'Extracting Detox sources...'
Extracting Detox sources...
+ mkdir -p /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src
+ tar -xjf /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/Detox-ios-src.tbz -C /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src
+ buildFramework /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src
+ detoxSourcePath=/usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src
+ echo 'Building Detox.framework from /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src...'
Building Detox.framework from /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src...
+ mkdir -p /Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e
+ /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/scripts/build_universal_framework.sh /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/ios_src/Detox.xcodeproj /Users/palavrov/Library/Detox/ios/7185509d4aeaa6fe07e3a067f58f475b7d34323e
child_process.js:658
    throw err;
    ^

Error: Command failed: /usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/scripts/build_framework.ios.sh
    at checkExecSyncError (child_process.js:637:11)
    at Object.execFileSync (child_process.js:655:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/react-native-vanilla/node_modules/detox/scripts/postinstall.js:2:27)
    at Module._compile (internal/modules/cjs/loader.js:799:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
    at Module.load (internal/modules/cjs/loader.js:666:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
    at Function.Module._load (internal/modules/cjs/loader.js:598:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:862:12)
    at internal/main/run_main_module.js:21:11
npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of react-art@>=16.5.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of webpack@^3.1.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of eslint-plugin-import@^2.14.0 but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/palavrov/.npm/_logs/2019-03-27T19_33_41_650Z-debug.log

Detox is using old swift syntax that the new XCode 10.2 doesn't support and fails to build.
Workaround is to install XCode 10.1 and switch to its command tools:
Working with Multiple Versions of Xcode
Another possible solution is to update Detox to newer version, may be the issue is already fixed. (latest is 12.1.1 and here the version is 9.0.4)

Installation Error | ELIFECYCLE | [email protected] postinstall: `node install.js`

I want to make an app for Android TV, I bought Mi Box S for testing as well but I am getting electron error on installation of react-native-vanilla : -

First thing first, why this package is even trying to install electron??? And then this electron is creating a lot problem for me here....

I'm using Ubuntu 18.04
npm version 6.9.0
node version 10.15.3

awais@awais-desktop:~/Desktop/tmp$ sudo npm install react-native-vanilla@latest -g
[sudo] password for awais: 
npm WARN deprecated [email protected]: This module relies on Node.js's internals and will break at some point. Do not use it, and update to [email protected].
npm WARN deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated [email protected]: See https://github.com/textlint/textlint/issues/455
npm WARN deprecated [email protected]: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated [email protected]: Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
/usr/local/bin/rnv -> /usr/local/lib/node_modules/react-native-vanilla/rnv-cli/bin/index.js

> [email protected] install /usr/local/lib/node_modules/react-native-vanilla/node_modules/husky
> node husky install

husky > setting up git hooks
Can't find .git, skipping Git hooks installation.
Please check that you're in a cloned repository or run 'git init' to create an empty Git repository and reinstall husky.

> [email protected] postinstall /usr/local/lib/node_modules/react-native-vanilla/node_modules/electron
> node install.js

/usr/local/lib/node_modules/react-native-vanilla/node_modules/electron/install.js:49
  throw err
  ^

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/react-native-vanilla/node_modules/electron/.electron'
npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of react-art@>=16.5.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of webpack@^3.1.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of eslint-plugin-import@^2.14.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/react-native-vanilla/node_modules/ios-deploy):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/react-native-vanilla/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/awais/.npm/_logs/2019-04-19T12_27_14_636Z-debug.log

I searched on internet and realized that adding --unsafe-perm=true --allow-root with install instruction might be helpful, but it was not.

awais@awais-desktop:~/Desktop/tmp$ sudo npm install react-native-vanilla@latest -g --unsafe-perm=true --allow-root
[sudo] password for awais:
npm WARN deprecated [email protected]: This module relies on Node.js's internals and will break at some point. Do not use it, and update to [email protected].
npm WARN deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated [email protected]: See textlint/textlint#455
npm WARN deprecated [email protected]: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated [email protected]: Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit https://github.com/lukeed/kleur/releases/tag/v3.0.0\ for migration path(s).
/usr/local/bin/rnv -> /usr/local/lib/node_modules/react-native-vanilla/rnv-cli/bin/index.js

[email protected] install /usr/local/lib/node_modules/react-native-vanilla/node_modules/husky
node husky install

husky > setting up git hooks
Can't find .git, skipping Git hooks installation.
Please check that you're in a cloned repository or run 'git init' to create an empty Git repository and reinstall husky.

[email protected] postinstall /usr/local/lib/node_modules/react-native-vanilla/node_modules/electron
node install.js

Downloading tmp-13190-0-electron-v4.0.5-linux-x64.zip
Error: read ECONNRESET
/usr/local/lib/node_modules/react-native-vanilla/node_modules/electron/install.js:49
throw err
^

Error: read ECONNRESET
at TLSWrap.onStreamRead (internal/stream_base_commons.js:111:27)
npm WARN [email protected] requires a peer of react-art@>=16.5.1 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of webpack@^3.1.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of eslint-plugin-import@^2.14.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/react-native-vanilla/node_modules/ios-deploy):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/react-native-vanilla/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: node install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/awais/.npm/_logs/2019-04-19T13_02_22_251Z-debug.log

Storybook integration

Hello Guys , and thank you for the amazing contribution and support .

I have been trying to add storybook to the project , insisting not to eject the platforms with no luck.

Do you have an advice on how to make it possible easily

Sony Xperia Z Ultra C6833 not recognised by rnv

$ adb devices
List of devices attached
EP7334C4L2      device
$ npx rnv run -p android -d
ReNative run - _listAndroidTargets:android - Starting!
? What emulator would you like to start? (Use arrow keys)
❯ Nexus_5X_API_27 | Phone πŸ“±  | arch: x86 | udid: unknown  
  Pixel_2_API_27 | Phone πŸ“±  | arch: x86 | udid: unknown  
  Pixel_C_API_27 | Tablet πŸ’Š  | arch: x86 | udid: unknown 

RN Packaged on Web

Hi
I'm trying to build a small app for ios, Android and Web as POC but I cannot get RN packages working on Web (They work fine on ios and Android). I've been trying Native-Base and/or React-Native-Easy-Grid. (Is there something I'm missing?)

Thanks

Here is the Error I get:

Entrypoint bundle = bundle.js bundle.f0a091cd09b580a1e966.hot-update.js bundle.js.map bundle.f0a091cd09b580a1e966.hot-update.js.map
[./node_modules/react-native-easy-grid/Components/Col.js] 286 bytes {bundle} [built] [failed] [1 error]
[./node_modules/react-native-easy-grid/Components/Grid.js] 297 bytes {bundle} [built] [failed] [1 error]
[./node_modules/react-native-easy-grid/Components/Row.js] 305 bytes {bundle} [built] [failed] [1 error]
[./node_modules/react-native-easy-grid/index.js] 164 bytes {bundle} [built]
[./src/screenHome.js] 3.59 KiB {bundle} [built]
    + 725 hidden modules

ERROR in ./node_modules/react-native-easy-grid/Components/Col.js 30:8
Module parse failed: Unexpected token (30:8)
You may need an appropriate loader to handle this file type.
|     if(this.props.onPress){
|       return(
>         <TouchableOpacity onPress={this.props.onPress}
|         {...this.prepareRootProps()}>
|     <View
 @ ./node_modules/react-native-easy-grid/index.js 6:0-35 8:0-25
 @ ./src/screenHome.js
 @ ./src/app.js
 @ ./index.web.js
 @ multi (webpack)-dev-server/client?http://0.0.0.0:8080 (webpack)/hot/dev-server.js ./index.web.js

ERROR in ./node_modules/react-native-easy-grid/Components/Row.js 31:12
Module parse failed: Unexpected token (31:12)
You may need an appropriate loader to handle this file type.
|       if(this.props.onPress){
|         return(
>             <TouchableOpacity onPress={this.props.onPress}
|             {...this.prepareRootProps()}>
|           <View
 @ ./node_modules/react-native-easy-grid/index.js 4:0-35 8:0-25
 @ ./src/screenHome.js
 @ ./src/app.js
 @ ./index.web.js
 @ multi (webpack)-dev-server/client?http://0.0.0.0:8080 (webpack)/hot/dev-server.js ./index.web.js

ERROR in ./node_modules/react-native-easy-grid/Components/Grid.js 42:8
Module parse failed: Unexpected token (42:8)
You may need an appropriate loader to handle this file type.
|     if(this.props.onPress){
|       return(
>         <TouchableOpacity onPress={this.props.onPress}>
|     <View
|       ref={component => this._root = component}
 @ ./node_modules/react-native-easy-grid/index.js 5:0-37 8:0-25
 @ ./src/screenHome.js
 @ ./src/app.js
 @ ./index.web.js
 @ multi (webpack)-dev-server/client?http://0.0.0.0:8080 (webpack)/hot/dev-server.js ./index.web.js

Build Failed

Not able to build on android wear Os . Also need help in running on apple watch simulator and device dev mode

rnv run -p androidtv without simulator results in launching simulator but not recognising it

ReNative run - _runGradle:androidtv - Starting!

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
? What emulator would you like to start? Android_TV_1080p_API_22 | TV πŸ“Ί | arch: x86 | udid: unknown

ReNative run - launchAndroidSimulator:androidtv:Android_TV_1080p_API_22 - Starting!
execCLI:androidEmulator:-avd "Android_TV_1080p_API_22"

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 1/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 2/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 3/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 4/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 5/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 6/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 7/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 8/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 9/10

ReNative run - _listAndroidTargets:androidtv - Starting!
execCLI:null:echo "avd name" | nc localhost 5554
execCLI:null:echo "avd name" | nc localhost 5556
Can't find service: tv_input
Can't find service: tv_input
looking for active emulators: attempt 10/10

ReNative run - _askForNewEmulator - Starting!

❓ Do you want ReNative to create new Emulator (Android_TV_1080p_API_22) for you? (y) to confirm:

Webos multiple devices

silently failing, target add, target remove, reverting back to add if the IP specified is not on the device list.

Apple watch support

This will need bit more wizardry as watchOS does not support JSCore out of the box

webOS app fails to install on LG 4.0 emulator

This is a little weird. I was having this issue before, then it worked, and now i'm having it again. Essentially, the ipk fails to install on the latest emulator from LG (4.0). When i use the script i get "ares-install: Installation failure (the reason may be unsupported architecture)" And when i try to install it using the emulator's app manager, i get "Installation Failed." (i can install a different ipk created from the lg IDE with no issue). This is strange because i was seeing this error last week, then i cleared all the apps off of the emulator and was able to get it to install, then stepped away for a few days, and now this week it fails again. So, it seems intermittent, though there have been some code dependency updates since then, i doubt those would have introduced the issue. I am on macOS mojave. I am curious if you can reproduce the issue. Also, there's definitely a small bug either way in the package.js anyway because the ipk is named differently than what's in the install script. Thank you for your support on this, i am very impressed with this starter project

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.