mirror of
https://github.com/laurent22/joplin.git
synced 2026-10-25 02:47:28 +00:00
42 lines
1.6 KiB
JavaScript
42 lines
1.6 KiB
JavaScript
const { afterEachCleanUp } = require('./testing/test-utils.js');
|
|
const { shimInit } = require('./shim-init-node.js');
|
|
const sharp = require('sharp');
|
|
const nodeSqlite = require('sqlite3');
|
|
const pdfJs = require('pdfjs-dist');
|
|
const packageInfo = require('./package.json');
|
|
|
|
// sqlite-vec and onnxruntime-node are only bundled with the desktop app in
|
|
// production. We pull them in here so tests covering the embeddings index +
|
|
// local model have working modules to load. Wrapped in try/catch so platforms
|
|
// without a prebuilt (e.g. macOS x64, where onnxruntime-node ships no binary)
|
|
// don't crash the whole suite — they just skip the relevant tests.
|
|
// Silent on failure: Jest re-runs this file per test, so warning here floods
|
|
// CI logs with duplicates. Any test that actually needs these modules already
|
|
// has its own skip-if-unavailable logic.
|
|
// Only suppress MODULE_NOT_FOUND (the expected "no prebuilt for this platform"
|
|
// case). Anything else — ABI mismatches, corrupt installs — should surface.
|
|
let sqliteVec = null;
|
|
try {
|
|
sqliteVec = require('sqlite-vec');
|
|
} catch (error) {
|
|
if (error.code !== 'MODULE_NOT_FOUND') throw error;
|
|
}
|
|
|
|
let onnxRuntime = null;
|
|
try {
|
|
onnxRuntime = require('onnxruntime-node');
|
|
} catch (error) {
|
|
if (error.code !== 'MODULE_NOT_FOUND') throw error;
|
|
}
|
|
|
|
// Used for testing some shared components
|
|
const React = require('react');
|
|
|
|
require('../../jest.base-setup.js')();
|
|
|
|
shimInit({ pdfJs, sharp, nodeSqlite, sqliteVec, onnxRuntime, React, appVersion: () => packageInfo.version });
|
|
|
|
global.afterEach(async () => {
|
|
await afterEachCleanUp();
|
|
});
|