@mnaoumov/obsidian-dev-toolkit 2.1.0 → 3.0.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.
Files changed (129) hide show
  1. package/README.md +5 -1
  2. package/bin/archive-demo-vault.mjs +8 -0
  3. package/bin/generate-coverage-badge.mjs +8 -0
  4. package/bundlers/esbuild-impl/feature-options/package.json +6 -0
  5. package/bundlers/obsidian-cli-reload/package.json +6 -0
  6. package/bundlers/obsidian-plugin-build/package.json +6 -0
  7. package/bundlers/obsidian-plugin-features/package.json +6 -0
  8. package/bundlers/obsidian-plugin-transforms/package.json +6 -0
  9. package/bundlers/obsidian-plugin-webpack-loader/package.json +6 -0
  10. package/bundlers/obsidian-plugins-folder-deployment/package.json +6 -0
  11. package/bundlers/parcel/package.json +6 -0
  12. package/bundlers/rollup/package.json +6 -0
  13. package/bundlers/rollup-compatible/package.json +6 -0
  14. package/bundlers/rollup-compatible-features/package.json +6 -0
  15. package/bundlers/vite/package.json +6 -0
  16. package/bundlers/webpack/package.json +6 -0
  17. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -188
  18. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +2 -18
  19. package/dist/lib/cjs/bundlers/esbuild-impl/feature-options.cjs +173 -0
  20. package/dist/lib/cjs/bundlers/esbuild-impl/feature-options.d.cts +60 -0
  21. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +4 -1
  22. package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +1 -0
  23. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +30 -82
  24. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +7 -24
  25. package/dist/lib/cjs/bundlers/index.cjs +39 -3
  26. package/dist/lib/cjs/bundlers/index.d.cts +12 -0
  27. package/dist/lib/cjs/bundlers/obsidian-cli-reload.cjs +182 -0
  28. package/dist/lib/cjs/bundlers/obsidian-cli-reload.d.cts +37 -0
  29. package/dist/lib/cjs/bundlers/obsidian-plugin-build.cjs +278 -0
  30. package/dist/lib/cjs/bundlers/obsidian-plugin-build.d.cts +217 -0
  31. package/dist/lib/cjs/bundlers/obsidian-plugin-features.cjs +242 -0
  32. package/dist/lib/cjs/bundlers/obsidian-plugin-features.d.cts +186 -0
  33. package/dist/lib/cjs/bundlers/obsidian-plugin-transforms.cjs +306 -0
  34. package/dist/lib/cjs/bundlers/obsidian-plugin-transforms.d.cts +231 -0
  35. package/dist/lib/cjs/bundlers/obsidian-plugin-webpack-loader.cjs +182 -0
  36. package/dist/lib/cjs/bundlers/obsidian-plugin-webpack-loader.d.cts +47 -0
  37. package/dist/lib/cjs/bundlers/obsidian-plugins-folder-deployment.cjs +320 -0
  38. package/dist/lib/cjs/bundlers/obsidian-plugins-folder-deployment.d.cts +44 -0
  39. package/dist/lib/cjs/bundlers/parcel.cjs +462 -0
  40. package/dist/lib/cjs/bundlers/parcel.d.cts +128 -0
  41. package/dist/lib/cjs/bundlers/rollup-compatible-features.cjs +181 -0
  42. package/dist/lib/cjs/bundlers/rollup-compatible-features.d.cts +128 -0
  43. package/dist/lib/cjs/bundlers/rollup-compatible.cjs +138 -0
  44. package/dist/lib/cjs/bundlers/rollup-compatible.d.cts +84 -0
  45. package/dist/lib/cjs/bundlers/rollup.cjs +218 -0
  46. package/dist/lib/cjs/bundlers/rollup.d.cts +99 -0
  47. package/dist/lib/cjs/bundlers/vite.cjs +229 -0
  48. package/dist/lib/cjs/bundlers/vite.d.cts +105 -0
  49. package/dist/lib/cjs/bundlers/webpack.cjs +354 -0
  50. package/dist/lib/cjs/bundlers/webpack.d.cts +133 -0
  51. package/dist/lib/cjs/demo-vault-cli.cjs +131 -0
  52. package/dist/lib/cjs/demo-vault-cli.d.cts +15 -0
  53. package/dist/lib/cjs/index.cjs +4 -1
  54. package/dist/lib/cjs/index.d.cts +1 -0
  55. package/dist/lib/cjs/test-runners/coverage-badge-cli.cjs +160 -0
  56. package/dist/lib/cjs/test-runners/coverage-badge-cli.d.cts +25 -0
  57. package/dist/lib/cjs/test-runners/coverage-badge.cjs +279 -0
  58. package/dist/lib/cjs/test-runners/coverage-badge.d.cts +143 -0
  59. package/dist/lib/cjs/test-runners/e2e-runner-support.cjs +170 -0
  60. package/dist/lib/cjs/test-runners/e2e-runner-support.d.cts +36 -0
  61. package/dist/lib/cjs/test-runners/index.cjs +18 -3
  62. package/dist/lib/cjs/test-runners/index.d.cts +5 -0
  63. package/dist/lib/cjs/test-runners/obsidian-test-runner.cjs +147 -0
  64. package/dist/lib/cjs/test-runners/obsidian-test-runner.d.cts +42 -0
  65. package/dist/lib/cjs/test-runners/wdio-obsidian.cjs +205 -0
  66. package/dist/lib/cjs/test-runners/wdio-obsidian.d.cts +199 -0
  67. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +2 -18
  68. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +3 -192
  69. package/dist/lib/esm/bundlers/esbuild-impl/feature-options.d.mts +60 -0
  70. package/dist/lib/esm/bundlers/esbuild-impl/feature-options.mjs +82 -0
  71. package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +1 -0
  72. package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +3 -1
  73. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +7 -24
  74. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +41 -87
  75. package/dist/lib/esm/bundlers/index.d.mts +12 -0
  76. package/dist/lib/esm/bundlers/index.mjs +26 -2
  77. package/dist/lib/esm/bundlers/obsidian-cli-reload.d.mts +37 -0
  78. package/dist/lib/esm/bundlers/obsidian-cli-reload.mjs +83 -0
  79. package/dist/lib/esm/bundlers/obsidian-plugin-build.d.mts +217 -0
  80. package/dist/lib/esm/bundlers/obsidian-plugin-build.mjs +166 -0
  81. package/dist/lib/esm/bundlers/obsidian-plugin-features.d.mts +186 -0
  82. package/dist/lib/esm/bundlers/obsidian-plugin-features.mjs +126 -0
  83. package/dist/lib/esm/bundlers/obsidian-plugin-transforms.d.mts +231 -0
  84. package/dist/lib/esm/bundlers/obsidian-plugin-transforms.mjs +194 -0
  85. package/dist/lib/esm/bundlers/obsidian-plugin-webpack-loader.d.mts +47 -0
  86. package/dist/lib/esm/bundlers/obsidian-plugin-webpack-loader.mjs +89 -0
  87. package/dist/lib/esm/bundlers/obsidian-plugins-folder-deployment.d.mts +44 -0
  88. package/dist/lib/esm/bundlers/obsidian-plugins-folder-deployment.mjs +228 -0
  89. package/dist/lib/esm/bundlers/parcel.d.mts +128 -0
  90. package/dist/lib/esm/bundlers/parcel.mjs +361 -0
  91. package/dist/lib/esm/bundlers/rollup-compatible-features.d.mts +128 -0
  92. package/dist/lib/esm/bundlers/rollup-compatible-features.mjs +93 -0
  93. package/dist/lib/esm/bundlers/rollup-compatible.d.mts +84 -0
  94. package/dist/lib/esm/bundlers/rollup-compatible.mjs +43 -0
  95. package/dist/lib/esm/bundlers/rollup.d.mts +99 -0
  96. package/dist/lib/esm/bundlers/rollup.mjs +130 -0
  97. package/dist/lib/esm/bundlers/vite.d.mts +105 -0
  98. package/dist/lib/esm/bundlers/vite.mjs +144 -0
  99. package/dist/lib/esm/bundlers/webpack.d.mts +133 -0
  100. package/dist/lib/esm/bundlers/webpack.mjs +259 -0
  101. package/dist/lib/esm/demo-vault-cli.d.mts +15 -0
  102. package/dist/lib/esm/demo-vault-cli.mjs +23 -0
  103. package/dist/lib/esm/index.d.mts +1 -0
  104. package/dist/lib/esm/index.mjs +3 -1
  105. package/dist/lib/esm/test-runners/coverage-badge-cli.d.mts +25 -0
  106. package/dist/lib/esm/test-runners/coverage-badge-cli.mjs +51 -0
  107. package/dist/lib/esm/test-runners/coverage-badge.d.mts +143 -0
  108. package/dist/lib/esm/test-runners/coverage-badge.mjs +181 -0
  109. package/dist/lib/esm/test-runners/e2e-runner-support.d.mts +36 -0
  110. package/dist/lib/esm/test-runners/e2e-runner-support.mjs +61 -0
  111. package/dist/lib/esm/test-runners/index.d.mts +5 -0
  112. package/dist/lib/esm/test-runners/index.mjs +12 -2
  113. package/dist/lib/esm/test-runners/obsidian-test-runner.d.mts +42 -0
  114. package/dist/lib/esm/test-runners/obsidian-test-runner.mjs +52 -0
  115. package/dist/lib/esm/test-runners/wdio-obsidian.d.mts +199 -0
  116. package/dist/lib/esm/test-runners/wdio-obsidian.mjs +110 -0
  117. package/package.json +102 -4
  118. package/test-runners/coverage-badge/package.json +6 -0
  119. package/test-runners/coverage-badge-cli/package.json +6 -0
  120. package/test-runners/e2e-runner-support/package.json +6 -0
  121. package/test-runners/obsidian-test-runner/package.json +6 -0
  122. package/test-runners/wdio-obsidian/package.json +6 -0
  123. package/tsconfig/preact.json +7 -0
  124. package/tsconfig/react.json +7 -0
  125. package/tsconfig/solid.json +7 -0
  126. package/tsconfig/svelte.json +7 -0
  127. package/tsconfig/vue.json +7 -0
  128. package/types/styles.d.ts +32 -0
  129. package/types/wasm.d.ts +11 -0
@@ -0,0 +1,131 @@
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
+ (function patchObsidianRequire() {
6
+ const originalRequire = require;
7
+ if (!originalRequire || originalRequire.__isPatched) {
8
+ return;
9
+ }
10
+
11
+ require = Object.assign(
12
+ (id) => requirePatched(id),
13
+ originalRequire,
14
+ {
15
+ __isPatched: true
16
+ }
17
+ );
18
+
19
+ function extractDefault(module) {
20
+ return module && module.__esModule && 'default' in module ? module.default : module;
21
+ }
22
+
23
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
24
+ '@codemirror/autocomplete',
25
+ '@codemirror/collab',
26
+ '@codemirror/commands',
27
+ '@codemirror/language',
28
+ '@codemirror/lint',
29
+ '@codemirror/search',
30
+ '@codemirror/state',
31
+ '@codemirror/text',
32
+ '@codemirror/view',
33
+ '@lezer/common',
34
+ '@lezer/highlight',
35
+ '@lezer/lr',
36
+ 'obsidian']
37
+ );
38
+
39
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
40
+ '@codemirror/closebrackets',
41
+ '@codemirror/comment',
42
+ '@codemirror/fold',
43
+ '@codemirror/gutter',
44
+ '@codemirror/highlight',
45
+ '@codemirror/history',
46
+ '@codemirror/matchbrackets',
47
+ '@codemirror/panel',
48
+ '@codemirror/rangeset',
49
+ '@codemirror/rectangular-selection',
50
+ '@codemirror/stream-parser',
51
+ '@codemirror/tooltip']
52
+ );
53
+
54
+ function requirePatched(id) {
55
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
56
+ return originalRequire?.(id);
57
+ }
58
+
59
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
60
+ if (globalThis.app.isMobile) {
61
+ if (id === 'process' || id === 'node:process') {
62
+ // eslint-disable-next-line no-console -- Valid usage.
63
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
64
+
65
+ return process;
66
+ }
67
+ } else {
68
+ const module = originalRequire?.(id);
69
+ if (module) {
70
+ return extractDefault(module);
71
+ }
72
+ }
73
+
74
+ // eslint-disable-next-line no-console -- Valid usage.
75
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
76
+ return {};
77
+ }
78
+ })();
79
+
80
+ "use strict";
81
+ var __create = Object.create;
82
+ var __defProp = Object.defineProperty;
83
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
84
+ var __getOwnPropNames = Object.getOwnPropertyNames;
85
+ var __getProtoOf = Object.getPrototypeOf;
86
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
87
+ var __export = (target, all) => {
88
+ for (var name in all)
89
+ __defProp(target, name, { get: all[name], enumerable: true });
90
+ };
91
+ var __copyProps = (to, from, except, desc) => {
92
+ if (from && typeof from === "object" || typeof from === "function") {
93
+ for (let key of __getOwnPropNames(from))
94
+ if (!__hasOwnProp.call(to, key) && key !== except)
95
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
96
+ }
97
+ return to;
98
+ };
99
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
100
+ // If the importer is in node compatibility mode or this is not an ESM
101
+ // file that has been converted to a CommonJS file using a Babel-
102
+ // compatible transform (i.e. "__esModule" has not been set), then set
103
+ // "default" to the CommonJS "module.exports" for node compatibility.
104
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
105
+ mod
106
+ ));
107
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
108
+ var demo_vault_cli_exports = {};
109
+ __export(demo_vault_cli_exports, {
110
+ runArchiveDemoVaultCli: () => runArchiveDemoVaultCli
111
+ });
112
+ module.exports = __toCommonJS(demo_vault_cli_exports);
113
+ var import_node_process = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('node:process')), 1);
114
+ var import_demo_vault = require('./demo-vault.cjs');
115
+ async function runArchiveDemoVaultCli() {
116
+ try {
117
+ const zipPath = await (0, import_demo_vault.archivePluginDemoVault)();
118
+ import_node_process.default.stdout.write(zipPath === null ? "No demo-vault/ folder: nothing to archive.\n" : `Archived the demo vault to ${zipPath}
119
+ `);
120
+ return 0;
121
+ } catch (error) {
122
+ import_node_process.default.stderr.write(`${error instanceof Error ? error.message : String(error)}
123
+ `);
124
+ return 1;
125
+ }
126
+ }
127
+ // Annotate the CommonJS export names for ESM import in node:
128
+ 0 && (module.exports = {
129
+ runArchiveDemoVaultCli
130
+ });
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZW1vLXZhdWx0LWNsaS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGBhcmNoaXZlLWRlbW8tdmF1bHRgIGNvbW1hbmQ6IHJ1bnMge0BsaW5rIGFyY2hpdmVQbHVnaW5EZW1vVmF1bHR9IG9uIHRoZSBidWlsdCBwbHVnaW4gYW5kIHR1cm5zIHRoZSByZXN1bHQgaW50b1xuICogYW4gZXhpdCBjb2RlLiBUaGUgYG9ic2lkaWFuLXBsdWdpbi1yZWxlYXNlLnltbGAgcmV1c2FibGUgd29ya2Zsb3cgcnVucyBpdCBhZnRlciB0aGUgYnVpbGQsIHNvIGEgcmVsZWFzZSBtYWRlIGluIENJXG4gKiBjYXJyaWVzIHRoZSBzYW1lIGRlbW8gdmF1bHQgYXJjaGl2ZSBhcyBvbmUgbWFkZSB3aXRoIGBucG0gcnVuIHZlcnNpb25gLlxuICovXG5cbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbmltcG9ydCB7IGFyY2hpdmVQbHVnaW5EZW1vVmF1bHQgfSBmcm9tICcuL2RlbW8tdmF1bHQudHMnO1xuXG4vKipcbiAqIFJ1bnMgYGFyY2hpdmUtZGVtby12YXVsdGAuIEEgcGx1Z2luIHdpdGhvdXQgYSBgZGVtby12YXVsdC9gIGZvbGRlciBpcyBub3QgYSBmYWlsdXJlOiB0aGVyZSBpcyBub3RoaW5nIHRvIGFyY2hpdmUuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgZXhpdCBjb2RlOiBgMGAgb25jZSB0aGUgYXJjaGl2ZSBpcyB3cml0dGVuIG9yIHdoZW4gdGhlcmUgaXMgbm8gZGVtb1xuICogICB2YXVsdCwgYDFgIG9uIGFueSBmYWlsdXJlLCB3aGljaCBpcyBwcmludGVkIHRvIHN0ZGVyci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkFyY2hpdmVEZW1vVmF1bHRDbGkoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB6aXBQYXRoID0gYXdhaXQgYXJjaGl2ZVBsdWdpbkRlbW9WYXVsdCgpO1xuICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKHppcFBhdGggPT09IG51bGwgPyAnTm8gZGVtby12YXVsdC8gZm9sZGVyOiBub3RoaW5nIHRvIGFyY2hpdmUuXFxuJyA6IGBBcmNoaXZlZCB0aGUgZGVtbyB2YXVsdCB0byAke3ppcFBhdGh9XFxuYCk7XG4gICAgcmV0dXJuIDA7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYCR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpfVxcbmApO1xuICAgIHJldHVybiAxO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLDBCQUFvQjtBQUVwQix3QkFBdUM7QUFRdkMsZUFBc0IseUJBQTBDO0FBQzlELE1BQUk7QUFDRixVQUFNLFVBQVUsVUFBTSwwQ0FBdUI7QUFDN0Msd0JBQUFBLFFBQVEsT0FBTyxNQUFNLFlBQVksT0FBTyxpREFBaUQsOEJBQThCLE9BQU87QUFBQSxDQUFJO0FBQ2xJLFdBQU87QUFBQSxFQUNULFNBQVMsT0FBTztBQUNkLHdCQUFBQSxRQUFRLE9BQU8sTUFBTSxHQUFHLGlCQUFpQixRQUFRLE1BQU0sVUFBVSxPQUFPLEtBQUssQ0FBQztBQUFBLENBQUk7QUFDbEYsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLCJuYW1lcyI6WyJwcm9jZXNzIl19
@@ -0,0 +1,15 @@
1
+ /// <reference path="./library-references.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * The `archive-demo-vault` command: runs {@link archivePluginDemoVault} on the built plugin and turns the result into
6
+ * an exit code. The `obsidian-plugin-release.yml` reusable workflow runs it after the build, so a release made in CI
7
+ * carries the same demo vault archive as one made with `npm run version`.
8
+ */
9
+ /**
10
+ * Runs `archive-demo-vault`. A plugin without a `demo-vault/` folder is not a failure: there is nothing to archive.
11
+ *
12
+ * @returns A {@link Promise} that resolves to the exit code: `0` once the archive is written or when there is no demo
13
+ * vault, `1` on any failure, which is printed to stderr.
14
+ */
15
+ export declare function runArchiveDemoVaultCli(): Promise<number>;
@@ -111,6 +111,7 @@ __export(index_exports, {
111
111
  "demo-vault": () => demo_vault,
112
112
  "demo-vault-app-json": () => demo_vault_app_json,
113
113
  "demo-vault-buttons": () => demo_vault_buttons,
114
+ "demo-vault-cli": () => demo_vault_cli,
114
115
  "demo-vault-coverage": () => demo_vault_coverage,
115
116
  "docs-site": () => docs_site,
116
117
  formatters: () => formatters,
@@ -124,6 +125,7 @@ module.exports = __toCommonJS(index_exports);
124
125
  var bundlers = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./bundlers/index.cjs')), 1);
125
126
  var demo_vault_app_json = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./demo-vault-app-json.cjs')), 1);
126
127
  var demo_vault_buttons = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./demo-vault-buttons.cjs')), 1);
128
+ var demo_vault_cli = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./demo-vault-cli.cjs')), 1);
127
129
  var demo_vault_coverage = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./demo-vault-coverage.cjs')), 1);
128
130
  var demo_vault = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./demo-vault.cjs')), 1);
129
131
  var docs_site = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./docs-site/index.cjs')), 1);
@@ -139,6 +141,7 @@ var version = __toESM(((module) => module && module.__esModule && 'default' in m
139
141
  "demo-vault": null,
140
142
  "demo-vault-app-json": null,
141
143
  "demo-vault-buttons": null,
144
+ "demo-vault-cli": null,
142
145
  "demo-vault-coverage": null,
143
146
  "docs-site": null,
144
147
  formatters,
@@ -148,4 +151,4 @@ var version = __toESM(((module) => module && module.__esModule && 'default' in m
148
151
  "test-runners": null,
149
152
  version
150
153
  });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2J1bmRsZXJzJyBmcm9tICcuL2J1bmRsZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdkZW1vLXZhdWx0LWFwcC1qc29uJyBmcm9tICcuL2RlbW8tdmF1bHQtYXBwLWpzb24udHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQtYnV0dG9ucycgZnJvbSAnLi9kZW1vLXZhdWx0LWJ1dHRvbnMudHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQtY292ZXJhZ2UnIGZyb20gJy4vZGVtby12YXVsdC1jb3ZlcmFnZS50cyc7XG5leHBvcnQgKiBhcyAnZGVtby12YXVsdCcgZnJvbSAnLi9kZW1vLXZhdWx0LnRzJztcbmV4cG9ydCAqIGFzICdkb2NzLXNpdGUnIGZyb20gJy4vZG9jcy1zaXRlL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdmb3JtYXR0ZXJzJyBmcm9tICcuL2Zvcm1hdHRlcnMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2xpbnRlcnMnIGZyb20gJy4vbGludGVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMnIGZyb20gJy4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuZXhwb3J0ICogYXMgJ3RlbXBsYXRlcycgZnJvbSAnLi90ZW1wbGF0ZXMudHMnO1xuZXhwb3J0ICogYXMgJ3Rlc3QtcnVubmVycycgZnJvbSAnLi90ZXN0LXJ1bm5lcnMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ3ZlcnNpb24nIGZyb20gJy4vdmVyc2lvbi50cyc7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUEsc0JBQUFBO0FBQUEsRUFBQSw2QkFBQUM7QUFBQSxFQUFBLDRCQUFBQztBQUFBLEVBQUEsNkJBQUFDO0FBQUEsRUFBQSxtQkFBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSxzQ0FBQUM7QUFBQSxFQUFBO0FBQUEsd0JBQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFFQSxlQUE0QjtBQUM1QixJQUFBTCxzQkFBdUM7QUFDdkMsSUFBQUMscUJBQXNDO0FBQ3RDLElBQUFDLHNCQUF1QztBQUN2QyxJQUFBSCxhQUE4QjtBQUM5QixJQUFBSSxZQUE2QjtBQUM3QixpQkFBOEI7QUFDOUIsY0FBMkI7QUFDM0IsSUFBQUMsNkJBQThDO0FBQzlDLGdCQUE2QjtBQUM3QixJQUFBQyxlQUFnQztBQUNoQyxjQUEyQjsiLCJuYW1lcyI6WyJkZW1vLXZhdWx0IiwiZGVtby12YXVsdC1hcHAtanNvbiIsImRlbW8tdmF1bHQtYnV0dG9ucyIsImRlbW8tdmF1bHQtY292ZXJhZ2UiLCJkb2NzLXNpdGUiLCJvYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocyIsInRlc3QtcnVubmVycyJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2J1bmRsZXJzJyBmcm9tICcuL2J1bmRsZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdkZW1vLXZhdWx0LWFwcC1qc29uJyBmcm9tICcuL2RlbW8tdmF1bHQtYXBwLWpzb24udHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQtYnV0dG9ucycgZnJvbSAnLi9kZW1vLXZhdWx0LWJ1dHRvbnMudHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQtY2xpJyBmcm9tICcuL2RlbW8tdmF1bHQtY2xpLnRzJztcbmV4cG9ydCAqIGFzICdkZW1vLXZhdWx0LWNvdmVyYWdlJyBmcm9tICcuL2RlbW8tdmF1bHQtY292ZXJhZ2UudHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQnIGZyb20gJy4vZGVtby12YXVsdC50cyc7XG5leHBvcnQgKiBhcyAnZG9jcy1zaXRlJyBmcm9tICcuL2RvY3Mtc2l0ZS9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnZm9ybWF0dGVycycgZnJvbSAnLi9mb3JtYXR0ZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICdsaW50ZXJzJyBmcm9tICcuL2xpbnRlcnMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzJyBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmV4cG9ydCAqIGFzICd0ZW1wbGF0ZXMnIGZyb20gJy4vdGVtcGxhdGVzLnRzJztcbmV4cG9ydCAqIGFzICd0ZXN0LXJ1bm5lcnMnIGZyb20gJy4vdGVzdC1ydW5uZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICd2ZXJzaW9uJyBmcm9tICcuL3ZlcnNpb24udHMnO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBLHNCQUFBQTtBQUFBLEVBQUEsNkJBQUFDO0FBQUEsRUFBQSw0QkFBQUM7QUFBQSxFQUFBLHdCQUFBQztBQUFBLEVBQUEsNkJBQUFDO0FBQUEsRUFBQSxtQkFBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSxzQ0FBQUM7QUFBQSxFQUFBO0FBQUEsd0JBQUFDO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFFQSxlQUE0QjtBQUM1QixJQUFBTixzQkFBdUM7QUFDdkMsSUFBQUMscUJBQXNDO0FBQ3RDLElBQUFDLGlCQUFrQztBQUNsQyxJQUFBQyxzQkFBdUM7QUFDdkMsSUFBQUosYUFBOEI7QUFDOUIsSUFBQUssWUFBNkI7QUFDN0IsaUJBQThCO0FBQzlCLGNBQTJCO0FBQzNCLElBQUFDLDZCQUE4QztBQUM5QyxnQkFBNkI7QUFDN0IsSUFBQUMsZUFBZ0M7QUFDaEMsY0FBMkI7IiwibmFtZXMiOlsiZGVtby12YXVsdCIsImRlbW8tdmF1bHQtYXBwLWpzb24iLCJkZW1vLXZhdWx0LWJ1dHRvbnMiLCJkZW1vLXZhdWx0LWNsaSIsImRlbW8tdmF1bHQtY292ZXJhZ2UiLCJkb2NzLXNpdGUiLCJvYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocyIsInRlc3QtcnVubmVycyJdfQ==
@@ -6,6 +6,7 @@
6
6
  export * as 'bundlers' from './bundlers/index.cjs';
7
7
  export * as 'demo-vault-app-json' from './demo-vault-app-json.cjs';
8
8
  export * as 'demo-vault-buttons' from './demo-vault-buttons.cjs';
9
+ export * as 'demo-vault-cli' from './demo-vault-cli.cjs';
9
10
  export * as 'demo-vault-coverage' from './demo-vault-coverage.cjs';
10
11
  export * as 'demo-vault' from './demo-vault.cjs';
11
12
  export * as 'docs-site' from './docs-site/index.cjs';
@@ -0,0 +1,160 @@
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
+ (function patchObsidianRequire() {
6
+ const originalRequire = require;
7
+ if (!originalRequire || originalRequire.__isPatched) {
8
+ return;
9
+ }
10
+
11
+ require = Object.assign(
12
+ (id) => requirePatched(id),
13
+ originalRequire,
14
+ {
15
+ __isPatched: true
16
+ }
17
+ );
18
+
19
+ function extractDefault(module) {
20
+ return module && module.__esModule && 'default' in module ? module.default : module;
21
+ }
22
+
23
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
24
+ '@codemirror/autocomplete',
25
+ '@codemirror/collab',
26
+ '@codemirror/commands',
27
+ '@codemirror/language',
28
+ '@codemirror/lint',
29
+ '@codemirror/search',
30
+ '@codemirror/state',
31
+ '@codemirror/text',
32
+ '@codemirror/view',
33
+ '@lezer/common',
34
+ '@lezer/highlight',
35
+ '@lezer/lr',
36
+ 'obsidian']
37
+ );
38
+
39
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
40
+ '@codemirror/closebrackets',
41
+ '@codemirror/comment',
42
+ '@codemirror/fold',
43
+ '@codemirror/gutter',
44
+ '@codemirror/highlight',
45
+ '@codemirror/history',
46
+ '@codemirror/matchbrackets',
47
+ '@codemirror/panel',
48
+ '@codemirror/rangeset',
49
+ '@codemirror/rectangular-selection',
50
+ '@codemirror/stream-parser',
51
+ '@codemirror/tooltip']
52
+ );
53
+
54
+ function requirePatched(id) {
55
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
56
+ return originalRequire?.(id);
57
+ }
58
+
59
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
60
+ if (globalThis.app.isMobile) {
61
+ if (id === 'process' || id === 'node:process') {
62
+ // eslint-disable-next-line no-console -- Valid usage.
63
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
64
+
65
+ return process;
66
+ }
67
+ } else {
68
+ const module = originalRequire?.(id);
69
+ if (module) {
70
+ return extractDefault(module);
71
+ }
72
+ }
73
+
74
+ // eslint-disable-next-line no-console -- Valid usage.
75
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
76
+ return {};
77
+ }
78
+ })();
79
+
80
+ "use strict";
81
+ var __create = Object.create;
82
+ var __defProp = Object.defineProperty;
83
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
84
+ var __getOwnPropNames = Object.getOwnPropertyNames;
85
+ var __getProtoOf = Object.getPrototypeOf;
86
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
87
+ var __export = (target, all) => {
88
+ for (var name in all)
89
+ __defProp(target, name, { get: all[name], enumerable: true });
90
+ };
91
+ var __copyProps = (to, from, except, desc) => {
92
+ if (from && typeof from === "object" || typeof from === "function") {
93
+ for (let key of __getOwnPropNames(from))
94
+ if (!__hasOwnProp.call(to, key) && key !== except)
95
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
96
+ }
97
+ return to;
98
+ };
99
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
100
+ // If the importer is in node compatibility mode or this is not an ESM
101
+ // file that has been converted to a CommonJS file using a Babel-
102
+ // compatible transform (i.e. "__esModule" has not been set), then set
103
+ // "default" to the CommonJS "module.exports" for node compatibility.
104
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
105
+ mod
106
+ ));
107
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
108
+ var coverage_badge_cli_exports = {};
109
+ __export(coverage_badge_cli_exports, {
110
+ parseCoverageBadgeArguments: () => parseCoverageBadgeArguments,
111
+ runCoverageBadgeCli: () => runCoverageBadgeCli
112
+ });
113
+ module.exports = __toCommonJS(coverage_badge_cli_exports);
114
+ var import_node_process = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('node:process')), 1);
115
+ var import_node_util = require('node:util');
116
+ var import_coverage_badge = require('./coverage-badge.cjs');
117
+ const METRICS = ["branches", "functions", "lines", "lowest"];
118
+ function parseCoverageBadgeArguments($arguments) {
119
+ const { values } = (0, import_node_util.parseArgs)({
120
+ // eslint-disable-next-line unicorn/name-replacements -- `args` is the option name Node's `parseArgs` reads.
121
+ args: $arguments,
122
+ options: {
123
+ label: { type: "string" },
124
+ lcov: { type: "string" },
125
+ metric: { type: "string" },
126
+ output: { type: "string" }
127
+ }
128
+ });
129
+ const { label, lcov, metric, output } = values;
130
+ if (metric !== void 0 && !isCoverageBadgeMetric(metric)) {
131
+ throw new Error(`Unknown --metric '${metric}'. Use one of: ${METRICS.join(", ")}.`);
132
+ }
133
+ return {
134
+ ...label !== void 0 && { label },
135
+ ...lcov !== void 0 && { lcovPath: lcov },
136
+ ...metric !== void 0 && { metric },
137
+ ...output !== void 0 && { outputPath: output }
138
+ };
139
+ }
140
+ async function runCoverageBadgeCli($arguments) {
141
+ try {
142
+ const { outputPath, percent } = await (0, import_coverage_badge.generateCoverageBadge)(parseCoverageBadgeArguments($arguments));
143
+ import_node_process.default.stdout.write(`Wrote the coverage badge (${String(percent)}%) to ${outputPath}
144
+ `);
145
+ return 0;
146
+ } catch (error) {
147
+ import_node_process.default.stderr.write(`${error instanceof Error ? error.message : String(error)}
148
+ `);
149
+ return 1;
150
+ }
151
+ }
152
+ function isCoverageBadgeMetric(value) {
153
+ return METRICS.includes(value);
154
+ }
155
+ // Annotate the CommonJS export names for ESM import in node:
156
+ 0 && (module.exports = {
157
+ parseCoverageBadgeArguments,
158
+ runCoverageBadgeCli
159
+ });
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0LXJ1bm5lcnMvY292ZXJhZ2UtYmFkZ2UtY2xpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGUgYGdlbmVyYXRlLWNvdmVyYWdlLWJhZGdlYCBjb21tYW5kOiByZWFkcyBpdHMgYXJndW1lbnRzLCBydW5zIHtAbGluayBnZW5lcmF0ZUNvdmVyYWdlQmFkZ2V9IGFuZCB0dXJucyB0aGUgcmVzdWx0XG4gKiBpbnRvIGFuIGV4aXQgY29kZS4gVGhlIGBvYnNpZGlhbi1wbHVnaW4tY2kueW1sYCByZXVzYWJsZSB3b3JrZmxvdyBydW5zIGl0IGFmdGVyIHRoZSBnYXRlLlxuICovXG5cbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQgeyBwYXJzZUFyZ3MgfSBmcm9tICdub2RlOnV0aWwnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIENvdmVyYWdlQmFkZ2VNZXRyaWMsXG4gIEdlbmVyYXRlQ292ZXJhZ2VCYWRnZU9wdGlvbnNcbn0gZnJvbSAnLi9jb3ZlcmFnZS1iYWRnZS50cyc7XG5cbmltcG9ydCB7IGdlbmVyYXRlQ292ZXJhZ2VCYWRnZSB9IGZyb20gJy4vY292ZXJhZ2UtYmFkZ2UudHMnO1xuXG5jb25zdCBNRVRSSUNTOiByZWFkb25seSBDb3ZlcmFnZUJhZGdlTWV0cmljW10gPSBbJ2JyYW5jaGVzJywgJ2Z1bmN0aW9ucycsICdsaW5lcycsICdsb3dlc3QnXTtcblxuLyoqXG4gKiBQYXJzZXMgdGhlIGNvbW1hbmQgbGluZSBvZiBgZ2VuZXJhdGUtY292ZXJhZ2UtYmFkZ2VgOiBgLS1sY292PTxwYXRoPmAsIGAtLW91dHB1dD08cGF0aD5gLCBgLS1tZXRyaWM9PG1ldHJpYz5gIGFuZFxuICogYC0tbGFiZWw9PHRleHQ+YCwgZWFjaCBvcHRpb25hbC5cbiAqXG4gKiBAcGFyYW0gJGFyZ3VtZW50cyAtIFRoZSBhcmd1bWVudHMsIHdpdGhvdXQgdGhlIG5vZGUgYW5kIHNjcmlwdCBwYXRocy5cbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgR2VuZXJhdGVDb3ZlcmFnZUJhZGdlT3B0aW9uc30uXG4gKiBAdGhyb3dzIFdoZW4gYW4gYXJndW1lbnQgaXMgdW5rbm93biwgb3IgYC0tbWV0cmljYCBpcyBub3QgYSB7QGxpbmsgQ292ZXJhZ2VCYWRnZU1ldHJpY30uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNvdmVyYWdlQmFkZ2VBcmd1bWVudHMoJGFyZ3VtZW50czogc3RyaW5nW10pOiBHZW5lcmF0ZUNvdmVyYWdlQmFkZ2VPcHRpb25zIHtcbiAgY29uc3QgeyB2YWx1ZXMgfSA9IHBhcnNlQXJncyh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbmFtZS1yZXBsYWNlbWVudHMgLS0gYGFyZ3NgIGlzIHRoZSBvcHRpb24gbmFtZSBOb2RlJ3MgYHBhcnNlQXJnc2AgcmVhZHMuXG4gICAgYXJnczogJGFyZ3VtZW50cyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBsYWJlbDogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgbGNvdjogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgbWV0cmljOiB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICBvdXRwdXQ6IHsgdHlwZTogJ3N0cmluZycgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgeyBsYWJlbCwgbGNvdiwgbWV0cmljLCBvdXRwdXQgfSA9IHZhbHVlcztcbiAgaWYgKG1ldHJpYyAhPT0gdW5kZWZpbmVkICYmICFpc0NvdmVyYWdlQmFkZ2VNZXRyaWMobWV0cmljKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biAtLW1ldHJpYyAnJHttZXRyaWN9Jy4gVXNlIG9uZSBvZjogJHtNRVRSSUNTLmpvaW4oJywgJyl9LmApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi4obGFiZWwgIT09IHVuZGVmaW5lZCAmJiB7IGxhYmVsIH0pLFxuICAgIC4uLihsY292ICE9PSB1bmRlZmluZWQgJiYgeyBsY292UGF0aDogbGNvdiB9KSxcbiAgICAuLi4obWV0cmljICE9PSB1bmRlZmluZWQgJiYgeyBtZXRyaWMgfSksXG4gICAgLi4uKG91dHB1dCAhPT0gdW5kZWZpbmVkICYmIHsgb3V0cHV0UGF0aDogb3V0cHV0IH0pXG4gIH07XG59XG5cbi8qKlxuICogUnVucyBgZ2VuZXJhdGUtY292ZXJhZ2UtYmFkZ2VgLlxuICpcbiAqIEBwYXJhbSAkYXJndW1lbnRzIC0gVGhlIGFyZ3VtZW50cywgd2l0aG91dCB0aGUgbm9kZSBhbmQgc2NyaXB0IHBhdGhzLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgZXhpdCBjb2RlOiBgMGAgb25jZSB0aGUgYmFkZ2UgaXMgd3JpdHRlbiwgYDFgIG9uIGFueSBmYWlsdXJlLCB3aGljaFxuICogICBpcyBwcmludGVkIHRvIHN0ZGVyci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkNvdmVyYWdlQmFkZ2VDbGkoJGFyZ3VtZW50czogc3RyaW5nW10pOiBQcm9taXNlPG51bWJlcj4ge1xuICB0cnkge1xuICAgIGNvbnN0IHsgb3V0cHV0UGF0aCwgcGVyY2VudCB9ID0gYXdhaXQgZ2VuZXJhdGVDb3ZlcmFnZUJhZGdlKHBhcnNlQ292ZXJhZ2VCYWRnZUFyZ3VtZW50cygkYXJndW1lbnRzKSk7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYFdyb3RlIHRoZSBjb3ZlcmFnZSBiYWRnZSAoJHtTdHJpbmcocGVyY2VudCl9JSkgdG8gJHtvdXRwdXRQYXRofVxcbmApO1xuICAgIHJldHVybiAwO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKX1cXG5gKTtcbiAgICByZXR1cm4gMTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NvdmVyYWdlQmFkZ2VNZXRyaWModmFsdWU6IHN0cmluZyk6IHZhbHVlIGlzIENvdmVyYWdlQmFkZ2VNZXRyaWMge1xuICByZXR1cm4gKE1FVFJJQ1MgYXMgcmVhZG9ubHkgc3RyaW5nW10pLmluY2x1ZGVzKHZhbHVlKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSwwQkFBb0I7QUFDcEIsdUJBQTBCO0FBTzFCLDRCQUFzQztBQUV0QyxNQUFNLFVBQTBDLENBQUMsWUFBWSxhQUFhLFNBQVMsUUFBUTtBQVVwRixTQUFTLDRCQUE0QixZQUFvRDtBQUM5RixRQUFNLEVBQUUsT0FBTyxRQUFJLDRCQUFVO0FBQUE7QUFBQSxJQUUzQixNQUFNO0FBQUEsSUFDTixTQUFTO0FBQUEsTUFDUCxPQUFPLEVBQUUsTUFBTSxTQUFTO0FBQUEsTUFDeEIsTUFBTSxFQUFFLE1BQU0sU0FBUztBQUFBLE1BQ3ZCLFFBQVEsRUFBRSxNQUFNLFNBQVM7QUFBQSxNQUN6QixRQUFRLEVBQUUsTUFBTSxTQUFTO0FBQUEsSUFDM0I7QUFBQSxFQUNGLENBQUM7QUFFRCxRQUFNLEVBQUUsT0FBTyxNQUFNLFFBQVEsT0FBTyxJQUFJO0FBQ3hDLE1BQUksV0FBVyxVQUFhLENBQUMsc0JBQXNCLE1BQU0sR0FBRztBQUMxRCxVQUFNLElBQUksTUFBTSxxQkFBcUIsTUFBTSxrQkFBa0IsUUFBUSxLQUFLLElBQUksQ0FBQyxHQUFHO0FBQUEsRUFDcEY7QUFFQSxTQUFPO0FBQUEsSUFDTCxHQUFJLFVBQVUsVUFBYSxFQUFFLE1BQU07QUFBQSxJQUNuQyxHQUFJLFNBQVMsVUFBYSxFQUFFLFVBQVUsS0FBSztBQUFBLElBQzNDLEdBQUksV0FBVyxVQUFhLEVBQUUsT0FBTztBQUFBLElBQ3JDLEdBQUksV0FBVyxVQUFhLEVBQUUsWUFBWSxPQUFPO0FBQUEsRUFDbkQ7QUFDRjtBQVNBLGVBQXNCLG9CQUFvQixZQUF1QztBQUMvRSxNQUFJO0FBQ0YsVUFBTSxFQUFFLFlBQVksUUFBUSxJQUFJLFVBQU0sNkNBQXNCLDRCQUE0QixVQUFVLENBQUM7QUFDbkcsd0JBQUFBLFFBQVEsT0FBTyxNQUFNLDZCQUE2QixPQUFPLE9BQU8sQ0FBQyxTQUFTLFVBQVU7QUFBQSxDQUFJO0FBQ3hGLFdBQU87QUFBQSxFQUNULFNBQVMsT0FBTztBQUNkLHdCQUFBQSxRQUFRLE9BQU8sTUFBTSxHQUFHLGlCQUFpQixRQUFRLE1BQU0sVUFBVSxPQUFPLEtBQUssQ0FBQztBQUFBLENBQUk7QUFDbEYsV0FBTztBQUFBLEVBQ1Q7QUFDRjtBQUVBLFNBQVMsc0JBQXNCLE9BQTZDO0FBQzFFLFNBQVEsUUFBOEIsU0FBUyxLQUFLO0FBQ3REOyIsIm5hbWVzIjpbInByb2Nlc3MiXX0=
@@ -0,0 +1,25 @@
1
+ /// <reference path="../library-references.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * The `generate-coverage-badge` command: reads its arguments, runs {@link generateCoverageBadge} and turns the result
6
+ * into an exit code. The `obsidian-plugin-ci.yml` reusable workflow runs it after the gate.
7
+ */
8
+ import type { GenerateCoverageBadgeOptions } from './coverage-badge.cjs';
9
+ /**
10
+ * Parses the command line of `generate-coverage-badge`: `--lcov=<path>`, `--output=<path>`, `--metric=<metric>` and
11
+ * `--label=<text>`, each optional.
12
+ *
13
+ * @param $arguments - The arguments, without the node and script paths.
14
+ * @returns The {@link GenerateCoverageBadgeOptions}.
15
+ * @throws When an argument is unknown, or `--metric` is not a {@link CoverageBadgeMetric}.
16
+ */
17
+ export declare function parseCoverageBadgeArguments($arguments: string[]): GenerateCoverageBadgeOptions;
18
+ /**
19
+ * Runs `generate-coverage-badge`.
20
+ *
21
+ * @param $arguments - The arguments, without the node and script paths.
22
+ * @returns A {@link Promise} that resolves to the exit code: `0` once the badge is written, `1` on any failure, which
23
+ * is printed to stderr.
24
+ */
25
+ export declare function runCoverageBadgeCli($arguments: string[]): Promise<number>;