2.5 KiB
Application distribution
To distribute your app with atom-shell, you should name the folder of your app
as app
, and put it under atom-shell's resources directory (on OS X it is
Atom.app/Contents/Resources/
, and on Linux and Windows it is resources/
),
like this:
On Mac OS X:
atom-shell/Atom.app/Contents/Resources/app/
├── package.json
├── main.js
└── index.html
On Windows and Linux:
atom-shell/resources/app
├── package.json
├── main.js
└── index.html
Then execute Atom.app
(or atom
on Linux, and atom.exe
on Windows), and
atom-shell will start as your app. The atom-shell
directory would then be
your distribution that should be delivered to final users.
Renaming Atom Shell for your app
The best way to rename Atom Shell is to change the atom.gyp
file, then build
from source. Open up atom.gyp
and change the first lines:
'project_name': 'atom',
'product_name': 'Atom',
'framework_name': 'Atom Framework',
Once you make the change, re-run script/bootstrap
then run the command:
script/build.py -c Release -t $whatever_you_chose_for_project_name
If your app is OS X / Linux-only, you can also simply rename the "Atom.app" folder as well as the names under "Framework" (i.e. "Atom Framework.framework" => "MyApp Framework.framework"), but this will break loading native Node modules on Windows.
Fixing this is complicated, but a Grunt task has been created that will handle this automatically, grunt-build-atom-shell. This task will automatically handle editing the .gyp file, building from source, then rebuilding your app's native Node modules to match the new executable name.
Packaging your app into a file
Apart from shipping your app by copying all its sources files, you can also package your app into an asar archive to avoid exposing your app's source code to users.
To use an asar
archive to replace the app
folder, you need to rename the
archive to app.asar
, and put it under atom-shell's resources directory,
atom-shell will then try read the archive and start from it.
More details can be found in Application packaging.
Building with grunt
If you build your application with grunt
there is a grunt task that can
download atom-shell for your current platform automatically:
grunt-download-atom-shell.