Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[feature request] Modernize file_package.py: chunking; promise-based loading and file creation; caching/decompression -> library-js; JSON-based index #14385

Open
4 tasks
vadimkantorov opened this issue Jun 5, 2021 · 2 comments

Comments

@vadimkantorov
Copy link

vadimkantorov commented Jun 5, 2021

Grouping earlier issues:

Currently it uses timers / dependenciesFullfilled callback which are not controlled by the user.

Maybe good first steps for an implementor:

  • move out helper methods (mainly IDBFS caching / LZ4 decompression) produced by file_packager.py into a JS file that can be included with the main JS library
  • file_packager.py should also export a JSON containing file-list and data offsets
@vadimkantorov
Copy link
Author

Chunking becomes even more important, as github pages reject files larger than 100 Mb: https://docs.github.com/en/github/managing-large-files/working-with-large-files

E.g. TexLive small profile distribution takes 136Mb

@vadimkantorov
Copy link
Author

vadimkantorov commented Jun 12, 2021

It also seems that Chrome will relaunch a request for a large file, even if it's already in flight with a link-preload tag, so html-triggered preload doesn't work well... So chunking should help with that as well

@vadimkantorov vadimkantorov changed the title [feature request] Modernize file_package.py-produced dependencies and their loading using Promise-based granular API [feature request] Modernize file_package.py: chunking; promise-based loading and file creation; caching/decompression -> library-js; JSON-based index Jun 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant