Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
audio-worklet-plugin
Advanced tools
Automatically compiles modules loaded in Web Workers:
CSS.paintWorklet.addModule('./foo.js');
^^^^^^^^^^
gets bundled using webpack
The best part? That worklet constructor works just fine without bundling turned on too.
npm install -D css-worklet-plugin
Then drop it into your webpack.config.js:
+ const CssWorkletPlugin = require('css-worklet-plugin');
module.exports = {
<...>
plugins: [
+ new CssWorkletPlugin()
]
<...>
}
worklet.js: (our worklet module)
class PaintStuff {
...
}
registerPaint('paint-stuff', PaintStuff);
main.js: (our demo, on the main thread)
CSS.paintWorklet.addModule('./worklet.js')
main.css:
.foo {
background-image: paint(paint-stuff);
}
In most cases, no options are necessary to use CssWorkletPlugin.
globalObject
CssWorkletPlugin will warn you if your Webpack configuration has output.globalObject
set to window
, since doing so breaks Hot Module Replacement in web workers.
If you're not using HMR and want to disable this warning, pass globalObject:false
:
new CssWorkletPlugin({
// disable warnings about "window" breaking HMR:
globalObject: false
})
To configure the value of output.globalObject
for CssWorkletPlugin's internal Webpack Compiler, set globalObject
to any String:
new CssWorkletPlugin({
// use "self" as the global object when receiving hot updates.
globalObject: 'self' // <-- this is the default value
})
plugins
By default, CssWorkletPlugin
doesn't run any of your configured Webpack plugins when bundling worker code - this avoids running things like html-webpack-plugin
twice. For cases where it's necessary to apply a plugin to Worklet code, use the plugins
option.
Here you can specify the names of plugins to "copy" from your existing Webpack configuration, or provide specific plugins to apply only to worklet code:
module.exports = {
<...>
plugins: [
// an example of a plugin already being used:
new SomeExistingPlugin({ <...> }),
new CssWorkletPlugin({
plugins: [
// A string here will copy the named plugin from your configuration:
'SomeExistingPlugin',
// Or you can specify a plugin directly, only applied to Worker code:
new SomePluginToApplyOnlyToWorkers({ <...> })
]
})
]
<...>
}
Apache-2.0
FAQs
Webpack plugin to bundle CSS Worklet automagically.
The npm package audio-worklet-plugin receives a total of 3 weekly downloads. As such, audio-worklet-plugin popularity was classified as not popular.
We found that audio-worklet-plugin demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.