eolang 0.31.0 → 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.2
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
@@ -100,3 +107,4 @@ a pull request.
100
107
  [npm-install]: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
101
108
  [dot]: https://en.wikipedia.org/wiki/DOT_%28graph_description_language%29
102
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.57.0
1
+ 0.58.2
package/home-tag.txt CHANGED
@@ -1 +1 @@
1
- 0.57.0
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.2</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",
@@ -57,5 +57,5 @@
57
57
  "postinstall": "node scripts/postinstall.js",
58
58
  "test": "mocha --timeout 1200000"
59
59
  },
60
- "version": "0.31.0"
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
+ }
package/src/eoc.js CHANGED
@@ -134,25 +134,25 @@ program.command('register')
134
134
 
135
135
  program.command('parse')
136
136
  .description('Parse EO files into XMIR')
137
- .action((str, opts) => {
137
+ .action(async (str, opts) => {
138
138
  clear(str);
139
139
  if (program.opts().alone === undefined) {
140
- coms().register(program.opts())
141
- .then((r) => coms().parse(program.opts()));
140
+ await coms().register(program.opts());
141
+ await coms().parse(program.opts());
142
142
  } else {
143
- coms().parse(program.opts());
143
+ await coms().parse(program.opts());
144
144
  }
145
145
  });
146
146
 
147
147
  program.command('assemble')
148
148
  .description('Parse EO files into XMIR and join them with required dependencies')
149
- .action((str, opts) => {
149
+ .action(async (str, opts) => {
150
150
  clear(str);
151
151
  if (program.opts().alone === undefined) {
152
- coms().register(program.opts())
153
- .then((r) => coms().assemble(program.opts()));
152
+ await coms().register(program.opts());
153
+ await coms().assemble(program.opts());
154
154
  } else {
155
- coms().assemble(program.opts());
155
+ await coms().assemble(program.opts());
156
156
  }
157
157
  });
158
158
 
@@ -164,14 +164,14 @@ program.command('sodg')
164
164
  .option('--dot', 'Generate .sodg.dot files')
165
165
  .option('--include <names>', 'Generate SODG for these object names (using mask)', '**')
166
166
  .option('--exclude <names>', 'Don\'t generate SODG for these objects')
167
- .action((str, opts) => {
167
+ .action(async (str, opts) => {
168
168
  clear(str);
169
169
  if (program.opts().alone === undefined) {
170
- coms().register(program.opts())
171
- .then((r) => coms().assemble(program.opts()))
172
- .then((r) => coms().sodg({...program.opts(), ...str}));
170
+ await coms().register(program.opts());
171
+ await coms().assemble(program.opts());
172
+ await coms().sodg({...program.opts(), ...str});
173
173
  } else {
174
- coms().sodg({...program.opts(), ...str});
174
+ await coms().sodg({...program.opts(), ...str});
175
175
  }
176
176
  });
177
177
 
@@ -194,76 +194,76 @@ program.command('print')
194
194
 
195
195
  program.command('lint')
196
196
  .description('Lint XMIR files and fail if any issues inside')
197
- .action((str, opts) => {
197
+ .action(async (str, opts) => {
198
198
  clear(str);
199
199
  if (program.opts().alone === undefined) {
200
- coms().register(program.opts())
201
- .then((r) => coms().assemble(program.opts()))
202
- .then((r) => coms().lint(program.opts()));
200
+ await coms().register(program.opts());
201
+ await coms().assemble(program.opts());
202
+ await coms().lint(program.opts());
203
203
  } else {
204
- coms().lint(program.opts());
204
+ await coms().lint(program.opts());
205
205
  }
206
206
  });
207
207
 
208
208
  program.command('resolve')
209
209
  .description('Resolve all the dependencies required for compilation')
210
- .action((str, opts) => {
210
+ .action(async (str, opts) => {
211
211
  clear(str);
212
212
  if (program.opts().alone === undefined) {
213
- coms().register(program.opts())
214
- .then((r) => coms().assemble(program.opts()))
215
- .then((r) => coms().lint(program.opts()))
216
- .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());
217
217
  } else {
218
- coms().resolve(program.opts());
218
+ await coms().resolve(program.opts());
219
219
  }
220
220
  });
221
221
 
222
222
  program.command('transpile')
223
223
  .description('Convert EO files into target language')
224
- .action((str, opts) => {
224
+ .action(async (str, opts) => {
225
225
  clear(str);
226
226
  if (program.opts().alone === undefined) {
227
- coms().register(program.opts())
228
- .then((r) => coms().assemble(program.opts()))
229
- .then((r) => coms().lint(program.opts()))
230
- .then((r) => coms().resolve(program.opts()))
231
- .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());
232
232
  } else {
233
- coms().transpile(program.opts());
233
+ await coms().transpile(program.opts());
234
234
  }
235
235
  });
236
236
 
237
237
  program.command('compile')
238
238
  .description('Compile target language sources into binaries')
239
- .action((str, opts) => {
239
+ .action(async (str, opts) => {
240
240
  clear(str);
241
241
  if (program.opts().alone === undefined) {
242
- coms().register(program.opts())
243
- .then((r) => coms().assemble(program.opts()))
244
- .then((r) => coms().lint(program.opts()))
245
- .then((r) => coms().resolve(program.opts()))
246
- .then((r) => coms().transpile(program.opts()))
247
- .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());
248
248
  } else {
249
- coms().compile(program.opts());
249
+ await coms().compile(program.opts());
250
250
  }
251
251
  });
252
252
 
253
253
  program.command('link')
254
254
  .description('Link together all binaries into a single executable binary')
255
- .action((str, opts) => {
255
+ .action(async (str, opts) => {
256
256
  clear(str);
257
257
  if (program.opts().alone === undefined) {
258
- coms().register(program.opts())
259
- .then((r) => coms().assemble(program.opts()))
260
- .then((r) => coms().lint(program.opts()))
261
- .then((r) => coms().resolve(program.opts()))
262
- .then((r) => coms().transpile(program.opts()))
263
- .then((r) => coms().compile(program.opts()))
264
- .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());
265
265
  } else {
266
- coms().link(program.opts());
266
+ await coms().link(program.opts());
267
267
  }
268
268
  });
269
269
 
@@ -271,21 +271,21 @@ program.command('dataize')
271
271
  .description('Run the single executable binary and dataize an object')
272
272
  .option('--stack <size>', 'Set stack size for the virtual machine', '64M')
273
273
  .option('--heap <size>', 'Set the heap size for the VM', '256M')
274
- .action((str, opts) => {
274
+ .action(async (str, opts) => {
275
275
  clear(str);
276
276
  if (program.opts().alone === undefined) {
277
- coms().register(program.opts())
278
- .then((r) => coms().assemble(program.opts()))
279
- .then((r) => coms().lint(program.opts()))
280
- .then((r) => coms().resolve(program.opts()))
281
- .then((r) => coms().transpile(program.opts()))
282
- .then((r) => coms().compile(program.opts()))
283
- .then((r) => coms().link(program.opts()))
284
- .then((r) => coms().dataize(
285
- program.args[1], program.args.slice(2), {...program.opts(), ...str}
286
- ));
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
+ );
287
287
  } else {
288
- coms().dataize(
288
+ await coms().dataize(
289
289
  program.args[1], program.args.slice(2), {...program.opts(), ...str}
290
290
  );
291
291
  }
@@ -295,19 +295,19 @@ program.command('test')
295
295
  .description('Run all visible unit tests')
296
296
  .option('--stack <size>', 'Set stack size for the virtual machine', '64M')
297
297
  .option('--heap <size>', 'Set the heap size for the VM', '256M')
298
- .action((str, opts) => {
298
+ .action(async (str, opts) => {
299
299
  clear(str);
300
300
  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()))
308
- .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});
309
309
  } else {
310
- coms().test({...program.opts(), ...str});
310
+ await coms().test({...program.opts(), ...str});
311
311
  }
312
312
  });
313
313
 
@@ -378,25 +378,24 @@ program.command('jeo:assemble')
378
378
 
379
379
  program.command('latex')
380
380
  .description('Generate LaTeX files from EO sources')
381
- .action((str, opts) => {
381
+ .action(async (str, opts) => {
382
382
  clear(str);
383
- coms().register(program.opts())
384
- .then((r) => coms().parse(program.opts()))
385
- .then((r) => coms().latex(program.opts()));
383
+ await coms().register(program.opts());
384
+ await coms().parse(program.opts());
385
+ await coms().latex(program.opts());
386
386
  });
387
387
 
388
388
  program.command('fmt')
389
389
  .description('Format EO files in the source directory')
390
- .action((str, opts) => {
390
+ .action(async (str, opts) => {
391
391
  clear(str);
392
- coms().register(program.opts())
393
- .then((r) => coms().parse(program.opts()))
394
- .then((r) => coms()
395
- .print({
396
- printInput: '1-parse',
397
- printOutput: program.opts().sources,
398
- ...program.opts()
399
- }));
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
+ });
400
399
  });
401
400
 
402
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.31.0',
10
- when: '2025-07-02'
9
+ what: '0.32.0',
10
+ when: '2025-08-21'
11
11
  };