{"id":13588838,"url":"https://github.com/JXA-userland/JXA","last_synced_at":"2025-04-08T06:32:54.272Z","repository":{"id":37580307,"uuid":"129517273","full_name":"JXA-userland/JXA","owner":"JXA-userland","description":"JavaScript for Automation(JXA) packages for TypeScript/Node.js.","archived":false,"fork":false,"pushed_at":"2024-11-18T22:43:02.000Z","size":4292,"stargazers_count":445,"open_issues_count":14,"forks_count":23,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-06T14:17:19.708Z","etag":null,"topics":["applescript","autocomplete","javascript","jxa","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JXA-userland.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-14T13:01:37.000Z","updated_at":"2025-04-03T03:04:34.000Z","dependencies_parsed_at":"2024-02-28T04:29:06.957Z","dependency_job_id":"84bb054e-ce44-4d1b-8073-f2777affaa8e","html_url":"https://github.com/JXA-userland/JXA","commit_stats":{"total_commits":101,"total_committers":10,"mean_commits":10.1,"dds":"0.36633663366336633","last_synced_commit":"68d1e6220aef0b2557d3a60a70ab21be7880cecd"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JXA-userland%2FJXA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JXA-userland%2FJXA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JXA-userland%2FJXA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JXA-userland%2FJXA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JXA-userland","download_url":"https://codeload.github.com/JXA-userland/JXA/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247792218,"owners_count":20996879,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["applescript","autocomplete","javascript","jxa","typescript"],"created_at":"2024-08-01T15:06:58.235Z","updated_at":"2025-04-08T06:32:49.261Z","avatar_url":"https://github.com/JXA-userland.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Node.js helpers"],"sub_categories":[],"readme":"# JXA [![Actions Status: test](https://github.com/JXA-userland/JXA/workflows/test/badge.svg)](https://github.com/JXA-userland/JXA/actions?query=workflow%3A\"test\")\n\nJavaScript for Automation(JXA) packages. \n\n[![auto complete example](./packages/@jxa/global-type/docs/example.gif)](./packages/@jxa/global-type)\n\n## Features\n\n- Integration JXA with [TypeScript](https://www.typescriptlang.org/index.html)\n- Run JXA from [Node.js](https://nodejs.org/)\n    - See [@jxa/run](./packages/@jxa/run) and [@jxa/repl](./packages/@jxa/repl)\n- Support Auto complete for editor/IDE via [TypeScript](https://www.typescriptlang.org/index.html) definition file(`.d.ts`)\n    - See [@jxa/types](./packages/@jxa/types) and [@jxa/global-type](./packages/@jxa/global-type)\n\n## Packages\n\n- [@jxa/run](./packages/@jxa/run)\n- [@jxa/repl](./packages/@jxa/repl)\n- [@jxa/types](./packages/@jxa/types)\n- [@jxa/global-type](./packages/@jxa/global-type)\n- [@jxa/sdef-to-dts](./packages/@jxa/sdef-to-dts)\n\n## Example\n\nIf you want to improve your editor for JXA, use [@jxa/global-type](./packages/@jxa/global-type).\nYou can just import `@jxa/global-type` and you can introduce typing and auto complete for JXA.\n\n:memo: Your editor should support TypeScript. For more details, see [TypeScript Editor Support](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Editor-Support)\n\n\n```ts\n// Your .ts file require @jxa/global-type\nimport \"@jxa/global-type\";\n\n// your JXA application\nconst userName = Application(\"System Events\").currentUser().name();\n```\n\nIf you want to run JXA from Node.js, use [@jxa/run](./packages/@jxa/run).\n\n```ts\nimport \"@jxa/global-type\";\nimport { run } from \"@jxa/run\";\nexport const currentUserName = () =\u003e {\n    // This callback function is run as JXA\n    return run(() =\u003e {\n        const sys = Application(\"System Events\");\n        return sys.currentUser().name();\n    });\n};\n\n// Main code is Node.js\nexport const example = async () =\u003e {\n    const userName = await currentUserName();\n    return `User: ${userName}`;\n};\n```\n\nFor more details, see [example/](./example/).\n\n## Contributing\n\nIssue and PR is always welcome!\n\nFor more details, see [CONTRIBUTING guide](./CONTRIBUTING.md).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJXA-userland%2FJXA","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJXA-userland%2FJXA","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJXA-userland%2FJXA/lists"}