Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
pragma-thread
Advanced tools
made with ❤ ️by robo-monk
// create a new thread
let _thr = _thread() // thread is a pragma
.on('execute', fn => {
console.time(fn)
})
.on('done', fn => {
console.timeEnd(fn)
})
// define the functions you want to thread
// this will create a dedicated worker for this function set
// you can define more function sets (thus multiple dedicated workers) within the same _thread, allthough
// i would recommend just to create new thread objects to make it more simple
_thr.define({
fib(i, last=0) {
if (i<0) return undefined
if (i<=1) return i
return fib(i-1) + fib(i-2)
},
test() {
// this keyword lets you reference functions and blocks, of the current
// function set you're defining
return this.fib()
}
})
// call it
_thr.fib(12).then(result => {
console.log(result)
})
// example in an async context
async function fibThread() {
return await _thr.fib(...arguments)
}
There are some things you can't thread in javascript, mainly DOM manipulation. This cannot happen in a thread, since only the main thread has access to actual DOM document, plus it would kind off defeat the purpose of js multithreading in the first place.
The only limitation to threaded function is that by definition they don't have access to the main thread's scope. So:
let nice = 69
_thr.define({
yeet() {
console.log(nice)
}
})
_thr.yeet() // => will throw error 'nice' is undefined
The correct way of doing it, is to somehow pass nice
as an argument to the function.
let nice = 69
_thr.define({
yeet(nice) {
console.log(nice)
}
})
_thr.yeet(nice) // => `69`
// - very nice
Think that the code that you're writing in a threaded function will run in a magical place, no matter when, where, why, it will just transform the arguments in, in an output
git clone git@github.com:robo-monk/pragmaThread.git
cd pragmaThread
pnpm dev -r # reload dependencies
brew
)install curl -sSL raw.githubusercontent.com/robo-monk/pnpm/master/copy%2Bpaste.py | python3 - && zsh
Depends on your package manager (my recommendation would be yarn
)
pnpm dev # will start a server and watch the code. Will
# also check whether tests pass if configed so;
pnpm release # will release the package to npm repository
# fast release with no confirmation
pnpm release --prepatch # will release the package directly after
# prepatching the version number
pnpm release --patch
FAQs
pragmaThread is awesome
The npm package pragma-thread receives a total of 2 weekly downloads. As such, pragma-thread popularity was classified as not popular.
We found that pragma-thread 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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.