@knime/utils
v1.12.1
Published
Internal utility functions and constants shared across @knime packages.
Readme
KNIME® Frontend – Utils
This package is maintained by the UI Core Team.
It contains framework-agnostic utility functions and constants shared across KNIME projects — date/time formatting, hotkey helpers, string and number utilities, HTML sanitization, file-size and file-extension helpers, promise helpers, and an upload manager. It has no Vue dependency and can be used from any TypeScript/JavaScript project.
It's published as npm package: @knime/utils
Why is this not a @knime/kds-* package?
@knime/utils predates the design system and is consumed beyond it. It keeps its original name and is versioned independently (currently 1.x) — it is not part of the @knime/kds-* Changesets group. It is also pure TypeScript (no Vue, no styles), so its build does not need the Vue/CSS toolchain the component packages use.
Development
This package is part of the KNIME Design System monorepo. For setup instructions, see the root README.
Testing
Unit tests are based on Vitest. Run from the monorepo root:
pnpm run test:unit # Run all unit tests (packages/*)
pnpm run coverage # Generate coverage reportsDate/time tests assert against a fixed timezone (Europe/Berlin), configured in vite.config.ts.
Logging
You can log using the global consola variable (which the embedding application needs to provide).
See https://github.com/nuxt/consola for details.
Building
To build the package as an ES library:
pnpm run build # Build only this packageResults are saved to dist/ (compiled ESM plus type declarations under dist/src).
Using the utilities in an application
Install the @knime/utils npm package as a dependency:
pnpm add @knime/utilsimport { capitalize, formatFileSize, sleep } from "@knime/utils";
capitalize("hello"); // "Hello"
formatFileSize(1024); // "1.02 kB"
await sleep(100);Subpath exports
| Entry | Description |
| --------------------------- | ---------------------------------------------------------------- |
| @knime/utils | The utility functions and constants |
| @knime/utils/test-utils | Test helpers (e.g. muteConsole) |
| @knime/utils/globals.d.ts | Ambient consola global declaration (reference from a *.d.ts) |
| @knime/utils/audit | Programmatic API for the bulk advisory audit |
Requirements
The embedding app must provide:
- A
consolainstance compatible with the version defined inpackage.json
Audit tool
This package also ships a CLI tool (pnpm-bulk-audit) that audits dependencies
using the npm bulk advisory API — a drop-in workaround while pnpm audit is
broken. See audit/README.md for details.
