Overview of node-auto-launch

Introduction to node-auto-launch

node-auto-launch is a package that provides functionality to automatically start Node.js applications upon a user's login. It's particularly useful for desktop applications built with NW.js or Electron that need to start running without user intervention when the system boots up.

Installation

To include node-auto-launch in a project, install it via npm:

npm install --save auto-launch

Basic Usage

The basic usage involves creating an instance of AutoLaunch with the application's name and path, and then calling the enable() method to set up auto-launch:

var AutoLaunch = require('auto-launch');
var minecraftAutoLauncher = new AutoLaunch({
  name: 'Minecraft',
  path: '/Applications/Minecraft.app',
});

minecraftAutoLauncher.enable();

API Highlights

Creation:

  • new AutoLaunch(options): Instantiate with application details.

Options include:

  • options.name: The app's name.
  • options.path: Absolute path to the app.
  • options.isHidden: Launch app without showing window (default false).

Methods:

  • .enable(): Enable auto-launch at startup.
  • .disable(): Disable auto-launch.
  • .isEnabled(): Check if auto-launch is enabled.

Platform-Specific Startup Mechanisms

node-auto-launch works across different operating systems, utilizing various mechanisms:

  • Linux/FreeBSD: Uses Desktop Entry specification to add a .desktop file into ~/.config/autostart/.

  • Mac: By default, uses AppleScript to add an app to Login Items. There's also an option to use a Launch Agent, a .plist file within Library/LaunchAgents, for a more daemon-like behavior.

  • Windows: Modifies registry keys in \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run. Also, it supports Squirrel.Windows for Electron apps.

Considerations for Mac Users

For Mac users, there are additional considerations:

  • Using Launch Agent doesn't add the app to the Login Items list in System Preferences, so auto-launch setting must be managed within the app.
  • Launch Agents are more suitable for apps without a UI or daemons.
  • If an app is removed, a Launch Agent file could be left behind on the user's machine.

Considerations for Windows Store Apps

For Electron apps in the Windows Store, the auto-launch functionality requires a different approach because of sandboxing. The AutoLaunch config would look something like this:

new AutoLaunch({
  name: 'YourApp',
  // Other details omitted for brevity
});

Refer to a specific article for a detailed method for creating such an enabled app.

Contributing to node-auto-launch

Developers are invited to contribute to the node-auto-launch project. They should refer to the CONTRIBUTING.md file for guidelines.


By integrating node-auto-launch into applications, developers can ensure a seamless experience for users who prefer applications to start automatically at login, while also providing the flexibility to enable or disable this feature as needed.

Tags: #NodeAutoLaunch #AutoLaunchPackage #NodejsAutoStart #ElectronAppAutomation

https://www.npmjs.com/package/auto-launch