firstsun-dev_git-files-sync/package.json
Claude 692fc0f293 build(compat): derive the compat typecheck's target version dynamically
The 1.11 compatibility gate previously hardcoded the target Obsidian
version in two places (an obsidian-1_11 alias devDependency and a static
tsconfig.compat.json), so bumping minAppVersion would silently leave the
check pinned to the old version.

Replace both with scripts/typecheck-compat.mjs, which reads the target from
versions.json (the entry for the current manifest version, falling back to
manifest.minAppVersion), installs the matching Obsidian typings into a
git-ignored cache on demand, and type-checks src against them. The gate now
follows minAppVersion automatically with no code changes.

Also fold `typecheck:compat` into `npm run build` so it runs wherever the
build runs (the husky pre-commit hook and any CI step that builds).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SSikT9ZAfQF8K4SE3DatD3
2026-07-07 01:53:28 +00:00

66 lines
1.9 KiB
JSON

{
"name": "git-file-sync",
"version": "1.2.1",
"description": "Selectively sync individual notes with GitLab or GitHub. Push, pull, diff, and resolve conflicts — file by file, on mobile and desktop.",
"main": "main.js",
"type": "module",
"author": "ClaudiaFang",
"repository": {
"type": "git",
"url": "git+https://github.com/firstsun-dev/git-files-sync.git"
},
"scripts": {
"dev": "node esbuild.config.mjs",
"build": "tsc -noEmit -skipLibCheck && npm run typecheck:compat && node esbuild.config.mjs production",
"typecheck:compat": "node scripts/typecheck-compat.mjs",
"version": "node version-bump.mjs && git add manifest.json versions.json",
"lint": "eslint .",
"test": "vitest run",
"test:ui": "vitest --ui",
"prepare": "husky",
"semantic-release": "semantic-release"
},
"keywords": [],
"license": "MIT",
"devDependencies": {
"@eslint/js": "9.30.1",
"@eslint/json": "0.14.0",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^7.1.0",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^12.0.9",
"@types/jsdom": "^28.0.3",
"@types/node": "^24.0.0",
"@vitest/coverage-v8": "^4.1.9",
"@vitest/ui": "^4.1.9",
"conventional-changelog-conventionalcommits": "^9.3.1",
"esbuild": "0.28.1",
"eslint-plugin-obsidianmd": "0.1.9",
"eslint-plugin-sonarjs": "^4.0.3",
"globals": "14.0.0",
"husky": "^9.1.7",
"jiti": "2.6.1",
"jsdom": "^29.1.1",
"semantic-release": "^25.0.5",
"tslib": "2.4.0",
"typescript": "^5.8.3",
"typescript-eslint": "8.35.1",
"vitest": "^4.1.9"
},
"dependencies": {
"ignore": "^7.0.5",
"obsidian": "^1.13.1"
},
"overrides": {
"npm": "^11.18.0",
"@actions/http-client": {
"undici": "^6.27.0"
},
"sigstore": "^4.1.1",
"@sigstore/core": "^3.2.1",
"@sigstore/verify": "^3.1.1",
"tar": "^7.5.19",
"ip-address": "^10.1.1",
"js-yaml": "^4.2.0"
}
}