
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
Working with the Node.js file system can be cumbersome. File-easy simplifies common file operations with a clean and easy-to-use API, making file management a breeze.
File utilities to speed up creating document files, setting default extension, and getting a slug from a string. file-easy provides a simple, lightweight, and easy-to-use set of functions for common file-related tasks. If you're tired of writing boilerplate code for handling filenames, creating text files, or generating URL-friendly slugs, file-easy simplifies these operations so you can focus on your core application logic. It's particularly well-suited for projects that frequently handle text files or need to sanitize filenames for web use. No more complex regex or manual string manipulation – just clean, efficient file handling.
npm i file-easy
.slug()const fileEasy = require('file-easy')
// getting a slug
let fn = 'source Filename';
let slug = fileEasy.slug(fn)
console.log('Slug:', slug)
Will show:
Slug: source-filename
const fileEasy = require('file-easy')
let names = [
'Simple_File$Goes%Here',
'%%Welcome** Buddy%&^#$%'
];
names.forEach((name) => {
console.log('Source: "', name, '" is:', fileEasy.slug(name))
})
Will show:
Source: " Simple_File$Goes%Here " is: " simple-file-goes-here
Source: " %%Welcome** Buddy%&^#$% " is: " welcome-buddy
.setDefaultExtension()const fileEasy = require('file-easy')
// f1 is filename.js (no extension in original, apply extension)
let f1 = fileEasy.setDefaultExtension('filename', '.js)
// f2 is filename.js (extension already exists)
let f2 = fileEasy.setDefaultExtension('filename.js', '.json')
// f3 is filename. (extension starts with . in original)
let f3 = fileEasy.setDefaultExtension('filename.', '.js')
.saveDocument()const fileEasy = require('file-easy')
let filename = './docs/sample.txt'
let content = 'String to go in'
/**
* Creates the `sample.txt` file in `./docs` folder
* If path does not exist, it will create it (e.g. `./docs`)
* The file is saved as a utf-8 format (standard format)
*/
fileEasy.saveDocument(filename, content)
Save content in a file using utf8 format.
stringAppend specified extension if needed.
stringConvert a string into an identifier.
Save content in a file using utf8 format.
Kind: global function
Throws:
Error If input is invalid or if there was an error during the save process.| Param | Type | Description |
|---|---|---|
| filename | string | The filename to create. It can also include a path ending with the filename. Path will be created if not exists. |
| content | string | The content to place in the file. |
stringAppend specified extension if needed.
Kind: global function
Returns: string - filename with either existing or specified extension
Throws:
TypeError If filename or extension is not a string.Error If extension is empty or doesn't start with a dot.| Param | Type | Description |
|---|---|---|
| filename | string | The filename to check for an existing extension. |
| extension | string | The extension to append if filename has no extension. It should start with a dot (e.g. .txt) |
stringConvert a string into an identifier.
Kind: global function
Returns: string - The identifier string.
The following operations are performed on the string:
| Param | Type | Description |
|---|---|---|
| s | string | The string to convert. |
Ion Gireada - shytiger[at]yahoo.com
This project is licensed under the MIT License - see the LICENSE file for details.
FAQs
Working with the Node.js file system can be cumbersome. File-easy simplifies common file operations with a clean and easy-to-use API, making file management a breeze.
We found that file-easy 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
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.