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

@libreflare/worker-cli

v0.2.6

Published

Libreflare managed Worker CLI

Readme

Libreflare Worker CLI

CLI and library for Libreflare managed Worker workflows. It currently generates Wrangler config from libreflare.config.yaml.

CLI

libreflare-worker config generate

By default the command reads libreflare.config.yaml and wrangler.jsonc from the current directory, writes wrangler.generated.jsonc, and writes .wrangler/deploy/config.json so Wrangler uses the generated config.

By default runtime config is written to src/libreflare-runtime-config.generated.json. This avoids Cloudflare's per-variable size limit for projects with many routes. Pass --runtime-config vars to write the legacy LIBREFLARE_CONFIG Worker variable instead. The JSON target still writes Wrangler routes and required secret bindings to wrangler.generated.jsonc.

Before Libreflare creates libreflare.config.yaml, the command points Wrangler at the base wrangler.jsonc. In the default JSON mode, it also writes a generated JSON stub so the Worker can be bundled before managed config exists.

Managed Worker Config

version: 2
zoneName: example.com
logging:
  apiUrl: https://logs.example.com/insert/jsonline?_stream_fields=stream
  auth: true
routes:
  - prefix: /lf/pages
    domains:
      - example.com
      - www.example.com
    logging:
      sourceKey: pages
      sourceKeyRules:
        - expression: cf.verified_bot_category eq "AI Crawler"
          sourceKey: pages-ai-crawler
      varyByMonth: true
    rule: starts_with(http.request.uri.path, "/wiki/")
  - prefix: /lf/api
    domains:
      - api.example.com
    logging:
      sourceKey: api
    rule: starts_with(http.request.uri.path, "/api/")

zoneName is the Cloudflare zone where Wrangler should create Worker routes. When routes[].domains is present, it must contain one or more plain hostnames, the zone apex, *.zoneName, concrete zone subdomains, or explicit Cloudflare for SaaS custom hostnames attached to the zone. The CLI generates one Wrangler route per route domain and prefix. Omit routes[].domains when the Worker repository owns Wrangler route config for that route. Runtime route matching is path-prefix based, so route prefixes must be unique within the config.

routes[].logging.sourceKey is the required default logging stream key. Optional sourceKeyRules are evaluated in order inside the Worker before the origin fetch; the first match wins. Rule expressions use native Cloudflare Rules syntax, do not support rule fragments, and cannot reference Cloudflare lists such as $known_crawlers. Worker-visible bot fields such as cf.client.bot and cf.verified_bot_category are allowed.

For unmanaged logging, omit the top-level logging block and omit route logging blocks. The CLI still generates Wrangler routes from routes that include domains, and it still writes route/rule metadata to the selected runtime config target without logging fields. Logging variables and logging auth bindings stay owned by the Worker repository:

version: 2
zoneName: example.com
routes:
  - prefix: /lf/custom
    domains:
      - example.com
    rule: starts_with(http.request.uri.path, "/custom/")