{"_id":"@crashcontinuum/crashcart-packager","_rev":"5-a575f752ac71ce7eacad2d5fd4416a29","name":"@crashcontinuum/crashcart-packager","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@crashcontinuum/crashcart-packager","version":"1.0.0","keywords":["crash-basic","crashbasic","crashcart","game","packager","game-distribution","electron-alternative","desktop-games","windows","macos","linux"],"author":{"url":"https://crashcontinuum.com","name":"Crash Continuum LLC"},"license":"UNLICENSED","_id":"@crashcontinuum/crashcart-packager@1.0.0","maintainers":[{"name":"bramedg","email":"daniel.brame@gmail.com"}],"homepage":"https://arcade.crashbasic.com","bin":{"crashcart-packager":"dist/index.js"},"dist":{"shasum":"f010d19dd57d9c619ec39d879fcd8afd5b268da0","tarball":"https://registry.npmjs.org/@crashcontinuum/crashcart-packager/-/crashcart-packager-1.0.0.tgz","fileCount":4,"integrity":"sha512-wZTSFkk1KRRTCfOz9dkJlHUidDSQsEiS0bqyo5b+WT1GyGhMON23BrIBKwpT5P6a0NiZlgWfl2c6EOPbSGcrcQ==","signatures":[{"sig":"MEUCIQCQToILGAgtjdsn98v7KotD0hfoRlyWTXJM0p9zfoGhGQIgW6NgU0V+3a8MHt8isw+qLn0g7Lwbw62rHqBodUKzohU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68118},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9d2bbbe574f194dd78744a2c253cb0b4ed00512b","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"bramedg","email":"daniel.brame@gmail.com"},"_npmVersion":"10.9.4","description":"Package Crash BASIC games for distribution on Windows, macOS, and Linux","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ora":"^8.0.1","chalk":"^5.3.0","commander":"^12.1.0","png-to-ico":"^2.1.8","tar-stream":"^3.1.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/tar-stream":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/crashcart-packager_1.0.0_1771719441056_0.7677484793848854","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@crashcontinuum/crashcart-packager","version":"1.0.1","keywords":["crash-basic","crashbasic","crashcart","game","packager","game-distribution","electron-alternative","desktop-games","windows","macos","linux"],"author":{"url":"https://crashcontinuum.com","name":"Crash Continuum LLC"},"license":"UNLICENSED","_id":"@crashcontinuum/crashcart-packager@1.0.1","maintainers":[{"name":"bramedg","email":"daniel.brame@gmail.com"}],"homepage":"https://arcade.crashbasic.com","bin":{"crashcart-packager":"dist/index.js"},"dist":{"shasum":"219bd9ca27efce1aa8ad3f50f28268c6c76510cb","tarball":"https://registry.npmjs.org/@crashcontinuum/crashcart-packager/-/crashcart-packager-1.0.1.tgz","fileCount":4,"integrity":"sha512-/6R/Y8JNnwJR7cCm0etdK+JrAtMKgzNILzuHCmBOwUt2V595n8/IbdqMxio9sn1dxedBYh6o7W4hszluGmUviA==","signatures":[{"sig":"MEQCIElyMLFEXPIJb+/O/i9ZLAHWN8JuJNDqxLybO1g/pknrAiBosWoInuIGsCXvRlITTLj8EY5si3OVGrVGKkWWnSPorA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69803},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9d2bbbe574f194dd78744a2c253cb0b4ed00512b","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"bramedg","email":"daniel.brame@gmail.com"},"_npmVersion":"10.9.4","description":"Package Crash BASIC games for distribution on Windows, macOS, and Linux","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ora":"^8.0.1","chalk":"^5.3.0","commander":"^12.1.0","png-to-ico":"^2.1.8","tar-stream":"^3.1.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/tar-stream":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/crashcart-packager_1.0.1_1771720795019_0.6213683508359344","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@crashcontinuum/crashcart-packager","version":"1.0.2","keywords":["crash-basic","crashbasic","crashcart","game","packager","game-distribution","electron-alternative","desktop-games","windows","macos","linux"],"author":{"url":"https://crashcontinuum.com","name":"Crash Continuum LLC"},"license":"UNLICENSED","_id":"@crashcontinuum/crashcart-packager@1.0.2","maintainers":[{"name":"bramedg","email":"daniel.brame@gmail.com"}],"homepage":"https://arcade.crashbasic.com","bin":{"crashcart-packager":"dist/index.js"},"dist":{"shasum":"fc687b2d0814520965d3796bff52dac5e3d2f6c8","tarball":"https://registry.npmjs.org/@crashcontinuum/crashcart-packager/-/crashcart-packager-1.0.2.tgz","fileCount":4,"integrity":"sha512-qPyAnsZ/5HSiTbgCJpqDWHxoBsKRJKQEooD9UXVd1/wZLLDb3ioOXZpJYI05mHp1cHCEv9bhYthViWLcOMoNTA==","signatures":[{"sig":"MEUCIQDl/NABOWl5d4MsilPNHSBLabxnj7gFeI46xp0KUIegzQIgI9tvyLcPDtn4PudwonWwl5jq8RdvWrOtoVdVAmhYW0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70369},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"7d947c50fb616aa23873e61d1b92f051970b4913","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"bramedg","email":"daniel.brame@gmail.com"},"_npmVersion":"10.9.4","description":"Package Crash BASIC games for distribution on Windows, macOS, and Linux","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ora":"^8.0.1","chalk":"^5.3.0","commander":"^12.1.0","png-to-ico":"^2.1.8","tar-stream":"^3.1.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/tar-stream":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/crashcart-packager_1.0.2_1773271885710_0.3621919323078069","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@crashcontinuum/crashcart-packager","version":"1.0.3","keywords":["crash-basic","crashbasic","crashcart","game","packager","game-distribution","electron-alternative","desktop-games","windows","macos","linux"],"author":{"url":"https://crashcontinuum.com","name":"Crash Continuum LLC"},"license":"UNLICENSED","_id":"@crashcontinuum/crashcart-packager@1.0.3","maintainers":[{"name":"bramedg","email":"daniel.brame@gmail.com"}],"homepage":"https://arcade.crashbasic.com","bin":{"crashcart-packager":"dist/index.js"},"dist":{"shasum":"b93b3905416efb1522bbffaa6d40b3ef57de32d7","tarball":"https://registry.npmjs.org/@crashcontinuum/crashcart-packager/-/crashcart-packager-1.0.3.tgz","fileCount":4,"integrity":"sha512-mCyTvmzFA2he/hpmIB4KMN4hToQeYvlGJdjQ+8LYPZP/BzYoprf2XYejYB+OCY9oSEaqXLexJSLtM249M2fKmg==","signatures":[{"sig":"MEQCIDjiL7boU/FvXc/IU64leeMRg7bA7XMmIZg4cuCQs6WYAiA2qJ29iCHF0SiEUZVlDFV5TfOYF4JNmzhmVOU4eKd3qA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71982},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"7d947c50fb616aa23873e61d1b92f051970b4913","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"bramedg","email":"daniel.brame@gmail.com"},"_npmVersion":"10.9.4","description":"Package Crash BASIC games for distribution on Windows, macOS, and Linux","directories":{},"_nodeVersion":"22.21.0","dependencies":{"ora":"^8.0.1","chalk":"^5.3.0","commander":"^12.1.0","png-to-ico":"^2.1.8","tar-stream":"^3.1.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/tar-stream":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/crashcart-packager_1.0.3_1773278579993_0.4711188804922295","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@crashcontinuum/crashcart-packager","version":"1.0.4","description":"Package Crash BASIC games for distribution on Windows, macOS, Linux, Android, and iOS","main":"dist/index.js","bin":{"crashcart-packager":"dist/index.js"},"type":"module","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["crash-basic","crashbasic","crashcart","game","packager","game-distribution","electron-alternative","desktop-games","windows","macos","linux","android","ios","mobile"],"author":{"name":"Crash Continuum LLC","url":"https://crashcontinuum.com"},"license":"UNLICENSED","homepage":"https://arcade.crashbasic.com","dependencies":{"chalk":"^5.3.0","commander":"^12.1.0","ora":"^8.0.1","png-to-ico":"^2.1.8","tar-stream":"^3.1.7"},"devDependencies":{"@types/node":"^20.0.0","@types/tar-stream":"^3.1.3","typescript":"^5.0.0"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"_id":"@crashcontinuum/crashcart-packager@1.0.4","gitHead":"167767b63b868ec3e001bd49c00ce711c24c34d0","types":"./dist/index.d.ts","_nodeVersion":"22.21.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-hBqLt9pCxV92ZNISkPZ9VPSGbd+Tvp087XNbXpX7fJEoOHa0BwX/K69b1aYEwopymd7+u6KAq3e1cykJKR5BTg==","shasum":"b5de30d47b5d326281e7a925845d2f7211e7736c","tarball":"https://registry.npmjs.org/@crashcontinuum/crashcart-packager/-/crashcart-packager-1.0.4.tgz","fileCount":4,"unpackedSize":81045,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA+CVpQAuDqrUYW0AGZkc+J3amIiDMUPChYeMoPLwYLrAiBBZTfh1m+l84zmEN82hgfg40Kgehe4jx6umWSwjprdHg=="}]},"_npmUser":{"name":"bramedg","email":"daniel.brame@gmail.com"},"directories":{},"maintainers":[{"name":"bramedg","email":"daniel.brame@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crashcart-packager_1.0.4_1775149219316_0.4619936366084627"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-22T00:17:20.993Z","modified":"2026-04-02T17:00:19.646Z","1.0.0":"2026-02-22T00:17:21.217Z","1.0.1":"2026-02-22T00:39:55.175Z","1.0.2":"2026-03-11T23:31:25.867Z","1.0.3":"2026-03-12T01:23:00.160Z","1.0.4":"2026-04-02T17:00:19.482Z"},"author":{"name":"Crash Continuum LLC","url":"https://crashcontinuum.com"},"license":"UNLICENSED","homepage":"https://arcade.crashbasic.com","keywords":["crash-basic","crashbasic","crashcart","game","packager","game-distribution","electron-alternative","desktop-games","windows","macos","linux","android","ios","mobile"],"description":"Package Crash BASIC games for distribution on Windows, macOS, Linux, Android, and iOS","maintainers":[{"name":"bramedg","email":"daniel.brame@gmail.com"}],"readme":"# crashcart-packager\n\nPackage Crash BASIC games for distribution on Windows, macOS, and Linux.\n\n## Usage\n\n```bash\nnpx crashcart-packager mygame.crashcart \"My Game\"\n```\n\nThis will:\n1. Stamp your CrashCart with your Crash BASIC Arcade license\n2. Download CrashPlayer for your platform\n3. Create a ready-to-distribute package\n\n## Options\n\n```\nUsage: crashcart-packager [options] <crashcart> <game-name>\n\nArguments:\n  crashcart              Path to the .crashcart file\n  game-name              Name of your game\n\nOptions:\n  -p, --platform <platform>  Target platform (windows, macos, linux)\n  -i, --icon <path>          Path to icon file (PNG for best results)\n  -o, --output <dir>         Output directory (default: \".\")\n  --skip-stamp               Skip the stamping step (if already stamped)\n  --all                      Build for all platforms\n\n  macOS Code Signing:\n  --apple-team-id <id>       Apple Developer Team ID\n  --signing-identity <id>    Code signing identity\n  --apple-id <email>         Apple ID for notarization\n  --apple-password <pass>    App-specific password for notarization\n\n  -h, --help                 Display help\n```\n\n## Examples\n\n### Package for current platform\n```bash\nnpx crashcart-packager mygame.crashcart \"My Awesome Game\"\n```\n\n### Package for all platforms\n```bash\nnpx crashcart-packager mygame.crashcart \"My Awesome Game\" --all\n```\n\n### Package with custom icon\n```bash\nnpx crashcart-packager mygame.crashcart \"My Awesome Game\" --icon icon.png\n```\n\n### Package for a specific platform\n```bash\nnpx crashcart-packager mygame.crashcart \"My Awesome Game\" --platform windows\n```\n\n## Output\n\nThe packager creates platform-specific bundles:\n\n- **Windows**: Folder containing CrashPlayer.exe, your game, and launcher scripts (.bat and .vbs)\n- **macOS**: A proper .app bundle that can be distributed directly\n- **Linux**: Folder containing CrashPlayer, your game, launcher script, and .desktop file\n\n## macOS Code Signing & Notarization\n\nFor your macOS app to run without security warnings, it must be signed and notarized. The packager will automatically sign and notarize if you provide Apple Developer credentials.\n\n### Setup\n\n1. **Join the Apple Developer Program** at https://developer.apple.com/programs/\n\n2. **Create a Developer ID Application certificate**\n   - Open Keychain Access on your Mac\n   - Go to developer.apple.com → Certificates\n   - Create a \"Developer ID Application\" certificate\n   - Download and install it in your keychain\n\n3. **Create an app-specific password**\n   - Go to appleid.apple.com → Sign-In and Security\n   - Click \"App-Specific Passwords\" → Generate\n\n4. **Find your credentials**\n   - **Team ID**: developer.apple.com → Membership → Team ID\n   - **Signing Identity**: Run `security find-identity -v -p codesigning`\n     Look for \"Developer ID Application: Your Name (TEAM_ID)\"\n\n### Using credentials\n\nVia command line options:\n```bash\nnpx crashcart-packager mygame.crashcart \"My Game\" \\\n  --apple-team-id \"YOUR_TEAM_ID\" \\\n  --signing-identity \"Developer ID Application: Your Name (TEAM_ID)\" \\\n  --apple-id \"your@email.com\" \\\n  --apple-password \"xxxx-xxxx-xxxx-xxxx\"\n```\n\nOr via environment variables:\n```bash\nexport APPLE_TEAM_ID=\"YOUR_TEAM_ID\"\nexport APPLE_SIGNING_IDENTITY=\"Developer ID Application: Your Name (TEAM_ID)\"\nexport APPLE_ID=\"your@email.com\"\nexport APPLE_PASSWORD=\"xxxx-xxxx-xxxx-xxxx\"\n\nnpx crashcart-packager mygame.crashcart \"My Game\"\n```\n\n## Requirements\n\n- Node.js 18 or later\n- A Crash BASIC Arcade account with an active subscription (Indie or Studio tier)\n- On Windows: PowerShell (for ZIP extraction)\n- On Unix: unzip command (for cross-platform Windows builds)\n- On macOS (for signing): Apple Developer Program membership, Developer ID certificate\n\n## License\n\n© 2026 Crash Continuum LLC. All rights reserved.\n","readmeFilename":"README.md"}