diff --git a/package-lock.json b/package-lock.json index 9b6748a..c292c12 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,17 @@ { "name": "koltic", - "version": "0.1.0-notable", + "version": "0.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "koltic", - "version": "0.1.0-notable", + "version": "0.1.1", "license": "Apache-2.0", "dependencies": { "chalk": "^5.6.2", "commander": "^14.0.1", - "koltic": "file:koltic-0.1.0-notable.tgz", - "lightvm": "^0.1.0-alpha.8-nightly.20260813.10da52a" + "lightvm": "^0.1.0-alpha.9" }, "bin": { "koltic": "dist/index.min.mjs" @@ -23,9 +22,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", - "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "cpu": [ "ppc64" ], @@ -40,9 +39,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz", - "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "cpu": [ "arm" ], @@ -57,9 +56,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz", - "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "cpu": [ "arm64" ], @@ -74,9 +73,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz", - "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "cpu": [ "x64" ], @@ -91,9 +90,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz", - "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "cpu": [ "arm64" ], @@ -108,9 +107,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz", - "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "cpu": [ "x64" ], @@ -125,9 +124,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz", - "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "cpu": [ "arm64" ], @@ -142,9 +141,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz", - "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "cpu": [ "x64" ], @@ -159,9 +158,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz", - "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "cpu": [ "arm" ], @@ -176,9 +175,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz", - "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "cpu": [ "arm64" ], @@ -193,9 +192,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz", - "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "cpu": [ "ia32" ], @@ -210,9 +209,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz", - "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "cpu": [ "loong64" ], @@ -227,9 +226,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz", - "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "cpu": [ "mips64el" ], @@ -244,9 +243,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz", - "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "cpu": [ "ppc64" ], @@ -261,9 +260,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz", - "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "cpu": [ "riscv64" ], @@ -278,9 +277,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz", - "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "cpu": [ "s390x" ], @@ -295,9 +294,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz", - "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "cpu": [ "x64" ], @@ -312,9 +311,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz", - "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", "cpu": [ "arm64" ], @@ -329,9 +328,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz", - "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "cpu": [ "x64" ], @@ -346,9 +345,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz", - "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", "cpu": [ "arm64" ], @@ -363,9 +362,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz", - "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "cpu": [ "x64" ], @@ -380,9 +379,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz", - "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", "cpu": [ "arm64" ], @@ -397,9 +396,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz", - "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "cpu": [ "x64" ], @@ -414,9 +413,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz", - "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "cpu": [ "arm64" ], @@ -431,9 +430,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz", - "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "cpu": [ "ia32" ], @@ -448,9 +447,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz", - "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "cpu": [ "x64" ], @@ -465,9 +464,9 @@ } }, "node_modules/@lightvm/core-android-arm": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-android-arm/-/core-android-arm-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-LwyyMOrrcBHHnXfnSDpE4xwgt9wOb99FCODo5UzztSQVudzWKWZW0PBJKdD8HVsovV9LHJVN9EkvfMq68DNgaw==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-android-arm/-/core-android-arm-0.1.0-alpha.9.tgz", + "integrity": "sha512-XKFCLMNQt9r1OWnddkFHwO0hXgvmNbJb5oaN3A46MG/laQeT5Rxzc4IOq+G5wjy9Sy6MKB4uz7RRMk3qDme/vQ==", "cpu": [ "arm" ], @@ -478,9 +477,9 @@ ] }, "node_modules/@lightvm/core-android-arm64": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-android-arm64/-/core-android-arm64-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-zyrKGFo6jSB1PcuKBRKLPhSK2IFieX07bmNXp/23/1aTOPy1+Kbsz4G5WOUGzUvnGBHMO1vcj0rElc0+Rx5huw==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-android-arm64/-/core-android-arm64-0.1.0-alpha.9.tgz", + "integrity": "sha512-OjdNJTdSZZVe20WO6y5V5/z22grGLbxQbcQtKU8RlyyJ0eIKVFbsF+RPMZLv6JoxotTgFofCNvozc/Ce3o88bw==", "cpu": [ "arm64" ], @@ -491,9 +490,9 @@ ] }, "node_modules/@lightvm/core-browser-wasm": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-browser-wasm/-/core-browser-wasm-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-Yg64AsyjMVMAR7rlfnxDnZQFOUJ2jI77RA+kJ9SwuBdycDWAX+G0JUTtJj/TG9tc6keastw08WswB1AzgUp8gA==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-browser-wasm/-/core-browser-wasm-0.1.0-alpha.9.tgz", + "integrity": "sha512-QAmp72bzybSFPzBvky4eSOb4RWGzwATfv8/9cUYu1Wm3DGdkjRlOfcfv5k8vGxfyzZcrv6xWphl1a7caUYxWJQ==", "cpu": [ "wasm" ], @@ -504,9 +503,9 @@ ] }, "node_modules/@lightvm/core-darwin-x64": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-darwin-x64/-/core-darwin-x64-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-EGzZsWLY8u8tzVbmvhAnKv5lci9KMXN0yjqgC5nxjEqkw2ozKTDFWLyA+5cuw7PpIqlaOBrUfxLZunSiAS5fFw==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-darwin-x64/-/core-darwin-x64-0.1.0-alpha.9.tgz", + "integrity": "sha512-FzAc8oQM+LMZZhD2DxUcAJR3mkddN5tj2Nv4ZEH7/b5O4POpOJT7I8xjKdMMwrwezDCyBSw8Ad1OfqhvFqG2GQ==", "cpu": [ "x64" ], @@ -517,9 +516,9 @@ ] }, "node_modules/@lightvm/core-freebsd-x64": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-freebsd-x64/-/core-freebsd-x64-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-/uUmxzDyheqOlAOiWcW6mz1oI+a9QB08vIil4VMTvQWzzv66npMRtqmH8sPMwBkn8A+3mwZIibfN8R7y/e7EHw==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-freebsd-x64/-/core-freebsd-x64-0.1.0-alpha.9.tgz", + "integrity": "sha512-23xn1doZGCcg6UQ+BDLEsxI+4rjroZMVsQ+nKPXs0Fw9ekCYAZLQl69bBajEi1+0EHsdxVrZUVJmCl59sZAFow==", "cpu": [ "x64" ], @@ -530,9 +529,9 @@ ] }, "node_modules/@lightvm/core-linux-arm64": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-linux-arm64/-/core-linux-arm64-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-V1fBKsnLpaTR66kOs1osvKW8JIFxN2bcUsjy67LtGZXIDv/c2flT3yjXr3W4yVHP3oessVsDzccNgvGGyP9C9Q==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-linux-arm64/-/core-linux-arm64-0.1.0-alpha.9.tgz", + "integrity": "sha512-aUVpzGbhHugeQW6wYnrzr+ywAnqCKsT4Kg6u7wQEaR3BvgQqjZBI5VJeqbvxgEZBENd2tCsnuaR+2vpCK267Zg==", "cpu": [ "arm64" ], @@ -543,9 +542,9 @@ ] }, "node_modules/@lightvm/core-linux-ia32": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-linux-ia32/-/core-linux-ia32-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-cNW2gQKc9fk/nCQYUdjbZAfOo4/bKiqCA1kkrE9pjPHqov0Ys6/hc0sNczEv8JANwM1w7BVAGhYRAi8r22bI4g==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-linux-ia32/-/core-linux-ia32-0.1.0-alpha.9.tgz", + "integrity": "sha512-7FDorPPF9WniGj3RbHs7qKRwW2shOe4TIdf3Qr3Grf8BxtroZD+Tmq85dWkEHb03EtZSG32rwtAr86weLyDBoA==", "cpu": [ "ia32" ], @@ -556,9 +555,9 @@ ] }, "node_modules/@lightvm/core-linux-musl-arm64": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-linux-musl-arm64/-/core-linux-musl-arm64-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-vsBrKCotxHLf2GNJ7A0q9LqZYuomk+0g0wIJkxr3A3ODmgE45lAbUiG5K6Qe5v3hxdHl+6HLujELe/taeIZ/Tw==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-linux-musl-arm64/-/core-linux-musl-arm64-0.1.0-alpha.9.tgz", + "integrity": "sha512-j5rO7cEOM7r19IOYsZoDfdjl8phabSE+A3S+S/24k2y1P0b/07hGJa1dqHr/iidsZIba5WeSa4ZMvoQVyBUlzA==", "cpu": [ "arm64" ], @@ -569,9 +568,9 @@ ] }, "node_modules/@lightvm/core-linux-musl-ia32": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-linux-musl-ia32/-/core-linux-musl-ia32-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-O8aTAT+oUATo9SqLSRDoQKCPWbzNUaXP2JmUve34yUYiWUZprL0bBtwk4inlAaLB/1xSPlMw8jt60S6KbBsXsg==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-linux-musl-ia32/-/core-linux-musl-ia32-0.1.0-alpha.9.tgz", + "integrity": "sha512-YB7O7db6v8my746om+K3EeOPm2rFx5cYK5XH+UysqMfJ55I88qhGyO+p9far4f2OP3hlj5IkegDYN4arfeMHMA==", "cpu": [ "ia32" ], @@ -582,9 +581,9 @@ ] }, "node_modules/@lightvm/core-linux-musl-x64": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-linux-musl-x64/-/core-linux-musl-x64-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-ZcF51WzllhuVrmYp6wGPbFhBFJo04n6NHHKkkFnvToK9MeC9bX5UHQXqppb8eEKmqWZ4tXFhvTaZ6QHBcINHwg==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-linux-musl-x64/-/core-linux-musl-x64-0.1.0-alpha.9.tgz", + "integrity": "sha512-B5AJjk8j1XTOSPPNlG3HHycI5QLxtuGvz79DpKH8GGlxTAtwozW638xTCtiQZXqNL4Pcj4cc/MJPXK1SkTeJgQ==", "cpu": [ "x64" ], @@ -595,9 +594,9 @@ ] }, "node_modules/@lightvm/core-linux-x64": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-linux-x64/-/core-linux-x64-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-GkISo+h7/3QPH7pom8TRtwox5slf6qaVHRKrJfDul12onQU1DeTNBXBwawLYaaL9UXH/B79es5tz7T/xNIjGmg==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-linux-x64/-/core-linux-x64-0.1.0-alpha.9.tgz", + "integrity": "sha512-8/hd7aekrOnNVa3a/f+S0xIDA9JvfWK9gdTZaxU5Ejpw0uMANUpjoI6JvvfZezuat1Ccc1kuiDNyIBi5lGGOEA==", "cpu": [ "x64" ], @@ -608,9 +607,9 @@ ] }, "node_modules/@lightvm/core-win32-ia32": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-win32-ia32/-/core-win32-ia32-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-y1kjttH/6TuwuNlc230rnY4C8OyvwfYAHC1DTuZ5jfvuHUzuQpIincnbCHzJFii1EoNv4QKYTnKdTV2RsY2nnw==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-win32-ia32/-/core-win32-ia32-0.1.0-alpha.9.tgz", + "integrity": "sha512-Iyfnzc8Ma+rzczvsMvDxiZUdNED0h1/ZAmAKgtsHYbXauJ3xEuOBNAudNRSA8Qv6ud+ooHL93Rs1JK4Khvteig==", "cpu": [ "ia32" ], @@ -621,9 +620,9 @@ ] }, "node_modules/@lightvm/core-win32-x64": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/@lightvm/core-win32-x64/-/core-win32-x64-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-Mc9J6GgrGvqi6grp2FahhvONuv9F9NUhsg9vdRNEjZMKv7gFd0i7znrKqqI+hNa1zBRYiCMLJ8TWuQukBYkyqA==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/@lightvm/core-win32-x64/-/core-win32-x64-0.1.0-alpha.9.tgz", + "integrity": "sha512-h2Ikirw/WcLf3d291aEcGqQemoGalMRSIELO4HV7jmKuWFhVO5Lx5IW3dqZi5KJTl4Iays5r4nAc3KpD2T339w==", "cpu": [ "x64" ], @@ -634,13 +633,13 @@ ] }, "node_modules/@types/node": { - "version": "24.12.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", - "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "undici-types": "~7.18.0" } }, "node_modules/chalk": { @@ -656,18 +655,18 @@ } }, "node_modules/commander": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.1.tgz", - "integrity": "sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "license": "MIT", "engines": { "node": ">=20" } }, "node_modules/esbuild": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz", - "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -678,52 +677,38 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.10", - "@esbuild/android-arm": "0.25.10", - "@esbuild/android-arm64": "0.25.10", - "@esbuild/android-x64": "0.25.10", - "@esbuild/darwin-arm64": "0.25.10", - "@esbuild/darwin-x64": "0.25.10", - "@esbuild/freebsd-arm64": "0.25.10", - "@esbuild/freebsd-x64": "0.25.10", - "@esbuild/linux-arm": "0.25.10", - "@esbuild/linux-arm64": "0.25.10", - "@esbuild/linux-ia32": "0.25.10", - "@esbuild/linux-loong64": "0.25.10", - "@esbuild/linux-mips64el": "0.25.10", - "@esbuild/linux-ppc64": "0.25.10", - "@esbuild/linux-riscv64": "0.25.10", - "@esbuild/linux-s390x": "0.25.10", - "@esbuild/linux-x64": "0.25.10", - "@esbuild/netbsd-arm64": "0.25.10", - "@esbuild/netbsd-x64": "0.25.10", - "@esbuild/openbsd-arm64": "0.25.10", - "@esbuild/openbsd-x64": "0.25.10", - "@esbuild/openharmony-arm64": "0.25.10", - "@esbuild/sunos-x64": "0.25.10", - "@esbuild/win32-arm64": "0.25.10", - "@esbuild/win32-ia32": "0.25.10", - "@esbuild/win32-x64": "0.25.10" - } - }, - "node_modules/koltic": { - "version": "0.1.0-notable", - "resolved": "file:koltic-0.1.0-notable.tgz", - "integrity": "sha512-yk1xT7i5ocAu+v1VDNNl9MHcGiW80mLuuL49S38GSFPAwPH8I92eRWy8JmszPieploGgSC1qhxKjHkLN1cVLtQ==", - "license": "Apache-2.0", - "dependencies": { - "chalk": "^5.6.2", - "commander": "^14.0.1", - "lightvm": "^0.1.0-alpha.8-nightly.20260813.10da52a" - }, - "bin": { - "koltic": "dist/index.min.mjs" + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, "node_modules/lightvm": { - "version": "0.1.0-alpha.8-nightly.20260813.10da52a", - "resolved": "https://registry.npmjs.org/lightvm/-/lightvm-0.1.0-alpha.8-nightly.20260813.10da52a.tgz", - "integrity": "sha512-Ym7fkW7FakG1oPmnAZjfIsbmTMQz3NyAmafBdcwuWaA8PFYTuHahLBGFogfxeNpq34BlnMtgTAwUbu/WLLHcDw==", + "version": "0.1.0-alpha.9", + "resolved": "https://registry.npmjs.org/lightvm/-/lightvm-0.1.0-alpha.9.tgz", + "integrity": "sha512-4fTCboan6myBPdzQAwIwIot0FRmnWwgpVf0HI109urhLQarn1C91GZYB187fARszjSKvVSk9JRvTqb8ihhbd1w==", "license": "Apache-2.0", "engines": { "node": ">=18.0.0" @@ -732,25 +717,25 @@ "url": "https://trakteer.id/soteen_studio/tip?quantity=1" }, "optionalDependencies": { - "@lightvm/core-android-arm": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-android-arm64": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-browser-wasm": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-darwin-x64": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-freebsd-x64": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-linux-arm64": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-linux-ia32": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-linux-musl-arm64": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-linux-musl-ia32": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-linux-musl-x64": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-linux-x64": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-win32-ia32": "0.1.0-alpha.8-nightly.20260813.10da52a", - "@lightvm/core-win32-x64": "0.1.0-alpha.8-nightly.20260813.10da52a" + "@lightvm/core-android-arm": "0.1.0-alpha.9", + "@lightvm/core-android-arm64": "0.1.0-alpha.9", + "@lightvm/core-browser-wasm": "0.1.0-alpha.9", + "@lightvm/core-darwin-x64": "0.1.0-alpha.9", + "@lightvm/core-freebsd-x64": "0.1.0-alpha.9", + "@lightvm/core-linux-arm64": "0.1.0-alpha.9", + "@lightvm/core-linux-ia32": "0.1.0-alpha.9", + "@lightvm/core-linux-musl-arm64": "0.1.0-alpha.9", + "@lightvm/core-linux-musl-ia32": "0.1.0-alpha.9", + "@lightvm/core-linux-musl-x64": "0.1.0-alpha.9", + "@lightvm/core-linux-x64": "0.1.0-alpha.9", + "@lightvm/core-win32-ia32": "0.1.0-alpha.9", + "@lightvm/core-win32-x64": "0.1.0-alpha.9" } }, "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "dev": true, "license": "MIT" } diff --git a/package.json b/package.json index 48b2826..af70111 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,22 @@ { "name": "koltic", - "version": "0.1.0", + "version": "0.1.1", "description": "A programming language designed with high strictness at compilation.", + "publishConfig": { + "access": "public" + }, + "engines": { + "node": ">=18.0.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/soteenstudio/koltic.git" + }, + "bugs": { + "url": "https://github.com/soteenstudio/koltic/issues" + }, + "homepage": "https://github.com/soteenstudio/koltic#readme", + "funding": "https://trakteer.id/soteen_studio/tip?quantity=1", "type": "module", "bin": { "koltic": "dist/index.min.mjs" @@ -12,15 +27,17 @@ "typecheck": "tsc" }, "keywords": [ - "lightscript" + "koltic", + "strict", + "lightvm", + "speed" ], "author": "SoTeen Studio", "license": "Apache-2.0", "dependencies": { "chalk": "^5.6.2", "commander": "^14.0.1", - "koltic": "file:koltic-0.1.0-notable.tgz", - "lightvm": "^0.1.0-alpha.8-nightly.20260813.10da52a" + "lightvm": "^0.1.0-alpha.9" }, "devDependencies": { "@types/node": "^24.12.2", diff --git a/src/cache/LightCache.ts b/src/cache/LightCache.ts index 0da8e9f..0b23083 100644 --- a/src/cache/LightCache.ts +++ b/src/cache/LightCache.ts @@ -10,10 +10,10 @@ import fs from "fs"; import path from "path"; -import { LightVM, Instruction } from "lightvm"; +import { LightVM, Instructions } from "lightvm"; const vm = new LightVM(); -const loader = vm.tools().loader; +const loader = vm.tools(); const CACHE_VERSION = 1; const CACHE_DIR = ".lightcache"; @@ -31,7 +31,7 @@ type CacheIndex = { }; export class LightCache { - private static mem = new Map(); + private static mem = new Map(); private static index: Record = {}; @@ -50,7 +50,7 @@ export class LightCache { this.index = data.modules; } - static get(moduleId: string, hash: string): Instruction[] | null { + static get(moduleId: string, hash: string): Instructions[] | null { const memHit = this.mem.get(moduleId); if (memHit) { const meta = this.index[moduleId]; @@ -64,7 +64,7 @@ export class LightCache { const meta = this.index[moduleId]; if (!meta || meta.hash !== hash) return null; - const bytecode: Instruction[] = loader.parseLTCArray( + const bytecode: Instructions[] = loader.parseLTCArray( fs.readFileSync(meta.bytecodeFile, "utf8") ); @@ -75,7 +75,7 @@ export class LightCache { /** * 🔥 Cache MISS path */ - static set(moduleId: string, hash: string, bytecode: Instruction[]) { + static set(moduleId: string, hash: string, bytecode: Instructions[]) { const id = hash.slice(0, 8); const ltcFile = path.join(MODULE_DIR, id + ".ltc"); diff --git a/src/cmds/compileFile.ts b/src/cmds/compileFile.ts index 6d8a674..06effff 100644 --- a/src/cmds/compileFile.ts +++ b/src/cmds/compileFile.ts @@ -11,7 +11,7 @@ import { Lexer } from "../lexer.js"; import { Parser } from "../parser/index.js"; import { compileProgram } from "../compiler/index.js"; -import { LightVM, Instruction } from "lightvm"; +import { LightVM, Instructions } from "lightvm"; import { setName } from "../error.js"; import { formatDuration, warning, loadConfig } from "../utils/index.js"; import { figures } from "../utils/figures.js"; diff --git a/src/cmds/runFile.ts b/src/cmds/runFile.ts index 9049099..8c9ceba 100644 --- a/src/cmds/runFile.ts +++ b/src/cmds/runFile.ts @@ -15,7 +15,7 @@ import { LightVM, Capability } from "lightvm"; import { setName } from "../error.js"; import { formatDuration, warning, loadConfig, getProcessTimes } from "../utils/index.js"; import { figures } from "../utils/figures.js"; -import { Instruction } from 'lightvm'; +import { Instructions } from 'lightvm'; import fs from "node:fs"; import path from "node:path"; @@ -59,13 +59,13 @@ export function runFile(filename: string, perform: boolean): void { const rEnd = process.hrtime.bigint(); const tStart = process.hrtime.bigint(); - const data: Instruction[] = code + const data: Instructions[] = code .split(';') .map((item: string) => item.trim()) .filter(Boolean) .map((item: string) => { const parts: string[] = item.split(/\s+/); // split by whitespace - const op: Instruction[0] = parts[0] as Instruction[0]; + const op: Instructions[0] = parts[0] as Instructions[0]; const args: (number | string | undefined)[] = parts.slice(1).map((arg: string) => { const num: number = Number(arg); return isNaN(num) ? arg : num; @@ -74,7 +74,7 @@ export function runFile(filename: string, perform: boolean): void { // pad supaya panjangnya selalu 5 (op + 4 arg) while (args.length < 4) args.push(undefined); - return [op, ...args] as Instruction; + return [op, ...args] as Instructions; }); const tEnd = process.hrtime.bigint(); diff --git a/src/compiler/compiler.ts b/src/compiler/compiler.ts index 170c561..00ea18c 100644 --- a/src/compiler/compiler.ts +++ b/src/compiler/compiler.ts @@ -47,11 +47,11 @@ import { compileStatement } from "./statement/compileStmt.js"; import { compileFunDecl } from "./statement/compileFunDecl.js"; import { exprType } from "../utils/exprType.js"; import { Scope } from "../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { collectExport } from "../module/collectExport.js"; export const functions: Record < string, FunctionDeclaration > = Object.create(null); -export function run(ast: Program, moduleId: string): Instruction[] { +export function run(ast: Program, moduleId: string): Instructions[] { const globalEnv: Scope = { kinds: Object.create(null), types: Object.create(null), @@ -59,7 +59,7 @@ export function run(ast: Program, moduleId: string): Instruction[] { Object.assign(functions, Object.create(null)); globalEnv.kinds = globalEnv.kinds || Object.create(null); globalEnv.types = globalEnv.types || Object.create(null); - const bytecode: Instruction[] = []; + const bytecode: Instructions[] = []; for (const stmt of ast.body) { if (stmt.type === "FunctionDeclaration") { diff --git a/src/compiler/expression/compileArrayLit.ts b/src/compiler/expression/compileArrayLit.ts index e7fc4e2..49146f6 100644 --- a/src/compiler/expression/compileArrayLit.ts +++ b/src/compiler/expression/compileArrayLit.ts @@ -9,16 +9,16 @@ */ import { ArrayLiteral, Expression } from "../../ast/index.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { compileExpr } from "./compileExpr.js"; export function compileArrayLit( node: ArrayLiteral, - code: Instruction[], + code: Instructions[], scope: Scope, moduleId: string -): Instruction[] { +): Instructions[] { const elemCount = node.elements.length; for (const elem of node.elements) { diff --git a/src/compiler/expression/compileArrowExpr.ts b/src/compiler/expression/compileArrowExpr.ts index c16f8fb..56315aa 100644 --- a/src/compiler/expression/compileArrowExpr.ts +++ b/src/compiler/expression/compileArrowExpr.ts @@ -8,7 +8,7 @@ * http://www.apache.org/licenses/LICENSE-2.0 */ -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { ArrowFunction, BlockStatement } from "../../ast/index.js"; import { compileExpr } from "./compileExpr.js"; @@ -16,10 +16,10 @@ import { compileStatement } from "../statement/compileStmt.js"; export function compileArrowExpr( node: ArrowFunction, - code: Instruction[], + code: Instructions[], scope: Scope, moduleId: string -): Instruction[] { +): Instructions[] { const fnScope: Scope = { kinds: {}, types: {}, @@ -30,7 +30,7 @@ export function compileArrowExpr( fnScope.kinds[param.name] = "val"; } - const bodyCode: Instruction[] = []; + const bodyCode: Instructions[] = []; if (node.body.type === "BlockStatement") { for (const stmt of node.body.body) { diff --git a/src/compiler/expression/compileBinaryExpr.ts b/src/compiler/expression/compileBinaryExpr.ts index 24eb411..a6e22d7 100644 --- a/src/compiler/expression/compileBinaryExpr.ts +++ b/src/compiler/expression/compileBinaryExpr.ts @@ -9,7 +9,7 @@ */ import { BinaryExpression } from "../../ast/index.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { exprType, normalizeType, getValueType } from "../../utils/index.js"; import { CustomError } from "../../error.js"; @@ -26,7 +26,7 @@ function getLeftType(leftType: string): string { } -export function compileBinaryExpr(node: BinaryExpression, code: Instruction[], scope: Scope, moduleId: string) { +export function compileBinaryExpr(node: BinaryExpression, code: Instructions[], scope: Scope, moduleId: string) { const bin = node; const left = compileExpr(bin.left, scope, false, moduleId); const right = compileExpr(bin.right, scope, false, moduleId); diff --git a/src/compiler/expression/compileCallExpr.ts b/src/compiler/expression/compileCallExpr.ts index ac4634a..3ee4e69 100644 --- a/src/compiler/expression/compileCallExpr.ts +++ b/src/compiler/expression/compileCallExpr.ts @@ -9,7 +9,7 @@ */ import { CallExpression, Expression } from "../../ast/index.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { CustomError } from "../../error.js"; import { compileExpr } from "./compileExpr.js"; @@ -23,7 +23,7 @@ import { } from "../../utils/index.js"; import { functions } from "../compiler.js"; -export function compileCallExpr(node: CallExpression, code: Instruction[], scope: Scope, moduleId: string): Instruction[] { +export function compileCallExpr(node: CallExpression, code: Instructions[], scope: Scope, moduleId: string): Instructions[] { const call = node; // 🔹 built-in functions diff --git a/src/compiler/expression/compileExpr.ts b/src/compiler/expression/compileExpr.ts index 50870a7..711733b 100644 --- a/src/compiler/expression/compileExpr.ts +++ b/src/compiler/expression/compileExpr.ts @@ -19,7 +19,7 @@ import { compileUpdExpr } from "./compileUpdExpr.js"; import { compileArrowExpr } from "./compileArrowExpr.js"; import { compileFunctionExpr } from "./compileFunExpr.js"; import { CustomError } from "../../error.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Expression, Statement, CallExpression, ObjectLiteral } from "../../ast/index.js"; import { Scope } from "../../parser/Scope.js"; @@ -28,8 +28,8 @@ export function compileExpr( scope: Scope, isTypeCheck: boolean = false, moduleId: string -): Instruction[] { - const code: Instruction[] = []; +): Instructions[] { + const code: Instructions[] = []; switch (node.type) { case "Literal": { return compileLiteralExpr(node, code, scope, moduleId); diff --git a/src/compiler/expression/compileFunExpr.ts b/src/compiler/expression/compileFunExpr.ts index 3a7321b..663abdc 100644 --- a/src/compiler/expression/compileFunExpr.ts +++ b/src/compiler/expression/compileFunExpr.ts @@ -8,7 +8,7 @@ * http://www.apache.org/licenses/LICENSE-2.0 */ -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { FunctionExpression } from "../../ast/index.js"; import { compileStatement } from "../statement/compileStmt.js"; @@ -17,10 +17,10 @@ let anonFnId = 0; export function compileFunctionExpr( node: FunctionExpression, - code: Instruction[], + code: Instructions[], scope: Scope, moduleId: string -): Instruction[] { +): Instructions[] { const fnName = `__fn_${anonFnId++}`; const params = ["this", ...node.params.map(p => p.name)]; diff --git a/src/compiler/expression/compileIdentifierExpr.ts b/src/compiler/expression/compileIdentifierExpr.ts index 5af38f6..400f9a5 100644 --- a/src/compiler/expression/compileIdentifierExpr.ts +++ b/src/compiler/expression/compileIdentifierExpr.ts @@ -9,12 +9,12 @@ */ import { Identifier } from "../../ast/index.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { findScopeForVar } from "../../utils/index.js"; import { CustomError } from "../../error.js"; -export function compileIdentifierExpr(node: Identifier, code: Instruction[], scope: Scope, isTypeCheck: boolean) { +export function compileIdentifierExpr(node: Identifier, code: Instructions[], scope: Scope, isTypeCheck: boolean) { const id = node; const targetScope = findScopeForVar(scope, id.name); if (!targetScope) { diff --git a/src/compiler/expression/compileLiteralExpr.ts b/src/compiler/expression/compileLiteralExpr.ts index 89d38a2..5e05a9a 100644 --- a/src/compiler/expression/compileLiteralExpr.ts +++ b/src/compiler/expression/compileLiteralExpr.ts @@ -9,7 +9,7 @@ */ import { Literal } from "../../ast/index.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { Lexer } from "../../lexer.js"; import { Parser } from "../../parser/index.js"; @@ -17,7 +17,7 @@ import { compileExpr } from "../expression/compileExpr.js"; import { findScopeForVar } from "../../utils/index.js"; import { CustomError } from "../../error.js"; -export function compileLiteralExpr(node: Literal, code: Instruction[], scope: Scope, moduleId: string) { +export function compileLiteralExpr(node: Literal, code: Instructions[], scope: Scope, moduleId: string) { const val = node.value; if (typeof val === "string") { diff --git a/src/compiler/expression/compileMemberExpr.ts b/src/compiler/expression/compileMemberExpr.ts index 5720159..e0cf6ed 100644 --- a/src/compiler/expression/compileMemberExpr.ts +++ b/src/compiler/expression/compileMemberExpr.ts @@ -8,12 +8,12 @@ * http://www.apache.org/licenses/LICENSE-2.0 */ -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { MemberExpression, Expression } from "../../ast/index.js"; import { compileExpr } from "./compileExpr.js"; -export function compileMemberExpr(node: MemberExpression, code: Instruction[], scope: Scope, moduleId: string): Instruction[] { +export function compileMemberExpr(node: MemberExpression, code: Instructions[], scope: Scope, moduleId: string): Instructions[] { code.push(...compileExpr(node.object, scope, false, moduleId)); if (typeof node.property === "string") { diff --git a/src/compiler/expression/compileNewExpr.ts b/src/compiler/expression/compileNewExpr.ts index 9ccf439..b7ed1a2 100644 --- a/src/compiler/expression/compileNewExpr.ts +++ b/src/compiler/expression/compileNewExpr.ts @@ -8,12 +8,12 @@ * http://www.apache.org/licenses/LICENSE-2.0 */ -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { NewExpression } from "../../ast/index.js"; import { compileExpr } from "../expression/compileExpr.js"; -export function compileNewExpr(expr: NewExpression, code: Instruction[], scope: Scope, moduleId: string) { +export function compileNewExpr(expr: NewExpression, code: Instructions[], scope: Scope, moduleId: string) { const className = expr.className; const args = expr.args; diff --git a/src/compiler/expression/compileObjectLit.ts b/src/compiler/expression/compileObjectLit.ts index cc37b89..917f8eb 100644 --- a/src/compiler/expression/compileObjectLit.ts +++ b/src/compiler/expression/compileObjectLit.ts @@ -9,16 +9,16 @@ */ import { ObjectLiteral, FunctionExpression } from "../../ast/index.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { compileExpr } from "./compileExpr.js"; export function compileObjectLit( node: ObjectLiteral, - code: Instruction[], + code: Instructions[], scope: Scope, moduleId: string -): Instruction[] { +): Instructions[] { const propCount = node.properties.length; for (const prop of node.properties) { diff --git a/src/compiler/expression/compileUpdExpr.ts b/src/compiler/expression/compileUpdExpr.ts index 943c478..662b6e4 100644 --- a/src/compiler/expression/compileUpdExpr.ts +++ b/src/compiler/expression/compileUpdExpr.ts @@ -10,11 +10,11 @@ import { UpdateExpression, Identifier } from "../../ast/index.js"; import { Scope } from "../../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { CustomError } from "../../error.js"; import { findScopeForVar, normalizeType, isNumberFamily } from "../../utils/index.js"; -export function compileUpdExpr(node: UpdateExpression, code: Instruction[], scope: Scope) { +export function compileUpdExpr(node: UpdateExpression, code: Instructions[], scope: Scope) { const upd = node; const id = (upd.argument as Identifier).name; const targetScope = findScopeForVar(scope, id); diff --git a/src/compiler/statement/compileAssignStmt.ts b/src/compiler/statement/compileAssignStmt.ts index 705bc79..887da2e 100644 --- a/src/compiler/statement/compileAssignStmt.ts +++ b/src/compiler/statement/compileAssignStmt.ts @@ -12,10 +12,10 @@ import { AssignmentStatement, Literal } from "../../ast/index.js"; import { CustomError } from "../../error.js"; import { compileExpr } from "../expression/compileExpr.js"; import { Scope } from "../../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { findScopeForVar, normalizeType, getValueType, isNumberFamily, isAnyType } from "../../utils/index.js"; -export function compileAssignStmt(stmt: AssignmentStatement, code: Instruction[], scope: Scope, moduleId: string) { +export function compileAssignStmt(stmt: AssignmentStatement, code: Instructions[], scope: Scope, moduleId: string) { const s = stmt; const targetScope = findScopeForVar(scope, s.identifier); if (!targetScope) diff --git a/src/compiler/statement/compileBlockStmt.ts b/src/compiler/statement/compileBlockStmt.ts index dcbdd2f..c5a747a 100644 --- a/src/compiler/statement/compileBlockStmt.ts +++ b/src/compiler/statement/compileBlockStmt.ts @@ -10,10 +10,10 @@ import { BlockStatement, Statement } from "../../ast/index.js"; import { Scope } from "../../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { compileStatement } from "./compileStmt.js"; -export function compileBlockStmt(stmt: BlockStatement, code: Instruction[], scope: Scope, moduleId: string) { +export function compileBlockStmt(stmt: BlockStatement, code: Instructions[], scope: Scope, moduleId: string) { const s = stmt; const blockScope: Scope = { kinds: Object.create(null), diff --git a/src/compiler/statement/compileClassDecl.ts b/src/compiler/statement/compileClassDecl.ts index 086484d..8036693 100644 --- a/src/compiler/statement/compileClassDecl.ts +++ b/src/compiler/statement/compileClassDecl.ts @@ -8,13 +8,13 @@ * http://www.apache.org/licenses/LICENSE-2.0 */ -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { ClassDeclaration, VarDeclaration, FunctionDeclaration } from "../../ast/index.js"; import { compileExpr } from "../expression/compileExpr.js"; import { compileStatement } from "./compileStmt.js"; -export function compileClassDecl(stmt: ClassDeclaration, code: Instruction[], scope: Scope, moduleId: string) { +export function compileClassDecl(stmt: ClassDeclaration, code: Instructions[], scope: Scope, moduleId: string) { const s = stmt; const className = s.name; diff --git a/src/compiler/statement/compileExportStmt.ts b/src/compiler/statement/compileExportStmt.ts index 2ace284..a501514 100644 --- a/src/compiler/statement/compileExportStmt.ts +++ b/src/compiler/statement/compileExportStmt.ts @@ -12,12 +12,12 @@ import { ModuleTable } from "../../module/ModuleTable.js"; import { CustomError } from "../../error.js"; import { ExportStatement } from "../../ast/index.js"; import { Scope } from "../../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; export function compileExportStmt( stmt: ExportStatement, scope: Scope, - code: Instruction[], + code: Instructions[], moduleId: string ) { console.log(".................."); diff --git a/src/compiler/statement/compileForStmt.ts b/src/compiler/statement/compileForStmt.ts index 9c1454f..4281c5a 100644 --- a/src/compiler/statement/compileForStmt.ts +++ b/src/compiler/statement/compileForStmt.ts @@ -9,12 +9,12 @@ */ import { ForStatement } from "../../ast/index.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { compileExpr } from "../expression/compileExpr.js"; import { compileStatement } from "./compileStmt.js"; -export function compileForStmt(stmt: ForStatement, code: Instruction[], scope: Scope, moduleId: string) { +export function compileForStmt(stmt: ForStatement, code: Instructions[], scope: Scope, moduleId: string) { const s = stmt; const forScope: Scope = { kinds: Object.create(null), diff --git a/src/compiler/statement/compileFunDecl.ts b/src/compiler/statement/compileFunDecl.ts index daf807f..6cf829f 100644 --- a/src/compiler/statement/compileFunDecl.ts +++ b/src/compiler/statement/compileFunDecl.ts @@ -12,9 +12,9 @@ import { BlockStatement, FunctionDeclaration } from "../../ast/index.js"; import { compileStatement } from "./compileStmt.js"; import { normalizeType } from "../../utils/index.js"; import { Scope } from "../../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; -export function compileFunDecl(f: FunctionDeclaration, globalScope: Scope, code: Instruction[], moduleId: string) { +export function compileFunDecl(f: FunctionDeclaration, globalScope: Scope, code: Instructions[], moduleId: string) { const jumpOverIndex = code.length; code.push(["jump", -1]); diff --git a/src/compiler/statement/compileIfStmt.ts b/src/compiler/statement/compileIfStmt.ts index 165c0e4..05e53a1 100644 --- a/src/compiler/statement/compileIfStmt.ts +++ b/src/compiler/statement/compileIfStmt.ts @@ -9,12 +9,12 @@ */ import { IfStatement } from "../../ast/index.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { Scope } from "../../parser/Scope.js"; import { compileExpr } from "../expression/compileExpr.js"; import { compileStatement } from "./compileStmt.js"; -export function compileIfStmt(stmt: IfStatement, code: Instruction[], scope: Scope, moduleId: string) { +export function compileIfStmt(stmt: IfStatement, code: Instructions[], scope: Scope, moduleId: string) { console.log("halaoapaoaooa"); const s = stmt; diff --git a/src/compiler/statement/compileImportStmt.ts b/src/compiler/statement/compileImportStmt.ts index f9fc0e9..e94ec0c 100644 --- a/src/compiler/statement/compileImportStmt.ts +++ b/src/compiler/statement/compileImportStmt.ts @@ -13,12 +13,12 @@ import { ModuleTable } from "../../module/ModuleTable.js"; import { resolveImport } from "../index.js"; import { ImportStatement } from "../../ast/index.js"; import { Scope } from "../../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; export function compileImportStmt( stmt: ImportStatement, scope: Scope, - code: Instruction[], + code: Instructions[], CURRENT_MODULE_ID: string ) { const { package: pkg, name } = stmt; diff --git a/src/compiler/statement/compileStmt.ts b/src/compiler/statement/compileStmt.ts index edf36f7..644dc5f 100644 --- a/src/compiler/statement/compileStmt.ts +++ b/src/compiler/statement/compileStmt.ts @@ -37,15 +37,15 @@ import { compileImportStmt } from "./compileImportStmt.js"; import { compileExportStmt } from "./compileExportStmt.js"; import { compileExpr } from "../expression/compileExpr.js"; import { Scope } from "../../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; import { types } from "../../utils/getValueType.js"; export function compileStatement( stmt: Statement | Expression, scope: Scope, - code: Instruction[], + code: Instructions[], moduleId: string -): Instruction[] { +): Instructions[] { switch (stmt.type) { case "VarDeclaration": { return compileVarDecl(stmt, code, scope, moduleId); diff --git a/src/compiler/statement/compileVarDecl.ts b/src/compiler/statement/compileVarDecl.ts index 56016b3..3c90a50 100644 --- a/src/compiler/statement/compileVarDecl.ts +++ b/src/compiler/statement/compileVarDecl.ts @@ -14,11 +14,11 @@ import { normalizeType, getValueType, getDeclaredTypeForVar, exprType, isNumberF import { types } from "../../utils/getValueType.js"; import { compileExpr } from "../expression/compileExpr.js"; import { Scope } from "../../parser/Scope.js"; -import { Instruction } from "lightvm"; +import { Instructions } from "lightvm"; export function compileVarDecl( stmt: VarDeclaration, - code: Instruction[], + code: Instructions[], scope: Scope, moduleId: string ) {