Giter Site home page Giter Site logo

cryogenicplanet / depp Goto Github PK

View Code? Open in Web Editor NEW
266.0 266.0 6.0 109 KB

⚡ Check your npm modules for unused and duplicate dependencies fast

Home Page: https://depp-serverless.vercel.app

License: MIT License

Go 59.94% TypeScript 9.05% HTML 31.02%
dependency duplicate-detection modules monorepo npm unused

depp's Introduction

depp's People

Contributors

cryogenicplanet avatar patheticgeek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

depp's Issues

Not using my config file

I have an extensive list of externals, so I generated a config.json so I wouldn't have to set the config with every command.

{
  "js":true,
  "path":"",
  "log":false,
  "report":true,
  "show-versions":true,
  "dev":true,
  "externals":[
    "prop-types",
    "invariant",
    "lodash/sortBy",
    "lodash/findIndex",
    "date-arithmetic",
    "memoize-one",
    "react",
    "dom-helpers/listen",
    "dom-helpers/contains",
    "dom-helpers/closest",
    "rollup-plugin-terser",
    "rollup-plugin-size-snapshot",
    "rollup-plugin-replace",
    "rollup-plugin-node-resolve",
    "rollup-plugin-commonjs",
    "webpack-atoms",
    "webpack-dev-server",
    "webpack",
    "react-tackle-box/Slot",
    "@storybook/theming",
    "@storybook/react",
    "@storybook/addon-actions/register",
    "moment"
    ],
    "ignore-namespaces":null,
    "browser-platform":false
  }

But when I run depp -v -j, my output continues to show that it 'Could not resolve "x" (mark it as external to exclude it from the bundle)'. I also get a lot of output like '{ Unexpected "<" 0xc001c1e9c0 [] }'. Am I missing something?

Installation is not supported for this architecture: arm64

Trying to install depp but get this error.

➜  📦 v2.0.0 npm install -g depp-installer
npm ERR! code 1
npm ERR! path /usr/local/lib/node_modules/depp-installer
npm ERR! command failed
npm ERR! command sh -c node dist/postinstall.js install
npm ERR! /usr/local/lib/node_modules/depp-installer/dist/postinstall.js:107
npm ERR!     throw new Error("Installation is not supported for this architecture: " + process.arch);
npm ERR!           ^
npm ERR!
npm ERR! Error: Installation is not supported for this architecture: arm64
npm ERR!     at parsePackageJson (/usr/local/lib/node_modules/depp-installer/dist/postinstall.js:107:11)
npm ERR!     at Object.<anonymous> (/usr/local/lib/node_modules/depp-installer/dist/postinstall.js:161:16)
npm ERR!     at Generator.next (<anonymous>)
npm ERR!     at /usr/local/lib/node_modules/depp-installer/dist/postinstall.js:36:61
npm ERR!     at new Promise (<anonymous>)
npm ERR!     at __async (/usr/local/lib/node_modules/depp-installer/dist/postinstall.js:20:10)
npm ERR!     at Object.install (/usr/local/lib/node_modules/depp-installer/dist/postinstall.js:160:10)
npm ERR!     at Object.<anonymous> (/usr/local/lib/node_modules/depp-installer/dist/postinstall.js:212:15)
npm ERR!     at Module._compile (node:internal/modules/cjs/loader:1101:14)
npm ERR!     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)

Use in CI Systems

As this is likely not a one-time problem, it would be good to be able to integrate this as a part of your CI pipeline.

Thoughts:

  • The tool can wrongly target a package as being unused, this might be because we don't actually see the package in the code. Think apollo or graphql or the tool is making a mistake.

  • We can partially mitigate the above, by allowing users to configure accepted packages or ignored packages in #3 so we can check against those

  • This likely should be used as a fail condition on CI systems but rather something like codecov or something, it can generate the report and add it as a PR comment

Error created by not using targeting platform node correctly

nodejs - 17.0.1
macOS - 12.0.1

Errors [{ Could not resolve "vm" (use "Platform: api.PlatformNode" when building for node) 0xc006a4baa0 [] <nil>} { Could not resolve "perf_hooks" (use "Platform: api.PlatformNode" when building for node) 0xc006a4bb00 [] <nil>}]

PS: I have two MacBooks with the same configuration & environment. On MacBook 13 everything okay, but on MacBook 16 I got that issue.

Namespaced imports

I think the tool is not identifying @namespace/package properly, probably some split or two is wrong in the codebase

Configuration Files

I know config files kinda suck but I think it could be good for this in a few ways:

  1. For more complex codebases you might have to external a bunch of packages
  2. We could add version control support and use this tool within CI systems

We could mitigate yaml or json config hell by allow all the config to be done from the cli with commands kinda like dokku

Doesn't install on Windows

I get the following error when I run npm i -g depp-installer on Windows 10:

> [email protected] preuninstall C:\Program Files\nodejs\node_modules\depp-installer
> node dist/postinstall.js uninstall

Uninstalled cli successfully

> [email protected] postinstall C:\Program Files\nodejs\node_modules\depp-installer
> node dist/postinstall.js install

Copying the relevant binary for your platform win32
Downloading binary from https://github.com/CryogenicPlanet/depp/releases/download/v0.0.1-e/depp.exe_0.0.1-e_windows_x86_64.tar.gz
(node:7564) UnhandledPromiseRejectionWarning: Error: Request failed with status code 404
    at createError (C:\Users\mgg\AppData\Roaming\nvm\v14.15.0\node_modules\depp-installer\node_modules\axios\lib\core\createError.js:16:15)
    at settle (C:\Users\mgg\AppData\Roaming\nvm\v14.15.0\node_modules\depp-installer\node_modules\axios\lib\core\settle.js:17:12)
    at RedirectableRequest.handleResponse (C:\Users\mgg\AppData\Roaming\nvm\v14.15.0\node_modules\depp-installer\node_modules\axios\lib\adapters\http.js:262:9)
    at RedirectableRequest.emit (events.js:315:20)
    at RedirectableRequest._processResponse (C:\Users\mgg\AppData\Roaming\nvm\v14.15.0\node_modules\depp-installer\node_modules\follow-redirects\index.js:425:10)
    at ClientRequest.RedirectableRequest._onNativeResponse (C:\Users\mgg\AppData\Roaming\nvm\v14.15.0\node_modules\depp-installer\node_modules\follow-redirects\index.js:57:10)
    at Object.onceWrapper (events.js:422:26)
    at ClientRequest.emit (events.js:315:20)
    at HTTPParser.parserOnIncomingClient (_http_client.js:641:27)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:7564) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:7564) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
+ [email protected]
updated 1 package in 4.43s

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.