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

dephash

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dephash

Hashes native dependencies for React Native & Expo projects

  • 4.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Dephash

A tool to hash native dependencies for React Native & Expo projects

DepHash is a tool that allows you to automate the hashing of native dependencies for React Native and Expo projects. It can be used to easily track changes in dependencies and ensure reproducibility.

Installation   ·   CLI   ·   Usage   ·   Contribute

Installation

To install Dephash, simply use your favourite Node.js package manager.

yarn add -D dephash
npm install --save-dev dephash

CLI

Dephash exposes a CLI for you to generate a hash.

yarn dephash --raw
Generates a hash based off the dependencies & files from the current working directory.

Options:
  --root-directory                 will be where the the scan begins for files
  --algorithm <xxhash|sha1>        [default: 'sha1'] which algorithm to use
  --exclude-ios                    will not consider native ios changes
  --exclude-android                will not consider native android changes
  --exclude-expo-config            will not consider expo changes (ie. *.plugin.js, app.config.js, etc.)
  --factor-all-changes             will generate a new hash even if the changes are non-native
  --additional-patterns <pattern>  glob patterns seperated by ","
  --raw, -r                        whether to just return the raw value in stdout
  --output <path>, -o <path>       a path with a path to write out
  --eas-only                       whether or not to only run on eas
  -h, --help                       display help for command

Usage

Dephash allows you to hash the dependencies in the current working directory as a string. The following is an example usage.

import { hashDependencies } from "dephash";

const hash = hashDependencies();
console.log(hash);

This will hash the dependencies in the current working directory and print the resulting hash as a string to the console.

Options

You can pass options to hashDependencies to customize its behaviour.

rootDirectory

Where the scan for files that will contribute to the hash will come from.

excludePlatforms

An array of Platform enums that allows you to exclude the native dependencies of specific platforms. The possible values of this enum are:

  • Platform.Android
  • Platform.Ios
excludeExpoConfig

A boolean value that allows you to exclude the Expo configuration files from the hash.

factorAllDependencyChanges

A boolean value that allows you to factor in all dependency changes into the hash, including those outside of native dependencies.

additionalPatterns

An array of additional glob patterns to include in the dependency hashing.

Here's an example of using the options:

import { hashDependencies, Platform } from "dephash";

const options = {
  excludePlatforms: [Platform.Ios],
  excludeExpoConfig: true,
  factorAllDependencyChanges: false,
  additionalPatterns: ["**/someFolder/*"],
};

const hash = hashDependencies(options);
console.log(hash);

Contribute

Feel free to contribute to the repository. Pull requests and issues with feature requests are super welcome!

FAQs

Package last updated on 22 Apr 2023

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