jostraca 0.10.1 → 0.12.0

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 (44) hide show
  1. package/dist/cmp/Content.js.map +1 -1
  2. package/dist/cmp/Copy.js.map +1 -1
  3. package/dist/cmp/Fragment.js +35 -1
  4. package/dist/cmp/Fragment.js.map +1 -1
  5. package/dist/cmp/Line.d.ts +2 -0
  6. package/dist/cmp/Line.js +17 -0
  7. package/dist/cmp/Line.js.map +1 -0
  8. package/dist/cmp/Slot.d.ts +2 -0
  9. package/dist/cmp/Slot.js +12 -0
  10. package/dist/cmp/Slot.js.map +1 -0
  11. package/dist/jostraca.d.ts +3 -1
  12. package/dist/jostraca.js +32 -4
  13. package/dist/jostraca.js.map +1 -1
  14. package/dist/op/ContentOp.js +2 -10
  15. package/dist/op/ContentOp.js.map +1 -1
  16. package/dist/op/CopyOp.js +5 -0
  17. package/dist/op/CopyOp.js.map +1 -1
  18. package/dist/op/FragmentOp.d.ts +1 -1
  19. package/dist/op/FragmentOp.js +3 -30
  20. package/dist/op/FragmentOp.js.map +1 -1
  21. package/dist/op/SlotOp.d.ts +6 -0
  22. package/dist/op/SlotOp.js +18 -0
  23. package/dist/op/SlotOp.js.map +1 -0
  24. package/dist/tsconfig.tsbuildinfo +1 -1
  25. package/dist/types.d.ts +9 -1
  26. package/dist/utility.d.ts +1 -0
  27. package/dist/utility.js +96 -6
  28. package/dist/utility.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/cmp/Content.ts +1 -0
  31. package/src/cmp/Copy.ts +0 -2
  32. package/src/cmp/Fragment.ts +47 -2
  33. package/src/cmp/Line.ts +27 -0
  34. package/src/cmp/Line.ts~ +23 -0
  35. package/src/cmp/Slot.ts +19 -0
  36. package/src/cmp/Slot.ts~ +24 -0
  37. package/src/jostraca.ts +41 -5
  38. package/src/op/ContentOp.ts +2 -11
  39. package/src/op/CopyOp.ts +6 -0
  40. package/src/op/FragmentOp.ts +3 -38
  41. package/src/op/SlotOp.ts +30 -0
  42. package/src/op/SlotOp.ts~ +31 -0
  43. package/src/types.ts +14 -3
  44. package/src/utility.ts +92 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../src/cmp/Content.ts"],"names":[],"mappings":";;;AAGA,0CAA2C;AAG3C,MAAM,OAAO,GAAG,IAAA,cAAG,EAAC,SAAS,OAAO,CAAC,KAAU,EAAE,QAAa;IAC5D,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;IACrB,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAChD,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;AACxB,CAAC,CAAC,CAAA;AAKA,0BAAO"}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../src/cmp/Content.ts"],"names":[],"mappings":";;;AAGA,0CAA2C;AAG3C,MAAM,OAAO,GAAG,IAAA,cAAG,EAAC,SAAS,OAAO,CAAC,KAAU,EAAE,QAAa;IAC5D,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;IACrB,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAEhD,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;AACxB,CAAC,CAAC,CAAA;AAKA,0BAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Copy.js","sourceRoot":"","sources":["../../src/cmp/Copy.ts"],"names":[],"mappings":";;;AAGA,0CAAiC;AAGjC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU,EAAE,SAAc;IACvD,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAElC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;AACrE,CAAC,CAAC,CAAA;AAKA,oBAAI"}
1
+ {"version":3,"file":"Copy.js","sourceRoot":"","sources":["../../src/cmp/Copy.ts"],"names":[],"mappings":";;;AAGA,0CAAiC;AAGjC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU,EAAE,SAAc;IACvD,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;AACrE,CAAC,CAAC,CAAA;AAIA,oBAAI"}
@@ -1,14 +1,48 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.Fragment = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
4
8
  const jostraca_1 = require("../jostraca");
5
9
  const Fragment = (0, jostraca_1.cmp)(function Fragment(props, children) {
6
10
  const node = props.ctx$.node;
7
11
  node.kind = 'fragment';
8
12
  node.from = props.from;
9
13
  node.indent = props.indent;
10
- node.meta.replace = props.replace;
14
+ // const replace = node.meta.replace = props.replace
15
+ const replace = props.replace || {};
16
+ const { fs, folder, model } = props.ctx$;
17
+ let frompath = node.from;
18
+ // TODO: this is relative to the output - but that is just one case - provide more control?
19
+ if (!node_path_1.default.isAbsolute(frompath)) {
20
+ frompath = node_path_1.default.join(folder, ...node.path, frompath);
21
+ }
22
+ let src = fs.readFileSync(frompath, 'utf8');
23
+ const slotnames = {};
24
+ node.filter = (({ props, component }) => (('Slot' === component.name ? slotnames[props.name] = true : null), false));
11
25
  (0, jostraca_1.each)(children, { call: true });
26
+ node.filter = undefined;
27
+ replace['/[ \\t]*[-<!/#*]*[ \\t]*<\\[SLOT]>[ \\t]*[->/#*]*[ \\t]*/'] =
28
+ () => {
29
+ node.filter = (({ component }) => 'Slot' !== component.name);
30
+ (0, jostraca_1.each)(children, { call: true });
31
+ node.filter = undefined;
32
+ };
33
+ (0, jostraca_1.each)(slotnames, (slot) => {
34
+ replace['/[ \\t]*[-<!/#*]*[ \\t]*<\\[SLOT:' +
35
+ (0, jostraca_1.escre)(slot.key$) +
36
+ ']>[ \\t]*[->/#*]*[ \\t]*/'] = () => {
37
+ node.filter = (({ props, component }) => 'Slot' === component.name && slot.key$ === props.name);
38
+ (0, jostraca_1.each)(children, { call: true });
39
+ node.filter = undefined;
40
+ };
41
+ });
42
+ (0, jostraca_1.template)(src, model, {
43
+ replace,
44
+ handle: (s) => null == s ? null : (0, jostraca_1.Content)(s)
45
+ });
12
46
  });
13
47
  exports.Fragment = Fragment;
14
48
  //# sourceMappingURL=Fragment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../src/cmp/Fragment.ts"],"names":[],"mappings":";;;AAGA,0CAAuC;AAGvC,MAAM,QAAQ,GAAG,IAAA,cAAG,EAAC,SAAS,QAAQ,CAAC,KAAU,EAAE,QAAa;IAC9D,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAElC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAEjC,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA;AAIA,4BAAQ"}
1
+ {"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../src/cmp/Fragment.ts"],"names":[],"mappings":";;;;;;AACA,0DAA4B;AAI5B,0CAAiE;AAGjE,MAAM,QAAQ,GAAG,IAAA,cAAG,EAAC,SAAS,QAAQ,CAAC,KAAU,EAAE,QAAa;IAC9D,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAElC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1B,oDAAoD;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;IAGnC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;IACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAA;IAElC,2FAA2F;IAC3F,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAG3C,MAAM,SAAS,GAA4B,EAAE,CAAA;IAE7C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACtC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7E,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IAEvB,OAAO,CAAC,2DAA2D,CAAC;QAClE,GAAG,EAAE;YACH,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,CAAA;YAC5D,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACzB,CAAC,CAAA;IAEH,IAAA,eAAI,EAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE;QAC5B,OAAO,CACL,mCAAmC;YACnC,IAAA,gBAAK,EAAC,IAAI,CAAC,IAAI,CAAC;YAChB,2BAA2B,CAC5B,GAAG,GAAG,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACtC,MAAM,KAAK,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;YACxD,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,mBAAQ,EAAC,GAAG,EAAE,KAAK,EAAE;QACnB,OAAO;QACP,MAAM,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC;KACtD,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAIA,4BAAQ"}
@@ -0,0 +1,2 @@
1
+ declare const Line: import("../types").Component;
2
+ export { Line };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Line = void 0;
4
+ const jostraca_1 = require("../jostraca");
5
+ const Line = (0, jostraca_1.cmp)(function Line(props, children) {
6
+ const node = props.ctx$.node;
7
+ node.kind = 'content';
8
+ let src = null != props.arg ? props.arg :
9
+ null != props.src ? props.src :
10
+ 'string' === typeof children ? children : '';
11
+ src += '\n';
12
+ src = (0, jostraca_1.template)(src, props.ctx$.model);
13
+ node.content = src;
14
+ node.name = props.name;
15
+ });
16
+ exports.Line = Line;
17
+ //# sourceMappingURL=Line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Line.js","sourceRoot":"","sources":["../../src/cmp/Line.ts"],"names":[],"mappings":";;;AAGA,0CAA2C;AAG3C,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU,EAAE,QAAa;IACtD,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;IAErB,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAEhD,GAAG,IAAI,IAAI,CAAA;IAEX,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;AACxB,CAAC,CAAC,CAAA;AAKA,oBAAI"}
@@ -0,0 +1,2 @@
1
+ declare const Slot: import("../types").Component;
2
+ export { Slot };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Slot = void 0;
4
+ const jostraca_1 = require("../jostraca");
5
+ const Slot = (0, jostraca_1.cmp)(function Slot(props, children) {
6
+ const node = props.ctx$.node;
7
+ node.kind = 'slot';
8
+ node.name = props.name;
9
+ (0, jostraca_1.each)(children, { call: true });
10
+ });
11
+ exports.Slot = Slot;
12
+ //# sourceMappingURL=Slot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slot.js","sourceRoot":"","sources":["../../src/cmp/Slot.ts"],"names":[],"mappings":";;;AAGA,0CAAuC;AAGvC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU,EAAE,QAAa;IACtD,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAEtB,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA;AAIA,oBAAI"}
@@ -1,6 +1,8 @@
1
1
  import type { JostracaOptions, Node, Component } from './types';
2
2
  import { each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, template, escre } from './utility';
3
3
  import { Content } from './cmp/Content';
4
+ import { Line } from './cmp/Line';
5
+ import { Slot } from './cmp/Slot';
4
6
  import { Copy } from './cmp/Copy';
5
7
  import { File } from './cmp/File';
6
8
  import { Inject } from './cmp/Inject';
@@ -12,4 +14,4 @@ declare function Jostraca(): {
12
14
  };
13
15
  declare function cmp(component: Function): Component;
14
16
  export type { JostracaOptions, Component, Node, };
15
- export { Jostraca, cmp, each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, template, escre, Project, Content, File, Inject, Fragment, Folder, Copy, };
17
+ export { Jostraca, cmp, each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, template, escre, Project, Content, File, Inject, Fragment, Folder, Copy, Line, Slot, };
package/dist/jostraca.js CHANGED
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.Copy = exports.Folder = exports.Fragment = exports.Inject = exports.File = exports.Content = exports.Project = exports.escre = exports.template = exports.names = exports.vmap = exports.cmap = exports.kebabify = exports.snakify = exports.camelify = exports.getx = exports.get = exports.select = exports.each = void 0;
40
+ exports.Slot = exports.Line = exports.Copy = exports.Folder = exports.Fragment = exports.Inject = exports.File = exports.Content = exports.Project = exports.escre = exports.template = exports.names = exports.vmap = exports.cmap = exports.kebabify = exports.snakify = exports.camelify = exports.getx = exports.get = exports.select = exports.each = void 0;
41
41
  exports.Jostraca = Jostraca;
42
42
  exports.cmp = cmp;
43
43
  // TODO:
@@ -61,6 +61,10 @@ Object.defineProperty(exports, "template", { enumerable: true, get: function ()
61
61
  Object.defineProperty(exports, "escre", { enumerable: true, get: function () { return utility_1.escre; } });
62
62
  const Content_1 = require("./cmp/Content");
63
63
  Object.defineProperty(exports, "Content", { enumerable: true, get: function () { return Content_1.Content; } });
64
+ const Line_1 = require("./cmp/Line");
65
+ Object.defineProperty(exports, "Line", { enumerable: true, get: function () { return Line_1.Line; } });
66
+ const Slot_1 = require("./cmp/Slot");
67
+ Object.defineProperty(exports, "Slot", { enumerable: true, get: function () { return Slot_1.Slot; } });
64
68
  const Copy_1 = require("./cmp/Copy");
65
69
  Object.defineProperty(exports, "Copy", { enumerable: true, get: function () { return Copy_1.Copy; } });
66
70
  const File_1 = require("./cmp/File");
@@ -77,6 +81,7 @@ const CopyOp_1 = require("./op/CopyOp");
77
81
  const ProjectOp_1 = require("./op/ProjectOp");
78
82
  const FolderOp_1 = require("./op/FolderOp");
79
83
  const FileOp_1 = require("./op/FileOp");
84
+ const SlotOp_1 = require("./op/SlotOp");
80
85
  const InjectOp_1 = require("./op/InjectOp");
81
86
  const FragmentOp_1 = require("./op/FragmentOp");
82
87
  const ContentOp_1 = require("./op/ContentOp");
@@ -97,6 +102,12 @@ function Jostraca() {
97
102
  const meta = opts.meta || {};
98
103
  const folder = opts.folder || '.';
99
104
  const log = opts.log || DEFAULT_LOGGER;
105
+ const debug = !!opts.debug;
106
+ const doBuild = false !== opts.build;
107
+ // Component defaults.
108
+ opts.cmp = (opts.cmp || {});
109
+ opts.cmp.Copy = (opts.cmp.Copy || {});
110
+ opts.cmp.Copy.ignore = (opts.cmp.Copy.ignore || [/~$/]);
100
111
  const ctx$ = {
101
112
  folder,
102
113
  content: null,
@@ -104,6 +115,7 @@ function Jostraca() {
104
115
  fs,
105
116
  opts,
106
117
  log,
118
+ debug,
107
119
  };
108
120
  return GLOBAL.jostraca.run(ctx$, async () => {
109
121
  // Define phase
@@ -112,6 +124,7 @@ function Jostraca() {
112
124
  // console.dir(ctx$.node, { depth: null })
113
125
  // Build phase
114
126
  const buildctx = {
127
+ root: ctx$.root,
115
128
  fs,
116
129
  folder,
117
130
  current: {
@@ -120,7 +133,9 @@ function Jostraca() {
120
133
  }
121
134
  }
122
135
  };
123
- await build(ctx$, buildctx);
136
+ if (doBuild) {
137
+ await build(ctx$, buildctx);
138
+ }
124
139
  return buildctx;
125
140
  });
126
141
  }
@@ -183,6 +198,7 @@ function Jostraca() {
183
198
  fragment: FragmentOp_1.FragmentOp,
184
199
  content: ContentOp_1.ContentOp,
185
200
  copy: CopyOp_1.CopyOp,
201
+ slot: SlotOp_1.SlotOp,
186
202
  none: NoneOp_1.NoneOp,
187
203
  };
188
204
  return {
@@ -191,11 +207,18 @@ function Jostraca() {
191
207
  }
192
208
  function cmp(component) {
193
209
  const cf = (props, children) => {
194
- props = props || {};
210
+ children = null == children ?
211
+ (('function' === typeof props || Array.isArray(props)) ? props : null) : children;
195
212
  if (null == props || 'object' !== typeof props) {
196
213
  props = { arg: props };
197
214
  }
198
215
  props.ctx$ = GLOBAL.jostraca.getStore();
216
+ let parent = props.ctx$.node;
217
+ // console.log('BBB', component, props, parent?.filter?.({ props }))
218
+ if (parent?.filter && !parent.filter({ props, children, component })) {
219
+ // console.log('PF', component, props)
220
+ return undefined;
221
+ }
199
222
  children = 'function' === typeof children ? [children] : children;
200
223
  let node = {
201
224
  kind: 'none',
@@ -203,7 +226,12 @@ function cmp(component) {
203
226
  path: [],
204
227
  meta: {},
205
228
  };
206
- const parent = props.ctx$.node = (props.ctx$.node || node);
229
+ props.ctx$.root = (props.ctx$.root || node);
230
+ parent = props.ctx$.node || node;
231
+ if (props.ctx$.debug) {
232
+ node.meta.debug = (node.meta.debug || {});
233
+ node.meta.debug.callsite = new Error('component: ' + component.name).stack;
234
+ }
207
235
  const siblings = props.ctx$.children = (props.ctx$.children || []);
208
236
  siblings.push(node);
209
237
  props.ctx$.children = node.children;
@@ -1 +1 @@
1
- {"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0PlD,4BAAQ;AACR,kBAAG;AAzPL,QAAQ;AACR,iFAAiF;AACjF,8DAA8D;AAG9D,4CAA6B;AAC7B,0DAA4B;AAE5B,uDAAoD;AAYpD,uCAakB;AA0NhB,qFAtOA,cAAI,OAsOA;AACJ,uFAtOA,gBAAM,OAsOA;AACN,oFAtOA,aAAG,OAsOA;AACH,qFAtOA,cAAI,OAsOA;AACJ,yFAtOA,kBAAQ,OAsOA;AACR,wFAtOA,iBAAO,OAsOA;AACP,yFAtOA,kBAAQ,OAsOA;AACR,qFAtOA,cAAI,OAsOA;AACJ,qFAtOA,cAAI,OAsOA;AACJ,sFAtOA,eAAK,OAsOA;AACL,yFAtOA,kBAAQ,OAsOA;AACR,sFAtOA,eAAK,OAsOA;AAlOP,2CAAuC;AAqOrC,wFArOO,iBAAO,OAqOP;AApOT,qCAAiC;AAyO/B,qFAzOO,WAAI,OAyOP;AAxON,qCAAiC;AAoO/B,qFApOO,WAAI,OAoOP;AAnON,yCAAqC;AAoOnC,uFApOO,eAAM,OAoOP;AAnOR,6CAAyC;AAoOvC,yFApOO,mBAAQ,OAoOP;AAnOV,yCAAqC;AAoOnC,uFApOO,eAAM,OAoOP;AAnOR,2CAAuC;AA8NrC,wFA9NO,iBAAO,OA8NP;AA5NT,wCAAoC;AACpC,8CAA0C;AAC1C,4CAAwC;AACxC,wCAAoC;AACpC,4CAAwC;AACxC,gDAA4C;AAC5C,8CAA0C;AAC1C,wCAAoC;AAIpC,MAAM,MAAM,GAAI,MAAc,CAAA;AAE9B,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClF,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClF,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChF,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjF,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACpF,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACrF,CAAA;AAGD,SAAS,QAAQ;IACf,MAAM,CAAC,QAAQ,GAAG,IAAI,oCAAiB,EAAE,CAAA;IAGzC,KAAK,UAAU,QAAQ,CAAC,IAAqB,EAAE,IAAc;QAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAA;QACjC,MAAM,GAAG,GAAQ,IAAI,CAAC,GAAG,IAAI,cAAc,CAAA;QAE3C,MAAM,IAAI,GAAG;YACX,MAAM;YACN,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,EAAE;YACF,IAAI;YACJ,GAAG;SACJ,CAAA;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC1C,eAAe;YACf,IAAI,EAAE,CAAA;YAEN,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;YAEvC,0CAA0C;YAE1C,cAAc;YAEd,MAAM,QAAQ,GAAG;gBACf,EAAE;gBACF,MAAM;gBACN,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,MAAM,EAAE,MAAM;qBACf;iBACF;aACF,CAAA;YACD,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC3B,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IAGD,KAAK,UAAU,KAAK,CAAC,IAAS,EAAE,QAAa;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAEzB,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;QACnC,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAA;QAE5E,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CACnC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,mBAAmB;YACnB,gDAAgD;QAClD,CAAC;QAED,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA;QAClB,qCAAqC;QAErC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAGnC,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7D,MAAM,GAAG,GAAG;gBACV,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;gBAChB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO;aAC9B,CAAA;YACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,+CAA+C;QACjD,CAAC;QAGD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAGD,KAAK,UAAU,IAAI,CAAC,IAAU,EAAE,IAAS,EAAE,QAAa;QACtD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7C,CAAC;YAED,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAErC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;gBACvC,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,MAAM,GAAG,CAAA;YACX,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAA;YACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACpB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAGD,MAAM,KAAK,GAA0B;QACnC,OAAO,EAAE,qBAAS;QAClB,MAAM,EAAE,mBAAQ;QAChB,IAAI,EAAE,eAAM;QACZ,MAAM,EAAE,mBAAQ;QAChB,QAAQ,EAAE,uBAAU;QACpB,OAAO,EAAE,qBAAS;QAClB,IAAI,EAAE,eAAM;QACZ,IAAI,EAAE,eAAM;KACb,CAAA;IAGD,OAAO;QACL,QAAQ;KACT,CAAA;AACH,CAAC;AAGD,SAAS,GAAG,CAAC,SAAmB;IAC9B,MAAM,EAAE,GAAG,CAAC,KAAU,EAAE,QAAc,EAAE,EAAE;QACxC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAA;QACnB,IAAI,IAAI,IAAI,KAAK,IAAI,QAAQ,KAAK,OAAO,KAAK,EAAE,CAAC;YAC/C,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACvC,QAAQ,GAAG,UAAU,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QAEjE,IAAI,IAAI,GAAS;YACf,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;SACT,CAAA;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;QAClE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnB,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACnC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,QAAQ,KAAK,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1B,qDAAqD;YACrD,kBAAkB;QACpB,CAAC;QAED,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEpC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;QAExB,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5D,OAAO,EAAE,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContentOp = void 0;
4
4
  const ContentOp = {
5
5
  before(node, _ctx$, buildctx) {
6
- if (null == node.name) {
7
- const content = buildctx.current.content = node;
8
- buildctx.current.file.content.push(content.content);
9
- }
10
- else {
11
- let contentMap = buildctx.current.file.meta.content_map = (buildctx.current.file.meta.content_map || {});
12
- contentMap[node.name] = (contentMap[node.name] || []);
13
- contentMap[node.name].push(node.content);
14
- // console.log('CN', node.name, contentMap)
15
- }
6
+ const content = buildctx.current.content = node;
7
+ buildctx.current.file.content.push(content.content);
16
8
  },
17
9
  after(_node, _ctx$, buildctx) { },
18
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ContentOp.js","sourceRoot":"","sources":["../../src/op/ContentOp.ts"],"names":[],"mappings":";;;AAKA,MAAM,SAAS,GAAG;IAChB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;YAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,CAAC;aACI,CAAC;YACJ,IAAI,UAAU,GACZ,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;YACzF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACrD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxC,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAW,EAAE,KAAU,EAAE,QAAa,IAAI,CAAC;CAClD,CAAA;AAIC,8BAAS"}
1
+ {"version":3,"file":"ContentOp.js","sourceRoot":"","sources":["../../src/op/ContentOp.ts"],"names":[],"mappings":";;;AAKA,MAAM,SAAS,GAAG;IAChB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,KAAW,EAAE,KAAU,EAAE,QAAa,IAAI,CAAC;CAClD,CAAA;AAIC,8BAAS"}
package/dist/op/CopyOp.js CHANGED
@@ -121,6 +121,11 @@ function excludeFile(state, nodepath, name, topath) {
121
121
  const { opts } = state.ctx$;
122
122
  const { fs, log } = state.buildctx;
123
123
  let exclude = false;
124
+ for (let ignoreRE of opts.cmp.Copy.ignore) {
125
+ if (name.match(ignoreRE)) {
126
+ return true;
127
+ }
128
+ }
124
129
  // NOT Path.sep - needs to be canonical
125
130
  const rpath = nodepath.concat(name).join('/');
126
131
  const fileExists = fs.existsSync(topath);
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import type { Node } from '../jostraca';
2
2
  declare const FragmentOp: {
3
3
  before(node: Node, _ctx$: any, buildctx: any): void;
4
- after(node: Node, ctx$: any, buildctx: any): void;
4
+ after(node: Node, _ctx$: any, buildctx: any): void;
5
5
  };
6
6
  export { FragmentOp };
@@ -1,42 +1,15 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.FragmentOp = void 0;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const jostraca_1 = require("../jostraca");
9
4
  const FragmentOp = {
10
5
  before(node, _ctx$, buildctx) {
11
6
  node.meta.fragment_file = buildctx.current.file;
12
7
  const cfile = buildctx.current.file = node;
13
- cfile.filepath = buildctx.current.folder.path.join('/') + '#' + node.name;
8
+ cfile.filepath = buildctx.current.folder.path.join('/') + '?fragment=' + node.name;
14
9
  cfile.content = [];
15
10
  },
16
- after(node, ctx$, buildctx) {
17
- const { fs } = buildctx;
18
- let frompath = node.from;
19
- // TODO: this is relative to the output - but that is just one case - provide more control?
20
- if (!node_path_1.default.isAbsolute(frompath)) {
21
- frompath = node_path_1.default.join(buildctx.folder, ...node.path, frompath);
22
- }
23
- let src = fs.readFileSync(frompath, 'utf8');
24
- let replace = node.meta.replace || {};
25
- let content = buildctx.current.file.content;
26
- if (0 < content.length) {
27
- // NOTE: RegExp consumes comment markers in same line.
28
- replace['/[ \\t]*[-</#*]*[ \\t]*<\\[SLOT]>[ \\t]*[-</#*]*[ \\t]*/'] = content.join('');
29
- }
30
- const contentMap = node.meta.content_map || {};
31
- (0, jostraca_1.each)(contentMap, (content) => {
32
- replace['/[ \\t]*[-</#*]*[ \\t]*<\\[SLOT:' +
33
- (0, jostraca_1.escre)(content.key$) +
34
- ']>[ \\t]*[-</#*]*[ \\t]*/'] =
35
- content.join('');
36
- });
37
- // console.log('REPLACE', replace)
38
- src = (0, jostraca_1.template)(src, ctx$.model, { replace });
39
- // console.log('SRC', src)
11
+ after(node, _ctx$, buildctx) {
12
+ let src = node.content?.join('') || '';
40
13
  if ('string' === typeof node.indent) {
41
14
  src = src.replace(/([^\n]+\n)/g, node.indent + '$1');
42
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentOp.js","sourceRoot":"","sources":["../../src/op/FragmentOp.ts"],"names":[],"mappings":";;;;;;AACA,0DAA4B;AAE5B,0CAAmD;AAKnD,MAAM,UAAU,GAAG;IAEjB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAA;QAE/C,MAAM,KAAK,GAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAC/C,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;QACzE,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACpB,CAAC;IAGD,KAAK,CAAC,IAAU,EAAE,IAAS,EAAE,QAAa;QACxC,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAA;QACvB,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAA;QAElC,2FAA2F;QAC3F,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC/D,CAAC;QAED,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE3C,IAAI,OAAO,GAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAC1C,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAA;QAC3C,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,sDAAsD;YACtD,OAAO,CAAC,0DAA0D,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxF,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;QAC9C,IAAA,eAAI,EAAC,UAAU,EAAE,CAAC,OAAY,EAAE,EAAE;YAChC,OAAO,CACL,kCAAkC;gBAClC,IAAA,gBAAK,EAAC,OAAO,CAAC,IAAI,CAAC;gBACnB,2BAA2B,CAC5B;gBACC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;QAEF,kCAAkC;QAElC,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAE5C,0BAA0B;QAE1B,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;QACtD,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;QAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAEF,CAAA;AAIC,gCAAU"}
1
+ {"version":3,"file":"FragmentOp.js","sourceRoot":"","sources":["../../src/op/FragmentOp.ts"],"names":[],"mappings":";;;AAIA,MAAM,UAAU,GAAG;IAEjB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAA;QAE/C,MAAM,KAAK,GAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAC/C,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,IAAI,CAAA;QAClF,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACpB,CAAC;IAGD,KAAK,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QACzC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QAEtC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;QACtD,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;QAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAEF,CAAA;AAIC,gCAAU"}
@@ -0,0 +1,6 @@
1
+ import type { Node } from '../jostraca';
2
+ declare const SlotOp: {
3
+ before(node: Node, _ctx$: any, buildctx: any): void;
4
+ after(node: Node, ctx$: any, buildctx: any): void;
5
+ };
6
+ export { SlotOp };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlotOp = void 0;
4
+ const SlotOp = {
5
+ before(node, _ctx$, buildctx) {
6
+ node.meta.fragment_file = buildctx.current.file;
7
+ const cfile = buildctx.current.file = node;
8
+ cfile.filepath = buildctx.current.folder.path.join('/') + '?slot=' + node.name;
9
+ cfile.content = [];
10
+ },
11
+ after(node, ctx$, buildctx) {
12
+ let src = node.content?.join('') || '';
13
+ buildctx.current.file = node.meta.fragment_file;
14
+ buildctx.current.file.content.push(src);
15
+ },
16
+ };
17
+ exports.SlotOp = SlotOp;
18
+ //# sourceMappingURL=SlotOp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotOp.js","sourceRoot":"","sources":["../../src/op/SlotOp.ts"],"names":[],"mappings":";;;AAMA,MAAM,MAAM,GAAG;IAEb,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAA;QAE/C,MAAM,KAAK,GAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAC/C,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QAC9E,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACpB,CAAC;IAGD,KAAK,CAAC,IAAU,EAAE,IAAS,EAAE,QAAa;QACxC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QAEtC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;QAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAEF,CAAA;AAIC,wBAAM"}
@@ -1 +1 @@
1
- {"root":["../src/jostraca.ts","../src/types.ts","../src/utility.ts","../src/cmp/content.ts","../src/cmp/copy.ts","../src/cmp/file.ts","../src/cmp/folder.ts","../src/cmp/fragment.ts","../src/cmp/inject.ts","../src/cmp/project.ts","../src/op/contentop.ts","../src/op/copyop.ts","../src/op/fileop.ts","../src/op/folderop.ts","../src/op/fragmentop.ts","../src/op/injectop.ts","../src/op/noneop.ts","../src/op/projectop.ts"],"version":"5.7.2"}
1
+ {"root":["../src/jostraca.ts","../src/types.ts","../src/utility.ts","../src/cmp/content.ts","../src/cmp/copy.ts","../src/cmp/file.ts","../src/cmp/folder.ts","../src/cmp/fragment.ts","../src/cmp/inject.ts","../src/cmp/line.ts","../src/cmp/project.ts","../src/cmp/slot.ts","../src/op/contentop.ts","../src/op/copyop.ts","../src/op/fileop.ts","../src/op/folderop.ts","../src/op/fragmentop.ts","../src/op/injectop.ts","../src/op/noneop.ts","../src/op/projectop.ts","../src/op/slotop.ts"],"version":"5.7.2"}
package/dist/types.d.ts CHANGED
@@ -4,6 +4,13 @@ type JostracaOptions = {
4
4
  exclude?: boolean;
5
5
  fs?: any;
6
6
  log?: Log;
7
+ debug?: boolean;
8
+ build?: boolean;
9
+ cmp?: {
10
+ Copy?: {
11
+ ignore?: RegExp[];
12
+ };
13
+ };
7
14
  };
8
15
  type Node = {
9
16
  kind: string;
@@ -17,8 +24,9 @@ type Node = {
17
24
  after?: any;
18
25
  exclude?: boolean | string | string[];
19
26
  indent?: string;
27
+ filter?: (props: any, children: any, component: any) => boolean;
20
28
  };
21
- type OpStep = (node: Node, ctx$: any, buildctx: any) => void;
29
+ type OpStep = (node: Node, ctx$: any, buildctx: any) => Promise<any> | void;
22
30
  type OpDef = {
23
31
  before: OpStep;
24
32
  after: OpStep;
package/dist/utility.d.ts CHANGED
@@ -19,6 +19,7 @@ declare function template(src: string, model: any, spec?: {
19
19
  ref?: string;
20
20
  insert?: RegExp;
21
21
  replace?: Record<string, any>;
22
+ handle?: (s?: string) => void;
22
23
  }): string;
23
24
  declare function cmap(o: any, p: any): any;
24
25
  declare namespace cmap {
package/dist/utility.js CHANGED
@@ -272,14 +272,15 @@ function template(src, model, spec) {
272
272
  .map(k => '|(' + (k.match(/^\/.+\/$/) ? k.substring(1, k.length - 1) : escre(k)) + ')')
273
273
  .join(''))) :
274
274
  spec.insert;
275
- let out = '';
276
275
  let remain = src;
277
276
  let nextm = true;
277
+ let out = '';
278
+ let handle = spec?.handle || ((s) => out += (null == s ? '' : s));
278
279
  while (nextm) {
279
280
  let m = remain.match(insertRE);
280
281
  if (m) {
281
282
  let mi = m.index;
282
- out += remain.substring(0, mi);
283
+ handle(remain.substring(0, mi));
283
284
  let insert;
284
285
  let skip = 0;
285
286
  let ref = m[2];
@@ -305,24 +306,113 @@ function template(src, model, spec) {
305
306
  else {
306
307
  let ti = typeof insert;
307
308
  if (null == insert || ('number' === ti && isNaN(insert))) {
308
- out += (0 === skip ? '' : m[1]) + ref + (0 === skip ? '' : m[3]);
309
+ handle((0 === skip ? '' : m[1]) + ref + (0 === skip ? '' : m[3]));
309
310
  }
310
311
  else if ('function' === ti) {
311
- out += insert({ src, model, spec, ref, index: mi });
312
+ handle(insert({ src, model, spec, ref, index: mi }));
312
313
  }
313
314
  else {
314
- out += ('object' === ti ? JSON.stringify(insert) : insert);
315
+ handle(('object' === ti ? JSON.stringify(insert) : insert));
315
316
  }
316
317
  remain = remain.substring(mi + skip + ref.length);
317
318
  }
318
319
  }
319
320
  else {
320
- out += remain;
321
+ handle(remain);
321
322
  nextm = false;
322
323
  }
323
324
  }
324
325
  return out;
325
326
  }
327
+ /*
328
+ // NOTE: $$foo.bar$$ format used as explicit start and end markers mean regex can be used
329
+ // unambiguously ($fooa would not match `foo`)
330
+ function template(
331
+ src: string,
332
+ model: any,
333
+ spec?: {
334
+ open?: string,
335
+ close?: string,
336
+ ref?: string,
337
+ insert?: RegExp,
338
+ replace?: Record<string, any>
339
+ }
340
+ ) {
341
+
342
+ src = null == src ? '' : '' + src
343
+ model = null == model ? {} : model
344
+ let open = null == spec?.open ? '\\$\\$' : spec.open
345
+ let close = null == spec?.close ? '\\$\\$' : spec.close
346
+ let ref = null == spec?.ref ? '[^$]+' : spec.ref
347
+ let insertRE = null == spec?.insert ?
348
+ new RegExp('(' + open + ')(' + ref + ')(' + close + ')' +
349
+ ((Object.keys(spec?.replace || {}))
350
+ .map(k => '|(' + (k.match(/^\/.+\/$/) ? k.substring(1, k.length - 1) : escre(k)) + ')')
351
+ .join(''))) :
352
+ spec.insert
353
+ let out = ''
354
+ let remain = src
355
+ let nextm = true
356
+
357
+
358
+ while (nextm) {
359
+ let m = remain.match(insertRE)
360
+
361
+ if (m) {
362
+ let mi = (m.index as number)
363
+ out += remain.substring(0, mi)
364
+
365
+ let insert
366
+ let skip = 0
367
+ let ref = m[2]
368
+
369
+ if (null != ref) {
370
+ insert = '__insert__' === ref ? '' + insertRE : getx(model, ref)
371
+ skip = m[1].length + m[3].length
372
+ }
373
+
374
+ else {
375
+ ref = ''
376
+ insert = ''
377
+ let rI = 4
378
+ while (rI < m.length &&
379
+ '' === (ref = (null == m[rI] || '' == m[rI] ? '' : m[rI]))) { rI++ }
380
+
381
+ if ('' !== ref && spec?.replace) {
382
+ insert = spec.replace[Object.keys(spec.replace)[rI - 4]]
383
+ }
384
+ }
385
+
386
+ if ('' === ref) {
387
+ throw new Error('Regular expression matches empty string: ' + insertRE)
388
+ }
389
+ else {
390
+ let ti = typeof insert
391
+
392
+ if (null == insert || ('number' === ti && isNaN(insert))) {
393
+ out += (0 === skip ? '' : m[1]) + ref + (0 === skip ? '' : m[3])
394
+ }
395
+ else if ('function' === ti) {
396
+ out += insert({ src, model, spec, ref, index: mi })
397
+ }
398
+ else {
399
+ out += ('object' === ti ? JSON.stringify(insert) : insert)
400
+ }
401
+
402
+ remain = remain.substring(mi + skip + ref.length)
403
+ }
404
+ }
405
+ else {
406
+ out += remain
407
+ nextm = false
408
+ }
409
+ }
410
+
411
+
412
+ return out
413
+ }
414
+
415
+ */
326
416
  // Map child objects to new child objects
327
417
  function cmap(o, p) {
328
418
  return Object