{"id":19870592,"url":"https://github.com/yycoder/ts-jxa","last_synced_at":"2025-05-02T08:32:08.467Z","repository":{"id":57380838,"uuid":"232710752","full_name":"YYCoder/ts-jxa","owner":"YYCoder","description":"Write JXA using typescript 🚀!","archived":false,"fork":false,"pushed_at":"2020-01-10T10:43:59.000Z","size":11,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T00:15:01.319Z","etag":null,"topics":["applescript","browserify","jxa","osascript","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YYCoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-09T03:07:49.000Z","updated_at":"2024-02-17T15:01:15.000Z","dependencies_parsed_at":"2022-09-06T03:32:23.182Z","dependency_job_id":null,"html_url":"https://github.com/YYCoder/ts-jxa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YYCoder%2Fts-jxa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YYCoder%2Fts-jxa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YYCoder%2Fts-jxa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YYCoder%2Fts-jxa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YYCoder","download_url":"https://codeload.github.com/YYCoder/ts-jxa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252008893,"owners_count":21679659,"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","browserify","jxa","osascript","typescript"],"created_at":"2024-11-12T16:09:29.466Z","updated_at":"2025-05-02T08:32:08.233Z","avatar_url":"https://github.com/YYCoder.png","language":"TypeScript","readme":"\n# ts-jxa\n[English](./docs/en.md) | [中文](./docs/cn.md)\n\nWrite JXA using typescript 🚀! \n\nFreely use ES features which typescript supports and provide nice basic development experience.\n\n\u003e Thanks to [JXA-Cookbook](https://github.com/JXA-Cookbook/JXA-Cookbook/wiki/Importing-Scripts).\n\n\n### What is JXA?\nIt's OS X automation, using Javascript.\n\nSince OS X 10.10 (Yosemite), Javascript (called Javascript for Automation, or JXA) is also supported for app automation. This is great news, especially for Javascript developers who want to automate workflows on their Mac.\n\nBut by default, JXA only provides some primitive functionalities for development. For example, if you what to modularizing your code, the only way is [Using Script Library](https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/UseScriptLibraries.html#//apple_ref/doc/uid/TP40016239-CH36-SW1) which is apple officially recommended but it's cumbersome. And, you can't use any of your favorite node modules like lodash.\n\nSo, ts-jxa was born, aiming to make building JXA application more efficient and elegant.\n\n### What is ts-jxa?\nts-jxa is a development tool for building JXA program.\n\nIt let you use a lot of typescript features like arrow function/const \u0026\u0026 let/promise and most importantly, static type check.\n\nAnd it gives you a nice development experience by auto rebuild, elegant output, and compression for production.\n\n### Installation\n`yarn add ts-jxa` or `npm i ts-jxa`\n\nIf you want to install it globally, you can add global flag as follows:\n\n`yarn global add ts-jxa` or `npm i -g ts-jxa`\n\n### Other JXA resources\n* [The JXA Cookbook](https://github.com/JXA-Cookbook/JXA-Cookbook/wiki#table-of-contents)\n\n* [Mac Automation Scripting Guide](https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/index.html#//apple_ref/doc/uid/TP40016239-CH56-SW1)\n\n* [A Beginners Guide to JXA, JavaScript Application Scripting](https://computers.tutsplus.com/tutorials/a-beginners-guide-to-javascript-application-scripting-jxa--cms-27171)\n\n* [Javascript for Automation Documentation](https://developer.apple.com/library/archive/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/OSX10-11.html#//apple_ref/doc/uid/TP40014508-CH110-SW1)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyycoder%2Fts-jxa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyycoder%2Fts-jxa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyycoder%2Fts-jxa/lists"}