@skill-map/cli 0.16.0 → 0.16.2
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/dist/cli/tutorial/sm-tutorial.md +318 -132
- package/dist/cli.js +22 -10
- package/dist/cli.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kernel/index.js +1 -1
- package/dist/kernel/index.js.map +1 -1
- package/dist/ui/{chunk-UTJNQ3I2.js → chunk-3NHGIRPN.js} +3 -3
- package/dist/ui/index.html +1 -1
- package/dist/ui/{main-Z2AVUR5B.js → main-ZNVY5M44.js} +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -617,6 +617,18 @@ function readIgnoreFileText(scopeRoot) {
|
|
|
617
617
|
return void 0;
|
|
618
618
|
}
|
|
619
619
|
}
|
|
620
|
+
async function readIgnoreFileTextStable(scopeRoot, opts = {}) {
|
|
621
|
+
const pollMs = opts.pollMs ?? 50;
|
|
622
|
+
const maxAttempts = opts.maxAttempts ?? 10;
|
|
623
|
+
let prev = readIgnoreFileText(scopeRoot);
|
|
624
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
625
|
+
await new Promise((r) => setTimeout(r, pollMs));
|
|
626
|
+
const curr = readIgnoreFileText(scopeRoot);
|
|
627
|
+
if (curr === prev) return curr;
|
|
628
|
+
prev = curr;
|
|
629
|
+
}
|
|
630
|
+
return prev;
|
|
631
|
+
}
|
|
620
632
|
var cachedDefaults = null;
|
|
621
633
|
function loadDefaultsText() {
|
|
622
634
|
if (cachedDefaults !== null) return cachedDefaults;
|
|
@@ -7362,7 +7374,7 @@ import { Command as Command8, Option as Option8 } from "clipanion";
|
|
|
7362
7374
|
// package.json
|
|
7363
7375
|
var package_default = {
|
|
7364
7376
|
name: "@skill-map/cli",
|
|
7365
|
-
version: "0.16.
|
|
7377
|
+
version: "0.16.2",
|
|
7366
7378
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
7367
7379
|
license: "MIT",
|
|
7368
7380
|
type: "module",
|
|
@@ -11591,11 +11603,10 @@ async function runWatchLoop(opts) {
|
|
|
11591
11603
|
const runtimeCtx = defaultRuntimeContext();
|
|
11592
11604
|
const { cwd } = runtimeCtx;
|
|
11593
11605
|
const loadEffectiveConfig = () => loadConfig({ scope: "project", strict: opts.strict, ...runtimeCtx }).effective;
|
|
11594
|
-
const
|
|
11595
|
-
const text = readIgnoreFileText(cwd);
|
|
11606
|
+
const composeIgnoreFilter = (cfgIn, ignoreFileText) => {
|
|
11596
11607
|
const filterOpts = {};
|
|
11597
11608
|
if (cfgIn.ignore.length > 0) filterOpts.configIgnore = cfgIn.ignore;
|
|
11598
|
-
if (
|
|
11609
|
+
if (ignoreFileText !== void 0) filterOpts.ignoreFileText = ignoreFileText;
|
|
11599
11610
|
return buildIgnoreFilter(filterOpts);
|
|
11600
11611
|
};
|
|
11601
11612
|
let cfg;
|
|
@@ -11606,7 +11617,7 @@ async function runWatchLoop(opts) {
|
|
|
11606
11617
|
context.stderr.write(tx(WATCH_TEXTS.configLoadFailure, { message }));
|
|
11607
11618
|
return ExitCode.Error;
|
|
11608
11619
|
}
|
|
11609
|
-
let ignoreFilter =
|
|
11620
|
+
let ignoreFilter = composeIgnoreFilter(cfg, readIgnoreFileText(cwd));
|
|
11610
11621
|
let strict = opts.strict || cfg.scan.strict === true;
|
|
11611
11622
|
const debounceMs = cfg.scan.watch.debounceMs;
|
|
11612
11623
|
const dbPath = defaultProjectDbPath(runtimeCtx);
|
|
@@ -11743,7 +11754,8 @@ async function runWatchLoop(opts) {
|
|
|
11743
11754
|
if (stopRequested) return;
|
|
11744
11755
|
try {
|
|
11745
11756
|
cfg = loadEffectiveConfig();
|
|
11746
|
-
|
|
11757
|
+
const stableText = await readIgnoreFileTextStable(cwd);
|
|
11758
|
+
ignoreFilter = composeIgnoreFilter(cfg, stableText);
|
|
11747
11759
|
strict = opts.strict || cfg.scan.strict === true;
|
|
11748
11760
|
await handleBatch();
|
|
11749
11761
|
} catch (err) {
|
|
@@ -13237,15 +13249,14 @@ function createWatcherService(opts) {
|
|
|
13237
13249
|
cwd,
|
|
13238
13250
|
homedir: opts.runtimeContext.homedir
|
|
13239
13251
|
}).effective;
|
|
13240
|
-
const
|
|
13241
|
-
const ignoreFileText = readIgnoreFileText(cwd);
|
|
13252
|
+
const composeIgnoreFilter = (cfgIn, ignoreFileText) => {
|
|
13242
13253
|
const filterOpts = {};
|
|
13243
13254
|
if (cfgIn.ignore.length > 0) filterOpts.configIgnore = cfgIn.ignore;
|
|
13244
13255
|
if (ignoreFileText !== void 0) filterOpts.ignoreFileText = ignoreFileText;
|
|
13245
13256
|
return buildIgnoreFilter(filterOpts);
|
|
13246
13257
|
};
|
|
13247
13258
|
let cfg = loadEffectiveConfig();
|
|
13248
|
-
let ignoreFilter =
|
|
13259
|
+
let ignoreFilter = composeIgnoreFilter(cfg, readIgnoreFileText(cwd));
|
|
13249
13260
|
const debounceMs = opts.debounceMsOverride ?? cfg.scan.watch.debounceMs;
|
|
13250
13261
|
const pluginRuntime = opts.options.noPlugins ? emptyPluginRuntime() : await loadPluginRuntime({ scope: opts.options.scope });
|
|
13251
13262
|
for (const warn of pluginRuntime.warnings) {
|
|
@@ -13321,7 +13332,8 @@ function createWatcherService(opts) {
|
|
|
13321
13332
|
if (stopped) return;
|
|
13322
13333
|
try {
|
|
13323
13334
|
cfg = loadEffectiveConfig();
|
|
13324
|
-
|
|
13335
|
+
const stableText = await readIgnoreFileTextStable(cwd);
|
|
13336
|
+
ignoreFilter = composeIgnoreFilter(cfg, stableText);
|
|
13325
13337
|
await runOneBatch();
|
|
13326
13338
|
} catch (err) {
|
|
13327
13339
|
const message = formatErrorMessage(err);
|