Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@gwhitney/detect-indent
Advanced tools
Detect the indentation of code (commonjs fork)
NOTE: This is a fork of sindresorhus/detect-indent modified solely to revert to providing CommonJS exports. It was created only to provide an upgrade path for detect-indent in the
pnpm
Node package manager. It is intended to be kept in sync with the upstreamdetect-indent
and use identical version numbers. The creator of this fork neither endorses nor criticizes the convention decisions on the part of the maintainers/ authors ofpnpm
anddetect-indent
that led to the necessity of this fork.
Pass in a string of any kind of text and get the indentation.
$ npm install detect-indent
Here we modify a JSON file while persisting the indentation:
import fs from 'node:fs';
import detectIndent from 'detect-indent';
/*
{
"ilove": "pizza"
}
*/
const file = fs.readFileSync('foo.json', 'utf8');
// Tries to detect the indentation and falls back to a default if it can't
const indent = detectIndent(file).indent || ' ';
const json = JSON.parse(file);
json.ilove = 'unicorns';
fs.writeFileSync('foo.json', JSON.stringify(json, undefined, indent));
/*
{
"ilove": "unicorns"
}
*/
Accepts a string and returns an object with stats about the indentation:
amount
{number} - Amount of indentation, for example 2
type
{'tab' | 'space' | undefined} - Type of indentation. Possible values are 'tab'
, 'space'
or undefined
if no indentation is detectedindent
{string} - Actual indentationThe current algorithm looks for the most common difference between two consecutive non-empty lines.
In the following example, even if the 4-space indentation is used 3 times whereas the 2-space one is used 2 times, it is detected as less used because there were only 2 differences with this value instead of 4 for the 2-space indentation:
html {
box-sizing: border-box;
}
body {
background: gray;
}
p {
line-height: 1.3em;
margin-top: 1em;
text-indent: 2em;
}
Furthermore, if there are more than one most used difference, the indentation with the most lines is selected.
In the following example, the indentation is detected as 4-spaces:
body {
background: gray;
}
p {
line-height: 1.3em;
margin-top: 1em;
text-indent: 2em;
}
FAQs
Detect the indentation of code (commonjs fork)
The npm package @gwhitney/detect-indent receives a total of 205,451 weekly downloads. As such, @gwhitney/detect-indent popularity was classified as popular.
We found that @gwhitney/detect-indent 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
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.