JXA
JXA copied to clipboard
JavaScript for Automation(JXA) packages for TypeScript/Node.js.
JXA 
JavaScript for Automation(JXA) packages.
Features
- Integration JXA with TypeScript
- Run JXA from Node.js
- See @jxa/run and @jxa/repl
- Support Auto complete for editor/IDE via TypeScript definition file(
.d.ts
)- See @jxa/types and @jxa/global-type
Packages
- @jxa/run
- @jxa/repl
- @jxa/types
- @jxa/global-type
- @jxa/sdef-to-dts
Example
If you want to improve your editor for JXA, use @jxa/global-type.
You can just import @jxa/global-type
and you can introduce typing and auto complete for JXA.
:memo: 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/.
Contributing
Issue and PR is always welcome!
For more details, see CONTRIBUTING guide.