# multi-clasp2

> Google Clasp wrapper to push changes to multiple Apps Script projects at once.

Latest version **5.1.0** (published 2026-08-27) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install multi-clasp2
pnpm add multi-clasp2
yarn add multi-clasp2
bun add multi-clasp2
```

Provides the command `multi-clasp`.

## Health

**Score 60/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 5.1.0 |
| Published | 2026-08-27 |
| First published | 2021-11-04 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=22.12.0 |
| Dependencies | 4 |
| Unpacked size | 35.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 13 |
| Author | Fabrizio Antonangeli |
| Maintainers | fabrizio.antonangeli |
| Keywords | clasp, apps, script, multiple, projects |

## Links

- npm: https://www.npmjs.com/package/multi-clasp2
- Repository: https://github.com/fantonangeli/multi-clasp2
- Issues: https://github.com/fantonangeli/multi-clasp2/issues
- npm.io page: https://npm.io/package/multi-clasp2

## Dependencies (4)

- [commander](https://npm.io/package/commander.md) ^15.0.0
- [typescript](https://npm.io/package/typescript.md) npm:@typescript/typescript6@^6.0.3
- [@google/clasp](https://npm.io/package/@google/clasp.md) 3.4.0
- [@typescript/native](https://npm.io/package/@typescript/native.md) npm:typescript@^7.0.2

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 5.1.0 (latest) — 2026-08-27
- 5.0.0 — 2026-08-07
- 4.1.2 — 2026-07-06
- 4.1.1 — 2026-04-30
- 4.1.0 — 2026-03-14
- 4.0.1 — 2026-02-23
- 4.0.0 — 2026-01-14
- 3.1.0 — 2025-12-16
- 3.0.24 — 2025-09-02
- 3.0.23 — 2025-08-12
- 3.0.22 — 2025-05-04
- 3.0.21 — 2025-02-08
- 3.0.20 — 2024-11-07
- 3.0.19 — 2024-05-31
- 3.0.18 — 2024-04-24
- … 21 more at https://npm.io/package/multi-clasp2/versions

## README

multi-clasp2
===========

This library is inspired by [multi-clasp](https://github.com/steplica/multi-clasp).

`multi-clasp2` is meant to solve a specific problem:
You have multiple google artifacts (sheets, docs, etc.) that all use the same Apps Script project.

You want them to share the same code, but making this Apps Script project into a library significantly slows its performance.

The solution is to maintain a reference to each artifact's Apps Script project, and simultaneously push changes to these projects so they can receive updates while maintaining their non-library performance.

## Install

Install `clasp`:

```sh
npm install -g @google/clasp
```

Install `multi-clasp2`:

```sh
npm install -g multi-clasp2
```

### Example File

Create a .multi-clasp.json file, which is just an array of JSON objects identical to the standard .clasp.json format.

You do not need a .clasp.json file anymore.

```
[
	{
		"scriptId": "1VBe_bo7OtOw1EQ_f86HBKSDEDdcGX3mYfCNIcp5L2tR1P-VAU8Sl7KX1",
		"rootDir": "build"
	},
	{
		"scriptId": "1VBe_bo7OtOw1EQ_f86HBKSDEDdcGX3mYfCNIcp5L2tR1P-VAU8Sl7KX2",
		"rootDir": "build"
	},
	{
		"scriptId": "1VBe_bo7OtOw1EQ_f86HBKSDEDdcGX3mYfCNIcp5L2tR1P-VAU8Sl7KX3",
		"rootDir": "build"
	}
]
```

## Commands

The following clasp commands are supported. For the documentation refer to the official [documentation](https://github.com/google/clasp)

- [`multi-clasp push [--force --retry <n>]`](https://github.com/google/clasp#push) <br>
    in addition to the clasp arguments there is the --retry option: If the push of an App Script fail with it will retry times. Default is 1.

- [`multi-clasp show-file-status [--json]`](https://github.com/google/clasp#status)
- [`multi-clasp open-script`](https://github.com/google/clasp#open)
- [`multi-clasp open-web-app`](https://github.com/google/clasp#open)
- [`multi-clasp open-container`](https://github.com/google/clasp#open)
- [`multi-clasp list-deployments`](https://github.com/google/clasp#deployments)
- [`multi-clasp deploy [--versionNumber <version>] [--description <description>]`](https://github.com/google/clasp#deploy)
- [`multi-clasp undeploy [--all]`](https://github.com/google/clasp#undeploy)
- [`multi-clasp version [description]`](https://github.com/google/clasp#version)
- [`multi-clasp versions`](https://github.com/google/clasp#versions)
- [`multi-clasp run [functionName] [--nondev] [--params <StringArray>]`](https://github.com/google/clasp#run)

---
_Source: https://npm.io/package/multi-clasp2 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
