eolang 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.yamllint.yml +2 -21
  2. package/LICENSE.txt +1 -1
  3. package/LICENSES/MIT.txt +19 -0
  4. package/README.md +2 -2
  5. package/REUSE.toml +39 -0
  6. package/eo-version.txt +1 -1
  7. package/eodocs.html +0 -0
  8. package/home-tag.txt +1 -1
  9. package/mvnw/.mvn/wrapper/maven-wrapper.properties +2 -21
  10. package/mvnw/dependency-reduced-pom.xml +107 -0
  11. package/mvnw/mvnw +18 -14
  12. package/mvnw/mvnw.cmd +4 -0
  13. package/mvnw/pom.xml +48 -27
  14. package/package.json +30 -30
  15. package/src/commands/assemble.js +28 -24
  16. package/src/commands/audit.js +22 -21
  17. package/src/commands/clean.js +22 -21
  18. package/src/commands/docs.js +27 -22
  19. package/src/commands/foreign.js +22 -21
  20. package/src/commands/java/compile.js +26 -21
  21. package/src/commands/java/dataize.js +22 -21
  22. package/src/commands/java/link.js +23 -22
  23. package/src/commands/java/resolve.js +46 -0
  24. package/src/commands/java/test.js +22 -21
  25. package/src/commands/java/transpile.js +22 -21
  26. package/src/commands/jeo/assemble.js +22 -21
  27. package/src/commands/jeo/disassemble.js +22 -21
  28. package/src/commands/js/compile.js +22 -21
  29. package/src/commands/js/dataize.js +22 -21
  30. package/src/commands/js/link.js +22 -21
  31. package/src/commands/js/resolve.js +36 -0
  32. package/src/commands/js/test.js +22 -21
  33. package/src/commands/js/transpile.js +22 -21
  34. package/src/commands/lint.js +28 -21
  35. package/src/commands/parse.js +22 -21
  36. package/src/commands/phi.js +22 -21
  37. package/src/commands/print.js +22 -21
  38. package/src/commands/register.js +22 -21
  39. package/src/commands/sodg.js +22 -21
  40. package/src/commands/unphi.js +22 -21
  41. package/src/demand.js +25 -21
  42. package/src/elapsed.js +61 -0
  43. package/src/eo2jsw.js +22 -21
  44. package/src/eoc.js +36 -34
  45. package/src/mvnw.js +28 -28
  46. package/src/parser-version.js +23 -22
  47. package/src/tinted-console.js +22 -21
  48. package/src/version.js +24 -23
package/.yamllint.yml CHANGED
@@ -1,24 +1,5 @@
1
- # The MIT License (MIT)
2
- #
3
- # Copyright (c) 2022-2024 Objectionary.com
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included
13
- # in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
2
+ # SPDX-License-Identifier: MIT
22
3
  ---
23
4
  extends: default
24
5
  rules:
package/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2022-2024 Objectionary.com
1
+ Copyright (c) 2022-2025 Objectionary.com
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2022-2025 Objectionary.com
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included
11
+ in all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md CHANGED
@@ -18,7 +18,7 @@ First, you install [npm][npm-install] and [Java SE][java-se].
18
18
  Then, you install [eolang][npm] package:
19
19
 
20
20
  ```bash
21
- npm install -g eolang@0.26.0
21
+ npm install -g eolang@0.28.0
22
22
  ```
23
23
 
24
24
  Then, you write a simple [EO](https://www.eolang.org) program in `hello.eo` file
@@ -34,7 +34,7 @@ in the current directory:
34
34
  Then, you run it:
35
35
 
36
36
  ```bash
37
- eoc dataize hello
37
+ eoc --easy dataize hello
38
38
  ```
39
39
 
40
40
  That's it.
package/REUSE.toml ADDED
@@ -0,0 +1,39 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
3
+
4
+ version = 1
5
+ [[annotations]]
6
+ path = [
7
+ "**.csv",
8
+ "**.json",
9
+ "**.md",
10
+ "**.png",
11
+ "**.txt",
12
+ "**/*.csv",
13
+ "**/*.jpg",
14
+ "**/*.json",
15
+ "**/*.md",
16
+ "**/*.pdf",
17
+ "**/*.png",
18
+ "**/*.svg",
19
+ "**/*.txt",
20
+ "**/*.vm",
21
+ "**/.DS_Store",
22
+ "**/.gitignore",
23
+ "**/.pdd",
24
+ "**/CITATION.cff",
25
+ "**/CNAME",
26
+ "**/MANIFEST.MF",
27
+ ".DS_Store",
28
+ ".gitattributes",
29
+ ".gitignore",
30
+ ".npmignore",
31
+ ".pdd",
32
+ "CITATION.cff",
33
+ "MANIFEST.MF",
34
+ "README.md",
35
+ "renovate.json",
36
+ ]
37
+ precedence = "override"
38
+ SPDX-FileCopyrightText = "Copyright (c) 2025 Yegor Bugayenko"
39
+ SPDX-License-Identifier = "MIT"
package/eo-version.txt CHANGED
@@ -1 +1 @@
1
- 0.49.1
1
+ 0.55.0
package/eodocs.html ADDED
File without changes
package/home-tag.txt CHANGED
@@ -1 +1 @@
1
- 0.49.1
1
+ 0.55.0
@@ -1,23 +1,4 @@
1
- # The MIT License (MIT)
2
- #
3
- # Copyright (c) 2022-2024 Objectionary.com
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to deal
7
- # in the Software without restriction, including without limitation the rights
8
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- # copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included
13
- # in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
2
+ # SPDX-License-Identifier: MIT
22
3
 
23
4
  distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
@@ -0,0 +1,107 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3
+ <modelVersion>4.0.0</modelVersion>
4
+ <groupId>org.eolang</groupId>
5
+ <artifactId>eoc</artifactId>
6
+ <version>0.0.0</version>
7
+ <build>
8
+ <sourceDirectory>${eo.generatedDir}</sourceDirectory>
9
+ <outputDirectory>${eo.targetDir}/classes</outputDirectory>
10
+ <testOutputDirectory>${eo.targetDir}/classes</testOutputDirectory>
11
+ <directory>${eo.targetDir}</directory>
12
+ <finalName>eoc</finalName>
13
+ <plugins>
14
+ <plugin>
15
+ <artifactId>maven-enforcer-plugin</artifactId>
16
+ <version>3.5.0</version>
17
+ <executions>
18
+ <execution>
19
+ <goals>
20
+ <goal>enforce</goal>
21
+ </goals>
22
+ <configuration>
23
+ <rules>
24
+ <requireJavaVersion>
25
+ <version>[11,)</version>
26
+ </requireJavaVersion>
27
+ </rules>
28
+ </configuration>
29
+ </execution>
30
+ </executions>
31
+ </plugin>
32
+ <plugin>
33
+ <groupId>org.eolang</groupId>
34
+ <artifactId>eo-maven-plugin</artifactId>
35
+ <version>${eo.version}</version>
36
+ <configuration>
37
+ <excludeSources>**/.eoc/**</excludeSources>
38
+ <sodgIncludes>${eo.sodgIncludes}</sodgIncludes>
39
+ <sodgExcludes>${eo.sodgExcludes}</sodgExcludes>
40
+ <foreign>${project.build.directory}/eo-foreign.json</foreign>
41
+ <foreignFormat>json</foreignFormat>
42
+ </configuration>
43
+ </plugin>
44
+ <plugin>
45
+ <groupId>org.eolang</groupId>
46
+ <artifactId>jeo-maven-plugin</artifactId>
47
+ <version>${jeo.version}</version>
48
+ <configuration>
49
+ <skipVerification>true</skipVerification>
50
+ </configuration>
51
+ </plugin>
52
+ <plugin>
53
+ <artifactId>maven-compiler-plugin</artifactId>
54
+ <version>3.8.1</version>
55
+ <configuration>
56
+ <release>11</release>
57
+ <source>11</source>
58
+ <target>11</target>
59
+ <compilerArgs>
60
+ <arg>-Xpkginfo:always</arg>
61
+ </compilerArgs>
62
+ </configuration>
63
+ </plugin>
64
+ <plugin>
65
+ <artifactId>maven-jar-plugin</artifactId>
66
+ <version>3.4.2</version>
67
+ <configuration>
68
+ <archive>
69
+ <manifest>
70
+ <addClasspath>true</addClasspath>
71
+ <mainClass>org.eolang.Main</mainClass>
72
+ </manifest>
73
+ </archive>
74
+ </configuration>
75
+ </plugin>
76
+ <plugin>
77
+ <artifactId>maven-shade-plugin</artifactId>
78
+ <version>3.6.0</version>
79
+ </plugin>
80
+ <plugin>
81
+ <artifactId>maven-surefire-plugin</artifactId>
82
+ <version>3.5.2</version>
83
+ <configuration>
84
+ <failIfNoTests>true</failIfNoTests>
85
+ <useFile>false</useFile>
86
+ <trimStackTrace>false</trimStackTrace>
87
+ <runOrder>random</runOrder>
88
+ <argLine>-Xmx${heap-size} -Xss${stack-size}</argLine>
89
+ <forkNode />
90
+ <properties>
91
+ <configurationParameters>junit.jupiter.execution.parallel.enabled = true
92
+ junit.jupiter.execution.parallel.mode.default = concurrent
93
+ junit.jupiter.execution.parallel.mode.classes.default = concurrent</configurationParameters>
94
+ </properties>
95
+ </configuration>
96
+ </plugin>
97
+ </plugins>
98
+ </build>
99
+ <properties>
100
+ <eo.version>undefined</eo.version>
101
+ <stack-size>undefined</stack-size>
102
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
103
+ <heap-size>undefined</heap-size>
104
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
105
+ <jeo.version>0.6.26</jeo.version>
106
+ </properties>
107
+ </project>
package/mvnw/mvnw CHANGED
@@ -1,4 +1,8 @@
1
1
  #!/bin/sh
2
+
3
+ # SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
4
+ # SPDX-License-Identifier: MIT
5
+
2
6
  # ----------------------------------------------------------------------------
3
7
  # Licensed to the Apache Software Foundation (ASF) under one
4
8
  # or more contributor license agreements. See the NOTICE file
@@ -189,20 +193,20 @@ elif set_java_home; then
189
193
  verbose "Falling back to use Java to download"
190
194
  javaSource="$TMP_DOWNLOAD_DIR/Downloader.java"
191
195
  targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName"
192
- cat >"$javaSource" <<-END
193
- public class Downloader extends java.net.Authenticator
194
- {
195
- protected java.net.PasswordAuthentication getPasswordAuthentication()
196
- {
197
- return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() );
198
- }
199
- public static void main( String[] args ) throws Exception
200
- {
201
- setDefault( new Downloader() );
202
- java.nio.file.Files.copy( new java.net.URL( args[0] ).openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() );
203
- }
204
- }
205
- END
196
+ cat > "$javaSource" <<-END
197
+ public class Downloader extends java.net.Authenticator
198
+ {
199
+ protected java.net.PasswordAuthentication getPasswordAuthentication()
200
+ {
201
+ return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() );
202
+ }
203
+ public static void main( String[] args ) throws Exception
204
+ {
205
+ setDefault( new Downloader() );
206
+ java.nio.file.Files.copy( new java.net.URL( args[0] ).openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() );
207
+ }
208
+ }
209
+ END
206
210
  # For Cygwin/MinGW, switch paths to Windows format before running javac and java
207
211
  verbose " - Compiling Downloader.java ..."
208
212
  "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java"
package/mvnw/mvnw.cmd CHANGED
@@ -1,4 +1,8 @@
1
1
  <# : batch portion
2
+
3
+ @REM SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
4
+ @REM SPDX-License-Identifier: MIT
5
+
2
6
  @REM ----------------------------------------------------------------------------
3
7
  @REM Licensed to the Apache Software Foundation (ASF) under one
4
8
  @REM or more contributor license agreements. See the NOTICE file
package/mvnw/pom.xml CHANGED
@@ -1,37 +1,21 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!--
3
- Copyright (c) 2022-2024 Objectionary.com
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included
13
- in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
3
+ * SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
4
+ * SPDX-License-Identifier: MIT
22
5
  -->
23
6
  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24
7
  <modelVersion>4.0.0</modelVersion>
25
8
  <groupId>org.eolang</groupId>
26
9
  <artifactId>eoc</artifactId>
27
10
  <version>0.0.0</version>
11
+ <packaging>jar</packaging>
28
12
  <properties>
13
+ <jeo.version>0.6.26</jeo.version>
29
14
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
30
15
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
31
16
  <eo.version>undefined</eo.version>
32
- <jeo.version>0.6.22</jeo.version>
33
- <heap-size>256M</heap-size>
34
- <stack-size>64M</stack-size>
17
+ <heap-size>undefined</heap-size>
18
+ <stack-size>undefined</stack-size>
35
19
  </properties>
36
20
  <dependencies>
37
21
  <dependency>
@@ -42,12 +26,14 @@ SOFTWARE.
42
26
  <dependency>
43
27
  <groupId>org.junit.jupiter</groupId>
44
28
  <artifactId>junit-jupiter-api</artifactId>
45
- <version>5.11.3</version>
29
+ <version>5.11.4</version>
30
+ <scope>compile</scope>
46
31
  </dependency>
47
32
  <dependency>
48
33
  <groupId>org.junit.jupiter</groupId>
49
34
  <artifactId>junit-jupiter-engine</artifactId>
50
- <version>5.11.3</version>
35
+ <version>5.11.4</version>
36
+ <scope>compile</scope>
51
37
  </dependency>
52
38
  </dependencies>
53
39
  <build>
@@ -57,12 +43,30 @@ SOFTWARE.
57
43
  <outputDirectory>${eo.targetDir}/classes</outputDirectory>
58
44
  <testOutputDirectory>${eo.targetDir}/classes</testOutputDirectory>
59
45
  <plugins>
46
+ <plugin>
47
+ <artifactId>maven-enforcer-plugin</artifactId>
48
+ <version>3.5.0</version>
49
+ <executions>
50
+ <execution>
51
+ <goals>
52
+ <goal>enforce</goal>
53
+ </goals>
54
+ <configuration>
55
+ <rules>
56
+ <requireJavaVersion>
57
+ <version>[11,)</version>
58
+ </requireJavaVersion>
59
+ </rules>
60
+ </configuration>
61
+ </execution>
62
+ </executions>
63
+ </plugin>
60
64
  <plugin>
61
65
  <groupId>org.eolang</groupId>
62
66
  <artifactId>eo-maven-plugin</artifactId>
63
67
  <version>${eo.version}</version>
64
68
  <configuration>
65
- <excludeSources>.eoc/**</excludeSources>
69
+ <excludeSources>**/.eoc/**</excludeSources>
66
70
  <sodgIncludes>${eo.sodgIncludes}</sodgIncludes>
67
71
  <sodgExcludes>${eo.sodgExcludes}</sodgExcludes>
68
72
  <foreign>${project.build.directory}/eo-foreign.json</foreign>
@@ -81,8 +85,12 @@ SOFTWARE.
81
85
  <artifactId>maven-compiler-plugin</artifactId>
82
86
  <version>3.8.1</version>
83
87
  <configuration>
84
- <source>1.8</source>
85
- <target>1.8</target>
88
+ <release>11</release>
89
+ <source>11</source>
90
+ <target>11</target>
91
+ <compilerArgs>
92
+ <arg>-Xpkginfo:always</arg>
93
+ </compilerArgs>
86
94
  </configuration>
87
95
  </plugin>
88
96
  <plugin>
@@ -91,11 +99,16 @@ SOFTWARE.
91
99
  <configuration>
92
100
  <archive>
93
101
  <manifest>
102
+ <addClasspath>true</addClasspath>
94
103
  <mainClass>org.eolang.Main</mainClass>
95
104
  </manifest>
96
105
  </archive>
97
106
  </configuration>
98
107
  </plugin>
108
+ <plugin>
109
+ <artifactId>maven-shade-plugin</artifactId>
110
+ <version>3.6.0</version>
111
+ </plugin>
99
112
  <plugin>
100
113
  <artifactId>maven-surefire-plugin</artifactId>
101
114
  <version>3.5.2</version>
@@ -105,6 +118,14 @@ SOFTWARE.
105
118
  <trimStackTrace>false</trimStackTrace>
106
119
  <runOrder>random</runOrder>
107
120
  <argLine>-Xmx${heap-size} -Xss${stack-size}</argLine>
121
+ <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
122
+ <properties>
123
+ <configurationParameters>
124
+ junit.jupiter.execution.parallel.enabled = true
125
+ junit.jupiter.execution.parallel.mode.default = concurrent
126
+ junit.jupiter.execution.parallel.mode.classes.default = concurrent
127
+ </configurationParameters>
128
+ </properties>
108
129
  </configuration>
109
130
  </plugin>
110
131
  </plugins>
package/package.json CHANGED
@@ -1,55 +1,55 @@
1
1
  {
2
- "name": "eolang",
3
- "version": "0.28.0",
4
2
  "author": "Yegor Bugayenko <yegor256@gmail.com> (https://www.yegor256.com/)",
5
- "license": "MIT",
6
- "repository": "objectionary/eoc",
7
- "description": "A collection of command line tools for EOLANG: compiling, parsing, transpiling to other languages, optimizing, and analyzing",
8
- "homepage": "https://github.com/objectionary/eoc",
9
- "keywords": [
10
- "cli",
11
- "command",
12
- "compiler",
13
- "console",
14
- "terminal",
15
- "eoc",
16
- "objectionary",
17
- "oop"
18
- ],
19
- "main": "eoc",
20
3
  "bin": {
21
4
  "eoc": "./src/eoc.js"
22
5
  },
23
- "engines": {
24
- "node": ">6.0",
25
- "npm": ">8.0"
26
- },
27
- "os": [
28
- "darwin",
29
- "linux",
30
- "win32"
31
- ],
32
6
  "dependencies": {
33
7
  "colors": "1.4.0",
34
8
  "commander": "12.1.0",
35
- "eo2js": "0.0.7",
9
+ "eo2js": "0.0.8",
36
10
  "fast-xml-parser": "4.5.1",
37
- "node": "23.4.0",
11
+ "node": "23.5.0",
38
12
  "relative": "3.0.2",
39
13
  "semver": "7.6.3",
40
14
  "sync-request": "6.1.0",
41
15
  "xmlhttprequest": "1.8.0"
42
16
  },
17
+ "description": "A collection of command line tools for EOLANG: compiling, parsing, transpiling to other languages, optimizing, and analyzing",
43
18
  "devDependencies": {
44
19
  "eslint": "9.17.0",
45
20
  "eslint-config-google": "0.14.0",
46
21
  "grunt": "1.6.1",
47
22
  "grunt-contrib-clean": "2.0.1",
48
23
  "grunt-eslint": "24.3.0",
49
- "grunt-mocha-cli": "^7.0.0",
24
+ "grunt-mocha-cli": "^4.0.0",
50
25
  "mocha": "^10.8.2"
51
26
  },
27
+ "engines": {
28
+ "node": ">6.0",
29
+ "npm": ">8.0"
30
+ },
31
+ "homepage": "https://github.com/objectionary/eoc",
32
+ "keywords": [
33
+ "cli",
34
+ "command",
35
+ "compiler",
36
+ "console",
37
+ "terminal",
38
+ "eoc",
39
+ "objectionary",
40
+ "oop"
41
+ ],
42
+ "license": "MIT",
43
+ "main": "eoc",
44
+ "name": "eolang",
45
+ "os": [
46
+ "darwin",
47
+ "linux",
48
+ "win32"
49
+ ],
50
+ "repository": "objectionary/eoc",
52
51
  "scripts": {
53
52
  "test": "mocha --timeout 1200000"
54
- }
53
+ },
54
+ "version": "0.29.0"
55
55
  }
@@ -1,30 +1,32 @@
1
+ // Copyright (c) 2022-2025 Objectionary.com
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included
11
+ // in all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ // SOFTWARE.
20
+
1
21
  /*
2
- * The MIT License (MIT)
3
- *
4
- * Copyright (c) 2022-2024 Objectionary.com
5
- *
6
- * Permission is hereby granted, free of charge, to any person obtaining a copy
7
- * of this software and associated documentation files (the "Software"), to deal
8
- * in the Software without restriction, including without limitation the rights
9
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- * copies of the Software, and to permit persons to whom the Software is
11
- * furnished to do so, subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be included
14
- * in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
19
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- * SOFTWARE.
22
+ * SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
23
+ * SPDX-License-Identifier: MIT
23
24
  */
24
25
 
25
26
  const rel = require('relative');
26
27
  const path = require('path');
27
28
  const {mvnw, flags} = require('../mvnw');
29
+ const {elapsed} = require('../elapsed');
28
30
 
29
31
  /**
30
32
  * Command to assemble .XMIR files.
@@ -33,8 +35,10 @@ const {mvnw, flags} = require('../mvnw');
33
35
  */
34
36
  module.exports = function(opts) {
35
37
  const target = path.resolve(opts.target);
36
- return mvnw(['eo:assemble'].concat(flags(opts)), opts.target, opts.batch).then((r) => {
37
- console.info('EO program assembled in %s', rel(target));
38
- return r;
38
+ return elapsed((tracked) => {
39
+ return mvnw(['eo:assemble'].concat(flags(opts)), opts.target, opts.batch).then((r) => {
40
+ tracked.print('EO program assembled in %s', rel(target));
41
+ return r;
42
+ });
39
43
  });
40
44
  };
@@ -1,25 +1,26 @@
1
+ // Copyright (c) 2022-2025 Objectionary.com
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included
11
+ // in all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ // SOFTWARE.
20
+
1
21
  /*
2
- * The MIT License (MIT)
3
- *
4
- * Copyright (c) 2022-2024 Objectionary.com
5
- *
6
- * Permission is hereby granted, free of charge, to any person obtaining a copy
7
- * of this software and associated documentation files (the "Software"), to deal
8
- * in the Software without restriction, including without limitation the rights
9
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- * copies of the Software, and to permit persons to whom the Software is
11
- * furnished to do so, subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be included
14
- * in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
19
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- * SOFTWARE.
22
+ * SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
23
+ * SPDX-License-Identifier: MIT
23
24
  */
24
25
 
25
26
  const {mvnw} = require('../mvnw');