diff --git a/modules/lang/javascript/autoload.el b/modules/lang/javascript/autoload.el index 9186154c1..82934c5a5 100644 --- a/modules/lang/javascript/autoload.el +++ b/modules/lang/javascript/autoload.el @@ -31,6 +31,15 @@ ignore the cache." (assq packages deps)) (t (error "Expected a package symbol or list, got %s" packages)))))) +;;;###autoload +(defun +javascript-add-npm-path-h () + "Add node_modules/.bin to `exec-path'." + (when-let ((node-modules-parent (locate-dominating-file default-directory "node_modules/")) + (node-modules-dir (expand-file-name "node_modules/.bin/" node-modules-parent))) + (make-local-variable 'exec-path) + (add-to-list 'exec-path node-modules-dir) + (doom-log ":lang:javascript: add %s to $PATH" (expand-file-name "node_modules/" node-modules-parent)))) + ;; ;; Commands diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 82b4d94bf..a64e4f5dc 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -323,7 +323,7 @@ to tide." typescript-mode solidity-mode) :when (locate-dominating-file default-directory "package.json") - :add-hooks '(add-node-modules-path npm-mode)) + :add-hooks '(+javascript-add-npm-path-h npm-mode)) (def-project-mode! +javascript-gulp-mode :when (locate-dominating-file default-directory "gulpfile.js")) diff --git a/modules/lang/javascript/packages.el b/modules/lang/javascript/packages.el index 54ab26dab..8d884ecc8 100644 --- a/modules/lang/javascript/packages.el +++ b/modules/lang/javascript/packages.el @@ -8,7 +8,6 @@ ;; Tools (package! js2-refactor :pin "a0977c4ce1918cc266db9d6cd7a2ab63f3a76b9a") (package! npm-mode :pin "3ee7c0bad5b7a041d4739ef3aaa06a3dc764e5eb") -(package! add-node-modules-path :pin "63f047fd84b825876152743f66de7ee6f9ed203b") ;; Eval (package! nodejs-repl :pin "3b841055cad00f442e4a9159b1056f59411b6646")