Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@jpmorganchase/depcom

Package Overview
Dependencies
Maintainers
3
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jpmorganchase/depcom

A Go package that extracts imported dependencies from Javascript / Typescript / CSS source files. It uses concurrency and [internal APIs](https://github.com/ije/esbuild-internal/) from the [Esbuild project](https://esbuild.github.io/) for blazing performa

  • 0.0.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
3
Created
Source

depcom

A Go package that extracts imported dependencies from Javascript / Typescript / CSS source files. It uses concurrency and internal APIs from the Esbuild project for blazing performance.

NPM Package

Installation

npm install depcom --save

or

yarn add depcom

Usage

import { analyzeRuntimeDependencies } from "depcom";

const { ImportArray, Time, FileCount, Logs } = analyzeRuntimeDependencies({
  path: "path/to/package",
  options: {
    match: "**/*.{tsx,jsx,mjs,cjs,ts,js,css}",
    exclude: ["node_modules/**/*"],
  },
});

CLI

Usage

Build

go build

Tests

go test ./...

CLI Options
Match files
  • -d Set a base directory (default: ./)
  • -a Select multiple files using a glob pattern, starting from the base directory (default: **/*.{tsx,jsx,mjs,cjs,ts,js,css})
  • -x Exclude files using a glob pattern, starting from the base directory. This option can be specified multiple times (default: none)

Target files will be matched by evaluating the glob patterns separately, then calculating the difference between the allowed matches and all the excluded ones.

Examples
  • Parse all javascript files in a package, excluding the node_modules directory (note the quotes, to avoid shell globbing):

./depcom -d path/to/package -a "**/*.{tsx,jsx,mjs,cjs,ts,js,css}" -x "node_modules/**/*"

  • Parse all javascript files in a package outside of src that aren't external dependencies (note the double usage of the -x argument):

./depcom -d path/to/package -a "**/*.{tsx,jsx,mjs,cjs,ts,js,css}" -x "node_modules/**/*" -x "src/**/*"

  • Parse all the javascript files in the current directory and subdirectories, recursively

./depcom

Variadic usage

./depcom ../path/to/directory/file1.js ../another/path/to/directory/file1.js

Help

./depcom -h

Supported import statements

Supported file extensions

  • .js - Javascript files. All unrecognized extensions will fall back to .js (so, for example, you can safely pass .mjs or .cjs files to depcom)
  • .ts - Typescript files.
  • .jsx - Javascript files with React JSX code. Please note that a file with extension .js containing JSX code will not be parsed correctly and will terminate parsing at the first JSX expression. This will emit an error in the logs but won't interrupt parsing of the remaining files.
  • .tsx - Typescript files with React JSX code. Please note that a file with extension .ts containing JSX code will not be parsed correctly and will terminate parsing at the first JSX expression. This will emit an error in the logs but won't interrupt parsing of the remaining files.
  • .css - CSS files

Output

Format

  • Time - Time elapsed parsing
  • Logs - Array of logs, grouped by log level
  • ImportArray - An array of all the unique dependencies extracted from the files. No subpaths.
  • FileCount - The number of files processed

Example

json {"Time":"15.961751ms","ImportArray":["rollup-plugin-esbuild","jest-config","react-native-web",...],"Logs":{"Verbose":null,"Debug":["../modular/packages/modular-scripts/src/check/index.ts: This \"import\" expression will not be bundled because the argument is not a string literal\n","../modular/packages/modular-scripts/src/esbuild-scripts/start/index.ts: This call to \"require\" will not be bundled because the argument is not a string literal\n"],"Info":null,"Err":null,"Warning":null},"FileCount":119}

FAQs

Package last updated on 10 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc