obsidian-dev-utils 88.4.0 → 88.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/integration-test-plugin/main.js +38046 -0
- package/dist/integration-test-plugin/manifest.json +8 -0
- package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +13 -2
- package/dist/lib/cjs/generated-during-build.cjs +1 -1
- package/dist/lib/cjs/integration-test-setup.cjs +111 -0
- package/dist/lib/cjs/integration-test-setup.d.cts +33 -0
- package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +145 -0
- package/dist/lib/cjs/integration-test-vitest-global-setup.d.cts +39 -0
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +2 -1
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +2 -0
- package/dist/lib/cjs/script-utils/test-runners/index.cjs +4 -1
- package/dist/lib/cjs/script-utils/test-runners/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/test-runners/integration-test-plugin.cjs +197 -0
- package/dist/lib/cjs/script-utils/test-runners/integration-test-plugin.d.cts +44 -0
- package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +13 -2
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/integration-test-setup.d.mts +33 -0
- package/dist/lib/esm/integration-test-setup.mjs +26 -0
- package/dist/lib/esm/integration-test-vitest-global-setup.d.mts +39 -0
- package/dist/lib/esm/integration-test-vitest-global-setup.mjs +39 -0
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +2 -0
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +2 -1
- package/dist/lib/esm/script-utils/test-runners/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/test-runners/index.mjs +3 -1
- package/dist/lib/esm/script-utils/test-runners/integration-test-plugin.d.mts +44 -0
- package/dist/lib/esm/script-utils/test-runners/integration-test-plugin.mjs +77 -0
- package/package.json +16 -6
- package/script-utils/test-runners/integration-test-plugin/package.json +6 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/// <reference path="../../library.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Wires the shipped integration-test harness plugin into a consumer plugin's integration tests, so every
|
|
6
|
+
* library helper is reachable as `lib.<helper>` inside an `evalInObsidian` closure.
|
|
7
|
+
*
|
|
8
|
+
* Two halves, and both must be wired or `lib.<helper>` fails:
|
|
9
|
+
*
|
|
10
|
+
* - {@link getIntegrationTestPluginPopulate} puts the harness plugin's binaries in the test vault. The
|
|
11
|
+
* harness plugin is what publishes the library on `window.__obsidianDevUtilsModule`; in this repo's own
|
|
12
|
+
* suite it IS the plugin-under-test, but in a consumer's suite the plugin-under-test is the consumer's own
|
|
13
|
+
* plugin, so the harness has to ride along as a second, test-only community plugin — seeded here, and
|
|
14
|
+
* turned on by `obsidian-integration-testing`'s `createSetup({ enableCommunityPlugins })`.
|
|
15
|
+
* - {@link registerIntegrationTestLibResolver} registers the renderer-side resolver that reads that global.
|
|
16
|
+
*
|
|
17
|
+
* `obsidian-dev-utils/integration-test-vitest-global-setup` and
|
|
18
|
+
* `obsidian-dev-utils/integration-test-setup` are the turnkey endpoints that call these for you.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* The id of the integration-test harness plugin — the folder name it is seeded into, and the value to pass
|
|
22
|
+
* to `createSetup({ enableCommunityPlugins })` so the harness enables it after the plugin-under-test.
|
|
23
|
+
*/
|
|
24
|
+
export declare const OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-utils-integration-test";
|
|
25
|
+
/**
|
|
26
|
+
* Builds the vault-relative file map that installs the shipped integration-test harness plugin, ready to
|
|
27
|
+
* hand to a global setup's `populate` (or to merge into a larger map the consumer already builds).
|
|
28
|
+
*
|
|
29
|
+
* The result is a `Record<string, Uint8Array>`, which is assignable to `obsidian-integration-testing`'s
|
|
30
|
+
* `PopulateFilesParams` — so it composes with `buildDemoVaultPopulate` and friends.
|
|
31
|
+
*
|
|
32
|
+
* @returns The map of vault-relative paths to file contents.
|
|
33
|
+
* @throws If the harness plugin was not built into this package — i.e. `npm run build` never ran.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getIntegrationTestPluginPopulate(): Record<string, Uint8Array>;
|
|
36
|
+
/**
|
|
37
|
+
* Registers the renderer-side resolver that merges the whole library into the `lib` argument of every
|
|
38
|
+
* `evalInObsidian` callback, reading it from the global the harness plugin publishes.
|
|
39
|
+
*
|
|
40
|
+
* Call once per test worker — the published `obsidian-dev-utils/integration-test-setup` endpoint does it
|
|
41
|
+
* for you when listed in `setupFiles`. Registration is idempotent (the harness dedupes resolvers by source
|
|
42
|
+
* text), so calling it more than once is safe.
|
|
43
|
+
*/
|
|
44
|
+
export declare function registerIntegrationTestLibResolver(): void;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
if (globalThis.process) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const browserProcess = {
|
|
13
|
+
browser: true,
|
|
14
|
+
cwd() {
|
|
15
|
+
return '/';
|
|
16
|
+
},
|
|
17
|
+
env: {},
|
|
18
|
+
platform: 'android'
|
|
19
|
+
};
|
|
20
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
21
|
+
globalThis.process = browserProcess;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
import { readFileSync } from "node:fs";
|
|
25
|
+
import { registerLibResolver } from "obsidian-integration-testing";
|
|
26
|
+
import { ObsidianPluginRepoPaths } from "../../obsidian/plugin/obsidian-plugin-repo-paths.mjs";
|
|
27
|
+
import {
|
|
28
|
+
getFolderName,
|
|
29
|
+
join
|
|
30
|
+
} from "../../path.mjs";
|
|
31
|
+
import { ObsidianDevUtilsRepoPaths } from "../obsidian-dev-utils-repo-paths.mjs";
|
|
32
|
+
import { getRootFolder } from "../root.mjs";
|
|
33
|
+
const OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-utils-integration-test";
|
|
34
|
+
function getIntegrationTestPluginPopulate() {
|
|
35
|
+
const packageFolder = getRootFolder(getFolderName(import.meta.url));
|
|
36
|
+
if (!packageFolder) {
|
|
37
|
+
throw new Error("Could not resolve the obsidian-dev-utils package folder to seed the integration-test harness plugin.");
|
|
38
|
+
}
|
|
39
|
+
const pluginSourceFolder = join(packageFolder, ObsidianDevUtilsRepoPaths.DistIntegrationTestPlugin);
|
|
40
|
+
const pluginVaultFolder = join(
|
|
41
|
+
ObsidianPluginRepoPaths.DotObsidian,
|
|
42
|
+
ObsidianPluginRepoPaths.Plugins,
|
|
43
|
+
OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID
|
|
44
|
+
);
|
|
45
|
+
const populate = {};
|
|
46
|
+
for (const fileName of [ObsidianPluginRepoPaths.MainJs, ObsidianPluginRepoPaths.ManifestJson]) {
|
|
47
|
+
const sourcePath = join(pluginSourceFolder, fileName);
|
|
48
|
+
let content;
|
|
49
|
+
try {
|
|
50
|
+
content = readFileSync(sourcePath);
|
|
51
|
+
} catch (error) {
|
|
52
|
+
throw new Error(
|
|
53
|
+
`Could not read ${sourcePath}. The integration-test harness plugin is missing from the installed obsidian-dev-utils package \u2014 run \`npm run build\` in obsidian-dev-utils, or reinstall it.`,
|
|
54
|
+
{ cause: error }
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
populate[join(pluginVaultFolder, fileName)] = content;
|
|
58
|
+
}
|
|
59
|
+
return populate;
|
|
60
|
+
}
|
|
61
|
+
function registerIntegrationTestLibResolver() {
|
|
62
|
+
registerLibResolver(() => {
|
|
63
|
+
const obsidianDevUtilsModule = window.__obsidianDevUtilsModule;
|
|
64
|
+
if (!obsidianDevUtilsModule) {
|
|
65
|
+
throw new Error(
|
|
66
|
+
"The obsidian-dev-utils module is not exposed on `window`. Is the obsidian-dev-utils integration-test harness plugin installed and enabled in the test vault? See `obsidian-dev-utils/integration-test-vitest-global-setup`."
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
return obsidianDevUtilsModule.__merged;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
export {
|
|
73
|
+
OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID,
|
|
74
|
+
getIntegrationTestPluginPopulate,
|
|
75
|
+
registerIntegrationTestLibResolver
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy90ZXN0LXJ1bm5lcnMvaW50ZWdyYXRpb24tdGVzdC1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBXaXJlcyB0aGUgc2hpcHBlZCBpbnRlZ3JhdGlvbi10ZXN0IGhhcm5lc3MgcGx1Z2luIGludG8gYSBjb25zdW1lciBwbHVnaW4ncyBpbnRlZ3JhdGlvbiB0ZXN0cywgc28gZXZlcnlcbiAqIGxpYnJhcnkgaGVscGVyIGlzIHJlYWNoYWJsZSBhcyBgbGliLjxoZWxwZXI+YCBpbnNpZGUgYW4gYGV2YWxJbk9ic2lkaWFuYCBjbG9zdXJlLlxuICpcbiAqIFR3byBoYWx2ZXMsIGFuZCBib3RoIG11c3QgYmUgd2lyZWQgb3IgYGxpYi48aGVscGVyPmAgZmFpbHM6XG4gKlxuICogLSB7QGxpbmsgZ2V0SW50ZWdyYXRpb25UZXN0UGx1Z2luUG9wdWxhdGV9IHB1dHMgdGhlIGhhcm5lc3MgcGx1Z2luJ3MgYmluYXJpZXMgaW4gdGhlIHRlc3QgdmF1bHQuIFRoZVxuICogICBoYXJuZXNzIHBsdWdpbiBpcyB3aGF0IHB1Ymxpc2hlcyB0aGUgbGlicmFyeSBvbiBgd2luZG93Ll9fb2JzaWRpYW5EZXZVdGlsc01vZHVsZWA7IGluIHRoaXMgcmVwbydzIG93blxuICogICBzdWl0ZSBpdCBJUyB0aGUgcGx1Z2luLXVuZGVyLXRlc3QsIGJ1dCBpbiBhIGNvbnN1bWVyJ3Mgc3VpdGUgdGhlIHBsdWdpbi11bmRlci10ZXN0IGlzIHRoZSBjb25zdW1lcidzIG93blxuICogICBwbHVnaW4sIHNvIHRoZSBoYXJuZXNzIGhhcyB0byByaWRlIGFsb25nIGFzIGEgc2Vjb25kLCB0ZXN0LW9ubHkgY29tbXVuaXR5IHBsdWdpbiBcdTIwMTQgc2VlZGVkIGhlcmUsIGFuZFxuICogICB0dXJuZWQgb24gYnkgYG9ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmdgJ3MgYGNyZWF0ZVNldHVwKHsgZW5hYmxlQ29tbXVuaXR5UGx1Z2lucyB9KWAuXG4gKiAtIHtAbGluayByZWdpc3RlckludGVncmF0aW9uVGVzdExpYlJlc29sdmVyfSByZWdpc3RlcnMgdGhlIHJlbmRlcmVyLXNpZGUgcmVzb2x2ZXIgdGhhdCByZWFkcyB0aGF0IGdsb2JhbC5cbiAqXG4gKiBgb2JzaWRpYW4tZGV2LXV0aWxzL2ludGVncmF0aW9uLXRlc3Qtdml0ZXN0LWdsb2JhbC1zZXR1cGAgYW5kXG4gKiBgb2JzaWRpYW4tZGV2LXV0aWxzL2ludGVncmF0aW9uLXRlc3Qtc2V0dXBgIGFyZSB0aGUgdHVybmtleSBlbmRwb2ludHMgdGhhdCBjYWxsIHRoZXNlIGZvciB5b3UuXG4gKi9cblxuaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyByZWdpc3RlckxpYlJlc29sdmVyIH0gZnJvbSAnb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZyc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vcGx1Z2luL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4tZGV2LXV0aWxzLXJlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHsgZ2V0Um9vdEZvbGRlciB9IGZyb20gJy4uL3Jvb3QudHMnO1xuXG4vKipcbiAqIFRoZSBpZCBvZiB0aGUgaW50ZWdyYXRpb24tdGVzdCBoYXJuZXNzIHBsdWdpbiBcdTIwMTQgdGhlIGZvbGRlciBuYW1lIGl0IGlzIHNlZWRlZCBpbnRvLCBhbmQgdGhlIHZhbHVlIHRvIHBhc3NcbiAqIHRvIGBjcmVhdGVTZXR1cCh7IGVuYWJsZUNvbW11bml0eVBsdWdpbnMgfSlgIHNvIHRoZSBoYXJuZXNzIGVuYWJsZXMgaXQgYWZ0ZXIgdGhlIHBsdWdpbi11bmRlci10ZXN0LlxuICovXG5leHBvcnQgY29uc3QgT0JTSURJQU5fREVWX1VUSUxTX0lOVEVHUkFUSU9OX1RFU1RfUExVR0lOX0lEID0gJ29ic2lkaWFuLWRldi11dGlscy1pbnRlZ3JhdGlvbi10ZXN0JztcblxuLyoqXG4gKiBUaGUgZmxhdCBsaWJyYXJ5IGJhcnJlbCB0aGUgaGFybmVzcyBwbHVnaW4gcHVibGlzaGVzLlxuICovXG5pbnRlcmZhY2UgT2JzaWRpYW5EZXZVdGlsc01vZHVsZSB7XG4gIF9fbWVyZ2VkOiBvYmplY3Q7XG59XG5cbi8qKlxuICogVGhlIHNoYXBlIHRoZSBoYXJuZXNzIHBsdWdpbiBwdWJsaXNoZXMgb24gdGhlIHJlbmRlcmVyJ3MgYHdpbmRvd2AuXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhbkRldlV0aWxzTW9kdWxlV2luZG93IHtcbiAgX19vYnNpZGlhbkRldlV0aWxzTW9kdWxlOiBPYnNpZGlhbkRldlV0aWxzTW9kdWxlO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgdmF1bHQtcmVsYXRpdmUgZmlsZSBtYXAgdGhhdCBpbnN0YWxscyB0aGUgc2hpcHBlZCBpbnRlZ3JhdGlvbi10ZXN0IGhhcm5lc3MgcGx1Z2luLCByZWFkeSB0b1xuICogaGFuZCB0byBhIGdsb2JhbCBzZXR1cCdzIGBwb3B1bGF0ZWAgKG9yIHRvIG1lcmdlIGludG8gYSBsYXJnZXIgbWFwIHRoZSBjb25zdW1lciBhbHJlYWR5IGJ1aWxkcykuXG4gKlxuICogVGhlIHJlc3VsdCBpcyBhIGBSZWNvcmQ8c3RyaW5nLCBVaW50OEFycmF5PmAsIHdoaWNoIGlzIGFzc2lnbmFibGUgdG8gYG9ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmdgJ3NcbiAqIGBQb3B1bGF0ZUZpbGVzUGFyYW1zYCBcdTIwMTQgc28gaXQgY29tcG9zZXMgd2l0aCBgYnVpbGREZW1vVmF1bHRQb3B1bGF0ZWAgYW5kIGZyaWVuZHMuXG4gKlxuICogQHJldHVybnMgVGhlIG1hcCBvZiB2YXVsdC1yZWxhdGl2ZSBwYXRocyB0byBmaWxlIGNvbnRlbnRzLlxuICogQHRocm93cyBJZiB0aGUgaGFybmVzcyBwbHVnaW4gd2FzIG5vdCBidWlsdCBpbnRvIHRoaXMgcGFja2FnZSBcdTIwMTQgaS5lLiBgbnBtIHJ1biBidWlsZGAgbmV2ZXIgcmFuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZWdyYXRpb25UZXN0UGx1Z2luUG9wdWxhdGUoKTogUmVjb3JkPHN0cmluZywgVWludDhBcnJheT4ge1xuICBjb25zdCBwYWNrYWdlRm9sZGVyID0gZ2V0Um9vdEZvbGRlcihnZXRGb2xkZXJOYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICBpZiAoIXBhY2thZ2VGb2xkZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCByZXNvbHZlIHRoZSBvYnNpZGlhbi1kZXYtdXRpbHMgcGFja2FnZSBmb2xkZXIgdG8gc2VlZCB0aGUgaW50ZWdyYXRpb24tdGVzdCBoYXJuZXNzIHBsdWdpbi4nKTtcbiAgfVxuXG4gIGNvbnN0IHBsdWdpblNvdXJjZUZvbGRlciA9IGpvaW4ocGFja2FnZUZvbGRlciwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0SW50ZWdyYXRpb25UZXN0UGx1Z2luKTtcbiAgY29uc3QgcGx1Z2luVmF1bHRGb2xkZXIgPSBqb2luKFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRvdE9ic2lkaWFuLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlBsdWdpbnMsXG4gICAgT0JTSURJQU5fREVWX1VUSUxTX0lOVEVHUkFUSU9OX1RFU1RfUExVR0lOX0lEXG4gICk7XG5cbiAgY29uc3QgcG9wdWxhdGU6IFJlY29yZDxzdHJpbmcsIFVpbnQ4QXJyYXk+ID0ge307XG5cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBbT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFpbkpzLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb25dKSB7XG4gICAgY29uc3Qgc291cmNlUGF0aCA9IGpvaW4ocGx1Z2luU291cmNlRm9sZGVyLCBmaWxlTmFtZSk7XG4gICAgbGV0IGNvbnRlbnQ6IFVpbnQ4QXJyYXk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnRlbnQgPSByZWFkRmlsZVN5bmMoc291cmNlUGF0aCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZWFkICR7c291cmNlUGF0aH0uIFRoZSBpbnRlZ3JhdGlvbi10ZXN0IGhhcm5lc3MgcGx1Z2luIGlzIG1pc3NpbmcgZnJvbSB0aGUgaW5zdGFsbGVkIGBcbiAgICAgICAgICArICdvYnNpZGlhbi1kZXYtdXRpbHMgcGFja2FnZSBcdTIwMTQgcnVuIGBucG0gcnVuIGJ1aWxkYCBpbiBvYnNpZGlhbi1kZXYtdXRpbHMsIG9yIHJlaW5zdGFsbCBpdC4nLFxuICAgICAgICB7IGNhdXNlOiBlcnJvciB9XG4gICAgICApO1xuICAgIH1cbiAgICBwb3B1bGF0ZVtqb2luKHBsdWdpblZhdWx0Rm9sZGVyLCBmaWxlTmFtZSldID0gY29udGVudDtcbiAgfVxuXG4gIHJldHVybiBwb3B1bGF0ZTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIHJlbmRlcmVyLXNpZGUgcmVzb2x2ZXIgdGhhdCBtZXJnZXMgdGhlIHdob2xlIGxpYnJhcnkgaW50byB0aGUgYGxpYmAgYXJndW1lbnQgb2YgZXZlcnlcbiAqIGBldmFsSW5PYnNpZGlhbmAgY2FsbGJhY2ssIHJlYWRpbmcgaXQgZnJvbSB0aGUgZ2xvYmFsIHRoZSBoYXJuZXNzIHBsdWdpbiBwdWJsaXNoZXMuXG4gKlxuICogQ2FsbCBvbmNlIHBlciB0ZXN0IHdvcmtlciBcdTIwMTQgdGhlIHB1Ymxpc2hlZCBgb2JzaWRpYW4tZGV2LXV0aWxzL2ludGVncmF0aW9uLXRlc3Qtc2V0dXBgIGVuZHBvaW50IGRvZXMgaXRcbiAqIGZvciB5b3Ugd2hlbiBsaXN0ZWQgaW4gYHNldHVwRmlsZXNgLiBSZWdpc3RyYXRpb24gaXMgaWRlbXBvdGVudCAodGhlIGhhcm5lc3MgZGVkdXBlcyByZXNvbHZlcnMgYnkgc291cmNlXG4gKiB0ZXh0KSwgc28gY2FsbGluZyBpdCBtb3JlIHRoYW4gb25jZSBpcyBzYWZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJJbnRlZ3JhdGlvblRlc3RMaWJSZXNvbHZlcigpOiB2b2lkIHtcbiAgcmVnaXN0ZXJMaWJSZXNvbHZlcigoKTogb2JqZWN0ID0+IHtcbiAgICBjb25zdCBvYnNpZGlhbkRldlV0aWxzTW9kdWxlID0gKHdpbmRvdyBhcyBQYXJ0aWFsPE9ic2lkaWFuRGV2VXRpbHNNb2R1bGVXaW5kb3c+KS5fX29ic2lkaWFuRGV2VXRpbHNNb2R1bGU7XG4gICAgaWYgKCFvYnNpZGlhbkRldlV0aWxzTW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGUgb2JzaWRpYW4tZGV2LXV0aWxzIG1vZHVsZSBpcyBub3QgZXhwb3NlZCBvbiBgd2luZG93YC4gSXMgdGhlIG9ic2lkaWFuLWRldi11dGlscyBpbnRlZ3JhdGlvbi10ZXN0ICdcbiAgICAgICAgICArICdoYXJuZXNzIHBsdWdpbiBpbnN0YWxsZWQgYW5kIGVuYWJsZWQgaW4gdGhlIHRlc3QgdmF1bHQ/IFNlZSAnXG4gICAgICAgICAgKyAnYG9ic2lkaWFuLWRldi11dGlscy9pbnRlZ3JhdGlvbi10ZXN0LXZpdGVzdC1nbG9iYWwtc2V0dXBgLidcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvYnNpZGlhbkRldlV0aWxzTW9kdWxlLl9fbWVyZ2VkO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsMkJBQTJCO0FBRXBDLFNBQVMsK0JBQStCO0FBQ3hDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQ0FBaUM7QUFDMUMsU0FBUyxxQkFBcUI7QUFNdkIsTUFBTSxnREFBZ0Q7QUEwQnRELFNBQVMsbUNBQStEO0FBQzdFLFFBQU0sZ0JBQWdCLGNBQWMsY0FBYyxZQUFZLEdBQUcsQ0FBQztBQUNsRSxNQUFJLENBQUMsZUFBZTtBQUNsQixVQUFNLElBQUksTUFBTSxzR0FBc0c7QUFBQSxFQUN4SDtBQUVBLFFBQU0scUJBQXFCLEtBQUssZUFBZSwwQkFBMEIseUJBQXlCO0FBQ2xHLFFBQU0sb0JBQW9CO0FBQUEsSUFDeEIsd0JBQXdCO0FBQUEsSUFDeEIsd0JBQXdCO0FBQUEsSUFDeEI7QUFBQSxFQUNGO0FBRUEsUUFBTSxXQUF1QyxDQUFDO0FBRTlDLGFBQVcsWUFBWSxDQUFDLHdCQUF3QixRQUFRLHdCQUF3QixZQUFZLEdBQUc7QUFDN0YsVUFBTSxhQUFhLEtBQUssb0JBQW9CLFFBQVE7QUFDcEQsUUFBSTtBQUNKLFFBQUk7QUFDRixnQkFBVSxhQUFhLFVBQVU7QUFBQSxJQUNuQyxTQUFTLE9BQWdCO0FBQ3ZCLFlBQU0sSUFBSTtBQUFBLFFBQ1Isa0JBQWtCLFVBQVU7QUFBQSxRQUU1QixFQUFFLE9BQU8sTUFBTTtBQUFBLE1BQ2pCO0FBQUEsSUFDRjtBQUNBLGFBQVMsS0FBSyxtQkFBbUIsUUFBUSxDQUFDLElBQUk7QUFBQSxFQUNoRDtBQUVBLFNBQU87QUFDVDtBQVVPLFNBQVMscUNBQTJDO0FBQ3pELHNCQUFvQixNQUFjO0FBQ2hDLFVBQU0seUJBQTBCLE9BQWlEO0FBQ2pGLFFBQUksQ0FBQyx3QkFBd0I7QUFDM0IsWUFBTSxJQUFJO0FBQUEsUUFDUjtBQUFBLE1BR0Y7QUFBQSxJQUNGO0FBQ0EsV0FBTyx1QkFBdUI7QUFBQSxFQUNoQyxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "obsidian-dev-utils",
|
|
3
|
-
"version": "88.
|
|
3
|
+
"version": "88.5.0",
|
|
4
4
|
"description": "This is the collection of useful functions that you can use for your Obsidian plugin development.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"obsidian"
|
|
@@ -626,6 +626,7 @@
|
|
|
626
626
|
"CHANGELOG.md",
|
|
627
627
|
"dist/",
|
|
628
628
|
"!dist/*.tgz",
|
|
629
|
+
"!dist/dev/",
|
|
629
630
|
"LICENSE",
|
|
630
631
|
"README.md"
|
|
631
632
|
],
|
|
@@ -638,6 +639,7 @@
|
|
|
638
639
|
"build:generate-exports": "jiti scripts/build-generate-exports.ts",
|
|
639
640
|
"build:generate-index": "jiti scripts/build-generate-index.ts",
|
|
640
641
|
"build:generate-merged": "jiti scripts/build-generate-merged.ts",
|
|
642
|
+
"build:integration-test-plugin": "jiti scripts/build-integration-test-plugin.ts",
|
|
641
643
|
"build:lib": "jiti scripts/build-lib.ts",
|
|
642
644
|
"build:styles": "jiti scripts/build-styles.ts",
|
|
643
645
|
"build:templates": "jiti scripts/build-templates.ts",
|
|
@@ -710,7 +712,7 @@
|
|
|
710
712
|
"cspell": "^10.0.1",
|
|
711
713
|
"debug": "^4.4.3",
|
|
712
714
|
"dprint": "^0.55.2",
|
|
713
|
-
"enhanced-resolve": "^5.24.
|
|
715
|
+
"enhanced-resolve": "^5.24.4",
|
|
714
716
|
"esbuild": "^0.28.1",
|
|
715
717
|
"esbuild-sass-plugin": "^3.7.0",
|
|
716
718
|
"esbuild-svelte": "^0.9.5",
|
|
@@ -733,7 +735,7 @@
|
|
|
733
735
|
"monkey-around": "^3.0.0",
|
|
734
736
|
"obsidian": "^1.13.1",
|
|
735
737
|
"path-browserify": "^1.0.1",
|
|
736
|
-
"postcss": "^8.5.
|
|
738
|
+
"postcss": "^8.5.25",
|
|
737
739
|
"postcss-modules": "^9.0.1",
|
|
738
740
|
"preact": "^10.29.7",
|
|
739
741
|
"react": "^19.2.8",
|
|
@@ -763,7 +765,7 @@
|
|
|
763
765
|
"@typescript-eslint/rule-tester": "^8.65.0",
|
|
764
766
|
"@vitest/coverage-v8": "^4.1.10",
|
|
765
767
|
"@vitest/runner": "^4.1.10",
|
|
766
|
-
"astro": "^7.1.
|
|
768
|
+
"astro": "^7.1.6",
|
|
767
769
|
"astro-eslint-parser": "^3.0.0",
|
|
768
770
|
"better-typescript-lib": "^2.12.0",
|
|
769
771
|
"brace-expansion-upstream": "npm:brace-expansion@^5.0.8",
|
|
@@ -774,11 +776,11 @@
|
|
|
774
776
|
"hast-util-from-html": "^2.0.3",
|
|
775
777
|
"hastscript": "^9.0.1",
|
|
776
778
|
"husky": "^9.1.7",
|
|
777
|
-
"jsdom": "^30.0.
|
|
779
|
+
"jsdom": "^30.0.1",
|
|
778
780
|
"moment": "^2.30.1",
|
|
779
781
|
"nano-staged": "^1.0.2",
|
|
780
782
|
"obsidian-integration-testing": "^9.1.1",
|
|
781
|
-
"obsidian-test-mocks": "^3.
|
|
783
|
+
"obsidian-test-mocks": "^3.9.0",
|
|
782
784
|
"satori": "^0.29.0",
|
|
783
785
|
"starlight-github-alerts": "^0.4.0",
|
|
784
786
|
"starlight-package-managers": "^0.12.0",
|
|
@@ -789,6 +791,14 @@
|
|
|
789
791
|
"vitest": "^4.1.10",
|
|
790
792
|
"yaml": "^2.9.0"
|
|
791
793
|
},
|
|
794
|
+
"peerDependencies": {
|
|
795
|
+
"obsidian-integration-testing": "^9.1.1"
|
|
796
|
+
},
|
|
797
|
+
"peerDependenciesMeta": {
|
|
798
|
+
"obsidian-integration-testing": {
|
|
799
|
+
"optional": true
|
|
800
|
+
}
|
|
801
|
+
},
|
|
792
802
|
"engines": {
|
|
793
803
|
"node": ">=22.0.0"
|
|
794
804
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"main": "../../../dist/lib/cjs/script-utils/test-runners/integration-test-plugin.cjs",
|
|
3
|
+
"module": "../../../dist/lib/esm/script-utils/test-runners/integration-test-plugin.mjs",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"types": "../../../dist/lib/cjs/script-utils/test-runners/integration-test-plugin.d.cts"
|
|
6
|
+
}
|