UNPKG

@echecs/pgn

Version:

Parse PGN (Portable Game Notation) chess games into structured JavaScript objects. Zero dependencies, strict TypeScript, no-throw API.

85 lines 2.65 kB
{ "author": "Adrian de la Rosa <adrian@delarosab.me>", "bugs": { "url": "https://github.com/mormubis/pgn/issues" }, "description": "Parse PGN (Portable Game Notation) chess games into structured JavaScript objects. Zero dependencies, strict TypeScript, no-throw API.", "devDependencies": { "@eslint/js": "^10.0.1", "@mliebelt/pgn-parser": "^1.4.15", "@types/node": "^25.5.0", "@typescript-eslint/parser": "^8.57.0", "@vitest/coverage-v8": "^4.1.0", "@vitest/eslint-plugin": "^1.6.12", "chess.js": "^1.4.0", "eslint": "^10.0.3", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import-x": "^4.16.2", "eslint-plugin-unicorn": "^63.0.0", "husky": "^9.1.7", "lint-staged": "^16.4.0", "peggy": "^5.1.0", "pgn-parser": "^2.2.1", "prettier": "^3.8.1", "tsdown": "^0.21.4", "typescript": "^5.9.3", "typescript-eslint": "^8.57.0", "vitest": "^4.1.0" }, "engines": { "node": ">=20" }, "exports": { ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" } }, "files": [ "/dist/", "LICENSE", "README.md", "CHANGELOG.md" ], "homepage": "https://github.com/mormubis/pgn#readme", "keywords": [ "chess", "fide", "game", "no-dependencies", "notation", "parser", "pgn", "pgn-parser", "portable game notation", "typescript" ], "license": "MIT", "main": "dist/index.js", "name": "@echecs/pgn", "repository": { "type": "git", "url": "https://github.com/mormubis/pgn.git" }, "type": "module", "types": "dist/index.d.ts", "version": "3.10.1", "scripts": { "bench": "vitest bench --run", "build": "pnpm run build:grammar && pnpm run build:entry", "build:entry": "tsdown", "build:grammar": "pnpm run grammar:compile", "format": "pnpm run format:ci --write", "format:ci": "prettier -l \"**/*.+(css|js|json|jsx|md|mjs|mts|ts|tsx|yml|yaml)\"", "grammar:compile": "peggy --format commonjs -o src/grammar.cjs src/grammar.pegjs", "grammar:test": "pnpm grammar:compile && peggy --format commonjs -o src/grammar.cjs --test-file ./test.pgn src/grammar.pegjs", "lint": "pnpm run lint:style && pnpm run lint:types", "lint:ci": "pnpm run lint:style --max-warnings 0 && pnpm run lint:types", "lint:style": "eslint \"src/**/*.{ts,tsx}\" \"*.mjs\" --fix", "lint:types": "tsc --noEmit --project tsconfig.json", "test": "pnpm grammar:compile && vitest run", "test:coverage": "pnpm run test --coverage", "test:watch": "pnpm run test --watch" } }