Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
TypeScript package which smartly trims and strips indentation from multi-line strings
The ts-dedent package is a utility designed to remove indentation from multi-line template strings in TypeScript and JavaScript. This is particularly useful when working with code that needs to be displayed to the user or when dealing with strings that should not have additional leading whitespace that is typically introduced by code formatting in source files.
Dedentation of template strings
This feature allows you to normalize the indentation of multi-line strings to enhance readability and maintain consistent formatting. The dedent function automatically adjusts the indentation based on the least indented line in the template string.
import dedent from 'ts-dedent';
const text = dedent`
This is a text
with inconsistent
indentation.`;
console.log(text); // Outputs:
// This is a text
// with inconsistent
// indentation.
Similar to ts-dedent, the dedent package is also aimed at removing excess indentation from multi-line strings. It works in a similar manner but does not specifically target TypeScript, making ts-dedent potentially more suitable for projects that are using TypeScript.
The strip-indent package removes leading whitespace from each line in a string. It differs from ts-dedent in that it does not consider the relative indentation levels between lines, but simply strips the common leading whitespace from all lines.
TypeScript package which smartly trims and strips indentation from multi-line strings.
import dedent from 'dedent';
console.log(dedent`A string that gets so long you need to break it over
multiple lines. Luckily dedent is here to keep it
readable without lots of spaces ending up in the string
itself.`);
console.log(dedent`
A string that gets so long you need to break it over
multiple lines. Luckily dedent is here to keep it
readable without lots of spaces ending up in the string
itself.
`);
A string that gets so long you need to break it over
multiple lines. Luckily dedent is here to keep it
readable without lots of spaces ending up in the string
itself.
console.log(dedent`
Leading and trailing lines will be trimmed, so you can write something like
this and have it work as you expect:
* how convenient it is
* that I can use an indented list
- and still have it do the right thing
That's all.
`);
Leading and trailing lines will be trimmed, so you can write something like
this and have it work as you expect:
* how convenient it is
* that I can use an indented list
- and still have it do the right thing
That's all.
console.log(dedent`
Also works fine
${1}. With any kind of
${2}. Placeholders
`);
Also works fine
1. With any kind of
2. Placeholders
console.log(dedent(`
Wait! I lied. Dedent can also be used as a function.
`);
Wait! I lied. Dedent can also be used as a function.
MIT
See history for more details.
2.2.0
2021-08-01 Add indentation to values with multiline strings & added ESM module2.1.1
2021-03-31 Update dependencies2.1.0
2021-03-24 Bugfixes2.0.0
2020-09-28 Bugfixes1.2.0
2020-09-28 Update dependencies and a couple of minor improvments1.1.0
2019-07-26 Update dependencies and fixed links in readme1.0.0
2018-06-14 Initial releasev2.2.0
Add indentation to values with multiline strings & added ESM module
FAQs
TypeScript package which smartly trims and strips indentation from multi-line strings
The npm package ts-dedent receives a total of 6,209,082 weekly downloads. As such, ts-dedent popularity was classified as popular.
We found that ts-dedent 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.