Azure Static Web Apps CLI

NPM version Node version CI status Contributions welcome

logo

The Static Web Apps CLI, also known as SWA CLI, serves as a local development tool for [Azure Static Web Apps](https://docs.microsoft.com/azure/static-web-apps). It can: - Serve static app assets, or proxy to your app dev server - Serve API requests, or proxy to APIs running in Azure Functions Core Tools - Emulate authentication and authorization - Emulate Static Web Apps configuration, including routing and ACL roles - Deploy your app to Azure Static Web Apps ## Important Notes If you have suggestions or you encounter issues, please report them or help us fix them. Your contributions are very much appreciated. 🙏 The CLI emulates commonly used capabilities of the Azure Static Web Apps cloud service. **Some differences are expected. Always deploy and test your apps in Azure to confirm behavior.** ## Quickstart ### Installing the CLI with `npm`, `yarn` or `pnpm`: - To install the CLI in your project, use: ```bash npm install -D @azure/static-web-apps-cli ``` > You can also install the SWA CLI globally using `npm install -g @azure/static-web-apps-cli`. ### Basic usage - Open a SWA app folder at the root (outside any /api or /app folders): ```bash cd my-awesome-swa-app ``` - The best way to get started is to run the `swa` command alone and follow the interactive prompts: ```bash swa ``` It will generate a configuration for you, then build your project and ask if you want to deploy it to Azure. See [swa](https://azure.github.io/static-web-apps-cli/) for more details. ### Extended usage Here are the currently supported `swa` commands. Use `swa --help` to learn about options and usage for that particular command. - [`login`](https://azure.github.io/static-web-apps-cli/docs/cli/swa-login): login into Azure - [`init`](https://azure.github.io/static-web-apps-cli/docs/cli/swa-init): initialize a new static web app project - [`start`](https://azure.github.io/static-web-apps-cli/docs/cli/swa-start): start the emulator from a directory or bind to a dev server - [`deploy`](https://azure.github.io/static-web-apps-cli/docs/cli/swa-deploy): deploy the current project to Azure Static Web Apps - [`build`](https://azure.github.io/static-web-apps-cli/docs/cli/swa-build): build your project ### Using `npx`: - Open a SWA app folder at the root (outside any /api or /app folders): ```bash cd my-awesome-swa-app ``` - Create a configuration for your project: ```bash npx @azure/static-web-apps-cli init ``` - Start the emulator: ```bash npx @azure/static-web-apps-cli start ``` - Access your SWA app from `http://localhost:4280` See all available [commands and options](https://azure.github.io/static-web-apps-cli/). ## Want to help? Want to file a bug, contribute some code, or improve the documentation? Excellent! Read up on our guidelines for [contributing](https://github.com/azure/static-web-apps-cli/blob/master/CONTRIBUTING.md) and then check out one of our issues in the list: [community-help](https://github.com/azure/static-web-apps-cli/issues).