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

@songkick/replaceinfiles

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@songkick/replaceinfiles

Utility to replace a map of strings in many files

  • 1.1.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

replace-in-files Build Status

Utility to replace a map of strings in many files

Use cases:

Usage

Install

npm i replaceinfiles

Create or generate a replace map, save in a file or pipe to stdin

{
  "foo": "bar",
  "hello": "goodbye",
  "world": "earth",
  "%API_URL%": "https://myservice.com/api"
}

Run

Usage: replaceinfiles [options]

Options:

    -h, --help                     output usage information
    -V, --version                  output the version number
    -s, --source <glob>            glob matching files to be updated
    -d, --dest-pattern <path>      pattern to output files
    -o, --output-path <path>       path to output report file default: stdout
    -S, --silent                   do not output report
    -r, --replace-map-path <path>  path to replace map json, default: stdin
    -e, --encoding <string>        used for both read and write, default "utf-8"

Examples

  • Streaming replace map from stdin

    cat replace-map.json | replaceinfiles -s src/*.css -d 'dist/{base}'
    
  • Getting replace map from file

    replaceinfiles -r replace-map.json -s src/*.css -d 'dist/{base}'
    
  • Write report to a file

    replaceinfiles -r replace-map.json -s src/*.css -d 'dist/{base}' > report.json
    # or
    replaceinfiles -r replace-map.json -s src/*.css -d 'dist/{base}' -o report.json
    

Report

replaceinfiles generates a report on stdout or specified path for you to pipe other tools if you need to.

Here is an example:

{
  "options": {
    "source": "test/src/*.txt",
    "destPattern": "test/dist/{base}",
    "outputPath": null,
    "replaceMapPath": null,
    "replaceMap": {
      "hello": "goodbye",
      "world": "earth"
    },
    "encoding": "utf-8"
  },
  "result": [
    {
      "src": "test/src/one.txt",
      "dest": "test/dist/one.txt",
      "changed": true
    },
    {
      "src": "test/src/three.txt",
      "dest": "test/dist/three.txt",
      "changed": false
    },
    {
      "src": "test/src/two.txt",
      "dest": "test/dist/two.txt",
      "changed": true
    }
  ]
}

Options details

-s, --source: A glob matching the files you want to replace from

-d, --dest-pattern: A pattern to define updated files destination. You can use all the path.parse() result values (root, dir, name, base, ext), example: -d './dist/{dir}/{name}.build{ext}'

-r, --replace-map-path: Path to a replace map JSON file ({'stringToReplace': 'replaceWithThat', '..', '...'}). stdin is used as default.

-o, --output-path: A path to write the report, default is stdout

-S, --silent: Do not output report, bypasses -o

-e, --encoding: Used for both read and write, default: utf-8

API

You can also run replaceinfiles from node.

var replaceinfiles = require('replaceinfiles');

var options = {
  source: './test/*.txt',
  destPattern: './test/dist/{base}',
  replaceMap: {
    foo: 'bar'
  }
  // or, specify a path to your replaceMap json file
  // replaceMapPath: './map.json'
};

replaceinfiles(options)
  .then(function(report){
    // ...
  })
  .catch(function(error) {
    // ...
  });

If you do not specify replaceMap or replaceMapPath then stdin will be used.

Keywords

FAQs

Package last updated on 05 Jan 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

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