obsidian-dev-utils 88.5.0 → 88.7.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 +13 -0
- package/dist/integration-test-plugin/main.js +2250 -1908
- package/dist/lib/cjs/__merged.cjs +6 -1
- package/dist/lib/cjs/__merged.d.cts +2 -1
- package/dist/lib/cjs/generated-during-build.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/component-ex.cjs +42 -4
- package/dist/lib/cjs/obsidian/components/component-ex.d.cts +29 -1
- package/dist/lib/cjs/obsidian/components/index.cjs +6 -3
- package/dist/lib/cjs/obsidian/components/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/components/syntax-highlighting-component.cjs +244 -0
- package/dist/lib/cjs/obsidian/components/syntax-highlighting-component.d.cts +149 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +186 -11
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.d.cts +151 -4
- package/dist/lib/cjs/obsidian/setting-ex.cjs +13 -3
- package/dist/lib/cjs/obsidian/setting-ex.d.cts +14 -0
- package/dist/lib/cjs/script-utils/cli-utils.cjs +9 -1
- package/dist/lib/cjs/script-utils/cli-utils.d.cts +6 -0
- package/dist/lib/cjs/script-utils/env-toggle.cjs +180 -0
- package/dist/lib/cjs/script-utils/env-toggle.d.cts +42 -0
- package/dist/lib/cjs/script-utils/git.cjs +156 -0
- package/dist/lib/cjs/script-utils/git.d.cts +37 -0
- package/dist/lib/cjs/script-utils/index.cjs +7 -1
- package/dist/lib/cjs/script-utils/index.d.cts +2 -0
- package/dist/lib/cjs/script-utils/linters/cspell.cjs +11 -2
- package/dist/lib/cjs/script-utils/linters/cspell.d.cts +7 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +7 -4
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +17 -8
- package/dist/lib/cjs/script-utils/nano-staged-config.cjs +7 -11
- package/dist/lib/cjs/script-utils/nano-staged-config.d.cts +7 -5
- package/dist/lib/esm/__merged.d.mts +2 -1
- package/dist/lib/esm/__merged.mjs +8 -2
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/obsidian/components/component-ex.d.mts +29 -1
- package/dist/lib/esm/obsidian/components/component-ex.mjs +46 -5
- package/dist/lib/esm/obsidian/components/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/components/index.mjs +4 -2
- package/dist/lib/esm/obsidian/components/syntax-highlighting-component.d.mts +149 -0
- package/dist/lib/esm/obsidian/components/syntax-highlighting-component.mjs +136 -0
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.d.mts +151 -4
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +191 -12
- package/dist/lib/esm/obsidian/setting-ex.d.mts +14 -0
- package/dist/lib/esm/obsidian/setting-ex.mjs +11 -2
- package/dist/lib/esm/script-utils/cli-utils.d.mts +6 -0
- package/dist/lib/esm/script-utils/cli-utils.mjs +9 -1
- package/dist/lib/esm/script-utils/env-toggle.d.mts +42 -0
- package/dist/lib/esm/script-utils/env-toggle.mjs +60 -0
- package/dist/lib/esm/script-utils/git.d.mts +37 -0
- package/dist/lib/esm/script-utils/git.mjs +48 -0
- package/dist/lib/esm/script-utils/index.d.mts +2 -0
- package/dist/lib/esm/script-utils/index.mjs +5 -1
- package/dist/lib/esm/script-utils/linters/cspell.d.mts +7 -0
- package/dist/lib/esm/script-utils/linters/cspell.mjs +15 -3
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +7 -4
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +17 -8
- package/dist/lib/esm/script-utils/nano-staged-config.d.mts +7 -5
- package/dist/lib/esm/script-utils/nano-staged-config.mjs +10 -11
- package/dist/templates/dprint.json +2 -2
- package/obsidian/components/syntax-highlighting-component/package.json +6 -0
- package/package.json +7 -6
- package/script-utils/env-toggle/package.json +6 -0
- package/script-utils/git/package.json +6 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference path="../library.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Shared environment-variable off switches for the CLI scripts.
|
|
6
|
+
*
|
|
7
|
+
* Every npm script can be skipped by setting an environment variable named after it — the script name
|
|
8
|
+
* uppercased, with every non-alphanumeric character replaced by `_`:
|
|
9
|
+
*
|
|
10
|
+
* | Script | Switch |
|
|
11
|
+
* |---------------------|---------------------|
|
|
12
|
+
* | `lint` | `LINT=0` |
|
|
13
|
+
* | `lint:md:fix` | `LINT_MD_FIX=0` |
|
|
14
|
+
* | `format:check` | `FORMAT_CHECK=0` |
|
|
15
|
+
* | `find-overexposed` | `FIND_OVEREXPOSED=0`|
|
|
16
|
+
*
|
|
17
|
+
* This mirrors the pre-existing `NANO_STAGED=0` / `HUSKY=0` escape hatches, and reuses their notion of an
|
|
18
|
+
* "off" value, so there is a single answer to what counts as off across the whole tool set.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Resolves the off switch for the npm script that is currently running, loading {@link ENV_FILE_PATH} first.
|
|
22
|
+
*
|
|
23
|
+
* The script name comes from npm itself, so no script has to declare its own switch. When the script was
|
|
24
|
+
* started directly rather than through npm, there is no name to derive from and nothing is ever skipped.
|
|
25
|
+
*
|
|
26
|
+
* @returns The name of the environment variable that switched the current script off, or `null` when the
|
|
27
|
+
* script should run.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getDisabledScriptEnvVariableName(): null | string;
|
|
30
|
+
/**
|
|
31
|
+
* Determines whether the environment variable is set to an off value (`0`, `false`, `no`, or `off`,
|
|
32
|
+
* case-insensitively and ignoring surrounding whitespace).
|
|
33
|
+
*
|
|
34
|
+
* @param envVariableName - The name of the environment variable to inspect.
|
|
35
|
+
* @returns `true` when the variable is set to an off value, otherwise `false`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isEnvVariableOff(envVariableName: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Loads the optional {@link ENV_FILE_PATH} file into `process.env` when it exists, so a developer can park a
|
|
40
|
+
* switch such as `LINT_MD=0` there instead of prefixing every command.
|
|
41
|
+
*/
|
|
42
|
+
export declare function loadEnvFileIfExists(): void;
|
|
@@ -0,0 +1,156 @@
|
|
|
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 initCjs() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
const globalThisRecord = globalThis;
|
|
9
|
+
globalThisRecord['__name'] ??= name;
|
|
10
|
+
const originalRequire = require;
|
|
11
|
+
if (originalRequire && !originalRequire.__isPatched) {
|
|
12
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
13
|
+
require = Object.assign(
|
|
14
|
+
(id) => requirePatched(id),
|
|
15
|
+
originalRequire,
|
|
16
|
+
{
|
|
17
|
+
__isPatched: true
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const newFuncs = {
|
|
23
|
+
__extractDefault() {
|
|
24
|
+
return extractDefault;
|
|
25
|
+
},
|
|
26
|
+
process() {
|
|
27
|
+
const browserProcess = {
|
|
28
|
+
browser: true,
|
|
29
|
+
cwd() {
|
|
30
|
+
return '/';
|
|
31
|
+
},
|
|
32
|
+
env: {},
|
|
33
|
+
platform: 'android'
|
|
34
|
+
};
|
|
35
|
+
return browserProcess;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
for (const key of Object.keys(newFuncs)) {
|
|
40
|
+
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function name(obj) {
|
|
44
|
+
return obj;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function extractDefault(module) {
|
|
48
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
+
'obsidian',
|
|
53
|
+
'@codemirror/autocomplete',
|
|
54
|
+
'@codemirror/collab',
|
|
55
|
+
'@codemirror/commands',
|
|
56
|
+
'@codemirror/language',
|
|
57
|
+
'@codemirror/lint',
|
|
58
|
+
'@codemirror/search',
|
|
59
|
+
'@codemirror/state',
|
|
60
|
+
'@codemirror/text',
|
|
61
|
+
'@codemirror/view',
|
|
62
|
+
'@lezer/common',
|
|
63
|
+
'@lezer/lr',
|
|
64
|
+
'@lezer/highlight'];
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
68
|
+
'@codemirror/closebrackets',
|
|
69
|
+
'@codemirror/comment',
|
|
70
|
+
'@codemirror/fold',
|
|
71
|
+
'@codemirror/gutter',
|
|
72
|
+
'@codemirror/highlight',
|
|
73
|
+
'@codemirror/history',
|
|
74
|
+
'@codemirror/matchbrackets',
|
|
75
|
+
'@codemirror/panel',
|
|
76
|
+
'@codemirror/rangeset',
|
|
77
|
+
'@codemirror/rectangular-selection',
|
|
78
|
+
'@codemirror/stream-parser',
|
|
79
|
+
'@codemirror/tooltip'];
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
function requirePatched(id) {
|
|
83
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
|
|
84
|
+
return originalRequire?.(id);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
|
+
if (globalThis.app.isMobile) {
|
|
89
|
+
if (id === 'process' || id === 'node:process') {
|
|
90
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
|
+
return globalThis.process;
|
|
94
|
+
}
|
|
95
|
+
} else {
|
|
96
|
+
const module = originalRequire?.(id);
|
|
97
|
+
if (module) {
|
|
98
|
+
return extractDefault(module);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
103
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
104
|
+
return {};
|
|
105
|
+
}
|
|
106
|
+
})();
|
|
107
|
+
|
|
108
|
+
"use strict";
|
|
109
|
+
var __defProp = Object.defineProperty;
|
|
110
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
111
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
112
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
113
|
+
var __export = (target, all) => {
|
|
114
|
+
for (var name in all)
|
|
115
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
116
|
+
};
|
|
117
|
+
var __copyProps = (to, from, except, desc) => {
|
|
118
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
119
|
+
for (let key of __getOwnPropNames(from))
|
|
120
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
121
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
122
|
+
}
|
|
123
|
+
return to;
|
|
124
|
+
};
|
|
125
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
126
|
+
var git_exports = {};
|
|
127
|
+
__export(git_exports, {
|
|
128
|
+
getNonIgnoredFiles: () => getNonIgnoredFiles
|
|
129
|
+
});
|
|
130
|
+
module.exports = __toCommonJS(git_exports);
|
|
131
|
+
var import_root = require('./root.cjs');
|
|
132
|
+
const NUL_SEPARATOR = "\0";
|
|
133
|
+
async function getNonIgnoredFiles(options) {
|
|
134
|
+
const { patterns = [] } = options ?? {};
|
|
135
|
+
const command = [
|
|
136
|
+
"git",
|
|
137
|
+
"ls-files",
|
|
138
|
+
"--cached",
|
|
139
|
+
"--others",
|
|
140
|
+
"--exclude-standard",
|
|
141
|
+
"-z",
|
|
142
|
+
...patterns.length > 0 ? ["--", ...patterns] : []
|
|
143
|
+
];
|
|
144
|
+
let stdout;
|
|
145
|
+
try {
|
|
146
|
+
stdout = await (0, import_root.execFromRoot)(command, { isQuiet: true });
|
|
147
|
+
} catch {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return [...new Set(stdout.split(NUL_SEPARATOR).filter((path) => path !== ""))];
|
|
151
|
+
}
|
|
152
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
153
|
+
0 && (module.exports = {
|
|
154
|
+
getNonIgnoredFiles
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9naXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBHaXQtZGVyaXZlZCBmaWxlIGxpc3RpbmdzIGZvciB0aGUgcmVwby13YWxraW5nIHNjcmlwdHMuXG4gKlxuICogVG9vbGluZyB0aGF0IHdhbGtzIHRoZSByZXBvc2l0b3J5IG11c3Qgc2tpcCB3aGF0ZXZlciBgLmdpdGlnbm9yZWAgc2tpcHMgXHUyMDE0IG90aGVyd2lzZSBldmVyeSBzY3JpcHQgZ3Jvd3MgaXRzXG4gKiBvd24gaGFuZC1tYWludGFpbmVkIGlnbm9yZSBsaXN0LCB0aGUgbGlzdHMgZHJpZnQgYXBhcnQsIGFuZCBhIHBhdGggdGhhdCBpcyBnaXRpZ25vcmVkIGJ1dCBub3QgZW51bWVyYXRlZFxuICogKGEgbmVzdGVkIGBub2RlX21vZHVsZXNgIHVuZGVyIGEgdGVzdCBmaXh0dXJlLCBzYXkpIGlzIHdhbGtlZCBhbnl3YXkuIE1vc3QgdG9vbHMgaGF2ZSBhIG5hdGl2ZSBzd2l0Y2ggZm9yXG4gKiB0aGlzOyB0aGUgb25lcyB0aGF0IGRvIG5vdCB0YWtlIGEgZmlsZSBsaXN0IGluc3RlYWQsIGFuZCB0aGF0IGlzIHdoYXQgdGhpcyBtb2R1bGUgcHJvZHVjZXMuXG4gKlxuICogQXNraW5nIGdpdCByYXRoZXIgdGhhbiBwYXJzaW5nIGAuZ2l0aWdub3JlYCBpcyBkZWxpYmVyYXRlOiBpdCBob25vcnMgbmVzdGVkIGlnbm9yZSBmaWxlcywgYCFgIG5lZ2F0aW9ucyxcbiAqIGAuZ2l0L2luZm8vZXhjbHVkZWAsIGFuZCB0aGUgdXNlcidzIGdsb2JhbCBleGNsdWRlcywgYXQgbm8gY29zdCB0byB1cy5cbiAqL1xuXG5pbXBvcnQgeyBleGVjRnJvbVJvb3QgfSBmcm9tICcuL3Jvb3QudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBnZXROb25JZ25vcmVkRmlsZXN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldE5vbklnbm9yZWRGaWxlc09wdGlvbnMge1xuICAvKipcbiAgICogR2l0IHBhdGhzcGVjcyBsaW1pdGluZyB0aGUgbGlzdGluZywgZS5nLiBgWycqLm1kJ11gLiBXaGVuIG9taXR0ZWQsIGV2ZXJ5IG5vbi1pZ25vcmVkIGZpbGUgaXMgbGlzdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgW11gXG4gICAqL1xuICByZWFkb25seSBwYXR0ZXJucz86IHJlYWRvbmx5IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFNlcGFyYXRlcyB0aGUgcGF0aHMgaW4gYGdpdCBscy1maWxlcyAtemAgb3V0cHV0LiBVc2luZyB0aGUgTlVMIGZvcm0gYXZvaWRzIGdpdCdzIHF1b3Rpbmcgb2YgcGF0aHMgdGhhdFxuICogY29udGFpbiB1bnVzdWFsIGNoYXJhY3RlcnMsIHdoaWNoIHdvdWxkIG90aGVyd2lzZSBoYXZlIHRvIGJlIHVuZXNjYXBlZC5cbiAqL1xuY29uc3QgTlVMX1NFUEFSQVRPUiA9ICdcXDAnO1xuXG4vKipcbiAqIExpc3RzIHRoZSByZXBvc2l0b3J5IGZpbGVzIHRoYXQgYC5naXRpZ25vcmVgIGRvZXMgbm90IGV4Y2x1ZGUuXG4gKlxuICogQ292ZXJzIGJvdGggdHJhY2tlZCBmaWxlcyBhbmQgdW50cmFja2VkLWJ1dC1ub3QtaWdub3JlZCBvbmVzLCBzbyBhIGJyYW5kLW5ldyBmaWxlIGlzIGNoZWNrZWQgYmVmb3JlIGl0IGlzXG4gKiBldmVyIGNvbW1pdHRlZC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSB7QGxpbmsgR2V0Tm9uSWdub3JlZEZpbGVzT3B0aW9uc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIG1hdGNoaW5nIHBhdGhzLCByZWxhdGl2ZSB0byB0aGUgcm9vdCBmb2xkZXIgYW5kXG4gKiBzZXBhcmF0ZWQgYnkgYC9gOyBvciB3aXRoIGBudWxsYCB3aGVuIGdpdCBjYW5ub3QgYW5zd2VyIFx1MjAxNCBpdCBpcyBub3QgaW5zdGFsbGVkLCBvciB0aGUgcHJvamVjdCBpcyBub3QgYVxuICogZ2l0IHJlcG9zaXRvcnkgKGEgdGFyYmFsbCBjaGVja291dCwgZm9yIGluc3RhbmNlKS4gQ2FsbGVycyBmYWxsIGJhY2sgdG8gdGhlaXIgb3duIGxpc3RpbmcgaW4gdGhhdCBjYXNlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Tm9uSWdub3JlZEZpbGVzKG9wdGlvbnM/OiBHZXROb25JZ25vcmVkRmlsZXNPcHRpb25zKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nW10+IHtcbiAgY29uc3QgeyBwYXR0ZXJucyA9IFtdIH0gPSBvcHRpb25zID8/IHt9O1xuICBjb25zdCBjb21tYW5kID0gW1xuICAgICdnaXQnLFxuICAgICdscy1maWxlcycsXG4gICAgJy0tY2FjaGVkJyxcbiAgICAnLS1vdGhlcnMnLFxuICAgICctLWV4Y2x1ZGUtc3RhbmRhcmQnLFxuICAgICcteicsXG4gICAgLi4ucGF0dGVybnMubGVuZ3RoID4gMCA/IFsnLS0nLCAuLi5wYXR0ZXJuc10gOiBbXVxuICBdO1xuXG4gIGxldCBzdGRvdXQ6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBzdGRvdXQgPSBhd2FpdCBleGVjRnJvbVJvb3QoY29tbWFuZCwgeyBpc1F1aWV0OiB0cnVlIH0pO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIGAtLWNhY2hlZCAtLW90aGVyc2AgY2FuIG5hbWUgdGhlIHNhbWUgcGF0aCB0d2ljZSAoZS5nLiBhIGZpbGUgc3RhZ2VkIGZvciBkZWxldGlvbiB0aGF0IGlzIHN0aWxsIG9uIGRpc2spLlxuICByZXR1cm4gWy4uLm5ldyBTZXQoc3Rkb3V0LnNwbGl0KE5VTF9TRVBBUkFUT1IpLmZpbHRlcigocGF0aCkgPT4gcGF0aCAhPT0gJycpKV07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSxrQkFBNkI7QUFrQjdCLE1BQU0sZ0JBQWdCO0FBYXRCLGVBQXNCLG1CQUFtQixTQUErRDtBQUN0RyxRQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsSUFBSSxXQUFXLENBQUM7QUFDdEMsUUFBTSxVQUFVO0FBQUEsSUFDZDtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxHQUFHLFNBQVMsU0FBUyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsSUFBSSxDQUFDO0FBQUEsRUFDbEQ7QUFFQSxNQUFJO0FBQ0osTUFBSTtBQUNGLGFBQVMsVUFBTSwwQkFBYSxTQUFTLEVBQUUsU0FBUyxLQUFLLENBQUM7QUFBQSxFQUN4RCxRQUFRO0FBQ04sV0FBTztBQUFBLEVBQ1Q7QUFHQSxTQUFPLENBQUMsR0FBRyxJQUFJLElBQUksT0FBTyxNQUFNLGFBQWEsRUFBRSxPQUFPLENBQUMsU0FBUyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBQy9FOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference path="../library.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Git-derived file listings for the repo-walking scripts.
|
|
6
|
+
*
|
|
7
|
+
* Tooling that walks the repository must skip whatever `.gitignore` skips — otherwise every script grows its
|
|
8
|
+
* own hand-maintained ignore list, the lists drift apart, and a path that is gitignored but not enumerated
|
|
9
|
+
* (a nested `node_modules` under a test fixture, say) is walked anyway. Most tools have a native switch for
|
|
10
|
+
* this; the ones that do not take a file list instead, and that is what this module produces.
|
|
11
|
+
*
|
|
12
|
+
* Asking git rather than parsing `.gitignore` is deliberate: it honors nested ignore files, `!` negations,
|
|
13
|
+
* `.git/info/exclude`, and the user's global excludes, at no cost to us.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Options for {@link getNonIgnoredFiles}.
|
|
17
|
+
*/
|
|
18
|
+
export interface GetNonIgnoredFilesOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Git pathspecs limiting the listing, e.g. `['*.md']`. When omitted, every non-ignored file is listed.
|
|
21
|
+
*
|
|
22
|
+
* @default `[]`
|
|
23
|
+
*/
|
|
24
|
+
readonly patterns?: readonly string[] | undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Lists the repository files that `.gitignore` does not exclude.
|
|
28
|
+
*
|
|
29
|
+
* Covers both tracked files and untracked-but-not-ignored ones, so a brand-new file is checked before it is
|
|
30
|
+
* ever committed.
|
|
31
|
+
*
|
|
32
|
+
* @param options - The {@link GetNonIgnoredFilesOptions}.
|
|
33
|
+
* @returns A {@link Promise} that resolves with the matching paths, relative to the root folder and
|
|
34
|
+
* separated by `/`; or with `null` when git cannot answer — it is not installed, or the project is not a
|
|
35
|
+
* git repository (a tarball checkout, for instance). Callers fall back to their own listing in that case.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getNonIgnoredFiles(options?: GetNonIgnoredFilesOptions): Promise<null | string[]>;
|
|
@@ -143,9 +143,11 @@ __export(script_utils_exports, {
|
|
|
143
143
|
"commitlint-config": () => commitlint_config,
|
|
144
144
|
"demo-vault": () => demo_vault,
|
|
145
145
|
"demo-vault-coverage": () => demo_vault_coverage,
|
|
146
|
+
"env-toggle": () => env_toggle,
|
|
146
147
|
exec: () => exec,
|
|
147
148
|
formatters: () => formatters,
|
|
148
149
|
fs: () => fs,
|
|
150
|
+
git: () => git,
|
|
149
151
|
json: () => json,
|
|
150
152
|
linters: () => linters,
|
|
151
153
|
"nano-staged-config": () => nano_staged_config,
|
|
@@ -168,9 +170,11 @@ var code_generator = __toESM(__extractDefault(require('./code-generator.cjs')),
|
|
|
168
170
|
var commitlint_config = __toESM(__extractDefault(require('./commitlint-config.cjs')), 1);
|
|
169
171
|
var demo_vault_coverage = __toESM(__extractDefault(require('./demo-vault-coverage.cjs')), 1);
|
|
170
172
|
var demo_vault = __toESM(__extractDefault(require('./demo-vault.cjs')), 1);
|
|
173
|
+
var env_toggle = __toESM(__extractDefault(require('./env-toggle.cjs')), 1);
|
|
171
174
|
var exec = __toESM(__extractDefault(require('./exec.cjs')), 1);
|
|
172
175
|
var formatters = __toESM(__extractDefault(require('./formatters/index.cjs')), 1);
|
|
173
176
|
var fs = __toESM(__extractDefault(require('./fs.cjs')), 1);
|
|
177
|
+
var git = __toESM(__extractDefault(require('./git.cjs')), 1);
|
|
174
178
|
var json = __toESM(__extractDefault(require('./json.cjs')), 1);
|
|
175
179
|
var linters = __toESM(__extractDefault(require('./linters/index.cjs')), 1);
|
|
176
180
|
var nano_staged_config = __toESM(__extractDefault(require('./nano-staged-config.cjs')), 1);
|
|
@@ -193,9 +197,11 @@ var warnings_as_errors = __toESM(__extractDefault(require('./warnings-as-errors.
|
|
|
193
197
|
"commitlint-config": null,
|
|
194
198
|
"demo-vault": null,
|
|
195
199
|
"demo-vault-coverage": null,
|
|
200
|
+
"env-toggle": null,
|
|
196
201
|
exec,
|
|
197
202
|
formatters,
|
|
198
203
|
fs,
|
|
204
|
+
git,
|
|
199
205
|
json,
|
|
200
206
|
linters,
|
|
201
207
|
"nano-staged-config": null,
|
|
@@ -209,4 +215,4 @@ var warnings_as_errors = __toESM(__extractDefault(require('./warnings-as-errors.
|
|
|
209
215
|
version,
|
|
210
216
|
"warnings-as-errors": null
|
|
211
217
|
});
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdidWlsZCcgZnJvbSAnLi9idWlsZC50cyc7XG5leHBvcnQgKiBhcyAnYnVuZGxlcnMnIGZyb20gJy4vYnVuZGxlcnMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2NoZWNrLXByb2plY3QtdHlwZXMnIGZyb20gJy4vY2hlY2stcHJvamVjdC10eXBlcy50cyc7XG5leHBvcnQgKiBhcyAnY2xpLXV0aWxzJyBmcm9tICcuL2NsaS11dGlscy50cyc7XG5leHBvcnQgKiBhcyAnY29kZS1nZW5lcmF0b3InIGZyb20gJy4vY29kZS1nZW5lcmF0b3IudHMnO1xuZXhwb3J0ICogYXMgJ2NvbW1pdGxpbnQtY29uZmlnJyBmcm9tICcuL2NvbW1pdGxpbnQtY29uZmlnLnRzJztcbmV4cG9ydCAqIGFzICdkZW1vLXZhdWx0LWNvdmVyYWdlJyBmcm9tICcuL2RlbW8tdmF1bHQtY292ZXJhZ2UudHMnO1xuZXhwb3J0ICogYXMgJ2RlbW8tdmF1bHQnIGZyb20gJy4vZGVtby12YXVsdC50cyc7XG5leHBvcnQgKiBhcyAnZW52LXRvZ2dsZScgZnJvbSAnLi9lbnYtdG9nZ2xlLnRzJztcbmV4cG9ydCAqIGFzICdleGVjJyBmcm9tICcuL2V4ZWMudHMnO1xuZXhwb3J0ICogYXMgJ2Zvcm1hdHRlcnMnIGZyb20gJy4vZm9ybWF0dGVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyAnZnMnIGZyb20gJy4vZnMudHMnO1xuZXhwb3J0ICogYXMgJ2dpdCcgZnJvbSAnLi9naXQudHMnO1xuZXhwb3J0ICogYXMgJ2pzb24nIGZyb20gJy4vanNvbi50cyc7XG5leHBvcnQgKiBhcyAnbGludGVycycgZnJvbSAnLi9saW50ZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICduYW5vLXN0YWdlZC1jb25maWcnIGZyb20gJy4vbmFuby1zdGFnZWQtY29uZmlnLnRzJztcbmV4cG9ydCAqIGFzICducG0tcHVibGlzaCcgZnJvbSAnLi9ucG0tcHVibGlzaC50cyc7XG5leHBvcnQgKiBhcyAnbnBtLXJ1bicgZnJvbSAnLi9ucG0tcnVuLnRzJztcbmV4cG9ydCAqIGFzICducG0nIGZyb20gJy4vbnBtLnRzJztcbmV4cG9ydCAqIGFzICdvYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocycgZnJvbSAnLi9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyc7XG5leHBvcnQgKiBhcyAncm9vdCcgZnJvbSAnLi9yb290LnRzJztcbmV4cG9ydCAqIGFzICd0ZXN0LXJ1bm5lcnMnIGZyb20gJy4vdGVzdC1ydW5uZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICd2YWxpZGF0ZS1kZWNsYXJhdGlvbnMnIGZyb20gJy4vdmFsaWRhdGUtZGVjbGFyYXRpb25zLnRzJztcbmV4cG9ydCAqIGFzICd2ZXJzaW9uJyBmcm9tICcuL3ZlcnNpb24udHMnO1xuZXhwb3J0ICogYXMgJ3dhcm5pbmdzLWFzLWVycm9ycycgZnJvbSAnLi93YXJuaW5ncy1hcy1lcnJvcnMudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwrQkFBQUE7QUFBQSxFQUFBLG1CQUFBQztBQUFBLEVBQUEsd0JBQUFDO0FBQUEsRUFBQSwyQkFBQUM7QUFBQSxFQUFBLG9CQUFBQztBQUFBLEVBQUEsNkJBQUFDO0FBQUEsRUFBQSxvQkFBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDhCQUFBQztBQUFBLEVBQUE7QUFBQSx1QkFBQUM7QUFBQSxFQUFBLGlCQUFBQztBQUFBLEVBQUEsdUNBQUFDO0FBQUEsRUFBQTtBQUFBLHdCQUFBQztBQUFBLEVBQUEsK0JBQUFDO0FBQUEsRUFBQTtBQUFBLDhCQUFBQztBQUFBO0FBQUE7QUFFQSxZQUF5QjtBQUN6QixlQUE0QjtBQUM1QixJQUFBYixzQkFBdUM7QUFDdkMsSUFBQUMsWUFBNkI7QUFDN0IsSUFBQUMsaUJBQWtDO0FBQ2xDLElBQUFDLG9CQUFxQztBQUNyQyxJQUFBRSxzQkFBdUM7QUFDdkMsSUFBQUQsYUFBOEI7QUFDOUIsSUFBQUUsYUFBOEI7QUFDOUIsV0FBd0I7QUFDeEIsaUJBQThCO0FBQzlCLFNBQXNCO0FBQ3RCLFVBQXVCO0FBQ3ZCLFdBQXdCO0FBQ3hCLGNBQTJCO0FBQzNCLElBQUFDLHFCQUFzQztBQUN0QyxJQUFBQyxjQUErQjtBQUMvQixJQUFBQyxVQUEyQjtBQUMzQixVQUF1QjtBQUN2QixJQUFBQyxnQ0FBaUQ7QUFDakQsV0FBd0I7QUFDeEIsSUFBQUMsZUFBZ0M7QUFDaEMsSUFBQUMsd0JBQXlDO0FBQ3pDLGNBQTJCO0FBQzNCLElBQUFDLHFCQUFzQzsiLAogICJuYW1lcyI6IFsiY2hlY2stcHJvamVjdC10eXBlcyIsICJjbGktdXRpbHMiLCAiY29kZS1nZW5lcmF0b3IiLCAiY29tbWl0bGludC1jb25maWciLCAiZGVtby12YXVsdCIsICJkZW1vLXZhdWx0LWNvdmVyYWdlIiwgImVudi10b2dnbGUiLCAibmFuby1zdGFnZWQtY29uZmlnIiwgIm5wbS1wdWJsaXNoIiwgIm5wbS1ydW4iLCAib2JzaWRpYW4tZGV2LXV0aWxzLXJlcG8tcGF0aHMiLCAidGVzdC1ydW5uZXJzIiwgInZhbGlkYXRlLWRlY2xhcmF0aW9ucyIsICJ3YXJuaW5ncy1hcy1lcnJvcnMiXQp9Cg==
|
|
@@ -7,9 +7,11 @@ export * as 'code-generator' from './code-generator.cjs';
|
|
|
7
7
|
export * as 'commitlint-config' from './commitlint-config.cjs';
|
|
8
8
|
export * as 'demo-vault-coverage' from './demo-vault-coverage.cjs';
|
|
9
9
|
export * as 'demo-vault' from './demo-vault.cjs';
|
|
10
|
+
export * as 'env-toggle' from './env-toggle.cjs';
|
|
10
11
|
export * as 'exec' from './exec.cjs';
|
|
11
12
|
export * as 'formatters' from './formatters/index.cjs';
|
|
12
13
|
export * as 'fs' from './fs.cjs';
|
|
14
|
+
export * as 'git' from './git.cjs';
|
|
13
15
|
export * as 'json' from './json.cjs';
|
|
14
16
|
export * as 'linters' from './linters/index.cjs';
|
|
15
17
|
export * as 'nano-staged-config' from './nano-staged-config.cjs';
|
|
@@ -132,10 +132,19 @@ var import_root = require('../root.cjs');
|
|
|
132
132
|
async function spellcheck(options) {
|
|
133
133
|
const { paths } = options ?? {};
|
|
134
134
|
const targets = paths?.length ? paths : ["."];
|
|
135
|
-
|
|
135
|
+
const rootFolder = (0, import_root.getRootFolder)();
|
|
136
|
+
await (0, import_root.execFromRoot)([
|
|
137
|
+
"npx",
|
|
138
|
+
"cspell",
|
|
139
|
+
"--no-progress",
|
|
140
|
+
"--no-must-find-files",
|
|
141
|
+
"--gitignore",
|
|
142
|
+
...rootFolder === null ? [] : ["--gitignore-root", rootFolder],
|
|
143
|
+
{ batchedArgs: targets }
|
|
144
|
+
]);
|
|
136
145
|
}
|
|
137
146
|
// Annotate the CommonJS export names for ESM import in node:
|
|
138
147
|
0 && (module.exports = {
|
|
139
148
|
spellcheck
|
|
140
149
|
});
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2NzcGVsbC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgZnVuY3Rpb24gZm9yIHJ1bm5pbmcgYSBzcGVsbGNoZWNrIG9uIHRoZSBjb2RlYmFzZSB1c2luZyB0aGUgYGNzcGVsbGAgbGlicmFyeS5cbiAqIEl0IHJlcG9ydHMgYW55IHNwZWxsaW5nIGlzc3VlcyBmb3VuZCBpbiB0aGUgY29kZSBhbmQgcmV0dXJucyBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHNwZWxsY2hlY2sgd2FzIHN1Y2Nlc3NmdWwuXG4gKi9cblxuaW1wb3J0IHtcbiAgZXhlY0Zyb21Sb290LFxuICBnZXRSb290Rm9sZGVyXG59IGZyb20gJy4uL3Jvb3QudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSB7QGxpbmsgc3BlbGxjaGVja30gZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BlbGxjaGVja09wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgZmlsZSBwYXRocyB0byBjaGVjay4gSWYgb21pdHRlZCwgY2hlY2tzIHRoZSBlbnRpcmUgcHJvamVjdC5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGhzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUnVucyBhIHNwZWxsY2hlY2sgb24gdGhlIGVudGlyZSBjb2RlYmFzZSB1c2luZyBgY3NwZWxsYC5cbiAqXG4gKiBDaGVja3MgYWxsIGZpbGVzIGluIHRoZSBjdXJyZW50IGZvbGRlciBhbmQgaXRzIHN1YmZvbGRlcnMgZm9yIHNwZWxsaW5nIGlzc3Vlcy5cbiAqIElmIGlzc3VlcyBhcmUgZm91bmQsIHRoZXkgYXJlIGxvZ2dlZCB0byB0aGUgY29uc29sZSB3aXRoIHRoZWlyIGZpbGUgcGF0aCwgbGluZSwgYW5kIGNvbHVtbiBudW1iZXIuXG4gKlxuICogVXNlcyBgLS1uby1tdXN0LWZpbmQtZmlsZXNgIHNvIHRoYXQgY3NwZWxsIGRvZXMgbm90IGZhaWwgd2hlbiBhbGwgcHJvdmlkZWQgcGF0aHNcbiAqIGFyZSBleGNsdWRlZCBieSBidWlsdC1pbiBpZ25vcmUgcnVsZXMgKGUuZy4sIGBwYWNrYWdlLWxvY2suanNvbmApLlxuICpcbiAqIFVzZXMgYC0tZ2l0aWdub3JlYCBzbyBhIHBhdGggZ2l0IGlnbm9yZXMgaXMgYSBwYXRoIGNzcGVsbCBza2lwcyBcdTIwMTQgZ2VuZXJhdGVkIG91dHB1dCwgYnVpbGQgZm9sZGVycyBhbmRcbiAqIGV2ZXJ5IGBub2RlX21vZHVsZXNgIGFyZSBjb3ZlcmVkIHdpdGhvdXQgYSBoYW5kLW1haW50YWluZWQgYGlnbm9yZVBhdGhzYCBsaXN0IHRoYXQgZHJpZnRzIGZyb21cbiAqIGAuZ2l0aWdub3JlYC4gSXQgaXMgcGFzc2VkIG9uIHRoZSBjb21tYW5kIGxpbmUgcmF0aGVyIHRoYW4gc2V0IGluIGBjc3BlbGwuanNvbmAgc28gdGhhdCBldmVyeSBwcm9qZWN0XG4gKiBjb25zdW1pbmcgdGhpcyBmdW5jdGlvbiBpbmhlcml0cyBpdCwgcmF0aGVyIHRoYW4gZWFjaCBoYXZpbmcgdG8gZWRpdCBpdHMgb3duIGNvbmZpZy4gYC0tZ2l0aWdub3JlLXJvb3RgXG4gKiBzdG9wcyB0aGUgc2VhcmNoIGF0IHRoZSBwcm9qZWN0IHJvb3QsIHNvIGEgYC5naXRpZ25vcmVgIGluIHNvbWUgcGFyZW50IGZvbGRlciBvdXRzaWRlIHRoZSBwcm9qZWN0IGNhbm5vdFxuICogc2lsZW50bHkgcmVtb3ZlIGZpbGVzIGZyb20gdGhlIGNoZWNrLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHtAbGluayBTcGVsbGNoZWNrT3B0aW9uc30uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9LCBpbmRpY2F0aW5nIHRoZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhlIHNwZWxsY2hlY2suXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzcGVsbGNoZWNrKG9wdGlvbnM/OiBTcGVsbGNoZWNrT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBhdGhzIH0gPSBvcHRpb25zID8/IHt9O1xuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVGhlIHBhdGhzLXByb3ZpZGVkIGJyYW5jaCBpcyBvbmx5IGV4ZXJjaXNlZCBieSBjb25zdW1lciBwcm9qZWN0cyBwYXNzaW5nIGZpbGUgbGlzdHMuICovXG4gIGNvbnN0IHRhcmdldHMgPSBwYXRocz8ubGVuZ3RoID8gcGF0aHMgOiBbJy4nXTtcbiAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgY29uc3Qgcm9vdEZvbGRlciA9IGdldFJvb3RGb2xkZXIoKTtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFtcbiAgICAnbnB4JyxcbiAgICAnY3NwZWxsJyxcbiAgICAnLS1uby1wcm9ncmVzcycsXG4gICAgJy0tbm8tbXVzdC1maW5kLWZpbGVzJyxcbiAgICAnLS1naXRpZ25vcmUnLFxuICAgIC4uLnJvb3RGb2xkZXIgPT09IG51bGwgPyBbXSA6IFsnLS1naXRpZ25vcmUtcm9vdCcsIHJvb3RGb2xkZXJdLFxuICAgIHsgYmF0Y2hlZEFyZ3M6IHRhcmdldHMgfVxuICBdKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BLGtCQUdPO0FBK0JQLGVBQXNCLFdBQVcsU0FBNEM7QUFDM0UsUUFBTSxFQUFFLE1BQU0sSUFBSSxXQUFXLENBQUM7QUFFOUIsUUFBTSxVQUFVLE9BQU8sU0FBUyxRQUFRLENBQUMsR0FBRztBQUU1QyxRQUFNLGlCQUFhLDJCQUFjO0FBQ2pDLFlBQU0sMEJBQWE7QUFBQSxJQUNqQjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLEdBQUcsZUFBZSxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixVQUFVO0FBQUEsSUFDN0QsRUFBRSxhQUFhLFFBQVE7QUFBQSxFQUN6QixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -23,6 +23,13 @@ export interface SpellcheckOptions {
|
|
|
23
23
|
* Uses `--no-must-find-files` so that cspell does not fail when all provided paths
|
|
24
24
|
* are excluded by built-in ignore rules (e.g., `package-lock.json`).
|
|
25
25
|
*
|
|
26
|
+
* Uses `--gitignore` so a path git ignores is a path cspell skips — generated output, build folders and
|
|
27
|
+
* every `node_modules` are covered without a hand-maintained `ignorePaths` list that drifts from
|
|
28
|
+
* `.gitignore`. It is passed on the command line rather than set in `cspell.json` so that every project
|
|
29
|
+
* consuming this function inherits it, rather than each having to edit its own config. `--gitignore-root`
|
|
30
|
+
* stops the search at the project root, so a `.gitignore` in some parent folder outside the project cannot
|
|
31
|
+
* silently remove files from the check.
|
|
32
|
+
*
|
|
26
33
|
* @param options - The {@link SpellcheckOptions}.
|
|
27
34
|
* @returns A {@link Promise} that resolves to a {@link CliTaskResult}, indicating the success or failure of the spellcheck.
|
|
28
35
|
*/
|
|
@@ -162,17 +162,20 @@ const obsidianDevUtilsConfig = {
|
|
|
162
162
|
customRules: [
|
|
163
163
|
import_markdownlint_rule_relative_links.default
|
|
164
164
|
],
|
|
165
|
+
// Every `.gitignore` in the tree, and up to the repository root — git's own default behavior. A path git
|
|
166
|
+
// Ignores is a path we do not lint, so `node_modules` (including the nested ones under test fixtures),
|
|
167
|
+
// `dist`, and every generated folder are skipped without anyone maintaining a list that can drift.
|
|
168
|
+
gitignore: true,
|
|
165
169
|
globs: [
|
|
166
170
|
"**/*.md"
|
|
167
171
|
],
|
|
172
|
+
// Git never "ignores" `.git` itself — it is simply outside the working tree — so this one stays explicit.
|
|
168
173
|
ignores: [
|
|
169
|
-
"
|
|
170
|
-
".git/**",
|
|
171
|
-
"dist/**"
|
|
174
|
+
".git/**"
|
|
172
175
|
]
|
|
173
176
|
};
|
|
174
177
|
// Annotate the CommonJS export names for ESM import in node:
|
|
175
178
|
0 && (module.exports = {
|
|
176
179
|
obsidianDevUtilsConfig
|
|
177
180
|
});
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL21hcmtkb3dubGludC1jbGkyLWNvbmZpZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIERlZmF1bHQgbWFya2Rvd25saW50LWNsaTIgY29uZmlndXJhdGlvbiBmb3IgdGhlIE9ic2lkaWFuIERldiBVdGlscy5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gRGVjbGFyYXRpdmUgbWFya2Rvd25saW50LWNsaTIgcnVsZS9wbHVnaW4gY29uZmlndXJhdGlvbjsgY29ycmVjdG5lc3MgaXMgdmVyaWZpZWQgYnkgcnVubmluZyBtYXJrZG93bmxpbnQsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgcmVsYXRpdmVMaW5rc1J1bGUgZnJvbSAnbWFya2Rvd25saW50LXJ1bGUtcmVsYXRpdmUtbGlua3MnO1xuXG5pbXBvcnQgdHlwZSB7IE1hcmtkb3dubGludENsaTJDb25maWd1cmF0aW9uU2NoZW1hIH0gZnJvbSAnLi9tYXJrZG93bmxpbnQtdHlwZXMvQHR5cGVzL21hcmtkb3dubGludC1jbGkyLWNvbmZpZy1zY2hlbWEuZC50cyc7XG5cbi8qKlxuICogRGVmYXVsdCBtYXJrZG93bmxpbnQtY2xpMiBjb25maWd1cmF0aW9uIGZvciB0aGUgT2JzaWRpYW4gRGV2IFV0aWxzLlxuICovXG5leHBvcnQgY29uc3Qgb2JzaWRpYW5EZXZVdGlsc0NvbmZpZzogTWFya2Rvd25saW50Q2xpMkNvbmZpZ3VyYXRpb25TY2hlbWEgPSB7XG4gIGNvbmZpZzoge1xuICAgICdNRDAxMyc6IGZhbHNlLFxuICAgICdNRDAyNCc6IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2UgLS0gVGhhdCdzIGhvdyBpdCBpcyBkZWZpbmVkIGluIHRoZSBzY2hlbWEuXG4gICAgICBzaWJsaW5nc19vbmx5OiB0cnVlXG4gICAgfSxcbiAgICAnTUQwNTInOiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlIC0tIFRoYXQncyBob3cgaXQgaXMgZGVmaW5lZCBpbiB0aGUgc2NoZW1hLlxuICAgICAgaWdub3JlZF9sYWJlbHM6IFtcbiAgICAgICAgJyFub3RlJyxcbiAgICAgICAgJyF3YXJuaW5nJyxcbiAgICAgICAgLy8gUHJlc2VydmUgbWFya2Rvd25saW50J3MgZGVmYXVsdCBpZ25vcmVkIGxhYmVsIHNvIEdGTSB0YXNrLWxpc3QgaXRlbXMgKGAtIFt4XWApIGFyZSBub3QgZmxhZ2dlZCBhcyB1bmRlZmluZWQgc2hvcnRjdXQgcmVmZXJlbmNlcy5cbiAgICAgICAgJ3gnXG4gICAgICBdLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZSAtLSBUaGF0J3MgaG93IGl0IGlzIGRlZmluZWQgaW4gdGhlIHNjaGVtYS5cbiAgICAgIHNob3J0Y3V0X3N5bnRheDogdHJ1ZVxuICAgIH0sXG4gICAgJ3JlbGF0aXZlLWxpbmtzJzogdHJ1ZVxuICB9LFxuICBjdXN0b21SdWxlczogW1xuICAgIHJlbGF0aXZlTGlua3NSdWxlXG4gIF0sXG4gIC8vIEV2ZXJ5IGAuZ2l0aWdub3JlYCBpbiB0aGUgdHJlZSwgYW5kIHVwIHRvIHRoZSByZXBvc2l0b3J5IHJvb3QgXHUyMDE0IGdpdCdzIG93biBkZWZhdWx0IGJlaGF2aW9yLiBBIHBhdGggZ2l0XG4gIC8vIElnbm9yZXMgaXMgYSBwYXRoIHdlIGRvIG5vdCBsaW50LCBzbyBgbm9kZV9tb2R1bGVzYCAoaW5jbHVkaW5nIHRoZSBuZXN0ZWQgb25lcyB1bmRlciB0ZXN0IGZpeHR1cmVzKSxcbiAgLy8gYGRpc3RgLCBhbmQgZXZlcnkgZ2VuZXJhdGVkIGZvbGRlciBhcmUgc2tpcHBlZCB3aXRob3V0IGFueW9uZSBtYWludGFpbmluZyBhIGxpc3QgdGhhdCBjYW4gZHJpZnQuXG4gIGdpdGlnbm9yZTogdHJ1ZSxcbiAgZ2xvYnM6IFtcbiAgICAnKiovKi5tZCdcbiAgXSxcbiAgLy8gR2l0IG5ldmVyIFwiaWdub3Jlc1wiIGAuZ2l0YCBpdHNlbGYgXHUyMDE0IGl0IGlzIHNpbXBseSBvdXRzaWRlIHRoZSB3b3JraW5nIHRyZWUgXHUyMDE0IHNvIHRoaXMgb25lIHN0YXlzIGV4cGxpY2l0LlxuICBpZ25vcmVzOiBbXG4gICAgJy5naXQvKionXG4gIF1cbn07XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsOENBQThCO0FBT3ZCLE1BQU0seUJBQThEO0FBQUEsRUFDekUsUUFBUTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsU0FBUztBQUFBO0FBQUEsTUFFUCxlQUFlO0FBQUEsSUFDakI7QUFBQSxJQUNBLFNBQVM7QUFBQTtBQUFBLE1BRVAsZ0JBQWdCO0FBQUEsUUFDZDtBQUFBLFFBQ0E7QUFBQTtBQUFBLFFBRUE7QUFBQSxNQUNGO0FBQUE7QUFBQSxNQUVBLGlCQUFpQjtBQUFBLElBQ25CO0FBQUEsSUFDQSxrQkFBa0I7QUFBQSxFQUNwQjtBQUFBLEVBQ0EsYUFBYTtBQUFBLElBQ1gsd0NBQUFBO0FBQUEsRUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSUEsV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLElBQ0w7QUFBQSxFQUNGO0FBQUE7QUFBQSxFQUVBLFNBQVM7QUFBQSxJQUNQO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJyZWxhdGl2ZUxpbmtzUnVsZSJdCn0K
|
|
@@ -136,6 +136,7 @@ var import_debug = require('../../debug.cjs');
|
|
|
136
136
|
var import_obsidian_plugin_repo_paths = require('../../obsidian/plugin/obsidian-plugin-repo-paths.cjs');
|
|
137
137
|
var import_path = require('../../path.cjs');
|
|
138
138
|
var import_type_guards = require('../../type-guards.cjs');
|
|
139
|
+
var import_git = require('../git.cjs');
|
|
139
140
|
var import_obsidian_dev_utils_repo_paths = require('../obsidian-dev-utils-repo-paths.cjs');
|
|
140
141
|
var import_root = require('../root.cjs');
|
|
141
142
|
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
|
|
@@ -181,13 +182,7 @@ async function lint(options) {
|
|
|
181
182
|
const targets = paths?.length ? paths : [import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.CurrentFolder];
|
|
182
183
|
await (0, import_root.execFromRoot)(["npx", "markdownlint-cli2", ...shouldFix ? ["--fix"] : [], { batchedArgs: targets }]);
|
|
183
184
|
const rootFolder = (0, import_root.getRootFolder)() ?? process.cwd();
|
|
184
|
-
const mdFiles = paths?.length ? paths.map((p) => (0, import_node_path.relative)(rootFolder, p).replace(/\\/g, "/") || p) : await (
|
|
185
|
-
exclude: [
|
|
186
|
-
".git/**",
|
|
187
|
-
"dist/**",
|
|
188
|
-
"**/node_modules/**"
|
|
189
|
-
]
|
|
190
|
-
}));
|
|
185
|
+
const mdFiles = paths?.length ? paths.map((p) => (0, import_node_path.relative)(rootFolder, p).replace(/\\/g, "/") || p) : await getMarkdownFiles();
|
|
191
186
|
await (0, import_root.execFromRoot)([
|
|
192
187
|
"npx",
|
|
193
188
|
"linkinator",
|
|
@@ -204,8 +199,22 @@ async function lint(options) {
|
|
|
204
199
|
{ batchedArgs: mdFiles }
|
|
205
200
|
]);
|
|
206
201
|
}
|
|
202
|
+
const MARKDOWN_PATHSPEC = "*.md";
|
|
203
|
+
async function getMarkdownFiles() {
|
|
204
|
+
const nonIgnoredFiles = await (0, import_git.getNonIgnoredFiles)({ patterns: [MARKDOWN_PATHSPEC] });
|
|
205
|
+
if (nonIgnoredFiles) {
|
|
206
|
+
return nonIgnoredFiles;
|
|
207
|
+
}
|
|
208
|
+
return await (0, import_async.toArray)((0, import_promises.glob)(["**/*.md"], {
|
|
209
|
+
exclude: [
|
|
210
|
+
".git/**",
|
|
211
|
+
"dist/**",
|
|
212
|
+
"**/node_modules/**"
|
|
213
|
+
]
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
207
216
|
// Annotate the CommonJS export names for ESM import in node:
|
|
208
217
|
0 && (module.exports = {
|
|
209
218
|
lint
|
|
210
219
|
});
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL21hcmtkb3dubGludC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpID0+
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL21hcmtkb3dubGludC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgX19maWxlbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpO1xuICAgICAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBhY3RpdmVXaW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfSkoKTtcbi8qKlxuICogQGZpbGVcbiAqXG4gKiBMaW50IG1hcmtkb3duIGRvY3VtZW50YXRpb24gdXNpbmcgYG1hcmtkb3dubGludC1jbGkyYCBhbmQgYGxpbmtpbmF0b3JgLlxuICovXG5cbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIGNwLFxuICBnbG9iXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgcmVsYXRpdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5pbXBvcnQgeyB0b0FycmF5IH0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgZ2V0TGliRGVidWdnZXIgfSBmcm9tICcuLi8uLi9kZWJ1Zy50cyc7XG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuL3BsdWdpbi9vYnNpZGlhbi1wbHVnaW4tcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJy4uLy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgYXNzZXJ0Tm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyBnZXROb25JZ25vcmVkRmlsZXMgfSBmcm9tICcuLi9naXQudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4uL29ic2lkaWFuLWRldi11dGlscy1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgZ2V0Um9vdEZvbGRlcixcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi4vcm9vdC50cyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgdGhlIHtAbGluayBsaW50fSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW50T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBmaWxlIHBhdGhzIHRvIGxpbnQuIElmIG9taXR0ZWQsIGxpbnRzIHRoZSBlbnRpcmUgcHJvamVjdC5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGhzPzogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZml4IGxpbnRpbmcgaXNzdWVzIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEZpeD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogTGludCBtYXJrZG93biBkb2N1bWVudGF0aW9uIHVzaW5nIGBtYXJrZG93bmxpbnQtY2xpMmAgYW5kIGBsaW5raW5hdG9yYC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSB7QGxpbmsgTGludE9wdGlvbnN9LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbGludChvcHRpb25zPzogTGludE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXRocywgc2hvdWxkRml4ID0gZmFsc2UgfSA9IG9wdGlvbnMgPz8ge307XG4gIGNvbnN0IGNvbmZpZ0ZpbGVzID0gW1xuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hcmtkb3dubGludENsaTJDb25maWdKc29uYyxcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYXJrZG93bmxpbnRDbGkyQ29uZmlnWWFtbCxcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYXJrZG93bmxpbnRDbGkyQ29uZmlnQ2pzLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hcmtkb3dubGludENsaTJDb25maWdNanMsXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFya2Rvd25saW50Q29uZmlnSnNvbmMsXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFya2Rvd25saW50Q29uZmlnSnNvbixcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYXJrZG93bmxpbnRDb25maWdZYW1sLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hcmtkb3dubGludENvbmZpZ1ltbCxcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYXJrZG93bmxpbnRDb25maWdDanMsXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFya2Rvd25saW50Q29uZmlnTWpzXG4gIF07XG5cbiAgY29uc3QgY29uZmlnRmlsZUV4aXN0ID0gY29uZmlnRmlsZXMuc29tZSgoY29uZmlnRmlsZSkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZ0ZpbGVQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmUoeyBwYXRoOiBjb25maWdGaWxlIH0pO1xuICAgIHJldHVybiBleGlzdHNTeW5jKGNvbmZpZ0ZpbGVQYXRoKTtcbiAgfSk7XG5cbiAgaWYgKCFjb25maWdGaWxlRXhpc3QpIHtcbiAgICBnZXRMaWJEZWJ1Z2dlcignbWFya2Rvd25saW50OmxpbnQnKSgnbWFya2Rvd25saW50IGNvbmZpZ3VyYXRpb24gZmlsZSBub3QgZm91bmQuIENyZWF0aW5nIGRlZmF1bHQgY29uZmlnLi4uJyk7XG4gICAgY29uc3QgcGFja2FnZUZvbGRlciA9IGdldFJvb3RGb2xkZXIoZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgICBhc3NlcnROb25OdWxsYWJsZShwYWNrYWdlRm9sZGVyLCAnUGFja2FnZSBmb2xkZXIgbm90IGZvdW5kJyk7XG4gICAgYXdhaXQgY3AoXG4gICAgICBqb2luKHBhY2thZ2VGb2xkZXIsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGlzdFRlbXBsYXRlcywgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5NYXJrZG93bmxpbnRDbGkyQ29uZmlnTWpzKSxcbiAgICAgIHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFya2Rvd25saW50Q2xpMkNvbmZpZ01qcyB9KVxuICAgICk7XG4gIH1cblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVGhlIHBhdGhzLXByb3ZpZGVkIGJyYW5jaGVzIGFyZSBvbmx5IGV4ZXJjaXNlZCBieSBjb25zdW1lciBwcm9qZWN0cyBwYXNzaW5nIGZpbGUgbGlzdHMuICovXG4gIGNvbnN0IHRhcmdldHMgPSBwYXRocz8ubGVuZ3RoID8gcGF0aHMgOiBbT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQ3VycmVudEZvbGRlcl07XG4gIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25weCcsICdtYXJrZG93bmxpbnQtY2xpMicsIC4uLihzaG91bGRGaXggPyBbJy0tZml4J10gOiBbXSksIHsgYmF0Y2hlZEFyZ3M6IHRhcmdldHMgfV0pO1xuXG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBUaGUgcGF0aHMtcHJvdmlkZWQgYnJhbmNoIGlzIG9ubHkgZXhlcmNpc2VkIGJ5IGNvbnN1bWVyIHByb2plY3RzIHBhc3NpbmcgZmlsZSBsaXN0cy4gKi9cbiAgY29uc3Qgcm9vdEZvbGRlciA9IGdldFJvb3RGb2xkZXIoKSA/PyBwcm9jZXNzLmN3ZCgpO1xuICBjb25zdCBtZEZpbGVzID0gcGF0aHM/Lmxlbmd0aFxuICAgID8gcGF0aHMubWFwKChwKSA9PiByZWxhdGl2ZShyb290Rm9sZGVyLCBwKS5yZXBsYWNlKC9cXFxcL2csICcvJykgfHwgcClcbiAgICA6IGF3YWl0IGdldE1hcmtkb3duRmlsZXMoKTtcbiAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgYXdhaXQgZXhlY0Zyb21Sb290KFtcbiAgICAnbnB4JyxcbiAgICAnbGlua2luYXRvcicsXG4gICAgJy0tcmV0cnknLFxuICAgICctLXJldHJ5LWVycm9ycycsXG4gICAgJy0tcmV0cnktZXJyb3JzLWNvdW50JyxcbiAgICAnMycsXG4gICAgJy0tcmV0cnktZXJyb3JzLWppdHRlcicsXG4gICAgJzUnLFxuICAgICctLXVybC1yZXdyaXRlLXNlYXJjaCcsXG4gICAgJ2h0dHBzOi8vd3d3XFxcXC5ucG1qc1xcXFwuY29tL3BhY2thZ2UvJyxcbiAgICAnLS11cmwtcmV3cml0ZS1yZXBsYWNlJyxcbiAgICAnaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvJyxcbiAgICB7IGJhdGNoZWRBcmdzOiBtZEZpbGVzIH1cbiAgXSk7XG59XG5cbi8qKlxuICogVGhlIGdpdCBwYXRoc3BlYyBtYXRjaGluZyBldmVyeSBtYXJrZG93biBmaWxlIGluIHRoZSByZXBvc2l0b3J5LCBhdCBhbnkgZGVwdGguXG4gKi9cbmNvbnN0IE1BUktET1dOX1BBVEhTUEVDID0gJyoubWQnO1xuXG4vKipcbiAqIExpc3RzIHRoZSBtYXJrZG93biBmaWxlcyB0byBoYW5kIHRvIGBsaW5raW5hdG9yYC5cbiAqXG4gKiBgbGlua2luYXRvcmAgdGFrZXMgYSBmaWxlIGxpc3QgcmF0aGVyIHRoYW4gYW4gaWdub3JlIGNvbmZpZ3VyYXRpb24sIHNvIHRoZSBnaXRpZ25vcmVkIGZpbGVzIGhhdmUgdG8gYmVcbiAqIGRyb3BwZWQgYmVmb3JlIGl0IGlzIGludm9rZWQuIEdpdCBpdHNlbGYgYW5zd2VycyB0aGF0IChuZXN0ZWQgaWdub3JlIGZpbGVzLCBgIWAgbmVnYXRpb25zIGFuZCBhbGwpOyB0aGVcbiAqIGhhbmQtbWFpbnRhaW5lZCBnbG9iIGV4Y2x1c2lvbnMgYmVsb3cgYXJlIG9ubHkgdGhlIGZhbGxiYWNrIGZvciBhIGNoZWNrb3V0IHdpdGhvdXQgZ2l0LCBhbmQgdGhleSBhcmUgdGhlXG4gKiB2ZXJ5IGxpc3RzIHRoaXMgaW5kaXJlY3Rpb24gZXhpc3RzIHRvIHN0b3AgZnJvbSBkcmlmdGluZy5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIG1hcmtkb3duIGZpbGUgcGF0aHMsIHJlbGF0aXZlIHRvIHRoZSByb290IGZvbGRlci5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0TWFya2Rvd25GaWxlcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIGNvbnN0IG5vbklnbm9yZWRGaWxlcyA9IGF3YWl0IGdldE5vbklnbm9yZWRGaWxlcyh7IHBhdHRlcm5zOiBbTUFSS0RPV05fUEFUSFNQRUNdIH0pO1xuICBpZiAobm9uSWdub3JlZEZpbGVzKSB7XG4gICAgcmV0dXJuIG5vbklnbm9yZWRGaWxlcztcbiAgfVxuXG4gIHJldHVybiBhd2FpdCB0b0FycmF5KGdsb2IoWycqKi8qLm1kJ10sIHtcbiAgICBleGNsdWRlOiBbXG4gICAgICAnLmdpdC8qKicsXG4gICAgICAnZGlzdC8qKicsXG4gICAgICAnKiovbm9kZV9tb2R1bGVzLyoqJ1xuICAgIF1cbiAgfSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBc0JBLHFCQUEyQjtBQUMzQixzQkFHTztBQUNQLHVCQUF5QjtBQUV6QixtQkFBd0I7QUFDeEIsbUJBQStCO0FBQy9CLHdDQUF3QztBQUN4QyxrQkFHTztBQUNQLHlCQUFrQztBQUNsQyxpQkFBbUM7QUFDbkMsMkNBQTBDO0FBQzFDLGtCQUlPO0FBM0NQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBTTtBQUMxRCxNQUFJLE9BQU8sZUFBZSxVQUFVO0FBQ2xDLFVBQU0sZUFBZTtBQUNyQixVQUFNLE1BQU0sYUFBYSxVQUFVO0FBQ25DLFFBQUksT0FBTyxJQUFJLGtCQUFrQixZQUFZO0FBQzNDLGFBQU8sSUFBSSxjQUFjLFVBQVUsRUFBRTtBQUFBLElBQ3ZDO0FBQUEsRUFDRjtBQUVBLE1BQUksT0FBTyxXQUFXLGFBQWE7QUFDakMsV0FBTyxhQUFhLFNBQVM7QUFBQSxFQUMvQjtBQUdBLFNBQU87QUFDVCxHQUFHO0FBb0RQLGVBQXNCLEtBQUssU0FBc0M7QUFDL0QsUUFBTSxFQUFFLE9BQU8sWUFBWSxNQUFNLElBQUksV0FBVyxDQUFDO0FBQ2pELFFBQU0sY0FBYztBQUFBLElBQ2xCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLElBQ3hCLDBEQUF3QjtBQUFBLEVBQzFCO0FBRUEsUUFBTSxrQkFBa0IsWUFBWSxLQUFLLENBQUMsZUFBZTtBQUN2RCxVQUFNLHFCQUFpQixxQ0FBd0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRSxlQUFPLDJCQUFXLGNBQWM7QUFBQSxFQUNsQyxDQUFDO0FBRUQsTUFBSSxDQUFDLGlCQUFpQjtBQUNwQixxQ0FBZSxtQkFBbUIsRUFBRSx1RUFBdUU7QUFDM0csVUFBTSxvQkFBZ0IsK0JBQWMsMkJBQWMsaUJBQWUsQ0FBQztBQUNsRSw4Q0FBa0IsZUFBZSwwQkFBMEI7QUFDM0QsY0FBTTtBQUFBLFVBQ0osa0JBQUssZUFBZSwrREFBMEIsZUFBZSwrREFBMEIseUJBQXlCO0FBQUEsVUFDaEgscUNBQXdCLEVBQUUsTUFBTSwwREFBd0IsMEJBQTBCLENBQUM7QUFBQSxJQUNyRjtBQUFBLEVBQ0Y7QUFHQSxRQUFNLFVBQVUsT0FBTyxTQUFTLFFBQVEsQ0FBQywwREFBd0IsYUFBYTtBQUU5RSxZQUFNLDBCQUFhLENBQUMsT0FBTyxxQkFBcUIsR0FBSSxZQUFZLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBSSxFQUFFLGFBQWEsUUFBUSxDQUFDLENBQUM7QUFHMUcsUUFBTSxpQkFBYSwyQkFBYyxLQUFLLFFBQVEsSUFBSTtBQUNsRCxRQUFNLFVBQVUsT0FBTyxTQUNuQixNQUFNLElBQUksQ0FBQyxVQUFNLDJCQUFTLFlBQVksQ0FBQyxFQUFFLFFBQVEsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUNqRSxNQUFNLGlCQUFpQjtBQUUzQixZQUFNLDBCQUFhO0FBQUEsSUFDakI7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsRUFBRSxhQUFhLFFBQVE7QUFBQSxFQUN6QixDQUFDO0FBQ0g7QUFLQSxNQUFNLG9CQUFvQjtBQVkxQixlQUFlLG1CQUFzQztBQUNuRCxRQUFNLGtCQUFrQixVQUFNLCtCQUFtQixFQUFFLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0FBQ2xGLE1BQUksaUJBQWlCO0FBQ25CLFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTyxVQUFNLDBCQUFRLHNCQUFLLENBQUMsU0FBUyxHQUFHO0FBQUEsSUFDckMsU0FBUztBQUFBLE1BQ1A7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUMsQ0FBQztBQUNKOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -139,8 +139,8 @@ __export(nano_staged_config_exports, {
|
|
|
139
139
|
obsidianDevUtilsConfig: () => obsidianDevUtilsConfig
|
|
140
140
|
});
|
|
141
141
|
module.exports = __toCommonJS(nano_staged_config_exports);
|
|
142
|
-
var import_node_fs = require('node:fs');
|
|
143
142
|
var import_node_process = __toESM(__extractDefault(require('node:process')), 1);
|
|
143
|
+
var import_env_toggle = require('./env-toggle.cjs');
|
|
144
144
|
const obsidianDevUtilsConfig = {
|
|
145
145
|
/*
|
|
146
146
|
* Lint everything except the `templates/` consumer templates: ESLint globally ignores them, and
|
|
@@ -161,23 +161,19 @@ const obsidianDevUtilsConfig = {
|
|
|
161
161
|
"npm run lint:md:fix --"
|
|
162
162
|
]
|
|
163
163
|
};
|
|
164
|
-
const
|
|
164
|
+
const NANO_STAGED_ENV_VARIABLE = "NANO_STAGED";
|
|
165
165
|
function getNanoStagedConfig() {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
import_node_process.default.stdout.write("nano-staged: skipped (NANO_STAGED is off).\n");
|
|
166
|
+
(0, import_env_toggle.loadEnvFileIfExists)();
|
|
167
|
+
if ((0, import_env_toggle.isEnvVariableOff)(NANO_STAGED_ENV_VARIABLE)) {
|
|
168
|
+
import_node_process.default.stdout.write(`nano-staged: skipped (${NANO_STAGED_ENV_VARIABLE} is off).
|
|
169
|
+
`);
|
|
171
170
|
import_node_process.default.exit(0);
|
|
172
171
|
}
|
|
173
172
|
return obsidianDevUtilsConfig;
|
|
174
173
|
}
|
|
175
|
-
function isNanoStagedDisabled(value) {
|
|
176
|
-
return NANO_STAGED_OFF_VALUES.has((value ?? "").trim().toLowerCase());
|
|
177
|
-
}
|
|
178
174
|
// Annotate the CommonJS export names for ESM import in node:
|
|
179
175
|
0 && (module.exports = {
|
|
180
176
|
getNanoStagedConfig,
|
|
181
177
|
obsidianDevUtilsConfig
|
|
182
178
|
});
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9uYW5vLXN0YWdlZC1jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTaGFyZWQgbmFuby1zdGFnZWQgY29uZmlndXJhdGlvbiBmb3IgcHJlLWNvbW1pdCBob29rcy5cbiAqL1xuXG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQge1xuICBpc0VudlZhcmlhYmxlT2ZmLFxuICBsb2FkRW52RmlsZUlmRXhpc3RzXG59IGZyb20gJy4vZW52LXRvZ2dsZS50cyc7XG5cbi8qKlxuICogTmFuby1zdGFnZWQgY29uZmlndXJhdGlvbiB0aGF0IHJ1bnMgZmlsZS1iYXNlZCBsaW50LCBmb3JtYXQsIGFuZCBzcGVsbGNoZWNrIG9uIHN0YWdlZCBmaWxlcy5cbiAqXG4gKiBPbmx5IGluY2x1ZGVzIHRvb2xzIHRoYXQgY2FuIG9wZXJhdGUgb24gaW5kaXZpZHVhbCBmaWxlcy4gV2hvbGUtcHJvamVjdCBjaGVja3NcbiAqIChUeXBlU2NyaXB0IGNvbXBpbGF0aW9uLCB1bml0IHRlc3RzKSBhcmUgbGVmdCB0byBDSS5cbiAqXG4gKiBDb21tYW5kcyB1c2UgYG5wbSBydW4gLi4uIC0tYCBzbyBuYW5vLXN0YWdlZCBmaWxlIHBhdGhzIGFyZSBmb3J3YXJkZWQgYXMgQ0xJIGFyZ3VtZW50cy5cbiAqL1xuZXhwb3J0IGNvbnN0IG9ic2lkaWFuRGV2VXRpbHNDb25maWc6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcbiAgLypcbiAgICogTGludCBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYHRlbXBsYXRlcy9gIGNvbnN1bWVyIHRlbXBsYXRlczogRVNMaW50IGdsb2JhbGx5IGlnbm9yZXMgdGhlbSwgYW5kXG4gICAqIHRoZXkgc2hpcCB0aGVpciBvd24gY29uc3VtZXItZmFjaW5nIGNvbmZpZy9zY3JpcHRzIHRoYXQgY2Fubm90IHJlc29sdmUgaW4tcmVwbywgc28gcGFzc2luZyBvbmVcbiAgICogYnkgZXhwbGljaXQgcGF0aCBlcnJvcnMgb3V0LiBUaGUgYCEodGVtcGxhdGVzKWAgbmVnYXRpb24gZHJvcHMgYW55IHBhdGggdGhhdCBiZWdpbnMgd2l0aFxuICAgKiBgdGVtcGxhdGVzYC4gRm9ybWF0dGluZyBhbmQgc3BlbGxjaGVja2luZyBzdGlsbCBjb3ZlciBgdGVtcGxhdGVzL2AgdmlhIHRoZSBlbnRyaWVzIGFib3ZlIGFuZCBiZWxvdy5cbiAgICovXG4gICchKHRlbXBsYXRlcykqLnt0cyx0c3gsbXRzfSc6IFtcbiAgICAnbnBtIHJ1biBsaW50OmZpeCAtLSdcbiAgXSxcbiAgJyonOiBbXG4gICAgJ25wbSBydW4gc3BlbGxjaGVjayAtLSdcbiAgXSxcbiAgJyoue3RzLHRzeCxtdHN9JzogW1xuICAgICducG0gcnVuIGZvcm1hdCAtLSdcbiAgXSxcbiAgJyoubWQnOiBbXG4gICAgJ25wbSBydW4gbGludDptZDpmaXggLS0nXG4gIF1cbn07XG5cbmNvbnN0IE5BTk9fU1RBR0VEX0VOVl9WQVJJQUJMRSA9ICdOQU5PX1NUQUdFRCc7XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIG5hbm8tc3RhZ2VkIGNvbmZpZ3VyYXRpb24gdG8gdXNlLCBob25vcmluZyBhIHBlci1kZXZlbG9wZXIgb3B0LW91dC5cbiAqXG4gKiBMb2FkcyBhIGdpdGlnbm9yZWQgYC5lbnZgIGlmIHByZXNlbnQsIHRoZW4gXHUyMDE0IHdoZW4gYE5BTk9fU1RBR0VEYCBpcyBzZXQgdG8gYW4gb2ZmIHZhbHVlIChgMGAsIGBmYWxzZWAsXG4gKiBgb2ZmYCwgb3IgYG5vYCkgXHUyMDE0IHByaW50cyBhIG5vdGljZSBhbmQgZXhpdHMgdGhlIHByb2Nlc3Mgc3VjY2Vzc2Z1bGx5IHNvIHRoZSBwcmUtY29tbWl0IGNoZWNrcyBhcmVcbiAqIHNraXBwZWQuIFRoaXMgbWlycm9ycyBodXNreSdzIG93biBgSFVTS1k9MGAgc3dpdGNoLCBidXQgc2NvcGVkIHRvIHRoZSBuYW5vLXN0YWdlZCBzdGVwIChzbyB0aGVcbiAqIGNvbW1pdC1tc2cgaG9vayBzdGlsbCBydW5zKS4gT3RoZXJ3aXNlIGl0IHJldHVybnMge0BsaW5rIG9ic2lkaWFuRGV2VXRpbHNDb25maWd9LlxuICpcbiAqIGBOQU5PX1NUQUdFRGAgaXMgbm90IGFuIG5wbSBzY3JpcHQsIHNvIGl0IGNhcnJpZXMgaXRzIG93biBzd2l0Y2ggcmF0aGVyIHRoYW4gdGhlIHNjcmlwdC1uYW1lLWRlcml2ZWQgb25lXG4gKiBldmVyeSBucG0gc2NyaXB0IGdldHMgXHUyMDE0IGJ1dCBib3RoIHNoYXJlIHRoZSBzYW1lIG5vdGlvbiBvZiBhbiBvZmYgdmFsdWUsIHZpYSB7QGxpbmsgaXNFbnZWYXJpYWJsZU9mZn0uXG4gKlxuICogVGhpcyBpcyBhIGZ1bmN0aW9uIHJhdGhlciB0aGFuIG1vZHVsZS1sZXZlbCBjb2RlIHNvIGltcG9ydGluZyB0aGUgcGFja2FnZSBiYXJyZWwgbmV2ZXIgdHJpZ2dlcnMgdGhlXG4gKiBgLmVudmAgcmVhZCBvciB0aGUgcHJvY2VzcyBleGl0OyBjYWxsIGl0IGZyb20gdGhlIHRoaW4gYHNjcmlwdHMvbmFuby1zdGFnZWQtY29uZmlnLnRzYCBlbnRyeS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbmFuby1zdGFnZWQgdGFzayBjb25maWd1cmF0aW9uLiBEb2VzIG5vdCByZXR1cm4gd2hlbiB0aGUgb3B0LW91dCBpcyBhY3RpdmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXROYW5vU3RhZ2VkQ29uZmlnKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiB7XG4gIGxvYWRFbnZGaWxlSWZFeGlzdHMoKTtcblxuICBpZiAoaXNFbnZWYXJpYWJsZU9mZihOQU5PX1NUQUdFRF9FTlZfVkFSSUFCTEUpKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYG5hbm8tc3RhZ2VkOiBza2lwcGVkICgke05BTk9fU1RBR0VEX0VOVl9WQVJJQUJMRX0gaXMgb2ZmKS5cXG5gKTtcbiAgICBwcm9jZXNzLmV4aXQoMCk7XG4gIH1cblxuICByZXR1cm4gb2JzaWRpYW5EZXZVdGlsc0NvbmZpZztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLDBCQUFvQjtBQUVwQix3QkFHTztBQVVBLE1BQU0seUJBQW1EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPOUQsOEJBQThCO0FBQUEsSUFDNUI7QUFBQSxFQUNGO0FBQUEsRUFDQSxLQUFLO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFBQSxFQUNBLGtCQUFrQjtBQUFBLElBQ2hCO0FBQUEsRUFDRjtBQUFBLEVBQ0EsUUFBUTtBQUFBLElBQ047QUFBQSxFQUNGO0FBQ0Y7QUFFQSxNQUFNLDJCQUEyQjtBQWtCMUIsU0FBUyxzQkFBZ0Q7QUFDOUQsNkNBQW9CO0FBRXBCLFVBQUksb0NBQWlCLHdCQUF3QixHQUFHO0FBQzlDLHdCQUFBQSxRQUFRLE9BQU8sTUFBTSx5QkFBeUIsd0JBQXdCO0FBQUEsQ0FBYTtBQUNuRix3QkFBQUEsUUFBUSxLQUFLLENBQUM7QUFBQSxFQUNoQjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFsicHJvY2VzcyJdCn0K
|
|
@@ -16,11 +16,13 @@ export declare const obsidianDevUtilsConfig: Record<string, string[]>;
|
|
|
16
16
|
/**
|
|
17
17
|
* Resolves the nano-staged configuration to use, honoring a per-developer opt-out.
|
|
18
18
|
*
|
|
19
|
-
* Loads a gitignored `.env` if present
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
19
|
+
* Loads a gitignored `.env` if present, then — when `NANO_STAGED` is set to an off value (`0`, `false`,
|
|
20
|
+
* `off`, or `no`) — prints a notice and exits the process successfully so the pre-commit checks are
|
|
21
|
+
* skipped. This mirrors husky's own `HUSKY=0` switch, but scoped to the nano-staged step (so the
|
|
22
|
+
* commit-msg hook still runs). Otherwise it returns {@link obsidianDevUtilsConfig}.
|
|
23
|
+
*
|
|
24
|
+
* `NANO_STAGED` is not an npm script, so it carries its own switch rather than the script-name-derived one
|
|
25
|
+
* every npm script gets — but both share the same notion of an off value, via {@link isEnvVariableOff}.
|
|
24
26
|
*
|
|
25
27
|
* This is a function rather than module-level code so importing the package barrel never triggers the
|
|
26
28
|
* `.env` read or the process exit; call it from the thin `scripts/nano-staged-config.ts` entry.
|
|
@@ -57,6 +57,7 @@ export { PluginSettingsTabComponent } from './obsidian/components/plugin-setting
|
|
|
57
57
|
export { PointerPositionComponent } from './obsidian/components/pointer-position-component.mjs';
|
|
58
58
|
export { RegistryComponent } from './obsidian/components/registry-component.mjs';
|
|
59
59
|
export { EmptyFolderBehavior, RenameDeleteHandlerComponent } from './obsidian/components/rename-delete-handler-component.mjs';
|
|
60
|
+
export { SyntaxHighlightingComponent } from './obsidian/components/syntax-highlighting-component.mjs';
|
|
60
61
|
export { getDomEventsHandlersConstructor } from './obsidian/constructors/get-dom-events-handlers-constructor.mjs';
|
|
61
62
|
export { CssClass } from './obsidian/css-class.mjs';
|
|
62
63
|
export { PluginDataHandler } from './obsidian/data-handler.mjs';
|
|
@@ -143,7 +144,7 @@ export { TypedTextComponent } from './obsidian/setting-components/typed-text-com
|
|
|
143
144
|
export { UrlComponent } from './obsidian/setting-components/url-component.mjs';
|
|
144
145
|
export { getValidatorComponent } from './obsidian/setting-components/validator-component.mjs';
|
|
145
146
|
export { WeekComponent } from './obsidian/setting-components/week-component.mjs';
|
|
146
|
-
export { SettingEx } from './obsidian/setting-ex.mjs';
|
|
147
|
+
export { adoptSettingEx, SettingEx } from './obsidian/setting-ex.mjs';
|
|
147
148
|
export { SettingGroupEx } from './obsidian/setting-group-ex.mjs';
|
|
148
149
|
export { PluginStatusBarItemRegistrar } from './obsidian/status-bar-item-registrar.mjs';
|
|
149
150
|
export { getOsAndObsidianUnsafePathCharsRegExp, getOsUnsafePathCharsRegExp, isValidationMessageHolder, OBSIDIAN_UNSAFE_FILENAME_CHARS, UNIX_UNSAFE_PATH_CHARS, WINDOWS_UNSAFE_PATH_CHARS } from './obsidian/validation.mjs';
|