create-issflow 1.10.0 → 1.10.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-issflow",
3
- "version": "1.10.0",
3
+ "version": "1.10.1",
4
4
  "description": "Scaffold the iStartSoftFlow AI-coding workflow into a project. Stack-agnostic, tool-agnostic (Claude Code, Codex, Cursor, Gemini, Aider), non-destructive.",
5
5
  "bin": {
6
6
  "create-issflow": "bin/cli.js"
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -17,7 +17,7 @@ function main(args) {
17
17
  const base = args[baseIndex + 1];
18
18
  if (!base || base.startsWith('--')) throw new Error('Missing --base value');
19
19
  const mergeBase = execFileSync('git', ['merge-base', base, 'HEAD'], { cwd: root, encoding: 'utf8' }).trim();
20
- const diff = execFileSync('git', ['diff', '--name-only', '--diff-filter=ACMRT', mergeBase, 'HEAD'], { cwd: root, encoding: 'utf8' });
20
+ const diff = execFileSync('git', ['diff', '--name-only', '--diff-filter=ACMRTD', mergeBase, 'HEAD'], { cwd: root, encoding: 'utf8' });
21
21
  changedFiles = diff.split(/\r?\n/).filter(Boolean);
22
22
  } else if (filesIndex >= 0) {
23
23
  const files = args[filesIndex + 1];
@@ -18,9 +18,15 @@
18
18
  // own doc + slug. Results come back as commits on feature/<slug> (visible from the
19
19
  // main repo); remove the dir with `git worktree remove` after merge.
20
20
  'use strict';
21
- const fs = require('fs');
22
- const path = require('path');
23
- const { spawnSync } = require('child_process');
21
+ // Dynamic imports work in both CommonJS and ESM project scopes.
22
+ Promise.all([
23
+ import('node:fs'),
24
+ import('node:path'),
25
+ import('node:child_process'),
26
+ ]).then(([fsModule, pathModule, childModule]) => {
27
+ const fs = fsModule.default;
28
+ const path = pathModule.default;
29
+ const { spawnSync } = childModule;
24
30
 
25
31
  const IMAGE = process.env.ISSFLOW_IMAGE || 'issflow-runner';
26
32
  const argv = process.argv.slice(2);
@@ -105,3 +111,7 @@ args.push(IMAGE, '-p', `/feature ${doc}`, '--dangerously-skip-permissions');
105
111
  const res = run('docker', args);
106
112
  if (res.status !== 0) die(`run exited with status ${res.status} — see output above; blockers land in docs/features/<slug>/BLOCKED.md`);
107
113
  console.log('feature-docker: done. Review the feature branch, then run /uat with the TEST-PLAN.');
114
+ }).catch((error) => {
115
+ console.error('feature-docker: ' + error.message);
116
+ process.exitCode = 1;
117
+ });