@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
JSON
{
"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"
}
}