{"_id":"@aerys/lang","_rev":"7-caeafb907f8b94c61783a926fc79c863","name":"@aerys/lang","dist-tags":{"latest":"1.55.12"},"versions":{"1.54.4":{"name":"@aerys/lang","version":"1.54.4","keywords":["aerys","scripting","language","wasm","react","vite"],"author":{"name":"Juan Mercado"},"license":"SEE LICENSE IN LICENSE","_id":"@aerys/lang@1.54.4","maintainers":[{"name":"ariswilder","email":"juan.mercado@devscapellc.com"}],"dist":{"shasum":"3b1875f2a68ed8c51d2367043bc4e713b0985d0a","tarball":"https://registry.npmjs.org/@aerys/lang/-/lang-1.54.4.tgz","fileCount":9,"integrity":"sha512-t2Crzv04oioUyzaEWQoFbHO2IsuVCXlUs7/Y4hyEnjQN5CSxn+Ea705wChld3+PgrEoc5SsRzEKY6Itm277pxA==","signatures":[{"sig":"MEQCIHz7BPUM84Hn6sQx+dQIZeatTgOj6CEcF0eQPNqfgIRdAiAzDzOK/7l1dBDDj2pFDis1oH8tYB/0EGlOTl2CrTFPcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":753238},"main":"index.js","type":"module","exports":{".":"./index.js","./react":"./react.js","./loader":"./script-loader.js","./vite-plugin":"./vite-plugin.js"},"gitHead":"8137bd76bb52abde74c32796640e999247719337","_npmUser":{"name":"ariswilder","email":"juan.mercado@devscapellc.com"},"_npmVersion":"11.6.2","description":"Aerys language runtime — run .aer scripts in the browser via WebAssembly","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/lang_1.54.4_1776791408978_0.12750385686520627","host":"s3://npm-registry-packages-npm-production"}},"1.54.6":{"name":"@aerys/lang","version":"1.54.6","keywords":["aerys","scripting","language","wasm","react","vite"],"author":{"name":"Juan Mercado"},"license":"SEE LICENSE IN LICENSE","_id":"@aerys/lang@1.54.6","maintainers":[{"name":"ariswilder","email":"juan.mercado@devscapellc.com"}],"dist":{"shasum":"306dca76e4bd3e5300b85e32f41d3c5772d00b84","tarball":"https://registry.npmjs.org/@aerys/lang/-/lang-1.54.6.tgz","fileCount":9,"integrity":"sha512-o+8tls58RQAclJeX6puFqaTM8h54zvJQnRGFuJRUQuJjFXTuVp7T6kL9oRvwFiY6PXPjwcR6RKXLLYxijDoDNw==","signatures":[{"sig":"MEQCIEjW/lUlyQHHtLu8Ejv/57OqHbaZOey2ab3A4o5QnwsjAiBGqvEOFGh1MNjORuG6RU2tXrR5Vh6pUtLOagvK6ViUIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":753717},"main":"index.js","type":"module","exports":{".":"./index.js","./react":"./react.js","./loader":"./script-loader.js","./vite-plugin":"./vite-plugin.js"},"gitHead":"ebd193cd30f2ee42bac186ae8b5f007acd1f4793","_npmUser":{"name":"ariswilder","email":"juan.mercado@devscapellc.com"},"_npmVersion":"11.6.2","description":"Aerys language runtime — run .aer scripts in the browser via WebAssembly","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/lang_1.54.6_1776797720178_0.5901212178185957","host":"s3://npm-registry-packages-npm-production"}},"1.54.8":{"name":"@aerys/lang","version":"1.54.8","keywords":["aerys","scripting","language","wasm","react","vite"],"author":{"name":"Juan Mercado"},"license":"SEE LICENSE IN LICENSE","_id":"@aerys/lang@1.54.8","maintainers":[{"name":"ariswilder","email":"juan.mercado@devscapellc.com"}],"dist":{"shasum":"e2ffd1c5104acba6a7aaf527cc10ee1ac5cf189e","tarball":"https://registry.npmjs.org/@aerys/lang/-/lang-1.54.8.tgz","fileCount":9,"integrity":"sha512-kYGNwljZzvKM1usCWsBkWKNJ4iPcub1HA+cjAh274wbLja37jA8CFpZywSJGuH1aHNOZh/Vsz1Tmmh4ZsLjOUA==","signatures":[{"sig":"MEUCIQDuzyUmsqd51saflkwIsawjYkJGSnb/1zAuXcOLJ+WqqQIgRGX0kS5/9cPzTLRvL4f9qBKYsbsRy9YITdCenH6weow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":753717},"main":"index.js","type":"module","exports":{".":"./index.js","./react":"./react.js","./loader":"./script-loader.js","./vite-plugin":"./vite-plugin.js"},"gitHead":"ff27b31c87c77318e4f989ea97d6a2976893955b","_npmUser":{"name":"ariswilder","email":"juan.mercado@devscapellc.com"},"_npmVersion":"11.6.2","description":"Aerys language runtime — run .aer scripts in the browser via WebAssembly","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/lang_1.54.8_1776798965997_0.2334902742255034","host":"s3://npm-registry-packages-npm-production"}},"1.55.3":{"name":"@aerys/lang","version":"1.55.3","keywords":["aerys","scripting","language","wasm","react","vite"],"author":{"name":"Juan Mercado"},"license":"SEE LICENSE IN LICENSE","_id":"@aerys/lang@1.55.3","maintainers":[{"name":"ariswilder","email":"juan.mercado@devscapellc.com"}],"dist":{"shasum":"208a3a11c6340bb1713d7156af6722d3d3d92307","tarball":"https://registry.npmjs.org/@aerys/lang/-/lang-1.55.3.tgz","fileCount":9,"integrity":"sha512-itdqOcYzP1Jty8E/4y6HPEOCWbFJrUGtJM7uzzseN8u9k/oaYMhSmz+gIue5xIKvtB9dyzkTVrtFDnsnT5Y94g==","signatures":[{"sig":"MEYCIQCmXt5rpK0IJSTlC82l1Hub8ohYaL5DJLXcRR0AfGNfHQIhAKP0uAyqgBRTiX3b62JFIeyZ3X6QVu94lbIHNkGEjGNt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":753717},"main":"index.js","type":"module","exports":{".":"./index.js","./react":"./react.js","./loader":"./script-loader.js","./vite-plugin":"./vite-plugin.js"},"gitHead":"d5ef1b328095d65a2a13a58bb223b3e098abeee2","_npmUser":{"name":"ariswilder","email":"juan.mercado@devscapellc.com"},"_npmVersion":"11.6.2","description":"Aerys language runtime — run .aer scripts in the browser via WebAssembly","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/lang_1.55.3_1776868083671_0.9542988676725206","host":"s3://npm-registry-packages-npm-production"}},"1.55.5":{"name":"@aerys/lang","version":"1.55.5","keywords":["aerys","scripting","language","wasm","react","vite"],"author":{"name":"Juan Mercado"},"license":"SEE LICENSE IN LICENSE","_id":"@aerys/lang@1.55.5","maintainers":[{"name":"ariswilder","email":"juan.mercado@devscapellc.com"}],"dist":{"shasum":"52bd2d5ac28d5765688226d672d1560ed632d8b0","tarball":"https://registry.npmjs.org/@aerys/lang/-/lang-1.55.5.tgz","fileCount":9,"integrity":"sha512-S35HsHrE5l3/gdY3ZtxoXsCp6Zd3ve9AOuE6xHodw0hrUinqB3nAOgU1qOH1WiwPY4fxQxSbVQDcaRZdhXLbJQ==","signatures":[{"sig":"MEQCIH6w4Osk0btnxC9JmQ+q+hJuKappQV1md19UAT0oljSHAiBVfMWc+Pz0mXk7VQVgiEtpB2EU+eDdszbn3Ywp74iJSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":759673},"main":"index.js","type":"module","exports":{".":"./index.js","./react":"./react.js","./loader":"./script-loader.js","./vite-plugin":"./vite-plugin.js"},"gitHead":"2b0044cd2532074241c40e4dd72a8b892269f8fd","_npmUser":{"name":"ariswilder","email":"juan.mercado@devscapellc.com"},"_npmVersion":"11.6.2","description":"Aerys language runtime — run .aer scripts in the browser via WebAssembly","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/lang_1.55.5_1776873919714_0.01655007910368389","host":"s3://npm-registry-packages-npm-production"}},"1.55.9":{"name":"@aerys/lang","version":"1.55.9","keywords":["aerys","scripting","language","wasm","react","vite"],"author":{"name":"Juan Mercado"},"license":"SEE LICENSE IN LICENSE","_id":"@aerys/lang@1.55.9","maintainers":[{"name":"ariswilder","email":"juan.mercado@devscapellc.com"}],"dist":{"shasum":"bad8217357882df0e60371daa4fd12555d8b402d","tarball":"https://registry.npmjs.org/@aerys/lang/-/lang-1.55.9.tgz","fileCount":9,"integrity":"sha512-AgZrTQAC7/gDh6JJ5Vaem1hZ30yASP9LcFd/eRj7j6VLaJkXOtNA5YNyfMgnBX19aEx4Q6Lz7nCTEHdlySXJ1w==","signatures":[{"sig":"MEYCIQDTvIF1XJ+xuKdE0XiMS18R+xZ9M7ulwW2B0mVQeQKx0AIhAIqMqS8GQTMXvNs6CjROwW0hSWtpuGreT2sx2R4iqTrr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":759673},"main":"index.js","type":"module","exports":{".":"./index.js","./react":"./react.js","./loader":"./script-loader.js","./vite-plugin":"./vite-plugin.js"},"gitHead":"90c75e34e2a17d4acbb0bedee2a8736ecb9713ca","_npmUser":{"name":"ariswilder","email":"juan.mercado@devscapellc.com"},"_npmVersion":"11.6.2","description":"Aerys language runtime — run .aer scripts in the browser via WebAssembly","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/lang_1.55.9_1776891596449_0.44440282479505977","host":"s3://npm-registry-packages-npm-production"}},"1.55.12":{"name":"@aerys/lang","type":"module","version":"1.55.12","description":"Aerys language runtime — run .aer scripts in the browser via WebAssembly","main":"index.js","exports":{".":"./index.js","./react":"./react.js","./vite-plugin":"./vite-plugin.js","./loader":"./script-loader.js"},"keywords":["aerys","scripting","language","wasm","react","vite"],"author":{"name":"Juan Mercado"},"license":"SEE LICENSE IN LICENSE","publishConfig":{"access":"public"},"peerDependencies":{"react":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"gitHead":"a35faa26280409e5d62604701505593e61c7bd70","_id":"@aerys/lang@1.55.12","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-ts2ccdmMsp325XV619a4MrswQHaoUykxj3IZbt8hT/jeqd2hp5ehY9RaS1le2x0322sgPGyeOtNYG+ks49Fs8g==","shasum":"f1020b180e3b4e4b87e83f2cce432f47989bdbf2","tarball":"https://registry.npmjs.org/@aerys/lang/-/lang-1.55.12.tgz","fileCount":9,"unpackedSize":789752,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHizN/nWXhUJrW9ikGgqKq+5kdhqxopMYSUIvLIx9VMcAiADyOFnAKXfNR/WoRp8nCdk6qpeoOh2dxEdytTK/Z2nfg=="}]},"_npmUser":{"name":"ariswilder","email":"juan.mercado@devscapellc.com"},"directories":{},"maintainers":[{"name":"ariswilder","email":"juan.mercado@devscapellc.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lang_1.55.12_1776964789986_0.2842057021821154"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-21T17:10:08.889Z","modified":"2026-04-23T17:19:50.328Z","1.54.4":"2026-04-21T17:10:09.158Z","1.54.6":"2026-04-21T18:55:20.337Z","1.54.8":"2026-04-21T19:16:06.228Z","1.55.3":"2026-04-22T14:28:03.890Z","1.55.5":"2026-04-22T16:05:19.919Z","1.55.9":"2026-04-22T20:59:56.626Z","1.55.12":"2026-04-23T17:19:50.204Z"},"author":{"name":"Juan Mercado"},"license":"SEE LICENSE IN LICENSE","keywords":["aerys","scripting","language","wasm","react","vite"],"description":"Aerys language runtime — run .aer scripts in the browser via WebAssembly","maintainers":[{"name":"ariswilder","email":"juan.mercado@devscapellc.com"}],"readme":"# @aerys/lang\r\n\r\nThe **Aerys language runtime** for the browser and Node. Ship and execute\r\nreal `.aer` programs in any JavaScript environment via a single WebAssembly\r\nmodule.\r\n\r\nUse this package when you want to *run* Aerys scripts from inside a web\r\napp — interactive tutorials, in-browser playgrounds, user-scripting\r\nfeatures, rule engines, sandboxed eval. The runtime is ~200 KB gzipped\r\nand has no runtime dependencies.\r\n\r\n> Writing React components in Aerys syntax is a different package —\r\n> install [`@aerys/aerysx`](https://www.npmjs.com/package/@aerys/aerysx)\r\n> for that. `@aerys/lang` runs scripts, `@aerys/aerysx` transforms\r\n> components at build time.\r\n\r\n## Install\r\n\r\n```bash\r\nnpm install @aerys/lang\r\n```\r\n\r\n## Quick start — raw eval\r\n\r\n```js\r\nimport { createAerys } from '@aerys/lang';\r\n\r\nconst aerys = await createAerys();\r\nconst result = aerys.eval(`\r\n    let x = 10\r\n    let y = 20\r\n    return x + y\r\n`);\r\n\r\nconsole.log(result); // 30\r\n```\r\n\r\n## React hook\r\n\r\n```jsx\r\nimport { useAerys } from '@aerys/lang/react';\r\n\r\nfunction Playground() {\r\n    const { run, output, error } = useAerys();\r\n\r\n    return (\r\n        <>\r\n            <button onClick={() => run('print(\"hello from aerys\")')}>\r\n                Run\r\n            </button>\r\n            <pre>{output}</pre>\r\n            {error && <pre style={{ color: 'red' }}>{error}</pre>}\r\n        </>\r\n    );\r\n}\r\n```\r\n\r\n## `<script type=\"aerys\">` loader\r\n\r\n```html\r\n<script type=\"module\">\r\n    import '@aerys/lang/loader';\r\n</script>\r\n\r\n<script type=\"aerys\">\r\n    print(\"hello from a script tag\")\r\n</script>\r\n```\r\n\r\nThe loader finds every `<script type=\"aerys\">` on the page and executes\r\nits contents through the runtime.\r\n\r\n## Vite plugin (for serving `.aer` source files)\r\n\r\n```js\r\nimport { defineConfig } from 'vite';\r\nimport aerys from '@aerys/lang/vite-plugin';\r\n\r\nexport default defineConfig({\r\n    plugins: [aerys()],\r\n});\r\n```\r\n\r\nThen:\r\n\r\n```js\r\nimport helloSource from './hello.aer?raw';\r\n\r\nconst aerys = await createAerys();\r\naerys.eval(helloSource);\r\n```\r\n\r\n## Entry points\r\n\r\n| Import | Purpose |\r\n|---|---|\r\n| `@aerys/lang` | Core runtime — `createAerys()`, `eval`, `evalJSON` |\r\n| `@aerys/lang/react` | React hook — `useAerys()` |\r\n| `@aerys/lang/vite-plugin` | Vite plugin for `.aer?raw` imports |\r\n| `@aerys/lang/loader` | `<script type=\"aerys\">` tag auto-loader |\r\n\r\n## License\r\n\r\nProprietary — see [LICENSE](./LICENSE). Free for personal and commercial\r\nuse, no attribution required. Source code is not distributed and may not\r\nbe redistributed, modified, or republished. The names \"Aerys\" and \"AerysX\"\r\nare trademarks of the copyright holder.\r\n","readmeFilename":"README.md"}