CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-eslint-config-universe

Shared ESLint configs for internal Expo projects providing multiple presets for different environments.

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

basic-config.mddocs/

Basic Configuration

Core JavaScript/TypeScript linting configuration suitable for general projects. Provides comprehensive ESLint rules, TypeScript support, and Prettier integration without platform-specific customizations.

Capabilities

Universe Default Configuration

The main export providing basic JavaScript/TypeScript linting with Prettier integration.

// Traditional ESLint config (.eslintrc.js)
module.exports = {
  extends: ['universe']
};

// Package.json configuration
{
  "eslintConfig": {
    "extends": "universe"
  }
}

Configuration Details:

  • Extends core JavaScript rules, TypeScript rules, and Prettier integration
  • Supports ECMAScript 2022 features
  • Includes Jest environment support
  • Provides import/export linting with eslint-plugin-import
  • Uses @typescript-eslint/parser for TypeScript files

Flat Configuration Default

ESLint 9+ flat configuration format for the basic preset.

// eslint.config.js
const { defineConfig } = require('eslint/config');
const config = require('eslint-config-universe/flat/default');
module.exports = defineConfig(config);

// Or with ES modules
import { defineConfig } from 'eslint/config';
import config from 'eslint-config-universe/flat/default';
export default defineConfig(config);

Usage Examples:

// Basic JavaScript project
// .eslintrc.js
module.exports = {
  extends: ['universe']
};

// TypeScript project with custom rules
// .eslintrc.js
module.exports = {
  extends: ['universe'],
  rules: {
    // Override specific rules as needed
    'no-console': 'error',
    'prefer-const': 'error'
  }
};

// Flat config for ESLint 9+
// eslint.config.js
const { defineConfig } = require('eslint/config');
const universeConfig = require('eslint-config-universe/flat/default');

module.exports = defineConfig([
  ...universeConfig,
  {
    rules: {
      // Additional custom rules
      'no-unused-vars': 'error'
    }
  }
]);

Included Rule Sets

Core JavaScript Rules

Comprehensive ESLint rules covering:

  • Code quality (no-unused-vars, no-console, eqeqeq)
  • Best practices (curly, prefer-const, no-var)
  • Formatting (semi, comma-dangle, space-before-blocks)
  • Error prevention (no-undef, no-unreachable, valid-typeof)

TypeScript Integration

  • Uses @typescript-eslint/parser for TypeScript files (*.ts, *.tsx, *.d.ts)
  • Includes @typescript-eslint plugin rules
  • Provides type-aware import resolution
  • Disables conflicting ESLint rules in favor of TypeScript equivalents

Import/Export Linting

  • Validates import/export statements
  • Enforces import ordering and grouping
  • Resolves module paths correctly for both JavaScript and TypeScript
  • Supports React Native module resolution patterns

Prettier Integration

  • Extends eslint-config-prettier to disable conflicting formatting rules
  • Includes eslint-plugin-prettier for formatting warnings
  • Treats Prettier violations as warnings rather than errors

File Extensions

Supports all standard JavaScript and TypeScript file extensions:

  • JavaScript: .js, .jsx
  • TypeScript: .ts, .tsx, .d.ts

Environment Settings

  • ECMAScript 2022 features enabled
  • Jest testing environment support
  • Node.js globals (console, module, require, etc.)
  • Implied strict mode for all files

Install with Tessl CLI

npx tessl i tessl/npm-eslint-config-universe

docs

basic-config.md

extension-utilities.md

index.md

native-config.md

node-config.md

typescript-analysis.md

web-config.md

tile.json