diff options
| author | Amit Tamari <15573913+amittamari@users.noreply.github.com> | 2026-04-21 16:26:46 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-21 15:26:46 +0200 |
| commit | 8fdc4b0a563768c04476042b9cc765c149560bbe (patch) | |
| tree | 1158658174b844f479bd9dea39dd4959b75b01d7 /lua | |
| parent | fix: actually emit the receipt in uninstall event payloads (#2071) (diff) | |
| download | mason-8fdc4b0a563768c04476042b9cc765c149560bbe.tar mason-8fdc4b0a563768c04476042b9cc765c149560bbe.tar.gz mason-8fdc4b0a563768c04476042b9cc765c149560bbe.tar.bz2 mason-8fdc4b0a563768c04476042b9cc765c149560bbe.tar.lz mason-8fdc4b0a563768c04476042b9cc765c149560bbe.tar.xz mason-8fdc4b0a563768c04476042b9cc765c149560bbe.tar.zst mason-8fdc4b0a563768c04476042b9cc765c149560bbe.zip | |
feat(npm): add `install_args` setting (#1581)
Co-authored-by: William Boman <william@redwill.se>
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason-core/installer/compiler/compilers/npm.lua | 5 | ||||
| -rw-r--r-- | lua/mason-core/installer/managers/npm.lua | 3 | ||||
| -rw-r--r-- | lua/mason/settings.lua | 9 |
3 files changed, 16 insertions, 1 deletions
diff --git a/lua/mason-core/installer/compiler/compilers/npm.lua b/lua/mason-core/installer/compiler/compilers/npm.lua index e8489fe8..cdf6a279 100644 --- a/lua/mason-core/installer/compiler/compilers/npm.lua +++ b/lua/mason-core/installer/compiler/compilers/npm.lua @@ -1,6 +1,7 @@ local Result = require "mason-core.result" local _ = require "mason-core.functional" local providers = require "mason-core.providers" +local settings = require "mason.settings" ---@param purl Purl local function purl_to_npm(purl) @@ -24,6 +25,9 @@ function M.parse(source, purl) package = purl_to_npm(purl), version = purl.version, extra_packages = source.extra_packages, + npm = { + extra_args = settings.current.npm.install_args, + }, } return Result.success(parsed_source) @@ -39,6 +43,7 @@ function M.install(ctx, source) try(npm.init()) try(npm.install(source.package, source.version, { extra_packages = source.extra_packages, + install_extra_args = source.npm.extra_args, })) end) end diff --git a/lua/mason-core/installer/managers/npm.lua b/lua/mason-core/installer/managers/npm.lua index d31fe768..93af3a85 100644 --- a/lua/mason-core/installer/managers/npm.lua +++ b/lua/mason-core/installer/managers/npm.lua @@ -57,7 +57,7 @@ end ---@async ---@param pkg string ---@param version string ----@param opts? { extra_packages?: string[] } +---@param opts? { extra_packages?: string[], install_extra_args?: string[] } function M.install(pkg, version, opts) opts = opts or {} log.fmt_debug("npm: install %s %s %s", pkg, version, opts) @@ -67,6 +67,7 @@ function M.install(pkg, version, opts) "install", ("%s@%s"):format(pkg, version), opts.extra_packages or vim.NIL, + opts.install_extra_args or vim.NIL, } end diff --git a/lua/mason/settings.lua b/lua/mason/settings.lua index ebff1e0b..e70d90a4 100644 --- a/lua/mason/settings.lua +++ b/lua/mason/settings.lua @@ -68,6 +68,15 @@ local DEFAULT_SETTINGS = { install_args = {}, }, + npm = { + ---@since 2.3.0 + -- These args will be added to `npm install` calls. Note that setting extra args might impact intended behavior + -- and is not recommended. + -- + -- Example: { "--registry", "https://registry.npmjs.org/" } + install_args = {}, + }, + ui = { ---@since 1.0.0 -- Whether to automatically check for new versions when opening the :Mason window. |
