Nodding Previously Managed

    @shelf/aws-lambda-brotli-unpacker

    2.0.0 • Public • Published

    aws-lambda-brotli-unpacker CircleCI

    Unpacks large Lambda binaries to /tmp, such as Tesseract, LibreOffice, Google Chrome, etc

    Inspired by chrome-aws-lambda

    Used in projects: aws-lambda-tesseract

    Install

    $ yarn add @shelf/aws-lambda-brotli-unpacker
    

    Version 1.x works with Node 10.x & 12.x only. For Node 8.10 use v0.0.2

    Test

    Needs Docker installed.

    $ npm test
    

    Usage

    Q: Why do I need this package?

    A: It helps if you want to deploy pre-compiled software to use in Lambda. See list of projects where it is used above.

    Q: Why bother?

    A: Lambda environment has limited software installed. This package helps ship large binaries compiled for Lambda which unpack to /tmp folder when Lambda starts.

    Q: Why /tmp?

    A: Lambda has 500 MB of storage in /tmp

    Q: Why brotli?

    A: This compression algorithm is known for great speed/size ration. Perfect for scarce Lambda resources.

    Example

    const {unpack} = require('@shelf/aws-lambda-brotli-unpacker');
    const {execSync} = require('child_process');
    
    const inputPath = path.join(__dirname, '..', 'bin', 'tt.tar.br'); // for example, tesseract
    const outputPath = '/tmp/tesseract/tesseract';
    
    module.exports.handler = async event => {
      await unpack({inputPath, outputPath});
    
      execSync(`${outputPath} -l eng image.png`);
    };

    Publish

    $ git checkout master
    $ yarn version
    $ yarn publish
    $ git push origin master --tags

    License

    MIT © Shelf

    Keywords

    Install

    npm i @shelf/aws-lambda-brotli-unpacker

    DownloadsWeekly Downloads

    198

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    7.61 kB

    Total Files

    10

    Last publish

    Collaborators

    • anastasiash
    • kchlon
    • dmytro.harazdovskiy
    • duch0416
    • i5adovyi
    • olesiamuller
    • mykola.khytra
    • yuliiakovalchuk
    • el_scrambone
    • bodyaflesh
    • slavammellnikov
    • andrii-nastenko
    • andriisermiahin
    • arkadii007
    • mpushkin
    • batovpavlo
    • vasylhoban
    • andrew214
    • domovoj
    • vozemer
    • oleksii.dymnich
    • set001
    • bogdan.kyba
    • dima-bond
    • maksym.hayovets
    • oles.zadorozhnyy
    • ss1l
    • gemshelf
    • d-mii-
    • hartzler
    • tarasdyksan
    • andrii_butsa
    • nazarko_suv
    • bogdan.kolesnyk
    • vitaliishcherban
    • vladgolubev
    • marianna-milovanova
    • hmelenok
    • knupman
    • maaraanas
    • terret
    • chapelskyi.slavik
    • pihorb
    • irynah
    • diana.kryskuv
    • andy.raven
    • rafler
    • mykola.chepkyi
    • sskalp88
    • demiansua
    • yuriil
    • ktv18
    • drews_abuse
    • rostyslav-horytskyi
    • whodeen