create-jxa-app

Create MacOS Javascript for Automation (JXA) Apps with no build configuration.

Usage no npm install needed!

<script type="module">
  import createJxaApp from 'https://cdn.skypack.dev/create-jxa-app';
</script>

README

Create JXA App

Create JXA Apps and Command Line Scripts with no build configuration.

This Setup is only supported on MacOS > 10.11.

If something doesn’t work, please file an issue. If you have questions or need help, please ask in GitHub Discussions.

Quick Overview

npx creat-jxa-app my-app
cd my-app
npm start

The compiled MacOs App is created in the build folder and can be started.

Logo

Creating an App

You’ll need to have Node 10.16.0 or later version on your local development machine (but it’s not required on the server). We recommend using the latest LTS version. Only MacOS is supported.

To create a new app, you may choose one of the following methods:

npx

npx creat-jxa-app my-app

(npx is a package runner tool that comes with npm 5.2+ and higher, see instructions for older npm versions)

npm

npm init jxa-app my-app

npm init <initializer> is available in npm 6+

Yarn

yarn create jxa-app my-app

yarn create <starter-kit-package> is available in Yarn 0.25+

It will create a directory called my-app inside the current folder.
Inside that directory, it will generate the initial project structure and install the transitive dependencies:

my-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── build
└── src
    ├── index.js

No configuration or complicated folder structures, only the files you need to build your app.
Once the installation is done, you can open your project folder:

cd my-app

Inside the newly created project, you can run some built-in commands:

npm start or yarn start

Runs the compiler in watch mode. Finale application is in build folder. All libaries are bundled. There is a sourcemap inlined for debugging and the sourcecode is not mangled or compressed.

npm test or yarn test

Runs jest with your tests.

npm run build or yarn build

Builds the app for production to the build folder.
It correctly bundles all external libaries in production mode and optimizes the build for the best performance. No sourcemap files and code is mangled and compressed.

Your app is ready to be deployed.

All CLI options

Description
    Create a JXA App project setup

  Usage
    $ create-jxa-app [project_directory] [options]

  Options
    -template, --<path-to-template>    specify a template for the created project
    --verbose                          print additional logs
    --use-pnp                          use yarn plug-and-play manager
    --use-npm                          use npm to install packages
    -v, --version                      Displays current version
    -h, --help                         Displays this message

Built With