
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
precinct-80
Advanced tools
Unleash the detectives
npm install --save precinct
Uses the appropriate detective to find the dependencies of a file or its AST.
Supports:
var precinct = require('precinct');
var content = fs.readFileSync('myFile.js', 'utf8');
// Pass in a file's content or an AST
var deps = precinct(content);
You may pass options (to individual detectives) based on the module type via an optional second object argument `detective(content, options), for example:
Example call: precinct(content, { amd: { skipLazyLoaded: true } });
amd, commonjs, css, es6, less, sass, scss, stylus, ts, tsxCurrent options:
amd.skipLazyLoaded: tells the AMD detective to omit lazy-loaded dependencies (i.e., inner requires).es6.mixedImports: allows for all dependencies to be fetched from a file that contains both CJS and ES6 imports.css.url: tells the CSS detective to include url() references to images, fonts, etc.Finding non-JavaScript (ex: Sass and Stylus) dependencies:
var content = fs.readFileSync('styles.scss', 'utf8');
var deps = precinct(content, { type: 'sass' });
var deps2 = precinct(content, { type: 'stylus' });
Or, if you just want to pass in a filepath and get the dependencies:
var paperwork = require('precinct').paperwork;
var deps = paperwork('myFile.js');
var deps2 = paperwork('styles.scss');
precinct.paperwork(filename, options)Supported options:
includeCore: (default: true) set to false to exclude core Node dependencies from the list of dependencies.fileSystem: (default: undefined) set to an alternative fs implementation that will be used to read the file path.precinct(content, options).Assumes a global install of npm install -g precinct
precinct [options] path/to/file
precinct --help to see optionsMIT
FAQs
Unleash the detectives
The npm package precinct-80 receives a total of 35 weekly downloads. As such, precinct-80 popularity was classified as not popular.
We found that precinct-80 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.

Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.

Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.