JavaScript for Automation(JXA) packages for TypeScript/Node.js.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
example v1.3.0 Sep 6, 2018
packages/@jxa v1.3.0 Sep 6, 2018
.gitignore Update Jun 23, 2018
.travis.yml chore(travis): update build script Jun 24, 2018 v1.3.0 Sep 6, 2018 chore(docs): update docs Jun 23, 2018
LICENSE Create LICENSE (#2) Jun 23, 2018
lerna.json v1.3.0 Sep 6, 2018
package.json refactor: update types Jun 23, 2018
yarn.lock refactor(sdef-to-dts): use execa for executing `sdef` Sep 6, 2018

JXA Build Status

JavaScript for Automation(JXA) packages.

auto complete example




If you want to improve your editor for JSX, use @jxa/global-type. You can just import @jxa/global-type and you can introduce typing and auto complete for JSX.

📝 Your editor should support TypeScript. For more details, see TypeScript Editor Support

// Your .ts file require @jxa/global-type
import "@jxa/global-type";

// your JXA application
const userName = Application("System Events").currentUser().name();

If you want to run JXA from Node.js, use @jxa/run.

import "@jxa/global-type";
import { run } from "@jxa/run";
export const currentUserName = () => {
    // This callback function is run as JXA
    return run(() => {
        const sys = Application("System Events");
        return sys.currentUser().name();

// Main code is Node.js
export const example = async () => {
    const userName = await currentUserName();
    return `User: ${userName}`;

For more details, see example/.


Issue and PR is always welcome!

For more details, see CONTRIBUTING guide.