decamelize
npmv6.0.1TypeScriptConvert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow
Adopt with care
decamelize is usable, with caveats. Last published 386 days ago.
- AAdoption: grade A, Excellent.
62.6M downloads per week and 4 known dependents.
- CMaintenance: grade C, Fair — worth a look.
Last published 386 days ago.
- AWeight: grade A, Excellent.
Zero runtime dependencies, about 6.8 KB installed.
- BSupply chain: grade B, Good.
This package has a single maintainer (bus factor of 1).
- ALicense: grade A, Excellent.
MIT — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding decamelize to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Compatibility
- Node.js
- node ^12.20.0 || ^14.13.1 || >=16.0.0
- Module format
- ESM only
- TypeScript
- Types included
- Install scripts
- None
Quick start
A usage example from the decamelize README.
import decamelize from 'decamelize';
decamelize('unicornRainbow');
//=> 'unicorn_rainbow'
decamelize('unicornRainbow', {separator: '-'});
//=> 'unicorn-rainbow'
decamelize('testGUILabel', {preserveConsecutiveUppercase: true});
//=> 'test_GUI_label'
decamelize('testGUILabel', {preserveConsecutiveUppercase: false});
//=> 'test_gui_label'decamelize vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| decamelizethis page | 62.6M | 4 | MIT | 1 year ago |
| camelcase | 95.7M | 2 | MIT | 1 day ago |
| indent-string | 94M | 2 | MIT | 1 day ago |
| get-east-asian-width | 69.3M | 1 | MIT | 1 day ago |
| split-on-first | 9.7M | 1 | MIT | 1 day ago |
| index-to-position | 0 | 1 | MIT | 1 day ago |
Dependencies
Declared by decamelize v6.0.1. Runtime dependencies are installed with the package; dev dependencies are not.
Dev (3)
Used by
Popular packages that depend on decamelize.
CLI app helper
A WDIO helper utility to provide several utility functions used across the project.
Microsofts' EdgeDriver for Node.js
Mozilla's Geckodriver for Node.js
Relationship graph
Dependencies (left) and dependents (right) of decamelize.
Frequently installed together
Utility to wait for a TCP port to open.
A helper utility for logging of WebdriverIO packages
Mozilla's Geckodriver for Node.js
Get an available port
Find apps installed on your system. This util will help to find executables of a known app like Chrome, Firefox,... on Windows, Linux, and macOS out of the box.
split a Text Stream into a Line Stream, using Stream 3
Resolve things like Node.js — ponyfill for `import.meta.resolve`
An NPM wrapper for handling the Safaridriver binary.
Download and launch browsers
Utility package providing type information for a variety of WebdriverIO interfaces
Microsofts' EdgeDriver for Node.js
An HTTP(s) proxy `http.Agent` implementation for HTTPS
Release history
1 release in the last two years, typically about 261 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 6.0.1latest | 1 year ago | 6.8 KB | MIT |
| 6.0.0 | 5 years ago | 6.7 KB | MIT |
| 5.0.1 | 5 years ago | 6.7 KB | MIT |
| 5.0.0 | 5 years ago | 6.6 KB | MIT |
| 4.0.0 | 6 years ago | 3.9 KB | MIT |
| 3.2.0 | 7 years ago | 4.2 KB | MIT |
| 3.1.1 | 7 years ago | 3.9 KB | MIT |
| 3.1.0 | 7 years ago | 3.9 KB | MIT |
| 3.0.0 | 7 years ago | 3.7 KB | MIT |
| 2.0.0 | 8 years ago | — | MIT |
| 1.2.0 | 10 years ago | — | MIT |
| 1.1.2 | 10 years ago | — | MIT |
| 1.1.1 | 11 years ago | — | MIT |
| 1.1.0 | 11 years ago | — | MIT |
| 1.0.0 | 11 years ago | — | MIT |
Overview
decamelize is an npm package that convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow. It is extremely widely used, with about 62.6M downloads per week and 4 known dependents in the graph. The latest version is 6.0.1, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow and value a battle-tested, widely-adopted solution.
When not to use it
Consider an alternative if you need to or if a more actively-maintained option better fits your npm stack.
Pros
- Large, well-established user base (62.6M weekly downloads).
- Ships TypeScript type definitions.
- Clear open-source license (MIT).
- Lean dependency tree (3 direct dependencies).
Cons
- No significant drawbacks detected from available metadata.
Auto-generated from collected registry metadata. No external claims are inferred.
Maintainers
Funding
Frequently asked questions
Should I use decamelize?
decamelize is usable, with caveats. Last published 386 days ago.
How do I install decamelize?
Run `npm install decamelize` to add decamelize to your npm project.
What license is decamelize released under?
decamelize is distributed under the MIT license.
How popular is decamelize?
decamelize has approximately 62,561,758 downloads per week and 4 known dependent packages.
Is decamelize still maintained?
The most recent release of decamelize (v6.0.1) was published 1 year ago.
Does decamelize run install scripts?
No. decamelize does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.