From 75be83e267147dce17bbea4f59b198b04b1ebad3 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Mon, 11 Aug 2025 18:55:18 -0700 Subject: [PATCH] Modules: fixed merging of js_path directives. The issue initially appeared in 1b54abb (0.7.7). --- nginx/ngx_js.c | 4 ++-- nginx/t/js_paths.t | 23 ++++++++++++++++++++--- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/nginx/ngx_js.c b/nginx/ngx_js.c index 01d4bb2a..0678c3e6 100644 --- a/nginx/ngx_js.c +++ b/nginx/ngx_js.c @@ -3483,7 +3483,7 @@ ngx_js_merge_vm(ngx_conf_t *cf, ngx_js_loc_conf_t *conf, return NGX_ERROR; } - s = prev->imports->elts; + s = prev->paths->elts; for (i = 0; i < prev->paths->nelts; i++) { path = ngx_array_push(paths); @@ -3494,7 +3494,7 @@ ngx_js_merge_vm(ngx_conf_t *cf, ngx_js_loc_conf_t *conf, *path = s[i]; } - s = conf->imports->elts; + s = conf->paths->elts; for (i = 0; i < conf->paths->nelts; i++) { path = ngx_array_push(paths); diff --git a/nginx/t/js_paths.t b/nginx/t/js_paths.t index 98d87512..95fe07fc 100644 --- a/nginx/t/js_paths.t +++ b/nginx/t/js_paths.t @@ -51,6 +51,11 @@ http { location /test2 { js_content test.test2; } + + location /merge { + js_path "lib3"; + js_content test.test3; + } } } @@ -60,6 +65,7 @@ $t->write_file('test.js', <write_file('test.js', <testdir(); mkdir("$d/lib1"); mkdir("$d/lib2"); +mkdir("$d/lib3"); $t->write_file('lib1/module1.js', <write_file('lib2/module2.js', <write_file('lib3/module3.js', <try_run('no njs available')->plan(4); +$t->try_run('no njs available')->plan(5); ############################################################################### @@ -106,5 +122,6 @@ like(http_get('/test?fun=sum&a=3&b=4'), qr/7/s, 'test sum'); like(http_get('/test?fun=prod&a=3&b=4'), qr/12/s, 'test prod'); like(http_get('/test2?a=3&b=4'), qr/34/s, 'test2'); like(http_get('/test2?a=A&b=B'), qr/AB/s, 'test2 relative'); +like(http_get('/merge'), qr/Hello from lib3/s, 'test merge'); ############################################################################### -- 2.47.3