# @xapp/studio-deploy

> A package script that will pull versions of studio and release it to single tenant

Latest version **0.0.35** (published 2025-10-17) · ISC license · 0 weekly downloads

## Install

```sh
npm install @xapp/studio-deploy
pnpm add @xapp/studio-deploy
yarn add @xapp/studio-deploy
bun add @xapp/studio-deploy
```

Provides the command `studio-deploy`.

## Health

**Score 55/100 (C)** — status: stable.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.0.35 |
| Published | 2025-10-17 |
| First published | 2022-11-30 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 14 |
| Unpacked size | 148.7 KB |
| Known vulnerabilities | 0 (+4 in 3 direct dependencies) |
| Install scripts | no |
| Maintainers | michaelmyers, chrsdietz, xappbot, opendog, petehaas |

## Links

- npm: https://www.npmjs.com/package/@xapp/studio-deploy
- Repository: https://github.com/XappMedia/studio-deploy
- Homepage: https://github.com/XappMedia/studio-deploy#readme
- Issues: https://github.com/XappMedia/studio-deploy/issues
- npm.io page: https://npm.io/package/@xapp/studio-deploy

## Dependencies (14)

- [tmp](https://npm.io/package/tmp.md) 0.2.1
- [yargs](https://npm.io/package/yargs.md) 17.5.1
- [dotenv](https://npm.io/package/dotenv.md) 16.0.3
- [xml-js](https://npm.io/package/xml-js.md) 1.6.11
- [aws-sdk](https://npm.io/package/aws-sdk.md) 2.1157.0
- [request](https://npm.io/package/request.md) 2.88.2
- [@types/tmp](https://npm.io/package/@types/tmp.md) 0.2.3
- [mime-types](https://npm.io/package/mime-types.md) 2.1.35
- [@types/node](https://npm.io/package/@types/node.md) 18.0.0
- [tmp-promise](https://npm.io/package/tmp-promise.md) 3.0.3
- [@types/yargs](https://npm.io/package/@types/yargs.md) 17.0.10
- [node-stream-zip](https://npm.io/package/node-stream-zip.md) 1.15.0
- [@elastic/elasticsearch](https://npm.io/package/@elastic/elasticsearch.md) 7.6.1
- [request-promise-native](https://npm.io/package/request-promise-native.md) 1.0.9

## Recent versions

- 0.0.35 (latest) — 2025-10-17
- 0.0.32 — 2024-06-28
- 0.0.30 — 2023-08-21
- 0.0.28 — 2023-06-28
- 0.0.27 — 2023-03-24
- 0.0.25 — 2023-03-22
- 0.0.23 — 2023-03-09
- 0.0.21 — 2022-11-30
- 0.0.19 — 2022-11-30
- 0.0.18 — 2022-11-30

## README

## Studio Deploy

# Purpose

This script is designed for single-tenant users to integrate Studio Single Tenant in a Continuniuos Integration Platform.

It is writtein in Typescript and compiles to Javascript.  It can be run either with `ts-node` or `node`.

# Requirements

Node version 14+ needs to be installed on the computer. Then use either `npm` or `yarn` for packaging and script running.

# Setup AWS

1. Create an AWS account in which to deploy Studio to.
2. Create an IAM user with administrator priviledges that allows this script to assume. The policy attached to this user is also the policy that CloudFormation will use to deploy the client and API
3. Create a programmatic access and secret access key for the IAM user and save these credentials as a profile in the `~/.aws/credentials` file.
4. Create two S3 buckets.  One bucket will be used to deploy the client to and the other will be used to deploy the API code to.
    These buckets must be in the same region that the Studio is to be deployed to.
# Setup Script

1. Download or clone this repo.
2. Install app packages:
    ```
        yarn install
    ```

    or

    ```
        npm install
    ```
3a. Add the following environment variables to your system.
  - STUDIO_CF_DISTRO_DOMAIN - This is the domain that is part of the cloudfront distribution that will deliver the website.
  - STUDIO_CLIENT_S3_BUCKET - This is the name of the bucket that was created to store the client.
  - STUDIO_API_S3_BUCKET - This is the name of the bucket that was created to store the api client.
  - STUDIO_COGNITO_DOMAIN - This is the domain name unique to your organization that Cognito will use for signing in.
  - STUDIO_SIGNED_URL - This is the signed URL that allows access to the Studio code. This is provided by a XAPP.AI administrator.
3b. Alternatiely, these environment variables can be added to a `.env` file at the root of the project.  An example file is located in this package.
4. The AWS credentials set for the environemnt will be the ones used to deploy Studio to the account.
5. The Studio will be deployed to the region that the AWS environment is set to.

# Execute

All scripts can be executed using `ts-node`.  To execute a script, run `node_modules/.bin/ts-node ./src/index.ts <command>`

Run `node_modules/.bin/ts-node ./src/index.ts -h` for a full list of commands that are available as well as their descriptions

If `npm` or `yarn` is preferred, the following scripts are available:

1. `commands` - This is equivalent to `node_modules/.bin/ts-node ./src/index.ts -h` and will list the available commands.
2. `execute` - This is a shorthand for `node_modules/.bin/ts-node ./srcs/index.ts` and will allow commands to be executed.

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