# queue4

> Task (function) queue with concurrency / timeout control.

Latest version **2.0.0** (published 2026-02-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install queue4
pnpm add queue4
yarn add queue4
bun add queue4
```

## Health

**Score 45/100 (D)** — status: stable.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2026-02-09 |
| First published | 2019-01-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 9.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | https://github.com/tj/node-queue3 |
| Maintainers | jldec |

## Links

- npm: https://www.npmjs.com/package/queue4
- Repository: https://github.com/jldec/pub-server-monorepo
- Homepage: https://github.com/jldec/pub-server-monorepo#readme
- Issues: https://github.com/jldec/pub-server-monorepo/issues
- npm.io page: https://npm.io/package/queue4

## Dependencies (1)

- [debug](https://npm.io/package/debug.md) 4.3.6

## Recent versions

- 2.0.0 (latest) — 2026-02-09
- 1.1.0 — 2024-09-01
- 1.0.10 — 2022-01-16
- 1.0.9 — 2020-11-08
- 1.0.8 — 2020-07-26
- 1.0.7 — 2020-04-25
- 1.0.6 — 2020-02-16
- 1.0.5 — 2019-07-13
- 1.0.4 — 2019-01-02

## README

[![CI](https://github.com/jldec/pub-server-monorepo/workflows/CI/badge.svg)](https://github.com/jldec/pub-server-monorepo/actions)

# pub-server-monorepo

Monorepo for pub-server packages.

## 📦 Packages

- **[asyncbuilder](./packages/asyncbuilder)** - Simple semi-asynchronous array builder
- **[date-plus](./packages/date-plus)** - Javascript dates extended with dateformat
- **[pub-util](./packages/pub-util)** - Utility toolbelt based on lodash for pub-server packages

## 🚀 Development

### Prerequisites

- Node.js 22+ (tested on 22, 24, 25)
- pnpm (latest version)

### Setup

```bash
# Install dependencies
pnpm install

# Create .env file with test secrets (see .env.example)
cp .env.example .env
# Edit .env to add your tokens

# Run tests for all packages
pnpm test

# Lint all packages
pnpm lint
```

Some packages require environment variables for integration tests. These are loaded from the root `.env` file using `dotenv-cli`. See `.env.example` for required variables.

### Running Tests

```bash
# Run all tests
pnpm test

# Run tests for a specific package
cd packages/asyncbuilder
pnpm test
```

## 📝 Contributing with Changesets

This monorepo uses [Changesets](https://github.com/changesets/changesets) for versioning and publishing.

### Adding a Changeset

When you make changes that should be released, create a changeset:

```bash
pnpm changeset
```

This will prompt you to:
1. Select which packages have changed
2. Choose the semver bump type (major/minor/patch)
3. Write a summary of the changes

The changeset will be saved as a markdown file in `.changeset/`.

### Changeset Guidelines

- **Patch**: Bug fixes, documentation updates, minor tweaks
- **Minor**: New features, non-breaking changes
- **Major**: Breaking changes

Example changeset flow:
```bash
# 1. Make your changes
git checkout -b my-feature

# 2. Create a changeset
pnpm changeset
# Select: asyncbuilder
# Select: patch
# Summary: "Fix timeout handling in asyncAppend"

# 3. Commit and push
git add .
git commit -m "fix: improve timeout handling"
git push origin my-feature

# 4. Create PR
# The changeset file will be part of your PR
```

### Release Process

The release process is automated via GitHub Actions:

1. **Create changesets** as you make changes (via PRs)
2. **Changesets accumulate** on the main branch
3. **Version Packages PR** is automatically created/updated
4. **Review and merge** the Version Packages PR
5. **Packages are automatically published** to npm

You don't need to manually run versioning or publishing commands!

## 🔧 CI/CD

### Continuous Integration

All commits and PRs are tested on:
- Node.js: 22, 24, 25
- OS: Ubuntu, macOS, Windows

Tests must pass before merging.

### Automated Publishing

When a "Version Packages" PR is merged:
- Package versions are bumped
- CHANGELOGs are updated
- Packages are published to npm
- GitHub releases are created

## 📄 License

MIT - see [LICENSE](./LICENSE) for details.

## 👤 Author

Jürgen Leschner - [github.com/jldec](https://github.com/jldec)

---
_Source: https://npm.io/package/queue4 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
