@nathapp/nax 0.69.8 → 0.69.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/nax.js +21 -14
  2. package/package.json +1 -1
package/dist/nax.js CHANGED
@@ -35598,7 +35598,7 @@ function resolveAcceptanceTestCandidates(options) {
35598
35598
  return [];
35599
35599
  return [resolveAcceptanceFeatureTestPath(options.featureDir, options.testPathConfig, options.language)];
35600
35600
  }
35601
- function groupStoriesByPackage(prd, workdir, featureName, testPathConfig, language) {
35601
+ async function groupStoriesByPackage(prd, workdir, featureName, testPathConfig, language) {
35602
35602
  const nonFixStories = prd.userStories.filter((s) => !s.id.startsWith("US-FIX-") && s.status !== "decomposed");
35603
35603
  const groupMap = new Map;
35604
35604
  for (const story of nonFixStories) {
@@ -35615,13 +35615,13 @@ function groupStoriesByPackage(prd, workdir, featureName, testPathConfig, langua
35615
35615
  if (groupMap.size === 0) {
35616
35616
  groupMap.set("", { stories: [], criteria: [] });
35617
35617
  }
35618
- const groups = [];
35619
- for (const [wd, { stories, criteria }] of groupMap) {
35618
+ return Promise.all(Array.from(groupMap.entries()).map(async ([wd, { stories, criteria }]) => {
35620
35619
  const packageDir = wd ? path3.join(workdir, wd) : workdir;
35621
- const testPath = resolveAcceptancePackageFeatureTestPath(packageDir, featureName, testPathConfig, language);
35622
- groups.push({ testPath, packageDir, stories, criteria });
35623
- }
35624
- return groups;
35620
+ const detectedLang = await _groupDeps.detectLanguage(packageDir);
35621
+ const resolvedLang = detectedLang ?? language;
35622
+ const testPath = resolveAcceptancePackageFeatureTestPath(packageDir, featureName, testPathConfig, resolvedLang);
35623
+ return { testPath, packageDir, stories, criteria };
35624
+ }));
35625
35625
  }
35626
35626
  function suggestedTestFilename(language) {
35627
35627
  switch (language?.toLowerCase()) {
@@ -35664,7 +35664,13 @@ async function findExistingAcceptanceTestPath(options) {
35664
35664
  }
35665
35665
  return;
35666
35666
  }
35667
- var init_test_path = () => {};
35667
+ var _groupDeps;
35668
+ var init_test_path = __esm(() => {
35669
+ init_detector();
35670
+ _groupDeps = {
35671
+ detectLanguage
35672
+ };
35673
+ });
35668
35674
 
35669
35675
  // src/acceptance/generator-helpers.ts
35670
35676
  function skeletonImportLine(testFramework) {
@@ -52820,7 +52826,8 @@ __export(exports_acceptance, {
52820
52826
  convertFixStoryToUserStory: () => convertFixStoryToUserStory,
52821
52827
  buildAcceptanceTestPrompt: () => buildAcceptanceTestPrompt,
52822
52828
  buildAcceptanceRunCommand: () => buildAcceptanceRunCommand,
52823
- acceptanceTestFilename: () => acceptanceTestFilename2
52829
+ acceptanceTestFilename: () => acceptanceTestFilename2,
52830
+ _groupDeps: () => _groupDeps
52824
52831
  });
52825
52832
  var init_acceptance2 = __esm(() => {
52826
52833
  init_refinement();
@@ -53169,7 +53176,7 @@ ${stderr}` };
53169
53176
  const metaPath = path10.join(ctx.featureDir, "acceptance-meta.json");
53170
53177
  const allCriteria = ctx.prd.userStories.filter((s) => !s.id.startsWith("US-FIX-") && s.status !== "decomposed").flatMap((s) => s.acceptanceCriteria);
53171
53178
  const featureName = ctx.prd.feature ?? ctx.prd.featureName;
53172
- const groups = groupStoriesByPackage(ctx.prd, ctx.workdir, featureName, testPathConfig, language);
53179
+ const groups = await groupStoriesByPackage(ctx.prd, ctx.workdir, featureName, testPathConfig, language);
53173
53180
  const nonFixStories = groups.flatMap((g) => g.stories);
53174
53181
  let totalCriteria = 0;
53175
53182
  let testableCount = 0;
@@ -59804,7 +59811,7 @@ var package_default;
59804
59811
  var init_package = __esm(() => {
59805
59812
  package_default = {
59806
59813
  name: "@nathapp/nax",
59807
- version: "0.69.8",
59814
+ version: "0.69.9",
59808
59815
  description: "AI Coding Agent Orchestrator \u2014 loops until done",
59809
59816
  type: "module",
59810
59817
  bin: {
@@ -59899,8 +59906,8 @@ var init_version = __esm(() => {
59899
59906
  NAX_VERSION = package_default.version;
59900
59907
  NAX_COMMIT = (() => {
59901
59908
  try {
59902
- if (/^[0-9a-f]{6,10}$/.test("0b7fc5bf"))
59903
- return "0b7fc5bf";
59909
+ if (/^[0-9a-f]{6,10}$/.test("03eecdb1"))
59910
+ return "03eecdb1";
59904
59911
  } catch {}
59905
59912
  try {
59906
59913
  const result = Bun.spawnSync(["git", "rev-parse", "--short", "HEAD"], {
@@ -98043,7 +98050,7 @@ async function runCompletionPhase(options) {
98043
98050
  } else if (options.config.acceptance.enabled && isComplete(options.prd)) {
98044
98051
  options.statusWriter.setPostRunPhase("acceptance", { status: "running" });
98045
98052
  pipelineEventBus.emit({ type: "postrun:phase:started", phase: "acceptance" });
98046
- const acceptanceTestPaths = options.featureDir ? await Promise.all(groupStoriesByPackage(options.prd, options.workdir, options.feature, options.config.acceptance.testPath, options.config.project?.language).map(async (g) => {
98053
+ 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) => {
98047
98054
  const relativeWorkdir = path19.relative(options.workdir, g.packageDir);
98048
98055
  let groupConfig = options.config;
98049
98056
  if (relativeWorkdir && relativeWorkdir !== ".") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nathapp/nax",
3
- "version": "0.69.8",
3
+ "version": "0.69.9",
4
4
  "description": "AI Coding Agent Orchestrator — loops until done",
5
5
  "type": "module",
6
6
  "bin": {