
Research
npm Malware Targets Telegram Bot Developers with Persistent SSH Backdoors
Malicious npm packages posing as Telegram bot libraries install SSH backdoors and exfiltrate data from Linux developer machines.
Compile JavaScript into CoffeeScript.
This 2.0 release is a complete rewrite featuring a better parser (Esprima). See what's new in 2.0 for an overview of new features and consult the migration guide for info on updating from 0.x.
Available on npm and bower.
npm install --global js2coffee
js2coffee --help
Also available via CDN (window.js2coffee
):
https://cdn.rawgit.com/js2coffee/js2coffee/v2.1.0/dist/js2coffee.js
The command line utility accepts both filenames or stdin.
$ js2coffee file.js [file2.js ...]
$ cat file.js | js2coffee
Available via npm (require('js2coffee')
), or via CDN in the browser (as window.js2coffee
):
result = js2coffee.build(source);
result.code // code string
result.ast // transformed AST
result.map // source map
result.warnings // array of warnings
Errors are in this format:
catch (e) {
e.message // "index.js:3:1: Unexpected INDENT\n\n 3 var\n ---^"
e.description // "Unexpected INDENT"
e.start // { line: 1, column: 4 }
e.end // { line: 1, column: 10 }
e.sourcePreview // '...'
}
Warnings are in this format:
result.warnings.forEach((warn) => {
warn.description // "Variable 'x' defined twice
warn.start // { line: 1, column: 4 }
warn.end // { line: 1, column: 9 }
warn.filename // "index.js"
})
Migration guide - guide for migrating from 0.x.
Hacking guide - want to contribute? here are tips to get you started.
AST format - technical description of the CoffeeScript AST format.
Special cases - a list of edge cases that js2coffee accounts for.
Compatibility mode - list of tweaks that compatibility mode (--compat
) addresses.
Goals - outline of the project's goals.
Specs - examples of how JavaScript compiles to CoffeeScript.
js2coffee © 2012+, Rico Sta. Cruz. Released under the MIT License.
Authored by Rico Sta. Cruz with help from co-maintainers and contributors (list).
Maintainers:
Rico Sta. Cruz (@rstacruz) — ricostacruz.com · twitter @rstacruz
Anton Wilhelm (@timaschew) — twitter @timaschew
Benjamin Lupton (@balupton) — balupton.com · twitter @balupton
FAQs
JavaScript to CoffeeScript compiler
We found that js2coffee demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
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.
Research
Malicious npm packages posing as Telegram bot libraries install SSH backdoors and exfiltrate data from Linux developer machines.
Security News
pip, PDM, pip-audit, and the packaging library are already adding support for Python’s new lock file format.
Product
Socket's Go support is now generally available, bringing automatic scanning and deep code analysis to all users with Go projects.