@nathapp/nax 0.72.1 → 0.72.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/nax.js +344 -342
- package/package.json +1 -1
package/dist/nax.js
CHANGED
|
@@ -60813,6 +60813,7 @@ var init_template = __esm(() => {
|
|
|
60813
60813
|
});
|
|
60814
60814
|
|
|
60815
60815
|
// src/plugins/builtin/auto-pr/index.ts
|
|
60816
|
+
import * as path16 from "path";
|
|
60816
60817
|
async function defaultRun(cmd, opts) {
|
|
60817
60818
|
const proc = Bun.spawn(cmd, { cwd: opts.cwd, stdout: "pipe", stderr: "pipe" });
|
|
60818
60819
|
const [exitCode, stdout, stderr] = await Promise.all([
|
|
@@ -60822,8 +60823,8 @@ async function defaultRun(cmd, opts) {
|
|
|
60822
60823
|
]);
|
|
60823
60824
|
return { exitCode, stdout, stderr };
|
|
60824
60825
|
}
|
|
60825
|
-
async function defaultReadText(
|
|
60826
|
-
const file3 = Bun.file(
|
|
60826
|
+
async function defaultReadText(path17) {
|
|
60827
|
+
const file3 = Bun.file(path17);
|
|
60827
60828
|
if (!await file3.exists())
|
|
60828
60829
|
return null;
|
|
60829
60830
|
return file3.text();
|
|
@@ -60850,13 +60851,19 @@ function getAutoPrConfig(context) {
|
|
|
60850
60851
|
function getStorySummary(context) {
|
|
60851
60852
|
return context.storySummary;
|
|
60852
60853
|
}
|
|
60854
|
+
function relativePrdPath(workdir, prdPath) {
|
|
60855
|
+
if (!prdPath)
|
|
60856
|
+
return prdPath;
|
|
60857
|
+
const rel = path16.relative(workdir, prdPath);
|
|
60858
|
+
return rel && !rel.startsWith("..") && !path16.isAbsolute(rel) ? rel : prdPath;
|
|
60859
|
+
}
|
|
60853
60860
|
function toPrBodyContext(context) {
|
|
60854
60861
|
const summary = getStorySummary(context);
|
|
60855
60862
|
return {
|
|
60856
60863
|
feature: context.feature,
|
|
60857
60864
|
totalCost: context.totalCost,
|
|
60858
60865
|
totalDurationMs: context.totalDurationMs,
|
|
60859
|
-
prdPath: context.prdPath,
|
|
60866
|
+
prdPath: relativePrdPath(context.workdir, context.prdPath),
|
|
60860
60867
|
storySummary: {
|
|
60861
60868
|
completed: summary.completed,
|
|
60862
60869
|
failed: summary.failed,
|
|
@@ -61079,7 +61086,7 @@ var init_auto_route = __esm(() => {
|
|
|
61079
61086
|
});
|
|
61080
61087
|
|
|
61081
61088
|
// src/plugins/builtin/curator/collect.ts
|
|
61082
|
-
import * as
|
|
61089
|
+
import * as path17 from "path";
|
|
61083
61090
|
function now() {
|
|
61084
61091
|
return new Date().toISOString();
|
|
61085
61092
|
}
|
|
@@ -61129,7 +61136,7 @@ function tokenCount(story) {
|
|
|
61129
61136
|
}
|
|
61130
61137
|
async function collectFromMetrics(context) {
|
|
61131
61138
|
const observations = [];
|
|
61132
|
-
const metricsPath =
|
|
61139
|
+
const metricsPath = path17.join(context.outputDir, "metrics.json");
|
|
61133
61140
|
try {
|
|
61134
61141
|
const data = await readJsonFile(metricsPath);
|
|
61135
61142
|
const runs = Array.isArray(data) ? data : [data];
|
|
@@ -61179,11 +61186,11 @@ function findingMessage(finding) {
|
|
|
61179
61186
|
}
|
|
61180
61187
|
async function collectFromReviewAudit(context) {
|
|
61181
61188
|
const observations = [];
|
|
61182
|
-
const auditDir =
|
|
61189
|
+
const auditDir = path17.join(context.outputDir, "review-audit");
|
|
61183
61190
|
try {
|
|
61184
61191
|
const glob = new Bun.Glob("**/*.json");
|
|
61185
61192
|
for await (const file3 of glob.scan({ cwd: auditDir, absolute: false })) {
|
|
61186
|
-
const fullPath =
|
|
61193
|
+
const fullPath = path17.join(auditDir, file3);
|
|
61187
61194
|
try {
|
|
61188
61195
|
const audit = asRecord3(await readJsonFile(fullPath));
|
|
61189
61196
|
if (!audit)
|
|
@@ -61223,11 +61230,11 @@ async function collectFromReviewAudit(context) {
|
|
|
61223
61230
|
}
|
|
61224
61231
|
async function collectFromContextManifests(context) {
|
|
61225
61232
|
const observations = [];
|
|
61226
|
-
const featuresDir =
|
|
61233
|
+
const featuresDir = path17.join(context.workdir, ".nax", "features");
|
|
61227
61234
|
try {
|
|
61228
61235
|
const glob = new Bun.Glob("*/stories/*/context-manifest-*.json");
|
|
61229
61236
|
for await (const file3 of glob.scan({ cwd: featuresDir, absolute: false })) {
|
|
61230
|
-
const fullPath =
|
|
61237
|
+
const fullPath = path17.join(featuresDir, file3);
|
|
61231
61238
|
try {
|
|
61232
61239
|
const parts = file3.split("/");
|
|
61233
61240
|
const featureId = parts[0] ?? context.feature;
|
|
@@ -61780,10 +61787,10 @@ function renderProposals(proposals, runId, observationCount) {
|
|
|
61780
61787
|
|
|
61781
61788
|
// src/plugins/builtin/curator/rollup.ts
|
|
61782
61789
|
import { appendFile as appendFile3, mkdir as mkdir9, writeFile } from "fs/promises";
|
|
61783
|
-
import * as
|
|
61790
|
+
import * as path18 from "path";
|
|
61784
61791
|
async function appendToRollup(observations, rollupPath) {
|
|
61785
61792
|
try {
|
|
61786
|
-
const dir =
|
|
61793
|
+
const dir = path18.dirname(rollupPath);
|
|
61787
61794
|
await mkdir9(dir, { recursive: true });
|
|
61788
61795
|
if (observations.length === 0) {
|
|
61789
61796
|
const f = Bun.file(rollupPath);
|
|
@@ -61802,7 +61809,7 @@ var init_rollup = () => {};
|
|
|
61802
61809
|
|
|
61803
61810
|
// src/plugins/builtin/curator/index.ts
|
|
61804
61811
|
import { mkdir as mkdir10 } from "fs/promises";
|
|
61805
|
-
import * as
|
|
61812
|
+
import * as path19 from "path";
|
|
61806
61813
|
function getCuratorEnabled(context) {
|
|
61807
61814
|
const cfg = context.config;
|
|
61808
61815
|
if (!cfg)
|
|
@@ -61875,7 +61882,7 @@ var init_curator = __esm(() => {
|
|
|
61875
61882
|
const observations = await collectObservations(curatorContext);
|
|
61876
61883
|
if (context.outputDir) {
|
|
61877
61884
|
const { observationsPath, rollupPath } = resolveCuratorOutputs(curatorContext);
|
|
61878
|
-
const runDir =
|
|
61885
|
+
const runDir = path19.dirname(observationsPath);
|
|
61879
61886
|
await mkdir10(runDir, { recursive: true });
|
|
61880
61887
|
await Bun.write(observationsPath, observations.map((o) => JSON.stringify(o)).join(`
|
|
61881
61888
|
`) + (observations.length > 0 ? `
|
|
@@ -61883,7 +61890,7 @@ var init_curator = __esm(() => {
|
|
|
61883
61890
|
const thresholds = getCuratorThresholds(context);
|
|
61884
61891
|
const proposals = runHeuristics(observations, thresholds);
|
|
61885
61892
|
const markdown = renderProposals(proposals, context.runId, observations.length);
|
|
61886
|
-
const proposalsMdPath =
|
|
61893
|
+
const proposalsMdPath = path19.join(runDir, "curator-proposals.md");
|
|
61887
61894
|
await Bun.write(proposalsMdPath, markdown);
|
|
61888
61895
|
await appendToRollup(observations, rollupPath);
|
|
61889
61896
|
}
|
|
@@ -62256,14 +62263,14 @@ var init_validator = __esm(() => {
|
|
|
62256
62263
|
|
|
62257
62264
|
// src/plugins/loader.ts
|
|
62258
62265
|
import * as fs from "fs/promises";
|
|
62259
|
-
import * as
|
|
62266
|
+
import * as path20 from "path";
|
|
62260
62267
|
function getSafeLogger6() {
|
|
62261
62268
|
return getSafeLogger();
|
|
62262
62269
|
}
|
|
62263
62270
|
function extractPluginName(pluginPath) {
|
|
62264
|
-
const basename12 =
|
|
62271
|
+
const basename12 = path20.basename(pluginPath);
|
|
62265
62272
|
if (basename12 === "index.ts" || basename12 === "index.js" || basename12 === "index.mjs") {
|
|
62266
|
-
return
|
|
62273
|
+
return path20.basename(path20.dirname(pluginPath));
|
|
62267
62274
|
}
|
|
62268
62275
|
return basename12.replace(/\.(ts|js|mjs)$/, "");
|
|
62269
62276
|
}
|
|
@@ -62292,11 +62299,6 @@ async function loadPlugins(globalDir, projectDir, configPlugins, projectRoot, di
|
|
|
62292
62299
|
const pluginLogger = createPluginLogger(autoPrPlugin.name);
|
|
62293
62300
|
await autoPrPlugin.setup({}, pluginLogger);
|
|
62294
62301
|
}
|
|
62295
|
-
loadedPlugins.push({
|
|
62296
|
-
plugin: autoPrPlugin,
|
|
62297
|
-
source: { type: "builtin", path: autoPrPlugin.name }
|
|
62298
|
-
});
|
|
62299
|
-
pluginNames.add(autoPrPlugin.name);
|
|
62300
62302
|
const autoPrAction2 = autoPrPlugin.extensions.postRunAction;
|
|
62301
62303
|
if (autoPrAction2) {
|
|
62302
62304
|
builtinPostRunActions.push(autoPrAction2);
|
|
@@ -62379,7 +62381,7 @@ async function discoverPlugins(dir, isTestFileFn) {
|
|
|
62379
62381
|
try {
|
|
62380
62382
|
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
62381
62383
|
for (const entry of entries) {
|
|
62382
|
-
const fullPath =
|
|
62384
|
+
const fullPath = path20.join(dir, entry.name);
|
|
62383
62385
|
if (entry.isFile()) {
|
|
62384
62386
|
if (isPluginFile(entry.name, isTestFileFn)) {
|
|
62385
62387
|
discovered.push({ path: fullPath });
|
|
@@ -62387,7 +62389,7 @@ async function discoverPlugins(dir, isTestFileFn) {
|
|
|
62387
62389
|
} else if (entry.isDirectory()) {
|
|
62388
62390
|
const indexPaths = ["index.ts", "index.js", "index.mjs"];
|
|
62389
62391
|
for (const indexFile of indexPaths) {
|
|
62390
|
-
const indexPath =
|
|
62392
|
+
const indexPath = path20.join(fullPath, indexFile);
|
|
62391
62393
|
try {
|
|
62392
62394
|
await fs.access(indexPath);
|
|
62393
62395
|
discovered.push({ path: indexPath });
|
|
@@ -62412,13 +62414,13 @@ function isPluginFile(filename, isTestFileFn) {
|
|
|
62412
62414
|
return !FALLBACK_TEST_FILE_RE.test(filename);
|
|
62413
62415
|
}
|
|
62414
62416
|
function resolveModulePath(modulePath, projectRoot) {
|
|
62415
|
-
if (
|
|
62417
|
+
if (path20.isAbsolute(modulePath) || !modulePath.startsWith("./") && !modulePath.startsWith("../")) {
|
|
62416
62418
|
return modulePath;
|
|
62417
62419
|
}
|
|
62418
62420
|
if (projectRoot) {
|
|
62419
|
-
return
|
|
62421
|
+
return path20.resolve(projectRoot, modulePath);
|
|
62420
62422
|
}
|
|
62421
|
-
return
|
|
62423
|
+
return path20.resolve(modulePath);
|
|
62422
62424
|
}
|
|
62423
62425
|
async function loadAndValidatePlugin(initialModulePath, config2, allowedRoots = [], originalPath) {
|
|
62424
62426
|
let attemptedPath = initialModulePath;
|
|
@@ -62683,7 +62685,7 @@ var package_default;
|
|
|
62683
62685
|
var init_package = __esm(() => {
|
|
62684
62686
|
package_default = {
|
|
62685
62687
|
name: "@nathapp/nax",
|
|
62686
|
-
version: "0.72.
|
|
62688
|
+
version: "0.72.2",
|
|
62687
62689
|
description: "AI Coding Agent Orchestrator \u2014 loops until done",
|
|
62688
62690
|
type: "module",
|
|
62689
62691
|
bin: {
|
|
@@ -62784,8 +62786,8 @@ var init_version = __esm(() => {
|
|
|
62784
62786
|
NAX_VERSION = package_default.version;
|
|
62785
62787
|
NAX_COMMIT = (() => {
|
|
62786
62788
|
try {
|
|
62787
|
-
if (/^[0-9a-f]{6,10}$/.test("
|
|
62788
|
-
return "
|
|
62789
|
+
if (/^[0-9a-f]{6,10}$/.test("8e33dec3"))
|
|
62790
|
+
return "8e33dec3";
|
|
62789
62791
|
} catch {}
|
|
62790
62792
|
try {
|
|
62791
62793
|
const result = Bun.spawnSync(["git", "rev-parse", "--short", "HEAD"], {
|
|
@@ -63172,7 +63174,7 @@ async function readSourceFileContent(filePath, workdir) {
|
|
|
63172
63174
|
var MAX_SOURCE_FILES = 5, MAX_FILE_LINES2 = 500;
|
|
63173
63175
|
|
|
63174
63176
|
// src/execution/lifecycle/acceptance-helpers.ts
|
|
63175
|
-
import
|
|
63177
|
+
import path22 from "path";
|
|
63176
63178
|
function isStubTestFile(content) {
|
|
63177
63179
|
return isStubTestContent(content);
|
|
63178
63180
|
}
|
|
@@ -63191,7 +63193,7 @@ function isTestLevelFailure(failedACs, totalACs, semanticVerdicts) {
|
|
|
63191
63193
|
async function loadSpecContent(featureDir) {
|
|
63192
63194
|
if (!featureDir)
|
|
63193
63195
|
return "";
|
|
63194
|
-
const specPath =
|
|
63196
|
+
const specPath = path22.join(featureDir, "spec.md");
|
|
63195
63197
|
const specFile = Bun.file(specPath);
|
|
63196
63198
|
return await specFile.exists() ? await specFile.text() : "";
|
|
63197
63199
|
}
|
|
@@ -63211,7 +63213,7 @@ async function loadAcceptanceTestContent2(featureDir, testPaths, configuredTestP
|
|
|
63211
63213
|
}
|
|
63212
63214
|
if (!configuredTestPath)
|
|
63213
63215
|
return [];
|
|
63214
|
-
const resolvedPath =
|
|
63216
|
+
const resolvedPath = path22.join(featureDir, configuredTestPath);
|
|
63215
63217
|
const testFile = Bun.file(resolvedPath);
|
|
63216
63218
|
const content = await testFile.exists() ? await testFile.text() : "";
|
|
63217
63219
|
return [{ content, path: resolvedPath }];
|
|
@@ -63228,7 +63230,7 @@ async function regenerateAcceptanceTest(testPath, acceptanceContext) {
|
|
|
63228
63230
|
const { unlink: unlink3 } = await import("fs/promises");
|
|
63229
63231
|
await unlink3(testPath);
|
|
63230
63232
|
if (acceptanceContext.featureDir) {
|
|
63231
|
-
const metaPath =
|
|
63233
|
+
const metaPath = path22.join(acceptanceContext.featureDir, "acceptance-meta.json");
|
|
63232
63234
|
try {
|
|
63233
63235
|
await unlink3(metaPath);
|
|
63234
63236
|
} catch {}
|
|
@@ -63242,7 +63244,7 @@ async function regenerateAcceptanceTest(testPath, acceptanceContext) {
|
|
|
63242
63244
|
const changedFilesRaw = diffOutput.split(`
|
|
63243
63245
|
`).map((f) => f.trim()).filter((f) => f.length > 0);
|
|
63244
63246
|
const repoRoot = acceptanceContext.projectDir ?? workdir;
|
|
63245
|
-
const packageDir = acceptanceContext.story.workdir && acceptanceContext.projectDir ?
|
|
63247
|
+
const packageDir = acceptanceContext.story.workdir && acceptanceContext.projectDir ? path22.join(acceptanceContext.projectDir, acceptanceContext.story.workdir) : undefined;
|
|
63246
63248
|
const ignoreMatchers = acceptanceContext.naxIgnoreIndex?.getMatchers(packageDir) ?? await resolveNaxIgnorePatterns(repoRoot, packageDir);
|
|
63247
63249
|
const changedFiles = filterNaxInternalPaths(changedFilesRaw, ignoreMatchers);
|
|
63248
63250
|
const MAX_BYTES = 51200;
|
|
@@ -63251,7 +63253,7 @@ async function regenerateAcceptanceTest(testPath, acceptanceContext) {
|
|
|
63251
63253
|
for (const file3 of changedFiles) {
|
|
63252
63254
|
if (totalBytes >= MAX_BYTES)
|
|
63253
63255
|
break;
|
|
63254
|
-
const filePath =
|
|
63256
|
+
const filePath = path22.join(workdir, file3);
|
|
63255
63257
|
try {
|
|
63256
63258
|
const fileContent = await _regenerateDeps.readFile(filePath);
|
|
63257
63259
|
const remaining = MAX_BYTES - totalBytes;
|
|
@@ -63731,9 +63733,9 @@ var init_scratch_purge = __esm(() => {
|
|
|
63731
63733
|
return [];
|
|
63732
63734
|
}
|
|
63733
63735
|
},
|
|
63734
|
-
fileExists: (
|
|
63735
|
-
readFile: (
|
|
63736
|
-
remove: (
|
|
63736
|
+
fileExists: (path23) => Bun.file(path23).exists(),
|
|
63737
|
+
readFile: (path23) => Bun.file(path23).text(),
|
|
63738
|
+
remove: (path23) => rm(path23, { recursive: true, force: true }),
|
|
63737
63739
|
move: async (src, dest) => {
|
|
63738
63740
|
await mkdir12(dirname13(dest), { recursive: true });
|
|
63739
63741
|
await rename(src, dest);
|
|
@@ -65733,9 +65735,9 @@ var _quoteIntegrityDeps, CONTEXT_LINES = 3;
|
|
|
65733
65735
|
var init_quote_integrity = __esm(() => {
|
|
65734
65736
|
init_logger2();
|
|
65735
65737
|
_quoteIntegrityDeps = {
|
|
65736
|
-
readFile: async (
|
|
65738
|
+
readFile: async (path25) => {
|
|
65737
65739
|
try {
|
|
65738
|
-
return await Bun.file(
|
|
65740
|
+
return await Bun.file(path25).text();
|
|
65739
65741
|
} catch {
|
|
65740
65742
|
return null;
|
|
65741
65743
|
}
|
|
@@ -66024,7 +66026,7 @@ var exports_merge_conflict_rectify = {};
|
|
|
66024
66026
|
__export(exports_merge_conflict_rectify, {
|
|
66025
66027
|
rectifyConflictedStory: () => rectifyConflictedStory
|
|
66026
66028
|
});
|
|
66027
|
-
import
|
|
66029
|
+
import path25 from "path";
|
|
66028
66030
|
async function closeStaleAcpSession(worktreePath, sessionName) {
|
|
66029
66031
|
const logger = getSafeLogger();
|
|
66030
66032
|
try {
|
|
@@ -66051,7 +66053,7 @@ async function rectifyConflictedStory(options) {
|
|
|
66051
66053
|
await worktreeManager.remove(workdir, storyId);
|
|
66052
66054
|
} catch {}
|
|
66053
66055
|
await worktreeManager.create(workdir, storyId);
|
|
66054
|
-
const worktreePath =
|
|
66056
|
+
const worktreePath = path25.join(workdir, ".nax-wt", storyId);
|
|
66055
66057
|
const { formatSessionName: formatSessionName2 } = await Promise.resolve().then(() => (init_naming(), exports_naming));
|
|
66056
66058
|
const staleSessionName = formatSessionName2({
|
|
66057
66059
|
workdir: worktreePath,
|
|
@@ -66735,7 +66737,7 @@ __export(exports_parallel_batch, {
|
|
|
66735
66737
|
runParallelBatch: () => runParallelBatch,
|
|
66736
66738
|
_parallelBatchDeps: () => _parallelBatchDeps
|
|
66737
66739
|
});
|
|
66738
|
-
import
|
|
66740
|
+
import path26 from "path";
|
|
66739
66741
|
async function runParallelBatch(options) {
|
|
66740
66742
|
const { stories, ctx, prd } = options;
|
|
66741
66743
|
const { workdir, config: config2, maxConcurrency, pipelineContext, eventEmitter, agentGetFn, hooks, pluginRegistry } = ctx;
|
|
@@ -66754,9 +66756,9 @@ async function runParallelBatch(options) {
|
|
|
66754
66756
|
});
|
|
66755
66757
|
throw error48;
|
|
66756
66758
|
}
|
|
66757
|
-
worktreePaths.set(story.id,
|
|
66759
|
+
worktreePaths.set(story.id, path26.join(workdir, ".nax-wt", story.id));
|
|
66758
66760
|
}
|
|
66759
|
-
const rootConfigPath =
|
|
66761
|
+
const rootConfigPath = path26.join(workdir, ".nax", "config.json");
|
|
66760
66762
|
const profileOverride = profileOverrideFromConfig(config2);
|
|
66761
66763
|
const storyEffectiveConfigs = new Map;
|
|
66762
66764
|
const configResults = await Promise.allSettled(stories.filter((story) => story.workdir).map(async (story) => {
|
|
@@ -67686,7 +67688,7 @@ __export(exports_migrate, {
|
|
|
67686
67688
|
});
|
|
67687
67689
|
import { existsSync as existsSync36 } from "fs";
|
|
67688
67690
|
import { mkdir as mkdir16, readdir as readdir6, rename as rename3 } from "fs/promises";
|
|
67689
|
-
import
|
|
67691
|
+
import path27 from "path";
|
|
67690
67692
|
async function detectGeneratedContent(naxDir) {
|
|
67691
67693
|
if (!existsSync36(naxDir))
|
|
67692
67694
|
return [];
|
|
@@ -67699,17 +67701,17 @@ async function detectGeneratedContent(naxDir) {
|
|
|
67699
67701
|
}
|
|
67700
67702
|
for (const entry of entries) {
|
|
67701
67703
|
if (GENERATED_NAMES.has(entry)) {
|
|
67702
|
-
candidates.push({ name: entry, srcPath:
|
|
67704
|
+
candidates.push({ name: entry, srcPath: path27.join(naxDir, entry) });
|
|
67703
67705
|
}
|
|
67704
67706
|
}
|
|
67705
|
-
const featuresDir =
|
|
67707
|
+
const featuresDir = path27.join(naxDir, "features");
|
|
67706
67708
|
if (existsSync36(featuresDir)) {
|
|
67707
67709
|
let featureDirs = [];
|
|
67708
67710
|
try {
|
|
67709
67711
|
featureDirs = await readdir6(featuresDir);
|
|
67710
67712
|
} catch {}
|
|
67711
67713
|
for (const fid of featureDirs) {
|
|
67712
|
-
const featureDir =
|
|
67714
|
+
const featureDir = path27.join(featuresDir, fid);
|
|
67713
67715
|
let subEntries = [];
|
|
67714
67716
|
try {
|
|
67715
67717
|
subEntries = await readdir6(featureDir);
|
|
@@ -67719,12 +67721,12 @@ async function detectGeneratedContent(naxDir) {
|
|
|
67719
67721
|
for (const sub of subEntries) {
|
|
67720
67722
|
if (GENERATED_FEATURE_SUBNAMES.has(sub)) {
|
|
67721
67723
|
candidates.push({
|
|
67722
|
-
name:
|
|
67723
|
-
srcPath:
|
|
67724
|
+
name: path27.join("features", fid, sub),
|
|
67725
|
+
srcPath: path27.join(featureDir, sub)
|
|
67724
67726
|
});
|
|
67725
67727
|
}
|
|
67726
67728
|
if (sub === "stories") {
|
|
67727
|
-
const storiesDir =
|
|
67729
|
+
const storiesDir = path27.join(featureDir, "stories");
|
|
67728
67730
|
let storyDirs = [];
|
|
67729
67731
|
try {
|
|
67730
67732
|
storyDirs = await readdir6(storiesDir);
|
|
@@ -67732,7 +67734,7 @@ async function detectGeneratedContent(naxDir) {
|
|
|
67732
67734
|
continue;
|
|
67733
67735
|
}
|
|
67734
67736
|
for (const sid of storyDirs) {
|
|
67735
|
-
const storyDir =
|
|
67737
|
+
const storyDir = path27.join(storiesDir, sid);
|
|
67736
67738
|
let storyEntries = [];
|
|
67737
67739
|
try {
|
|
67738
67740
|
storyEntries = await readdir6(storyDir);
|
|
@@ -67742,8 +67744,8 @@ async function detectGeneratedContent(naxDir) {
|
|
|
67742
67744
|
for (const se of storyEntries) {
|
|
67743
67745
|
if (se.startsWith("context-manifest-") && se.endsWith(".json")) {
|
|
67744
67746
|
candidates.push({
|
|
67745
|
-
name:
|
|
67746
|
-
srcPath:
|
|
67747
|
+
name: path27.join("features", fid, "stories", sid, se),
|
|
67748
|
+
srcPath: path27.join(storyDir, se)
|
|
67747
67749
|
});
|
|
67748
67750
|
}
|
|
67749
67751
|
}
|
|
@@ -67764,15 +67766,15 @@ async function migrateCommand(options) {
|
|
|
67764
67766
|
name: options.reclaim
|
|
67765
67767
|
});
|
|
67766
67768
|
}
|
|
67767
|
-
const src =
|
|
67769
|
+
const src = path27.join(globalConfigDir(), options.reclaim);
|
|
67768
67770
|
if (!existsSync36(src)) {
|
|
67769
67771
|
throw new NaxError(`Nothing to reclaim: ~/.nax/${options.reclaim} does not exist`, "MIGRATE_RECLAIM_NOT_FOUND", {
|
|
67770
67772
|
stage: "migrate",
|
|
67771
67773
|
name: options.reclaim
|
|
67772
67774
|
});
|
|
67773
67775
|
}
|
|
67774
|
-
const archiveBase =
|
|
67775
|
-
const archiveDest =
|
|
67776
|
+
const archiveBase = path27.join(globalConfigDir(), "_archive");
|
|
67777
|
+
const archiveDest = path27.join(archiveBase, `${options.reclaim}-${Date.now()}`);
|
|
67776
67778
|
await mkdir16(archiveBase, { recursive: true });
|
|
67777
67779
|
await rename3(src, archiveDest);
|
|
67778
67780
|
logger.info("migrate", `Reclaimed: archived to ${archiveDest}`, { storyId: "_migrate" });
|
|
@@ -67809,8 +67811,8 @@ async function migrateCommand(options) {
|
|
|
67809
67811
|
logger.info("migrate", `Merged: identity for "${options.merge}" updated`, { storyId: "_migrate" });
|
|
67810
67812
|
return;
|
|
67811
67813
|
}
|
|
67812
|
-
const naxDir =
|
|
67813
|
-
const configPath =
|
|
67814
|
+
const naxDir = path27.join(options.workdir, ".nax");
|
|
67815
|
+
const configPath = path27.join(naxDir, "config.json");
|
|
67814
67816
|
if (!existsSync36(configPath)) {
|
|
67815
67817
|
throw new NaxError("No .nax/config.json found \u2014 run nax init first", "MIGRATE_NO_CONFIG", {
|
|
67816
67818
|
stage: "migrate",
|
|
@@ -67826,7 +67828,7 @@ async function migrateCommand(options) {
|
|
|
67826
67828
|
cause: e
|
|
67827
67829
|
});
|
|
67828
67830
|
}
|
|
67829
|
-
const projectKey = config2.name?.trim() ||
|
|
67831
|
+
const projectKey = config2.name?.trim() || path27.basename(options.workdir);
|
|
67830
67832
|
const destBase = projectOutputDir(projectKey, config2.outputDir);
|
|
67831
67833
|
const candidates = await detectGeneratedContent(naxDir);
|
|
67832
67834
|
if (candidates.length === 0) {
|
|
@@ -67835,7 +67837,7 @@ async function migrateCommand(options) {
|
|
|
67835
67837
|
}
|
|
67836
67838
|
if (options.dryRun) {
|
|
67837
67839
|
for (const c of candidates) {
|
|
67838
|
-
logger.info("migrate", `[dry-run] Would move: ${c.srcPath} -> ${
|
|
67840
|
+
logger.info("migrate", `[dry-run] Would move: ${c.srcPath} -> ${path27.join(destBase, c.name)}`, {
|
|
67839
67841
|
storyId: "_migrate"
|
|
67840
67842
|
});
|
|
67841
67843
|
}
|
|
@@ -67844,8 +67846,8 @@ async function migrateCommand(options) {
|
|
|
67844
67846
|
await mkdir16(destBase, { recursive: true });
|
|
67845
67847
|
let moved = 0;
|
|
67846
67848
|
for (const candidate of candidates) {
|
|
67847
|
-
const dest =
|
|
67848
|
-
await mkdir16(
|
|
67849
|
+
const dest = path27.join(destBase, candidate.name);
|
|
67850
|
+
await mkdir16(path27.dirname(dest), { recursive: true });
|
|
67849
67851
|
if (existsSync36(dest)) {
|
|
67850
67852
|
throw new NaxError(`Migration conflict: destination already exists.
|
|
67851
67853
|
Source: ${candidate.srcPath}
|
|
@@ -67875,7 +67877,7 @@ async function migrateCommand(options) {
|
|
|
67875
67877
|
moved++;
|
|
67876
67878
|
logger.info("migrate", `Moved: ${candidate.name}`, { storyId: "_migrate" });
|
|
67877
67879
|
}
|
|
67878
|
-
await Bun.write(
|
|
67880
|
+
await Bun.write(path27.join(destBase, ".migrated-from"), JSON.stringify({ from: options.workdir, migratedAt: new Date().toISOString() }, null, 2));
|
|
67879
67881
|
logger.info("migrate", `Migration complete: ${moved} entries moved`, {
|
|
67880
67882
|
storyId: "_migrate",
|
|
67881
67883
|
destBase
|
|
@@ -67992,7 +67994,7 @@ __export(exports_precheck_runner, {
|
|
|
67992
67994
|
runPrecheckValidation: () => runPrecheckValidation
|
|
67993
67995
|
});
|
|
67994
67996
|
import { mkdirSync as mkdirSync7 } from "fs";
|
|
67995
|
-
import
|
|
67997
|
+
import path28 from "path";
|
|
67996
67998
|
async function runPrecheckValidation(ctx) {
|
|
67997
67999
|
const logger = getSafeLogger();
|
|
67998
68000
|
if (process.env.NAX_PRECHECK !== "1") {
|
|
@@ -68007,7 +68009,7 @@ async function runPrecheckValidation(ctx) {
|
|
|
68007
68009
|
silent: true
|
|
68008
68010
|
});
|
|
68009
68011
|
if (ctx.logFilePath) {
|
|
68010
|
-
mkdirSync7(
|
|
68012
|
+
mkdirSync7(path28.dirname(ctx.logFilePath), { recursive: true });
|
|
68011
68013
|
const precheckLog = {
|
|
68012
68014
|
type: "precheck",
|
|
68013
68015
|
timestamp: new Date().toISOString(),
|
|
@@ -68320,7 +68322,7 @@ __export(exports_run_setup, {
|
|
|
68320
68322
|
setupRun: () => setupRun,
|
|
68321
68323
|
_runSetupDeps: () => _runSetupDeps
|
|
68322
68324
|
});
|
|
68323
|
-
import
|
|
68325
|
+
import path29 from "path";
|
|
68324
68326
|
function warnProfileMismatch(prd, config2, logger) {
|
|
68325
68327
|
const profiles = config2.routing?.agents?.profiles ?? [];
|
|
68326
68328
|
const profileIds = new Set(profiles.map((p) => p.id));
|
|
@@ -68441,7 +68443,7 @@ async function setupRun(options) {
|
|
|
68441
68443
|
statusWriter.setPrd(prd);
|
|
68442
68444
|
{
|
|
68443
68445
|
const { detectGeneratedContent: detectGeneratedContent2, migrateCommand: migrateCommand2 } = await Promise.resolve().then(() => (init_migrate(), exports_migrate));
|
|
68444
|
-
const naxDir =
|
|
68446
|
+
const naxDir = path29.join(workdir, ".nax");
|
|
68445
68447
|
const candidates = await detectGeneratedContent2(naxDir).catch(() => []);
|
|
68446
68448
|
if (candidates.length > 0) {
|
|
68447
68449
|
logger?.info("setup", "Found generated content under .nax/ \u2014 migrating to output dir", {
|
|
@@ -68468,7 +68470,7 @@ async function setupRun(options) {
|
|
|
68468
68470
|
remoteUrl = new TextDecoder().decode(gitResult.stdout).trim() || null;
|
|
68469
68471
|
}
|
|
68470
68472
|
} catch {}
|
|
68471
|
-
const projectKey = config2.name?.trim() ||
|
|
68473
|
+
const projectKey = config2.name?.trim() || path29.basename(workdir);
|
|
68472
68474
|
await claimProjectIdentity2(projectKey, workdir, remoteUrl).catch((err) => {
|
|
68473
68475
|
if (err instanceof NaxError && err.code === "RUN_NAME_COLLISION") {
|
|
68474
68476
|
throw err;
|
|
@@ -68523,8 +68525,8 @@ async function setupRun(options) {
|
|
|
68523
68525
|
explicit: Object.fromEntries(explicitFields.map((f) => [f, existingProjectConfig[f]])),
|
|
68524
68526
|
detected: Object.fromEntries(autodetectedFields.map((f) => [f, detectedProfile[f]]))
|
|
68525
68527
|
});
|
|
68526
|
-
const globalPluginsDir =
|
|
68527
|
-
const projectPluginsDir =
|
|
68528
|
+
const globalPluginsDir = path29.join(globalConfigDir(), "plugins");
|
|
68529
|
+
const projectPluginsDir = path29.join(workdir, ".nax", "plugins");
|
|
68528
68530
|
const configPlugins = config2.plugins || [];
|
|
68529
68531
|
const resolvedPatterns = await resolveTestFilePatterns(config2, workdir);
|
|
68530
68532
|
const isTestFileFn = (filename) => resolvedPatterns.regex.some((re) => re.test(filename));
|
|
@@ -70018,11 +70020,11 @@ var require_react_reconciler_development = __commonJS((exports, module) => {
|
|
|
70018
70020
|
fiber = fiber.next, id--;
|
|
70019
70021
|
return fiber;
|
|
70020
70022
|
}
|
|
70021
|
-
function copyWithSetImpl(obj,
|
|
70022
|
-
if (index >=
|
|
70023
|
+
function copyWithSetImpl(obj, path30, index, value) {
|
|
70024
|
+
if (index >= path30.length)
|
|
70023
70025
|
return value;
|
|
70024
|
-
var key =
|
|
70025
|
-
updated[key] = copyWithSetImpl(obj[key],
|
|
70026
|
+
var key = path30[index], updated = isArrayImpl(obj) ? obj.slice() : assign2({}, obj);
|
|
70027
|
+
updated[key] = copyWithSetImpl(obj[key], path30, index + 1, value);
|
|
70026
70028
|
return updated;
|
|
70027
70029
|
}
|
|
70028
70030
|
function copyWithRename(obj, oldPath, newPath) {
|
|
@@ -70042,11 +70044,11 @@ var require_react_reconciler_development = __commonJS((exports, module) => {
|
|
|
70042
70044
|
index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(obj[oldKey], oldPath, newPath, index + 1);
|
|
70043
70045
|
return updated;
|
|
70044
70046
|
}
|
|
70045
|
-
function copyWithDeleteImpl(obj,
|
|
70046
|
-
var key =
|
|
70047
|
-
if (index + 1 ===
|
|
70047
|
+
function copyWithDeleteImpl(obj, path30, index) {
|
|
70048
|
+
var key = path30[index], updated = isArrayImpl(obj) ? obj.slice() : assign2({}, obj);
|
|
70049
|
+
if (index + 1 === path30.length)
|
|
70048
70050
|
return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;
|
|
70049
|
-
updated[key] = copyWithDeleteImpl(obj[key],
|
|
70051
|
+
updated[key] = copyWithDeleteImpl(obj[key], path30, index + 1);
|
|
70050
70052
|
return updated;
|
|
70051
70053
|
}
|
|
70052
70054
|
function shouldSuspendImpl() {
|
|
@@ -80069,29 +80071,29 @@ Check the top-level render call using <` + componentName2 + ">.");
|
|
|
80069
80071
|
var didWarnAboutNestedUpdates = false;
|
|
80070
80072
|
var didWarnAboutFindNodeInStrictMode = {};
|
|
80071
80073
|
var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, scheduleRetry = null, setErrorHandler = null, setSuspenseHandler = null;
|
|
80072
|
-
overrideHookState = function(fiber, id,
|
|
80074
|
+
overrideHookState = function(fiber, id, path30, value) {
|
|
80073
80075
|
id = findHook(fiber, id);
|
|
80074
|
-
id !== null && (
|
|
80076
|
+
id !== null && (path30 = copyWithSetImpl(id.memoizedState, path30, 0, value), id.memoizedState = path30, id.baseState = path30, fiber.memoizedProps = assign2({}, fiber.memoizedProps), path30 = enqueueConcurrentRenderForLane(fiber, 2), path30 !== null && scheduleUpdateOnFiber(path30, fiber, 2));
|
|
80075
80077
|
};
|
|
80076
|
-
overrideHookStateDeletePath = function(fiber, id,
|
|
80078
|
+
overrideHookStateDeletePath = function(fiber, id, path30) {
|
|
80077
80079
|
id = findHook(fiber, id);
|
|
80078
|
-
id !== null && (
|
|
80080
|
+
id !== null && (path30 = copyWithDeleteImpl(id.memoizedState, path30, 0), id.memoizedState = path30, id.baseState = path30, fiber.memoizedProps = assign2({}, fiber.memoizedProps), path30 = enqueueConcurrentRenderForLane(fiber, 2), path30 !== null && scheduleUpdateOnFiber(path30, fiber, 2));
|
|
80079
80081
|
};
|
|
80080
80082
|
overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) {
|
|
80081
80083
|
id = findHook(fiber, id);
|
|
80082
80084
|
id !== null && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign2({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), oldPath !== null && scheduleUpdateOnFiber(oldPath, fiber, 2));
|
|
80083
80085
|
};
|
|
80084
|
-
overrideProps = function(fiber,
|
|
80085
|
-
fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps,
|
|
80086
|
+
overrideProps = function(fiber, path30, value) {
|
|
80087
|
+
fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path30, 0, value);
|
|
80086
80088
|
fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
|
|
80087
|
-
|
|
80088
|
-
|
|
80089
|
+
path30 = enqueueConcurrentRenderForLane(fiber, 2);
|
|
80090
|
+
path30 !== null && scheduleUpdateOnFiber(path30, fiber, 2);
|
|
80089
80091
|
};
|
|
80090
|
-
overridePropsDeletePath = function(fiber,
|
|
80091
|
-
fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps,
|
|
80092
|
+
overridePropsDeletePath = function(fiber, path30) {
|
|
80093
|
+
fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path30, 0);
|
|
80092
80094
|
fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
|
|
80093
|
-
|
|
80094
|
-
|
|
80095
|
+
path30 = enqueueConcurrentRenderForLane(fiber, 2);
|
|
80096
|
+
path30 !== null && scheduleUpdateOnFiber(path30, fiber, 2);
|
|
80095
80097
|
};
|
|
80096
80098
|
overridePropsRenamePath = function(fiber, oldPath, newPath) {
|
|
80097
80099
|
fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);
|
|
@@ -84146,8 +84148,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84146
84148
|
}
|
|
84147
84149
|
return false;
|
|
84148
84150
|
}
|
|
84149
|
-
function utils_getInObject(object2,
|
|
84150
|
-
return
|
|
84151
|
+
function utils_getInObject(object2, path30) {
|
|
84152
|
+
return path30.reduce(function(reduced, attr) {
|
|
84151
84153
|
if (reduced) {
|
|
84152
84154
|
if (utils_hasOwnProperty.call(reduced, attr)) {
|
|
84153
84155
|
return reduced[attr];
|
|
@@ -84159,11 +84161,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84159
84161
|
return null;
|
|
84160
84162
|
}, object2);
|
|
84161
84163
|
}
|
|
84162
|
-
function deletePathInObject(object2,
|
|
84163
|
-
var length =
|
|
84164
|
-
var last2 =
|
|
84164
|
+
function deletePathInObject(object2, path30) {
|
|
84165
|
+
var length = path30.length;
|
|
84166
|
+
var last2 = path30[length - 1];
|
|
84165
84167
|
if (object2 != null) {
|
|
84166
|
-
var parent = utils_getInObject(object2,
|
|
84168
|
+
var parent = utils_getInObject(object2, path30.slice(0, length - 1));
|
|
84167
84169
|
if (parent) {
|
|
84168
84170
|
if (src_isArray(parent)) {
|
|
84169
84171
|
parent.splice(last2, 1);
|
|
@@ -84189,11 +84191,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84189
84191
|
}
|
|
84190
84192
|
}
|
|
84191
84193
|
}
|
|
84192
|
-
function utils_setInObject(object2,
|
|
84193
|
-
var length =
|
|
84194
|
-
var last2 =
|
|
84194
|
+
function utils_setInObject(object2, path30, value) {
|
|
84195
|
+
var length = path30.length;
|
|
84196
|
+
var last2 = path30[length - 1];
|
|
84195
84197
|
if (object2 != null) {
|
|
84196
|
-
var parent = utils_getInObject(object2,
|
|
84198
|
+
var parent = utils_getInObject(object2, path30.slice(0, length - 1));
|
|
84197
84199
|
if (parent) {
|
|
84198
84200
|
parent[last2] = value;
|
|
84199
84201
|
}
|
|
@@ -84724,8 +84726,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84724
84726
|
unserializable: Symbol("unserializable")
|
|
84725
84727
|
};
|
|
84726
84728
|
var LEVEL_THRESHOLD = 2;
|
|
84727
|
-
function createDehydrated(type, inspectable, data, cleaned,
|
|
84728
|
-
cleaned.push(
|
|
84729
|
+
function createDehydrated(type, inspectable, data, cleaned, path30) {
|
|
84730
|
+
cleaned.push(path30);
|
|
84729
84731
|
var dehydrated = {
|
|
84730
84732
|
inspectable,
|
|
84731
84733
|
type,
|
|
@@ -84743,13 +84745,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84743
84745
|
}
|
|
84744
84746
|
return dehydrated;
|
|
84745
84747
|
}
|
|
84746
|
-
function dehydrate(data, cleaned, unserializable,
|
|
84748
|
+
function dehydrate(data, cleaned, unserializable, path30, isPathAllowed) {
|
|
84747
84749
|
var level = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
|
|
84748
84750
|
var type = getDataType(data);
|
|
84749
84751
|
var isPathAllowedCheck;
|
|
84750
84752
|
switch (type) {
|
|
84751
84753
|
case "html_element":
|
|
84752
|
-
cleaned.push(
|
|
84754
|
+
cleaned.push(path30);
|
|
84753
84755
|
return {
|
|
84754
84756
|
inspectable: false,
|
|
84755
84757
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84758,7 +84760,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84758
84760
|
type
|
|
84759
84761
|
};
|
|
84760
84762
|
case "function":
|
|
84761
|
-
cleaned.push(
|
|
84763
|
+
cleaned.push(path30);
|
|
84762
84764
|
return {
|
|
84763
84765
|
inspectable: false,
|
|
84764
84766
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84767,14 +84769,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84767
84769
|
type
|
|
84768
84770
|
};
|
|
84769
84771
|
case "string":
|
|
84770
|
-
isPathAllowedCheck = isPathAllowed(
|
|
84772
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
84771
84773
|
if (isPathAllowedCheck) {
|
|
84772
84774
|
return data;
|
|
84773
84775
|
} else {
|
|
84774
84776
|
return data.length <= 500 ? data : data.slice(0, 500) + "...";
|
|
84775
84777
|
}
|
|
84776
84778
|
case "bigint":
|
|
84777
|
-
cleaned.push(
|
|
84779
|
+
cleaned.push(path30);
|
|
84778
84780
|
return {
|
|
84779
84781
|
inspectable: false,
|
|
84780
84782
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84783,7 +84785,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84783
84785
|
type
|
|
84784
84786
|
};
|
|
84785
84787
|
case "symbol":
|
|
84786
|
-
cleaned.push(
|
|
84788
|
+
cleaned.push(path30);
|
|
84787
84789
|
return {
|
|
84788
84790
|
inspectable: false,
|
|
84789
84791
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84792,9 +84794,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84792
84794
|
type
|
|
84793
84795
|
};
|
|
84794
84796
|
case "react_element": {
|
|
84795
|
-
isPathAllowedCheck = isPathAllowed(
|
|
84797
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
84796
84798
|
if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
|
|
84797
|
-
cleaned.push(
|
|
84799
|
+
cleaned.push(path30);
|
|
84798
84800
|
return {
|
|
84799
84801
|
inspectable: true,
|
|
84800
84802
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84811,19 +84813,19 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84811
84813
|
preview_long: formatDataForPreview(data, true),
|
|
84812
84814
|
name: getDisplayNameForReactElement(data) || "Unknown"
|
|
84813
84815
|
};
|
|
84814
|
-
unserializableValue.key = dehydrate(data.key, cleaned, unserializable,
|
|
84816
|
+
unserializableValue.key = dehydrate(data.key, cleaned, unserializable, path30.concat(["key"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84815
84817
|
if (data.$$typeof === REACT_LEGACY_ELEMENT_TYPE) {
|
|
84816
|
-
unserializableValue.ref = dehydrate(data.ref, cleaned, unserializable,
|
|
84818
|
+
unserializableValue.ref = dehydrate(data.ref, cleaned, unserializable, path30.concat(["ref"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84817
84819
|
}
|
|
84818
|
-
unserializableValue.props = dehydrate(data.props, cleaned, unserializable,
|
|
84819
|
-
unserializable.push(
|
|
84820
|
+
unserializableValue.props = dehydrate(data.props, cleaned, unserializable, path30.concat(["props"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84821
|
+
unserializable.push(path30);
|
|
84820
84822
|
return unserializableValue;
|
|
84821
84823
|
}
|
|
84822
84824
|
case "react_lazy": {
|
|
84823
|
-
isPathAllowedCheck = isPathAllowed(
|
|
84825
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
84824
84826
|
var payload = data._payload;
|
|
84825
84827
|
if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
|
|
84826
|
-
cleaned.push(
|
|
84828
|
+
cleaned.push(path30);
|
|
84827
84829
|
var inspectable = payload !== null && hydration_typeof(payload) === "object" && (payload._status === 1 || payload._status === 2 || payload.status === "fulfilled" || payload.status === "rejected");
|
|
84828
84830
|
return {
|
|
84829
84831
|
inspectable,
|
|
@@ -84840,13 +84842,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84840
84842
|
preview_long: formatDataForPreview(data, true),
|
|
84841
84843
|
name: "lazy()"
|
|
84842
84844
|
};
|
|
84843
|
-
_unserializableValue._payload = dehydrate(payload, cleaned, unserializable,
|
|
84844
|
-
unserializable.push(
|
|
84845
|
+
_unserializableValue._payload = dehydrate(payload, cleaned, unserializable, path30.concat(["_payload"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84846
|
+
unserializable.push(path30);
|
|
84845
84847
|
return _unserializableValue;
|
|
84846
84848
|
}
|
|
84847
84849
|
case "array_buffer":
|
|
84848
84850
|
case "data_view":
|
|
84849
|
-
cleaned.push(
|
|
84851
|
+
cleaned.push(path30);
|
|
84850
84852
|
return {
|
|
84851
84853
|
inspectable: false,
|
|
84852
84854
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84856,21 +84858,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84856
84858
|
type
|
|
84857
84859
|
};
|
|
84858
84860
|
case "array":
|
|
84859
|
-
isPathAllowedCheck = isPathAllowed(
|
|
84861
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
84860
84862
|
if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
|
|
84861
|
-
return createDehydrated(type, true, data, cleaned,
|
|
84863
|
+
return createDehydrated(type, true, data, cleaned, path30);
|
|
84862
84864
|
}
|
|
84863
84865
|
var arr = [];
|
|
84864
84866
|
for (var i = 0;i < data.length; i++) {
|
|
84865
|
-
arr[i] = dehydrateKey(data, i, cleaned, unserializable,
|
|
84867
|
+
arr[i] = dehydrateKey(data, i, cleaned, unserializable, path30.concat([i]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84866
84868
|
}
|
|
84867
84869
|
return arr;
|
|
84868
84870
|
case "html_all_collection":
|
|
84869
84871
|
case "typed_array":
|
|
84870
84872
|
case "iterator":
|
|
84871
|
-
isPathAllowedCheck = isPathAllowed(
|
|
84873
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
84872
84874
|
if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
|
|
84873
|
-
return createDehydrated(type, true, data, cleaned,
|
|
84875
|
+
return createDehydrated(type, true, data, cleaned, path30);
|
|
84874
84876
|
} else {
|
|
84875
84877
|
var _unserializableValue2 = {
|
|
84876
84878
|
unserializable: true,
|
|
@@ -84882,13 +84884,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84882
84884
|
name: typeof data.constructor !== "function" || typeof data.constructor.name !== "string" || data.constructor.name === "Object" ? "" : data.constructor.name
|
|
84883
84885
|
};
|
|
84884
84886
|
Array.from(data).forEach(function(item, i2) {
|
|
84885
|
-
return _unserializableValue2[i2] = dehydrate(item, cleaned, unserializable,
|
|
84887
|
+
return _unserializableValue2[i2] = dehydrate(item, cleaned, unserializable, path30.concat([i2]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84886
84888
|
});
|
|
84887
|
-
unserializable.push(
|
|
84889
|
+
unserializable.push(path30);
|
|
84888
84890
|
return _unserializableValue2;
|
|
84889
84891
|
}
|
|
84890
84892
|
case "opaque_iterator":
|
|
84891
|
-
cleaned.push(
|
|
84893
|
+
cleaned.push(path30);
|
|
84892
84894
|
return {
|
|
84893
84895
|
inspectable: false,
|
|
84894
84896
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84897,7 +84899,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84897
84899
|
type
|
|
84898
84900
|
};
|
|
84899
84901
|
case "date":
|
|
84900
|
-
cleaned.push(
|
|
84902
|
+
cleaned.push(path30);
|
|
84901
84903
|
return {
|
|
84902
84904
|
inspectable: false,
|
|
84903
84905
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84906,7 +84908,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84906
84908
|
type
|
|
84907
84909
|
};
|
|
84908
84910
|
case "regexp":
|
|
84909
|
-
cleaned.push(
|
|
84911
|
+
cleaned.push(path30);
|
|
84910
84912
|
return {
|
|
84911
84913
|
inspectable: false,
|
|
84912
84914
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84915,9 +84917,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84915
84917
|
type
|
|
84916
84918
|
};
|
|
84917
84919
|
case "thenable":
|
|
84918
|
-
isPathAllowedCheck = isPathAllowed(
|
|
84920
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
84919
84921
|
if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
|
|
84920
|
-
cleaned.push(
|
|
84922
|
+
cleaned.push(path30);
|
|
84921
84923
|
return {
|
|
84922
84924
|
inspectable: data.status === "fulfilled" || data.status === "rejected",
|
|
84923
84925
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84938,8 +84940,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84938
84940
|
preview_long: formatDataForPreview(data, true),
|
|
84939
84941
|
name: "fulfilled Thenable"
|
|
84940
84942
|
};
|
|
84941
|
-
_unserializableValue3.value = dehydrate(data.value, cleaned, unserializable,
|
|
84942
|
-
unserializable.push(
|
|
84943
|
+
_unserializableValue3.value = dehydrate(data.value, cleaned, unserializable, path30.concat(["value"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84944
|
+
unserializable.push(path30);
|
|
84943
84945
|
return _unserializableValue3;
|
|
84944
84946
|
}
|
|
84945
84947
|
case "rejected": {
|
|
@@ -84950,12 +84952,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84950
84952
|
preview_long: formatDataForPreview(data, true),
|
|
84951
84953
|
name: "rejected Thenable"
|
|
84952
84954
|
};
|
|
84953
|
-
_unserializableValue4.reason = dehydrate(data.reason, cleaned, unserializable,
|
|
84954
|
-
unserializable.push(
|
|
84955
|
+
_unserializableValue4.reason = dehydrate(data.reason, cleaned, unserializable, path30.concat(["reason"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84956
|
+
unserializable.push(path30);
|
|
84955
84957
|
return _unserializableValue4;
|
|
84956
84958
|
}
|
|
84957
84959
|
default:
|
|
84958
|
-
cleaned.push(
|
|
84960
|
+
cleaned.push(path30);
|
|
84959
84961
|
return {
|
|
84960
84962
|
inspectable: false,
|
|
84961
84963
|
preview_short: formatDataForPreview(data, false),
|
|
@@ -84965,21 +84967,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84965
84967
|
};
|
|
84966
84968
|
}
|
|
84967
84969
|
case "object":
|
|
84968
|
-
isPathAllowedCheck = isPathAllowed(
|
|
84970
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
84969
84971
|
if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
|
|
84970
|
-
return createDehydrated(type, true, data, cleaned,
|
|
84972
|
+
return createDehydrated(type, true, data, cleaned, path30);
|
|
84971
84973
|
} else {
|
|
84972
84974
|
var object2 = {};
|
|
84973
84975
|
getAllEnumerableKeys(data).forEach(function(key) {
|
|
84974
84976
|
var name = key.toString();
|
|
84975
|
-
object2[name] = dehydrateKey(data, key, cleaned, unserializable,
|
|
84977
|
+
object2[name] = dehydrateKey(data, key, cleaned, unserializable, path30.concat([name]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84976
84978
|
});
|
|
84977
84979
|
return object2;
|
|
84978
84980
|
}
|
|
84979
84981
|
case "class_instance": {
|
|
84980
|
-
isPathAllowedCheck = isPathAllowed(
|
|
84982
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
84981
84983
|
if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
|
|
84982
|
-
return createDehydrated(type, true, data, cleaned,
|
|
84984
|
+
return createDehydrated(type, true, data, cleaned, path30);
|
|
84983
84985
|
}
|
|
84984
84986
|
var value = {
|
|
84985
84987
|
unserializable: true,
|
|
@@ -84991,15 +84993,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
84991
84993
|
};
|
|
84992
84994
|
getAllEnumerableKeys(data).forEach(function(key) {
|
|
84993
84995
|
var keyAsString = key.toString();
|
|
84994
|
-
value[keyAsString] = dehydrate(data[key], cleaned, unserializable,
|
|
84996
|
+
value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path30.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
84995
84997
|
});
|
|
84996
|
-
unserializable.push(
|
|
84998
|
+
unserializable.push(path30);
|
|
84997
84999
|
return value;
|
|
84998
85000
|
}
|
|
84999
85001
|
case "error": {
|
|
85000
|
-
isPathAllowedCheck = isPathAllowed(
|
|
85002
|
+
isPathAllowedCheck = isPathAllowed(path30);
|
|
85001
85003
|
if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {
|
|
85002
|
-
return createDehydrated(type, true, data, cleaned,
|
|
85004
|
+
return createDehydrated(type, true, data, cleaned, path30);
|
|
85003
85005
|
}
|
|
85004
85006
|
var _value = {
|
|
85005
85007
|
unserializable: true,
|
|
@@ -85009,22 +85011,22 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85009
85011
|
preview_long: formatDataForPreview(data, true),
|
|
85010
85012
|
name: data.name
|
|
85011
85013
|
};
|
|
85012
|
-
_value.message = dehydrate(data.message, cleaned, unserializable,
|
|
85013
|
-
_value.stack = dehydrate(data.stack, cleaned, unserializable,
|
|
85014
|
+
_value.message = dehydrate(data.message, cleaned, unserializable, path30.concat(["message"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
85015
|
+
_value.stack = dehydrate(data.stack, cleaned, unserializable, path30.concat(["stack"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
85014
85016
|
if ("cause" in data) {
|
|
85015
|
-
_value.cause = dehydrate(data.cause, cleaned, unserializable,
|
|
85017
|
+
_value.cause = dehydrate(data.cause, cleaned, unserializable, path30.concat(["cause"]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
85016
85018
|
}
|
|
85017
85019
|
getAllEnumerableKeys(data).forEach(function(key) {
|
|
85018
85020
|
var keyAsString = key.toString();
|
|
85019
|
-
_value[keyAsString] = dehydrate(data[key], cleaned, unserializable,
|
|
85021
|
+
_value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path30.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);
|
|
85020
85022
|
});
|
|
85021
|
-
unserializable.push(
|
|
85023
|
+
unserializable.push(path30);
|
|
85022
85024
|
return _value;
|
|
85023
85025
|
}
|
|
85024
85026
|
case "infinity":
|
|
85025
85027
|
case "nan":
|
|
85026
85028
|
case "undefined":
|
|
85027
|
-
cleaned.push(
|
|
85029
|
+
cleaned.push(path30);
|
|
85028
85030
|
return {
|
|
85029
85031
|
type
|
|
85030
85032
|
};
|
|
@@ -85032,10 +85034,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85032
85034
|
return data;
|
|
85033
85035
|
}
|
|
85034
85036
|
}
|
|
85035
|
-
function dehydrateKey(parent, key, cleaned, unserializable,
|
|
85037
|
+
function dehydrateKey(parent, key, cleaned, unserializable, path30, isPathAllowed) {
|
|
85036
85038
|
var level = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
|
|
85037
85039
|
try {
|
|
85038
|
-
return dehydrate(parent[key], cleaned, unserializable,
|
|
85040
|
+
return dehydrate(parent[key], cleaned, unserializable, path30, isPathAllowed, level);
|
|
85039
85041
|
} catch (error48) {
|
|
85040
85042
|
var preview = "";
|
|
85041
85043
|
if (hydration_typeof(error48) === "object" && error48 !== null && typeof error48.stack === "string") {
|
|
@@ -85043,7 +85045,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85043
85045
|
} else if (typeof error48 === "string") {
|
|
85044
85046
|
preview = error48;
|
|
85045
85047
|
}
|
|
85046
|
-
cleaned.push(
|
|
85048
|
+
cleaned.push(path30);
|
|
85047
85049
|
return {
|
|
85048
85050
|
inspectable: false,
|
|
85049
85051
|
preview_short: "[Exception]",
|
|
@@ -85053,8 +85055,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85053
85055
|
};
|
|
85054
85056
|
}
|
|
85055
85057
|
}
|
|
85056
|
-
function fillInPath(object2, data,
|
|
85057
|
-
var target = getInObject(object2,
|
|
85058
|
+
function fillInPath(object2, data, path30, value) {
|
|
85059
|
+
var target = getInObject(object2, path30);
|
|
85058
85060
|
if (target != null) {
|
|
85059
85061
|
if (!target[meta3.unserializable]) {
|
|
85060
85062
|
delete target[meta3.inspectable];
|
|
@@ -85069,9 +85071,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85069
85071
|
}
|
|
85070
85072
|
if (value !== null && data.unserializable.length > 0) {
|
|
85071
85073
|
var unserializablePath = data.unserializable[0];
|
|
85072
|
-
var isMatch2 = unserializablePath.length ===
|
|
85073
|
-
for (var i = 0;i <
|
|
85074
|
-
if (
|
|
85074
|
+
var isMatch2 = unserializablePath.length === path30.length;
|
|
85075
|
+
for (var i = 0;i < path30.length; i++) {
|
|
85076
|
+
if (path30[i] !== unserializablePath[i]) {
|
|
85075
85077
|
isMatch2 = false;
|
|
85076
85078
|
break;
|
|
85077
85079
|
}
|
|
@@ -85080,13 +85082,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85080
85082
|
upgradeUnserializable(value, value);
|
|
85081
85083
|
}
|
|
85082
85084
|
}
|
|
85083
|
-
setInObject(object2,
|
|
85085
|
+
setInObject(object2, path30, value);
|
|
85084
85086
|
}
|
|
85085
85087
|
function hydrate(object2, cleaned, unserializable) {
|
|
85086
|
-
cleaned.forEach(function(
|
|
85087
|
-
var length =
|
|
85088
|
-
var last2 =
|
|
85089
|
-
var parent = getInObject(object2,
|
|
85088
|
+
cleaned.forEach(function(path30) {
|
|
85089
|
+
var length = path30.length;
|
|
85090
|
+
var last2 = path30[length - 1];
|
|
85091
|
+
var parent = getInObject(object2, path30.slice(0, length - 1));
|
|
85090
85092
|
if (!parent || !parent.hasOwnProperty(last2)) {
|
|
85091
85093
|
return;
|
|
85092
85094
|
}
|
|
@@ -85112,10 +85114,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85112
85114
|
parent[last2] = replaced;
|
|
85113
85115
|
}
|
|
85114
85116
|
});
|
|
85115
|
-
unserializable.forEach(function(
|
|
85116
|
-
var length =
|
|
85117
|
-
var last2 =
|
|
85118
|
-
var parent = getInObject(object2,
|
|
85117
|
+
unserializable.forEach(function(path30) {
|
|
85118
|
+
var length = path30.length;
|
|
85119
|
+
var last2 = path30[length - 1];
|
|
85120
|
+
var parent = getInObject(object2, path30.slice(0, length - 1));
|
|
85119
85121
|
if (!parent || !parent.hasOwnProperty(last2)) {
|
|
85120
85122
|
return;
|
|
85121
85123
|
}
|
|
@@ -85236,11 +85238,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85236
85238
|
return gte2(version2, FIRST_DEVTOOLS_BACKEND_LOCKSTEP_VER);
|
|
85237
85239
|
}
|
|
85238
85240
|
function cleanForBridge(data, isPathAllowed) {
|
|
85239
|
-
var
|
|
85241
|
+
var path30 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
85240
85242
|
if (data !== null) {
|
|
85241
85243
|
var cleanedPaths = [];
|
|
85242
85244
|
var unserializablePaths = [];
|
|
85243
|
-
var cleanedData = dehydrate(data, cleanedPaths, unserializablePaths,
|
|
85245
|
+
var cleanedData = dehydrate(data, cleanedPaths, unserializablePaths, path30, isPathAllowed);
|
|
85244
85246
|
return {
|
|
85245
85247
|
data: cleanedData,
|
|
85246
85248
|
cleaned: cleanedPaths,
|
|
@@ -85250,18 +85252,18 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85250
85252
|
return null;
|
|
85251
85253
|
}
|
|
85252
85254
|
}
|
|
85253
|
-
function copyWithDelete(obj,
|
|
85255
|
+
function copyWithDelete(obj, path30) {
|
|
85254
85256
|
var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
85255
|
-
var key =
|
|
85257
|
+
var key = path30[index];
|
|
85256
85258
|
var updated = shared_isArray(obj) ? obj.slice() : utils_objectSpread({}, obj);
|
|
85257
|
-
if (index + 1 ===
|
|
85259
|
+
if (index + 1 === path30.length) {
|
|
85258
85260
|
if (shared_isArray(updated)) {
|
|
85259
85261
|
updated.splice(key, 1);
|
|
85260
85262
|
} else {
|
|
85261
85263
|
delete updated[key];
|
|
85262
85264
|
}
|
|
85263
85265
|
} else {
|
|
85264
|
-
updated[key] = copyWithDelete(obj[key],
|
|
85266
|
+
updated[key] = copyWithDelete(obj[key], path30, index + 1);
|
|
85265
85267
|
}
|
|
85266
85268
|
return updated;
|
|
85267
85269
|
}
|
|
@@ -85282,14 +85284,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
85282
85284
|
}
|
|
85283
85285
|
return updated;
|
|
85284
85286
|
}
|
|
85285
|
-
function copyWithSet(obj,
|
|
85287
|
+
function copyWithSet(obj, path30, value) {
|
|
85286
85288
|
var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
85287
|
-
if (index >=
|
|
85289
|
+
if (index >= path30.length) {
|
|
85288
85290
|
return value;
|
|
85289
85291
|
}
|
|
85290
|
-
var key =
|
|
85292
|
+
var key = path30[index];
|
|
85291
85293
|
var updated = shared_isArray(obj) ? obj.slice() : utils_objectSpread({}, obj);
|
|
85292
|
-
updated[key] = copyWithSet(obj[key],
|
|
85294
|
+
updated[key] = copyWithSet(obj[key], path30, value, index + 1);
|
|
85293
85295
|
return updated;
|
|
85294
85296
|
}
|
|
85295
85297
|
function getEffectDurations(root) {
|
|
@@ -86617,12 +86619,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
86617
86619
|
}
|
|
86618
86620
|
});
|
|
86619
86621
|
bridge_defineProperty(_this, "overrideValueAtPath", function(_ref) {
|
|
86620
|
-
var { id, path:
|
|
86622
|
+
var { id, path: path30, rendererID, type, value } = _ref;
|
|
86621
86623
|
switch (type) {
|
|
86622
86624
|
case "context":
|
|
86623
86625
|
_this.send("overrideContext", {
|
|
86624
86626
|
id,
|
|
86625
|
-
path:
|
|
86627
|
+
path: path30,
|
|
86626
86628
|
rendererID,
|
|
86627
86629
|
wasForwarded: true,
|
|
86628
86630
|
value
|
|
@@ -86631,7 +86633,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
86631
86633
|
case "hooks":
|
|
86632
86634
|
_this.send("overrideHookState", {
|
|
86633
86635
|
id,
|
|
86634
|
-
path:
|
|
86636
|
+
path: path30,
|
|
86635
86637
|
rendererID,
|
|
86636
86638
|
wasForwarded: true,
|
|
86637
86639
|
value
|
|
@@ -86640,7 +86642,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
86640
86642
|
case "props":
|
|
86641
86643
|
_this.send("overrideProps", {
|
|
86642
86644
|
id,
|
|
86643
|
-
path:
|
|
86645
|
+
path: path30,
|
|
86644
86646
|
rendererID,
|
|
86645
86647
|
wasForwarded: true,
|
|
86646
86648
|
value
|
|
@@ -86649,7 +86651,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
86649
86651
|
case "state":
|
|
86650
86652
|
_this.send("overrideState", {
|
|
86651
86653
|
id,
|
|
86652
|
-
path:
|
|
86654
|
+
path: path30,
|
|
86653
86655
|
rendererID,
|
|
86654
86656
|
wasForwarded: true,
|
|
86655
86657
|
value
|
|
@@ -86983,12 +86985,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
86983
86985
|
}
|
|
86984
86986
|
});
|
|
86985
86987
|
agent_defineProperty(_this, "copyElementPath", function(_ref5) {
|
|
86986
|
-
var { id, path:
|
|
86988
|
+
var { id, path: path30, rendererID } = _ref5;
|
|
86987
86989
|
var renderer = _this._rendererInterfaces[rendererID];
|
|
86988
86990
|
if (renderer == null) {
|
|
86989
86991
|
console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
|
|
86990
86992
|
} else {
|
|
86991
|
-
var value = renderer.getSerializedElementValueByPath(id,
|
|
86993
|
+
var value = renderer.getSerializedElementValueByPath(id, path30);
|
|
86992
86994
|
if (value != null) {
|
|
86993
86995
|
_this._bridge.send("saveToClipboard", value);
|
|
86994
86996
|
} else {
|
|
@@ -86997,12 +86999,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
86997
86999
|
}
|
|
86998
87000
|
});
|
|
86999
87001
|
agent_defineProperty(_this, "deletePath", function(_ref6) {
|
|
87000
|
-
var { hookID, id, path:
|
|
87002
|
+
var { hookID, id, path: path30, rendererID, type } = _ref6;
|
|
87001
87003
|
var renderer = _this._rendererInterfaces[rendererID];
|
|
87002
87004
|
if (renderer == null) {
|
|
87003
87005
|
console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
|
|
87004
87006
|
} else {
|
|
87005
|
-
renderer.deletePath(type, id, hookID,
|
|
87007
|
+
renderer.deletePath(type, id, hookID, path30);
|
|
87006
87008
|
}
|
|
87007
87009
|
});
|
|
87008
87010
|
agent_defineProperty(_this, "getBackendVersion", function() {
|
|
@@ -87039,12 +87041,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87039
87041
|
}
|
|
87040
87042
|
});
|
|
87041
87043
|
agent_defineProperty(_this, "inspectElement", function(_ref9) {
|
|
87042
|
-
var { forceFullData, id, path:
|
|
87044
|
+
var { forceFullData, id, path: path30, rendererID, requestID } = _ref9;
|
|
87043
87045
|
var renderer = _this._rendererInterfaces[rendererID];
|
|
87044
87046
|
if (renderer == null) {
|
|
87045
87047
|
console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
|
|
87046
87048
|
} else {
|
|
87047
|
-
_this._bridge.send("inspectedElement", renderer.inspectElement(requestID, id,
|
|
87049
|
+
_this._bridge.send("inspectedElement", renderer.inspectElement(requestID, id, path30, forceFullData));
|
|
87048
87050
|
if (_this._persistedSelectionMatch === null || _this._persistedSelectionMatch.id !== id) {
|
|
87049
87051
|
_this._persistedSelection = null;
|
|
87050
87052
|
_this._persistedSelectionMatch = null;
|
|
@@ -87078,15 +87080,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87078
87080
|
}
|
|
87079
87081
|
for (var rendererID in _this._rendererInterfaces) {
|
|
87080
87082
|
var renderer = _this._rendererInterfaces[rendererID];
|
|
87081
|
-
var
|
|
87083
|
+
var path30 = null;
|
|
87082
87084
|
if (suspendedByPathIndex !== null && rendererPath !== null) {
|
|
87083
87085
|
var suspendedByPathRendererIndex = suspendedByPathIndex - suspendedByOffset;
|
|
87084
87086
|
var rendererHasRequestedSuspendedByPath = renderer.getElementAttributeByPath(id, ["suspendedBy", suspendedByPathRendererIndex]) !== undefined;
|
|
87085
87087
|
if (rendererHasRequestedSuspendedByPath) {
|
|
87086
|
-
|
|
87088
|
+
path30 = ["suspendedBy", suspendedByPathRendererIndex].concat(rendererPath);
|
|
87087
87089
|
}
|
|
87088
87090
|
}
|
|
87089
|
-
var inspectedRootsPayload = renderer.inspectElement(requestID, id,
|
|
87091
|
+
var inspectedRootsPayload = renderer.inspectElement(requestID, id, path30, forceFullData);
|
|
87090
87092
|
switch (inspectedRootsPayload.type) {
|
|
87091
87093
|
case "hydrated-path":
|
|
87092
87094
|
inspectedRootsPayload.path[1] += suspendedByOffset;
|
|
@@ -87180,20 +87182,20 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87180
87182
|
}
|
|
87181
87183
|
});
|
|
87182
87184
|
agent_defineProperty(_this, "overrideValueAtPath", function(_ref15) {
|
|
87183
|
-
var { hookID, id, path:
|
|
87185
|
+
var { hookID, id, path: path30, rendererID, type, value } = _ref15;
|
|
87184
87186
|
var renderer = _this._rendererInterfaces[rendererID];
|
|
87185
87187
|
if (renderer == null) {
|
|
87186
87188
|
console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
|
|
87187
87189
|
} else {
|
|
87188
|
-
renderer.overrideValueAtPath(type, id, hookID,
|
|
87190
|
+
renderer.overrideValueAtPath(type, id, hookID, path30, value);
|
|
87189
87191
|
}
|
|
87190
87192
|
});
|
|
87191
87193
|
agent_defineProperty(_this, "overrideContext", function(_ref16) {
|
|
87192
|
-
var { id, path:
|
|
87194
|
+
var { id, path: path30, rendererID, wasForwarded, value } = _ref16;
|
|
87193
87195
|
if (!wasForwarded) {
|
|
87194
87196
|
_this.overrideValueAtPath({
|
|
87195
87197
|
id,
|
|
87196
|
-
path:
|
|
87198
|
+
path: path30,
|
|
87197
87199
|
rendererID,
|
|
87198
87200
|
type: "context",
|
|
87199
87201
|
value
|
|
@@ -87201,11 +87203,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87201
87203
|
}
|
|
87202
87204
|
});
|
|
87203
87205
|
agent_defineProperty(_this, "overrideHookState", function(_ref17) {
|
|
87204
|
-
var { id, hookID, path:
|
|
87206
|
+
var { id, hookID, path: path30, rendererID, wasForwarded, value } = _ref17;
|
|
87205
87207
|
if (!wasForwarded) {
|
|
87206
87208
|
_this.overrideValueAtPath({
|
|
87207
87209
|
id,
|
|
87208
|
-
path:
|
|
87210
|
+
path: path30,
|
|
87209
87211
|
rendererID,
|
|
87210
87212
|
type: "hooks",
|
|
87211
87213
|
value
|
|
@@ -87213,11 +87215,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87213
87215
|
}
|
|
87214
87216
|
});
|
|
87215
87217
|
agent_defineProperty(_this, "overrideProps", function(_ref18) {
|
|
87216
|
-
var { id, path:
|
|
87218
|
+
var { id, path: path30, rendererID, wasForwarded, value } = _ref18;
|
|
87217
87219
|
if (!wasForwarded) {
|
|
87218
87220
|
_this.overrideValueAtPath({
|
|
87219
87221
|
id,
|
|
87220
|
-
path:
|
|
87222
|
+
path: path30,
|
|
87221
87223
|
rendererID,
|
|
87222
87224
|
type: "props",
|
|
87223
87225
|
value
|
|
@@ -87225,11 +87227,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87225
87227
|
}
|
|
87226
87228
|
});
|
|
87227
87229
|
agent_defineProperty(_this, "overrideState", function(_ref19) {
|
|
87228
|
-
var { id, path:
|
|
87230
|
+
var { id, path: path30, rendererID, wasForwarded, value } = _ref19;
|
|
87229
87231
|
if (!wasForwarded) {
|
|
87230
87232
|
_this.overrideValueAtPath({
|
|
87231
87233
|
id,
|
|
87232
|
-
path:
|
|
87234
|
+
path: path30,
|
|
87233
87235
|
rendererID,
|
|
87234
87236
|
type: "state",
|
|
87235
87237
|
value
|
|
@@ -87296,12 +87298,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87296
87298
|
_this._bridge.send("stopInspectingHost", selected);
|
|
87297
87299
|
});
|
|
87298
87300
|
agent_defineProperty(_this, "storeAsGlobal", function(_ref23) {
|
|
87299
|
-
var { count, id, path:
|
|
87301
|
+
var { count, id, path: path30, rendererID } = _ref23;
|
|
87300
87302
|
var renderer = _this._rendererInterfaces[rendererID];
|
|
87301
87303
|
if (renderer == null) {
|
|
87302
87304
|
console.warn('Invalid renderer id "'.concat(rendererID, '" for element "').concat(id, '"'));
|
|
87303
87305
|
} else {
|
|
87304
|
-
renderer.storeAsGlobal(id,
|
|
87306
|
+
renderer.storeAsGlobal(id, path30, count);
|
|
87305
87307
|
}
|
|
87306
87308
|
});
|
|
87307
87309
|
agent_defineProperty(_this, "updateHookSettings", function(settings) {
|
|
@@ -87318,12 +87320,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87318
87320
|
var rendererID = +rendererIDString;
|
|
87319
87321
|
var renderer = _this._rendererInterfaces[rendererID];
|
|
87320
87322
|
if (_this._lastSelectedRendererID === rendererID) {
|
|
87321
|
-
var
|
|
87322
|
-
if (
|
|
87323
|
-
renderer.setTrackedPath(
|
|
87323
|
+
var path30 = renderer.getPathForElement(_this._lastSelectedElementID);
|
|
87324
|
+
if (path30 !== null) {
|
|
87325
|
+
renderer.setTrackedPath(path30);
|
|
87324
87326
|
_this._persistedSelection = {
|
|
87325
87327
|
rendererID,
|
|
87326
|
-
path:
|
|
87328
|
+
path: path30
|
|
87327
87329
|
};
|
|
87328
87330
|
}
|
|
87329
87331
|
}
|
|
@@ -87398,11 +87400,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
87398
87400
|
var rendererID = _this._lastSelectedRendererID;
|
|
87399
87401
|
var id = _this._lastSelectedElementID;
|
|
87400
87402
|
var renderer = _this._rendererInterfaces[rendererID];
|
|
87401
|
-
var
|
|
87402
|
-
if (
|
|
87403
|
+
var path30 = renderer != null ? renderer.getPathForElement(id) : null;
|
|
87404
|
+
if (path30 !== null) {
|
|
87403
87405
|
storage_sessionStorageSetItem(SESSION_STORAGE_LAST_SELECTION_KEY, JSON.stringify({
|
|
87404
87406
|
rendererID,
|
|
87405
|
-
path:
|
|
87407
|
+
path: path30
|
|
87406
87408
|
}));
|
|
87407
87409
|
} else {
|
|
87408
87410
|
storage_sessionStorageRemoveItem(SESSION_STORAGE_LAST_SELECTION_KEY);
|
|
@@ -88125,7 +88127,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
88125
88127
|
hasElementWithId: function hasElementWithId() {
|
|
88126
88128
|
return false;
|
|
88127
88129
|
},
|
|
88128
|
-
inspectElement: function inspectElement(requestID, id,
|
|
88130
|
+
inspectElement: function inspectElement(requestID, id, path30) {
|
|
88129
88131
|
return {
|
|
88130
88132
|
id,
|
|
88131
88133
|
responseID: requestID,
|
|
@@ -93395,9 +93397,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
93395
93397
|
}
|
|
93396
93398
|
return null;
|
|
93397
93399
|
}
|
|
93398
|
-
function getElementAttributeByPath(id,
|
|
93400
|
+
function getElementAttributeByPath(id, path30) {
|
|
93399
93401
|
if (isMostRecentlyInspectedElement(id)) {
|
|
93400
|
-
return utils_getInObject(mostRecentlyInspectedElement,
|
|
93402
|
+
return utils_getInObject(mostRecentlyInspectedElement, path30);
|
|
93401
93403
|
}
|
|
93402
93404
|
return;
|
|
93403
93405
|
}
|
|
@@ -94100,9 +94102,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
94100
94102
|
function isMostRecentlyInspectedElementCurrent(id) {
|
|
94101
94103
|
return isMostRecentlyInspectedElement(id) && !hasElementUpdatedSinceLastInspected;
|
|
94102
94104
|
}
|
|
94103
|
-
function mergeInspectedPaths(
|
|
94105
|
+
function mergeInspectedPaths(path30) {
|
|
94104
94106
|
var current = currentlyInspectedPaths;
|
|
94105
|
-
|
|
94107
|
+
path30.forEach(function(key) {
|
|
94106
94108
|
if (!current[key]) {
|
|
94107
94109
|
current[key] = {};
|
|
94108
94110
|
}
|
|
@@ -94110,21 +94112,21 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
94110
94112
|
});
|
|
94111
94113
|
}
|
|
94112
94114
|
function createIsPathAllowed(key, secondaryCategory) {
|
|
94113
|
-
return function isPathAllowed(
|
|
94115
|
+
return function isPathAllowed(path30) {
|
|
94114
94116
|
switch (secondaryCategory) {
|
|
94115
94117
|
case "hooks":
|
|
94116
|
-
if (
|
|
94118
|
+
if (path30.length === 1) {
|
|
94117
94119
|
return true;
|
|
94118
94120
|
}
|
|
94119
|
-
if (
|
|
94121
|
+
if (path30[path30.length - 2] === "hookSource" && path30[path30.length - 1] === "fileName") {
|
|
94120
94122
|
return true;
|
|
94121
94123
|
}
|
|
94122
|
-
if (
|
|
94124
|
+
if (path30[path30.length - 1] === "subHooks" || path30[path30.length - 2] === "subHooks") {
|
|
94123
94125
|
return true;
|
|
94124
94126
|
}
|
|
94125
94127
|
break;
|
|
94126
94128
|
case "suspendedBy":
|
|
94127
|
-
if (
|
|
94129
|
+
if (path30.length < 5) {
|
|
94128
94130
|
return true;
|
|
94129
94131
|
}
|
|
94130
94132
|
break;
|
|
@@ -94135,8 +94137,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
94135
94137
|
if (!current) {
|
|
94136
94138
|
return false;
|
|
94137
94139
|
}
|
|
94138
|
-
for (var i = 0;i <
|
|
94139
|
-
current = current[
|
|
94140
|
+
for (var i = 0;i < path30.length; i++) {
|
|
94141
|
+
current = current[path30[i]];
|
|
94140
94142
|
if (!current) {
|
|
94141
94143
|
return false;
|
|
94142
94144
|
}
|
|
@@ -94190,38 +94192,38 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
94190
94192
|
break;
|
|
94191
94193
|
}
|
|
94192
94194
|
}
|
|
94193
|
-
function storeAsGlobal(id,
|
|
94195
|
+
function storeAsGlobal(id, path30, count) {
|
|
94194
94196
|
if (isMostRecentlyInspectedElement(id)) {
|
|
94195
|
-
var value = utils_getInObject(mostRecentlyInspectedElement,
|
|
94197
|
+
var value = utils_getInObject(mostRecentlyInspectedElement, path30);
|
|
94196
94198
|
var key = "$reactTemp".concat(count);
|
|
94197
94199
|
window[key] = value;
|
|
94198
94200
|
console.log(key);
|
|
94199
94201
|
console.log(value);
|
|
94200
94202
|
}
|
|
94201
94203
|
}
|
|
94202
|
-
function getSerializedElementValueByPath(id,
|
|
94204
|
+
function getSerializedElementValueByPath(id, path30) {
|
|
94203
94205
|
if (isMostRecentlyInspectedElement(id)) {
|
|
94204
|
-
var valueToCopy = utils_getInObject(mostRecentlyInspectedElement,
|
|
94206
|
+
var valueToCopy = utils_getInObject(mostRecentlyInspectedElement, path30);
|
|
94205
94207
|
return serializeToString(valueToCopy);
|
|
94206
94208
|
}
|
|
94207
94209
|
}
|
|
94208
|
-
function inspectElement(requestID, id,
|
|
94209
|
-
if (
|
|
94210
|
-
mergeInspectedPaths(
|
|
94210
|
+
function inspectElement(requestID, id, path30, forceFullData) {
|
|
94211
|
+
if (path30 !== null) {
|
|
94212
|
+
mergeInspectedPaths(path30);
|
|
94211
94213
|
}
|
|
94212
94214
|
if (isMostRecentlyInspectedElement(id) && !forceFullData) {
|
|
94213
94215
|
if (!hasElementUpdatedSinceLastInspected) {
|
|
94214
|
-
if (
|
|
94216
|
+
if (path30 !== null) {
|
|
94215
94217
|
var secondaryCategory = null;
|
|
94216
|
-
if (
|
|
94217
|
-
secondaryCategory =
|
|
94218
|
+
if (path30[0] === "hooks" || path30[0] === "suspendedBy") {
|
|
94219
|
+
secondaryCategory = path30[0];
|
|
94218
94220
|
}
|
|
94219
94221
|
return {
|
|
94220
94222
|
id,
|
|
94221
94223
|
responseID: requestID,
|
|
94222
94224
|
type: "hydrated-path",
|
|
94223
|
-
path:
|
|
94224
|
-
value: cleanForBridge(utils_getInObject(mostRecentlyInspectedElement,
|
|
94225
|
+
path: path30,
|
|
94226
|
+
value: cleanForBridge(utils_getInObject(mostRecentlyInspectedElement, path30), createIsPathAllowed(null, secondaryCategory), path30)
|
|
94225
94227
|
};
|
|
94226
94228
|
} else {
|
|
94227
94229
|
return {
|
|
@@ -94417,7 +94419,7 @@ The error thrown in the component is:
|
|
|
94417
94419
|
console.groupEnd();
|
|
94418
94420
|
}
|
|
94419
94421
|
}
|
|
94420
|
-
function deletePath(type, id, hookID,
|
|
94422
|
+
function deletePath(type, id, hookID, path30) {
|
|
94421
94423
|
var devtoolsInstance = idToDevToolsInstanceMap.get(id);
|
|
94422
94424
|
if (devtoolsInstance === undefined) {
|
|
94423
94425
|
console.warn('Could not find DevToolsInstance with id "'.concat(id, '"'));
|
|
@@ -94431,11 +94433,11 @@ The error thrown in the component is:
|
|
|
94431
94433
|
var instance2 = fiber.stateNode;
|
|
94432
94434
|
switch (type) {
|
|
94433
94435
|
case "context":
|
|
94434
|
-
|
|
94436
|
+
path30 = path30.slice(1);
|
|
94435
94437
|
switch (fiber.tag) {
|
|
94436
94438
|
case ClassComponent:
|
|
94437
|
-
if (
|
|
94438
|
-
deletePathInObject(instance2.context,
|
|
94439
|
+
if (path30.length === 0) {} else {
|
|
94440
|
+
deletePathInObject(instance2.context, path30);
|
|
94439
94441
|
}
|
|
94440
94442
|
instance2.forceUpdate();
|
|
94441
94443
|
break;
|
|
@@ -94445,21 +94447,21 @@ The error thrown in the component is:
|
|
|
94445
94447
|
break;
|
|
94446
94448
|
case "hooks":
|
|
94447
94449
|
if (typeof overrideHookStateDeletePath === "function") {
|
|
94448
|
-
overrideHookStateDeletePath(fiber, hookID,
|
|
94450
|
+
overrideHookStateDeletePath(fiber, hookID, path30);
|
|
94449
94451
|
}
|
|
94450
94452
|
break;
|
|
94451
94453
|
case "props":
|
|
94452
94454
|
if (instance2 === null) {
|
|
94453
94455
|
if (typeof overridePropsDeletePath === "function") {
|
|
94454
|
-
overridePropsDeletePath(fiber,
|
|
94456
|
+
overridePropsDeletePath(fiber, path30);
|
|
94455
94457
|
}
|
|
94456
94458
|
} else {
|
|
94457
|
-
fiber.pendingProps = copyWithDelete(instance2.props,
|
|
94459
|
+
fiber.pendingProps = copyWithDelete(instance2.props, path30);
|
|
94458
94460
|
instance2.forceUpdate();
|
|
94459
94461
|
}
|
|
94460
94462
|
break;
|
|
94461
94463
|
case "state":
|
|
94462
|
-
deletePathInObject(instance2.state,
|
|
94464
|
+
deletePathInObject(instance2.state, path30);
|
|
94463
94465
|
instance2.forceUpdate();
|
|
94464
94466
|
break;
|
|
94465
94467
|
}
|
|
@@ -94514,7 +94516,7 @@ The error thrown in the component is:
|
|
|
94514
94516
|
}
|
|
94515
94517
|
}
|
|
94516
94518
|
}
|
|
94517
|
-
function overrideValueAtPath(type, id, hookID,
|
|
94519
|
+
function overrideValueAtPath(type, id, hookID, path30, value) {
|
|
94518
94520
|
var devtoolsInstance = idToDevToolsInstanceMap.get(id);
|
|
94519
94521
|
if (devtoolsInstance === undefined) {
|
|
94520
94522
|
console.warn('Could not find DevToolsInstance with id "'.concat(id, '"'));
|
|
@@ -94528,13 +94530,13 @@ The error thrown in the component is:
|
|
|
94528
94530
|
var instance2 = fiber.stateNode;
|
|
94529
94531
|
switch (type) {
|
|
94530
94532
|
case "context":
|
|
94531
|
-
|
|
94533
|
+
path30 = path30.slice(1);
|
|
94532
94534
|
switch (fiber.tag) {
|
|
94533
94535
|
case ClassComponent:
|
|
94534
|
-
if (
|
|
94536
|
+
if (path30.length === 0) {
|
|
94535
94537
|
instance2.context = value;
|
|
94536
94538
|
} else {
|
|
94537
|
-
utils_setInObject(instance2.context,
|
|
94539
|
+
utils_setInObject(instance2.context, path30, value);
|
|
94538
94540
|
}
|
|
94539
94541
|
instance2.forceUpdate();
|
|
94540
94542
|
break;
|
|
@@ -94544,18 +94546,18 @@ The error thrown in the component is:
|
|
|
94544
94546
|
break;
|
|
94545
94547
|
case "hooks":
|
|
94546
94548
|
if (typeof overrideHookState === "function") {
|
|
94547
|
-
overrideHookState(fiber, hookID,
|
|
94549
|
+
overrideHookState(fiber, hookID, path30, value);
|
|
94548
94550
|
}
|
|
94549
94551
|
break;
|
|
94550
94552
|
case "props":
|
|
94551
94553
|
switch (fiber.tag) {
|
|
94552
94554
|
case ClassComponent:
|
|
94553
|
-
fiber.pendingProps = copyWithSet(instance2.props,
|
|
94555
|
+
fiber.pendingProps = copyWithSet(instance2.props, path30, value);
|
|
94554
94556
|
instance2.forceUpdate();
|
|
94555
94557
|
break;
|
|
94556
94558
|
default:
|
|
94557
94559
|
if (typeof overrideProps === "function") {
|
|
94558
|
-
overrideProps(fiber,
|
|
94560
|
+
overrideProps(fiber, path30, value);
|
|
94559
94561
|
}
|
|
94560
94562
|
break;
|
|
94561
94563
|
}
|
|
@@ -94563,7 +94565,7 @@ The error thrown in the component is:
|
|
|
94563
94565
|
case "state":
|
|
94564
94566
|
switch (fiber.tag) {
|
|
94565
94567
|
case ClassComponent:
|
|
94566
|
-
utils_setInObject(instance2.state,
|
|
94568
|
+
utils_setInObject(instance2.state, path30, value);
|
|
94567
94569
|
instance2.forceUpdate();
|
|
94568
94570
|
break;
|
|
94569
94571
|
}
|
|
@@ -94849,14 +94851,14 @@ The error thrown in the component is:
|
|
|
94849
94851
|
var trackedPathMatchInstance = null;
|
|
94850
94852
|
var trackedPathMatchDepth = -1;
|
|
94851
94853
|
var mightBeOnTrackedPath = false;
|
|
94852
|
-
function setTrackedPath(
|
|
94853
|
-
if (
|
|
94854
|
+
function setTrackedPath(path30) {
|
|
94855
|
+
if (path30 === null) {
|
|
94854
94856
|
trackedPathMatchFiber = null;
|
|
94855
94857
|
trackedPathMatchInstance = null;
|
|
94856
94858
|
trackedPathMatchDepth = -1;
|
|
94857
94859
|
mightBeOnTrackedPath = false;
|
|
94858
94860
|
}
|
|
94859
|
-
trackedPath =
|
|
94861
|
+
trackedPath = path30;
|
|
94860
94862
|
}
|
|
94861
94863
|
function updateTrackedPathStateBeforeMount(fiber, fiberInstance) {
|
|
94862
94864
|
if (trackedPath === null || !mightBeOnTrackedPath) {
|
|
@@ -95620,9 +95622,9 @@ The error thrown in the component is:
|
|
|
95620
95622
|
}
|
|
95621
95623
|
var currentlyInspectedElementID = null;
|
|
95622
95624
|
var currentlyInspectedPaths = {};
|
|
95623
|
-
function mergeInspectedPaths(
|
|
95625
|
+
function mergeInspectedPaths(path30) {
|
|
95624
95626
|
var current = currentlyInspectedPaths;
|
|
95625
|
-
|
|
95627
|
+
path30.forEach(function(key) {
|
|
95626
95628
|
if (!current[key]) {
|
|
95627
95629
|
current[key] = {};
|
|
95628
95630
|
}
|
|
@@ -95630,13 +95632,13 @@ The error thrown in the component is:
|
|
|
95630
95632
|
});
|
|
95631
95633
|
}
|
|
95632
95634
|
function createIsPathAllowed(key) {
|
|
95633
|
-
return function isPathAllowed(
|
|
95635
|
+
return function isPathAllowed(path30) {
|
|
95634
95636
|
var current = currentlyInspectedPaths[key];
|
|
95635
95637
|
if (!current) {
|
|
95636
95638
|
return false;
|
|
95637
95639
|
}
|
|
95638
|
-
for (var i = 0;i <
|
|
95639
|
-
current = current[
|
|
95640
|
+
for (var i = 0;i < path30.length; i++) {
|
|
95641
|
+
current = current[path30[i]];
|
|
95640
95642
|
if (!current) {
|
|
95641
95643
|
return false;
|
|
95642
95644
|
}
|
|
@@ -95686,24 +95688,24 @@ The error thrown in the component is:
|
|
|
95686
95688
|
break;
|
|
95687
95689
|
}
|
|
95688
95690
|
}
|
|
95689
|
-
function storeAsGlobal(id,
|
|
95691
|
+
function storeAsGlobal(id, path30, count) {
|
|
95690
95692
|
var inspectedElement = inspectElementRaw(id);
|
|
95691
95693
|
if (inspectedElement !== null) {
|
|
95692
|
-
var value = utils_getInObject(inspectedElement,
|
|
95694
|
+
var value = utils_getInObject(inspectedElement, path30);
|
|
95693
95695
|
var key = "$reactTemp".concat(count);
|
|
95694
95696
|
window[key] = value;
|
|
95695
95697
|
console.log(key);
|
|
95696
95698
|
console.log(value);
|
|
95697
95699
|
}
|
|
95698
95700
|
}
|
|
95699
|
-
function getSerializedElementValueByPath(id,
|
|
95701
|
+
function getSerializedElementValueByPath(id, path30) {
|
|
95700
95702
|
var inspectedElement = inspectElementRaw(id);
|
|
95701
95703
|
if (inspectedElement !== null) {
|
|
95702
|
-
var valueToCopy = utils_getInObject(inspectedElement,
|
|
95704
|
+
var valueToCopy = utils_getInObject(inspectedElement, path30);
|
|
95703
95705
|
return serializeToString(valueToCopy);
|
|
95704
95706
|
}
|
|
95705
95707
|
}
|
|
95706
|
-
function inspectElement(requestID, id,
|
|
95708
|
+
function inspectElement(requestID, id, path30, forceFullData) {
|
|
95707
95709
|
if (forceFullData || currentlyInspectedElementID !== id) {
|
|
95708
95710
|
currentlyInspectedElementID = id;
|
|
95709
95711
|
currentlyInspectedPaths = {};
|
|
@@ -95716,8 +95718,8 @@ The error thrown in the component is:
|
|
|
95716
95718
|
type: "not-found"
|
|
95717
95719
|
};
|
|
95718
95720
|
}
|
|
95719
|
-
if (
|
|
95720
|
-
mergeInspectedPaths(
|
|
95721
|
+
if (path30 !== null) {
|
|
95722
|
+
mergeInspectedPaths(path30);
|
|
95721
95723
|
}
|
|
95722
95724
|
updateSelectedElement(id);
|
|
95723
95725
|
inspectedElement.context = cleanForBridge(inspectedElement.context, createIsPathAllowed("context"));
|
|
@@ -95920,10 +95922,10 @@ The error thrown in the component is:
|
|
|
95920
95922
|
console.groupEnd();
|
|
95921
95923
|
}
|
|
95922
95924
|
}
|
|
95923
|
-
function getElementAttributeByPath(id,
|
|
95925
|
+
function getElementAttributeByPath(id, path30) {
|
|
95924
95926
|
var inspectedElement = inspectElementRaw(id);
|
|
95925
95927
|
if (inspectedElement !== null) {
|
|
95926
|
-
return utils_getInObject(inspectedElement,
|
|
95928
|
+
return utils_getInObject(inspectedElement, path30);
|
|
95927
95929
|
}
|
|
95928
95930
|
return;
|
|
95929
95931
|
}
|
|
@@ -95940,14 +95942,14 @@ The error thrown in the component is:
|
|
|
95940
95942
|
}
|
|
95941
95943
|
return element.type;
|
|
95942
95944
|
}
|
|
95943
|
-
function deletePath(type, id, hookID,
|
|
95945
|
+
function deletePath(type, id, hookID, path30) {
|
|
95944
95946
|
var internalInstance = idToInternalInstanceMap.get(id);
|
|
95945
95947
|
if (internalInstance != null) {
|
|
95946
95948
|
var publicInstance = internalInstance._instance;
|
|
95947
95949
|
if (publicInstance != null) {
|
|
95948
95950
|
switch (type) {
|
|
95949
95951
|
case "context":
|
|
95950
|
-
deletePathInObject(publicInstance.context,
|
|
95952
|
+
deletePathInObject(publicInstance.context, path30);
|
|
95951
95953
|
forceUpdate(publicInstance);
|
|
95952
95954
|
break;
|
|
95953
95955
|
case "hooks":
|
|
@@ -95955,12 +95957,12 @@ The error thrown in the component is:
|
|
|
95955
95957
|
case "props":
|
|
95956
95958
|
var element = internalInstance._currentElement;
|
|
95957
95959
|
internalInstance._currentElement = legacy_renderer_objectSpread(legacy_renderer_objectSpread({}, element), {}, {
|
|
95958
|
-
props: copyWithDelete(element.props,
|
|
95960
|
+
props: copyWithDelete(element.props, path30)
|
|
95959
95961
|
});
|
|
95960
95962
|
forceUpdate(publicInstance);
|
|
95961
95963
|
break;
|
|
95962
95964
|
case "state":
|
|
95963
|
-
deletePathInObject(publicInstance.state,
|
|
95965
|
+
deletePathInObject(publicInstance.state, path30);
|
|
95964
95966
|
forceUpdate(publicInstance);
|
|
95965
95967
|
break;
|
|
95966
95968
|
}
|
|
@@ -95994,14 +95996,14 @@ The error thrown in the component is:
|
|
|
95994
95996
|
}
|
|
95995
95997
|
}
|
|
95996
95998
|
}
|
|
95997
|
-
function overrideValueAtPath(type, id, hookID,
|
|
95999
|
+
function overrideValueAtPath(type, id, hookID, path30, value) {
|
|
95998
96000
|
var internalInstance = idToInternalInstanceMap.get(id);
|
|
95999
96001
|
if (internalInstance != null) {
|
|
96000
96002
|
var publicInstance = internalInstance._instance;
|
|
96001
96003
|
if (publicInstance != null) {
|
|
96002
96004
|
switch (type) {
|
|
96003
96005
|
case "context":
|
|
96004
|
-
utils_setInObject(publicInstance.context,
|
|
96006
|
+
utils_setInObject(publicInstance.context, path30, value);
|
|
96005
96007
|
forceUpdate(publicInstance);
|
|
96006
96008
|
break;
|
|
96007
96009
|
case "hooks":
|
|
@@ -96009,12 +96011,12 @@ The error thrown in the component is:
|
|
|
96009
96011
|
case "props":
|
|
96010
96012
|
var element = internalInstance._currentElement;
|
|
96011
96013
|
internalInstance._currentElement = legacy_renderer_objectSpread(legacy_renderer_objectSpread({}, element), {}, {
|
|
96012
|
-
props: copyWithSet(element.props,
|
|
96014
|
+
props: copyWithSet(element.props, path30, value)
|
|
96013
96015
|
});
|
|
96014
96016
|
forceUpdate(publicInstance);
|
|
96015
96017
|
break;
|
|
96016
96018
|
case "state":
|
|
96017
|
-
utils_setInObject(publicInstance.state,
|
|
96019
|
+
utils_setInObject(publicInstance.state, path30, value);
|
|
96018
96020
|
forceUpdate(publicInstance);
|
|
96019
96021
|
break;
|
|
96020
96022
|
}
|
|
@@ -96055,7 +96057,7 @@ The error thrown in the component is:
|
|
|
96055
96057
|
return [];
|
|
96056
96058
|
}
|
|
96057
96059
|
function setTraceUpdatesEnabled(enabled) {}
|
|
96058
|
-
function setTrackedPath(
|
|
96060
|
+
function setTrackedPath(path30) {}
|
|
96059
96061
|
function getOwnersList(id) {
|
|
96060
96062
|
return null;
|
|
96061
96063
|
}
|
|
@@ -99740,10 +99742,10 @@ init_setup_write();
|
|
|
99740
99742
|
// src/cli/plugins.ts
|
|
99741
99743
|
init_paths();
|
|
99742
99744
|
init_loader4();
|
|
99743
|
-
import * as
|
|
99745
|
+
import * as path21 from "path";
|
|
99744
99746
|
async function pluginsListCommand(config2, workdir, overrideGlobalPluginsDir) {
|
|
99745
|
-
const globalPluginsDir = overrideGlobalPluginsDir ??
|
|
99746
|
-
const projectPluginsDir =
|
|
99747
|
+
const globalPluginsDir = overrideGlobalPluginsDir ?? path21.join(globalConfigDir(), "plugins");
|
|
99748
|
+
const projectPluginsDir = path21.join(workdir, ".nax", "plugins");
|
|
99747
99749
|
const configPlugins = config2.plugins || [];
|
|
99748
99750
|
const registry3 = await loadPlugins(globalPluginsDir, projectPluginsDir, configPlugins, workdir, config2.disabledPlugins);
|
|
99749
99751
|
const plugins = registry3.plugins;
|
|
@@ -99793,10 +99795,10 @@ function formatSource(type, sourcePath) {
|
|
|
99793
99795
|
return `built-in (${sourcePath})`;
|
|
99794
99796
|
}
|
|
99795
99797
|
if (type === "global") {
|
|
99796
|
-
return `global (${
|
|
99798
|
+
return `global (${path21.basename(sourcePath)})`;
|
|
99797
99799
|
}
|
|
99798
99800
|
if (type === "project") {
|
|
99799
|
-
return `project (${
|
|
99801
|
+
return `project (${path21.basename(sourcePath)})`;
|
|
99800
99802
|
}
|
|
99801
99803
|
return `config (${sourcePath})`;
|
|
99802
99804
|
}
|
|
@@ -100189,10 +100191,10 @@ function deepDiffConfigs(global2, project, currentPath = []) {
|
|
|
100189
100191
|
for (const key of Object.keys(project)) {
|
|
100190
100192
|
const projectValue = project[key];
|
|
100191
100193
|
const globalValue = global2[key];
|
|
100192
|
-
const
|
|
100193
|
-
const pathStr =
|
|
100194
|
+
const path22 = [...currentPath, key];
|
|
100195
|
+
const pathStr = path22.join(".");
|
|
100194
100196
|
if (projectValue !== null && typeof projectValue === "object" && !Array.isArray(projectValue) && globalValue !== null && typeof globalValue === "object" && !Array.isArray(globalValue)) {
|
|
100195
|
-
const nestedDiffs = deepDiffConfigs(globalValue, projectValue,
|
|
100197
|
+
const nestedDiffs = deepDiffConfigs(globalValue, projectValue, path22);
|
|
100196
100198
|
diffs.push(...nestedDiffs);
|
|
100197
100199
|
} else {
|
|
100198
100200
|
if (!deepEqual(projectValue, globalValue)) {
|
|
@@ -100235,11 +100237,11 @@ init_defaults();
|
|
|
100235
100237
|
init_loader();
|
|
100236
100238
|
import { existsSync as existsSync25 } from "fs";
|
|
100237
100239
|
import { join as join68 } from "path";
|
|
100238
|
-
async function loadConfigFile(
|
|
100239
|
-
if (!existsSync25(
|
|
100240
|
+
async function loadConfigFile(path22) {
|
|
100241
|
+
if (!existsSync25(path22))
|
|
100240
100242
|
return null;
|
|
100241
100243
|
try {
|
|
100242
|
-
return await Bun.file(
|
|
100244
|
+
return await Bun.file(path22).json();
|
|
100243
100245
|
} catch {
|
|
100244
100246
|
return null;
|
|
100245
100247
|
}
|
|
@@ -100286,10 +100288,10 @@ async function configCommand(config2, options = {}) {
|
|
|
100286
100288
|
console.log(`${"Field".padEnd(40)}${"Project Value".padEnd(20)}Global Value`);
|
|
100287
100289
|
console.log("\u2500".repeat(80));
|
|
100288
100290
|
for (const diff2 of diffs) {
|
|
100289
|
-
const
|
|
100291
|
+
const path22 = diff2.path.padEnd(40);
|
|
100290
100292
|
const projectVal = formatValueForTable(diff2.projectValue);
|
|
100291
100293
|
const globalVal = formatValueForTable(diff2.globalValue);
|
|
100292
|
-
console.log(`${
|
|
100294
|
+
console.log(`${path22}${projectVal.padEnd(20)}${globalVal}`);
|
|
100293
100295
|
const description = FIELD_DESCRIPTIONS[diff2.path];
|
|
100294
100296
|
if (description) {
|
|
100295
100297
|
console.log(`${"".padEnd(40)}\u21B3 ${description}`);
|
|
@@ -100322,26 +100324,26 @@ function determineConfigSources() {
|
|
|
100322
100324
|
project: projectPath && fileExists(projectPath) ? projectPath : null
|
|
100323
100325
|
};
|
|
100324
100326
|
}
|
|
100325
|
-
function fileExists(
|
|
100326
|
-
return existsSync26(
|
|
100327
|
+
function fileExists(path22) {
|
|
100328
|
+
return existsSync26(path22);
|
|
100327
100329
|
}
|
|
100328
|
-
function displayConfigWithDescriptions(obj,
|
|
100330
|
+
function displayConfigWithDescriptions(obj, path22, sources, indent = 0) {
|
|
100329
100331
|
const indentStr = " ".repeat(indent);
|
|
100330
|
-
const pathStr =
|
|
100332
|
+
const pathStr = path22.join(".");
|
|
100331
100333
|
if (obj === null || obj === undefined || typeof obj !== "object" || Array.isArray(obj)) {
|
|
100332
100334
|
const description = FIELD_DESCRIPTIONS[pathStr];
|
|
100333
100335
|
const value = formatValue(obj);
|
|
100334
100336
|
if (description) {
|
|
100335
100337
|
console.log(`${indentStr}# ${description}`);
|
|
100336
100338
|
}
|
|
100337
|
-
const key =
|
|
100339
|
+
const key = path22[path22.length - 1] || "";
|
|
100338
100340
|
console.log(`${indentStr}${key}: ${value}`);
|
|
100339
100341
|
console.log();
|
|
100340
100342
|
return;
|
|
100341
100343
|
}
|
|
100342
100344
|
const entries = Object.entries(obj);
|
|
100343
100345
|
const objAsRecord = obj;
|
|
100344
|
-
const isPromptsSection =
|
|
100346
|
+
const isPromptsSection = path22.join(".") === "prompts";
|
|
100345
100347
|
if (isPromptsSection && !objAsRecord.overrides) {
|
|
100346
100348
|
const description = FIELD_DESCRIPTIONS["prompts.overrides"];
|
|
100347
100349
|
if (description) {
|
|
@@ -100364,7 +100366,7 @@ function displayConfigWithDescriptions(obj, path21, sources, indent = 0) {
|
|
|
100364
100366
|
}
|
|
100365
100367
|
for (let i = 0;i < entries.length; i++) {
|
|
100366
100368
|
const [key, value] = entries[i];
|
|
100367
|
-
const currentPath = [...
|
|
100369
|
+
const currentPath = [...path22, key];
|
|
100368
100370
|
const currentPathStr = currentPath.join(".");
|
|
100369
100371
|
const description = FIELD_DESCRIPTIONS[currentPathStr];
|
|
100370
100372
|
if (description) {
|
|
@@ -100676,11 +100678,11 @@ init_errors();
|
|
|
100676
100678
|
import { mkdir as mkdir11 } from "fs/promises";
|
|
100677
100679
|
import { basename as basename13, join as join71 } from "path";
|
|
100678
100680
|
var _rulesCLIDeps = {
|
|
100679
|
-
readFile: async (
|
|
100680
|
-
writeFile: async (
|
|
100681
|
-
await Bun.write(
|
|
100681
|
+
readFile: async (path22) => Bun.file(path22).text(),
|
|
100682
|
+
writeFile: async (path22, content) => {
|
|
100683
|
+
await Bun.write(path22, content);
|
|
100682
100684
|
},
|
|
100683
|
-
fileExists: async (
|
|
100685
|
+
fileExists: async (path22) => Bun.file(path22).exists(),
|
|
100684
100686
|
globInDir: (dir) => {
|
|
100685
100687
|
try {
|
|
100686
100688
|
return [...new Bun.Glob("*.md").scanSync({ cwd: dir })].sort().map((f) => join71(dir, f));
|
|
@@ -100688,8 +100690,8 @@ var _rulesCLIDeps = {
|
|
|
100688
100690
|
return [];
|
|
100689
100691
|
}
|
|
100690
100692
|
},
|
|
100691
|
-
mkdir: async (
|
|
100692
|
-
await mkdir11(
|
|
100693
|
+
mkdir: async (path22) => {
|
|
100694
|
+
await mkdir11(path22, { recursive: true });
|
|
100693
100695
|
},
|
|
100694
100696
|
globCanonicalRuleFiles: (workdir) => {
|
|
100695
100697
|
try {
|
|
@@ -100862,8 +100864,8 @@ async function resolveRunProfileOverride(opts) {
|
|
|
100862
100864
|
return cliChain;
|
|
100863
100865
|
if (opts.envProfile)
|
|
100864
100866
|
return;
|
|
100865
|
-
const readJson = opts._readJson ?? (async (
|
|
100866
|
-
const file3 = Bun.file(
|
|
100867
|
+
const readJson = opts._readJson ?? (async (path22) => {
|
|
100868
|
+
const file3 = Bun.file(path22);
|
|
100867
100869
|
if (!await file3.exists())
|
|
100868
100870
|
return;
|
|
100869
100871
|
return file3.json();
|
|
@@ -100886,7 +100888,7 @@ async function resolveRunProfileOverride(opts) {
|
|
|
100886
100888
|
// src/cli/features-resolve.ts
|
|
100887
100889
|
init_config();
|
|
100888
100890
|
import { existsSync as existsSync28, readdirSync as readdirSync6 } from "fs";
|
|
100889
|
-
import { join as join73, relative as
|
|
100891
|
+
import { join as join73, relative as relative16 } from "path";
|
|
100890
100892
|
|
|
100891
100893
|
// src/cli/features-acceptance.ts
|
|
100892
100894
|
init_acceptance2();
|
|
@@ -100894,7 +100896,7 @@ init_config();
|
|
|
100894
100896
|
init_logger2();
|
|
100895
100897
|
init_prd();
|
|
100896
100898
|
import { existsSync as existsSync27 } from "fs";
|
|
100897
|
-
import { join as join72, relative as
|
|
100899
|
+
import { join as join72, relative as relative15 } from "path";
|
|
100898
100900
|
async function resolveFeatureAcceptance(featureName, workdir) {
|
|
100899
100901
|
let enabled = true;
|
|
100900
100902
|
try {
|
|
@@ -100915,11 +100917,11 @@ async function resolveFeatureAcceptance(featureName, workdir) {
|
|
|
100915
100917
|
const prd = await loadPRD(prdPath);
|
|
100916
100918
|
const testGroups = await groupStoriesByPackage(prd, repoRoot, featureName, config2.acceptance?.testPath, config2.project?.language);
|
|
100917
100919
|
const groups = await Promise.all(testGroups.map(async (g) => {
|
|
100918
|
-
const packageDir =
|
|
100920
|
+
const packageDir = relative15(repoRoot, g.packageDir);
|
|
100919
100921
|
const command = await resolveGroupCommand(repoRoot, packageDir, config2.acceptance?.command);
|
|
100920
100922
|
return {
|
|
100921
100923
|
packageDir,
|
|
100922
|
-
testPath:
|
|
100924
|
+
testPath: relative15(repoRoot, g.testPath),
|
|
100923
100925
|
exists: await Bun.file(g.testPath).exists(),
|
|
100924
100926
|
command,
|
|
100925
100927
|
language: g.language
|
|
@@ -100955,17 +100957,17 @@ async function searchSpecSource(naxDir, repoRoot, name) {
|
|
|
100955
100957
|
];
|
|
100956
100958
|
const docsSpecExact = join73(repoRoot, "docs", "specs", `SPEC-${name}.md`);
|
|
100957
100959
|
candidates.push({ abs: docsSpecExact, kind: "markdown" });
|
|
100958
|
-
const checked = candidates.map((c) =>
|
|
100960
|
+
const checked = candidates.map((c) => relative16(repoRoot, c.abs));
|
|
100959
100961
|
for (const { abs, kind } of candidates.slice(0, 2)) {
|
|
100960
100962
|
if (kind === "markdown") {
|
|
100961
100963
|
const nonEmpty = await isNonEmptyFile(abs);
|
|
100962
100964
|
if (nonEmpty) {
|
|
100963
|
-
return { source: { kind, path:
|
|
100965
|
+
return { source: { kind, path: relative16(repoRoot, abs) }, checked };
|
|
100964
100966
|
}
|
|
100965
100967
|
}
|
|
100966
100968
|
}
|
|
100967
100969
|
if (await isNonEmptyFile(docsSpecExact)) {
|
|
100968
|
-
return { source: { kind: "markdown", path:
|
|
100970
|
+
return { source: { kind: "markdown", path: relative16(repoRoot, docsSpecExact) }, checked };
|
|
100969
100971
|
}
|
|
100970
100972
|
const docsSpecsDir = join73(repoRoot, "docs", "specs");
|
|
100971
100973
|
if (existsSync28(docsSpecsDir)) {
|
|
@@ -100973,7 +100975,7 @@ async function searchSpecSource(naxDir, repoRoot, name) {
|
|
|
100973
100975
|
for (const match of glob.scanSync({ cwd: docsSpecsDir, absolute: false })) {
|
|
100974
100976
|
const abs = join73(docsSpecsDir, match);
|
|
100975
100977
|
if (await isNonEmptyFile(abs)) {
|
|
100976
|
-
const relPath =
|
|
100978
|
+
const relPath = relative16(repoRoot, abs);
|
|
100977
100979
|
if (!checked.includes(relPath))
|
|
100978
100980
|
checked.push(relPath);
|
|
100979
100981
|
return { source: { kind: "markdown", path: relPath }, checked };
|
|
@@ -100981,7 +100983,7 @@ async function searchSpecSource(naxDir, repoRoot, name) {
|
|
|
100981
100983
|
}
|
|
100982
100984
|
}
|
|
100983
100985
|
const prdAbs = join73(naxDir, "features", name, "prd.json");
|
|
100984
|
-
const prdRel =
|
|
100986
|
+
const prdRel = relative16(repoRoot, prdAbs);
|
|
100985
100987
|
if (!checked.includes(prdRel))
|
|
100986
100988
|
checked.push(prdRel);
|
|
100987
100989
|
if (existsSync28(prdAbs)) {
|
|
@@ -101033,8 +101035,8 @@ async function resolveFeatureSpec(name, workdir) {
|
|
|
101033
101035
|
return {
|
|
101034
101036
|
status: "ok",
|
|
101035
101037
|
featureName: null,
|
|
101036
|
-
specSource: { kind: "markdown", path:
|
|
101037
|
-
message: `resolved spec: ${
|
|
101038
|
+
specSource: { kind: "markdown", path: relative16(repoRoot, abs) },
|
|
101039
|
+
message: `resolved spec: ${relative16(repoRoot, abs)}`
|
|
101038
101040
|
};
|
|
101039
101041
|
}
|
|
101040
101042
|
if (name !== undefined && name.trim() !== "") {
|
|
@@ -101253,14 +101255,14 @@ function resolveEffective(detected, configPatterns) {
|
|
|
101253
101255
|
return "detected";
|
|
101254
101256
|
return "none";
|
|
101255
101257
|
}
|
|
101256
|
-
async function loadRawConfig(
|
|
101257
|
-
const f = Bun.file(
|
|
101258
|
+
async function loadRawConfig(path22) {
|
|
101259
|
+
const f = Bun.file(path22);
|
|
101258
101260
|
if (!await f.exists())
|
|
101259
101261
|
return {};
|
|
101260
101262
|
return JSON.parse(await f.text());
|
|
101261
101263
|
}
|
|
101262
|
-
async function writeRawConfig(
|
|
101263
|
-
await Bun.write(
|
|
101264
|
+
async function writeRawConfig(path22, data) {
|
|
101265
|
+
await Bun.write(path22, `${JSON.stringify(data, null, 2)}
|
|
101264
101266
|
`);
|
|
101265
101267
|
}
|
|
101266
101268
|
function deepSet(obj, keyPath, value) {
|
|
@@ -102048,10 +102050,10 @@ function renderReport(timeline, options = {}) {
|
|
|
102048
102050
|
}
|
|
102049
102051
|
|
|
102050
102052
|
// src/commands/replay.ts
|
|
102051
|
-
async function readJsonlLenient(
|
|
102052
|
-
if (!existsSync32(
|
|
102053
|
+
async function readJsonlLenient(path22) {
|
|
102054
|
+
if (!existsSync32(path22))
|
|
102053
102055
|
return [];
|
|
102054
|
-
const content = await Bun.file(
|
|
102056
|
+
const content = await Bun.file(path22).text();
|
|
102055
102057
|
const lines = content.split(`
|
|
102056
102058
|
`);
|
|
102057
102059
|
const entries = [];
|
|
@@ -102065,11 +102067,11 @@ async function readJsonlLenient(path21) {
|
|
|
102065
102067
|
}
|
|
102066
102068
|
return entries;
|
|
102067
102069
|
}
|
|
102068
|
-
async function readJsonOrUndefined(
|
|
102069
|
-
if (!existsSync32(
|
|
102070
|
+
async function readJsonOrUndefined(path22) {
|
|
102071
|
+
if (!existsSync32(path22))
|
|
102070
102072
|
return;
|
|
102071
102073
|
try {
|
|
102072
|
-
return await Bun.file(
|
|
102074
|
+
return await Bun.file(path22).json();
|
|
102073
102075
|
} catch {
|
|
102074
102076
|
return;
|
|
102075
102077
|
}
|
|
@@ -102359,7 +102361,7 @@ init_prd();
|
|
|
102359
102361
|
init_git();
|
|
102360
102362
|
init_crash_recovery();
|
|
102361
102363
|
init_story_context();
|
|
102362
|
-
import
|
|
102364
|
+
import path23 from "path";
|
|
102363
102365
|
var _runnerCompletionDeps = {
|
|
102364
102366
|
async runAcceptanceLoop(ctx) {
|
|
102365
102367
|
const { runAcceptanceLoop: runAcceptanceLoop2 } = await Promise.resolve().then(() => (init_acceptance_loop(), exports_acceptance_loop));
|
|
@@ -102390,11 +102392,11 @@ async function runCompletionPhase(options) {
|
|
|
102390
102392
|
options.statusWriter.setPostRunPhase("acceptance", { status: "running" });
|
|
102391
102393
|
pipelineEventBus.emit({ type: "postrun:phase:started", phase: "acceptance" });
|
|
102392
102394
|
const acceptanceTestPaths = options.featureDir ? await Promise.all((await groupStoriesByPackage(options.prd, options.workdir, options.feature, options.config.acceptance.testPath, options.config.project?.language)).map(async (g) => {
|
|
102393
|
-
const relativeWorkdir =
|
|
102395
|
+
const relativeWorkdir = path23.relative(options.workdir, g.packageDir);
|
|
102394
102396
|
let groupConfig = options.config;
|
|
102395
102397
|
if (relativeWorkdir && relativeWorkdir !== ".") {
|
|
102396
102398
|
try {
|
|
102397
|
-
groupConfig = await _runnerCompletionDeps.loadConfigForWorkdir(
|
|
102399
|
+
groupConfig = await _runnerCompletionDeps.loadConfigForWorkdir(path23.join(options.workdir, ".nax", "config.json"), relativeWorkdir);
|
|
102398
102400
|
} catch (error48) {
|
|
102399
102401
|
logger?.warn("execution", "Falling back to root config for package acceptance settings", {
|
|
102400
102402
|
packageDir: g.packageDir,
|
|
@@ -102533,7 +102535,7 @@ init_session();
|
|
|
102533
102535
|
|
|
102534
102536
|
// src/execution/ensure-package-dirs.ts
|
|
102535
102537
|
init_logger2();
|
|
102536
|
-
import
|
|
102538
|
+
import path24 from "path";
|
|
102537
102539
|
var _ensurePackageDirsDeps = {
|
|
102538
102540
|
exists: async (p) => {
|
|
102539
102541
|
const { stat } = await import("fs/promises");
|
|
@@ -102560,8 +102562,8 @@ async function ensureStoryPackageDirs(prd, workdir, deps = _ensurePackageDirsDep
|
|
|
102560
102562
|
}
|
|
102561
102563
|
const created = [];
|
|
102562
102564
|
for (const [rel, storyId] of relToStoryId) {
|
|
102563
|
-
const abs =
|
|
102564
|
-
const rootWithSep = workdir.endsWith(
|
|
102565
|
+
const abs = path24.resolve(workdir, rel);
|
|
102566
|
+
const rootWithSep = workdir.endsWith(path24.sep) ? workdir : workdir + path24.sep;
|
|
102565
102567
|
if (abs !== workdir && !abs.startsWith(rootWithSep)) {
|
|
102566
102568
|
logger?.warn("execution", "Skipping story workdir outside repo root", {
|
|
102567
102569
|
storyId,
|
|
@@ -103015,9 +103017,9 @@ function parseSchedule(input, now2) {
|
|
|
103015
103017
|
const trimmed = input.trim();
|
|
103016
103018
|
if (trimmed === "")
|
|
103017
103019
|
return { ok: false, error: `Empty schedule value. ${ACCEPTED}` };
|
|
103018
|
-
const
|
|
103019
|
-
if (
|
|
103020
|
-
return
|
|
103020
|
+
const relative17 = parseRelative(trimmed, now2);
|
|
103021
|
+
if (relative17)
|
|
103022
|
+
return relative17;
|
|
103021
103023
|
const timeOfDay = parseTimeOfDay(trimmed, now2);
|
|
103022
103024
|
if (timeOfDay)
|
|
103023
103025
|
return timeOfDay;
|
|
@@ -107848,8 +107850,8 @@ function Text({ color, backgroundColor, dimColor = false, bold = false, italic =
|
|
|
107848
107850
|
}
|
|
107849
107851
|
|
|
107850
107852
|
// node_modules/ink/build/components/ErrorOverview.js
|
|
107851
|
-
var cleanupPath = (
|
|
107852
|
-
return
|
|
107853
|
+
var cleanupPath = (path30) => {
|
|
107854
|
+
return path30?.replace(`file://${cwd()}/`, "");
|
|
107853
107855
|
};
|
|
107854
107856
|
var stackUtils = new import_stack_utils.default({
|
|
107855
107857
|
cwd: cwd(),
|
|
@@ -111635,8 +111637,8 @@ configProfileCmd.command("current").description("Show the currently active profi
|
|
|
111635
111637
|
});
|
|
111636
111638
|
configProfileCmd.command("create <name>").description("Create a new empty profile").option("-d, --dir <path>", "Project directory", process.cwd()).action(async (name, options) => {
|
|
111637
111639
|
try {
|
|
111638
|
-
const
|
|
111639
|
-
console.log(`Created profile at: ${
|
|
111640
|
+
const path30 = await profileCreateCommand(name, options.dir);
|
|
111641
|
+
console.log(`Created profile at: ${path30}`);
|
|
111640
111642
|
} catch (err) {
|
|
111641
111643
|
console.error(source_default.red(`Error: ${err.message}`));
|
|
111642
111644
|
process.exit(1);
|