
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@xrplf/eslint-config
Advanced tools
The XRPL Foundation's base TypeScript ESLint config, following our styleguide
@xrplf/eslint-config
A super-strict TypeScript linting configuration for enforcing best practices.
First, install the needed development dependencies:
# Ensure TypeScript and the TS ESLint packages are installed
npm install --save-dev typescript typescript-eslint
# Ensure ESLint & Prettier are installed
npm install --save-dev eslint prettier
# Install plugins used by @xrplf/eslint-config
npm install --save-dev @eslint/js @eslint-community/eslint-plugin-eslint-comments eslint-config-prettier eslint-plugin-array-func eslint-plugin-import eslint-plugin-jsdoc eslint-plugin-n eslint-plugin-prettier eslint-plugin-tsdoc globals prettier @eslint/eslintrc eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y
# Install the Xpring ESLint config
npm install --save-dev @xrplf/eslint-config
Then, configure your ESLint to use the Xpring configuration. An example ESLint configuration (eslint.config.js) is provided below:
const globals = require('globals')
const eslintConfig = require('@xrplf/eslint-config/base')
const tseslint = require('typescript-eslint')
module.exports = [
{
ignores: [
'**/node_modules/',
'**/dist/',
'**/build/',
// Other directories/files to ignore for linting can be added here
],
},
...eslintConfig, // Use @xrplf/eslint-config/base config.
{
languageOptions: {
sourceType: 'module', // Allow the use of imports / ES modules
ecmaVersion: 2020, // Indicates the ECMAScript version of the code being linted, determining both the syntax and the available global variables
// Make ESLint compatible with TypeScript
parser: tseslint.parser,
parserOptions: {
// Enable linting rules with type information from our tsconfig
tsconfigRootDir: __dirname,
project: [
'./tsconfig.eslint.json',
],
ecmaFeatures: {
impliedStrict: true, // Enable global strict mode
},
},
// Specify global variables that are predefined
globals: {
...globals.node,
...globals.es2020,
},
},
// Specify additional plugins to use.
plugins: {},
// Rules additional rules to override.
rules: {},
},
{
// Specify overrides for specific files or directories
}
]
First, install the needed development dependencies:
# Ensure TypeScript and the TS ESLint parser are installed
npm install --save-dev typescript @typescript-eslint/parser
# Ensure ESLint & Prettier are installed
npm install --save-dev eslint prettier
# Install plugins used by @xrplf/eslint-config
npm install --save-dev @typescript-eslint/eslint-plugin eslint-plugin-import eslint-plugin-prettier eslint-plugin-jsdoc eslint-plugin-tsdoc eslint-plugin-array-func eslint-plugin-eslint-comments eslint-plugin-node
# Install the Xpring ESLint config
npm install --save-dev @xrplf/eslint-config
Then, configure your ESLint to use the Xpring configuration. An example ESLint configuration is provided below:
module.exports = {
root: true,
// Make ESLint compatible with TypeScript
parser: '@typescript-eslint/parser',
parserOptions: {
// Enable linting rules with type information from our tsconfig
tsconfigRootDir: __dirname,
project: ['./tsconfig.json'],
// Allow the use of imports / ES modules
sourceType: 'module',
ecmaFeatures: {
// Enable global strict mode
impliedStrict: true,
},
},
// Specify global variables that are predefined
env: {
node: true, // Enable node global variables & Node.js scoping
es2020: true, // Add all ECMAScript 2020 globals and automatically set the ecmaVersion parser option to ES2020
},
plugins: [],
extends: ['@xrplf'],
rules: {},
overrides: [],
}
We provide four different configurations.
The main configuration is strict and assumes that the project you're
linting uses React. This is @xrplf/eslint-config
, or @xrplf
for short.
If you're not using React but still want strict checking you can use
@xrplf/eslint-config/base
.
If you need a looser rule set for the purpose of transitioning onto the
strict rules and are using React you can use @xrplf/eslint-config/loose
.
Finally, if you need the looser rule set and are not using react you can
use @xrplf/eslint-config/loose-base
.
The looser configuration differs in the following ways:
no-unsafe-*
rules from @typescript-eslint
are disabledFAQs
The XRPL Foundation's base TypeScript ESLint config, following our styleguide
The npm package @xrplf/eslint-config receives a total of 248 weekly downloads. As such, @xrplf/eslint-config popularity was classified as not popular.
We found that @xrplf/eslint-config demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 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
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.