{"id":15286985,"url":"https://github.com/anthonychu/azure-functions-deno-worker","last_synced_at":"2025-07-22T01:02:57.125Z","repository":{"id":46016089,"uuid":"262988721","full_name":"anthonychu/azure-functions-deno-worker","owner":"anthonychu","description":"Run Deno 🦕 on Azure Functions ⚡️","archived":false,"fork":false,"pushed_at":"2021-11-20T00:06:18.000Z","size":110,"stargazers_count":110,"open_issues_count":6,"forks_count":17,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-15T08:05:07.640Z","etag":null,"topics":["azure-functions","deno","serverless"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anthonychu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-11T08:50:24.000Z","updated_at":"2024-10-12T21:37:37.000Z","dependencies_parsed_at":"2022-09-14T11:24:06.993Z","dependency_job_id":null,"html_url":"https://github.com/anthonychu/azure-functions-deno-worker","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/anthonychu/azure-functions-deno-worker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonychu%2Fazure-functions-deno-worker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonychu%2Fazure-functions-deno-worker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonychu%2Fazure-functions-deno-worker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonychu%2Fazure-functions-deno-worker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anthonychu","download_url":"https://codeload.github.com/anthonychu/azure-functions-deno-worker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonychu%2Fazure-functions-deno-worker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265583609,"owners_count":23792386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-functions","deno","serverless"],"created_at":"2024-09-30T15:20:12.050Z","updated_at":"2025-07-22T01:02:57.091Z","avatar_url":"https://github.com/anthonychu.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deno for Azure Functions\n\n```\n           @@@@@@@@@@@,         \n       @@@@@@@@@@@@@@@@@@@                        %%%%%%\n     @@@@@@        @@@@@@@@@@                    %%%%%%\n   @@@@@ @  @           *@@@@@              @   %%%%%%    @\n   @@@                    @@@@@           @@   %%%%%%      @@\n  @@@@@                   @@@@@        @@@    %%%%%%%%%%%    @@@\n  @@@@@@@@@@@@@@@          @@@@      @@      %%%%%%%%%%        @@\n   @@@@@@@@@@@@@@          @@@@        @@         %%%%       @@\n    @@@@@@@@@@@@@@         @@@           @@      %%%       @@\n     @@@@@@@@@@@@@         @               @@    %%      @@\n       @@@@@@@@@@@                              %%\n            @@@@@@@                             %\n```\n\n## Overview\n\n\u003cp\u003e\n    \u003ca href=\"https://online.visualstudio.com/environments/new?name=Deno%20Azure%20Functions\u0026repo=anthonychu/azure-functions-deno-template\"\u003e\n        \u003cimg src=\"https://img.shields.io/endpoint?url=https%3A%2F%2Faka.ms%2Fvso-badge\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nThis is a worker that lets you run Deno on [Azure Functions](https://docs.microsoft.com/azure/azure-functions/functions-overview). It is implemented as an [Azure Functions Custom Handler](https://docs.microsoft.com/azure/azure-functions/functions-custom-handlers) and runs on the Azure Functions Consumption (serverless) plan.\n\nThe project includes a CLI `denofunc` to make it easy to create, run, and deploy your Deno Azure Functions apps.\n\n### 3 commands to get started\n\n```bash\n# initialize function app\ndenofunc init\n\n# run function app locally\ndenofunc start\n\n# deploy the app\ndenofunc publish $functionAppName [--slot $slotName] [--allow-run] [--allow-write]\n```\n\nFor more information, try the [quickstart](#getting-started) below.\n\n### Programming model\n\nAll Azure Functions [triggers and bindings](https://docs.microsoft.com/azure/azure-functions/functions-triggers-bindings) (including custom bindings) are supported.\n\nIn this simplified programming model, each function is a single file. Here are a couple of examples:\n* [HTTP trigger](https://github.com/anthonychu/azure-functions-deno-template/blob/main/functions/hello_world.ts)\n* [Queue trigger](https://github.com/anthonychu/azure-functions-deno-template/blob/main/functions/queue_trigger.ts)\n\nCheck out the [new project template](https://github.com/anthonychu/azure-functions-deno-template) for the entire app structure.\n\n## Getting started - building a Deno function app\n\n### Requirements\n\n* Linux, macOS, Windows\n* [Deno](https://deno.land/x/install/)\n    - Tested on:\n        - `1.16.2`\n* [Azure Functions Core Tools V3](https://github.com/Azure/azure-functions-core-tools#azure-functions-core-tools) - needed for running the app locally and deploying it\n* [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli?view=azure-cli-latest#install) - needed to deploy the app\n* `denofunc` CLI - see [below](#install-the-denofunc-cli)\n\n\u003e #### Codespaces\n\u003e\n\u003e You can also get a preconfigured, cloud-based dev environment from Codespaces:\n\u003e \n\u003e * **Visual Studio Codespaces** - [click to create](https://online.visualstudio.com/environments/new?name=Deno%20Azure%20Functions\u0026repo=anthonychu/azure-functions-deno-template)\n\u003e * **GitHub Codespaces** ([private preview](https://github.com/features/codespaces)) - [go to the template repo](https://github.com/anthonychu/azure-functions-deno-template) and create a Codespace\n\n#### Install the denofunc CLI\n\nTo help create, run, and deploy a Deno for Azure Functions app, you need to install the `denofunc` CLI. `denofunc` wraps the Azure Functions Core Tools (`func`) and is used for generating artifacts required to run/deploy the app.\n\nTo install the CLI, run the following Deno command.\n\n```bash\ndeno install --allow-run --allow-read --allow-write --allow-net --unstable --force \\\n    --name=denofunc https://raw.githubusercontent.com/anthonychu/azure-functions-deno-worker/v0.9.0/denofunc.ts\n```\n\nConfirm it is installed correctly:\n\n```bash\ndenofunc --help\n```\n\n### Create and run an app locally\n\n1. Create and change into an empty folder.\n\n1. Initialize the project:\n\n    ```bash\n    denofunc init\n    ```\n\n    A few of the files that are important to know about:\n    - [`functions/hello_world.ts`](https://github.com/anthonychu/azure-functions-deno-template/blob/main/functions/hello_world.ts) - a basic HTTP triggered function\n    - [`worker.ts`](https://github.com/anthonychu/azure-functions-deno-template/blob/main/worker.ts) - the Deno worker used by Azure Functions\n    - [`host.json`](https://github.com/anthonychu/azure-functions-deno-template/blob/main/host.json) - configuration of the function host\n\n1. Run the app locally:\n\n    ```bash\n    denofunc start\n    ```\n\n    The Azure Functions Core Tools (`func`) is then called to run the function app.\n\n    \u003e Note: A folder is automatically generated for the `hello_world` function containing a file named `function.json` that is used by the Azure Functions runtime to load the function (they are ignored in `.gitnore`).\n\n1. Open the URL displayed on the screen (http://localhost:7071/api/hello_world) to run the function.\n\n1. `Ctrl-C` to stop the app.\n\n### Deploy the app to Azure\n\nNow that you've run the function app locally, it's time to deploy it to Azure!\n\n1. Configure some variables (examples are in bash):\n\n    ```bash\n    region=centralus # any region where Linux Azure Functions are available\n    resourceGroupName=\u003cresource_group_name\u003e\n    functionAppName=\u003cfunction_app_name\u003e\n    storageName=\u003cstorage_name\u003e # must be between 3 and 24 characters in length and may contain numbers and lowercase letters only.\n    ```\n\n1. If you are not authenticated with the Azure CLI, log in.\n\n    ```bash\n    # Log in to the Azure CLI\n    az login\n    ```\n\n    This might not work in some environments (e.g. Codespaces). Try `az login --use-device-code` instead.\n\n1. Run these Azure CLI commands to create and configure the function app:\n\n    ```bash\n    # Create resource group\n    az group create -l $region -n $resourceGroupName\n\n    # Create storage account needed by function app\n    az storage account create -n $storageName -l $region -g $resourceGroupName --sku Standard_LRS\n\n    # Create function app (also works on Windows)\n    az functionapp create -n $functionAppName --storage-account $storageName \\\n        --consumption-plan-location $region -g $resourceGroupName \\\n        --functions-version 3 --runtime dotnet --os-type Linux\n    ```\n\n1. Deploy the app:\n\n    ```bash\n    denofunc publish $functionAppName\n    ```\n\n    Prior to deployment,  `denofunc` tool will download the Deno Linux binary matching your locally installed version of deno that is included with the deployment package.\n\n1. The deployment output will print out the URL of the deployed function. Open to the URL to run your function.\n\n### 🎉 Congratulations!\n\nYou've deployed your first Azure Functions app in Deno! 🦕\n\n---\n\n*Disclaimer: This is a community open source project. No official support is provided by Microsoft.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonychu%2Fazure-functions-deno-worker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthonychu%2Fazure-functions-deno-worker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonychu%2Fazure-functions-deno-worker/lists"}