Skip to content

Azure/azure-functions-nodejs-worker

Repository files navigation

Azure Functions Node.js Worker

Branch Status Runtime Version Support level Node.js Versions
v3.x (default) Build Status Test Status 4 GA 20, 18

NOTE: The branch corresponds to the worker version, which is intentionally decoupled from the runtime version.

Getting Started

Contributing

  • Clone the repository locally and open in VS Code
  • Run "Extensions: Show Recommended Extensions" from the command palette and install all extensions listed under "Workspace Recommendations"
  • Run npm install and npm run build
  • Create or open a local function app to test with
  • In the local function app, add the following settings to your "local.settings.json" file or configure them directly as environment variables
    • languageWorkers__node__workerDirectory: <path to the root of this repository>

    • languageWorkers__node__arguments: --inspect

      💡 Tip #1: Set logging__logLevel__Worker to debug if you want to view worker-specific logs in the output of func start

      💡 Tip #2: If you need to debug worker initialization, use --inspect-brk instead of --inspect. Just keep in mind you need to attach the debugger within 30 seconds or the host process will timeout.

  • Start the local function app (i.e. run func start or press F5)
  • Back in the worker repository, press F5 and select the process for your running function app
  • Before you submit a PR, run npm run lint and npm test and fix any issues. If you want to debug the tests, switch your launch profile in VS Code to "Launch Unit Tests" and press F5.

Repositories

These are the most important GitHub repositories that make up the Node.js experience on Azure Functions:

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Contributing to TypeScript type definitions

The type definitions supplied by the @azure/functions npm package are located in the types folder. Any changes should be applied directly to ./types/index.d.ts. Please make sure to update the tests in ./types/index.test.ts as well.