jostraca 0.31.0 → 0.31.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.
Files changed (67) hide show
  1. package/README.md +355 -0
  2. package/dist/build/BuildContext.d.ts +1 -0
  3. package/dist/build/BuildContext.js +10 -0
  4. package/dist/build/BuildContext.js.map +1 -1
  5. package/dist/build/BuildMeta.js +21 -4
  6. package/dist/build/BuildMeta.js.map +1 -1
  7. package/dist/build/FileHandler.d.ts +11 -4
  8. package/dist/build/FileHandler.js +468 -92
  9. package/dist/build/FileHandler.js.map +1 -1
  10. package/dist/cmp/Content.js.map +1 -1
  11. package/dist/cmp/Copy.js +5 -1
  12. package/dist/cmp/Copy.js.map +1 -1
  13. package/dist/cmp/File.js +2 -0
  14. package/dist/cmp/File.js.map +1 -1
  15. package/dist/cmp/Folder.js.map +1 -1
  16. package/dist/cmp/Fragment.js +36 -7
  17. package/dist/cmp/Fragment.js.map +1 -1
  18. package/dist/cmp/Inject.js +30 -1
  19. package/dist/cmp/Inject.js.map +1 -1
  20. package/dist/cmp/Line.js.map +1 -1
  21. package/dist/cmp/List.js.map +1 -1
  22. package/dist/cmp/None.js.map +1 -1
  23. package/dist/cmp/Project.js.map +1 -1
  24. package/dist/cmp/Slot.js.map +1 -1
  25. package/dist/diff.d.ts +36 -0
  26. package/dist/diff.js +446 -0
  27. package/dist/diff.js.map +1 -0
  28. package/dist/jostraca.d.ts +19 -18
  29. package/dist/jostraca.js +83 -24
  30. package/dist/jostraca.js.map +1 -1
  31. package/dist/op/ContentOp.js.map +1 -1
  32. package/dist/op/CopyOp.js +158 -22
  33. package/dist/op/CopyOp.js.map +1 -1
  34. package/dist/op/FileOp.js +26 -27
  35. package/dist/op/FileOp.js.map +1 -1
  36. package/dist/op/FolderOp.js +3 -0
  37. package/dist/op/FolderOp.js.map +1 -1
  38. package/dist/op/FragmentOp.js.map +1 -1
  39. package/dist/op/InjectOp.js +29 -7
  40. package/dist/op/InjectOp.js.map +1 -1
  41. package/dist/op/NoneOp.js.map +1 -1
  42. package/dist/op/ProjectOp.js.map +1 -1
  43. package/dist/op/SlotOp.js.map +1 -1
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/dist/types.d.ts +1 -0
  46. package/dist/util/basic.d.ts +5 -1
  47. package/dist/util/basic.js +218 -9
  48. package/dist/util/basic.js.map +1 -1
  49. package/dist/util/point.d.ts +8 -7
  50. package/dist/util/point.js.map +1 -1
  51. package/package.json +19 -11
  52. package/src/build/BuildContext.ts +12 -0
  53. package/src/build/BuildMeta.ts +24 -5
  54. package/src/build/FileHandler.ts +489 -121
  55. package/src/cmp/Copy.ts +5 -1
  56. package/src/cmp/File.ts +3 -0
  57. package/src/cmp/Fragment.ts +41 -7
  58. package/src/cmp/Inject.ts +38 -1
  59. package/src/diff.ts +657 -0
  60. package/src/jostraca.ts +83 -20
  61. package/src/op/CopyOp.ts +173 -22
  62. package/src/op/FileOp.ts +29 -31
  63. package/src/op/FolderOp.ts +6 -0
  64. package/src/op/InjectOp.ts +39 -7
  65. package/src/tsconfig.json +3 -1
  66. package/src/types.ts +5 -0
  67. package/src/util/basic.ts +250 -10
package/dist/jostraca.js CHANGED
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  };
35
35
  })();
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.PointUtil = exports.List = exports.Slot = exports.Line = exports.Copy = exports.Folder = exports.Fragment = exports.Inject = exports.File = exports.Content = exports.Project = exports.omap = exports.deep = exports.ucf = exports.lcf = exports.partify = exports.isbinext = exports.indent = exports.escre = exports.template = exports.names = exports.vmap = exports.cmap = exports.kebabify = exports.snakify = exports.camelify = exports.getx = exports.get = exports.each = exports.BuildContext = void 0;
37
+ exports.DiffUtil = exports.PointUtil = exports.List = exports.Slot = exports.Line = exports.Copy = exports.Folder = exports.Fragment = exports.Inject = exports.File = exports.Content = exports.Project = exports.omap = exports.deep = exports.ucf = exports.lcf = exports.partify = exports.isbinext = exports.isbincontent = exports.indent = exports.escre = exports.template = exports.names = exports.vmap = exports.cmap = exports.kebabify = exports.snakify = exports.camelify = exports.getx = exports.get = exports.each = exports.BuildContext = void 0;
38
38
  exports.Jostraca = Jostraca;
39
39
  exports.cmp = cmp;
40
40
  // TODO:
@@ -42,7 +42,6 @@ exports.cmp = cmp;
42
42
  // Options for each cmp; for copy, option to exclude ~ backups
43
43
  const Fs = __importStar(require("node:fs"));
44
44
  const node_async_hooks_1 = require("node:async_hooks");
45
- const jsonic_1 = require("jsonic");
46
45
  const shape_1 = require("shape");
47
46
  const memfs_1 = require("memfs");
48
47
  const BuildContext_1 = require("./build/BuildContext");
@@ -58,21 +57,21 @@ Object.defineProperty(exports, "snakify", { enumerable: true, get: function () {
58
57
  Object.defineProperty(exports, "kebabify", { enumerable: true, get: function () { return basic_1.kebabify; } });
59
58
  Object.defineProperty(exports, "cmap", { enumerable: true, get: function () { return basic_1.cmap; } });
60
59
  Object.defineProperty(exports, "vmap", { enumerable: true, get: function () { return basic_1.vmap; } });
60
+ Object.defineProperty(exports, "deep", { enumerable: true, get: function () { return basic_1.deep; } });
61
+ Object.defineProperty(exports, "omap", { enumerable: true, get: function () { return basic_1.omap; } });
61
62
  Object.defineProperty(exports, "names", { enumerable: true, get: function () { return basic_1.names; } });
62
63
  Object.defineProperty(exports, "template", { enumerable: true, get: function () { return basic_1.template; } });
63
64
  Object.defineProperty(exports, "escre", { enumerable: true, get: function () { return basic_1.escre; } });
64
65
  Object.defineProperty(exports, "indent", { enumerable: true, get: function () { return basic_1.indent; } });
66
+ Object.defineProperty(exports, "isbincontent", { enumerable: true, get: function () { return basic_1.isbincontent; } });
65
67
  Object.defineProperty(exports, "isbinext", { enumerable: true, get: function () { return basic_1.isbinext; } });
66
68
  Object.defineProperty(exports, "partify", { enumerable: true, get: function () { return basic_1.partify; } });
67
69
  Object.defineProperty(exports, "lcf", { enumerable: true, get: function () { return basic_1.lcf; } });
68
70
  Object.defineProperty(exports, "ucf", { enumerable: true, get: function () { return basic_1.ucf; } });
69
71
  const PointUtil = __importStar(require("./util/point"));
70
72
  exports.PointUtil = PointUtil;
71
- // TODO: the actual signatures
72
- const deep = jsonic_1.util.deep;
73
- exports.deep = deep;
74
- const omap = jsonic_1.util.omap;
75
- exports.omap = omap;
73
+ const DiffUtil = __importStar(require("./diff"));
74
+ exports.DiffUtil = DiffUtil;
76
75
  const Content_1 = require("./cmp/Content");
77
76
  Object.defineProperty(exports, "Content", { enumerable: true, get: function () { return Content_1.Content; } });
78
77
  const Line_1 = require("./cmp/Line");
@@ -104,6 +103,13 @@ const ContentOp_1 = require("./op/ContentOp");
104
103
  const NoneOp_1 = require("./op/NoneOp");
105
104
  const GLOBAL = global;
106
105
  const KONSOLE = GLOBAL['con' + 'sole'];
106
+ // One AsyncLocalStorage, created once and shared.
107
+ //
108
+ // `cmp()` resolves this at call time, so replacing it on every Jostraca()
109
+ // construction made every component depend on whichever instance happened
110
+ // to be built last. It stays on `global` so that two copies of the package
111
+ // (an npm dedupe miss) still interoperate.
112
+ GLOBAL.jostraca = GLOBAL.jostraca || new node_async_hooks_1.AsyncLocalStorage();
107
113
  const DEFAULT_LOGGER = {
108
114
  trace: (...args) => KONSOLE.log(new Date().toISOString(), 'TRACE', ...args),
109
115
  debug: (...args) => KONSOLE.log(new Date().toISOString(), 'DEBUG', ...args),
@@ -175,19 +181,23 @@ const ExistingShape = (0, shape_1.Shape)({
175
181
  }, { name: 'Jostraca Options (`existing` property)' });
176
182
  const sysFs = () => Fs;
177
183
  function Jostraca(gopts_in) {
178
- GLOBAL.jostraca = new node_async_hooks_1.AsyncLocalStorage();
179
184
  // Global options are shared by calls to `generate`.
180
185
  const gOpts = OptionsShape(gopts_in || {});
181
186
  const gUseMemFs = !!gOpts.mem;
182
- const gVol = deep({}, gOpts.vol);
187
+ const gVol = (0, basic_1.deep)({}, gOpts.vol);
183
188
  const gMemFs = gUseMemFs ? (0, memfs_1.memfs)(gVol) : undefined;
184
189
  function get_gMemFs() { return gMemFs ? gMemFs.fs : undefined; }
185
- const gGetFs = gOpts.fs || get_gMemFs || undefined;
190
+ // `get_gMemFs` is a function declaration, so it is always truthy. Only
191
+ // install it as the global provider when memfs is actually in use —
192
+ // otherwise it short-circuits the `sysFs` fallback in `generate` and
193
+ // resolves to `undefined`, leaving a plain `Jostraca()` with no
194
+ // filesystem at all.
195
+ const gGetFs = gOpts.fs || (gUseMemFs ? get_gMemFs : undefined);
186
196
  async function generate(opts_in, root) {
187
197
  const opts = OptionsShape(opts_in);
188
198
  // Parameters to `generate` override any global options.
189
199
  const useMemFS = null == opts.mem ? gUseMemFs : !!opts.mem;
190
- const vol = null == opts.vol ? gVol : deep({}, gVol, opts.vol);
200
+ const vol = null == opts.vol ? gVol : (0, basic_1.deep)({}, gVol, opts.vol);
191
201
  const memfs = useMemFS ?
192
202
  (null == opts.vol && null != gMemFs ? gMemFs : (0, memfs_1.memfs)(vol)) :
193
203
  undefined;
@@ -209,17 +219,29 @@ function Jostraca(gopts_in) {
209
219
  const model = null == opts.model ? null == gOpts.model ? {} : gOpts.model : opts.model;
210
220
  const existing = ExistingShape({
211
221
  // FIX: this does not work as generate opts get defaults from OptionsShape
212
- txt: deep({}, gOpts.existing.txt, opts.existing.txt),
213
- bin: deep({}, gOpts.existing.bin, opts.existing.bin),
222
+ txt: (0, basic_1.deep)({}, gOpts.existing.txt, opts.existing.txt),
223
+ bin: (0, basic_1.deep)({}, gOpts.existing.bin, opts.existing.bin),
214
224
  });
215
225
  // console.log('EXISTING', existing)
216
- const control = deep({}, gOpts.control, opts.control);
226
+ const control = (0, basic_1.deep)({}, gOpts.control, opts.control);
217
227
  // Component defaults.
218
- opts.cmp = deep({
228
+ opts.cmp = (0, basic_1.deep)({
219
229
  Copy: {
220
230
  ignore: [/~$/]
221
231
  }
222
232
  }, gOpts?.cmp, opts.cmp);
233
+ // Synthetic top-level node so the user's first component has a parent
234
+ // to append to, and so bare top-level SIBLINGS are children of a common
235
+ // root instead of orphans. Path is empty and kind 'none' is a build-phase
236
+ // noop, so it contributes no path segment and no output. Mirrors the
237
+ // rootNode the Go port already creates in Generate.
238
+ const rootnode = {
239
+ kind: 'none',
240
+ children: [],
241
+ path: [],
242
+ meta: {},
243
+ content: [],
244
+ };
223
245
  const ctx$ = {
224
246
  fs: () => fs,
225
247
  now: () => now(),
@@ -231,10 +253,25 @@ function Jostraca(gopts_in) {
231
253
  debug,
232
254
  // existing,
233
255
  model,
256
+ node: rootnode,
257
+ children: rootnode.children,
258
+ root: rootnode,
234
259
  };
260
+ // Only report warnings raised by *this* generate: the dlog buffer is
261
+ // process-global, so reading all of it re-emitted every warning from
262
+ // every earlier run.
263
+ // A monotonic sequence, NOT the buffer length: the buffer is capped
264
+ // and evicts, so a length-based mark goes permanently stale once a
265
+ // long-lived process fills it (see getdlog).
266
+ const dlogMark = dlog.seq();
235
267
  return GLOBAL.jostraca.run(ctx$, async () => {
236
- // Define phase
237
- root();
268
+ // Define phase.
269
+ //
270
+ // Awaited: an async define callback used to have its promise dropped
271
+ // on the floor, so the build phase ran against a partially built tree
272
+ // with no error. Awaiting a synchronous callback is a no-op beyond a
273
+ // microtask, and AsyncLocalStorage propagates across it.
274
+ await root();
238
275
  const ctx$ = GLOBAL.jostraca.getStore();
239
276
  // Build phase
240
277
  const buildctx = new BuildContext_1.BuildContext(folder, existing, control, ctx$.fs, ctx$.now);
@@ -250,7 +287,8 @@ function Jostraca(gopts_in) {
250
287
  res.vol = () => memfs.vol;
251
288
  res.fs = () => fs;
252
289
  }
253
- const dlogs = dlog.log();
290
+ const alldlogs = dlog.log();
291
+ const dlogs = alldlogs.filter((entry) => (entry.seq || 0) > dlogMark);
254
292
  if (0 < dlogs.length) {
255
293
  for (let dlogentry of dlogs) {
256
294
  log.debug({ point: 'jostraca-warning', dlogentry, note: String(dlogentry) });
@@ -261,6 +299,11 @@ function Jostraca(gopts_in) {
261
299
  }
262
300
  async function build(ctx$, buildctx) {
263
301
  const topnode = ctx$.node;
302
+ // No components were defined at all: nothing to walk, and nothing to
303
+ // record. Mirrors runBuild's `st.root == nil` bail in the Go port.
304
+ if (0 === topnode.children.length) {
305
+ return { node: topnode, ctx$, buildctx };
306
+ }
264
307
  await step(topnode, ctx$, buildctx);
265
308
  buildctx.bmeta.done();
266
309
  return { node: topnode, ctx$, buildctx };
@@ -314,6 +357,14 @@ function Jostraca(gopts_in) {
314
357
  function cmp(component) {
315
358
  const cf = (props, children) => {
316
359
  const ctx$ = GLOBAL.jostraca.getStore();
360
+ // Components only mean anything inside the define phase. Without this
361
+ // the next line throws a bare "Cannot read properties of undefined",
362
+ // which says nothing about the actual mistake.
363
+ if (null == ctx$) {
364
+ throw new Error('jostraca: component ' + (component.name || '<anon>') +
365
+ ' called outside generate(); components can only be used inside the ' +
366
+ 'callback passed to Jostraca().generate()');
367
+ }
317
368
  children = null == children ?
318
369
  (('function' === typeof props || Array.isArray(props)) ? props : null) : children;
319
370
  // if (undefined === props) {
@@ -335,8 +386,9 @@ function cmp(component) {
335
386
  meta: {},
336
387
  content: [],
337
388
  };
338
- ctx$.root = (ctx$.root || node);
339
- parent = ctx$.node || node;
389
+ // `parent` is ctx$.node, which generate() seeds with the synthetic root
390
+ // node, so top-level components are siblings under a common parent
391
+ // rather than the first one becoming the root and orphaning the rest.
340
392
  if (ctx$.debug) {
341
393
  node.meta.debug = (node.meta.debug || {});
342
394
  node.meta.debug.callsite = new Error('component: ' + component.name).stack;
@@ -349,10 +401,17 @@ function cmp(component) {
349
401
  if ('string' === typeof props.name) {
350
402
  node.path.push(props.name);
351
403
  }
352
- let out = component(props, children);
353
- ctx$.children = siblings;
354
- ctx$.node = parent;
355
- return out;
404
+ // finally: a component that throws must not leave the ambient tree
405
+ // cursor pointing at its own node — the error propagates out of
406
+ // generate(), but a caller that catches it would otherwise be left
407
+ // with a corrupted context.
408
+ try {
409
+ return component(props, children);
410
+ }
411
+ finally {
412
+ ctx$.children = siblings;
413
+ ctx$.node = parent;
414
+ }
356
415
  };
357
416
  Object.defineProperty(cf, 'name', { value: component.name });
358
417
  return cf;
@@ -1 +1 @@
1
- {"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentOp.js","sourceRoot":"","sources":["../../src/op/ContentOp.ts"],"names":[],"mappings":";;;AAGA,0CAAoC;AAGpC,MAAM,SAAS,GAAG;IAChB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAsB;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAE/C,IAAI,GAAG,GAAG,OAAO,CAAC,OAA4B,CAAA;QAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,GAAG,GAAG,IAAA,iBAAM,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,KAAW,EAAE,KAAU,EAAE,SAAc;IAC7C,CAAC;CACF,CAAA;AAIC,8BAAS"}
1
+ {"version":3,"file":"ContentOp.js","sourceRoot":"","sources":["../../src/op/ContentOp.ts"],"names":[],"mappings":";;;AAGA,0CAAoC;AAGpC,MAAM,SAAS,GAAG;IAChB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAsB;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAE/C,IAAI,GAAG,GAAG,OAAO,CAAC,OAA4B,CAAA;QAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,GAAG,GAAG,IAAA,iBAAM,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,KAAW,EAAE,KAAU,EAAE,SAAc;IAC7C,CAAC;CACF,CAAA;QAIC,SAAS"}
package/dist/op/CopyOp.js CHANGED
@@ -6,6 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CopyOp = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
8
  const jostraca_1 = require("../jostraca");
9
+ const basic_1 = require("../util/basic");
10
+ // Log non-fatal weirdness.
11
+ const dlog = (0, basic_1.getdlog)('jostraca', __filename);
12
+ const FileHandler_1 = require("../build/FileHandler");
9
13
  const FileOp_1 = require("./FileOp");
10
14
  const ON = 'Copy:';
11
15
  const IGNORED_RE = /(~|-jostraca-off)$/;
@@ -30,7 +34,7 @@ const CopyOp = {
30
34
  buildctx,
31
35
  };
32
36
  const spec = { name, frompath: from, topath: topath.join('/') };
33
- let content = processTemplate(state, fs.readFileSync(from).toString(), spec);
37
+ let content = processTemplate(state, fs.readFileSync(from), spec);
34
38
  buildctx.current.file.content.push(content);
35
39
  node.after = node.after || {};
36
40
  node.after.kind = 'file';
@@ -49,7 +53,7 @@ const CopyOp = {
49
53
  const fs = ctx$.fs();
50
54
  const kind = node.after.kind;
51
55
  const frompath = node.from;
52
- let topath = buildctx.current.folder.path.join('/');
56
+ let topath = buildctx.folderPath();
53
57
  const state = {
54
58
  fileCount: 0,
55
59
  folderCount: 0,
@@ -57,17 +61,40 @@ const CopyOp = {
57
61
  ctx$,
58
62
  buildctx,
59
63
  node,
60
- excludes: 'string' === node.exclude ? [node.exclude] :
61
- Array.isArray(node.exclude) ? node.exclude :
62
- []
64
+ // Real directory paths already entered, for symlink-cycle detection.
65
+ visited: new Set(),
66
+ // `'string' === node.exclude` compared the value against the literal
67
+ // text "string", so a string exclude never matched.
68
+ excludes: 'string' === typeof node.exclude ? [node.exclude] :
69
+ node.exclude instanceof RegExp ? [node.exclude] :
70
+ Array.isArray(node.exclude) ? node.exclude :
71
+ []
63
72
  };
73
+ // node.name carries the Copy `to` prop.
74
+ (0, FileHandler_1.validName)(node.name, 'Copy(to)', ON + 'after:');
64
75
  topath = null == node.name ? topath : topath + '/' + node.name;
65
76
  if ('file' === kind) {
66
77
  copyFile(frompath, topath, state, buildctx, fs);
67
78
  // FileOp.after(node, ctx$, buildctx)
68
79
  }
69
80
  else if ('copy' === kind) {
70
- walk(fs, state, node.path, frompath, topath);
81
+ // Seed the walk with an EMPTY path, so a Copy `exclude` names paths
82
+ // WITHIN THE COPIED TREE.
83
+ //
84
+ // This used to seed with `node.path`, which made the exclude base an
85
+ // artifact of which prop each enclosing component happens to use:
86
+ // `Folder` contributes a segment (it has `name`), `Project` does not
87
+ // (it has `folder`), and the Copy's own `to` does not either (it is
88
+ // read as `name` later, at op time). So a Copy nested one Folder deep
89
+ // needed `outer/sub/a.txt` while the same Copy at the top needed
90
+ // `sub/a.txt` — the same option, differently spelled, depending on
91
+ // where the component sat in the OUTPUT tree rather than on the
92
+ // source being copied.
93
+ //
94
+ // Nobody could rely on that deliberately, and the Go port matches
95
+ // this source-relative reading, so per CLAUDE.md the port pre-empted
96
+ // a latent bug here and TS is the side to correct.
97
+ walk(fs, state, [], frompath, topath);
71
98
  }
72
99
  else {
73
100
  // TODO: need Standrd JostracaError
@@ -76,17 +103,66 @@ const CopyOp = {
76
103
  },
77
104
  };
78
105
  exports.CopyOp = CopyOp;
106
+ const MAX_COPY_DEPTH = 64;
79
107
  function walk(fs, state, nodepath, from, to) {
80
108
  const FN = 'walk:';
81
109
  const buildctx = state.buildctx;
110
+ // statSync follows symlinks, so a link pointing at one of its own
111
+ // ancestors used to recurse until the stack blew. Track the real paths
112
+ // already entered ON THIS BRANCH, and cap depth as a backstop for
113
+ // filesystems where realpath cannot resolve.
114
+ //
115
+ // "on this branch" is load-bearing: `visited` must be the active ancestor
116
+ // chain, not every path the walk has ever seen. It is unwound at the end
117
+ // of this function. Without that, a source tree holding a real directory
118
+ // AND a sibling symlink to it had its SECOND entry (whichever the sorted
119
+ // readdir yielded later — often the real directory) reported as a cycle
120
+ // and its whole subtree silently dropped from the output.
121
+ const realfrom = realpath(fs, from);
122
+ if (state.visited.has(realfrom)) {
123
+ dlog('copy', 'symlink cycle, not descending: ' + from + ' -> ' + realfrom);
124
+ return;
125
+ }
126
+ if (MAX_COPY_DEPTH < nodepath.length) {
127
+ throw new Error(ON + FN + ' copy tree too deep (>' + MAX_COPY_DEPTH +
128
+ '), possible symlink cycle, path=' + from);
129
+ }
130
+ state.visited.add(realfrom);
82
131
  const entries = fs.readdirSync(from).sort();
83
132
  for (let name of entries) {
84
133
  const frompath = from + '/' + name;
85
134
  const topath = to + '/' + name;
135
+ // Both rejection tests run on the NAME and PATH alone, BEFORE the entry
136
+ // is stat'd. Statting first meant a dangling symlink threw ENOENT and
137
+ // aborted the whole copy even when the caller had explicitly excluded
138
+ // it — `exclude: ['broken-link']` could not skip the very entry that
139
+ // breaks the walk. Go evaluates shouldIgnoreCopyPath before its Stat,
140
+ // so this was a cross-stack divergence too.
141
+ // The ignore rule (`~` backups, `-jostraca-off`) has to be checked
142
+ // before the template/binary split. It used to sit only on the binary
143
+ // branch, so it never applied to text files — i.e. to almost
144
+ // everything, and `-jostraca-off` did nothing at all.
145
+ if (ignored(state, nodepath, name, topath)) {
146
+ continue;
147
+ }
148
+ // The caller's Copy `exclude` matches the SOURCE-RELATIVE path, and is
149
+ // tested HERE, before the directory/file split, so naming a directory
150
+ // PRUNES its whole subtree. The test used to live inside
151
+ // `excludeFile()`, which only the two FILE branches call, so
152
+ // `exclude: ['sub']` was a silent no-op while `exclude: ['sub/a.txt']`
153
+ // worked. The Go port already pruned, so per CLAUDE.md TS is the side
154
+ // to correct.
155
+ //
156
+ // The built-in ignore rules above (`~` backups, `-jostraca-off`) are a
157
+ // SEPARATE list and keep matching the bare NAME, not this path.
158
+ //
159
+ // NOT Path.sep - needs to be canonical.
160
+ if (excluded(nodepath.concat(name).join('/'), state.excludes)) {
161
+ continue;
162
+ }
86
163
  const stat = fs.statSync(frompath);
87
164
  const isDirectory = stat.isDirectory();
88
165
  const isTemplateFile = isTemplate(name);
89
- const isIgnored = ignored(state, nodepath, name, topath);
90
166
  if (isDirectory) {
91
167
  state.folderCount++;
92
168
  walk(fs, state, nodepath.concat(name), frompath, topath);
@@ -100,7 +176,7 @@ function walk(fs, state, nodepath, from, to) {
100
176
  state.fileCount++;
101
177
  state.tmCount++;
102
178
  }
103
- else if (!isIgnored) {
179
+ else {
104
180
  const excluded = excludeFile(fs, state, nodepath, name, topath);
105
181
  if (excluded) {
106
182
  continue;
@@ -109,34 +185,85 @@ function walk(fs, state, nodepath, from, to) {
109
185
  state.fileCount++;
110
186
  }
111
187
  }
188
+ // Unwind: this path is no longer an ancestor of anything being walked.
189
+ state.visited.delete(realfrom);
112
190
  }
113
191
  function copyFile(frompath, topath, state, buildctx, fs) {
114
192
  const FN = 'copyFile:';
115
- const src = fs.readFileSync(frompath, 'utf8');
193
+ // Read bytes, not utf8. The extension list that routed us here cannot be
194
+ // exhaustive (.wasm, .zst, .sqlite, extensionless binaries), and decoding
195
+ // a binary as utf8 then re-encoding it replaces every invalid sequence
196
+ // with U+FFFD — corrupting the copy. Sniff the content and pass bytes
197
+ // through untouched when it does not look like text.
198
+ //
199
+ // The extension is checked FIRST, and the sniff can only promote what it
200
+ // does not cover: a listed extension is binary whatever its bytes look
201
+ // like. The tree walk only routes non-listed extensions here, so this
202
+ // clause is about the SINGLE-FILE copy, which used to reach this
203
+ // function with any extension at all and consult the content alone — so
204
+ // an `a.png` holding ASCII was templated and governed by `existing.txt`
205
+ // as a single-file copy, and neither as part of a tree.
206
+ //
207
+ // `saveBinary`, not `save`: save re-derives the classification from the
208
+ // destination extension, which would send a sniffed `.wasm` back to
209
+ // `existing.txt` and let `txt.diff` write conflict markers into binary.
210
+ const raw = fs.readFileSync(frompath);
211
+ if ((0, jostraca_1.isbinext)(frompath) || (0, basic_1.isbincontent)(raw)) {
212
+ buildctx.fh.saveBinary(topath, raw, ON + FN);
213
+ return;
214
+ }
215
+ const src = raw.toString('utf8');
116
216
  const out = (0, jostraca_1.template)(src, state.ctx$.model, { replace: state.node.replace });
117
217
  buildctx.fh.save(topath, out, ON + FN);
118
218
  }
119
219
  // TODO: needs an option
120
220
  function ignored(state, nodepath, name, topath) {
121
- return IGNORED_RE.test(name);
221
+ if (IGNORED_RE.test(name)) {
222
+ return true;
223
+ }
224
+ // The CONFIGURED ignore regexes match the bare NAME, exactly as the
225
+ // built-in rules above do. They used to be tested inside `excludeFile()`,
226
+ // which only the two FILE branches call, so a regex naming a directory
227
+ // was a no-op in TS while the Go port pruned the subtree.
228
+ for (const ignoreRE of state.ctx$.opts.cmp.Copy.ignore) {
229
+ // Reset `lastIndex` for the same reason `excluded()` does: these are
230
+ // caller-supplied regexes reused across every entry in the tree, and a
231
+ // `g` or `y` flag makes `test` resume from the previous match.
232
+ ignoreRE.lastIndex = 0;
233
+ if (ignoreRE.test(name)) {
234
+ return true;
235
+ }
236
+ }
237
+ return false;
238
+ }
239
+ // Resolve a directory to its canonical path so a symlink and its target
240
+ // compare equal. Providers without realpathSync (or a path that cannot be
241
+ // resolved) fall back to the path as given — the depth cap still applies.
242
+ function realpath(fs, p) {
243
+ if ('function' !== typeof fs.realpathSync) {
244
+ return p;
245
+ }
246
+ try {
247
+ return fs.realpathSync(p);
248
+ }
249
+ catch (err) {
250
+ return p;
251
+ }
122
252
  }
123
253
  function excludeFile(fs, state, nodepath, name, topath) {
124
254
  const { opts } = state.ctx$;
125
255
  const { log } = state.buildctx;
126
256
  let exclude = false;
127
- for (let ignoreRE of opts.cmp.Copy.ignore) {
128
- if (ignoreRE.test(name)) {
129
- return true;
130
- }
131
- }
257
+ // NOTE: the configured Cmp.Copy.ignore regexes are NOT tested here -
258
+ // `ignored()` tests them, alongside the built-in rules, for directory
259
+ // and file entries alike.
132
260
  // NOT Path.sep - needs to be canonical
133
261
  const rpath = nodepath.concat(name).join('/');
134
262
  // TOOD: use exclude only for actual excludes, refactor logic to ignore if exists,
135
263
  // use a different prop for that
136
264
  // const fileExists = fs.existsSync(topath)
137
- if (excluded(rpath, state.excludes)) {
138
- return true;
139
- }
265
+ // NOTE: the caller's `exclude` list is NOT tested here - walk() tests it
266
+ // for directory and file entries alike, so that it can prune subtrees.
140
267
  if (true !== opts.exclude) {
141
268
  return false;
142
269
  }
@@ -166,21 +293,30 @@ function excluded(path, excludes) {
166
293
  return true;
167
294
  }
168
295
  else if (exc instanceof RegExp) {
296
+ // `lastIndex` is reset before every test. A RegExp carrying `g` or
297
+ // `y` is STATEFUL: `test` resumes from where the previous call
298
+ // stopped, so reusing one instance across a tree matched every other
299
+ // path — `exclude: /a/g` over a1,a2,a3 excluded a1 and a3 and copied
300
+ // a2. Go's regexp has no such cursor, so this was a cross-stack
301
+ // divergence as well as a surprise on its own terms.
302
+ exc.lastIndex = 0;
169
303
  if (exc.test(path))
170
304
  return true;
171
305
  }
172
306
  }
173
307
  return false;
174
308
  }
175
- function processTemplate(state, src, spec) {
176
- if (isTemplate(spec.name)) {
177
- return (0, jostraca_1.template)(src, state.ctx$.model, {
309
+ function processTemplate(state, raw, spec) {
310
+ // Same reasoning as copyFile: the extension check alone is not enough to
311
+ // know a file is safe to decode and re-encode as utf8.
312
+ if (isTemplate(spec.name) && !(0, basic_1.isbincontent)(raw)) {
313
+ return (0, jostraca_1.template)(raw.toString('utf8'), state.ctx$.model, {
178
314
  replace: {
179
315
  ...(state.node?.replace || {}),
180
316
  }
181
317
  });
182
318
  }
183
- return src;
319
+ return raw;
184
320
  }
185
321
  function isTemplate(name) {
186
322
  return !(0, jostraca_1.isbinext)(name);
@@ -1 +1 @@
1
- {"version":3,"file":"CopyOp.js","sourceRoot":"","sources":["../../src/op/CopyOp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CopyOp.js","sourceRoot":"","sources":["../../src/op/CopyOp.ts"],"names":[],"mappings":"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"}