
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.
Tools for multilanguage & Markdown multilang
language:
also available in:
-

In a Markdown or HTML-like file is written the documentation in multiple languages.
One of these languages is the main, the others are commented with
and 
Then with multilang the other languages are extracted to generate one file for each of the other languages defined
$ npm install multilang -g
$ multilang doc-en.md
A .md file is generated for the other languages written in doc-en.md file
Any HTML or Markdown document is a multilenguage document if it has a main multilanguage directive.
<!--multilang v0 en:README.md es:LEEME.md fr:LISEZMOI.md de:LIESMICH.md -->
<!--multilang buttons-->
language: 
also available in:
[Spanish](LEEME.md) [French](LISEZMOI.md) [German](LIESMICH.md)
<!--lang:en-->
This is a little example
<!--lang:es--]
Este es un pequeño ejemplo
[!--lang:fr--]
Ce est un petit exemple
[!--lang:de--]
Das ist ein Beispiel
[!--lang:*-->
<!--lang:en-->
"*" means all languages
<!--lang:es--]
"*" es para indicar todos los idiomas
[!--lang:fr--]
"*" est d'indiquer toutes les langues
[!--lang:de--]
"*" steht für alle Sprachen
[!--lang:*-->
All you need is multilang!
In this example:
<!--multilanguage v0 en:README.md es:LEEME.md fr:LISEZMOI.md-->
is the directive for declare the languages
<!--multilanguage buttons-->
is the directive for declaring the place for the button section
[!--lang:fr--]
is the directive for declaring the language of the next section (use * for all languages)
var fs = require('fs');
var multilang = require('multilang');
var englishText = fs.readFileSync('README.md', {encoding:'utf8'});
var warnings = multilang.getWarnings(englishText);
if(warnings.lengt){
console.log('WARN', warnings);
}
var spanishText = multilang.changeDoc(englishText,'es');
console.log('spanish.md',spanishText);
(note about the example: do not use Sync functions in production, use async or promise version as you can see in codenautas
| function | use |
|---|---|
| changeDoc(text,lang) | receives a multilang text and a language code and returns de text of specified lang |
| warnings(text) | receives a list of warnings and returns a multilang text |
...................................
FAQs
Tools for multilanguage and Markdown multilang
The npm package multilang receives a total of 1 weekly downloads. As such, multilang popularity was classified as not popular.
We found that multilang demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 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
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.