diff --git a/.changeset/quiet-internals-stay-local.md b/.changeset/quiet-internals-stay-local.md new file mode 100644 index 00000000..4bba986f --- /dev/null +++ b/.changeset/quiet-internals-stay-local.md @@ -0,0 +1,6 @@ +--- +"@sheetwrite/core": patch +"@sheetwrite/xlsx": patch +--- + +Stop exporting implementation-only helpers and types from internal modules, and gate package workspaces against new unused internal exports. diff --git a/bun.lock b/bun.lock index f4fc2a7d..5a2b317b 100644 --- a/bun.lock +++ b/bun.lock @@ -14,6 +14,7 @@ "@types/react": "^19.2.17", "@types/react-dom": "^19.2.3", "fake-indexeddb": "6.2.5", + "knip": "6.32.1", "react": "^19.2.7", "react-dom": "^19.2.7", "svelte": "5.56.5", @@ -246,9 +247,9 @@ "@ctrl/tinycolor": ["@ctrl/tinycolor@4.2.0", "", {}, "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A=="], - "@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="], + "@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="], - "@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], + "@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="], "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], @@ -364,7 +365,85 @@ "@oozcitak/util": ["@oozcitak/util@10.0.0", "", {}, "sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA=="], - "@oxc-project/types": ["@oxc-project/types@0.139.0", "", {}, "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw=="], + "@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.142.0", "", { "os": "android", "cpu": "arm" }, "sha512-ZiRGDutGsv1G6bL/ozy/koC0Sv39T1DqyoC4KD1DOy9ZoACm1O5UWhEK2c02Qdk+4lfLVkvFa/mQ0fm/4h1BtQ=="], + + "@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.142.0", "", { "os": "android", "cpu": "arm64" }, "sha512-WZkvGRLNQTz8lR9zP5nLjUdlroRCopBu3g9zF1p/laE6DzT1UbQo8Rdz5MWhaJUPYg/6gp+jo7HUgsyKaN1FtQ=="], + + "@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.142.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-l4khS8LQOOVYsGRVARo1gSaCT/aBSceUVXgtovWc2+drnxVuDr082WA3OCHVdVzIz5JIrP/y9CWsSKxBDNmYGg=="], + + "@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.142.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-QBsNF3nqlXmcH2B1YOPqQYmCJoy4HuIjUxGbBO/k5JAJUl68ghU2psRY2zPk+RyBaWqKP/qfL4oaFgEMCdwskA=="], + + "@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.142.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-b7Q7m4Cqc6XqNhri3R+QhU+GVy646Pn+bkdhrDdWym/Fdi0ZUa+d73H9dm5H91JtbtAQ/z1d8XKMW3oOV8a4tQ=="], + + "@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.142.0", "", { "os": "linux", "cpu": "arm" }, "sha512-3riVS5IhdH3uCZj1Y9ftDQlR0dvLsIlw/edrRqk8JhgNd5K0XSs+UBtgh50N13CAlW9/TXj6sVGXaKNBocd0Yg=="], + + "@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.142.0", "", { "os": "linux", "cpu": "arm" }, "sha512-NmXUOpgpTSkhl795TiXmWppTwmSJ92RC1qvD6e4XOF+slgmo3e6Ah+kEu+6AN8s7NAOEwqGmir58MgSQSWmBSA=="], + + "@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.142.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-gc0EXsKtXgerujmU2Bql3u1L1HsSQ2774R83idq/FoNMPVV/RY/1ErFsvnit7KoiP/sLvzQixeUo4Ut0ic0wmw=="], + + "@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.142.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-F2XvmWSE0uWpie+jHKKIFgdVOe9ypGhkEZxKx5DuW215K6cbAC274yYaPkcM7EqY4Df3Weyhpcz3lsURyH2LVg=="], + + "@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.142.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-wLMbT21U/QxknQsk+VvNF0b9D2/aGWhcaQQQ+VYlE8FwD5+GoWZIPPXNzyHmkYyhm0KB3itL+TBavjMatqNnYA=="], + + "@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.142.0", "", { "os": "linux", "cpu": "none" }, "sha512-+G8F/4ckwT7FCJV4H2bt09xEzJbjNCfuL4Sp1AYNaFtFMVtgIGMuJlteT82U+K0UIZ/DzAR/LDlMFnEuajG7Kw=="], + + "@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.142.0", "", { "os": "linux", "cpu": "none" }, "sha512-hTsHtTLxMAfCo+rpF5K3qZJKW2NpPN/CHd4mYB3y7XlSdspHkd2gehDIofP64AacA9nWQw2tY3O7wR6UY8IVOA=="], + + "@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.142.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-6y7qYY3TCUDYjqswImdTGl92y+KA/80twALegQPN27kfY+bG7Ib1+L3jbmrCZQx6wrVnai9IPsEZp07I0hx7JQ=="], + + "@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.142.0", "", { "os": "linux", "cpu": "x64" }, "sha512-i69kAWU+2LgoH5bR+zWiiu+UzAw7Oxkwv7COeJTeY19pn4e70nKQcr9Pm6cL2Z0Z54d+gl9qADlK/0yyuCPiBA=="], + + "@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.142.0", "", { "os": "linux", "cpu": "x64" }, "sha512-4SQs678MmjYVrmhAgCWD4o0vpaFszXw9xLX5p2Z9MMFcltxiLkA88wQjh80YHjPrXtpyZ2CWI5m+1yNKM0m2Pw=="], + + "@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.142.0", "", { "os": "none", "cpu": "arm64" }, "sha512-YHpx9N7Ln3a++Tc8rv+H7mrK1zyJQOAwCFg8LZ3lTs1T5afGWeZrLPhPT9HLnIwSjCyJqPWVMIrMxbjcmBr2oQ=="], + + "@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.142.0", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-3pLDyY3+oogW73RM5uehNgAiR/Xfb7fvO2Q1Z1gIqZ2+50XDVQmBVlRkHXZTU4gKnQHpwETNsYQVsJ3joVB2iA=="], + + "@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.142.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Had/VeVY28Oyb0K+Q4FV8KCzoBycIh93oDK6pCbya9lkzdq+ikMHMgBubsdqqlybjJmQRawCQRrnBRHyQwYvcQ=="], + + "@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.142.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-GGi3+YphVHavvgs6gum2UXoNCqzHAmPt/nXkn8ZQZstV2Q1qZD1Mn8fz/nWrDkefHQtrG/+1/XrbMxsBTo6Svw=="], + + "@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.142.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Ny/Wv4Us1LGC/ljwNTp+Hx3r/pH15EFfeDF0p+n898gt+TtRd6C9SccHcuUhDiNTb8s5tt7jdeAMDRQZ4Vq6hg=="], + + "@oxc-project/types": ["@oxc-project/types@0.142.0", "", {}, "sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ=="], + + "@oxc-resolver/binding-android-arm-eabi": ["@oxc-resolver/binding-android-arm-eabi@11.24.2", "", { "os": "android", "cpu": "arm" }, "sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA=="], + + "@oxc-resolver/binding-android-arm64": ["@oxc-resolver/binding-android-arm64@11.24.2", "", { "os": "android", "cpu": "arm64" }, "sha512-cl4icWaZFnLdg8m6qtnh5rBMuGbxc/ptStFHLeCNwr+2cZjkjNwQu/jYRS0CHlnPecOJMpuS5M6/BH+0J/YkEg=="], + + "@oxc-resolver/binding-darwin-arm64": ["@oxc-resolver/binding-darwin-arm64@11.24.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-At29QEMF6HajbQvgY8K6OXnHD1x9rad74xBEfmCB6ZqCGsdq75aK7tOYcTbOanMy8qdIBrfL3SMr3p/lfSlb9w=="], + + "@oxc-resolver/binding-darwin-x64": ["@oxc-resolver/binding-darwin-x64@11.24.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-A5Kqr1EUj4oIL5CF4WRssq/o5P0Y11cwoFouMRmQ7YnC/A8V93nv1nb7aSU8HwcgmXropjLNkVTl4MN87cu28Q=="], + + "@oxc-resolver/binding-freebsd-x64": ["@oxc-resolver/binding-freebsd-x64@11.24.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-R5xkRBRRz7ceH/P5Jrc6G7FmdUdgpLYyESFAUDVTNQ9K0sGPxcp4ljiwEwEqsvNcQ4sYbMRrWcHHBCu7ksAJVw=="], + + "@oxc-resolver/binding-linux-arm-gnueabihf": ["@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2", "", { "os": "linux", "cpu": "arm" }, "sha512-k/RuYL4L/R58IBn3wT5ma3Wh4k62bp1eYCFRWCmMsasUOqL+H6sW0VGFadEzKWXFFlz+2uIMoeMk9ySSZJHgbg=="], + + "@oxc-resolver/binding-linux-arm-musleabihf": ["@oxc-resolver/binding-linux-arm-musleabihf@11.24.2", "", { "os": "linux", "cpu": "arm" }, "sha512-bnHAak3ujYfH5pKk4NieFNbvYvernfoQDgwLddbZ3OtMYrem87/qjlA+u+aKG0oZcqSLGCful/6/CEA+aeAgaA=="], + + "@oxc-resolver/binding-linux-arm64-gnu": ["@oxc-resolver/binding-linux-arm64-gnu@11.24.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-vDT3KHgzYp47gmtNOqL2VNhCyl5Zv643eyxm//A68J8DeUGXrvD1pZFiaT4jSfe+RInfnn1R2yVHye4enx6RnA=="], + + "@oxc-resolver/binding-linux-arm64-musl": ["@oxc-resolver/binding-linux-arm64-musl@11.24.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-+kMlQvbzfyEYtu5FcjE4p+ttBLpKW4d/AsAsuE69BxV6V4twZJeIQZFfD8gh/wqglY0MkPSezWXQH0jBV13MUw=="], + + "@oxc-resolver/binding-linux-ppc64-gnu": ["@oxc-resolver/binding-linux-ppc64-gnu@11.24.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-shjfMhmZ3gq9fv/w7bi3PnZlgOPG+2QAOFf0BJF0EgBSIGZ6PMLN2zbGEblTUYB/NKVDRyYhE2ff3dJ1QqNPkA=="], + + "@oxc-resolver/binding-linux-riscv64-gnu": ["@oxc-resolver/binding-linux-riscv64-gnu@11.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-zGelwFR5oRo+b69k8Lrzun86DyUHzfKN6cnjbR9l7Z7NIRznOE/2ZvPa1IUKqAL2PzAXOdwkfVqNvO1H2RlpAw=="], + + "@oxc-resolver/binding-linux-riscv64-musl": ["@oxc-resolver/binding-linux-riscv64-musl@11.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-qxZ1SWCXJY0eyhAlP6Lmo9F2Nrtx7EkYj9oCgL8apDPCwXwCEDA2U697bbT81JIc2IrVjxO4KX6WU2N+oN9Z4w=="], + + "@oxc-resolver/binding-linux-s390x-gnu": ["@oxc-resolver/binding-linux-s390x-gnu@11.24.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-sGCecF3cx2DFlH4t/z7ApnOnXqN48p5p5mlHDEnHTAukQa2P+qMVE4CwyWE9W+q/m3QJ7kKfGrIjax31f44oFQ=="], + + "@oxc-resolver/binding-linux-x64-gnu": ["@oxc-resolver/binding-linux-x64-gnu@11.24.2", "", { "os": "linux", "cpu": "x64" }, "sha512-k/VlMMcSzMlahb3/fENM4rTlsJ0s3fFROA0KXPBmKggqmTSaE383sl8F3KCOXPLmVsYfW6hCitMhXCEtNeZxxg=="], + + "@oxc-resolver/binding-linux-x64-musl": ["@oxc-resolver/binding-linux-x64-musl@11.24.2", "", { "os": "linux", "cpu": "x64" }, "sha512-8hbnZyNi97b/8wapYaIF9+t9GmZKBW2vunaOc3h9HGJptH7b7XpvZqOTBSm/MpTjr7H497BlgOaSfLUdhmy2bw=="], + + "@oxc-resolver/binding-openharmony-arm64": ["@oxc-resolver/binding-openharmony-arm64@11.24.2", "", { "os": "none", "cpu": "arm64" }, "sha512-MvyGik3a6pVgZ0t/kWlbmFxFLmXQJwgLsY2eYFHLpy0wGwRbfzeIGgDwQ3kXqE30z+kSXennRkCrT7TUvkptNg=="], + + "@oxc-resolver/binding-wasm32-wasi": ["@oxc-resolver/binding-wasm32-wasi@11.24.2", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-vHcssMPwO08RTvj/c0iOBz90attxyG3wQJ0dTcyEQK43LRpcdLWZlV5feBhv6Isn6ahbQIzHbCgfa81+RiML0Q=="], + + "@oxc-resolver/binding-win32-arm64-msvc": ["@oxc-resolver/binding-win32-arm64-msvc@11.24.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-uokJqro2iBqkFvJdKQLP7d8/BUmFwESQFVmIJUQKj1Xn1a/LysJoe1vmeECLF5b3jsV8CAL5sEMJXX6SdK9Nhg=="], + + "@oxc-resolver/binding-win32-x64-msvc": ["@oxc-resolver/binding-win32-x64-msvc@11.24.2", "", { "os": "win32", "cpu": "x64" }, "sha512-UqGPmo56KDfLlfXFAFIrNflHT8tFxWGEivWg3Zeyp4Uy2NlKN1FGPr6/BxcLGG3+kZ6Wp14g5Uj+n71boqZfiw=="], "@pagefind/darwin-arm64": ["@pagefind/darwin-arm64@1.5.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ=="], @@ -836,6 +915,8 @@ "fault": ["fault@2.0.1", "", { "dependencies": { "format": "^0.2.0" } }, "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ=="], + "fd-package-json": ["fd-package-json@2.0.0", "", { "dependencies": { "walk-up-path": "^4.0.0" } }, "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ=="], + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], "fetchdts": ["fetchdts@0.1.7", "", {}, "sha512-YoZjBdafyLIop9lSxXVI33oLD5kN31q4Td+CasofLLYeLXRFeOsuOw0Uo+XNRi9PZlbfdlN2GmRtm4tCEQ9/KA=="], @@ -848,12 +929,16 @@ "format": ["format@0.2.2", "", {}, "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww=="], + "formatly": ["formatly@0.3.0", "", { "dependencies": { "fd-package-json": "^2.0.0" }, "bin": { "formatly": "bin/index.mjs" } }, "sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w=="], + "fs-extra": ["fs-extra@7.0.1", "", { "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw=="], "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + "get-tsconfig": ["get-tsconfig@4.14.1", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-Dz/6HxkrxgNehhxLVeyv8sad9UzF2xBVeaKBQNDfJ5XiSXmp2gTR0eO0RWiT2NCKS5aGP9jjkOMggTN90qU50A=="], + "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="], "glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], @@ -946,6 +1031,8 @@ "jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], + "knip": ["knip@6.32.1", "", { "dependencies": { "fdir": "^6.5.0", "formatly": "^0.3.0", "get-tsconfig": "4.14.1", "jiti": "^2.7.0", "oxc-parser": "^0.142.0", "oxc-resolver": "11.24.2", "picomatch": "^4.0.5", "smol-toml": "^1.7.1", "strip-json-comments": "5.0.3", "tinyglobby": "^0.2.17", "unbash": "^4.0.4", "yaml": "^2.9.0", "zod": "^4.4.3" }, "bin": { "knip": "bin/knip.js", "knip-bun": "bin/knip-bun.js" } }, "sha512-mIiIHMTJVUgSlz0mxEgPt7wg8DmfbCp1Txqab3WpbMCJF7YHvHtC9jeAHHXfISMl72N8WzhyG71SQlaqCOGZtg=="], + "lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="], "lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="], @@ -1122,6 +1209,10 @@ "outdent": ["outdent@0.5.0", "", {}, "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q=="], + "oxc-parser": ["oxc-parser@0.142.0", "", { "dependencies": { "@oxc-project/types": "^0.142.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.142.0", "@oxc-parser/binding-android-arm64": "0.142.0", "@oxc-parser/binding-darwin-arm64": "0.142.0", "@oxc-parser/binding-darwin-x64": "0.142.0", "@oxc-parser/binding-freebsd-x64": "0.142.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.142.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.142.0", "@oxc-parser/binding-linux-arm64-gnu": "0.142.0", "@oxc-parser/binding-linux-arm64-musl": "0.142.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.142.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.142.0", "@oxc-parser/binding-linux-riscv64-musl": "0.142.0", "@oxc-parser/binding-linux-s390x-gnu": "0.142.0", "@oxc-parser/binding-linux-x64-gnu": "0.142.0", "@oxc-parser/binding-linux-x64-musl": "0.142.0", "@oxc-parser/binding-openharmony-arm64": "0.142.0", "@oxc-parser/binding-wasm32-wasi": "0.142.0", "@oxc-parser/binding-win32-arm64-msvc": "0.142.0", "@oxc-parser/binding-win32-ia32-msvc": "0.142.0", "@oxc-parser/binding-win32-x64-msvc": "0.142.0" } }, "sha512-kKR+jPiRJYJDexVoziIg/FVGvr1fT1FZSSJOk6tVoMKKSlsf1Cso+cgGCJkOEDWOP174vRntCPFKg+AS7InWvw=="], + + "oxc-resolver": ["oxc-resolver@11.24.2", "", { "optionalDependencies": { "@oxc-resolver/binding-android-arm-eabi": "11.24.2", "@oxc-resolver/binding-android-arm64": "11.24.2", "@oxc-resolver/binding-darwin-arm64": "11.24.2", "@oxc-resolver/binding-darwin-x64": "11.24.2", "@oxc-resolver/binding-freebsd-x64": "11.24.2", "@oxc-resolver/binding-linux-arm-gnueabihf": "11.24.2", "@oxc-resolver/binding-linux-arm-musleabihf": "11.24.2", "@oxc-resolver/binding-linux-arm64-gnu": "11.24.2", "@oxc-resolver/binding-linux-arm64-musl": "11.24.2", "@oxc-resolver/binding-linux-ppc64-gnu": "11.24.2", "@oxc-resolver/binding-linux-riscv64-gnu": "11.24.2", "@oxc-resolver/binding-linux-riscv64-musl": "11.24.2", "@oxc-resolver/binding-linux-s390x-gnu": "11.24.2", "@oxc-resolver/binding-linux-x64-gnu": "11.24.2", "@oxc-resolver/binding-linux-x64-musl": "11.24.2", "@oxc-resolver/binding-openharmony-arm64": "11.24.2", "@oxc-resolver/binding-wasm32-wasi": "11.24.2", "@oxc-resolver/binding-win32-arm64-msvc": "11.24.2", "@oxc-resolver/binding-win32-x64-msvc": "11.24.2" } }, "sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw=="], + "p-filter": ["p-filter@2.1.0", "", { "dependencies": { "p-map": "^2.0.0" } }, "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw=="], "p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], @@ -1222,6 +1313,8 @@ "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], "rolldown": ["rolldown@1.1.5", "", { "dependencies": { "@oxc-project/types": "=0.139.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.1.5", "@rolldown/binding-darwin-arm64": "1.1.5", "@rolldown/binding-darwin-x64": "1.1.5", "@rolldown/binding-freebsd-x64": "1.1.5", "@rolldown/binding-linux-arm-gnueabihf": "1.1.5", "@rolldown/binding-linux-arm64-gnu": "1.1.5", "@rolldown/binding-linux-arm64-musl": "1.1.5", "@rolldown/binding-linux-ppc64-gnu": "1.1.5", "@rolldown/binding-linux-s390x-gnu": "1.1.5", "@rolldown/binding-linux-x64-gnu": "1.1.5", "@rolldown/binding-linux-x64-musl": "1.1.5", "@rolldown/binding-openharmony-arm64": "1.1.5", "@rolldown/binding-wasm32-wasi": "1.1.5", "@rolldown/binding-win32-arm64-msvc": "1.1.5", "@rolldown/binding-win32-x64-msvc": "1.1.5" }, "bin": { "rolldown": "./bin/cli.mjs" } }, "sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA=="], @@ -1256,6 +1349,8 @@ "slash": ["slash@3.0.0", "", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="], + "smol-toml": ["smol-toml@1.7.1", "", {}, "sha512-PPlsspAZ4jbMBu5DMFhfUGDQLu/vrL4SyBROVS37x8ynnVmFIs1VPBz1Co8Xks3TvpIaZXmU85y4DrQ+UyVFoQ=="], + "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], @@ -1274,6 +1369,8 @@ "strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="], + "strip-json-comments": ["strip-json-comments@5.0.3", "", {}, "sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw=="], + "style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="], "style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="], @@ -1308,6 +1405,8 @@ "ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="], + "unbash": ["unbash@4.0.10", "", {}, "sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg=="], + "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="], "undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="], @@ -1352,6 +1451,8 @@ "vue": ["vue@3.5.39", "", { "dependencies": { "@vue/compiler-dom": "3.5.39", "@vue/compiler-sfc": "3.5.39", "@vue/runtime-dom": "3.5.39", "@vue/server-renderer": "3.5.39", "@vue/shared": "3.5.39" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-xmZCYabFGcirU8r0fTuvl/LICc1OU620rnqepaJDL/a141ZigkG7AyaxQLdqJ02ZRYzWe6YPaDHeQx7MfknQfA=="], + "walk-up-path": ["walk-up-path@4.0.0", "", {}, "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A=="], + "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="], @@ -1398,6 +1499,10 @@ "@manypkg/get-packages/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], + "@rolldown/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="], + + "@rolldown/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], + "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], "@sheetwrite/docs-start/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], @@ -1440,6 +1545,8 @@ "read-yaml-file/js-yaml": ["js-yaml@3.15.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag=="], + "rolldown/@oxc-project/types": ["@oxc-project/types@0.139.0", "", {}, "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw=="], + "tinyglobby/picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], "@happy-dom/global-registrator/@types/node/undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], diff --git a/docs/src/content/docs/api/core-adapter/create-row-bridge.md b/docs/src/content/docs/api/core-adapter/create-row-bridge.md index c2f38d87..30daa2fc 100644 --- a/docs/src/content/docs/api/core-adapter/create-row-bridge.md +++ b/docs/src/content/docs/api/core-adapter/create-row-bridge.md @@ -9,7 +9,7 @@ Create a typed bridge while preserving row and identity inference.
## Declaration diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-clear-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-clear-delta.md index 672aafe2..9b5e2243 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-clear-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-clear-delta.md @@ -9,7 +9,7 @@ A clearRange effect expanded to its exact changed cells. ## Members 10 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-delta.md index 67c04cb0..379e7408 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-delta.md @@ -9,7 +9,7 @@ Every possible projection produced by a row bridge. ## Declaration diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-fill-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-fill-delta.md index 1a11b145..6e71fcef 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-fill-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-fill-delta.md @@ -9,7 +9,7 @@ A fill-series transaction effect. ## Members 10 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-handler.md b/docs/src/content/docs/api/core-adapter/row-bridge-handler.md index 44e6ce97..2f923c2b 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-handler.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-handler.md @@ -9,7 +9,7 @@ Callback accepted by imperative and framework adapters. ## Declaration diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-host-action-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-host-action-delta.md index 06648bc1..3806b437 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-host-action-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-host-action-delta.md @@ -9,7 +9,7 @@ A document operation that needs a host-side action rather than row mutation. ## Members 9 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-metadata-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-metadata-delta.md index 8af67271..03f72581 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-metadata-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-metadata-delta.md @@ -9,7 +9,7 @@ A document operation that changes workbook or column metadata. ## Members 9 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-paste-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-paste-delta.md index 93253c62..c35448cf 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-paste-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-paste-delta.md @@ -9,7 +9,7 @@ A paste transaction effect. A paste can contain multiple canonical patches. ## Members 10 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-projection.md b/docs/src/content/docs/api/core-adapter/row-bridge-projection.md index 2acab46e..97532597 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-projection.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-projection.md @@ -9,7 +9,7 @@ Result of projection or reconciliation. ## Members 3 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-range-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-range-delta.md index 8a3fb24a..91a2c402 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-range-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-range-delta.md @@ -9,7 +9,7 @@ A setRange/setBlock effect expanded to its exact changed cells. ## Members 10 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-reconciliation-input.md b/docs/src/content/docs/api/core-adapter/row-bridge-reconciliation-input.md index 8d27bef5..74a96682 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-reconciliation-input.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-reconciliation-input.md @@ -9,7 +9,7 @@ Input to [`RowBridge.reconcile`](/docs/api/core-adapter/row-bridge/#row-bridge-r ## Members 9 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-reconciliation-status.md b/docs/src/content/docs/api/core-adapter/row-bridge-reconciliation-status.md index b20f24b3..af138f22 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-reconciliation-status.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-reconciliation-status.md @@ -9,7 +9,7 @@ Reconciliation status for a canonical transaction response. ## Declaration diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-row-structure-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-row-structure-delta.md index 0ceb42c6..c17c7fdc 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-row-structure-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-row-structure-delta.md @@ -9,7 +9,7 @@ Stable row identity effects for insert, delete, and move operations. ## Members 16 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-transaction-id.md b/docs/src/content/docs/api/core-adapter/row-bridge-transaction-id.md index 3893bf20..993ea15f 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-transaction-id.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-transaction-id.md @@ -9,7 +9,7 @@ Compute a deterministic identity for a canonical transaction. ## Declaration diff --git a/docs/src/content/docs/api/core-adapter/row-bridge-unprojectable-delta.md b/docs/src/content/docs/api/core-adapter/row-bridge-unprojectable-delta.md index 18cf289b..76d5cd9a 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge-unprojectable-delta.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge-unprojectable-delta.md @@ -9,7 +9,7 @@ An explicit projection record for an operation with no row-space meaning. ## Members 9 diff --git a/docs/src/content/docs/api/core-adapter/row-bridge.md b/docs/src/content/docs/api/core-adapter/row-bridge.md index 21ba864f..565cb8a8 100644 --- a/docs/src/content/docs/api/core-adapter/row-bridge.md +++ b/docs/src/content/docs/api/core-adapter/row-bridge.md @@ -12,7 +12,7 @@ The bridge only owns compact data-space identity arrays. It never writes to ## Members 5 diff --git a/docs/src/content/docs/api/core/create-row-bridge.md b/docs/src/content/docs/api/core/create-row-bridge.md index f2a8b547..8c6c2870 100644 --- a/docs/src/content/docs/api/core/create-row-bridge.md +++ b/docs/src/content/docs/api/core/create-row-bridge.md @@ -9,7 +9,7 @@ Create a typed bridge while preserving row and identity inference. ## Declaration diff --git a/docs/src/content/docs/api/core/row-bridge-clear-delta.md b/docs/src/content/docs/api/core/row-bridge-clear-delta.md index be0814f9..4fa815b9 100644 --- a/docs/src/content/docs/api/core/row-bridge-clear-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-clear-delta.md @@ -9,7 +9,7 @@ A clearRange effect expanded to its exact changed cells. ## Members 10 diff --git a/docs/src/content/docs/api/core/row-bridge-delta.md b/docs/src/content/docs/api/core/row-bridge-delta.md index ad52dafa..8db17252 100644 --- a/docs/src/content/docs/api/core/row-bridge-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-delta.md @@ -9,7 +9,7 @@ Every possible projection produced by a row bridge. ## Declaration diff --git a/docs/src/content/docs/api/core/row-bridge-fill-delta.md b/docs/src/content/docs/api/core/row-bridge-fill-delta.md index 27da9604..34dff5e4 100644 --- a/docs/src/content/docs/api/core/row-bridge-fill-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-fill-delta.md @@ -9,7 +9,7 @@ A fill-series transaction effect. ## Members 10 diff --git a/docs/src/content/docs/api/core/row-bridge-handler.md b/docs/src/content/docs/api/core/row-bridge-handler.md index 73a20f9a..293d4d9c 100644 --- a/docs/src/content/docs/api/core/row-bridge-handler.md +++ b/docs/src/content/docs/api/core/row-bridge-handler.md @@ -9,7 +9,7 @@ Callback accepted by imperative and framework adapters. ## Declaration diff --git a/docs/src/content/docs/api/core/row-bridge-host-action-delta.md b/docs/src/content/docs/api/core/row-bridge-host-action-delta.md index 6771b324..356bee2a 100644 --- a/docs/src/content/docs/api/core/row-bridge-host-action-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-host-action-delta.md @@ -9,7 +9,7 @@ A document operation that needs a host-side action rather than row mutation. ## Members 9 diff --git a/docs/src/content/docs/api/core/row-bridge-metadata-delta.md b/docs/src/content/docs/api/core/row-bridge-metadata-delta.md index 266aadb6..6eb6ca66 100644 --- a/docs/src/content/docs/api/core/row-bridge-metadata-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-metadata-delta.md @@ -9,7 +9,7 @@ A document operation that changes workbook or column metadata. ## Members 9 diff --git a/docs/src/content/docs/api/core/row-bridge-paste-delta.md b/docs/src/content/docs/api/core/row-bridge-paste-delta.md index 4103818b..1e960c7e 100644 --- a/docs/src/content/docs/api/core/row-bridge-paste-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-paste-delta.md @@ -9,7 +9,7 @@ A paste transaction effect. A paste can contain multiple canonical patches. ## Members 10 diff --git a/docs/src/content/docs/api/core/row-bridge-projection.md b/docs/src/content/docs/api/core/row-bridge-projection.md index 02588f54..ea4d9fb5 100644 --- a/docs/src/content/docs/api/core/row-bridge-projection.md +++ b/docs/src/content/docs/api/core/row-bridge-projection.md @@ -9,7 +9,7 @@ Result of projection or reconciliation. ## Members 3 diff --git a/docs/src/content/docs/api/core/row-bridge-range-delta.md b/docs/src/content/docs/api/core/row-bridge-range-delta.md index 765a4ce1..408ffdd6 100644 --- a/docs/src/content/docs/api/core/row-bridge-range-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-range-delta.md @@ -9,7 +9,7 @@ A setRange/setBlock effect expanded to its exact changed cells. ## Members 10 diff --git a/docs/src/content/docs/api/core/row-bridge-reconciliation-input.md b/docs/src/content/docs/api/core/row-bridge-reconciliation-input.md index cab19bce..699db983 100644 --- a/docs/src/content/docs/api/core/row-bridge-reconciliation-input.md +++ b/docs/src/content/docs/api/core/row-bridge-reconciliation-input.md @@ -9,7 +9,7 @@ Input to [`RowBridge.reconcile`](/docs/api/core/row-bridge/#row-bridge-reconcile ## Members 9 diff --git a/docs/src/content/docs/api/core/row-bridge-reconciliation-status.md b/docs/src/content/docs/api/core/row-bridge-reconciliation-status.md index 94cd7fe5..ec0a031a 100644 --- a/docs/src/content/docs/api/core/row-bridge-reconciliation-status.md +++ b/docs/src/content/docs/api/core/row-bridge-reconciliation-status.md @@ -9,7 +9,7 @@ Reconciliation status for a canonical transaction response. ## Declaration diff --git a/docs/src/content/docs/api/core/row-bridge-row-structure-delta.md b/docs/src/content/docs/api/core/row-bridge-row-structure-delta.md index 37ff1fde..366e17b8 100644 --- a/docs/src/content/docs/api/core/row-bridge-row-structure-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-row-structure-delta.md @@ -9,7 +9,7 @@ Stable row identity effects for insert, delete, and move operations. ## Members 16 diff --git a/docs/src/content/docs/api/core/row-bridge-transaction-id.md b/docs/src/content/docs/api/core/row-bridge-transaction-id.md index 9a5016fd..207413b0 100644 --- a/docs/src/content/docs/api/core/row-bridge-transaction-id.md +++ b/docs/src/content/docs/api/core/row-bridge-transaction-id.md @@ -9,7 +9,7 @@ Compute a deterministic identity for a canonical transaction. ## Declaration diff --git a/docs/src/content/docs/api/core/row-bridge-unprojectable-delta.md b/docs/src/content/docs/api/core/row-bridge-unprojectable-delta.md index 8fafc9aa..3706701c 100644 --- a/docs/src/content/docs/api/core/row-bridge-unprojectable-delta.md +++ b/docs/src/content/docs/api/core/row-bridge-unprojectable-delta.md @@ -9,7 +9,7 @@ An explicit projection record for an operation with no row-space meaning. ## Members 9 diff --git a/docs/src/content/docs/api/core/row-bridge.md b/docs/src/content/docs/api/core/row-bridge.md index fd55f962..302a3502 100644 --- a/docs/src/content/docs/api/core/row-bridge.md +++ b/docs/src/content/docs/api/core/row-bridge.md @@ -12,7 +12,7 @@ The bridge only owns compact data-space identity arrays. It never writes to ## Members 5 diff --git a/docs/src/generated/docs-contract.json b/docs/src/generated/docs-contract.json index c88fd192..a28f7ee7 100644 --- a/docs/src/generated/docs-contract.json +++ b/docs/src/generated/docs-contract.json @@ -25,7 +25,7 @@ "entryPointCount": 18, "exportCount": 466, "symbolPageCount": 466, - "apiSha256": "7598d0c8fef4270d3a0e35fd0138492103d76caca9b7779b05a502c85ac4d800", + "apiSha256": "53bac9252e6664e7ab153847ffbce109758fb41df63876a219847cd332528114", "compatibilitySha256": "3dc63d06901349f4edd5b2b5bc332b87cdbecacc54d303c85eb2b0b1354ed01a", "formulaContractSha256": "c19bbb023fd08bd378ca2d0b82761fa1b203e29f93a5d4b32bf4a2e6ce4affaf" } diff --git a/docs/src/generated/public-api.json b/docs/src/generated/public-api.json index 965c122e..d554a47e 100644 --- a/docs/src/generated/public-api.json +++ b/docs/src/generated/public-api.json @@ -888,7 +888,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L859", + "source": "src/row-bridge.ts#L858", "jsDocTags": [], "documentation": "Create a typed bridge while preserving row and identity inference.", "memberDocs": [] @@ -2966,7 +2966,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L313", + "source": "src/row-bridge.ts#L312", "jsDocTags": [], "documentation": "Projects canonical document transactions into host-owned row changes.\n\nThe bridge only owns compact data-space identity arrays. It never writes to\n`defaultRows`, never renders, and never creates a second document store.", "memberDocs": [ @@ -3007,7 +3007,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L82", + "source": "src/row-bridge.ts#L81", "jsDocTags": [], "documentation": "A clearRange effect expanded to its exact changed cells.", "memberDocs": [] @@ -3031,7 +3031,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L156", + "source": "src/row-bridge.ts#L155", "jsDocTags": [], "documentation": "Every possible projection produced by a row bridge.", "memberDocs": [] @@ -3043,7 +3043,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L98", + "source": "src/row-bridge.ts#L97", "jsDocTags": [], "documentation": "A fill-series transaction effect.", "memberDocs": [] @@ -3055,7 +3055,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L199", + "source": "src/row-bridge.ts#L198", "jsDocTags": [], "documentation": "Callback accepted by imperative and framework adapters.", "memberDocs": [] @@ -3067,7 +3067,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L137", + "source": "src/row-bridge.ts#L136", "jsDocTags": [], "documentation": "A document operation that needs a host-side action rather than row mutation.", "memberDocs": [] @@ -3103,7 +3103,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L120", + "source": "src/row-bridge.ts#L119", "jsDocTags": [], "documentation": "A document operation that changes workbook or column metadata.", "memberDocs": [] @@ -3136,7 +3136,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L90", + "source": "src/row-bridge.ts#L89", "jsDocTags": [], "documentation": "A paste transaction effect. A paste can contain multiple canonical patches.", "memberDocs": [] @@ -3148,7 +3148,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L192", + "source": "src/row-bridge.ts#L191", "jsDocTags": [], "documentation": "Result of projection or reconciliation.", "memberDocs": [] @@ -3160,7 +3160,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L74", + "source": "src/row-bridge.ts#L73", "jsDocTags": [], "documentation": "A setRange/setBlock effect expanded to its exact changed cells.", "memberDocs": [] @@ -3172,7 +3172,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L177", + "source": "src/row-bridge.ts#L176", "jsDocTags": [], "documentation": "Input to {@link RowBridge.reconcile}.", "memberDocs": [ @@ -3193,7 +3193,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L168", + "source": "src/row-bridge.ts#L167", "jsDocTags": [], "documentation": "Reconciliation status for a canonical transaction response.", "memberDocs": [] @@ -3205,7 +3205,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L106", + "source": "src/row-bridge.ts#L105", "jsDocTags": [], "documentation": "Stable row identity effects for insert, delete, and move operations.", "memberDocs": [] @@ -3229,7 +3229,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L867", + "source": "src/row-bridge.ts#L866", "jsDocTags": [], "documentation": "Compute a deterministic identity for a canonical transaction.", "memberDocs": [] @@ -3241,7 +3241,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L149", + "source": "src/row-bridge.ts#L148", "jsDocTags": [], "documentation": "An explicit projection record for an operation with no row-space meaning.", "memberDocs": [] @@ -5369,7 +5369,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L859", + "source": "src/row-bridge.ts#L858", "jsDocTags": [], "documentation": "Create a typed bridge while preserving row and identity inference.", "memberDocs": [] @@ -5729,7 +5729,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L313", + "source": "src/row-bridge.ts#L312", "jsDocTags": [], "documentation": "Projects canonical document transactions into host-owned row changes.\n\nThe bridge only owns compact data-space identity arrays. It never writes to\n`defaultRows`, never renders, and never creates a second document store.", "memberDocs": [ @@ -5770,7 +5770,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L82", + "source": "src/row-bridge.ts#L81", "jsDocTags": [], "documentation": "A clearRange effect expanded to its exact changed cells.", "memberDocs": [] @@ -5794,7 +5794,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L156", + "source": "src/row-bridge.ts#L155", "jsDocTags": [], "documentation": "Every possible projection produced by a row bridge.", "memberDocs": [] @@ -5806,7 +5806,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L98", + "source": "src/row-bridge.ts#L97", "jsDocTags": [], "documentation": "A fill-series transaction effect.", "memberDocs": [] @@ -5818,7 +5818,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L199", + "source": "src/row-bridge.ts#L198", "jsDocTags": [], "documentation": "Callback accepted by imperative and framework adapters.", "memberDocs": [] @@ -5830,7 +5830,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L137", + "source": "src/row-bridge.ts#L136", "jsDocTags": [], "documentation": "A document operation that needs a host-side action rather than row mutation.", "memberDocs": [] @@ -5866,7 +5866,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L120", + "source": "src/row-bridge.ts#L119", "jsDocTags": [], "documentation": "A document operation that changes workbook or column metadata.", "memberDocs": [] @@ -5899,7 +5899,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L90", + "source": "src/row-bridge.ts#L89", "jsDocTags": [], "documentation": "A paste transaction effect. A paste can contain multiple canonical patches.", "memberDocs": [] @@ -5911,7 +5911,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L192", + "source": "src/row-bridge.ts#L191", "jsDocTags": [], "documentation": "Result of projection or reconciliation.", "memberDocs": [] @@ -5923,7 +5923,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L74", + "source": "src/row-bridge.ts#L73", "jsDocTags": [], "documentation": "A setRange/setBlock effect expanded to its exact changed cells.", "memberDocs": [] @@ -5935,7 +5935,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L177", + "source": "src/row-bridge.ts#L176", "jsDocTags": [], "documentation": "Input to {@link RowBridge.reconcile}.", "memberDocs": [ @@ -5956,7 +5956,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L168", + "source": "src/row-bridge.ts#L167", "jsDocTags": [], "documentation": "Reconciliation status for a canonical transaction response.", "memberDocs": [] @@ -5968,7 +5968,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L106", + "source": "src/row-bridge.ts#L105", "jsDocTags": [], "documentation": "Stable row identity effects for insert, delete, and move operations.", "memberDocs": [] @@ -5992,7 +5992,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L867", + "source": "src/row-bridge.ts#L866", "jsDocTags": [], "documentation": "Compute a deterministic identity for a canonical transaction.", "memberDocs": [] @@ -6004,7 +6004,7 @@ "owners": [ "src/row-bridge.ts" ], - "source": "src/row-bridge.ts#L149", + "source": "src/row-bridge.ts#L148", "jsDocTags": [], "documentation": "An explicit projection record for an operation with no row-space meaning.", "memberDocs": [] diff --git a/knip.json b/knip.json new file mode 100644 index 00000000..2ca3f41b --- /dev/null +++ b/knip.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://unpkg.com/knip@6/schema.json", + "ignoreWorkspaces": ["bench", "docs", "examples/*", "packages/wasm"], + "workspaces": { + "packages/core": { + "entry": [ + "src/index.ts", + "src/adapter.ts", + "src/indexeddb.ts", + "src/shell.ts", + "src/testing.ts", + "src/worker.ts", + "test/**/*.test.ts" + ], + "project": ["src/**/*.ts", "test/**/*.ts"] + }, + "packages/react": { + "entry": ["src/index.tsx", "test/**/*.test.ts?(x)"], + "project": ["src/**/*.ts?(x)", "test/**/*.ts?(x)"] + }, + "packages/svelte": { + "entry": ["src/*.svelte", "test/**/*.test.ts"], + "project": ["src/**/*.ts", "test/**/*.ts"] + }, + "packages/vue": { + "entry": ["src/index.ts", "test/**/*.test.ts"], + "project": ["src/**/*.ts", "test/**/*.ts"] + }, + "packages/xlsx": { + "entry": ["src/index.ts", "test/**/*.test.ts"], + "project": ["src/**/*.ts", "test/**/*.ts"] + } + } +} diff --git a/package.json b/package.json index 9d83126a..3c97f2d6 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,9 @@ }, "scripts": { "api:report": "bun scripts/public-api.ts report", - "api:check": "bun scripts/public-api.ts check", + "api:check": "bun scripts/public-api.ts check && bun run api:unused:internal", "api:unused": "bun scripts/public-api.ts unused", + "api:unused:internal": "knip --workspace './packages/*' --include exports,types,nsExports,nsTypes --no-progress", "api:baseline": "bun scripts/public-api.ts baseline", "compatibility:validate": "bun scripts/conformance/validate-cli.ts", "compatibility:check": "bun scripts/conformance.ts offline", @@ -89,6 +90,7 @@ "@types/react": "^19.2.17", "@types/react-dom": "^19.2.3", "fake-indexeddb": "6.2.5", + "knip": "6.32.1", "react": "^19.2.7", "react-dom": "^19.2.7", "svelte": "5.56.5", diff --git a/packages/core/src/canvas-paint.ts b/packages/core/src/canvas-paint.ts index 0f4df5c1..07b71eaa 100644 --- a/packages/core/src/canvas-paint.ts +++ b/packages/core/src/canvas-paint.ts @@ -86,7 +86,7 @@ function mergeRowSpanHeight( const columnEdgesCache = new WeakMap