code-fingerprint

1.0.1 • Public • Published

code-fingerprint

const fp = require('code-fingerprint')
 
fp('console.log("hello world")')
// ==> a base64 encoded sha256
 

The fingerprint is identical for code that only differs in comments, formatting and variable and function names. See tests for details.

How does it work?

It minifies the code using Terser and hashes the output. We use the normalizing effect of minimizing. However, there will be false negatives, meaning two functional identical pieces of code might have different fingerprints. False positives would be a bug though.

This is a very simple approach. Consider this module experimental.

API

sha = fingerprint(code [, warnings])

If the 2nd argument is provided it should be an empty array (or something else with a push method) and it will be filled with warnings (such as dead code removal) if they should occur.

License: MIT

Readme

Keywords

none

Package Sidebar

Install

npm i code-fingerprint

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

25.4 kB

Total Files

6

Last publish

Collaborators

  • regular