
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
smartbundle
Advanced tools
SmartBundle is a zero-config bundler tailored for library authors and package maintainers looking for simplicity and broad compatibility without the need for complex setup.
SmartBundle aims to make the build process seamless and distraction-free. Key features include:
package.jsonWe've also optimized several aspects to ensure the resulting package is as smooth to use as possible.
package.json file like the following:{
"name": "my-package",
"version": "1.0.0",
"private": true, // prevents accidental publishing
"type": "module",
"exports": "./src/index.ts" // entrypoint for building the package
}
npx smartbundle@latest
The built files will appear in the ./dist folder, including an auto-generated package.json file.
./dist folder and publish your package to the npm registry.| Target | Supported | Covered by e2e tests |
|---|---|---|
| Bun ^1.0.0 | ✔ | ✔ |
| Node ^18.0.0 | ✔ | ✔ |
| Node ^20.0.0 | ✔ | ✔ |
| Node ^22.0.0 | ✔ | ✔ |
| Node ^23.0.0 | ✔ | ✔ |
| Webpack ^4.47.0 | ✔ | ✔ |
| Webpack ^5.95.0 | ✔ | ✔ |
| Rspack ^1.0.0 | ✔ | ✔ |
| Vite ^5.0.0 | ✔ | not yet |
| Rollup ^4.0.0 | ✔ | not yet |
| Deno ^2.0.0 | ✔ | not yet |
| Parcel ^2.0.0 | ✔ | not yet |
| Browserify ^17.0.0 | ✔ | not yet |
| Esbuild ^0.24.0 | ✔ | not yet |
| Metro ^0.81.0 | ✔ | ✔ |
| Next.js/Turbopack ^13.0.0 | ✔ | not yet |
| TS/ModuleResolution: bundler | ✔ | ✔ |
| TS/ModuleResolution: node10 | ✔ | ✔ |
| TS/ModuleResolution: node16es | ✔ | ✔ |
| TS/ModuleResolution: node16cjs | ✔ | ✔ |
We aim to support as many bundlers and runtimes as possible. If the bundled package doesn't work with your bundler, please let us know.
Just install typescript@^5.0.0 as a dev dependency and start creating ts files.
Just install @babel/core@^7.0.0 as a dev dependency and create a Babel configuration file in the project root.
Just install react. More information on React integration can be found here.
package.json limitationsTo reduce potential errors and ensure smooth package generation, we follow a stricter configuration for package.json.
filesSmartBundle calculates the import graph and includes all necessary files, making files unnecessary and potentially confusing.
main, module, browser, typesWe rely on the exports field for entry points. These fields are redundant and automatically generated in ./dist/package.json.
privateSetting "private": true avoids accidental publishing of the source package by ensuring it is not mistakenly published to npm.
typeWe currently support only the module type for packages, with plans to support commonjs in future releases.
exportsOnly ESM/TS entry points are currently supported in exports. While conditional exports are not yet available, they’re planned for an upcoming release.
binCurrently, we support all bin specifications except for sh files. Also, we guarantee that the bin files will execute as expected.
Please, look at the known fixable issues before creating your own one. Some bugs already have a solution but cannot be fixed without user action.
Minification is typically needed only for production. During development, readable, unminified output helps with debugging.
We prioritize keeping the node_modules size manageable and avoid unnecessary dependencies. If your package does not require TypeScript, for instance, you don’t need to install those specific tools.
FAQs
zero-config bundler for npm packages
The npm package smartbundle receives a total of 3 weekly downloads. As such, smartbundle popularity was classified as not popular.
We found that smartbundle demonstrated a healthy version release cadence and project activity because the last version was released less than 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
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.