HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/design.system/node_modules/msw/src/browser/utils/checkWorkerIntegrity.ts
import { devUtils } from '~/core/utils/internal/devUtils'
import type { SetupWorkerInternalContext } from '../setupWorker/glossary'

/**
 * Check whether the registered Service Worker has been
 * generated by the installed version of the library.
 * Prints a warning message if the worker scripts mismatch.
 */
export async function checkWorkerIntegrity(
  context: SetupWorkerInternalContext,
): Promise<void> {
  // Request the integrity checksum from the registered worker.
  context.workerChannel.send('INTEGRITY_CHECK_REQUEST')

  const { payload } = await context.events.once('INTEGRITY_CHECK_RESPONSE')

  // Compare the response from the Service Worker and the
  // global variable set during the build.

  // The integrity is validated based on the worker script's checksum
  // that's derived from its minified content during the build.
  // The "SERVICE_WORKER_CHECKSUM" global variable is injected by the build.
  if (payload.checksum !== SERVICE_WORKER_CHECKSUM) {
    devUtils.warn(
      `The currently registered Service Worker has been generated by a different version of MSW (${payload.packageVersion}) and may not be fully compatible with the installed version.

It's recommended you update your worker script by running this command:

  \u2022 npx msw init <PUBLIC_DIR>

You can also automate this process and make the worker script update automatically upon the library installations. Read more: https://mswjs.io/docs/cli/init.`,
    )
  }
}