
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@grafana/levitate
Advanced tools
A tool for helping to understand APIs exported and consumed by NPM packages (or any TypeScript code).
A tool for helping to understand APIs exported and consumed by NPM packages (or any TypeScript code).
Compare exports of different package versions
# Compare exports of different versions of a package
npx @grafana/levitate compare \
--prev @grafana/ui@8.2.5 \
--current @grafana/ui@canary
List imports
# List the imports used by a program
npx @grafana/levitate list-imports \
--path <PATH-TO-A-PACKAGE>/module.ts \
--filters "@common/pages" "@grafana/data" \
--verbose
List exports
# List the exports of a compiled package
npx @grafana/levitate list-exports \
--path <PATH-TO-A-PACKAGE>/index.d.ts
Check compatibility between a module and a package
To check the compatibility of code using a specific version of a package (e.g.: @grafana/data@9.0.0) against another version of the same package (e.g. @grafana/data@9.0.5).
# Check if the current module.ts usage of @grafana/data is
# compatible with the latest version of it
npx @grafana/levitate is-compatible \
--path <PATH-TO-A-PACKAGE>/module.ts \
--target "@grafana/data@latest"
To ignore changes (add, change, remove) from specific export names you can create a .levignore.js
file in the same directory where you invoke levitate.
The format of this file should be as follows:
module.exports = {
removals: [
// each entry is a regex
/Sample\.ignoreThisOne/,
/Sample\.ignoreThisOneToo/,
/Sample.*\b/,
'Sample.ignoreThisOneToo', // strings are converted to regex to match exact
],
changes: [
//...
],
additions: [
//...
],
};
Note:
compare
and is-compatible
commands. It doesn't affect the list-imports
or list-exports
commands..levignore.js
file in the same directory where you invoke levitate.If you are interested in contributing to the Levitate project please read the Contributing guide.
FAQs
A tool for helping to understand APIs exported and consumed by NPM packages (or any TypeScript code).
We found that @grafana/levitate demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 23 open source maintainers 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
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.