
Product
Introducing Socket Scanning for VS Code Marketplace Extensions
Socket now scans VS Code extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.
@testgorilla/tgo-linting
Advanced tools
Linting rules and code quality standards for TestGorilla projects.
npm install @testgorilla/tgo-linting @angular-eslint/template-parser --save-dev
This package supports both modern flat config (ESLint 9+) and legacy config formats (ESLint 8.x and below).
Recommended approach:
// eslint.config.js
import tgoPlugin from '@testgorilla/tgo-linting';
export default [
tgoPlugin.configs.recommended,
// Your other configurations
];
Manual configuration:
// eslint.config.js
import tgoPlugin from '@testgorilla/tgo-linting';
export default [
{
plugins: {
tgo: tgoPlugin,
},
rules: {
'tgo/require-data-testid': 'warn', // Example rule configuration
},
},
];
Using the legacy preset:
// .eslintrc.js
const { legacy } = require('@testgorilla/tgo-linting');
module.exports = {
// Your base config
extends: [
// Your other extends
],
plugins: ['tgo'],
overrides: [
{
files: ['*.html'],
parser: '@angular-eslint/template-parser',
...legacy,
},
],
};
Manual configuration:
// .eslintrc.js
module.exports = {
plugins: ['tgo'],
extends: [
// Your other extends
],
overrides: [
{
files: ['*.html'],
parser: '@angular-eslint/template-parser',
rules: {
'tgo/require-data-testid': 'warn', // Example rule configuration
},
},
],
};
tgo/require-data-testid rule only works with HTML/Angular templates. You must configure @angular-eslint/template-parser for .html files.@angular-eslint, the template parser is usually already configured for HTML files in your overrides.| Rule | Description |
|---|---|
tgo/require-data-testid | Ensures specific HTML elements have a data-testid attribute for E2E testing |
Detailed documentation for each rule, including examples and configuration options, can be found alongside the rule implementation:
To add a new ESLint rule to this package:
Create the rule file in src/rules/:
// src/rules/your-rule-name.ts
import { Rule } from 'eslint'
const rule: Rule.RuleModule = {
meta: {
type: 'problem', // or 'suggestion' or 'layout'
docs: {
description: 'Your rule description',
category: 'Best Practices',
recommended: false,
},
schema: [], // JSON schema for rule options
messages: {
// Define error messages here
},
},
create(context) {
// Your rule implementation
return {
// AST node visitors
}
},
}
export default rule
Add tests in src/rules/your-rule-name.spec.ts:
import { RuleTester } from '@typescript-eslint/rule-tester'
import rule from './your-rule-name'
const ruleTester = new RuleTester({
parser: '@angular-eslint/template-parser',
})
ruleTester.run('your-rule-name', rule, {
valid: [
// Test cases that should pass
],
invalid: [
// Test cases that should fail
],
})
Export the rule in src/rules/index.ts:
import yourRuleName from './your-rule-name'
export const rules = {
'require-data-testid': requireDataTestId,
'your-rule-name': yourRuleName,
}
Add to recommended config (optional) in src/configs/recommended.ts:
rules: {
'tgo/require-data-testid': 'warn',
'tgo/your-rule-name': 'error', // or 'warn'
}
Document the rule in src/rules/your-rule-name.md:
Update this README by adding the new rule to the rules table above
Test your changes:
nx test tgo-linting
nx build tgo-linting
nx build tgo-linting
nx test tgo-linting
nx lint tgo-linting
PROPRIETARY - © TestGorilla
FAQs
Linting rules and code quality standards for TestGorilla projects
We found that @testgorilla/tgo-linting demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.

Product
Socket now scans VS Code extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.

Research
/Security News
Socket uncovered two malicious VS Code themes in a GlassWorm-linked cluster with thousands of installs across VS Code Marketplace and Open VSX.

Security News
/Company News
Capital One is partnering with Socket to proactively secure its open source supply chain.