Socket
Book a DemoInstallSign in
Socket

@gathertown/worklet-loader

Package Overview
Dependencies
Maintainers
8
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gathertown/worklet-loader

worklet loader module for webpack

latest
Source
npmnpm
Version
3.0.0
Version published
Maintainers
8
Created
Source

Worklet Loader

This loader loads imported scripts as a URL pointing to (or containing) a compiled module. That URL can be used to add worklet modules.

NOTE! At the moment, this is basically just a fork of worker-loader and probably shouldn't be used. It's possible that, at some point, worker-loader will support worklets and this loader will be obsolete. It's also possible that there are worker-specific things that this package does that breaks worklets for one reason or another. So be careful!

Install

npm i -D worklet-loader

Usage

Inlined

App.js

import workletUrl from 'worklet-loader!./Worklet.js';

Config

webpack.config.js

{
  module: {
    rules: [
      {
        test: /\.worklet\.js$/,
        use: { loader: 'worklet-loader' }
      }
    ]
  }
}

App.js

import workletUrl from './file.worklet.js';

const audioCtx = new AudioContext();

audioCtx.audioWorklet.addModule(workletUrl).then(() => {
  // Do stuff with the now-registered processor
});

Options

NameTypeDefaultDescription
name{String}[hash].worklet.jsSet a custom name for the output script
inline{Boolean}falseInline the worklet as a Blob
publicPath{String}nullOverride the path from which worklet scripts are downloaded

name

To set a custom name for the output script, use the name parameter. The name may contain the string [hash], which will be replaced with a content dependent hash for caching purposes. When using name alone [hash] is omitted.

webpack.config.js*

{
  loader: 'worklet-loader',
  options: { name: 'WorkerName.[hash].js' }
}

inline

Inline the worklet as a Blob with the inline parameter

webpack.config.js

{
  loader: 'worklet-loader',
  options: { inline: true }
}

publicPath

Overrides the path from which worklet scripts are downloaded. If not specified, the same public path used for other webpack assets is used

webpack.config.js

{
  loader: 'worklet-loader'
  options: { publicPath: '/scripts/worklets/' }
}

Examples

Integrating with TypeScript

You will need to define a custom module for the exports of your worklet files

typings/custom.d.ts

declare module "*.worklet.ts" {
  const exportString: string;
  export default exportString;
}

App.ts

import fooBarWorkletUrl from 'worlet-loader!./fooBar.worklet.ts'

const audioCtx = new AudioContext();

// @ts-ignore: AudioContext.audioWorklet is not available as a type yet
audioCtx.audioWorklet.addModule(fooBarWorkletUrl).then(() => {
  // Do stuff with the now-registered processor
});

FAQs

Package last updated on 15 May 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