Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
@fellow/eslint-plugin-coffee
Advanced tools
Transpiles coffee files (.coffee, .cjsx) and runs through eslint. Reports errors with original line numbers.
Transpiles coffee files first with coffeescript, then runs eslint checks on them. Line / Column reporting is processed through sourcemap data, so they will be accurate for your coffee files.
The plugin ignores some rules that are impossible to satisfy from coffeescript (see this file)
It additionally runs rules from coffeelint2 by creating a fake rule in eslint which wraps and maps the coffeelint2 rules.
Special thanks to Alexander Mextner for getting this started and providing the base code.
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install @fellow/eslint-plugin-coffee
:
$ npm install @fellow/eslint-plugin-coffee --save-dev
Note: If you installed ESLint globally (using the -g
flag) then you must also install @fellow/eslint-plugin-coffee
globally.
Edit your .eslintrc
file. and add this plugin. The easiest configuration is to just extend the base config provided to get a good set of rules (see here). You can omit the eslint-plugin-
prefix when configuring eslint.
Note: If you prefer the use of tabs, make sure to extend @fellow/coffee/recommended-tabs
instead.
{
"extends": ["plugin:@fellow/coffee/recommended"],
"plugins": [
"@fellow/coffee",
# ...
]
}
For ESLint rules only, add @fellow/coffee
to the plugins section of your .eslintrc
configuration file. This will cover many things well if use a good set of base rules. As always, you can omit the eslint-plugin-
prefix:
{
"plugins": [
"@fellow/coffee",
# ...
]
}
For better compatibility with other plugins (e.g. eslint-plugins-imports
), I also provide a "parser" which eslint can hook into. Plugins like the import
plugin do not run through checks or otherwise require module, you must set this plugin to wrap your default parser:
{
"parser": "@fellow/eslint-plugin-coffee",
"parserOptions": {
"parser": "babel-eslint", # original parser goes here (you must specify one to use this option).
"sourceType": "module", # any original parser config options you had.
"ecmaVersion": 6
},
"plugins": [
"@fellow/eslint-plugin-coffee",
# ...
],
"rules": {
"@fellow/coffee/coffeescript-error": ["error", {}],
# ...
}
}
To see how to add your own coffeelint-style rules, switch your .eslintrc
-> .eslintrc.js
and add:
require('@fellow/eslint-plugin-coffee').registerCoffeeLintRule('myRuleModule')
at the top.
Then include it in the rules
section of your .eslintrc.js
, passing any config options your rule might expect.
To learn how to write rules for coffeelint, check their docs.
For linting to work in VS Code, install the eslint
extension and add the following to your workspace settings:
"settings": {
...
"files.associations": {
"*.cjsx": "coffeescript"
},
"eslint.validate": [
"javascript",
"javascriptreact",
"coffeescript"
],
},
FAQs
Transpiles coffee files (.coffee, .cjsx) and runs through eslint. Reports errors with original line numbers.
The npm package @fellow/eslint-plugin-coffee receives a total of 211 weekly downloads. As such, @fellow/eslint-plugin-coffee popularity was classified as not popular.
We found that @fellow/eslint-plugin-coffee 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.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.