A subset of JavaScript language to use in nginx

Is nginx/njs beginner-friendly?

We have not seen enough recent pull requests from outside contributors to nginx/njs to say how often they are merged. No beginner-friendly issue is open right now; the list below has the other issues we hold for it.

Stars
1.6k
Forks
245
Open beginner issues
0
Indexed issues
42
Avg merge
2d 5h
Merged PRs (30d)
6
Dominant language
C
License
BSD-2-Clause
Last GitHub push
Nov 2, 2026
Latest indexed
Sep 19, 2026
Contributing guide
Contributing guide
Code of conduct
Code of conduct
Beginner labels
help wanted

How to contribute to nginx/njs

  1. Read the contributing guide first: it says how the maintainers want changes proposed, tested and reviewed.
  2. Read its code of conduct: it covers issues and pull requests as well as chat.
  3. Your contributions will be published under the project's BSD-2-Clause license.
  4. Follow the repository to hear when a new beginner-friendly issue opens, or look through the other issues below.

Issues somebody may already be working on are listed last. List everything by date

  • String.prototype.match with a global RegExp returns [] instead of null when nothing matches
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 78/100

    nginx/njs#1152 ·

  • Expression statement referencing an initialized let or const variable throws ReferenceError
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 55/100

    nginx/njs#1151 ·

  • Array.prototype.toString forwards arguments to join as the separator
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 82/100

    nginx/njs#1150 ·

  • Modules: CR/LF in njs-produced nginx variables
    May be free again @xeioex claimed this 46 days ago, and no pull request is open. Open
    njs

    Difficulty 4/5 3-5 days Newbie friendliness 45/100

    nginx/njs#1127 · 2 comments · 1 assignee ·

  • Expose Nginx Cache Management API
    Open
    feature njs

    Difficulty 5/5 Over a week Newbie friendliness 30/100

    nginx/njs#1046 · 2 comments · 2 reactions ·

  • Add possibility to send early hints headers
    Open
    feature njs

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#896 · 2 comments ·

  • DNS module
    May be free again @xeioex claimed this 414 days ago, and no pull request is open. Open
    feature njs

    nginx/njs#853 · 3 comments · 1 assignee ·

  • Redis Client
    Open
    njs question

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#847 · 5 comments ·

  • Session Events (start, close)
    Open
    feature njs

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#842 · 2 comments ·

  • Support ES Module: import fs from 'njs:fs';
    May be free again @xeioex claimed this 695 days ago, and no pull request is open. Open
    feature njs

    nginx/njs#828 · 1 comment · 1 assignee ·

  • Add support for SSL certificate generation
    May be free again A pull request for this issue was closed without being merged. Open
    feature njs

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#766 · 2 comments ·

  • Synchronous version of `ngx.fetch`
    Open
    feature njs

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#762 · 9 comments · 1 reaction ·

  • Add support for a fetch-like API for TCP (and UDP) sockets.
    May be free again @xeioex claimed this 326 days ago, and no pull request is open. Open
    feature nginx-module njs

    nginx/njs#708 · 3 comments · 3 reactions · 1 assignee ·

  • Add Support for js_balancer like balancer_by_lua_block
    Open
    feature njs

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#696 · 2 comments · 3 reactions ·

  • Shared library and installation
    Open
    njs

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    nginx/njs#691 · 2 comments · 4 reactions ·

  • add optional globals __dirname and __filename similar to node.js
    Open
    njs

    Difficulty 4/5 3-5 days Newbie friendliness 45/100

    nginx/njs#672 ·

  • use gRPC client like ngx.fetch without subrequest
    Open
    njs

    Difficulty 5/5 Over a week Newbie friendliness 30/100

    nginx/njs#671 · 3 comments ·

  • JSDocs can't parse some njs-types
    Open
    njs

    Difficulty 4/5 3-5 days Newbie friendliness 30/100

    nginx/njs#664 ·

  • Add support for Error.cause (ES2022)
    Open
    feature njs

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    nginx/njs#653 ·

  • Profile JS code
    Open
    njs

    Difficulty 5/5 Over a week Newbie friendliness 20/100

    nginx/njs#637 · 2 comments ·

  • feature request: js_body_filter should have an option to operate on whole body
    Open
    feature njs

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    nginx/njs#585 · 1 comment · 2 reactions ·

  • Syntax for Submitting Subrequests to FastCGI
    Open
    answered njs question

    Difficulty 4/5 3-5 days Newbie friendliness 25/100

    nginx/njs#476 · 9 comments ·

  • Phase Declarative Syntax for js_set
    Open
    answered discussion njs question

    Difficulty 5/5 Over a week Newbie friendliness 30/100

    nginx/njs#475 · 2 comments ·

  • js_body_filter sends empty body response when buffering is on
    Open
    bug nginx-http-module njs

    Difficulty 4/5 3-5 days Newbie friendliness 38/100

    nginx/njs#411 · 6 comments · 1 reaction ·

  • Object.values() is not resolving getters
    Open
    bug njs

    Difficulty 3/5 1-2 days Newbie friendliness 40/100

    nginx/njs#401 ·

  • Support Web APIs.
    Open
    discussion njs

    Difficulty 5/5 Over a week Newbie friendliness 20/100

    nginx/njs#299 · 50 comments · 1 reaction ·

  • refactoring of the fs module.
    Open
    fs help wanted njs refactoring WIP

    Difficulty 4/5 3-5 days Newbie friendliness 25/100

    nginx/njs#279 · 32 comments · 1 reaction ·

  • fix own property lookup for primitive values
    Open
    bug njs test262

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    nginx/njs#250 ·

  • eval() support (strict only mode).
    Open
    ES5.1 feature help wanted test262

    Difficulty 5/5 Over a week Newbie friendliness 15/100

    nginx/njs#218 · 1 comment ·

  • CLI written in pure JS.
    Open
    CLI feature

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#216 ·

  • implicit var declarations.
    Open
    enhancement ES5.1 help wanted

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    nginx/njs#212 · 2 comments ·

  • Add support for global permanent variables
    Open
    feature nginx-module

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#191 · 3 comments · 13 reactions ·

  • NJS performance vs Chrome V8 & Firefox
    Open
    performance

    Difficulty 5/5 Over a week Newbie friendliness 20/100

    nginx/njs#185 · 4 comments ·

  • URL native object.
    Open
    feature help wanted

    Difficulty 5/5 Over a week Newbie friendliness 20/100

    nginx/njs#143 · 1 comment · 3 reactions ·

  • interactive shell: return the value of the last expression evaluated.
    Open
    CLI enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 38/100

    nginx/njs#135 ·

  • export default function name() {...}
    Open
    enhancement ES6 help wanted

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    nginx/njs#121 · 12 comments ·

  • run main file as ES6 module
    Open
    enhancement ES6

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    nginx/njs#115 · 1 comment ·

  • interactive shell: add an option to specify the maximum heap size
    Open
    CLI feature

    Difficulty 5/5 Over a week Newbie friendliness 30/100

    nginx/njs#67 ·

  • Potential memory leak in njs_fs_fd_read error paths
    Possibly taken @Shubham-Padkonde claimed this 40 days ago. Open
    njs

    Difficulty 3/5 1-2 days Newbie friendliness 67/100

    nginx/njs#1099 ·

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.