- Updated base files
cson2json
andjson2cson
will now output the error if the input file is invalid- Closes issue #78
parseCSString
no longer creates thesandbox
variable if it was missing, the responsibility of such things should be, and now is, handled via the eval function of coffeescript which is what that method uses- This is a major breaking change as parsing coffeescript files will now by default run still in a virtual machine but now in the global context rather than their own context
- If you are parsing untrusted coffeescript files, you should now setup the
sandbox
option yourself with the appropriate values - If you are parsing trusted coffeescript files, or not parsing coffeescript files (e.g. only CSON files), then this change won't impact you
- If you are parsing untrusted coffeescript files, you should now setup the
- This change is done such that the result object from
parseCSString
passesresult.__proto__ === Object.prototype
which before it did not as the different context caused the prototype to point to a different contextsObject
causing the assertion to fail
- This is a major breaking change as parsing coffeescript files will now by default run still in a virtual machine but now in the global context rather than their own context
- Updated dependencies
- Updated internal packing conventions
- Updated dependencies to avoid duplicate CoffeeScript installations
- Fixed stdin support on Node 0.8
- Every function now also supports callbacks (2nd or 3rd argument)
- Errors will now always maintain their stacks where possible
- Simplified some aliases (b/c break)
- Changed
stringify
to now accept the arguments you would expectstringify(data, replacer, indent)
- Changed
parse
to delegate toparseCSONString
instead ofparseString
- Changed
load
to delegate toparseCSONFile
instead ofparseFile
- Removed
require
(it use to delegate torequireFile
)
- Changed
- Updated dependencies
- API has been rewritten to be more robust and simple
- CSON data is now parsed and stringified with the cson-parser package
- CLI now supports stdin input
- Node v0.11 and IO.js support
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Fixed error handling in certain conditions
- Updated dependencies
- Updated dependencies
- Updated dependencies
- Better error handling when requiring a file that has syntax errors
- Fixed stringify of '{}' giving '{{}}' which is invalid
- Closes issue #21
- Updated dependencies
- Added
npm-shrinkwrap.json
that ensuresjs2coffee
usescoffee-script
1.4.0 - Updated dependencies
- Dropped require extensions following CoffeeScript's lead
- If you still want them, add them to your application manually
- Updated dependencies
- coffee-script 1.3.x to 1.4.x
- You can now use
require
to require CSON files- Thanks to Linus G Thiel for pull request #16
- Drops node v0.4 support, min supported version now v0.6
- Fixed
json2cson
andcson2json
binaries- Thanks to Zhang Cheng for pull request #15
- Re-added markdown files to npm distribution as they are required for the npm website
- Fixed try surrounding a next callback
- CSON files are now sandboxed by default, ensuring they can't do bad stuff to your global scope
- Added
opts
as the middle argument forparseFile
,parseFileSync
,parse
, andparseSync
functions- You can use this to specify
sandbox: false
if you do not want sandboxing on CSON files
- You can use this to specify
- We no longer have
require
cache our configuration files
- Fixed main file location
- Parsing file changes
- If files have
js
orcoffee
extension, will try to require them - If files have
json
orcson
extension, will try to read them - Otherwise will throw an unknown extension error
- If files have
- Moved tests from Mocha to Joe
- Fixed some CSON use cases and added more unit tests
- Async calls now act asynchronously
- Thanks to Ryan LeFevre for pull request #10 -
- Updated tests
- Updated
package.json
for latest npm - Cleaned up the code
- CoffeeScript dependency is now local
- Added synchronous API calls to the README
- Stringify functions now output CSON strings, instead of JSON strings
- Use
JSON.stringify
if you want JSON strings
- Use
- Added
json2cson
andcson2json
bin tools
- Initial commit