jostraca 0.7.5 → 0.7.6

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/cmp/Copy.js CHANGED
@@ -7,7 +7,7 @@ const Copy = (0, jostraca_1.cmp)(function Copy(props, _children) {
7
7
  node.kind = 'copy';
8
8
  node.name = props.name;
9
9
  node.from = props.from;
10
- node.exclude = null == props.exclude ? node.exclude : !!props.exclude;
10
+ node.exclude = null == props.exclude ? node.exclude : props.exclude;
11
11
  });
12
12
  exports.Copy = Copy;
13
13
  //# sourceMappingURL=Copy.js.map
@@ -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,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;AACvE,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;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"}
package/dist/cmp/File.js CHANGED
@@ -6,7 +6,7 @@ const File = (0, jostraca_1.cmp)(function File(props, children) {
6
6
  const node = props.ctx$.node;
7
7
  node.kind = 'file';
8
8
  node.name = props.name;
9
- node.exclude = null == props.exclude ? node.exclude : !!props.exclude;
9
+ node.exclude = null == props.exclude ? node.exclude : props.exclude;
10
10
  (0, jostraca_1.each)(children, { call: true });
11
11
  });
12
12
  exports.File = File;
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/cmp/File.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;IAElC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IAClB,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,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;IAErE,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA;AAKA,oBAAI"}
1
+ {"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/cmp/File.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;IAElC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IAClB,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;IAEnE,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA;AAKA,oBAAI"}
package/dist/op/CopyOp.js CHANGED
@@ -11,10 +11,14 @@ const FileOp_1 = require("./FileOp");
11
11
  const CopyOp = {
12
12
  before(node, ctx$, buildctx) {
13
13
  const fs = buildctx.fs;
14
+ if (null == node.name && null != node.from) {
15
+ node.name = node_path_1.default.basename(node.from);
16
+ }
14
17
  // TODO: do these need null checks here?
15
18
  const name = node.name;
16
19
  const from = node.from;
17
20
  const fromStat = fs.statSync(from);
21
+ // console.log('COPY', from, name, fromStat.isFile())
18
22
  if (fromStat.isFile()) {
19
23
  FileOp_1.FileOp.before(node, ctx$, buildctx);
20
24
  const topath = buildctx.current.file.path;
@@ -42,14 +46,13 @@ const CopyOp = {
42
46
  }
43
47
  },
44
48
  after(node, ctx$, buildctx) {
45
- const log = buildctx.log;
46
49
  const kind = node.after.kind;
47
50
  const frompath = node.from;
48
51
  const topath = buildctx.current.folder.path.join('/');
49
- let exclude = node.exclude;
50
- if (log && true === exclude) {
51
- return;
52
- }
52
+ // let exclude = node.exclude
53
+ // if (true === exclude) {
54
+ // return
55
+ // }
53
56
  if ('file' === kind) {
54
57
  FileOp_1.FileOp.after(node, ctx$, buildctx);
55
58
  }
@@ -60,9 +63,14 @@ const CopyOp = {
60
63
  tmCount: 0,
61
64
  ctx$,
62
65
  buildctx,
66
+ node,
67
+ excludes: 'string' === node.exclude ? [node.exclude] :
68
+ Array.isArray(node.exclude) ? node.exclude :
69
+ []
63
70
  };
64
71
  // TODO: node.path is wrong
65
72
  // change prop.name to prop.to and account for subfolders
73
+ // console.log('COPY WALK', frompath, topath, node.exclude, state.excludes)
66
74
  walk(state, node.path, frompath, topath);
67
75
  }
68
76
  else {
@@ -79,11 +87,15 @@ function walk(state, nodepath, from, to) {
79
87
  const frompath = node_path_1.default.join(from, name);
80
88
  const topath = node_path_1.default.join(to, name);
81
89
  const stat = fs.statSync(frompath);
82
- if (stat.isDirectory()) {
90
+ const isDirectory = stat.isDirectory();
91
+ const isTemplateFile = isTemplate(name);
92
+ const isIgnored = ignored(state, nodepath, name, topath);
93
+ // console.log('COPY FROM', frompath, isDirectory, isTemplateFile, isIgnored)
94
+ if (isDirectory) {
83
95
  state.folderCount++;
84
96
  walk(state, nodepath.concat(name), frompath, topath);
85
97
  }
86
- else if (isTemplate(name)) {
98
+ else if (isTemplateFile) {
87
99
  if (excludeFile(state, nodepath, name, topath)) {
88
100
  continue;
89
101
  }
@@ -93,7 +105,7 @@ function walk(state, nodepath, from, to) {
93
105
  state.fileCount++;
94
106
  state.tmCount++;
95
107
  }
96
- else if (!ignored(state, nodepath, name, topath)) {
108
+ else if (!isIgnored) {
97
109
  if (excludeFile(state, nodepath, name, topath)) {
98
110
  continue;
99
111
  }
@@ -107,13 +119,18 @@ function ignored(state, nodepath, name, topath) {
107
119
  }
108
120
  function excludeFile(state, nodepath, name, topath) {
109
121
  const { opts } = state.ctx$;
110
- if (true !== opts.exclude) {
111
- return false;
112
- }
113
122
  const { fs, log } = state.buildctx;
114
123
  let exclude = false;
115
124
  // NOT Path.sep - needs to be canonical
116
125
  const rpath = nodepath.concat(name).join('/');
126
+ const fileExists = fs.existsSync(topath);
127
+ // console.log('COPY EXCLUDE', fileExists, state.excludes.includes(rpath), rpath, '|', state.excludes)
128
+ if (fileExists && state.excludes.includes(rpath)) {
129
+ return true;
130
+ }
131
+ if (true !== opts.exclude) {
132
+ return false;
133
+ }
117
134
  if (log) {
118
135
  exclude = log.exclude.includes(rpath);
119
136
  let stat, timedelta;
@@ -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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"}
package/dist/op/FileOp.js CHANGED
@@ -13,7 +13,22 @@ const FileOp = {
13
13
  const cfile = current.file;
14
14
  const content = cfile.content.join('');
15
15
  const rpath = cfile.path.join('/'); // NOT Path.sep - needs to be canonical
16
+ const fileExists = fs.existsSync(cfile.filepath);
16
17
  let exclude = node.exclude;
18
+ if (fileExists) {
19
+ if (true === exclude) {
20
+ return;
21
+ }
22
+ const excludes = 'string' === node.exclude ? [node.exclude] :
23
+ Array.isArray(node.exclude) ? node.exclude :
24
+ [];
25
+ if (excludes.includes(rpath)) {
26
+ return;
27
+ }
28
+ }
29
+ else {
30
+ exclude = false;
31
+ }
17
32
  // console.log('FILE-a exclude', rpath, exclude, !!log)
18
33
  if (log && null == exclude) {
19
34
  exclude = log.exclude.includes(rpath);
@@ -1 +1 @@
1
- {"version":3,"file":"FileOp.js","sourceRoot":"","sources":["../../src/op/FileOp.ts"],"names":[],"mappings":";;;AAMA,MAAM,MAAM,GAAG;IAEb,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,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,sCAAsC;QAEtC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,uCAAuC;QAC1E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE1B,uDAAuD;QAEvD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnE,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;oBACvC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChD,OAAO,GAAG,IAAI,CAAA;wBACd,iFAAiF;oBACnF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,8EAA8E;QAE9E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;CAEF,CAAA;AAIC,wBAAM"}
1
+ {"version":3,"file":"FileOp.js","sourceRoot":"","sources":["../../src/op/FileOp.ts"],"names":[],"mappings":";;;AAMA,MAAM,MAAM,GAAG;IAEb,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,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,sCAAsC;QAEtC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,uCAAuC;QAE1E,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEhD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE1B,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAM;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1C,EAAE,CAAA;YAEN,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAM;YACR,CAAC;QACH,CAAC;aACI,CAAC;YACJ,OAAO,GAAG,KAAK,CAAA;QACjB,CAAC;QAGD,uDAAuD;QAEvD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnE,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAA;oBACvC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChD,OAAO,GAAG,IAAI,CAAA;wBACd,iFAAiF;oBACnF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,8EAA8E;QAE9E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;CAEF,CAAA;AAIC,wBAAM"}
@@ -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,12 +1,22 @@
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.FragmentOp = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
4
8
  const FragmentOp = {
5
9
  before(node, _ctx$, buildctx) {
6
10
  },
7
- after(node, _ctx$, buildctx) {
11
+ after(node, ctx$, buildctx) {
8
12
  const { fs } = buildctx;
9
- const frompath = node.from;
13
+ let frompath = node.from;
14
+ // TODO: this is relative to the output - but that is just one case - provide more control?
15
+ if (!node_path_1.default.isAbsolute(frompath)) {
16
+ // console.log('FRAG REL', node.folder, node.path, frompath, '|') // , process.cwd(), buildctx)
17
+ frompath = node_path_1.default.join(buildctx.folder, ...node.path, frompath);
18
+ // console.log('FRAG RESOLVED', frompath)
19
+ }
10
20
  let src = fs.readFileSync(frompath, 'utf8');
11
21
  if ('string' === typeof node.indent) {
12
22
  src = src.replace(/([^\n]+\n)/g, node.indent + '$1');
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentOp.js","sourceRoot":"","sources":["../../src/op/FragmentOp.ts"],"names":[],"mappings":";;;AAMA,MAAM,UAAU,GAAG;IAEjB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;IAC5C,CAAC;IAGD,KAAK,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QACzC,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAA;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAA;QACpC,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE3C,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,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":";;;;;;AACA,0DAA4B;AAK5B,MAAM,UAAU,GAAG;IAEjB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;IAC5C,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,+FAA+F;YAC/F,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC7D,yCAAyC;QAC3C,CAAC;QAED,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE3C,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,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAEF,CAAA;AAIC,gCAAU"}
package/dist/types.d.ts CHANGED
@@ -14,7 +14,7 @@ type Node = {
14
14
  content?: any[];
15
15
  folder?: string;
16
16
  after?: any;
17
- exclude?: boolean;
17
+ exclude?: boolean | string | string[];
18
18
  indent?: string;
19
19
  };
20
20
  type OpStep = (node: Node, ctx$: any, buildctx: any) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jostraca",
3
- "version": "0.7.5",
3
+ "version": "0.7.6",
4
4
  "main": "dist/jostraca.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/jostraca.d.ts",
@@ -37,7 +37,7 @@
37
37
  "@hapi/code": "^9.0.3",
38
38
  "@types/node": "22.7.5",
39
39
  "esbuild": "^0.24.0",
40
- "memfs": "^4.13.0",
40
+ "memfs": "^4.14.0",
41
41
  "oxc-parser": "^0.31.0",
42
42
  "typescript": "^5.6.3"
43
43
  },
package/src/cmp/Copy.ts CHANGED
@@ -10,7 +10,7 @@ const Copy = cmp(function Copy(props: any, _children: any) {
10
10
  node.kind = 'copy'
11
11
  node.name = props.name
12
12
  node.from = props.from
13
- node.exclude = null == props.exclude ? node.exclude : !!props.exclude
13
+ node.exclude = null == props.exclude ? node.exclude : props.exclude
14
14
  })
15
15
 
16
16
 
package/src/cmp/File.ts CHANGED
@@ -9,7 +9,7 @@ const File = cmp(function File(props: any, children: any) {
9
9
 
10
10
  node.kind = 'file'
11
11
  node.name = props.name
12
- node.exclude = null == props.exclude ? node.exclude : !!props.exclude
12
+ node.exclude = null == props.exclude ? node.exclude : props.exclude
13
13
 
14
14
  each(children, { call: true })
15
15
  })
package/src/op/CopyOp.ts CHANGED
@@ -15,12 +15,18 @@ const CopyOp = {
15
15
  before(node: Node, ctx$: any, buildctx: any) {
16
16
  const fs = buildctx.fs
17
17
 
18
+ if (null == node.name && null != node.from) {
19
+ node.name = Path.basename(node.from)
20
+ }
21
+
18
22
  // TODO: do these need null checks here?
19
23
  const name = node.name as string
20
24
  const from = node.from as string
21
25
 
22
26
  const fromStat = fs.statSync(from)
23
27
 
28
+ // console.log('COPY', from, name, fromStat.isFile())
29
+
24
30
  if (fromStat.isFile()) {
25
31
  FileOp.before(node, ctx$, buildctx)
26
32
  const topath = buildctx.current.file.path
@@ -54,16 +60,15 @@ const CopyOp = {
54
60
 
55
61
 
56
62
  after(node: Node, ctx$: any, buildctx: any) {
57
- const log = buildctx.log
58
63
  const kind = node.after.kind
59
64
 
60
65
  const frompath = node.from as string
61
66
  const topath = buildctx.current.folder.path.join('/')
62
67
 
63
- let exclude = node.exclude
64
- if (log && true === exclude) {
65
- return
66
- }
68
+ // let exclude = node.exclude
69
+ // if (true === exclude) {
70
+ // return
71
+ // }
67
72
 
68
73
  if ('file' === kind) {
69
74
  FileOp.after(node, ctx$, buildctx)
@@ -75,11 +80,16 @@ const CopyOp = {
75
80
  tmCount: 0,
76
81
  ctx$,
77
82
  buildctx,
83
+ node,
84
+ excludes: 'string' === node.exclude ? [node.exclude] :
85
+ Array.isArray(node.exclude) ? node.exclude :
86
+ []
78
87
  }
79
88
 
80
89
  // TODO: node.path is wrong
81
90
  // change prop.name to prop.to and account for subfolders
82
91
 
92
+ // console.log('COPY WALK', frompath, topath, node.exclude, state.excludes)
83
93
  walk(state, node.path, frompath, topath)
84
94
  }
85
95
  else {
@@ -100,11 +110,17 @@ function walk(state: any, nodepath: string[], from: string, to: string) {
100
110
  const topath = Path.join(to, name)
101
111
  const stat = fs.statSync(frompath)
102
112
 
103
- if (stat.isDirectory()) {
113
+ const isDirectory = stat.isDirectory()
114
+ const isTemplateFile = isTemplate(name)
115
+ const isIgnored = ignored(state, nodepath, name, topath)
116
+
117
+ // console.log('COPY FROM', frompath, isDirectory, isTemplateFile, isIgnored)
118
+
119
+ if (isDirectory) {
104
120
  state.folderCount++
105
121
  walk(state, nodepath.concat(name), frompath, topath)
106
122
  }
107
- else if (isTemplate(name)) {
123
+ else if (isTemplateFile) {
108
124
  if (excludeFile(state, nodepath, name, topath)) { continue }
109
125
  const src = fs.readFileSync(frompath, 'utf8')
110
126
  const out = genTemplate(state, src, { name, frompath, topath })
@@ -112,7 +128,7 @@ function walk(state: any, nodepath: string[], from: string, to: string) {
112
128
  state.fileCount++
113
129
  state.tmCount++
114
130
  }
115
- else if (!ignored(state, nodepath, name, topath)) {
131
+ else if (!isIgnored) {
116
132
  if (excludeFile(state, nodepath, name, topath)) { continue }
117
133
  copyFileSync(buildctx, frompath, topath)
118
134
  state.fileCount++
@@ -128,15 +144,21 @@ function ignored(state: any, nodepath: string[], name: string, topath: string) {
128
144
 
129
145
  function excludeFile(state: any, nodepath: string[], name: string, topath: string) {
130
146
  const { opts } = state.ctx$
131
- if (true !== opts.exclude) {
132
- return false
133
- }
134
-
135
147
  const { fs, log } = state.buildctx
136
148
  let exclude = false
137
149
 
138
150
  // NOT Path.sep - needs to be canonical
139
151
  const rpath = nodepath.concat(name).join('/')
152
+ const fileExists = fs.existsSync(topath)
153
+
154
+ // console.log('COPY EXCLUDE', fileExists, state.excludes.includes(rpath), rpath, '|', state.excludes)
155
+ if (fileExists && state.excludes.includes(rpath)) {
156
+ return true
157
+ }
158
+
159
+ if (true !== opts.exclude) {
160
+ return false
161
+ }
140
162
 
141
163
  if (log) {
142
164
  exclude = log.exclude.includes(rpath)
package/src/op/FileOp.ts CHANGED
@@ -20,8 +20,29 @@ const FileOp = {
20
20
  const cfile = current.file
21
21
  const content = cfile.content.join('')
22
22
  const rpath = cfile.path.join('/') // NOT Path.sep - needs to be canonical
23
+
24
+ const fileExists = fs.existsSync(cfile.filepath)
25
+
23
26
  let exclude = node.exclude
24
27
 
28
+ if (fileExists) {
29
+ if (true === exclude) {
30
+ return
31
+ }
32
+
33
+ const excludes = 'string' === node.exclude ? [node.exclude] :
34
+ Array.isArray(node.exclude) ? node.exclude :
35
+ []
36
+
37
+ if (excludes.includes(rpath)) {
38
+ return
39
+ }
40
+ }
41
+ else {
42
+ exclude = false
43
+ }
44
+
45
+
25
46
  // console.log('FILE-a exclude', rpath, exclude, !!log)
26
47
 
27
48
  if (log && null == exclude) {
@@ -10,9 +10,17 @@ const FragmentOp = {
10
10
  },
11
11
 
12
12
 
13
- after(node: Node, _ctx$: any, buildctx: any) {
13
+ after(node: Node, ctx$: any, buildctx: any) {
14
14
  const { fs } = buildctx
15
- const frompath = node.from as string
15
+ let frompath = node.from as string
16
+
17
+ // TODO: this is relative to the output - but that is just one case - provide more control?
18
+ if (!Path.isAbsolute(frompath)) {
19
+ // console.log('FRAG REL', node.folder, node.path, frompath, '|') // , process.cwd(), buildctx)
20
+ frompath = Path.join(buildctx.folder, ...node.path, frompath)
21
+ // console.log('FRAG RESOLVED', frompath)
22
+ }
23
+
16
24
  let src = fs.readFileSync(frompath, 'utf8')
17
25
 
18
26
  if ('string' === typeof node.indent) {
package/src/types.ts CHANGED
@@ -20,7 +20,7 @@ type Node = {
20
20
  content?: any[]
21
21
  folder?: string
22
22
  after?: any
23
- exclude?: boolean
23
+ exclude?: boolean | string | string[]
24
24
  indent?: string
25
25
  }
26
26