guess-js-deps-bash

A bash attempt at npm-forgot: Guess JavaScript require() dependencies, detect their versions, compare with package.json.

Usage no npm install needed!

<script type="module">
  import guessJsDepsBash from 'https://cdn.skypack.dev/guess-js-deps-bash';
</script>

README



guess-js-deps-bash

A bash attempt at npm-forgot:

  • Guess JavaScript require() dependencies,
  • detect their versions,
  • compare with package.json.

Usage

~/lib/node_modules/guess-js-deps-bash$ guess-js-deps
E: Unable to find any require()s in package: guess-js-deps-bash

Ok let's try some other package:

~/lib/node_modules/path-steps$ guess-js-deps tabulate-found
built-in        assert  *
built-in        path    *
relPath ./lib_demo.js   *
self-ref        path-steps      *

Nice TSV, but now for one with real dependencies.

~/lib/node_modules/usnam-pmb$ guess-js-deps tabulate-known
dep     clarify ^2.0.0
dep     pretty-error    ^1.1.1

Prefer JSON?

~/lib/node_modules/usnam-pmb$ guess-js-deps as-json
"dependencies": {
  "clarify": "^2.0.0",
  "pretty-error": "^2.0.1"
},
"devDependencies": {},

How about a diff?

~/lib/node_modules/usnam-pmb$ guess-js-deps
@@ -30,5 +30,5 @@
 "dependencies": {
   "clarify": "^2.0.0",
-  "pretty-error": "^1.1.1"
+  "pretty-error": "^2.0.1"
 },
 "devDependencies": {

Good catch, gonna update that one right away!

~/lib/node_modules/usnam-pmb$ guess-js-deps upd
@@ -30,5 +30,5 @@
   "dependencies": {
     "clarify": "^2.0.0",
-    "pretty-error": "^1.1.1"
+    "pretty-error": "^2.0.1"
   },

patching file package.json
Using Plan A… Hunk #1 succeeded at 30.

Wow! Can you do that again?

~/lib/node_modules/usnam-pmb$ guess-js-deps upd
Files known.deps and found.deps are identical

Known issues

  • Needs more/better tests and docs.
  • Patch chunk size isn't adjusted when stripping whitespace, thus creating invalid patches sometimes.

License

ISC