eolang 0.30.2 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,25 @@
1
+ #
2
+ # SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
3
+ # SPDX-License-Identifier: MIT
4
+ #
5
+
6
+ require "language/node"
7
+ class Eolang < Formula
8
+ desc "Command-line Tool-Kit"
9
+ homepage "https://github.com/objectionary/eoc"
10
+ url "https://github.com/objectionary/eoc/archive/refs/tags/0.31.0.tar.gz"
11
+ version "0.31.0"
12
+ sha256 "d9238aae0d3911a3bc13c35a9351ba600ee4952f9cc36227242b5fa113ea4ebf"
13
+ license "MIT"
14
+
15
+ depends_on "node"
16
+
17
+ def install
18
+ system "npm", "install", *std_npm_args
19
+ bin.install_symlink Dir["#{libexec}/bin/*"]
20
+ end
21
+
22
+ test do
23
+ system "#{bin}/eoc", "--version"
24
+ end
25
+ end
package/README.md CHANGED
@@ -15,10 +15,17 @@ and check for errors.
15
15
 
16
16
  First, you install [npm][npm-install] and [Java SE][java-se].
17
17
 
18
- Then, you install [eolang][npm] package:
18
+ Then, you install [eolang][npm] package, using [npm][npm-install]:
19
19
 
20
20
  ```bash
21
- npm install -g eolang@0.30.1
21
+ npm install -g eolang@0.31.0
22
+ ```
23
+
24
+ You can also use [Homebrew] (on macOS):
25
+
26
+ ```bash
27
+ brew tap objectionary/eoc https://github.com/objectionary/eoc
28
+ brew install objectionary/eoc/eolang
22
29
  ```
23
30
 
24
31
  Then, you write a simple [EO](https://www.eolang.org) program in `hello.eo` file
@@ -66,9 +73,7 @@ There are also commands that help manipulate with XMIR and EO sources
66
73
  * `audit` inspects all required packages and reports their status
67
74
  * `foreign` inspects all objects found in the program after the `assemble` step
68
75
  * `sodg` generates `.sodg` from `.xmir`, further rederable as XML or [Dot][dot]
69
- * `phi` generates `.phi` files from `.xmir` files
70
- * `unphi` generates `.xmir` files from `.phi` files
71
- * `print` generates `.eo` files from `.phi` files
76
+ * `print` generates `.eo` files from `.xmir` files
72
77
  * `generate_comments` generates `.json` files with LLM-generated
73
78
  documentation for `.eo` structures
74
79
  * `docs` generates HTML documentation from `.xmir` files
@@ -102,3 +107,4 @@ a pull request.
102
107
  [npm-install]: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
103
108
  [dot]: https://en.wikipedia.org/wiki/DOT_%28graph_description_language%29
104
109
  [blog]: https://www.yegor256.com/2021/10/21/objectionary.html
110
+ [Homebrew]: https://brew.sh/
package/eo-version.txt CHANGED
@@ -1 +1 @@
1
- 0.56.7
1
+ 0.58.2
package/home-tag.txt CHANGED
@@ -1 +1 @@
1
- 0.56.7
1
+ 0.58.1
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
2
2
  # SPDX-License-Identifier: MIT
3
3
 
4
- distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.10/apache-maven-3.9.10-bin.zip
4
+ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
@@ -13,7 +13,7 @@
13
13
  <plugins>
14
14
  <plugin>
15
15
  <artifactId>maven-enforcer-plugin</artifactId>
16
- <version>3.5.0</version>
16
+ <version>3.6.1</version>
17
17
  <executions>
18
18
  <execution>
19
19
  <goals>
@@ -121,6 +121,6 @@
121
121
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
122
122
  <heap-size>undefined</heap-size>
123
123
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
124
- <jeo.version>0.10.0</jeo.version>
124
+ <jeo.version>0.13.7</jeo.version>
125
125
  </properties>
126
126
  </project>
package/mvnw/pom.xml CHANGED
@@ -10,7 +10,7 @@
10
10
  <version>0.0.0</version>
11
11
  <packaging>jar</packaging>
12
12
  <properties>
13
- <jeo.version>0.10.0</jeo.version>
13
+ <jeo.version>0.13.7</jeo.version>
14
14
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15
15
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
16
16
  <eo.version>undefined</eo.version>
@@ -26,13 +26,13 @@
26
26
  <dependency>
27
27
  <groupId>org.junit.jupiter</groupId>
28
28
  <artifactId>junit-jupiter-api</artifactId>
29
- <version>5.13.1</version>
29
+ <version>5.13.4</version>
30
30
  <scope>compile</scope>
31
31
  </dependency>
32
32
  <dependency>
33
33
  <groupId>org.junit.jupiter</groupId>
34
34
  <artifactId>junit-jupiter-engine</artifactId>
35
- <version>5.13.1</version>
35
+ <version>5.13.4</version>
36
36
  <scope>compile</scope>
37
37
  </dependency>
38
38
  </dependencies>
@@ -45,7 +45,7 @@
45
45
  <plugins>
46
46
  <plugin>
47
47
  <artifactId>maven-enforcer-plugin</artifactId>
48
- <version>3.5.0</version>
48
+ <version>3.6.1</version>
49
49
  <executions>
50
50
  <execution>
51
51
  <goals>
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  },
6
6
  "dependencies": {
7
7
  "@langchain/core": "^0.3.55",
8
- "@langchain/openai": "^0.5.10",
8
+ "@langchain/openai": "^0.6.0",
9
9
  "colors": "^1.4.0",
10
10
  "commander": "^12.1.0",
11
11
  "eo2js": "^0.0.8",
@@ -26,7 +26,7 @@
26
26
  "grunt-contrib-clean": "^2.0.1",
27
27
  "grunt-eslint": "^25.0.0",
28
28
  "grunt-mocha-cli": "^7.0.0",
29
- "mocha": "^11.7.0",
29
+ "mocha": "^11.7.1",
30
30
  "patch-package": "^8.0.0"
31
31
  },
32
32
  "engines": {
@@ -57,5 +57,5 @@
57
57
  "postinstall": "node scripts/postinstall.js",
58
58
  "test": "mocha --timeout 1200000"
59
59
  },
60
- "version": "0.30.2"
60
+ "version": "0.32.0"
61
61
  }
@@ -9,13 +9,13 @@ index 59f7a07..4cc7182 100644
9
9
  const path = require('path')
10
10
  const grunt = require('grunt')
11
11
  +const os = require('os')
12
-
12
+
13
13
  const BOOL_OPTIONS = [
14
14
  'allow-uncaught',
15
15
  @@ -55,6 +56,10 @@ module.exports = function(options) {
16
16
  spawnOptions.cmd = path.dirname(spawnOptions.cmd)
17
17
  spawnOptions.cmd += '/../.bin/mocha'
18
-
18
+
19
19
  + if (os.platform() === 'win32') {
20
20
  + spawnOptions.opts.shell = true
21
21
  + }
@@ -50,4 +50,4 @@ if (fs.existsSync(gruntMochaCli) && patchPackageBin) {
50
50
  });
51
51
  } else {
52
52
  console.log('Production environment detected, skipping patch-package.');
53
- }
53
+ }
@@ -14,14 +14,12 @@ const path = require('path');
14
14
  */
15
15
  module.exports = function(opts) {
16
16
  return mvnw(
17
- ['jeo:unroll-phi', 'jeo:assemble']
17
+ ['jeo:assemble']
18
18
  .concat(flags(opts))
19
19
  .concat(
20
20
  [
21
21
  `-Djeo.version=${opts.jeoVersion}`,
22
- `-Djeo.unroll-phi.sourcesDir=${path.resolve(opts.target, opts.xmirs)}`,
23
- `-Djeo.unroll-phi.outputDir=${path.resolve(opts.target, opts.unrolled)}`,
24
- `-Djeo.assemble.sourcesDir=${path.resolve(opts.target, opts.unrolled)}`,
22
+ `-Djeo.assemble.sourcesDir=${path.resolve(opts.target, opts.xmirs)}`,
25
23
  `-Djeo.assemble.outputDir=${path.resolve(opts.target, opts.classes)}`,
26
24
  ]
27
25
  ),
package/src/eoc.js CHANGED
@@ -24,11 +24,9 @@ const {program} = require('commander'),
24
24
  clean: require('./commands/clean'),
25
25
  foreign: require('./commands/foreign'),
26
26
  parse: require('./commands/parse'),
27
- phi: require('./commands/phi'),
28
27
  print: require('./commands/print'),
29
28
  register: require('./commands/register'),
30
29
  sodg: require('./commands/sodg'),
31
- unphi: require('./commands/unphi'),
32
30
  lint: require('./commands/lint'),
33
31
  docs: require('./commands/docs'),
34
32
  generate_comments: require('./commands/generate_comments'),
@@ -136,25 +134,25 @@ program.command('register')
136
134
 
137
135
  program.command('parse')
138
136
  .description('Parse EO files into XMIR')
139
- .action((str, opts) => {
137
+ .action(async (str, opts) => {
140
138
  clear(str);
141
139
  if (program.opts().alone === undefined) {
142
- coms().register(program.opts())
143
- .then((r) => coms().parse(program.opts()));
140
+ await coms().register(program.opts());
141
+ await coms().parse(program.opts());
144
142
  } else {
145
- coms().parse(program.opts());
143
+ await coms().parse(program.opts());
146
144
  }
147
145
  });
148
146
 
149
147
  program.command('assemble')
150
148
  .description('Parse EO files into XMIR and join them with required dependencies')
151
- .action((str, opts) => {
149
+ .action(async (str, opts) => {
152
150
  clear(str);
153
151
  if (program.opts().alone === undefined) {
154
- coms().register(program.opts())
155
- .then((r) => coms().assemble(program.opts()));
152
+ await coms().register(program.opts());
153
+ await coms().assemble(program.opts());
156
154
  } else {
157
- coms().assemble(program.opts());
155
+ await coms().assemble(program.opts());
158
156
  }
159
157
  });
160
158
 
@@ -166,58 +164,17 @@ program.command('sodg')
166
164
  .option('--dot', 'Generate .sodg.dot files')
167
165
  .option('--include <names>', 'Generate SODG for these object names (using mask)', '**')
168
166
  .option('--exclude <names>', 'Don\'t generate SODG for these objects')
169
- .action((str, opts) => {
170
- clear(str);
171
- if (program.opts().alone === undefined) {
172
- coms().register(program.opts())
173
- .then((r) => coms().assemble(program.opts()))
174
- .then((r) => coms().sodg({...program.opts(), ...str}));
175
- } else {
176
- coms().sodg({...program.opts(), ...str});
177
- }
178
- });
179
-
180
- program.command('phi')
181
- .description('Generate PHI files from XMIR')
182
- .option(
183
- '--phi-input <dir>',
184
- 'Directory where XMIR files for translation to PHI are taken (relative to --target)',
185
- '2-optimize'
186
- )
187
- .option(
188
- '--phi-output <dir>',
189
- 'Directory where translated PHI files are stored (relative to --target)',
190
- 'phi'
191
- )
192
- .action((str, opts) => {
167
+ .action(async (str, opts) => {
193
168
  clear(str);
194
169
  if (program.opts().alone === undefined) {
195
- coms().register(program.opts())
196
- .then((r) => coms().assemble(program.opts()))
197
- .then((r) => coms().phi({...program.opts(), ...str}));
170
+ await coms().register(program.opts());
171
+ await coms().assemble(program.opts());
172
+ await coms().sodg({...program.opts(), ...str});
198
173
  } else {
199
- coms().phi({...program.opts(), ...str});
174
+ await coms().sodg({...program.opts(), ...str});
200
175
  }
201
176
  });
202
177
 
203
- program.command('unphi')
204
- .option('--tests', 'Add "+tests" meta to result XMIR files')
205
- .option(
206
- '--unphi-input <dir>',
207
- 'Directory where PHI files for translation to XMIR are taken (relative to --target)',
208
- 'phi'
209
- )
210
- .option(
211
- '--unphi-output <dir>',
212
- 'Directory where translated XMIR files are stored (relative to --target)',
213
- 'unphi'
214
- )
215
- .description('Generate XMIR files from PHI files')
216
- .action((str, opts) => {
217
- clear(str);
218
- coms().unphi({...program.opts(), ...str});
219
- });
220
-
221
178
  program.command('print')
222
179
  .description('Generate EO files from XMIR files')
223
180
  .option(
@@ -237,76 +194,76 @@ program.command('print')
237
194
 
238
195
  program.command('lint')
239
196
  .description('Lint XMIR files and fail if any issues inside')
240
- .action((str, opts) => {
197
+ .action(async (str, opts) => {
241
198
  clear(str);
242
199
  if (program.opts().alone === undefined) {
243
- coms().register(program.opts())
244
- .then((r) => coms().assemble(program.opts()))
245
- .then((r) => coms().lint(program.opts()));
200
+ await coms().register(program.opts());
201
+ await coms().assemble(program.opts());
202
+ await coms().lint(program.opts());
246
203
  } else {
247
- coms().lint(program.opts());
204
+ await coms().lint(program.opts());
248
205
  }
249
206
  });
250
207
 
251
208
  program.command('resolve')
252
209
  .description('Resolve all the dependencies required for compilation')
253
- .action((str, opts) => {
210
+ .action(async (str, opts) => {
254
211
  clear(str);
255
212
  if (program.opts().alone === undefined) {
256
- coms().register(program.opts())
257
- .then((r) => coms().assemble(program.opts()))
258
- .then((r) => coms().lint(program.opts()))
259
- .then((r) => coms().resolve(program.opts()));
213
+ await coms().register(program.opts());
214
+ await coms().assemble(program.opts());
215
+ await coms().lint(program.opts());
216
+ await coms().resolve(program.opts());
260
217
  } else {
261
- coms().resolve(program.opts());
218
+ await coms().resolve(program.opts());
262
219
  }
263
220
  });
264
221
 
265
222
  program.command('transpile')
266
223
  .description('Convert EO files into target language')
267
- .action((str, opts) => {
224
+ .action(async (str, opts) => {
268
225
  clear(str);
269
226
  if (program.opts().alone === undefined) {
270
- coms().register(program.opts())
271
- .then((r) => coms().assemble(program.opts()))
272
- .then((r) => coms().lint(program.opts()))
273
- .then((r) => coms().resolve(program.opts()))
274
- .then((r) => coms().transpile(program.opts()));
227
+ await coms().register(program.opts());
228
+ await coms().assemble(program.opts());
229
+ await coms().lint(program.opts());
230
+ await coms().resolve(program.opts());
231
+ await coms().transpile(program.opts());
275
232
  } else {
276
- coms().transpile(program.opts());
233
+ await coms().transpile(program.opts());
277
234
  }
278
235
  });
279
236
 
280
237
  program.command('compile')
281
238
  .description('Compile target language sources into binaries')
282
- .action((str, opts) => {
239
+ .action(async (str, opts) => {
283
240
  clear(str);
284
241
  if (program.opts().alone === undefined) {
285
- coms().register(program.opts())
286
- .then((r) => coms().assemble(program.opts()))
287
- .then((r) => coms().lint(program.opts()))
288
- .then((r) => coms().resolve(program.opts()))
289
- .then((r) => coms().transpile(program.opts()))
290
- .then((r) => coms().compile(program.opts()));
242
+ await coms().register(program.opts());
243
+ await coms().assemble(program.opts());
244
+ await coms().lint(program.opts());
245
+ await coms().resolve(program.opts());
246
+ await coms().transpile(program.opts());
247
+ await coms().compile(program.opts());
291
248
  } else {
292
- coms().compile(program.opts());
249
+ await coms().compile(program.opts());
293
250
  }
294
251
  });
295
252
 
296
253
  program.command('link')
297
254
  .description('Link together all binaries into a single executable binary')
298
- .action((str, opts) => {
255
+ .action(async (str, opts) => {
299
256
  clear(str);
300
257
  if (program.opts().alone === undefined) {
301
- coms().register(program.opts())
302
- .then((r) => coms().assemble(program.opts()))
303
- .then((r) => coms().lint(program.opts()))
304
- .then((r) => coms().resolve(program.opts()))
305
- .then((r) => coms().transpile(program.opts()))
306
- .then((r) => coms().compile(program.opts()))
307
- .then((r) => coms().link(program.opts()));
258
+ await coms().register(program.opts());
259
+ await coms().assemble(program.opts());
260
+ await coms().lint(program.opts());
261
+ await coms().resolve(program.opts());
262
+ await coms().transpile(program.opts());
263
+ await coms().compile(program.opts());
264
+ await coms().link(program.opts());
308
265
  } else {
309
- coms().link(program.opts());
266
+ await coms().link(program.opts());
310
267
  }
311
268
  });
312
269
 
@@ -314,21 +271,21 @@ program.command('dataize')
314
271
  .description('Run the single executable binary and dataize an object')
315
272
  .option('--stack <size>', 'Set stack size for the virtual machine', '64M')
316
273
  .option('--heap <size>', 'Set the heap size for the VM', '256M')
317
- .action((str, opts) => {
274
+ .action(async (str, opts) => {
318
275
  clear(str);
319
276
  if (program.opts().alone === undefined) {
320
- coms().register(program.opts())
321
- .then((r) => coms().assemble(program.opts()))
322
- .then((r) => coms().lint(program.opts()))
323
- .then((r) => coms().resolve(program.opts()))
324
- .then((r) => coms().transpile(program.opts()))
325
- .then((r) => coms().compile(program.opts()))
326
- .then((r) => coms().link(program.opts()))
327
- .then((r) => coms().dataize(
328
- program.args[1], program.args.slice(2), {...program.opts(), ...str}
329
- ));
277
+ await coms().register(program.opts());
278
+ await coms().assemble(program.opts());
279
+ await coms().lint(program.opts());
280
+ await coms().resolve(program.opts());
281
+ await coms().transpile(program.opts());
282
+ await coms().compile(program.opts());
283
+ await coms().link(program.opts());
284
+ await coms().dataize(
285
+ program.args[1], program.args.slice(2), {...program.opts(), ...str}
286
+ );
330
287
  } else {
331
- coms().dataize(
288
+ await coms().dataize(
332
289
  program.args[1], program.args.slice(2), {...program.opts(), ...str}
333
290
  );
334
291
  }
@@ -338,19 +295,19 @@ program.command('test')
338
295
  .description('Run all visible unit tests')
339
296
  .option('--stack <size>', 'Set stack size for the virtual machine', '64M')
340
297
  .option('--heap <size>', 'Set the heap size for the VM', '256M')
341
- .action((str, opts) => {
298
+ .action(async (str, opts) => {
342
299
  clear(str);
343
300
  if (program.opts().alone === undefined) {
344
- coms().register(program.opts())
345
- .then((r) => coms().assemble(program.opts()))
346
- .then((r) => coms().lint(program.opts()))
347
- .then((r) => coms().resolve(program.opts()))
348
- .then((r) => coms().transpile(program.opts()))
349
- .then((r) => coms().compile(program.opts()))
350
- .then((r) => coms().link(program.opts()))
351
- .then((r) => coms().test({...program.opts(), ...str}));
301
+ await coms().register(program.opts());
302
+ await coms().assemble(program.opts());
303
+ await coms().lint(program.opts());
304
+ await coms().resolve(program.opts());
305
+ await coms().transpile(program.opts());
306
+ await coms().compile(program.opts());
307
+ await coms().link(program.opts());
308
+ await coms().test({...program.opts(), ...str});
352
309
  } else {
353
- coms().test({...program.opts(), ...str});
310
+ await coms().test({...program.opts(), ...str});
354
311
  }
355
312
  });
356
313
 
@@ -410,11 +367,6 @@ program.command('jeo:assemble')
410
367
  'Directory with .xmir files (relative to --target)',
411
368
  'xmir'
412
369
  )
413
- .option(
414
- '--unrolled <dir>',
415
- 'Directory with unrolled .xmir files (relative to --target)',
416
- 'unrolled'
417
- )
418
370
  .option(
419
371
  '--classes <dir>',
420
372
  'Directory with .class files (relative to --target)',
@@ -426,25 +378,24 @@ program.command('jeo:assemble')
426
378
 
427
379
  program.command('latex')
428
380
  .description('Generate LaTeX files from EO sources')
429
- .action((str, opts) => {
381
+ .action(async (str, opts) => {
430
382
  clear(str);
431
- coms().register(program.opts())
432
- .then((r) => coms().parse(program.opts()))
433
- .then((r) => coms().latex(program.opts()));
383
+ await coms().register(program.opts());
384
+ await coms().parse(program.opts());
385
+ await coms().latex(program.opts());
434
386
  });
435
387
 
436
388
  program.command('fmt')
437
389
  .description('Format EO files in the source directory')
438
- .action((str, opts) => {
390
+ .action(async (str, opts) => {
439
391
  clear(str);
440
- coms().register(program.opts())
441
- .then((r) => coms().parse(program.opts()))
442
- .then((r) => coms()
443
- .print({
444
- printInput: '1-parse',
445
- printOutput: program.opts().sources,
446
- ...program.opts()
447
- }));
392
+ await coms().register(program.opts());
393
+ await coms().parse(program.opts());
394
+ await coms().print({
395
+ printInput: '1-parse',
396
+ printOutput: program.opts().sources,
397
+ ...program.opts()
398
+ });
448
399
  });
449
400
 
450
401
  try {
package/src/version.js CHANGED
@@ -6,6 +6,6 @@
6
6
  // The values here are replaced automatically by the .rultor.yml script,
7
7
  // at the "release" pipeline:
8
8
  module.exports = {
9
- what: '0.30.2',
10
- when: '2025-06-23'
9
+ what: '0.32.0',
10
+ when: '2025-08-21'
11
11
  };
@@ -1,37 +0,0 @@
1
- /*
2
- * SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
3
- * SPDX-License-Identifier: MIT
4
- */
5
-
6
- const rel = require('relative');
7
- const path = require('path');
8
- const {gte} = require('../demand');
9
- const {mvnw, flags} = require('../mvnw');
10
-
11
- /**
12
- * Command to convert .XMIR files into .PHI files.
13
- * @param {Object} opts - All options
14
- * @return {Promise} of assemble task
15
- */
16
- module.exports = function(opts) {
17
- gte('EO parser', opts.parser, '0.35.2');
18
- const target = path.resolve(opts.target),
19
- input = path.resolve(opts.target, opts.phiInput);
20
- console.debug('Reading .XMIR files from %s', rel(input));
21
- const output = path.resolve(opts.target, opts.phiOutput);
22
- console.debug('Writing .PHI files to %s', rel(output));
23
- return mvnw(
24
- ['eo:xmir-to-phi']
25
- .concat(flags(opts))
26
- .concat(
27
- [
28
- `-Deo.phiInputDir=${input}`,
29
- `-Deo.phiOutputDir=${output}`,
30
- ]
31
- ),
32
- opts.target, opts.batch
33
- ).then((r) => {
34
- console.info('XMIR files converted into PHI files at %s', rel(target));
35
- return r;
36
- });
37
- };
@@ -1,37 +0,0 @@
1
- /*
2
- * SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
3
- * SPDX-License-Identifier: MIT
4
- */
5
-
6
- const rel = require('relative');
7
- const path = require('path');
8
- const {mvnw, flags} = require('../mvnw');
9
- const {gte} = require('../demand');
10
-
11
- /**
12
- * Command to convert .PHI files into .XMIR files.
13
- * @param {Object} opts - All options
14
- * @return {Promise} of assemble task
15
- */
16
- module.exports = function(opts) {
17
- gte('EO parser', opts.parser, '0.35.2');
18
- const input = path.resolve(opts.target, opts.unphiInput);
19
- console.debug('Reading .PHI files from %s', rel(input));
20
- const output = path.resolve(opts.target, opts.unphiOutput);
21
- console.debug('Writing .XMIR files to %s', rel(output));
22
- return mvnw(
23
- ['eo:phi-to-xmir']
24
- .concat(flags(opts))
25
- .concat(
26
- [
27
- `-Deo.unphiInputDir=${input}`,
28
- `-Deo.unphiOutputDir=${output}`,
29
- opts.tests ? '-Deo.unphiMetas=+tests' : ''
30
- ]
31
- ),
32
- opts.target, opts.batch
33
- ).then((r) => {
34
- console.info('PHI files converted into XMIR files at %s', rel(output));
35
- return r;
36
- });
37
- };