{"_id":"@dynamicaaa/unrpyc-js","name":"@dynamicaaa/unrpyc-js","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@dynamicaaa/unrpyc-js","version":"1.0.0","type":"module","description":"Node.js wrapper around unrpyc powered by PyRunner (bundled with RPX).","main":"index.js","exports":{".":"./index.js"},"keywords":["renpy","unrpyc","decompiler","python","wrapper"],"author":{"name":"Dynamicaaa"},"license":"MIT","dependencies":{"@dynamicaaa/pyrunner":"^1.0.0"},"_id":"@dynamicaaa/unrpyc-js@1.0.0","_nodeVersion":"22.19.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-u6UdXFGMhpZ1xtbgEd1dqv8YNmLrP7iDfChw4uwDZJEm60sXGcNEJl6DzaYeXDiVYmZJgY67nQWZlabaDYhUOQ==","shasum":"5066e052f73e5c8df0c6032e5c44807dc25d39bc","tarball":"https://registry.npmjs.org/@dynamicaaa/unrpyc-js/-/unrpyc-js-1.0.0.tgz","fileCount":3,"unpackedSize":13313,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF7+0+42TJ9mC+IgunCUlO30tVcg95Ucpbu4od8pWWVVAiBGhM8z/FAwkgxoGlATTyTrJy9fhd8IyrF/acn+CsRcBw=="}]},"_npmUser":{"name":"dynamicaaa","email":"CanaryZen@proton.me"},"directories":{},"maintainers":[{"name":"dynamicaaa","email":"CanaryZen@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unrpyc-js_1.0.0_1760739904095_0.6923229253757588"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-17T22:25:03.994Z","1.0.0":"2025-10-17T22:25:04.279Z","modified":"2025-10-17T22:25:04.570Z"},"maintainers":[{"name":"dynamicaaa","email":"CanaryZen@proton.me"}],"description":"Node.js wrapper around unrpyc powered by PyRunner (bundled with RPX).","keywords":["renpy","unrpyc","decompiler","python","wrapper"],"author":{"name":"Dynamicaaa"},"license":"MIT","readme":"﻿# UnrpycJS\n\nA modern JavaScript wrapper around the `unrpyc` Python tool, powered by [`@dynamicaaa/pyrunner`](https://www.npmjs.com/package/@dynamicaaa/pyrunner). It is published as part of the RPX toolkit but can also be used independently if you need `.rpyc` decompilation in your own workflows.\n\n## Installation\n\n```bash\nnpm install @dynamicaaa/unrpyc-js\n```\n\nThe module downloads a portable Python runtime on first use (cached under `~/.pyrunner`).\n\n## Usage\n\n```js\nimport UnrpycJS from '@dynamicaaa/unrpyc-js';\n\nconst unrpyc = new UnrpycJS({ debug: false });\nawait unrpyc.init();\n\n// Decompile a single file\nconst result = await unrpyc.decompileFile('game/script.rpyc', {\n  overwrite: true,\n  outputDir: 'build/decompiled'\n});\n\nconsole.log(result);\n```\n\n## API\n\n- `new UnrpycJS(options)` – initialise the wrapper. Options mirror the CLI flags exposed by RPX.\n- `init()` – prepare the Python runner and install `unrpyc` if missing.\n- `decompileFile(inputPath, options)` – decompile a single `.rpyc` or `.rpymc` file.\n- `decompileDirectory(inputDir, options)` – batch decompile directories.\n- `isValidRpycFile(filePath)` – test if a file looks like a valid Ren''Py compiled script.\n- `getVersion()` – return the underlying `unrpyc` version string.\n\nRefer to the inline JSDoc inside [`index.js`](index.js) for full option details.\n\n## License\n\nMIT © Dynamicaaa\n","readmeFilename":"README.md","_rev":"1-4c35c838b02c901b550dcee5a9f4881b"}