mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Per review feedback (use a real markdown parser with an AST linked to source positions), rewrite verify-md-wrap to parse each file with mdast-util-from-markdown (the CommonMark parser behind remark) + the GFM extension, then flag any `paragraph` node whose source span covers more than one line. Why a parser over the hand-rolled line scanner: - It is a checker, not a formatter — it reports and never rewrites, so zero cosmetic churn (no emphasis-marker or table-delimiter normalization, which is why Prettier was rejected for this). - The AST owns every structural exemption (fenced code of any fence length, tables, lists, blockquotes, HTML, headings, reference defs), fixing both bugs the regex version had: it now catches wrapped list-item / blockquote prose (a `paragraph` inside those nodes) and no longer false-positives on a longer ```` fence wrapping an inner ```. Also unwrap two pre-existing hard-wrapped blockquotes (architecture.md, adding-a-tool.md) that the stricter AST check correctly surfaced.
57 lines
1.9 KiB
JSON
57 lines
1.9 KiB
JSON
{
|
|
"name": "@deepseek-ai/dsh-root",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"packageManager": "pnpm@11.7.0",
|
|
"engines": {
|
|
"node": ">=24"
|
|
},
|
|
"workspaces": [
|
|
"vendor/*",
|
|
"packages/*"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc -b tsconfig.build.json && tsdown",
|
|
"typecheck": "tsc -b tsconfig.build.json && tsc -p tsconfig.typecheck.json",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"test": "vitest run",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
"knip": "knip",
|
|
"publint": "tsx scripts/publint-all.ts",
|
|
"doc-typecheck": "tsx scripts/doc-typecheck.ts",
|
|
"verify-event-taxonomy": "tsx scripts/verify-event-taxonomy.ts",
|
|
"verify-md-wrap": "tsx scripts/verify-md-wrap.ts",
|
|
"gen-module-graph": "tsx scripts/gen-module-graph.ts",
|
|
"verify-module-graph": "tsx scripts/gen-module-graph.ts --check",
|
|
"constraints": "tsx scripts/check-workspace-constraints.ts",
|
|
"doc-sync": "pnpm run doc-typecheck && pnpm run verify-event-taxonomy && pnpm run verify-md-wrap",
|
|
"hygiene": "pnpm run knip && pnpm run publint && pnpm run constraints",
|
|
"demo:echo": "node --expose-internals --import tsx examples/echo-agent/start.ts",
|
|
"demo:coding": "node --expose-internals --import tsx examples/coding-agent/start.ts",
|
|
"postinstall": "lefthook install"
|
|
},
|
|
"devDependencies": {
|
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/node": "^25.3.5",
|
|
"@vitest/coverage-v8": "^4.1.8",
|
|
"eslint": "^10.4.1",
|
|
"fast-check": "^4.8.0",
|
|
"knip": "^6.16.1",
|
|
"lefthook": "^2.1.9",
|
|
"mdast-util-from-markdown": "^2.0.3",
|
|
"mdast-util-gfm": "^3.1.0",
|
|
"micromark-extension-gfm": "^3.0.0",
|
|
"publint": "^0.3.21",
|
|
"tsdown": "^0.22.2",
|
|
"tsx": "^4.22.4",
|
|
"typescript": "^6.0.3",
|
|
"typescript-eslint": "^8.61.0",
|
|
"vite-tsconfig-paths": "^6.1.1",
|
|
"vitest": "^4.1.8"
|
|
}
|
|
}
|