Automating workspaces with node.js + applescript (jxa)
- JXA
- Node.js
- LaunchControl
- Mac Script Editor
- Shortcuts
npm i -y
In your package.json file include "type": "module"
to use import syntax
touch index.js
npm i node-jxa-workspace-automation
import { openChromiumBrowser } from 'node-jxa-workspace-automation'
openChromiumBrowser({
tabs: ['https://hubspot.com', 'https://semrush.com'],
browser: 'Google Chrome',
})
You might see permissions to run, select allow then run it again. Running it twice should only occur one time.
node index.js
import { openItermContext } from 'node-jxa-workspace-automation'
const contexts: ItermWindowSplit = {
useSplitPanes: true,
workspaces: [
{
filePath: '<your filepath>',
command: 'npm run start:dev',
usesDocker: true,
opensVSCode: true, // works if you have VS Code `code .` enabled
},
{
filePath: '<your filepath>',
command: 'npm run start',
},
],
}
//RUN
const spawnWorkspace = async () => {
return await openItermContext(contexts)
}
spawnWorkspace()
Features
- Open / Close Apps
- Opens apps associated to workspace
- Open project in code editor
- Populate common workspace browser tabs to browser
- Quit all apps except for passed list of apps
- Make it a shortcut
- Search then Select
Run Shell Script
/Users/<User>/.nvm/versions/node/v18.16.0/bin/node <paste filepath to this script>
Notes: Depending if you've installed node directly or with nvm you need to point to it.
This project is available under the Fair Source License and can be used for free for individual use.
- Individual users are permitted to use the software for free.
- Review the LICENSE file for detailed information on the permissions and limitations.
- 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 file in this repository for full details on permissions and restrictions.