JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q27579F
  • License GPL-3.0-or-later

Unofficial CLI for interacting with ebag.bg using cookie-based auth.

Package Exports

  • ebag
  • ebag/dist/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ebag) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ebag

CLI for interacting with ebag.bg (unofficial).

Installation

npm install -g ebag

Or run without installing:

npx ebag --help

Login

Get the cookie header from your browser and store it:

ebag login --cookie "<cookie>"

Data and storage

  • Config is stored in ~/.config/ebag (override with EBAG_CONFIG_DIR).
  • Session data is stored in plain text at ~/.config/ebag/session.json with owner-only permissions (0600).
  • List-based search caches product details in ~/.config/ebag/cache.json for up to 6 hours.
  • Completed orders may be cached locally for faster access, and the order cache is retained indefinitely.

Products

ebag product search "lindt"
ebag product search "lindt" --json
ebag product show 5128

Delivery slots

ebag slots

Orders

ebag order list
ebag order list --from 2024-02-01 --to 2024-03-31
ebag order show DE9CD146FECD05BF

Cart

ebag cart add 5128 --qty 1
ebag cart update 5128 --qty 2
ebag cart show

Lists

ebag list show
ebag list add 753250 5128 --qty 1
ebag list show 753250

Contributing

Build

npm run build

Unit tests

npm run test:unit

End-to-end tests

Requires a valid session in tests/.config/ebag/session.json (gitignored):

npm run test:e2e

All tests

npm test

Changelog

0.1.5

  • Fix order totals to use paid amounts across primary and additional orders without double-counting tip
  • Stabilize e2e cart/list mutation flow by retrying with other search candidates when the first product is unavailable

0.1.4

  • Show out-of-stock status and expected restock date in cart output

0.1.3

  • Require --qty for cart update command

0.1.2

  • Log unknown order statuses in the lib layer and warn in the CLI
  • Add tests for order status logging and CLI warnings

0.1.1

  • Add logging in the config directory

0.1.0

  • Initial release