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

Fix the tests #7

Open
wants to merge 4 commits into
base: sea-assets
Choose a base branch
from
Open

Commits on Jan 9, 2024

  1. src: print string content better in BlobDeserializer

    When it's a short string, print it inline, otherwise print it
    from a separate line. Also add the missing line breaks finally.
    joyeecheung committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    1a744ad View commit details
    Browse the repository at this point in the history
  2. sea: support embedding assets

    With this patch:
    
    Users can now include assets by adding a key-path dictionary
    to the configuration as the `assets` field. At build time, Node.js
    would read the assets from the specified paths and bundle them into
    the preparation blob. In the generated executable, users can retrieve
    the assets using the `sea.getAsset()` and `sea.getAssetAsBlob()` API.
    
    ```json
    {
      "main": "/path/to/bundled/script.js",
      "output": "/path/to/write/the/generated/blob.blob",
      "assets": {
        "a.jpg": "/path/to/a.jpg",
        "b.txt": "/path/to/b.txt"
      }
    }
    ```
    
    The single-executable application can access the assets as follows:
    
    ```cjs
    const { getAsset } = require('node:sea');
    // Returns a copy of the data in an ArrayBuffer
    const image = getAsset('a.jpg');
    // Returns a string decoded from the asset as UTF8.
    const text = getAsset('b.txt', 'utf8');
    // Returns a Blob containing the asset.
    const blob = getAssetAsBlob('a.jpg');
    ```
    
    Drive-by: update the  documentation to include a section dedicated
    to the injected main script and refer to it as "injected main
    script" instead of "injected module" because it's a script, not
    a module.
    joyeecheung committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    2e700d9 View commit details
    Browse the repository at this point in the history
  3. sea: support sea.getRawAsset()

    This patch adds support for `sea.getRawAsset()` which is
    similar to `sea.getAsset()` but returns the raw asset
    in an array buffer without copying. Users should avoid
    writing to the returned array buffer. If the injected
    section is not marked as writable or not aligned,
    writing to the raw asset is likely to result in a crash.
    joyeecheung committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    e12780f View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. Configuration menu
    Copy the full SHA
    cea9a5d View commit details
    Browse the repository at this point in the history