Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
async-script-loader
Advanced tools
The package will append a script to the body and load it asynchronously.
There are a few other packages that do very similar things, however, I've found them all to load the script every time it is requested. A lot of the time the intention is to load the script once and then resolve immediately if it is already resolved. For example a React component that needs to load a 3rd party library for it work can load it every time the component is used, but the script will only be appended once (the behavior can be overwritten).
Simply import the module and pass it the src to load.
import asyncScriptLoader from 'async-script-loader'
asyncScriptLoader('https://url.to/script.js')
.then(() => {
console.log('script has been loaded')
})
.catch(err => console.log(err))
Some scripts provide can take a callback that is executed once the script is loaded and ready for use (e.g. Google Maps). Just set the callback as CALLBACK_PLACEHOLDER
and it will replaced with one when executing. The returned Promise will be resolved when that callback is called instead of when the script has been loaded.
import asyncScriptLoader from 'async-script-loader'
asyncScriptLoader('https://url.to/script.js?callback=CALLBACK_PLACEHOLDER')
.then(() => {
console.log('script has been loaded')
})
.catch(err => console.log(err))
If you want to load the script every time it is requested, simply:
import asyncScriptLoader from 'async-script-loader'
asyncScriptLoader('https://url.to/script.js', true) // Second parameter is reload
.then(() => {
console.log('script has been loaded')
})
.catch(err => console.log(err))
FAQs
Load a script asynchronously
We found that async-script-loader 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
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.