Skip to content

[FR] Customize metadata generation to avoid adding unnecessary unused JS wrappers #1209

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
mbektchiev opened this issue Sep 19, 2019 · 0 comments
Assignees
Milestone

Comments

@mbektchiev
Copy link
Contributor

mbektchiev commented Sep 19, 2019

Is your feature request related to a problem? Please describe.
Currently, the whole iOS SDK and all native libraries used in a {N} app are included in the metadata binary files. In order to reduce app size and improve startup performance, we should allow app/plugin developers to specify which entities (e.g. clang modules) need to actually be accessible from JavaScript.

Additional context
Things to consider:

  • This will be a breaking change because every plugin and every app which directly call into native code will need to start stating their native dependencies
  • Multiple such dependency lists coming from all plugins and the app should be merged. Maybe some changes in the CLI will be necessary as well.
  • There should be a way to allow everything to be included (like it's been before this feature)

An idea for UI which helps generate these lists from @shirakaba: Polyfill.io shows one user interface by which one could generate a package by specifying only the libraries that one needs. Maybe something like this could be applied to the NativeScript runtimes: https://polyfill.io/v3/url-builder/

Corresponding feature request in Android runtime is: NativeScript/android#1485

Implemented in {N} CLI with: NativeScript/nativescript-cli#5220

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants