GithubHelp home page GithubHelp logo

filesurgeon's People

Contributors

nspragg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

libin1991

filesurgeon's Issues

Documentation not up to date

Cool module.

It seems that the documentation is not up to date in regards to edit, as edit is not static.

The current edit examples look like this:

import FileSurgeon from 'FileSurgeon';

const contents = FileSurgeon.edit(filename)
 .set(1, line)
 .filter(fn)
 .map(fn)
 .preview(); // writes changes to stdout

They should be like this:

import FileSurgeon from 'FileSurgeon';

const fileSurgeon = new FileSurgeon(filename)
const contents = fileSurgeon.edit()
 .set(1, line)
 .filter(fn)
 .map(fn)
 .preview(); // writes changes to stdout

Alternatively the call can be handled as follows:

import FileSurgeon from 'FileSurgeon';

const fileSurgeon = FileSurgeon.create(filename)
fileSurgeon
 .edit()
 .set(1, line)
 .filter(fn)
 .map(fn)
 .preview(); // writes changes to stdout

As a matter of interest, why is edit the only method that is not static? Why are the other methods static?

Handle absent newlines

Add error handling for input that does not contain newlines i.e breaks newline stream reader

Error if file does not exist

Description

When using FileSurgeon to create a new file an error is thrown when .save() is called.

Expected behaviour

If the file does not exist it is created.

Actual behaviour

The following error is thrown:

Error: ENOENT: no such file or directory, open 'C:\dev\wtf\vue-msal\dist\index.js'
Emitted 'error' event at:
    at lazyFs.open (internal/fs/streams.js:115:12)
    at FSReqWrap.oncomplete (fs.js:139:20)

A temp file is created, but it is empty.

Steps to reproduce

const destPath = 'my-tet-file.txt';
const fileSurgeon = FileSurgeon.create(destPath).edit();
fileSurgeon.append('Line 1');
fileSurgeon.append('Line 2');
fileSurgeon.save();

As a workaround I have created an empty file with the following function:

function createEmptyFile (filePath) {
  fs.closeSync(fs.openSync(filePath, 'w'))
}

If the function is called before .save() it works.

I also tried using .saveAs(destPath) and it throw the same error.

Operating system

Windows 10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.