Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@handy-common-utils/fs-utils

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@handy-common-utils/fs-utils

File system operations related utilities based on fs-extra

  • 1.0.15
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
149
increased by24.17%
Maintainers
1
Weekly downloads
 
Created
Source

@handy-common-utils/fs-utils

File system operations related utilities based on fs-extra

How to use

First add it as a dependency:

npm install @handy-common-utils/fs-utils

Then you can use it in the code:

import { FsUtils } from '@handy-common-utils/fs-utils';

const [,, filePath, matchPattern, beforeString, afterString] = process.argv;
await FsUtils.addSurroundingInFile(filePath, new RegExp(matchPattern), beforeString, afterString);

You can either import and use the class as shown above, or you can import individual functions directly like below:

import { addSurroundingInFile } from 'fs-utils';

await addSurroundingInFile(README_MD_FILE, /<example>(.*?)<\/example>/gms, '<example><b>', '</b></example>');

API

@handy-common-utils/fs-utils

@handy-common-utils/fs-utils

Table of contents

Modules
  • fs-utils

Classes

@handy-common-utils/fs-utils / fs-utils / FsUtils

Class: FsUtils

fs-utils.FsUtils

Table of contents
Constructors
Methods
Constructors
constructor

new FsUtils()

Methods
addSurroundingInFile

Static addSurroundingInFile(filePath, matchPattern, addBefore, addAfter, fileEncoding?): Promise<void>

Add surrounding content to the matching sections in the text file.

Parameters
NameTypeDefault valueDescription
filePathstringundefinedpath to the file
matchPatternRegExpundefinedRegExp for deciding which section of the file would be processed. You must have a capturing group in the pattern. You may want to use these tricks: m flag, g flag, s flag, [\s\S]*, .*?
addBeforestringundefinedthe string to be added before the capturing group, no need to escape anything
addAfterstringundefinedthe string to be added before the capturing group, no need to escape anything
fileEncodingundefined | string'utf-8'encoding of the file
Returns

Promise<void>

Promise of void


changeFileContent

Static changeFileContent(filePath, transformContent, fileEncoding?): Promise<void>

Change the text file content. This function loads the full content of the file into memory as string, so that it is not suitable for huge (for example, > 500MB) files. If the new content and original content are the same, the file won't be touched.

Parameters
NameTypeDefault valueDescription
filePathstringundefinedpath to the file
transformContent(originalContent: string, filePath: string) => string | PromiseLike<string>undefinedfunction for getting the new file content
fileEncodingundefined | string'utf-8'encoding of the file
Returns

Promise<void>

Promise of void


escapeRegExpReplacement

Static escapeRegExpReplacement(input): string

Escape the ' sign in the string for using the string as the second argument to String.replace(...)

Parameters
NameTypeDescription
inputstringthe original string
Returns

string

a new string with all ' in the original string being replaced by '$'


replaceInFile

Static replaceInFile(filePath, matchPattern, replacementOrBuilder, fileEncoding?): Promise<void>

Replace the matching sections in the text file.

Parameters
NameTypeDefault valueDescription
filePathstringundefinedpath to the file
matchPatternRegExpundefinedRegExp for deciding which section of the file would be replaced. You may want to use these tricks: m flag, g flag, s flag, [\s\S]*, .*?
replacementOrBuilderstring | (matchPattern: RegExp, filePath: string) => string | PromiseLike<string>undefinedThe replacement string or a function for building the replacement string. Please note that you can use special replacement patterns but also you need to take care of the escaping. For details of special replacement patterns see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
fileEncodingundefined | string'utf-8'encoding of the file
Returns

Promise<void>

Promise of void


replaceInFileWithFileContent

Static replaceInFileWithFileContent(filePath, matchPattern, contentFilePath, fileEncoding?): Promise<void>

Replace the matching sections in the text file with content from another file.

Parameters
NameTypeDefault valueDescription
filePathstringundefinedpath of the file
matchPatternRegExpundefinedRegExp for deciding which section of the file would be replaced. You must have a capturing group in the pattern. You may want to use these tricks: m flag, g flag, s flag, [\s\S]*, .*?
contentFilePathstringundefinedpath of the file for getting the replacement content
fileEncodingundefined | string'utf-8'encoding of the files
Returns

Promise<void>

Promise of void

Modules

@handy-common-utils/fs-utils / fs-utils

Module: fs-utils

Table of contents
Classes
Functions
Functions
addSurroundingInFile

Const addSurroundingInFile(filePath, matchPattern, addBefore, addAfter, fileEncoding?): Promise<void>

Parameters
NameTypeDefault value
filePathstringundefined
matchPatternRegExpundefined
addBeforestringundefined
addAfterstringundefined
fileEncodingundefined | string'utf-8'
Returns

Promise<void>


changeFileContent

Const changeFileContent(filePath, transformContent, fileEncoding?): Promise<void>

Parameters
NameTypeDefault value
filePathstringundefined
transformContent(originalContent: string, filePath: string) => string | PromiseLike<string>undefined
fileEncodingundefined | string'utf-8'
Returns

Promise<void>


escapeRegExpReplacement

Const escapeRegExpReplacement(input): string

Parameters
NameType
inputstring
Returns

string


replaceInFile

Const replaceInFile(filePath, matchPattern, replacementOrBuilder, fileEncoding?): Promise<void>

Parameters
NameTypeDefault value
filePathstringundefined
matchPatternRegExpundefined
replacementOrBuilderstring | (matchPattern: RegExp, filePath: string) => string | PromiseLike<string>undefined
fileEncodingundefined | string'utf-8'
Returns

Promise<void>


replaceInFileWithFileContent

Const replaceInFileWithFileContent(filePath, matchPattern, contentFilePath, fileEncoding?): Promise<void>

Parameters
NameTypeDefault value
filePathstringundefined
matchPatternRegExpundefined
contentFilePathstringundefined
fileEncodingundefined | string'utf-8'
Returns

Promise<void>

Keywords

FAQs

Package last updated on 15 Nov 2021

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc