mirror of
https://github.com/logancyang/obsidian-copilot.git
synced 2026-07-22 07:50:24 +00:00
- npm-run-all → npm-run-all2 (dev script uses run-p) - lint-staged → nano-staged (config block + husky hook) - lodash.debounce → local src/utils/debounce.ts with cancel/flush/leading/trailing - dotenv → process.loadEnvFile in integration test bootstrap - eslint-plugin-react → @eslint-react/eslint-plugin (flat-config migration) - js-yaml → yaml (mock + jest CJS moduleNameMapper for jsdom) - crypto-js → pure-JS md5/sha256 in src/utils/hash.ts producing byte-identical digests so all on-disk cache keys (PDF, file, project, search index) remain valid across the upgrade — no migration or re-parse cost Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
21 lines
779 B
JavaScript
21 lines
779 B
JavaScript
module.exports = {
|
|
preset: "ts-jest",
|
|
testEnvironment: "jsdom",
|
|
roots: ["<rootDir>/src"],
|
|
transform: {
|
|
"^.+\\.(js|jsx|ts|tsx)$": "ts-jest",
|
|
},
|
|
moduleNameMapper: {
|
|
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
|
|
"^@/(.*)$": "<rootDir>/src/$1",
|
|
"^obsidian$": "<rootDir>/__mocks__/obsidian.js",
|
|
// The yaml package's "exports" field defaults to a browser ESM entry under
|
|
// jsdom; Jest can't parse ESM without extra config, so point at the CJS
|
|
// build it ships under dist/.
|
|
"^yaml$": "<rootDir>/node_modules/yaml/dist/index.js",
|
|
},
|
|
testRegex: ".*\\.test\\.(jsx?|tsx?)$",
|
|
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
|
|
testPathIgnorePatterns: ["/node_modules/"],
|
|
setupFiles: ["<rootDir>/jest.setup.js"],
|
|
};
|