npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dooboostore/lib-web

v1.0.6

Published

dooboostore library for web

Readme

@dooboostore/lib-web

NPM version Build and Test License: MIT

Full Documentation: https://dooboostore-develop.github.io/@dooboostore/lib-web

Canvas-centered UI components for building rich browser editors and map-like visual tools.


Features

  • ImageEditorCanvas: multi-layer canvas editor with object transform, ordering, and export.
  • GpsMarkerCanvas: route/point visualization canvas with pan and zoom.
  • ImageCropCanvas: polygon crop workflow for image trimming.
  • Root-first exports: consume all public APIs from package root.
  • Bundle entry support: dedicated ./bundle-entry subpath for bundlers or UMD/ESM interop workflows.

Public API

@dooboostore/lib-web root currently exposes:

  • ImageEditorCanvas
  • GpsMarkerCanvas
  • ImageCropCanvas

Import Guide

Root import (recommended)

import { ImageEditorCanvas, GpsMarkerCanvas, ImageCropCanvas } from '@dooboostore/lib-web';

Bundle entry import

import { ImageEditorCanvas } from '@dooboostore/lib-web/bundle-entry';

Namespace access from bundle entry

import { LibWebModule } from '@dooboostore/lib-web/bundle-entry';

const editor = new LibWebModule.ImageEditorCanvas(/* ... */);

Installation

# pnpm
pnpm add @dooboostore/lib-web

# npm
npm install @dooboostore/lib-web

# yarn
yarn add @dooboostore/lib-web

Quick Start

Image editor

import { ImageEditorCanvas } from '@dooboostore/lib-web';

const editor = new ImageEditorCanvas({
    target: document.getElementById('app') as HTMLElement,
    width: 1024,
    height: 768
});

// Typical operations vary by app implementation:
// - add image/text/shape layers
// - update position/scale/rotation
// - export final image

GPS marker map

import { GpsMarkerCanvas } from '@dooboostore/lib-web';

const map = new GpsMarkerCanvas({
    target: document.getElementById('map') as HTMLElement,
    width: 800,
    height: 600
});

// Render points and tracks, then support zoom/pan interactions.

Image crop

import { ImageCropCanvas } from '@dooboostore/lib-web';

const cropper = new ImageCropCanvas({
    target: document.getElementById('crop') as HTMLElement
});

// Load image, draw polygon region, export cropped result.

Best Practices

  • Keep canvas dimensions explicit for stable rendering quality.
  • Debounce high-frequency pointer events in host application state updates.
  • Export from finalized state rather than per-frame snapshots.
  • Use root import paths (@dooboostore/lib-web) as default; keep deep imports internal.

Troubleshooting

Issue: Blurry canvas output on high-DPI displays
Solution: align canvas internal size with device pixel ratio and scale drawing context.

Issue: Slow interaction with many objects
Solution: reduce redraw region, batch operations, and disable expensive effects while dragging.

Issue: Import path errors in consumers
Solution: use root path or @dooboostore/lib-web/bundle-entry, not internal source paths.

Learn More

The detailed API documentation for each component is available on our documentation website.

Related Packages

License

This package is licensed under the MIT License.