Registry / devops / esbuild-plugin-scriptable

esbuild-plugin-scriptable

JSON →
library0.7.4jsnpmunverified

An ESBuild plugin for developing Scriptable iOS app scripts with TypeScript, manifest support, and auto-deployment. Current version 0.7.4, released on 2024-12-03. It adds Scriptable metadata banners, handles deployment to iCloud Drive, and supports manifest-based configuration. Unlike manual workflows, it automates banner injection and file deployment, integrates with esbuild's build pipeline, and provides TypeScript type definitions. It requires esbuild ^0.24.0 and Node >=14.

npm install esbuild-plugin-scriptable
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-SCR
E
esbuild-plugin-scriptable
devopsjavascriptv0.7.4
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

scriptableBanner
import { scriptableBanner } from 'esbuild-plugin-scriptable';
const scriptableBanner = require('esbuild-plugin-scriptable');
The package is ESM and ships TypeScript types. CommonJS require may not work in all environments.
scriptableDeploy
import { scriptableDeploy } from 'esbuild-plugin-scriptable';
const scriptableDeploy = require('esbuild-plugin-scriptable').scriptableDeploy;
Named export; avoid destructuring from require.
default import
import * as scriptable from 'esbuild-plugin-scriptable';
import scriptable from 'esbuild-plugin-scriptable';
No default export; use namespace import.

Builds a TypeScript widget with esbuild, adds Scriptable banner, and deploys to iCloud Drive.

import { build } from 'esbuild'; import { scriptableBanner, scriptableDeploy } from 'esbuild-plugin-scriptable'; await build({ entryPoints: ['src/widget.ts'], outfile: 'dist/widget.js', bundle: true, plugins: [ scriptableBanner({ patterns: '**/*.widget.ts', warnOnMissingManifest: true, }), scriptableDeploy({ logLevel: 'verbose', patterns: '**/*.widget.ts', }), ], });
Debug
Known issues
gotchaManifest file must be named with .manifest.json extension or match custom manifestExtensions, otherwise banner may not be added.
fix
Ensure manifest file exists with correct extension or set manifestExtensions option.
affects: >=0.0.0
brokenNode.js version 14 is required; older versions cause syntax errors.
fix
Upgrade Node.js to 14 or later.
affects: >=0.0.0
gotchaDeployment to iCloud Drive may fail if Scriptable app is not installed or iCloud Drive sync is disabled.
fix
Install Scriptable iOS app and enable iCloud Drive sync.
affects: >=0.0.0
gotchaPatterns property supports glob negation with ! prefix, but must be in an array to use multiple patterns correctly.
fix
Use array syntax: patterns: ['**/*.ts', '!**/*.test.ts']
affects: >=0.0.0
breakingVersion 0.5.0 changed the default patterns from '**/*.ts' to '**/*.{ts,tsx,js,jsx}'. This may cause unexpected files to be processed.
fix
Explicitly set patterns to match your source files.
affects: >=0.5.0 <0.6.0
Errors
Common errors & fixes
Error: The plugin 'esbuild-plugin-scriptable' is not compatible with this version of esbuild.
Incompatible esbuild version; requires esbuild ^0.24.0.
fix
Install esbuild 0.24 or later: npm install esbuild@^0.24.0 --save-dev
Cannot find module 'esbuild-plugin-scriptable'
Package not installed or not in node_modules.
fix
Run npm install esbuild-plugin-scriptable --save-dev
TypeError: scriptableBanner is not a function
Incorrect import; likely using default import.
fix
Use named import: import { scriptableBanner } from 'esbuild-plugin-scriptable';
Upgrade
Version history
0.7.4latest on npm
Audit
Dependencies
esbuildrequiredpeer dependency; plugin runs as esbuild plugin
Agent activity
2 hits · last 30 days
node
2
Resources
esbuild-plugin-scriptable — npm install esbuild-plugin-scriptable · libregistry