- [FIXED] formatter.js: Disabling quote doesn't work #97
- Changed to allow the
quote
option to be provided as a boolean so when set to false all quoting is ignored.
- Changed to allow the
- [ADDED]
writeBOM
option when formatting a csv #180 - Added tests for #102
- [FIXED] First row of CSV is removed when headers array is provided #252
- Skip trailing whitespace after a quoted field #223 - @peet
- Add support for passing in encoding. #185 - @pierrelouisd4j
- Update lodash to address #260
- Update
.npmignore
to not exclude build directory
- Updated to Node 8
- Rewrote in Typescript
- Calling the library as a function has been removed in favor of
csv.parse
.csv()
change tocsv.parse()
- Deprecated
fromString
in favor ofparseString
csv.fromString()
change tocsv.parseString()
- Deprecated
fromStream
in favor ofparseStream
acsv.fromStream()
change tocsv.parseStream()
- Deprecated
fromPath
in favor ofparseFile
csv.fromPath()
change tocsv.parseFile()
csv.createWriteStream
has been removed in favor ofcsv.format
csv.writeToBuffer
andcsv.writeToString
no longer accepts acallback
, instead they return a promisePromise
- Use safer-buffer polyfill to support node >= 8.
- Adding TypeScript declaration file. #190
- Allow renaming headers. #175
- Now removes the byte order mark from a UTF-8 file if this is present. #170
- Writing object ends up with function definitions #158
- Now handles tab delimited CSVs with only spaces for field values
- Handles CSVs with only spaces for field values
- Fix for last column empty when line end with a delimiter.
- Fast CSV will now handles the last column being empty.
- Fix for when chunk returned by transform to the parser ends with a space
- Functionality to give a reason when invalid data
- Fix problem with utf8 encoded streams that have multi-byte characters
- Allow passing sparse array of headers
- Node 4 and 5 support.
- Deprecating the
record
event.
- Removed try catch from emit to allow bubbling up of errors to process, if one is thrown #93
- This also fixed issue #92 where a loop was entered when
this.emit("error")
was called.
- This also fixed issue #92 where a loop was entered when
- Added new tests
- Fixed issue where parser_stream was emitting end early #87
- Changed to not emit end during flush
- Changed catch errors on emit and emit as "error" event
- Added support for node
v0.12
- Fixed issues with ordering of headers when specifying headers in a write stream #77
- Fixed issue where headers were not being written if no data was supplied to write stream.
- Fixed issues with error handling and not registering an error handler on stream #68
- Added support for ignoring quoting while parsing #75
- Fixed issues with
v0.11
stream implementation #73 - Fixed issues with
pause/resume
and data events inv0.10
#69 - Fixed the double invoking of done callback when parsing files #68
- Refactored tests
- Fixed issue with
writeToString
andwriteToPath
examples #64 - Fixed issue with creating a csv without headers #63
- Fixed issue where line data was not being passed between transforms in the parser_stream
- Added support for async transforms #24
- Added support for async validation
- Added support for new data format
[
[["header", "value1"], ["header2", "value2"]],
[["header", "value2"], ["header2", "value2"]]
]
- Added support for forcing the quoting columns and headers
quoteColumns
- Can be a boolean, object or array to specify how quoting should be done (see README)quoteHeaders
- Can be a boolean, object or array to specify how quoting should be done (see README)
- More tests
- Code refactor and clean up
- Added support for comments. #56
- Added ability to include a
rowDelimiter
at the end of a csv with theincludeEndRowDelimiter
option #54 - Added escaping for values that include a row delimiter
- Added more tests for new feature and escaping row delimiter values.
- Added ability to specify a rowDelimiter when creating a csv.
- Added discardUnmappedColumns option to allow the ignoring of extra data #45
- Fixed race condition that occurred if you called pause during a flush.
- Fixed misspelling of
delimiter
#40
- Added transform support to formatters
- When using
createWriteStream
you can now you thetransform
method to specify a row transformer. - When using other transform methods you can specify a
transform
option.
- When using
- You can now specify
objectMode
when parsing a csv which will causedata
events to have an object emitted. - You can now pipe directly to the stream returned from
createWriteStream
- You can now transform csvs by piping output from parsing into a formatter.
- Fixed issue where not all rows are emitted when using
pause
andresume
- Added more fine grained control to
.pause
and.resume
- You can now pause resume between chunks
- Add new
createWriteStream
for creating a streaming csv writer
- Fixed issue with having line breaks containing
\r\n
- Fixed issue with
\r
line break in parser
- Added multiline value support
- Updated escaping logic
- More performance enhancements
- More robusts test cases
- Removed support for having two quote types instead it just supports a single quote and escape sequence. Source code (zip)
- Fixed issue with formatter handling undefined or null values.
- Changed formatter not not include a new line at the end of a CSV.
- Added pause and resume functionality to ParserStream
- Added trim, ltrim, and rtrim to parsing options