add linting

This commit is contained in:
Paul Carleton 2025-10-30 13:06:52 +00:00
commit ae9451f5e0
No known key found for this signature in database
6 changed files with 6617 additions and 5337 deletions

24
.github/workflows/ci.yml vendored Normal file
View file

@ -0,0 +1,24 @@
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
cache: npm
- run: npm ci
- run: npm test
- run: npm run lint

20
.prettierrc.json Normal file
View file

@ -0,0 +1,20 @@
{
"printWidth": 140,
"tabWidth": 4,
"useTabs": false,
"semi": true,
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": true,
"bracketSameLine": false,
"proseWrap": "always",
"arrowParens": "avoid",
"overrides": [
{
"files": "**/*.md",
"options": {
"printWidth": 280
}
}
]
}

20
eslint.config.mjs Normal file
View file

@ -0,0 +1,20 @@
// @ts-check
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import eslintConfigPrettier from 'eslint-config-prettier/flat';
export default tseslint.config(
eslint.configs.recommended,
...tseslint.configs.recommended,
{
linterOptions: {
reportUnusedDisableDirectives: false
},
rules: {
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
'@typescript-eslint/no-explicit-any': 'off'
}
},
eslintConfigPrettier
);

11811
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,22 +1,29 @@
{
"name": "conformance",
"version": "1.0.0",
"type": "module",
"scripts": {
"start": "tsx src/runner.ts",
"test": "jest"
},
"devDependencies": {
"@jest/globals": "^29.7.0",
"@types/jest": "^29.5.8",
"jest": "^29.7.0",
"ts-jest": "^29.1.1",
"tsx": "^4.7.0",
"typescript": "^5.3.0"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.20.1",
"express": "^5.1.0",
"zod": "^3.25.76"
}
"name": "conformance",
"version": "1.0.0",
"type": "module",
"scripts": {
"start": "tsx src/runner.ts",
"test": "jest",
"lint": "eslint src/ && prettier --check .",
"lint:fix": "eslint src/ --fix && prettier --write ."
},
"devDependencies": {
"@eslint/js": "^9.8.0",
"@jest/globals": "^29.7.0",
"@types/jest": "^29.5.8",
"eslint": "^9.8.0",
"eslint-config-prettier": "^10.1.8",
"jest": "^29.7.0",
"prettier": "3.6.2",
"ts-jest": "^29.1.1",
"tsx": "^4.7.0",
"typescript": "^5.5.4",
"typescript-eslint": "^8.0.0"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.20.1",
"express": "^5.1.0",
"zod": "^3.25.76"
}
}

View file

@ -1,13 +1,13 @@
{
"compilerOptions": {
"target": "ES2020",
"module": "ES2020",
"moduleResolution": "node",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
"compilerOptions": {
"target": "ES2020",
"module": "ES2020",
"moduleResolution": "node",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}