- What does kevinbatdorf/nativephp-launcher actually do?
- It is a small utility for NativePHP desktop apps that converts one source image into platform-ready launcher art: .icns for macOS, .ico for Windows, and PNG for Linux. It ships an Artisan command for regenerating those assets on demand, defaults that match the NativePHP build pipeline, and configurable output paths and sizes. The goal is repeatable, version-controlled branding without manual image conversion.
- How do I install nativephp-launcher in a Laravel app?
- Install it with Composer alongside your NativePHP project using composer require kevinbatdorf/nativephp-launcher. Because it only produces build-time artwork, many teams add it as a dev dependency, but check the package's composer.json before deciding. Then run the package's Artisan command to generate the icon set from your source image and consult the README for the exact signature and options, since the published excerpt is currently empty.
- Which Laravel and PHP versions are supported?
- v0.1.0 does not publish a compatibility matrix, so PHP and Laravel version support is effectively undefined by this release. Read the composer.json require constraints and run your own tests against the PHP and Laravel versions you actually deploy. Pin a known-good version in composer.lock and re-run your build after any upgrade.
- Does it work for macOS, Windows, and Linux builds?
- Yes, the package targets the three desktop platforms NativePHP builds for, emitting .icns for macOS, .ico for Windows, and PNG for Linux from the same master image. Output locations follow the conventions the NativePHP/Electron build expects, so generated files drop in without extra wiring. If you have customized your electron-builder or NativePHP config, confirm the generated file names still match.
- Should I commit the generated .icns and .ico files to Git?
- No. The package is built to keep binary art out of your repository by generating icons at build time, so commit only the single high-resolution source image. Add the generated output directory to .gitignore and let your CI or release step recreate it. That keeps diffs small and guarantees every build ships branding derived from the current source.
- Can I customize the output paths and icon sizes?
- Yes. Sensible defaults work out of the box, but output paths and generated sizes are configurable for custom setups. Point the outputs at the directory your NativePHP or Electron config expects whenever you have moved or renamed build assets. Start from a large square master image so it scales cleanly down to every required size.
- When should the Artisan command run in my build pipeline?
- Run it as part of your build or release step, before NativePHP packages the Electron app, so the icons exist when the bundler looks for them. Generation is idempotent and cheap, so running it on every build is safer than only on release. In CI, let the step fail loudly when the source image is missing so you never ship default Electron branding.
- Is v0.1.0 ready for production, and what are the risks?
- Treat v0.1.0 as pre-stability: there is no published deprecation policy, compatibility matrix, or upgrade guarantee, and the documentation describes no test suite or device coverage. For pure icon generation the blast radius is small, since the worst case is wrong-sized or misnamed artwork that you catch in review. Validate the output on all three platforms before release and pin the version you have verified.
- Is this a Laravel/PHP package or an Android launcher binding?
- The Composer name, overview, and blurb all describe a Laravel/PHP utility that generates NativePHP launcher icons. An independent technical evaluation of v0.1.0, however, describes a Launcher facade with methods such as apps(), open(), and isDefaultHome() plus a HomeRequested event, which are Android home-screen APIs that PHP cannot execute in-process. Until the maintainer clarifies, inspect the actual source and composer.json before planning any integration, and do not assume a service provider or config file exists.
- What alternatives exist for generating launcher icons?
- electron-builder can derive platform icons from a single 1024x1024 PNG, and tools such as electron-icon-builder, iconutil, png2icns, and ImageMagick scripts cover the same ground. Those routes mean extra scripts or manual steps in your build, which is the boilerplate this package aims to remove. A small custom Artisan command wrapping ImageMagick is a reasonable fallback if you need full control over naming and sizes.