Create a Scriptable bundle from your project
npm install @jag-k/rollup-plugin-scriptable[npm]: https://img.shields.io/npm/v/@jag-k/rollup-plugin-scriptable
[npm-url]: https://www.npmjs.com/package/@jag-k/rollup-plugin-scriptable
[main-version]: https://img.shields.io/github/package-json/v/jag-k/rollup-plugin-scriptable?label=main%20version
[size]: https://packagephobia.com/badge?p=@jag-k/rollup-plugin-scriptable
[size-url]: https://packagephobia.com/result?p=@jag-k/rollup-plugin-scriptable
[license]: https://img.shields.io/github/license/jag-k/rollup-plugin-scriptable
[![NPM][npm]][npm-url]
[![Main version][main-version]](package.json)
[![License][license]](LICENSE)
[![Install size][size]][size-url]
Create a Scriptable bundle from your project
``shell`
npm i -D @jag-k/rollup-plugin-scriptable
`js
// rollup.config.js
import scriptableBundle from "@jag-k/rollup-plugin-scriptable";
import * as config from "./config.json";
export default {
input: 'src/index.js',
output: [
{
file: dist/widget.js,`
format: 'es',
plugins: [scriptableBundle(config)]
}
]
};
`json5`
// config.json
{
"always_run_in_app": false,
"icon": {
"color": "blue",
"glyph": "users"
},
"name": "Widget",
"share_sheet_inputs": []
}
After build, you will get 2 files:
``
dist
├── HASS Persons.js
└── HASS Persons.scriptable
In .js file added banner for Scriptable app.
.scriptable file contains bundle for Scriptable app.config.json
This is file with script key which value is compiled code.
You can use rollup-plugin-copy to copy files to iCloud for easy
development and debugging Scriptable scripts.
`js
// rollup.config.js
import { homedir } from 'os';
import scriptableBundle from '@jag-k/rollup-plugin-scriptable';
import copy from 'rollup-plugin-copy';
import * as config from './config.json';
export default {
input: 'src/main.js',
output: [
{
file: dist/${config.name}.js,dist/*.js
format: 'es',
plugins: [scriptableBundle(config)]
},
],
plugins: process.env.COPY_TO_ICLOUD === 'true' ? [
copy({
hook: 'writeBundle',
targets: [
{
src: ,${homedir()}/Library/Mobile Documents/iCloud~dk~simonbs~Scriptable/Documents/
dest: ``
},
]
})
] : []
};