Azure / Azure/static-web-apps-cli

not able to use swa cli as node dependencies in typescript project

Open
#691 1 comment 0 reactions 0 assignees View on GitHub
command: deploy priority: low (P2) scope: deploy-client type: enhancement version: ga
Dominant language
TypeScript
Stars
668
Forks
156
PR merge metrics
No merged PRs in 30d

Description

Before filing this issue, please ensure you're using the latest CLI by running `swa --version` and comparing to the latest version on [npm](https://www.npmjs.com/package/@azure/static-web-apps-cli).

`1.1.1`

**Are you accessing the CLI from the default port `:4280` ?**

- [ ] No, I am using a different port number (`--port`) and accessing the CLI from that port
- [x] Yes, I am accessing the CLI from port `:4280`

> Make sure you are accessing the URL printed in the console when running `swa start`!

**ℹ️ NOTE: Make sure to enable debug logs when running any `swa` commands using `--verbose=silly`**

**Describe the bug**
I'm trying to use swa cli programmable in typescript project, but `@azure/static-web-apps-cli` package itself does not export/expose all types.

![image](https://user-images.githubusercontent.com/3431813/234918441-ed343b68-795b-4de4-9fa5-1752ec849554.png)

**To Reproduce**
Steps to reproduce the behavior:

1. Add `@azure/static-web-apps-cli` as project dependencies
2. Import config/deploy from the package, e.g.:

```typescript
import { DEFAULT_CONFIG as swaConfig } from '@azure/static-web-apps-cli/dist/config.js'
import { deploy as swaDeploy } from '@azure/static-web-apps-cli/dist/cli/commands/deploy/index.js'
```

3. Assign some properties to config, and run deploy e.g.:

```typescript
swaConfig.appLocation = 'myapp'
swaConfig.deploymentToken = 'xxxxxx...'
swaConfig.verbose = 'silly'
await swaDeploy(swaConfig)
```

4. Build the project `tsc`
5. See error:

```shell
> tsc

node_modules/@azure/static-web-apps-cli/dist/cli/commands/deploy/deploy.d.ts:1:41 - error TS2304: Cannot find name 'SWACLIConfig'.

1 export declare function deploy(options: SWACLIConfig): Promise;
~~~~~~~~~~~~

node_modules/@azure/static-web-apps-cli/dist/config.d.ts:1:38 - error TS2304: Cannot find name 'SWACLIConfig'.

1 export declare const DEFAULT_CONFIG: SWACLIConfig;
~~~~~~~~~~~~

Found 2 errors in 2 files.

Errors Files
1 node_modules/@azure/static-web-apps-cli/dist/cli/commands/deploy/deploy.d.ts:1
1 node_modules/@azure/static-web-apps-cli/dist/config.d.ts:1
```

**Expected behavior**
swa cli used in a typescript project as a dependencies package

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**

- OS: Windows
- Version: 11

**Additional context**
After exploring content of `node_modules/@azure/static-web-apps-cli/dist`, I saw not all types have been exported in distribution, lack of types defined here: https://github.com/Azure/static-web-apps-cli/blob/main/src/swa.d.ts

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.