├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── SECURITY.md └── sources └── images ├── any-language-framework.gif ├── appservicestatic.jpg ├── debugging.gif ├── global-dynamic.jpg └── static-web-apps-examples.png /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | 12 | 13 | 14 | A clear and concise description of what the bug is. 15 | 16 | **To Reproduce** 17 | Steps to reproduce the behavior: 18 | 1. Go to '...' 19 | 2. Click on '....' 20 | 3. Scroll down to '....' 21 | 4. See error 22 | 23 | 29 | 30 | **Expected behavior** 31 | A clear and concise description of what you expected to happen. 32 | 33 | **Screenshots** 34 | If applicable, add screenshots to help explain your problem. 35 | 36 | **Device info (if applicable):** 37 | - OS: [e.g. iOS] 38 | - Browser [e.g. chrome, safari] 39 | - Version [e.g. 22] 40 | 41 | **Additional context** 42 | Add any other context about the problem here. 43 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | 12 | **Is your feature request related to a problem? Please describe.** 13 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 14 | 15 | **Describe the solution you'd like** 16 | A clear and concise description of what you want to happen. 17 | 18 | **Describe alternatives you've considered** 19 | A clear and concise description of any alternative solutions or features you've considered. 20 | 21 | **Additional context** 22 | Add any other context or screenshots about the feature request here. 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Microsoft Open Source Code of Conduct 2 | 3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 4 | 5 | Resources: 6 | 7 | - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) 8 | - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) 9 | - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Microsoft Corporation. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

🌐Azure Static Web Apps

3 | Quickstart 4 |   •   5 | Official Documentation 6 |   •   7 | Videos 8 |   •   9 | Samples 10 |   •   11 | Community 12 |   •   13 | Twitter 14 |
15 |
16 |
17 | 18 |

19 | Azure Static Web Apps 20 |

21 | 22 | 23 | 24 | - [🚀 Welcome to Azure Static Web Apps!](#-welcome-to-azure-static-web-apps) 25 | - [🏁 Quickstarts](#-quickstarts) 26 | - [✨ Key Benefits](#-key-benefits) 27 | - [🚀 Development Features](#-development-features) 28 | - [🔹Enhanced Local Experience](#enhanced-local-experience) 29 | - [🔹Full CI/CD Integration](#full-cicd-integration) 30 | - [🔹Global Distribution and Dynamic Scale](#global-distribution-and-dynamic-scale) 31 | - [🔹Multi-language and Web Framework Support](#multi-language-and-web-framework-support) 32 | - [📚 Documentation and Development Resources](#-documentation-and-development-resources) 33 | - [🔐 Security and Compliance](#-security-and-compliance) 34 | - [💰 Flexible Pricing](#-flexible-pricing) 35 | - [🗣️ Product Feedback](#️-product-feedback) 36 | - [🤝 Contributing](#-contributing) 37 | 38 | 39 | 40 | ## 🚀 Welcome to Azure Static Web Apps! 41 | 42 | **[Azure Static Web Apps](https://learn.microsoft.com/azure/static-web-apps/?WT.mc_id=javascript-150001-gllemos)** offers a fast and efficient way to develop and deploy web applications globally! Develop full-stack applications using serverless APIs with ease, security and worldwide scalability. 43 | 44 | ## 🏁 Quickstarts 45 | 46 | Would you like to learn how to develop and deploy applications with Azure Static Web Apps? If so, we offer numerous code samples across different frameworks and programming languages. Visit the **[Static Web Apps Examples](https://github.com/microsoft/static-web-apps-examples)** repository. 47 | 48 | ![alt text](./sources/images/static-web-apps-examples.png) 49 | 50 | ## ✨ Key Benefits 51 | 52 | - **🌍 Global Hosting:** Bring your content closer to your users with automated geo-distribution worldwide. 53 | - **⚡ Integrated Serverless APIs:** Add dynamic APIs to your app using the power of Azure Functions. 54 | - **🛠️ Streamlined Workflow:** Accelerate your deployment with native integration to GitHub Actions and CI/CD tools. 55 | - **🧪 Automated Staging Environments:** Automatically create staging versions of your app based on pull requests to preview changes before publishing. 56 | 57 | ## 🚀 Development Features 58 | 59 | ### 🔹Enhanced Local Experience 60 | 61 | Use the **[Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurestaticwebapps&WT.mc_id=javascript-150001-gllemos)** for a simplified local development experience. 62 | 63 |

64 | Visual Studio Code Extension 65 |

66 | 67 | ### 🔹Full CI/CD Integration 68 | 69 | Boost productivity with native workflows for continuous integration (CI) and continuous deployment (CD). 70 | 71 |

72 | Azure Static Web Apps Diagram 73 |

74 | 75 | ### 🔹Global Distribution and Dynamic Scale 76 | 77 | Improve global performance with load balancing, SSL offload, and application acceleration using **[Azure Front Door](https://azure.microsoft.com/products/frontdoor?WT.mc_id=javascript-150001-gllemos)**. Build highly scalable serverless APIs using Azure Functions in your preferred language: JavaScript, TypeScript, Python, C#, Java, and PowerShell. 78 | 79 | ### 🔹Multi-language and Web Framework Support 80 | 81 | Deploy your Full-Stack applications in any programming language, including Node.js, Python, .NET, Java, Ruby, PHP, Go, and more. Enjoy built-in support for popular Frontend frameworks like Angular, React, Vue.js, Svelte, and more. 82 | 83 |

84 | Azure Static Web Apps Supported Languages 85 |

86 | 87 | ## 📚 Documentation and Development Resources 88 | 89 | Do you want to learn how to develop and deploy Static Web Apps with Azure Static Web Apps? If so, check out the 5-minute quickstarts: Build your static web app with: 90 | 91 | - [Angular](https://learn.microsoft.com/azure/static-web-apps/deploy-angular?pivots=github&WT.mc_id=javascript-150001-gllemos) 92 | - [Blazor](https://learn.microsoft.com/azure/static-web-apps/deploy-blazor?WT.mc_id=javascript-150001-gllemos) 93 | - [React](https://learn.microsoft.com/azure/static-web-apps/deploy-react?pivots=github&WT.mc_id=javascript-150001-gllemos) 94 | - [Vue](https://learn.microsoft.com/azure/static-web-apps/deploy-vue?pivots=github&WT.mc_id=javascript-150001-gllemos) 95 | - [Next.js](https://learn.microsoft.com/azure/static-web-apps/nextjs?WT.mc_id=javascript-150001-gllemos) 96 | - [Nuxt.js](https://learn.microsoft.com/en-us/azure/static-web-apps/deploy-nuxtjs?WT.mc_id=javascript-150001-gllemos) 97 | - [VuePress](https://learn.microsoft.com/azure/static-web-apps/publish-vuepress?WT.mc_id=javascript-150001-gllemos) 98 | 99 | > Didn't see your favorite framework? Don't worry! Check it out our other repository with code samples for various frameworks and programming languages: **[Azure Static Web Apps Samples]()**. 100 | 101 | ## 🔐 Security and Compliance 102 | 103 | Azure Static Web Apps provides robust security features to ensure your applications are secure, reliable, and perform optimally on a global scale. Key security and compliance features include: 104 | 105 | - **[Enterprise-Grade Edge](https://learn.microsoft.com/azure/static-web-apps/enterprise-edge?tabs=azure-portal&WT.mc_id=javascript-150001-gllemos)**: Accelerate page loads, enhance security, and optimize reliability with a global presence in 118+ edge locations across over 100 cities. Features include: 106 | - Caching assets at multiple levels (CDN, DNS, and browser) to reduce latency. 107 | - Proactive protection against Distributed Denial of Service (DDoS) attacks. 108 | - Native support for end-to-end IPv6 connectivity and HTTP/2 protocol. 109 | - Optimized file compression for faster content delivery. 110 | 111 | - **[Authentication and Authorization](https://learn.microsoft.com/azure/static-web-apps/authentication-authorization?WT.mc_id=javascript-150001-gllemos)**: Streamlined authentication with built-in support for GitHub and Microsoft Entra ID. Configure custom authentication providers to suit your needs. 112 | 113 | - **[Private Endpoint Support](https://learn.microsoft.com/azure/static-web-apps/private-endpoint?WT.mc_id=javascript-150001-gllemos)**: Restrict access to your static web app to your private network using a private endpoint (also known as private link). This ensures that your app is only accessible from within your Azure Virtual Network (VNet), enhancing security and privacy. 114 | 115 | - **[Password Protection (Preview)](https://learn.microsoft.com/azure/static-web-apps/password-protection?WT.mc_id=javascript-150001-gllemos)**: Protect your app's pre-production or all environments with password protection to limit access to authorized users only. 116 | 117 | - **[Automatic SSL Management](https://learn.microsoft.com/azure/static-web-apps/custom-domain?WT.mc_id=javascript-150001-gllemos)**: SSL certificates are automatically managed and renewed, providing secure HTTPS connections without requiring manual intervention. 118 | 119 | - And much more! 120 | 121 | These are some features, combined with Azure's comprehensive security framework, ensure that your static web applications are secure, compliant, and optimized for global performance. 122 | 123 | ## 💰 Flexible Pricing 124 | 125 | Azure Static Web Apps offers three plans: **Free**, **Standard**, and **Dedicated (preview)**. 126 | 127 | - **Free**: Best for personal projects with essential features like global content distribution, up to 3 staging environments, and managed APIs. 128 | - **Standard**: Suited for production apps, with up to 10 staging environments, custom domains, private endpoints, and a Service Level Agreement (SLA). 129 | - **Dedicated (Preview)**: For enterprise needs, offering regional data residency, more environments, and full control over configurations. 130 | 131 | For detailed pricing, visit the [pricing page](https://learn.microsoft.com/azure/static-web-apps/plans?WT.mc_id=javascript-150001-gllemos). 132 | 133 | ## 🗣️ Product Feedback 134 | 135 | If you are already using Azure Static Web Apps and have suggestions for new features or need to report a bug, feel free to open a new issue on our **[GitHub repository](https://github.com/Azure/static-web-apps/issues)**. Your feedback is invaluable in helping us improve the service! 136 | 137 | We also encourage you to check out the **[Discussions tab](https://github.com/Azure/static-web-apps/discussions)** in our repository. Here, you can start or join discussions about Azure Static Web Apps to ask questions, share experiences, or learn about the latest features and announcements. 138 | 139 | Your input helps us shape the future of Azure Static Web Apps! 140 | 141 | ## 🤝 Contributing 142 | 143 | This project welcomes contributions and suggestions. Most contributions require you to agree to a 144 | Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us 145 | the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. 146 | 147 | When you submit a pull request, a CLA bot will automatically determine whether you need to provide 148 | a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions 149 | provided by the bot. You will only need to do this once across all repos using our CLA. 150 | 151 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 152 | For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or 153 | contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. 154 | 155 |

156 | 🚀 Get started now and take your app to the next level with Azure Static Web Apps! 157 |

158 | 159 | 160 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). 40 | 41 | -------------------------------------------------------------------------------- /sources/images/any-language-framework.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/static-web-apps/3e0dd81a24c1242a661b1cff9704c4a1d7992798/sources/images/any-language-framework.gif -------------------------------------------------------------------------------- /sources/images/appservicestatic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/static-web-apps/3e0dd81a24c1242a661b1cff9704c4a1d7992798/sources/images/appservicestatic.jpg -------------------------------------------------------------------------------- /sources/images/debugging.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/static-web-apps/3e0dd81a24c1242a661b1cff9704c4a1d7992798/sources/images/debugging.gif -------------------------------------------------------------------------------- /sources/images/global-dynamic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/static-web-apps/3e0dd81a24c1242a661b1cff9704c4a1d7992798/sources/images/global-dynamic.jpg -------------------------------------------------------------------------------- /sources/images/static-web-apps-examples.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure/static-web-apps/3e0dd81a24c1242a661b1cff9704c4a1d7992798/sources/images/static-web-apps-examples.png --------------------------------------------------------------------------------