@neurospeech/jex 1.0.16 → 1.0.18

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/README.md CHANGED
@@ -1,2 +1,145 @@
1
- # jex
1
+ # @neurospeech/jex
2
2
  Easy shell scripting with JavaScript and E4X (Similar to JSX)
3
+
4
+ # Problem Definition
5
+
6
+ 1. Bash, Powershell all scripting languages are limited in terms of language features.
7
+ 2. Editor support is also limited.
8
+ 3. Debugging is difficult.
9
+ 4. We wanted to JavaScript as shell script, along with JSX to organize large set of commands.
10
+ 5. So we created modified version of JSX which execute script little differently.
11
+
12
+ # Jex Script
13
+
14
+ Jex script is a simple JSX file, with slightly different execution sequence. Typical JSX nodes are converted to an organized set of node, attributes and children. However, in this JSX to JS transformation, children are created array of arrow function returning the child. This allows us
15
+ to put some JavaScript code between multiple commands.
16
+
17
+ # Example
18
+ node-version.jsx
19
+ ```jsx
20
+ import { Batch, Run, invoke, Log } from "./dist/index.js";
21
+ let version = "";
22
+ invoke(<Batch>
23
+ <Run
24
+ cmd="node"
25
+ args={["--version"]}
26
+ logData={false}
27
+ finished={(x) => version = x.text.trim() }
28
+ />
29
+ { /** Execute Code in the curly braces, it will not print on console */
30
+ version = version + "..." }
31
+ <Log
32
+ text={version}
33
+ />
34
+ { /** Print following text directly on console... */}
35
+ Running Node Directly...
36
+ <Run
37
+ cmd="node"
38
+ args="--version"
39
+ />
40
+ </Batch>)
41
+ ```
42
+
43
+ Please note, when the command is finished, version variable will be set from the process's output.
44
+
45
+ Next executable code will be executed after first command has finished asychronously. As opposed to creation of JSX document.
46
+
47
+ ```cmd
48
+ jex node-version.jsx
49
+ ```
50
+
51
+ # Not Impressed?
52
+
53
+ Lets see little complicated example. Following file is referring security.jsx which contains reusable commands.
54
+
55
+ ```jsx
56
+ import { Security } from "security.jsx";
57
+ // install certificate
58
+
59
+ const certPath = "cert.p12";
60
+ const certPass = process.env.CERT_PASS;
61
+ const keychainPass = process.env.CERT_PASS;
62
+ const keychainPath = "CERT_KEY_CHAIN";
63
+
64
+ invoke(<Batch>
65
+ <Security.CreateKeyChain
66
+ path={keychainPath}
67
+ password={keychainPass}
68
+ />
69
+ <Security.SetKeychainSettings
70
+ path={keychainPath}
71
+ lut="21600"
72
+ />
73
+ <Security.UnlockKeychain
74
+ path={keychainPath}
75
+ password={keychainPass}
76
+ />
77
+ <Security.Import
78
+ certPath={certPath}
79
+ certPass={certPass}
80
+ keychainPath={keychainPath}
81
+ />
82
+ </Batch>);
83
+ ```
84
+
85
+ security.jsx
86
+ ```jsx
87
+ import { mask } from "@neurospeech/jex/dist/index.js";
88
+
89
+ //These are reusable functions...
90
+ export const Security = {
91
+
92
+ CreateKeychain({
93
+ password,
94
+ path
95
+ }) {
96
+ return <Run
97
+ cmd="security"
98
+ args={["create-keychain", "-p", mask(password), path]}
99
+ />
100
+ },
101
+
102
+ SetKeychainSettings({
103
+ lut = 21600,
104
+ path
105
+ }) {
106
+ return <Run
107
+ cmd="security"
108
+ args={["set-keychain-settings", "-lut", lut, path]}
109
+ />
110
+ },
111
+
112
+ UnlockKeychain({
113
+ password,
114
+ path
115
+ }) {
116
+ return <Run
117
+ cmd="security"
118
+ args={["unlock-keychain", "-p", mask(password), path]}
119
+ />
120
+ },
121
+
122
+ Import({
123
+ certPath,
124
+ certPass,
125
+ keychainPath,
126
+ format = "pkcs12",
127
+ type = "cert",
128
+ }) {
129
+ return <Run
130
+ cmd="security"
131
+ args={["import", certPath,
132
+ "-P", mask(certPass),
133
+ "-A",
134
+ "-t", cert,
135
+ "-f", format,
136
+ "-k", keychainPath]}
137
+ />;
138
+ },
139
+ }
140
+ ```
141
+
142
+ # Features
143
+ 1. When commands are organized in library, while editing, code editor will provide intellisense along with compile time error for missing arguments.
144
+ 2. Arguments can be well defined and encoded easily within the code.
145
+ 3. You can easily utilize node's API.
@@ -1,3 +1,3 @@
1
1
  import XNode from "./XNode.js";
2
- export default function Batch({}: {}, ...commands: XNode[]): Promise<void>;
2
+ export default function Batch({}: {}, ...commands: (() => XNode | string)[]): Promise<void>;
3
3
  //# sourceMappingURL=Batch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Batch.d.ts","sourceRoot":"","sources":["../../src/core/Batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,wBAA8B,KAAK,CAAC,EAAE,IAAA,EAAE,GAAI,QAAQ,EAAE,KAAK,EAAE,iBAI5D"}
1
+ {"version":3,"file":"Batch.d.ts","sourceRoot":"","sources":["../../src/core/Batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,wBAA8B,KAAK,CAAC,EAAE,IAAA,EAAE,GAAI,QAAQ,EAAE,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,iBAmB7E"}
@@ -1,6 +1,21 @@
1
+ import XNode from "./XNode.js";
1
2
  export default async function Batch({}, ...commands) {
2
- for (const element of commands) {
3
- await element.execute();
3
+ for (const iterator of commands) {
4
+ let element = iterator;
5
+ while (typeof element === "function") {
6
+ element = element();
7
+ }
8
+ if (element instanceof XNode) {
9
+ await element.execute();
10
+ continue;
11
+ }
12
+ if (typeof element === "string") {
13
+ const log = element.trim();
14
+ if (log) {
15
+ console.log(log);
16
+ }
17
+ }
18
+ // other text should be printed...?
4
19
  }
5
20
  }
6
21
  //# sourceMappingURL=Batch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Batch.js","sourceRoot":"","sources":["../../src/core/Batch.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,KAAK,CAAC,EAAE,EAAE,GAAI,QAAiB;IACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"Batch.js","sourceRoot":"","sources":["../../src/core/Batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,KAAK,CAAC,EAAE,EAAE,GAAI,QAAkC;IAC1E,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,QAAe,CAAC;QAC9B,OAAO,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,GAAG,OAAO,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,SAAS;QACb,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QAED,mCAAmC;IACvC,CAAC;AACL,CAAC"}
@@ -1,12 +1,14 @@
1
1
  export interface IProcessResult {
2
- all: string;
2
+ text: string;
3
+ error: string[];
4
+ data: Buffer[];
3
5
  pid: number;
4
6
  status: number;
5
7
  }
6
- export default function Run({ path, args, cwd, detached, logCommand, logData, logError, log, error, started, finished, failed }: {
7
- path: any;
8
- args: any;
9
- cwd?: any;
8
+ export interface IRunArgs {
9
+ cmd: string;
10
+ args?: string | string[];
11
+ cwd?: string;
10
12
  detached?: boolean;
11
13
  logCommand?: boolean;
12
14
  logData?: boolean;
@@ -16,5 +18,6 @@ export default function Run({ path, args, cwd, detached, logCommand, logData, lo
16
18
  started?: (pid: number) => void;
17
19
  finished?: (r: IProcessResult) => void;
18
20
  failed?: (r: IProcessResult) => void;
19
- }): Promise<void>;
21
+ }
22
+ export default function Run({ cmd, args, cwd, detached, logCommand, logData, logError, log, error, started, finished, failed }: IRunArgs): Promise<void>;
20
23
  //# sourceMappingURL=Run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../../src/core/Run.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAA8B,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAC1C,GAAY,EACZ,QAAgB,EAChB,UAAiB,EACjB,OAAe,EACf,QAAe,EACf,GAAsC,EACtC,KAAwC,EACxC,OAAyC,EACzC,QAAgD,EAChD,MAA8C,EACjD;;;;;;;;iBAL0B,MAAM,KAAK,IAAI;mBACb,MAAM,KAAK,IAAI;oBACd,MAAM,KAAK,IAAI;mBAChB,cAAc,KAAK,IAAI;iBACzB,cAAc,KAAK,IAAI;CACjD,iBAsBA"}
1
+ {"version":3,"file":"Run.d.ts","sourceRoot":"","sources":["../../src/core/Run.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAA;CAEvC;AAED,wBAA8B,GAAG,CAAC,EAC9B,GAAG,EACH,IAAa,EACb,GAAY,EACZ,QAAgB,EAChB,UAAiB,EACjB,OAAc,EACd,QAAe,EACf,GAAsC,EACtC,KAAwC,EACxC,OAAyC,EACzC,QAAgD,EAChD,MAA8C,EACjD,EAAE,QAAQ,iBA2BV"}
package/dist/core/Run.js CHANGED
@@ -1,6 +1,9 @@
1
1
  import { spawnPromise } from "./spawnPromise.js";
2
- export default async function Run({ path, args, cwd = void 0, detached = false, logCommand = true, logData = false, logError = true, log = void 0, error = void 0, started = void 0, finished = void 0, failed = void 0 }) {
3
- const r = await spawnPromise(path, args, {
2
+ export default async function Run({ cmd, args = void 0, cwd = void 0, detached = false, logCommand = true, logData = true, logError = true, log = void 0, error = void 0, started = void 0, finished = void 0, failed = void 0 }) {
3
+ if (typeof args === "string") {
4
+ args = args.split(" ");
5
+ }
6
+ const r = await spawnPromise(cmd, args, {
4
7
  cwd,
5
8
  detached,
6
9
  logCommand,
@@ -10,11 +13,11 @@ export default async function Run({ path, args, cwd = void 0, detached = false,
10
13
  error
11
14
  });
12
15
  let fxr = void 0;
13
- if (r.status === 0 && finished) {
14
- fxr = finished(r);
16
+ if (r.status === 0) {
17
+ fxr = finished?.(r);
15
18
  }
16
19
  else {
17
- fxr = failed(r);
20
+ fxr = failed?.(r);
18
21
  }
19
22
  if (fxr) {
20
23
  await fxr;
@@ -1 +1 @@
1
- {"version":3,"file":"Run.js","sourceRoot":"","sources":["../../src/core/Run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAC1C,GAAG,GAAG,KAAK,CAAC,EACZ,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,IAAI,EACjB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,IAAI,EACf,GAAG,GAAG,KAAK,CAA2B,EACtC,KAAK,GAAG,KAAK,CAA2B,EACxC,OAAO,GAAG,KAAK,CAA0B,EACzC,QAAQ,GAAG,KAAK,CAAgC,EAChD,MAAM,GAAG,KAAK,CAAgC,EACjD;IACG,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE;QACrC,GAAG;QACH,QAAQ;QACR,UAAU;QACV,OAAO;QACP,QAAQ;QACR,GAAG;QACH,KAAK;KACR,CAAC,CAAC;IAEH,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;IAEjB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC7B,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACJ,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"Run.js","sourceRoot":"","sources":["../../src/core/Run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA2BjD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,GAAG,CAAC,EAC9B,GAAG,EACH,IAAI,GAAG,KAAK,CAAC,EACb,GAAG,GAAG,KAAK,CAAC,EACZ,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,IAAI,EACjB,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,IAAI,EACf,GAAG,GAAG,KAAK,CAA2B,EACtC,KAAK,GAAG,KAAK,CAA2B,EACxC,OAAO,GAAG,KAAK,CAA0B,EACzC,QAAQ,GAAG,KAAK,CAAgC,EAChD,MAAM,GAAG,KAAK,CAAgC,EACvC;IAEP,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE;QACpC,GAAG;QACH,QAAQ;QACR,UAAU;QACV,OAAO;QACP,QAAQ;QACR,GAAG;QACH,KAAK;KACR,CAAC,CAAC;IAEH,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;IAEjB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,GAAG,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACJ,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare class Secret {
2
+ secret: string;
3
+ constructor(secret: string);
4
+ toString(): string;
5
+ }
6
+ //# sourceMappingURL=Secret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret.d.ts","sourceRoot":"","sources":["../../src/core/Secret.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACI,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAIjC,QAAQ;CAGX"}
@@ -0,0 +1,9 @@
1
+ export class Secret {
2
+ constructor(secret) {
3
+ this.secret = secret;
4
+ }
5
+ toString() {
6
+ return "********";
7
+ }
8
+ }
9
+ //# sourceMappingURL=Secret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret.js","sourceRoot":"","sources":["../../src/core/Secret.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACf,YAAmB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAEjC,CAAC;IAED,QAAQ;QACJ,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
@@ -1,8 +1,8 @@
1
1
  export default class XNode {
2
2
  readonly name: Function;
3
3
  readonly attributes: Record<string, any>;
4
- readonly children: (XNode | string)[];
5
- static create(name: Function, attribs: Record<string, any>, ...nodes: (XNode | string)[]): XNode;
4
+ readonly children: (() => (XNode | string))[];
5
+ static create(name: Function, attribs: Record<string, any>, ...nodes: (() => (XNode | string))[]): XNode;
6
6
  private constructor();
7
7
  execute(): Promise<any>;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XNode.d.ts","sourceRoot":"","sources":["../../src/core/XNode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,KAAK;aAWF,IAAI,EAAE,QAAQ;aACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;aAC/B,QAAQ,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE;WAXlC,MAAM,CAEhB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,GAAI,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK;IAIzC,OAAO;IAQD,OAAO;CAIhB"}
1
+ {"version":3,"file":"XNode.d.ts","sourceRoot":"","sources":["../../src/core/XNode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,KAAK;aAWF,IAAI,EAAE,QAAQ;aACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;aAC/B,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE;WAX1C,MAAM,CAEhB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,GAAI,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,KAAK;IAIjD,OAAO;IAQD,OAAO;CAIhB"}
@@ -10,7 +10,7 @@ export default class XNode {
10
10
  this.children = children;
11
11
  }
12
12
  async execute() {
13
- return this.name(this.attributes, this.children);
13
+ return this.name(this.attributes ?? {}, ...this.children);
14
14
  }
15
15
  }
16
16
  //# sourceMappingURL=XNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XNode.js","sourceRoot":"","sources":["../../src/core/XNode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,KAAK;IAEf,MAAM,CAAC,MAAM;IAChB,wDAAwD;IACxD,IAAc,EACd,OAA4B,EAC5B,GAAI,KAAyB;QAC7B,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,YACoB,IAAc,EACd,UAA+B,EAC/B,QAA4B;QAF5B,SAAI,GAAJ,IAAI,CAAU;QACd,eAAU,GAAV,UAAU,CAAqB;QAC/B,aAAQ,GAAR,QAAQ,CAAoB;IAGhD,CAAC;IAED,KAAK,CAAC,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;CAEJ"}
1
+ {"version":3,"file":"XNode.js","sourceRoot":"","sources":["../../src/core/XNode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,KAAK;IAEf,MAAM,CAAC,MAAM;IAChB,wDAAwD;IACxD,IAAc,EACd,OAA4B,EAC5B,GAAI,KAAiC;QACrC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,YACoB,IAAc,EACd,UAA+B,EAC/B,QAAoC;QAFpC,SAAI,GAAJ,IAAI,CAAU;QACd,eAAU,GAAV,UAAU,CAAqB;QAC/B,aAAQ,GAAR,QAAQ,CAA4B;IAGxD,CAAC;IAED,KAAK,CAAC,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"babel.d.ts","sourceRoot":"","sources":["../../src/core/babel.ts"],"names":[],"mappings":"AAgBA,qBAAa,KAAK;WAGD,YAAY,CAAC,IAAI,EAAE,MAAM;CASzC"}
1
+ {"version":3,"file":"babel.d.ts","sourceRoot":"","sources":["../../src/core/babel.ts"],"names":[],"mappings":"AA0DA,qBAAa,KAAK;WAGD,YAAY,CAAC,IAAI,EAAE,MAAM;CAWzC"}
@@ -1,19 +1,59 @@
1
- import { transformFileAsync } from "@babel/core";
2
- import { writeFile } from "fs/promises";
1
+ import { transform } from "@babel/core";
2
+ import { readFile, writeFile } from "fs/promises";
3
3
  import { format, parse } from "path";
4
4
  const presets = {
5
5
  sourceType: "module",
6
6
  sourceMaps: "inline",
7
7
  compact: false,
8
8
  comments: false,
9
- importSource: "jex/dist/XNode.js",
10
- pragma: "XNode.create",
11
9
  getModuleId: () => "v",
12
- "plugins": []
10
+ "plugins": [
11
+ ["@babel/plugin-syntax-jsx"],
12
+ [
13
+ function (babel) {
14
+ return {
15
+ name: "JSX Transformer",
16
+ visitor: {
17
+ JSXElement(node) {
18
+ if (node.node.children?.length) {
19
+ const copy = [...node.node.children];
20
+ const transformed = node.node.children = [];
21
+ for (const element of copy) {
22
+ switch (element.type) {
23
+ case "JSXText":
24
+ transformed.push(babel.types.arrowFunctionExpression([], babel.types.stringLiteral(element.value)));
25
+ continue;
26
+ case "JSXExpressionContainer":
27
+ if (element.expression.type === "JSXEmptyExpression") {
28
+ continue;
29
+ }
30
+ transformed.push(babel.types.arrowFunctionExpression([], babel.types.sequenceExpression([element.expression, babel.types.nullLiteral()])));
31
+ continue;
32
+ case "JSXEmptyExpression":
33
+ continue;
34
+ }
35
+ transformed.push(babel.types.arrowFunctionExpression([], element));
36
+ }
37
+ }
38
+ return node;
39
+ }
40
+ }
41
+ };
42
+ }
43
+ ],
44
+ ["@babel/plugin-transform-react-jsx", {
45
+ pragma: "XNode.create",
46
+ }]
47
+ ]
13
48
  };
49
+ const inject = process.env.TEST_MODE
50
+ ? `import { XNode } from "./dist/index.js"`
51
+ : `import { XNode } from "@neurospeech/jex/dist/index.js"`;
14
52
  export class Babel {
15
53
  static async transformJSX(file) {
16
- const result = await transformFileAsync(file, presets);
54
+ const code = await readFile(file, "utf8");
55
+ const finalCode = `${inject};${code}`;
56
+ const result = await transform(finalCode, presets);
17
57
  const path = parse(file);
18
58
  path.base += ".js";
19
59
  const js = format(path);
@@ -1 +1 @@
1
- {"version":3,"file":"babel.js","sourceRoot":"","sources":["../../src/core/babel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,OAAO,GAAG;IACZ,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,mBAAmB;IACjC,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG;IACtB,SAAS,EAAE,EACV;CACJ,CAAC;AAEF,MAAM,OAAO,KAAK;IAGd,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAY;QAClC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;CAEJ"}
1
+ {"version":3,"file":"babel.js","sourceRoot":"","sources":["../../src/core/babel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,OAAO,GAAG;IACZ,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG;IACtB,SAAS,EAAE;QACP,CAAC,0BAA0B,CAAC;QAC5B;YACI,UAAS,KAAK;gBACV,OAAO;oBACH,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE;wBACL,UAAU,CAAC,IAAI;4BACX,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gCAC7B,MAAM,IAAI,GAAG,CAAC,GAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gCAC5C,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;oCACzB,QAAO,OAAO,CAAC,IAAI,EAAE,CAAC;wCAClB,KAAK,SAAS;4CACV,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4CACpG,SAAS;wCACb,KAAK,wBAAwB;4CACzB,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gDACnD,SAAS;4CACb,CAAC;4CACD,WAAW,CAAC,IAAI,CACZ,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAC/B,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CACtF,CACJ,CAAC;4CACF,SAAS;wCACb,KAAK,oBAAoB;4CACrB,SAAS;oCACjB,CAAC;oCACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gCACvE,CAAC;4BACL,CAAC;4BACD,OAAO,IAAI,CAAC;wBAChB,CAAC;qBACJ;iBACJ,CAAC;YACN,CAAC;SACJ;QACD,CAAC,mCAAmC,EAAE;gBAClC,MAAM,EAAE,cAAc;aACzB,CAAC;KAEL;CACJ,CAAC;AACF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS;IAChC,CAAC,CAAC,yCAAyC;IAC3C,CAAC,CAAC,wDAAwD,CAAC;AAE/D,MAAM,OAAO,KAAK;IAGd,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAY;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;CAEJ"}
@@ -1,5 +1,6 @@
1
1
  import { SpawnOptionsWithoutStdio } from "node:child_process";
2
- export declare const spawnPromise: (path: any, args?: string[], options?: SpawnOptionsWithoutStdio & {
2
+ import { Secret } from "./Secret.js";
3
+ export declare const spawnPromise: (path: any, args?: (string | Secret)[], options?: SpawnOptionsWithoutStdio & {
3
4
  logCommand?: boolean;
4
5
  logData?: boolean;
5
6
  logError?: boolean;
@@ -7,7 +8,9 @@ export declare const spawnPromise: (path: any, args?: string[], options?: SpawnO
7
8
  error?: (data: Buffer) => void;
8
9
  throwOnFail?: boolean;
9
10
  }) => Promise<{
10
- readonly all: string;
11
+ readonly data: Buffer[];
12
+ readonly error: string[];
13
+ readonly text: string;
11
14
  pid: number;
12
15
  status: number;
13
16
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"spawnPromise.d.ts","sourceRoot":"","sources":["../../src/core/spawnPromise.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAS,MAAM,oBAAoB,CAAC;AAIrE,eAAO,MAAM,YAAY,qBAAiB,MAAM,EAAE,YAAY,wBAAwB,GAAG;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE;;SAElB,MAAM;YACH,MAAM;EAwDhB,CAAC"}
1
+ {"version":3,"file":"spawnPromise.d.ts","sourceRoot":"","sources":["../../src/core/spawnPromise.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAS,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,eAAO,MAAM,YAAY,qBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,YAAY,wBAAwB,GAAG;IAChG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE;;;;SAIlB,MAAM;YACH,MAAM;EA8DhB,CAAC"}
@@ -1,32 +1,42 @@
1
1
  /* eslint-disable no-console */
2
2
  import { spawn } from "node:child_process";
3
3
  import { color } from "console-log-colors";
4
+ import { Secret } from "./Secret.js";
4
5
  export const spawnPromise = (path, args, options) => new Promise((resolve, reject) => {
5
- const all = [];
6
+ const dataList = [];
7
+ const errorList = [];
8
+ const allList = [];
6
9
  const { logCommand = true, throwOnFail = false, logData = true, logError = true, log, error } = options ?? {};
7
- const cd = spawn(path, args, options);
10
+ const cd = spawn(path, args.map((x) => x instanceof Secret ? x.secret : x), options);
8
11
  const pid = cd.pid;
12
+ if (logCommand) {
13
+ console.log(`${path} ${args.join(" ")}`);
14
+ }
9
15
  cd.stdout.on("data", (data) => {
10
16
  if (log) {
11
17
  log(data);
12
18
  }
19
+ dataList.push(data);
20
+ allList.push(data);
13
21
  if (logData) {
14
- data = data.toString("utf8");
15
- all.push(data);
22
+ console.log(data.toString("utf8"));
16
23
  }
17
24
  });
18
25
  cd.stderr.on("data", (data) => {
26
+ allList.push(data);
27
+ data = data.toString("utf8");
19
28
  if (error) {
20
- log(data);
29
+ error(data);
21
30
  }
31
+ errorList.push(data);
22
32
  if (logError) {
23
- data = data.toString("utf8");
24
- all.push(color.red(data));
33
+ console.error(data);
25
34
  }
26
35
  });
27
36
  cd.on("error", (error) => {
28
37
  const errorText = color.red(error.stack ?? error.toString());
29
- all.push(error.stack ?? error.toString());
38
+ errorList.push(error.stack ?? error.toString());
39
+ allList.push(error.stack ?? error.toString());
30
40
  if (logData || logError) {
31
41
  console.error(errorText);
32
42
  }
@@ -35,22 +45,19 @@ export const spawnPromise = (path, args, options) => new Promise((resolve, rejec
35
45
  cd.on("close", (status) => {
36
46
  if (status > 0) {
37
47
  if (throwOnFail) {
38
- if (logError) {
39
- console.error(all);
40
- }
41
- reject(new Error(all.join("\n")));
48
+ reject(new Error(errorList.join("\n")));
42
49
  return;
43
50
  }
44
51
  }
45
- if (logCommand) {
46
- console.log(`Spawn: ${path} ${JSON.stringify(args, undefined, 2)}`);
47
- if (logData) {
48
- console.log(all.join("\n"));
49
- }
50
- }
51
52
  resolve({
52
- get all() {
53
- return all.join("\n");
53
+ get data() {
54
+ return dataList;
55
+ },
56
+ get error() {
57
+ return errorList;
58
+ },
59
+ get text() {
60
+ return allList.map((x) => typeof x === "string" ? x : x.toString("utf8")).join("\n");
54
61
  },
55
62
  pid,
56
63
  status
@@ -1 +1 @@
1
- {"version":3,"file":"spawnPromise.js","sourceRoot":"","sources":["../../src/core/spawnPromise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawnPromise.js","sourceRoot":"","sources":["../../src/core/spawnPromise.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,12 @@
1
+ import XNode from "./core/XNode.js";
2
+ import { Secret } from "./core/Secret.js";
1
3
  export { default as XNode } from "./core/XNode.js";
2
4
  export { default as Batch } from "./core/Batch.js";
3
5
  export { default as Run } from "./core/Run.js";
4
- export declare const invoke: (name: string, args: string[]) => Promise<void>;
6
+ export declare const Log: ({ text, error }: {
7
+ text?: any;
8
+ error?: any;
9
+ }) => void;
10
+ export declare const mask: (secret: string) => Secret;
11
+ export declare const invoke: (name: string | XNode, args?: string[]) => Promise<any>;
5
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,eAAe,CAAC;AAI/C,eAAO,MAAM,MAAM,SAAgB,MAAM,QAAS,MAAM,EAAE,kBAiDzD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,eAAe,CAAC;AAI/C,eAAO,MAAM,GAAG;;;UAkBf,CAAC;AAEF,eAAO,MAAM,IAAI,WAAY,MAAM,WAAuB,CAAC;AAE3D,eAAO,MAAM,MAAM,SAAgB,MAAM,GAAG,KAAK,SAAU,MAAM,EAAE,iBAuDlE,CAAA"}
package/dist/index.js CHANGED
@@ -3,11 +3,36 @@ import { unlinkSync } from "fs";
3
3
  import { Babel } from "./core/babel.js";
4
4
  import XNode from "./core/XNode.js";
5
5
  import { pathToFileURL } from "url";
6
+ import { Secret } from "./core/Secret.js";
6
7
  export { default as XNode } from "./core/XNode.js";
7
8
  export { default as Batch } from "./core/Batch.js";
8
9
  export { default as Run } from "./core/Run.js";
9
10
  // execute passed script...
11
+ export const Log = ({ text = void 0, error = void 0 }) => {
12
+ if (text) {
13
+ if (Array.isArray(text)) {
14
+ console.log(...text);
15
+ }
16
+ else {
17
+ console.log(text);
18
+ }
19
+ return;
20
+ }
21
+ if (error) {
22
+ if (Array.isArray(text)) {
23
+ console.error(...text);
24
+ }
25
+ else {
26
+ console.error(text);
27
+ }
28
+ return;
29
+ }
30
+ };
31
+ export const mask = (secret) => new Secret(secret);
10
32
  export const invoke = async (name, args) => {
33
+ if (name instanceof XNode) {
34
+ return name.execute();
35
+ }
11
36
  let js = "";
12
37
  try {
13
38
  if (name.endsWith(".jsx")) {
@@ -17,6 +42,7 @@ export const invoke = async (name, args) => {
17
42
  const { default: fx } = await import(pathToFileURL(name).toString());
18
43
  if (!fx) {
19
44
  // script must have executed automatically and may not have default export
45
+ return;
20
46
  }
21
47
  const options = {};
22
48
  for (let index = 0; index < args.length; index++) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.decorators.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/core/babel.ts","../src/core/XNode.ts","../src/core/Batch.ts","../node_modules/console-log-colors/src/index.d.ts","../src/core/spawnPromise.ts","../src/core/Run.ts","../src/index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d8e438d871b24df83afea14524392f7fa72bbbcac67ac04e4ad6105a37c8648","signature":"a381f2c772d375585a4977b43b0b7a01e9cf3954dd9974fb815d5e014aea8ab3","impliedFormat":99},{"version":"d89bae837149b11406ffe33897796786b3f52e40454aab89fd9ae5ebc715321e","signature":"0d1c7c27bbbd2af2c0967cd74a31fa9bd573724c239f4d306b06a9ceefd852fa","impliedFormat":99},{"version":"9003f740087a1f55569317f7adcb361b80fbee710a2c11e3cdcb00d8d962f741","signature":"3de18a33be52e21f9246a460119e49f7295719f1dff51753e2e08f0309cd74a2","impliedFormat":99},{"version":"3571f61ccbaa40fd3d4402c49e61235d7be151647c497df01ad71752a619e60f","impliedFormat":1},{"version":"208b80b8568c1cd85f19579fb134922120777634257a0597dc6d367dff2a369a","signature":"ae320bdbaff0ef4bb0be40c59fbecf0d98258cc64b1d979761aed928f617d6b2","impliedFormat":99},{"version":"f1625be398a9819d3a12b3ad50a58abac04ed5fab6aeb507440ca0cc6ca57256","signature":"0918832963a064e3b8f294a3c835a162fd987e492296fefefc6e5fd924039f53","impliedFormat":99},{"version":"1afe83e42ea7d2f7512c82920adac79ddb4b9c523444bc82ede39f02a3403bd6","signature":"46ba24551bcc01f85c2bedd44f2d4d524f3c14dde35130fb74d5b7572dfe81b3","impliedFormat":99},{"version":"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"8b9bf58d580d9b36ab2f23178c88757ce7cc6830ccbdd09e8a76f4cb1bc0fcf7","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"b590436e9112b462ea95d5622f249aa18564119429e6c3d8c1be2a1d819f02bb","impliedFormat":1},{"version":"6ec42a00e479cf29882b2d152f3dc515f77896d65b0e7f06a45661cfb9f30f55","impliedFormat":1},{"version":"5c39efdfda3b6fa5f323c257184ba8b79824e7d872479e286c49183cf9555065","affectsGlobalScope":true,"impliedFormat":1},{"version":"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315","impliedFormat":1},{"version":"5a38909344f43b30b74c90623f83f4412344e992f2ff158e3b6d3725af18dc02","affectsGlobalScope":true,"impliedFormat":1},{"version":"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","impliedFormat":1},{"version":"f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f","impliedFormat":1},{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","impliedFormat":1},{"version":"a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","impliedFormat":1},{"version":"5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","impliedFormat":1},{"version":"9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","impliedFormat":1},{"version":"312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","impliedFormat":1},{"version":"bcfcff784a59db3f323c25cea5ae99a903ca9292c060f2c7e470ea73aaf71b44","impliedFormat":1},{"version":"672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","impliedFormat":1},{"version":"64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","impliedFormat":1},{"version":"ddbf3aac94f85dbb8e4d0360782e60020da75a0becfc0d3c69e437c645feb30f","impliedFormat":1},{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","impliedFormat":1},{"version":"50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","impliedFormat":1},{"version":"2178ab4b68402d1de2dda199d3e4a55f7200e3334f5a9727fbd9d16975cdf75f","impliedFormat":1},{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1785f3ca422887c49159986725420bd5764117c8f1fe70985b5e36d278158e09","affectsGlobalScope":true,"impliedFormat":1},{"version":"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","impliedFormat":1},{"version":"c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","impliedFormat":1},{"version":"cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","impliedFormat":1},{"version":"139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","impliedFormat":1},{"version":"bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","impliedFormat":1},{"version":"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a","impliedFormat":1},{"version":"52ff13ed3bf7d9763eb6b7ad0545681f9fa591258d1df778256469b516047edb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","impliedFormat":1},{"version":"4301becc26a79eb5f4552f7bee356c2534466d3b5cd68b71523e1929d543de89","impliedFormat":1},{"version":"5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","impliedFormat":1},{"version":"000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c","impliedFormat":1},{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1d274b8bb8ca011148f87e128392bfcd17a12713b6a4e843f0fa9f3f6b45e2b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","impliedFormat":1},{"version":"478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","impliedFormat":1},{"version":"e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe","impliedFormat":1},{"version":"98d547613610452ac9323fb9ec4eafc89acab77644d6e23105b3c94913f712b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1}],"root":[[50,52],[54,56]],"options":{"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"jsx":2,"module":199,"outDir":"./","skipDefaultLibCheck":true,"skipLibCheck":true,"sourceMap":true,"target":8},"fileIdsList":[[57],[97],[98,103,132],[99,104,110,111,118,129,140],[99,100,110,118],[101,141],[102,103,111,119],[103,129,137],[104,106,110,118],[97,105],[106,107],[110],[108,110],[97,110],[110,111,112,129,140],[110,111,112,125,129,132],[95,98,145],[106,110,113,118,129,140],[110,111,113,114,118,129,137,140],[113,115,129,137,140],[57,58,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],[110,116],[117,140,145],[106,110,118,129],[119],[120],[97,121],[57,58,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],[123],[124],[110,125,126],[125,127,141,143],[98,110,129,130,131,132],[98,129,131],[129,130],[132],[133],[57,129],[110,135,136],[135,136],[103,118,129,137],[138],[118,139],[98,113,124,140],[103,141],[129,142],[117,143],[144],[98,103,110,112,121,129,140,143,145],[129,146],[67,71,140],[67,129,140],[62],[64,67,137,140],[118,137],[148],[62,148],[64,67,118,140],[59,60,63,66,98,110,129,140],[67,74],[59,65],[67,87,88],[63,67,98,132,140,148],[98,148],[87,98,148],[61,62,148],[67],[61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,88,89,90,91,92,93,94],[67,82],[67,74,75],[65,67,75,76],[66],[59,62,67],[67,71,75,76],[71],[65,67,70,140],[59,64,67,74],[98,129],[59,64,67,74,82],[62,67,87,98,145,148],[51],[51,54],[112,120],[53,99],[50,51,52,55,111,140]],"referencedMap":[[57,1],[58,1],[97,2],[98,3],[99,4],[100,5],[101,6],[102,7],[103,8],[104,9],[105,10],[106,11],[107,11],[109,12],[108,13],[110,14],[111,15],[112,16],[96,17],[113,18],[114,19],[115,20],[148,21],[116,22],[117,23],[118,24],[119,25],[120,26],[121,27],[122,28],[123,29],[124,30],[125,31],[126,31],[127,32],[129,33],[131,34],[130,35],[132,36],[133,37],[134,38],[135,39],[136,40],[137,41],[138,42],[139,43],[140,44],[141,45],[142,46],[143,47],[144,48],[145,49],[146,50],[74,51],[84,52],[73,51],[93,53],[65,54],[64,55],[92,56],[86,57],[91,58],[67,59],[81,60],[66,61],[89,62],[62,63],[61,64],[90,65],[63,66],[68,67],[72,67],[95,68],[94,69],[76,70],[77,71],[79,72],[75,73],[78,74],[87,56],[70,75],[71,76],[80,77],[60,78],[83,79],[82,67],[88,80],[52,81],[55,82],[50,83],[54,84],[56,85]]},"version":"5.5.4"}
1
+ {"program":{"fileNames":["../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.decorators.d.ts","../../../../../../opt/hostedtoolcache/node/20.16.0/x64/lib/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/core/babel.ts","../src/core/XNode.ts","../src/core/Secret.ts","../src/core/Batch.ts","../node_modules/console-log-colors/src/index.d.ts","../src/core/spawnPromise.ts","../src/core/Run.ts","../src/index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"80539e3df1aa97c61041d54998b9684e9cb72e6419bf4e861d2f13b3362a6e53","signature":"a381f2c772d375585a4977b43b0b7a01e9cf3954dd9974fb815d5e014aea8ab3","impliedFormat":99},{"version":"2aea0d831c1a513e97393171b8f0c7b72374d3a38b8911708c0886b64891f0b4","signature":"b3bc16df55cd607e57c9e75c402e7a3ec58a966d634ae1b789e64beb80d671c4","impliedFormat":99},{"version":"a03bc12727b86ce8305b13eb3d63e2dd8466eb15fef362e09942fd5222525708","signature":"34f0fc9648cd37d8c2b81af07388bf8deccdcfc7e0e2a2844ef1b061d48cf435","impliedFormat":99},{"version":"9968463811c09e89f56171a6ce31c2e0f9b7c4027df5552ce09801a337056343","signature":"b8be48727378d14c6020c90b312184b50c4fb40b44ac55d40e57dfcb51cb3902","impliedFormat":99},{"version":"3571f61ccbaa40fd3d4402c49e61235d7be151647c497df01ad71752a619e60f","impliedFormat":1},{"version":"c8cf6b6574c3650c4e7da2767a865e7e2fcd6aff6dc77229630037a485600833","signature":"53b0e2d28919e6a578edae32d32515f98f490137cc2dfa5f84cfd2f98351b13a","impliedFormat":99},{"version":"265dd3cb126154e4465b6259a65082f0859f2be7860437d986fef816fb6cb738","signature":"da74a71667b5b4802d6b67379dc37046d671f0078f56b18adbe0b05974389dc3","impliedFormat":99},{"version":"3d819e8e490eeaff211d5e4ce6ef5bc638f89e50f37ebde4b237a3139e1e88b6","signature":"2896ad068a5ac8399ff3fcbafa7f45cd8ac0aacc0d63121f3cae746b95c9aac1","impliedFormat":99},{"version":"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"8b9bf58d580d9b36ab2f23178c88757ce7cc6830ccbdd09e8a76f4cb1bc0fcf7","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"b590436e9112b462ea95d5622f249aa18564119429e6c3d8c1be2a1d819f02bb","impliedFormat":1},{"version":"6ec42a00e479cf29882b2d152f3dc515f77896d65b0e7f06a45661cfb9f30f55","impliedFormat":1},{"version":"5c39efdfda3b6fa5f323c257184ba8b79824e7d872479e286c49183cf9555065","affectsGlobalScope":true,"impliedFormat":1},{"version":"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315","impliedFormat":1},{"version":"5a38909344f43b30b74c90623f83f4412344e992f2ff158e3b6d3725af18dc02","affectsGlobalScope":true,"impliedFormat":1},{"version":"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","impliedFormat":1},{"version":"f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f","impliedFormat":1},{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","impliedFormat":1},{"version":"a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","impliedFormat":1},{"version":"5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","impliedFormat":1},{"version":"9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","impliedFormat":1},{"version":"312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","impliedFormat":1},{"version":"bcfcff784a59db3f323c25cea5ae99a903ca9292c060f2c7e470ea73aaf71b44","impliedFormat":1},{"version":"672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","impliedFormat":1},{"version":"64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","impliedFormat":1},{"version":"ddbf3aac94f85dbb8e4d0360782e60020da75a0becfc0d3c69e437c645feb30f","impliedFormat":1},{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","impliedFormat":1},{"version":"50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","impliedFormat":1},{"version":"2178ab4b68402d1de2dda199d3e4a55f7200e3334f5a9727fbd9d16975cdf75f","impliedFormat":1},{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1785f3ca422887c49159986725420bd5764117c8f1fe70985b5e36d278158e09","affectsGlobalScope":true,"impliedFormat":1},{"version":"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","impliedFormat":1},{"version":"c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","impliedFormat":1},{"version":"cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","impliedFormat":1},{"version":"139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","impliedFormat":1},{"version":"bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","impliedFormat":1},{"version":"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a","impliedFormat":1},{"version":"52ff13ed3bf7d9763eb6b7ad0545681f9fa591258d1df778256469b516047edb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","impliedFormat":1},{"version":"4301becc26a79eb5f4552f7bee356c2534466d3b5cd68b71523e1929d543de89","impliedFormat":1},{"version":"5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","impliedFormat":1},{"version":"000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c","impliedFormat":1},{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1d274b8bb8ca011148f87e128392bfcd17a12713b6a4e843f0fa9f3f6b45e2b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","impliedFormat":1},{"version":"478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","impliedFormat":1},{"version":"e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe","impliedFormat":1},{"version":"98d547613610452ac9323fb9ec4eafc89acab77644d6e23105b3c94913f712b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1}],"root":[[50,53],[55,57]],"options":{"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"jsx":2,"module":199,"outDir":"./","skipDefaultLibCheck":true,"skipLibCheck":true,"sourceMap":true,"target":8},"fileIdsList":[[58],[98],[99,104,133],[100,105,111,112,119,130,141],[100,101,111,119],[102,142],[103,104,112,120],[104,130,138],[105,107,111,119],[98,106],[107,108],[111],[109,111],[98,111],[111,112,113,130,141],[111,112,113,126,130,133],[96,99,146],[107,111,114,119,130,141],[111,112,114,115,119,130,138,141],[114,116,130,138,141],[58,59,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],[111,117],[118,141,146],[107,111,119,130],[120],[121],[98,122],[58,59,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],[124],[125],[111,126,127],[126,128,142,144],[99,111,130,131,132,133],[99,130,132],[130,131],[133],[134],[58,130],[111,136,137],[136,137],[104,119,130,138],[139],[119,140],[99,114,125,141],[104,142],[130,143],[118,144],[145],[99,104,111,113,122,130,141,144,146],[130,147],[68,72,141],[68,130,141],[63],[65,68,138,141],[119,138],[149],[63,149],[65,68,119,141],[60,61,64,67,99,111,130,141],[68,75],[60,66],[68,88,89],[64,68,99,133,141,149],[99,149],[88,99,149],[62,63,149],[68],[62,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95],[68,83],[68,75,76],[66,68,76,77],[67],[60,63,68],[68,72,76,77],[72],[66,68,71,141],[60,65,68,75],[99,130],[60,65,68,75,83],[63,68,88,99,146,149],[51],[51,55],[113,121],[52,54,100],[50,51,52,53,56,112,141]],"referencedMap":[[58,1],[59,1],[98,2],[99,3],[100,4],[101,5],[102,6],[103,7],[104,8],[105,9],[106,10],[107,11],[108,11],[110,12],[109,13],[111,14],[112,15],[113,16],[97,17],[114,18],[115,19],[116,20],[149,21],[117,22],[118,23],[119,24],[120,25],[121,26],[122,27],[123,28],[124,29],[125,30],[126,31],[127,31],[128,32],[130,33],[132,34],[131,35],[133,36],[134,37],[135,38],[136,39],[137,40],[138,41],[139,42],[140,43],[141,44],[142,45],[143,46],[144,47],[145,48],[146,49],[147,50],[75,51],[85,52],[74,51],[94,53],[66,54],[65,55],[93,56],[87,57],[92,58],[68,59],[82,60],[67,61],[90,62],[63,63],[62,64],[91,65],[64,66],[69,67],[73,67],[96,68],[95,69],[77,70],[78,71],[80,72],[76,73],[79,74],[88,56],[71,75],[72,76],[81,77],[61,78],[84,79],[83,67],[89,80],[53,81],[56,82],[50,83],[55,84],[57,85]]},"version":"5.5.4"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurospeech/jex",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "description": "Easy shell scripting with JavaScript and E4X (Similar to JSX)",
5
5
  "main": "index.js",
6
6
  "type": "module",
package/src/core/Batch.ts CHANGED
@@ -1,7 +1,22 @@
1
1
  import XNode from "./XNode.js";
2
2
 
3
- export default async function Batch({}, ... commands: XNode[]) {
4
- for (const element of commands) {
5
- await element.execute();
3
+ export default async function Batch({}, ... commands: (() => XNode | string)[]) {
4
+ for (const iterator of commands) {
5
+ let element = iterator as any;
6
+ while (typeof element === "function") {
7
+ element = element();
8
+ }
9
+ if (element instanceof XNode) {
10
+ await element.execute();
11
+ continue;
12
+ }
13
+ if (typeof element === "string") {
14
+ const log = element.trim();
15
+ if (log) {
16
+ console.log(log);
17
+ }
18
+ }
19
+
20
+ // other text should be printed...?
6
21
  }
7
22
  }
package/src/core/Run.ts CHANGED
@@ -2,24 +2,49 @@ import { spawnPromise } from "./spawnPromise.js";
2
2
  import XNode from "./XNode.js";
3
3
 
4
4
  export interface IProcessResult {
5
- all: string;
5
+ text: string;
6
+ error: string[];
7
+ data: Buffer[];
6
8
  pid: number;
7
9
  status: number;
8
10
  }
9
11
 
10
- export default async function Run({ path, args,
12
+ export interface IRunArgs {
13
+ cmd: string,
14
+ args?: string | string[],
15
+ cwd?: string,
16
+ detached?: boolean,
17
+ logCommand?: boolean,
18
+ logData?: boolean,
19
+ logError?: boolean,
20
+ log?: (data: Buffer) => void,
21
+ error?: (data: Buffer) => void,
22
+ started?: (pid: number) => void,
23
+ finished?: (r: IProcessResult) => void,
24
+ failed?: (r: IProcessResult) => void
25
+
26
+ }
27
+
28
+ export default async function Run({
29
+ cmd,
30
+ args = void 0,
11
31
  cwd = void 0,
12
32
  detached = false,
13
33
  logCommand = true,
14
- logData = false,
34
+ logData = true,
15
35
  logError = true,
16
36
  log = void 0 as (data: Buffer) => void,
17
37
  error = void 0 as (data: Buffer) => void,
18
38
  started = void 0 as (pid: number) => void,
19
39
  finished = void 0 as (r: IProcessResult) => void,
20
40
  failed = void 0 as (r: IProcessResult) => void
21
- }) {
22
- const r = await spawnPromise(path, args, {
41
+ }: IRunArgs) {
42
+
43
+ if (typeof args === "string") {
44
+ args = args.split(" ");
45
+ }
46
+
47
+ const r = await spawnPromise(cmd, args, {
23
48
  cwd,
24
49
  detached,
25
50
  logCommand,
@@ -31,10 +56,10 @@ export default async function Run({ path, args,
31
56
 
32
57
  let fxr = void 0;
33
58
 
34
- if (r.status === 0 && finished) {
35
- fxr = finished(r);
59
+ if (r.status === 0) {
60
+ fxr = finished?.(r);
36
61
  } else {
37
- fxr = failed(r);
62
+ fxr = failed?.(r);
38
63
  }
39
64
 
40
65
  if (fxr) {
@@ -0,0 +1,9 @@
1
+ export class Secret {
2
+ constructor(public secret: string) {
3
+
4
+ }
5
+
6
+ toString() {
7
+ return "********";
8
+ }
9
+ }
package/src/core/XNode.ts CHANGED
@@ -4,20 +4,20 @@ export default class XNode {
4
4
  // eslint-disable-next-line @typescript-eslint/ban-types
5
5
  name: Function,
6
6
  attribs: Record<string, any>,
7
- ... nodes: (XNode | string)[]): XNode {
7
+ ... nodes: (() => (XNode | string))[]): XNode {
8
8
  return new XNode(name, attribs, nodes);
9
9
  }
10
10
 
11
11
  private constructor(
12
12
  public readonly name: Function,
13
13
  public readonly attributes: Record<string, any>,
14
- public readonly children: (XNode | string)[]
14
+ public readonly children: (() => (XNode | string))[]
15
15
  ) {
16
16
 
17
17
  }
18
18
 
19
19
  async execute() {
20
- return this.name(this.attributes, this.children);
20
+ return this.name(this.attributes ?? {}, ... this.children);
21
21
  }
22
22
 
23
23
  }
package/src/core/babel.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { transformFileAsync } from "@babel/core";
2
- import { writeFile } from "fs/promises";
1
+ import { transform } from "@babel/core";
2
+ import { readFile, writeFile } from "fs/promises";
3
3
  import { format, parse } from "path";
4
4
 
5
5
  const presets = {
@@ -7,18 +7,62 @@ const presets = {
7
7
  sourceMaps: "inline",
8
8
  compact: false,
9
9
  comments: false,
10
- importSource: "jex/dist/XNode.js",
11
- pragma: "XNode.create",
12
10
  getModuleId: () => "v",
13
11
  "plugins": [
12
+ ["@babel/plugin-syntax-jsx"],
13
+ [
14
+ function(babel) {
15
+ return {
16
+ name: "JSX Transformer",
17
+ visitor: {
18
+ JSXElement(node) {
19
+ if (node.node.children?.length) {
20
+ const copy = [... node.node.children];
21
+ const transformed = node.node.children = [];
22
+ for (const element of copy) {
23
+ switch(element.type) {
24
+ case "JSXText":
25
+ transformed.push(babel.types.arrowFunctionExpression([], babel.types.stringLiteral(element.value)));
26
+ continue;
27
+ case "JSXExpressionContainer":
28
+ if (element.expression.type === "JSXEmptyExpression") {
29
+ continue;
30
+ }
31
+ transformed.push(
32
+ babel.types.arrowFunctionExpression(
33
+ [], babel.types.sequenceExpression([element.expression, babel.types.nullLiteral()])
34
+ )
35
+ );
36
+ continue;
37
+ case "JSXEmptyExpression":
38
+ continue;
39
+ }
40
+ transformed.push(babel.types.arrowFunctionExpression([], element));
41
+ }
42
+ }
43
+ return node;
44
+ }
45
+ }
46
+ };
47
+ }
48
+ ],
49
+ ["@babel/plugin-transform-react-jsx", {
50
+ pragma: "XNode.create",
51
+ }]
52
+
14
53
  ]
15
54
  };
55
+ const inject = process.env.TEST_MODE
56
+ ? `import { XNode } from "./dist/index.js"`
57
+ : `import { XNode } from "@neurospeech/jex/dist/index.js"`;
16
58
 
17
59
  export class Babel {
18
60
 
19
61
 
20
62
  static async transformJSX(file: string) {
21
- const result = await transformFileAsync(file, presets);
63
+ const code = await readFile(file, "utf8");
64
+ const finalCode = `${inject};${code}`;
65
+ const result = await transform(finalCode, presets);
22
66
  const path = parse(file);
23
67
  path.base += ".js";
24
68
  const js = format(path);
@@ -2,44 +2,56 @@
2
2
  import { SpawnOptionsWithoutStdio, spawn } from "node:child_process";
3
3
 
4
4
  import { color } from "console-log-colors";
5
+ import { Secret } from "./Secret.js";
5
6
 
6
- export const spawnPromise = (path, args?: string[], options?: SpawnOptionsWithoutStdio & {
7
+ export const spawnPromise = (path, args?: (string | Secret)[], options?: SpawnOptionsWithoutStdio & {
7
8
  logCommand?: boolean,
8
9
  logData?: boolean,
9
10
  logError?: boolean,
10
11
  log?: (data: Buffer) => void,
11
12
  error?: (data: Buffer) => void,
12
13
  throwOnFail?: boolean }) => new Promise<{
13
- get all(): string;
14
+ get data(): Buffer[];
15
+ get error(): string[];
16
+ get text(): string;
14
17
  pid: number;
15
18
  status: number;
16
19
  }>((resolve, reject) => {
17
- const all = [];
20
+ const dataList = [];
21
+ const errorList = [];
22
+ const allList = [];
18
23
  const { logCommand = true, throwOnFail = false, logData = true, logError = true, log, error } = options ?? {};
19
- const cd = spawn(path, args, options);
24
+ const cd = spawn(path, args.map((x) => x instanceof Secret ? x.secret : x), options);
20
25
  const pid = cd.pid;
26
+ if (logCommand) {
27
+ console.log(`${path} ${args.join(" ")}`);
28
+ }
21
29
  cd.stdout.on("data", (data) => {
22
30
  if (log) {
23
31
  log(data);
24
32
  }
33
+ dataList.push(data);
34
+ allList.push(data);
25
35
  if (logData) {
26
- data = data.toString("utf8");
27
- all.push(data);
36
+ console.log(data.toString("utf8"));
28
37
  }
29
38
  });
30
39
  cd.stderr.on("data", (data) => {
40
+ allList.push(data);
41
+ data = data.toString("utf8");
31
42
  if (error) {
32
- log(data);
43
+ error(data);
33
44
  }
34
- if(logError) {
35
- data = data.toString("utf8");
36
- all.push(color.red(data));
45
+ errorList.push(data);
46
+ if (logError) {
47
+ console.error(data);
37
48
  }
38
49
  });
39
50
 
40
51
  cd.on("error", (error) => {
41
52
  const errorText = color.red(error.stack ?? error.toString());
42
- all.push(error.stack ?? error.toString());
53
+ errorList.push(error.stack ?? error.toString());
54
+ allList.push(error.stack ?? error.toString());
43
55
  if (logData || logError) {
44
56
  console.error(errorText);
45
57
  }
@@ -48,22 +60,19 @@ export const spawnPromise = (path, args?: string[], options?: SpawnOptionsWithou
48
60
  cd.on("close", (status) => {
49
61
  if (status>0) {
50
62
  if (throwOnFail) {
51
- if (logError) {
52
- console.error(all);
53
- }
54
- reject(new Error(all.join("\n")));
63
+ reject(new Error(errorList.join("\n")));
55
64
  return;
56
65
  }
57
66
  }
58
- if (logCommand) {
59
- console.log(`Spawn: ${path} ${JSON.stringify(args, undefined, 2)}`);
60
- if (logData) {
61
- console.log(all.join("\n"));
62
- }
63
- }
64
67
  resolve({
65
- get all() {
66
- return all.join("\n");
68
+ get data() {
69
+ return dataList;
70
+ },
71
+ get error() {
72
+ return errorList;
73
+ },
74
+ get text() {
75
+ return allList.map((x) => typeof x === "string" ? x : x.toString("utf8")).join("\n");
67
76
  },
68
77
  pid,
69
78
  status });
package/src/index.ts CHANGED
@@ -4,6 +4,7 @@ import { unlinkSync } from "fs";
4
4
  import { Babel } from "./core/babel.js";
5
5
  import XNode from "./core/XNode.js";
6
6
  import { pathToFileURL } from "url";
7
+ import { Secret } from "./core/Secret.js";
7
8
 
8
9
  export { default as XNode } from "./core/XNode.js";
9
10
 
@@ -13,7 +14,34 @@ export { default as Run } from "./core/Run.js";
13
14
 
14
15
  // execute passed script...
15
16
 
16
- export const invoke = async (name: string , args: string[]) => {
17
+ export const Log = ({ text = void 0 , error = void 0 }) => {
18
+ if (text) {
19
+ if(Array.isArray(text)) {
20
+ console.log(... text);
21
+ } else {
22
+ console.log(text);
23
+ }
24
+ return;
25
+ }
26
+
27
+ if (error) {
28
+ if(Array.isArray(text)) {
29
+ console.error(... text);
30
+ } else {
31
+ console.error(text);
32
+ }
33
+ return;
34
+ }
35
+ };
36
+
37
+ export const mask = (secret: string) => new Secret(secret);
38
+
39
+ export const invoke = async (name: string | XNode , args?: string[]) => {
40
+
41
+ if (name instanceof XNode) {
42
+ return name.execute();
43
+ }
44
+
17
45
  let js = "";
18
46
 
19
47
  try {
@@ -26,6 +54,7 @@ export const invoke = async (name: string , args: string[]) => {
26
54
 
27
55
  if (!fx) {
28
56
  // script must have executed automatically and may not have default export
57
+ return;
29
58
  }
30
59
  const options: any = {
31
60
  };
package/test.jsx ADDED
@@ -0,0 +1,31 @@
1
+ import { Batch, Run, invoke, Log } from "./dist/index.js";
2
+
3
+ let version = "";
4
+
5
+ invoke(<Batch>
6
+
7
+ <Run
8
+ cmd="node"
9
+ args={["--version"]}
10
+ logData={false}
11
+ finished={(x) => version = x.text.trim() }
12
+ />
13
+
14
+ {
15
+ /** Execute Code in the curly braces, this will not be printed. */
16
+ version = version + "..."
17
+ }
18
+
19
+ <Log
20
+ text={version}
21
+ />
22
+
23
+ { /** Print following text directly on console... */}
24
+ Running Node Directly...
25
+
26
+ <Run
27
+ cmd="node"
28
+ args="--version"
29
+ />
30
+
31
+ </Batch>)
package/test.jsx.js ADDED
@@ -0,0 +1,15 @@
1
+ import { XNode } from "./dist/index.js";
2
+ import { Batch, Run, invoke, Log } from "./dist/index.js";
3
+ let version = "";
4
+ invoke(XNode.create(Batch, null, () => "\n\n ", () => XNode.create(Run, {
5
+ cmd: "node",
6
+ args: ["--version"],
7
+ logData: false,
8
+ finished: x => version = x.text.trim()
9
+ }), () => "\n\n ", () => (version = version + "...", null), () => "\n\n ", () => XNode.create(Log, {
10
+ text: version
11
+ }), () => "\n\n ", () => "\n Running Node Directly...\n\n ", () => XNode.create(Run, {
12
+ cmd: "node",
13
+ args: "--version"
14
+ }), () => "\n \n"));
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJYTm9kZSIsIkJhdGNoIiwiUnVuIiwiaW52b2tlIiwiTG9nIiwidmVyc2lvbiIsImNyZWF0ZSIsImNtZCIsImFyZ3MiLCJsb2dEYXRhIiwiZmluaXNoZWQiLCJ4IiwidGV4dCIsInRyaW0iXSwic291cmNlcyI6WyJ1bmtub3duIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhOb2RlIH0gZnJvbSBcIi4vZGlzdC9pbmRleC5qc1wiO2ltcG9ydCB7IEJhdGNoLCBSdW4sIGludm9rZSwgTG9nIH0gZnJvbSBcIi4vZGlzdC9pbmRleC5qc1wiO1xyXG5cclxubGV0IHZlcnNpb24gPSBcIlwiO1xyXG5cclxuaW52b2tlKDxCYXRjaD5cclxuXHJcbiAgICA8UnVuXHJcbiAgICAgICAgY21kPVwibm9kZVwiXHJcbiAgICAgICAgYXJncz17W1wiLS12ZXJzaW9uXCJdfVxyXG4gICAgICAgIGxvZ0RhdGE9e2ZhbHNlfVxyXG4gICAgICAgIGZpbmlzaGVkPXsoeCkgPT4gdmVyc2lvbiA9IHgudGV4dC50cmltKCkgfVxyXG4gICAgICAgIC8+XHJcblxyXG4gICAge1xyXG4gICAgICAgIC8qKiBFeGVjdXRlIENvZGUgaW4gdGhlIGN1cmx5IGJyYWNlcywgdGhpcyB3aWxsIG5vdCBiZSBwcmludGVkLiAqL1xyXG4gICAgICAgIHZlcnNpb24gPSB2ZXJzaW9uICsgXCIuLi5cIlxyXG4gICAgfVxyXG5cclxuICAgIDxMb2dcclxuICAgICAgICB0ZXh0PXt2ZXJzaW9ufVxyXG4gICAgICAgIC8+XHJcblxyXG4gICAgeyAvKiogUHJpbnQgZm9sbG93aW5nIHRleHQgZGlyZWN0bHkgb24gY29uc29sZS4uLiAqL31cclxuICAgIFJ1bm5pbmcgTm9kZSBEaXJlY3RseS4uLlxyXG5cclxuICAgIDxSdW5cclxuICAgICAgICBjbWQ9XCJub2RlXCJcclxuICAgICAgICBhcmdzPVwiLS12ZXJzaW9uXCJcclxuICAgICAgICAvPlxyXG4gICAgXHJcbjwvQmF0Y2g+KSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsS0FBSyxRQUFRLGlCQUFpQjtBQUFDLFNBQVNDLEtBQUssRUFBRUMsR0FBRyxFQUFFQyxNQUFNLEVBQUVDLEdBQUcsUUFBUSxpQkFBaUI7QUFFakcsSUFBSUMsT0FBTyxHQUFHLEVBQUU7QUFFaEJGLE1BQU0sQ0FBQ0gsS0FBQSxDQUFBTSxNQUFBLENBQUNMLEtBQUssZ0NBRVRELEtBQUEsQ0FBQU0sTUFBQSxDQUFDSixHQUFHO0VBQ0FLLEdBQUcsRUFBQyxNQUFNO0VBQ1ZDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBRTtFQUNwQkMsT0FBTyxFQUFFLEtBQU07RUFDZkMsUUFBUSxFQUFHQyxDQUFDLElBQUtOLE9BQU8sR0FBR00sQ0FBQyxDQUFDQyxJQUFJLENBQUNDLElBQUksQ0FBQztBQUFHLENBQ3pDLENBQUMsMkJBSUZSLE9BQU8sR0FBR0EsT0FBTyxHQUFHLEtBQUssaUNBRzdCTCxLQUFBLENBQUFNLE1BQUEsQ0FBQ0YsR0FBRztFQUNBUSxJQUFJLEVBQUVQO0FBQVEsQ0FDYixDQUFDLDBFQUtOTCxLQUFBLENBQUFNLE1BQUEsQ0FBQ0osR0FBRztFQUNBSyxHQUFHLEVBQUMsTUFBTTtFQUNWQyxJQUFJLEVBQUM7QUFBVyxDQUNmLENBQUMsa0JBRUgsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119