graystackit/laravel-dymo-printer
A Laravel integration for DYMO label printers that helps you send label print jobs directly from your PHP application, with simple configuration and helpers for building and formatting labels. Useful for automating address, barcode, and product labels.
ScriptAssets helper. All actual printing happens client-side in the browser through a vendored DYMO Connect Framework SDK that talks to DYMO Connect software installed on the operator's machine. There is no server-side print path, no queue integration, no print spooler. It fits well if the product is a Blade/Livewire back-office where the person printing sits at the machine with the printer attached. It does not fit headless batch printing, scheduled/queued label runs, or printing to a printer not attached to a logged-in browser session — confirm that requirement is genuinely out of scope before committing.main. So there is no stable prior version to migrate from — we pin ^1.2 and anything previously tracking dev-main moves to that tag. The PHP-side integration is conventional and small.@dymoscripts / <x-dymo-printer::scripts />, now content-hash versioned and served by ScriptController) and importing resources/js/index.js from the vendor path into the app's own Vite bundle. The second option creates a build-order dependency: composer install must run before npm run build in CI and in every Docker image build, or the vendor import won't resolve.master-tracking raw.githubusercontent.com URL to a commit-pinned SDK served from our own domain is a clear availability and supply-chain improvement. The tradeoff is that SDK currency now follows our package release cadence — we own the decision to bump commit 2182e505….LabelSet call with no per-label fallback, and single labels report success only once DYMO Connect accepts the job. The semantics are right (no duplicate labels, no false success) but the failure surface moves from partial to all-or-nothing per call. Any workflow that read "no error" as "labels came out" needs review./dymo-printer/* must pass CSP script-src, any auth/global middleware, and CDN/WAF rules. If the app guards all routes with auth, the picker breaks on any unauthenticated page.sdk_url now defaults to null (vendored SDK). DYMO_SDK_URL still overrides, so an existing env value pointing at the old remote URL silently re-introduces the dependency this release removed.ComponentNotFoundException fix and namespace registration are welcome, but apps that worked around it with Livewire::addNamespace('dymo-printer', …) must drop that workaround or risk double registration.wire:navigate, blank batch output from setTextMarkup(), and placeholder QR codes on single labels are all fixed here — these are exactly the class of silent, high-cost bugs that erode operator trust, and their presence in untagged code is a reason to adopt the tag rather than the branch.composer require graystackit/laravel-dymo-printer:^1.2, publish config, and publish assets with --tag=dymo-printer-assets if we self-host (this tag now publishes the full set including the vendored SDK; previously it published only half of what it declared). Any prototype on dev-main should move to ^1.2 and re-run smoke prints rather than assuming parity — 1.2.0 is a superset of the untagged work, so the delta is small but real.Livewire::addNamespace('dymo-printer', …) workaround.DYMO_SDK_URL in favour of the vendored SDK.script-src and route middleware for /dymo-printer/*.TextDataHolder fix.wire:navigate transitions.dymo:print-error now carries a message even for non-Error rejections, timeouts name the missing SDK URL, and the new ref field lets a UI action be correlated with its success/error event. Pipe those events into existing front-end logging or support will be guesswork.init() fails; because failures are no longer cached, starting DYMO Connect and retrying succeeds without a page reload.?v= on all package scripts.wire:navigate → fixed by the per-document registry; previously this printed every label twice, which costs money and operator trust.How can I help you explore Laravel packages today?