New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

fileseg

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fileseg

Manage config file segments with ease

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

fileseg

File segment fetching and replacing for configuration files

Build Status

Installation

Simply install by running npm install fileseg --save.

Usage

fileseg allows for configuration block management within files. For instance you may want to control a custom block of ignored paths in a .gitignore file:

node_modules
*.log
.vscode

# __fileseg__ BEGIN:customConfig
some-application-path
another/path
# __fileseg__ END:customConfig

Reading and editing this configuration section is easy with fileseg:

const createAdapter = require("fileseg");

const adapter = createAdapter(".gitignore");
adapter
    .read("customConfig")
    .then(function(config) {
        const newConfig = [
            ...config.split("\n"),
            "somefile.exe"
        ];
        return adapter.write("customConfig", newConfig.join("\n"));
    });

The result within .gitignore would be:

node_modules
*.log
.vscode

# __fileseg__ BEGIN:customConfig
some-application-path
another/path
somefile.exe
# __fileseg__ END:customConfig

A file can have any number of blocks managed by fileseg. A file is created automatically when writing to a path that doesn't exist. Reading a block from a non-existent file will return null by default (this can be overidden in the options).

Configuring

fileseg can be configured by passing in a configuration object when creating the adapter:

const createAdapter = require("fileseg");

const adapter = createAdapter(".gitignore", {
    commentPrefix: "#",
    blockPrefix: " __fileseg__ ",
    beginText: "BEGIN:",
    endText: "END:",
    newLine: "\n",
    noSegment: null
});

You can override the default behaviour:

  • commentPrefix is the string used to prefix block delimiters. The default # character is quite common in configuration files, but it can be changed to other comment characters for other markups and languages.
  • blockPrefix is a library-specific identifier to increase the uniqueness of the block.
  • beginText and endText configure the values to delimit the start and end of a block. These must never be the same and should usually not be changed.
  • newLine controls the new line characters (both recognised and replaced). This could be set, for example, to "\r\n" in a pure Windows project.
  • noSegment is the default return value for when a segment is not found (includes non-existent files).

Keywords

config

FAQs

Package last updated on 30 May 2017

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