🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

@esmj/task

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@esmj/task

Tiny task management library which divide long task. Improve core web vitals and browser responsiveness.

latest
Source
npmnpm
Version
0.5.2
Version published
Maintainers
1
Created
Source

Task

The @esmj/task is tiny package for divide long task to new tasks and improve browser responsiveness, user experience and INP (core web vitals) metric. The new tasks are creating only if it is need.

Requirements

  • Node 18+

Install

npm install @esmj/task

Usage

It works for both Javascript modules (ESM and CJS).

import { autoYield, autoYieldStartPoint } from '@esmj/task';

(async () => {
  const tasks = [
    longRunnigTask1,
    normalTask1,
    normalTask2,
    longRunnigTask2
  ];

  autoYieldStartPoint()
  for (const task of tasks) {
    await autoYield()
    await task();
  }
})

API

autoYield()

Type: () => Promise<void> Method divide long task to new tasks if it is need. If autoYield method is called without set start point with autoYieldStartPoint method then the first call of autoYield method is forceYield. If autoYield logic is turn off then returns immediately resolved Promise.

forceYield()

Type: () => Promise<void> Method create new task for every call, yield to next event loop (0 ms delay).

nextFrameYield()

Type: () => Promise<void> Method create new task for every call, yield to next frame (16 ms delay).

autoYieldReset

Type: () => void Method reset logic for creating new tasks.

autoYieldStartPoint

Type: () => void Method set start point for autoYield method so first call of autoYield method not create new task with forceYield.

setConfig

Type: ({ autoEnable: boolean, autoShareContext: boolean }) => void Method config package autoEnable: turn on/off autoYield logic and autoShareContext: turn on/off shared context through global variable.

Keywords

task

FAQs

Package last updated on 14 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts