Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lorenzejay/node-jxa-automate-workspace
Node.js + JXA commands for MacOS automations
https://github.com/lorenzejay/node-jxa-automate-workspace
automation macos
Last synced: about 2 months ago
JSON representation
Node.js + JXA commands for MacOS automations
- Host: GitHub
- URL: https://github.com/lorenzejay/node-jxa-automate-workspace
- Owner: lorenzejay
- License: other
- Created: 2023-08-31T16:06:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-23T17:27:13.000Z (about 1 year ago)
- Last Synced: 2024-04-24T15:43:09.481Z (9 months ago)
- Topics: automation, macos
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/node-jxa-workspace-automation
- Size: 81.1 KB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license
Awesome Lists containing this project
README
## Workspace Automation Scripts
Automating workspaces with node.js + applescript (jxa)
## Tech
1. JXA
2. Node.js## Use these apps to help you trigger your script
1. LaunchControl
2. Mac Script Editor
3. Shortcuts# Step 1. Open your code editor at a new project. We will create a node.js script
```sh
npm i -y
```In your package.json file include `"type": "module"` to use import syntax
```sh
touch index.js
``````sh
npm i node-jxa-workspace-automation
```## Now in index.js copy and paste this example
```js
import { openChromiumBrowser } from 'node-jxa-workspace-automation'openChromiumBrowser({
tabs: ['https://hubspot.com', 'https://semrush.com'],
browser: 'Google Chrome',
})
```## Run your automation
### You might see permissions to run, select allow then run it again. Running it twice should only occur one time.
```sh
node index.js
```### If you want to run terminal processes with Iterm
```ts
import { openItermContext } from 'node-jxa-workspace-automation'const contexts: ItermWindowSplit = {
useSplitPanes: true,
workspaces: [
{
filePath: '',
command: 'npm run start:dev',
usesDocker: true,
opensVSCode: true, // works if you have VS Code `code .` enabled
},
{
filePath: '',
command: 'npm run start',
},
],
}//RUN
const spawnWorkspace = async () => {
return await openItermContext(contexts)
}
spawnWorkspace()
```Features
1. Open / Close Apps
2. Opens apps associated to workspace
3. Open project in code editor
4. Populate common workspace browser tabs to browser
5. Quit all apps except for passed list of apps## How you can make calling this easy
1. Make it a shortcut
2. Search then Select `Run Shell Script````sh
/Users//.nvm/versions/node/v18.16.0/bin/node
```Notes:
Depending if you've installed node directly or with nvm you need to point to it.[applescript docs](https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_codes.html#//apple_ref/doc/uid/TP40000983-CH220-SW5)
## License
This project is available under the [Fair Source License](https://fair.io/?a#license) and can be used for free for individual use.
### For Individual Users
- Individual users are permitted to use the software for free.
- Review the [LICENSE](./license) file for detailed information on the permissions and limitations.### For Commercial Use
- Businesses and other commercial entities are required to purchase a commercial license for use.
- The use of this software without a commercial license in a commercial setting is not permitted under the Fair Source License.**Please review the [LICENSE](./license) file in this repository for full details on permissions and restrictions.**