#!/bin/bash # https://docs.sheetjs.com/docs/demos/engines/duktape#python-demo cd /tmp rm -rf sheetjs-duk-python mkdir sheetjs-duk-python cd sheetjs-duk-python curl -LO https://duktape.org/duktape-2.7.0.tar.xz tar -xJf duktape-2.7.0.tar.xz cd duktape-2.7.0 make -f Makefile.sharedlibrary cd .. OS="$(uname -s)" case "$OS" in Darwin) LIB_NAME="libduktape.207.20700.so" ;; Linux) LIB_NAME="libduktape.so.207.20700" ;; *) echo "Unsupported OS: $OS"; exit 1 ;; esac cp "duktape-2.7.0/$LIB_NAME" . curl -LO https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/shim.min.js curl -LO https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/xlsx.full.min.js curl -LO https://docs.sheetjs.com/pres.numbers curl -LO https://docs.sheetjs.com/duk/SheetJSDuk.py sed "s#libduktape.207.20700.so#$LIB_NAME#g" SheetJSDuk.py > SheetJSDuk.py.tmp mv SheetJSDuk.py.tmp SheetJSDuk.py python3 SheetJSDuk.py pres.numbers; echo $? npx -y xlsx-cli sheetjsw.xlsb