# @qrvey/utils

> Helper, Utils for all Qrvey Projects

Latest version **1.18.17** (published 2026-09-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install @qrvey/utils
pnpm add @qrvey/utils
yarn add @qrvey/utils
bun add @qrvey/utils
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 1.18.17 |
| Published | 2026-09-16 |
| First published | 2020-05-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=20 |
| Dependencies | 6 |
| Unpacked size | 2.3 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Qrvey Inc |
| Maintainers | amit.bhatnagar, ricardo.madrid, jmsosa, emirpolo, sandresbc86, juandavidleg1, hugo.tilano, mario.vasco, jose.gonzalez.qrvey, rafamedrano, qrvey-jespinel, daniel.henriquez, everacostaqrvey, andresbetinqrvey, neox10 |
| Keywords | qrvey, utils |

## Links

- npm: https://www.npmjs.com/package/@qrvey/utils
- Homepage: https://bitbucket.org/qrvey/qrvey_utils/wiki/Home
- npm.io page: https://npm.io/package/@qrvey/utils

## Dependencies (6)

- [xss](https://npm.io/package/xss.md) 1.0.15
- [dayjs](https://npm.io/package/dayjs.md) 1.11.20
- [tslib](https://npm.io/package/tslib.md) 2.8.1
- [i18next](https://npm.io/package/i18next.md) 26.0.6
- [d3-format](https://npm.io/package/d3-format.md) 2.0.0
- [@stencil/store](https://npm.io/package/@stencil/store.md) 2.2.2

## Recent versions

- 1.18.17 (latest) — 2026-09-16
- 1.18.10 (release-9.5) — 2026-07-31
- 1.17.2 (release-9.4) — 2026-06-17
- 1.17.0-8 (next) — 2026-05-07
- 1.16.1-24 (release-9.3) — 2026-04-14
- 1.16.0-31 (release-9.2) — 2025-10-27
- 1.16.0-11 (release-9.1) — 2025-06-17
- 1.15.0 (release-9.0) — 2025-03-31
- 1.15.0-9 (release-8.7) — 2024-10-09
- 1.14.0 (release-8.6) — 2024-07-23
- 1.13.1 (release-8.5) — 2024-05-20
- 1.14.0-1.dashboardx.filters-0 (dashboardx--filters) — 2024-04-29
- 1.14.0-0.dashboardx.filters-0 (dashboardx-filters) — 2024-04-08
- 1.13.0-7.performance.1 (dashboard-performance) — 2024-02-27
- 1.112.2 (release-8.4) — 2024-02-19
- … 499 more at https://npm.io/package/@qrvey/utils/versions

## README

# [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.18.17*

> Helper, Utils for all Qrvey Projects

## Release pipelines

- Guide to run manual releases in Bitbucket: [RELEASE_PIPELINES.md](./RELEASE_PIPELINES.md)

## Recommended consumption guide

This package exposes **ESM + CommonJS**:

- `import` (ESM) for modern bundlers and better tree shaking.
- `require` (CommonJS) for legacy implementations.

### 1) Recommended (ESM with tree shaking)

Use named imports from the entrypoint or specific subpaths.

```ts
// Good: allows bundlers to remove unused exports
import { isEmpty, objectCopy } from "@qrvey/utils";

// Better for critical bundles: import only the module you need
import { formatDate } from "@qrvey/utils/format/format";
```

### 2) Avoid for optimized bundles

```ts
// Avoid in frontend apps: can pull more code into the bundle
import * as QrveyUtils from "@qrvey/utils";
```

### 3) CommonJS compatibility

For Node projects or integrations that require CommonJS:

```js
const { isEmpty } = require("@qrvey/utils");
const { formatDate } = require("@qrvey/utils/format/format");
```

### 4) Recommendations for consumer apps

- Prefer `import` over `require` in frontend code.
- Use subpaths (`@qrvey/utils/<module>`) on performance-critical paths.
- Keep tree shaking enabled in your bundler (Webpack/Rollup/Vite in production mode).

---

<!-- MODULES_START -->

## Modules

| Module | Description | Subpath import | API docs |
| ------ | ----------- | -------------- | -------- |
| `cache-managers` | Managers for caching chart, metric, model, theme, platform-config and permissions data. Provides a centralised in-memory caching layer used across Qrvey widgets. | `@qrvey/utils/cache-managers/index` | [docs](docs/cache-managers/index.md) |
| `charts` | Constants, interfaces, adapters and helpers for chart types, aggregations, request adapters and chart configuration objects. | `@qrvey/utils/charts/index` | [docs](docs/charts/index.md) |
| `column_format` | Helpers and constants for column display formatting: string formats, date groups, duration parts, chart groups, shelf types and table types. | `@qrvey/utils/column_format/index` | [docs](docs/column_format/index.md) |
| `columns` | Interfaces, constants and helpers for dataset column definitions, compound columns and column property descriptors. | `@qrvey/utils/columns/index` | [docs](docs/columns/index.md) |
| `constants` | Shared top-level constants for charts and design tokens used across the whole library. | `@qrvey/utils/constants/index` | [docs](docs/constants/index.md) |
| `dates` | Adapters, constants, helpers and interfaces for date parsing, formatting, grouping, validation and relative date ranges. | `@qrvey/utils/dates/index` | [docs](docs/dates/index.md) |
| `elements` | Helpers and interfaces for DOM element positioning, overlap detection, responsive layout and grid strategy calculations. | `@qrvey/utils/elements/index` | [docs](docs/elements/index.md) |
| `filters` | Adapters, classes, constants, helpers and interfaces for filter management, filter panel views, backend validators and filter settings. | `@qrvey/utils/filters/index` | [docs](docs/filters/index.md) |
| `format` | Utilities for number, date, file-size and duration formatting, format definitions, localization helpers and format output adapters. | `@qrvey/utils/format/index` | [docs](docs/format/index.md) |
| `formulas` | Interfaces and constants for formula definitions and formula types used in Qrvey chart and panel configurations. | `@qrvey/utils/formulas/index` | [docs](docs/formulas/index.md) |
| `general` | General-purpose utilities for arrays, objects, strings, functions and numeric operations used throughout the Qrvey platform. | `@qrvey/utils/general/index` | [docs](docs/general/index.md) |
| `globalization` | i18n interfaces, label maps, helpers and a service builder (i18next) for localising Qrvey widgets and components. | `@qrvey/utils/globalization/index` | [docs](docs/globalization/index.md) |
| `interfaces` | Shared TypeScript interfaces for charts, widget configurations, Qrvey entities, format configs, custom tokens and chart builder contracts. | `@qrvey/utils/interfaces/index` | [docs](docs/interfaces/index.md) |
| `qrvey` | Constants and interfaces specific to Qrvey app entities: app types, form types, dataset types, statuses and calculation descriptors. | `@qrvey/utils/qrvey/index` | [docs](docs/qrvey/index.md) |
| `services` | Endpoint constants, API helpers, adapters and interfaces for Qrvey backend services (charts, metrics, themes, datasets, uCharts, etc.). | `@qrvey/utils/services/index` | [docs](docs/services/index.md) |
| `stencil` | Decorators and utilities for Stencil.js web components: component config helpers, ref utilities and Stencil-specific patterns. | `@qrvey/utils/stencil/index` | [docs](docs/stencil/index.md) |
| `themes` | Constants, interfaces and helpers for theme management: CSS variable names, color utilities, RGBA/hex regex patterns and canvas theme variables. | `@qrvey/utils/themes/index` | [docs](docs/themes/index.md) |
| `tokens` | Utilities for working with custom design tokens: parsing, cleaning, key-extraction and box-parse helpers. | `@qrvey/utils/tokens/index` | [docs](docs/tokens/index.md) |
| `typescript` | TypeScript utility types and decorators: DeepPartial, DeepRequired, Debounce, Throttle, ValueOf and other general-purpose type helpers. | `@qrvey/utils/typescript/index` | [docs](docs/typescript/index.md) |

<!-- MODULES_END -->

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