Skip to content

Commit

Permalink
Merge branch 'release/2.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
vbuch committed Sep 23, 2023
2 parents 5fb54ee + b7b6715 commit 1eb3d0f
Show file tree
Hide file tree
Showing 48 changed files with 296 additions and 20 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# CHANGELOG

## [2.0.0]

* Only publish dist files into npm (see https://bit.ly/46rykd7 on why this requires a major version);
* Produce and publish .d.ts;
* Bumped versions of semver and word-wrap;

## [1.5.1]

* Reorder authenticatedAttributes so that EU's verification passes;
Expand Down
16 changes: 16 additions & 0 deletions dist/SignPdfError.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
export const ERROR_TYPE_UNKNOWN: 1;
export const ERROR_TYPE_INPUT: 2;
export const ERROR_TYPE_PARSE: 3;
export const ERROR_VERIFY_SIGNATURE: 4;
export default SignPdfError;
declare class SignPdfError extends Error {
constructor(msg: any, type?: number);
type: number;
}
declare namespace SignPdfError {
export { ERROR_TYPE_UNKNOWN as TYPE_UNKNOWN };
export { ERROR_TYPE_INPUT as TYPE_INPUT };
export { ERROR_TYPE_PARSE as TYPE_PARSE };
export { ERROR_VERIFY_SIGNATURE as VERIFY_SIGNATURE };
}
//# sourceMappingURL=SignPdfError.d.ts.map
1 change: 1 addition & 0 deletions dist/SignPdfError.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions dist/helpers/const.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export const DEFAULT_SIGNATURE_LENGTH: 8192;
export const DEFAULT_BYTE_RANGE_PLACEHOLDER: "**********";
export const SUBFILTER_ADOBE_PKCS7_DETACHED: "adbe.pkcs7.detached";
export const SUBFILTER_ADOBE_PKCS7_SHA1: "adbe.pkcs7.sha1";
export const SUBFILTER_ADOBE_X509_SHA1: "adbe.x509.rsa.sha1";
export const SUBFILTER_ETSI_CADES_DETACHED: "ETSI.CAdES.detached";
//# sourceMappingURL=const.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/const.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions dist/helpers/extractSignature.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
export default extractSignature;
/**
* Basic implementation of signature extraction.
*
* Really basic. Would work in the simplest of cases where there is only one signature
* in a document and ByteRange is only used once in it.
*
* @param {Buffer} pdf
* @returns {Object} {ByteRange: Number[], signature: Buffer, signedData: Buffer}
*/
declare function extractSignature(pdf: Buffer, signatureCount?: number): any;
//# sourceMappingURL=extractSignature.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/extractSignature.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions dist/helpers/findByteRange.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export default findByteRange;
/**
* Finds ByteRange information within a given PDF Buffer if one exists
*
* @param {Buffer} pdf
* @returns {Object} {byteRangePlaceholder: String, byteRangeStrings: String[], byteRange: String[]}
*/
declare function findByteRange(pdf: Buffer): any;
//# sourceMappingURL=findByteRange.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/findByteRange.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions dist/helpers/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export { default as extractSignature } from "./extractSignature";
export { default as pdfkitAddPlaceholder } from "./pdfkitAddPlaceholder";
export { default as plainAddPlaceholder } from "./plainAddPlaceholder";
export { default as removeTrailingNewLine } from "./removeTrailingNewLine";
export { default as findByteRange } from "./findByteRange";
//# sourceMappingURL=index.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/index.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions dist/helpers/pdfkit/abstract_reference.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default PDFAbstractReference;
declare class PDFAbstractReference {
toString(): void;
}
//# sourceMappingURL=abstract_reference.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/pdfkit/abstract_reference.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions dist/helpers/pdfkit/pdfobject.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default class PDFObject {
static convert(object: any, encryptFn?: any): any;
static number(n: any): number;
}
//# sourceMappingURL=pdfobject.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/pdfkit/pdfobject.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions dist/helpers/pdfkitAddPlaceholder.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export default pdfkitAddPlaceholder;
/**
* Adds the objects that are needed for Adobe.PPKLite to read the signature.
* Also includes a placeholder for the actual signature.
* Returns an Object with all the added PDFReferences.
* @param {PDFDocument} pdf
* @param {string} reason
* @returns {object}
*/
declare function pdfkitAddPlaceholder({ pdf, pdfBuffer, reason, contactInfo, name, location, signatureLength, byteRangePlaceholder, subFilter, }: PDFDocument): object;
//# sourceMappingURL=pdfkitAddPlaceholder.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/pdfkitAddPlaceholder.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions dist/helpers/pdfkitReferenceMock.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export default PDFKitReferenceMock;
declare class PDFKitReferenceMock extends PDFAbstractReference {
constructor(index: any, additionalData?: any);
index: any;
toString(): string;
}
import PDFAbstractReference from './pdfkit/abstract_reference';
//# sourceMappingURL=pdfkitReferenceMock.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/pdfkitReferenceMock.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default createBufferPageWithAnnotation;
declare function createBufferPageWithAnnotation(pdf: any, info: any, pagesRef: any, widget: any): Buffer;
//# sourceMappingURL=createBufferPageWithAnnotation.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default createBufferRootWithAcroform;
declare function createBufferRootWithAcroform(pdf: any, info: any, form: any): Buffer;
//# sourceMappingURL=createBufferRootWithAcroform.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions dist/helpers/plainAddPlaceholder/createBufferTrailer.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default createBufferTrailer;
declare function createBufferTrailer(pdf: any, info: any, addedReferences: any): Buffer;
//# sourceMappingURL=createBufferTrailer.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions dist/helpers/plainAddPlaceholder/findObject.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export default findObject;
/**
* @param {Buffer} pdf
* @param {Map} refTable
* @returns {object}
*/
declare function findObject(pdf: Buffer, refTable: Map<any, any>, ref: any): object;
//# sourceMappingURL=findObject.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/plainAddPlaceholder/findObject.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions dist/helpers/plainAddPlaceholder/getIndexFromRef.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export default getIndexFromRef;
/**
* @param {object} refTable
* @param {string} ref
* @returns {number}
*/
declare function getIndexFromRef(refTable: object, ref: string): number;
//# sourceMappingURL=getIndexFromRef.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/plainAddPlaceholder/getIndexFromRef.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions dist/helpers/plainAddPlaceholder/getPageRef.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/**
* Finds the reference to a page.
*
* @param {Buffer} pdfBuffer
* @param {Object} info As extracted from readRef()
*/
export default function getPageRef(pdfBuffer: Buffer, info: any): string;
//# sourceMappingURL=getPageRef.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/plainAddPlaceholder/getPageRef.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions dist/helpers/plainAddPlaceholder/getPagesDictionaryRef.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**
* @param {Object} info As extracted from readRef()
*/
export default function getPagesDictionaryRef(info: any): string;
//# sourceMappingURL=getPagesDictionaryRef.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions dist/helpers/plainAddPlaceholder/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
export default plainAddPlaceholder;
/**
* Adds a signature placeholder to a PDF Buffer.
*
* This contrasts with the default pdfkit-based implementation.
* Parsing is done using simple string operations.
* Adding is done with `Buffer.concat`.
* This allows node-signpdf to be used on any PDF and
* not only on a freshly created through PDFKit one.
*/
declare function plainAddPlaceholder({ pdfBuffer, reason, contactInfo, name, location, signatureLength, subFilter, }: {
pdfBuffer: any;
reason: any;
contactInfo?: string;
name?: string;
location?: string;
signatureLength?: number;
subFilter?: string;
}): Buffer;
//# sourceMappingURL=index.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/plainAddPlaceholder/index.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions dist/helpers/plainAddPlaceholder/readPdf.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
export default readPdf;
/**
* Simplified parsing of a PDF Buffer.
* Extracts reference table, root info and trailer start.
*
* See section 7.5.5 (File Trailer) of the PDF specs.
*
* @param {Buffer} pdfBuffer
*/
declare function readPdf(pdfBuffer: Buffer): {
xref: any;
rootRef: any;
root: any;
infoRef: any;
trailerStart: number;
previousXrefs: any[];
xRefPosition: string;
};
//# sourceMappingURL=readPdf.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/plainAddPlaceholder/readPdf.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions dist/helpers/plainAddPlaceholder/readRefTable.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export function getLastTrailerPosition(pdf: any): number;
export function getXref(pdf: any, position: any): {
size: any;
prev: string;
xRefContent: Map<any, any>;
};
export function getFullXrefTable(pdf: any): any;
export default readRefTable;
/**
* @param {Buffer} pdfBuffer
* @returns {object}
*/
declare function readRefTable(pdf: any): object;
//# sourceMappingURL=readRefTable.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/plainAddPlaceholder/readRefTable.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions dist/helpers/plainAddPlaceholder/xrefToRefMap.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default xrefToRefMap;
declare function xrefToRefMap(xrefString: any): Map<any, any>;
//# sourceMappingURL=xrefToRefMap.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/plainAddPlaceholder/xrefToRefMap.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions dist/helpers/removeTrailingNewLine.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
export default removeTrailingNewLine;
/**
* Removes a trailing new line if there is such.
*
* Also makes sure the file ends with an EOF line as per spec.
* @param {Buffer} pdf
* @returns {Buffer}
*/
declare function removeTrailingNewLine(pdf: Buffer): Buffer;
//# sourceMappingURL=removeTrailingNewLine.d.ts.map
1 change: 1 addition & 0 deletions dist/helpers/removeTrailingNewLine.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions dist/signpdf.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export { default as SignPdfError } from "./SignPdfError";
export * from "./helpers";
export * from "./helpers/const";
export class SignPdf {
byteRangePlaceholder: string;
lastSignature: string;
sign(pdfBuffer: any, p12Buffer: any, additionalOptions?: {}): Buffer;
}
declare const _default: SignPdf;
export default _default;
//# sourceMappingURL=signpdf.d.ts.map
1 change: 1 addition & 0 deletions dist/signpdf.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 11 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "node-signpdf",
"version": "1.5.1",
"version": "2.0.0",
"description": "Simple signing of PDFs in node.",
"repository": {
"type": "git",
Expand All @@ -23,14 +23,19 @@
"digital signature"
],
"main": "dist/signpdf.js",
"files": [
"dist",
"LICENSE",
"README.md"
],
"engines": {
"node": ">=12"
},
"scripts": {
"test:coverage": "./node_modules/.bin/jest --coverage",
"test": "./node_modules/.bin/jest",
"test:watch": "./node_modules/.bin/jest --watch",
"build": "./node_modules/.bin/babel ./src -d ./dist --ignore \"**/*.test.js\"",
"build": "rm -rf ./dist/* & ./node_modules/.bin/babel ./src -d ./dist --ignore \"**/*.test.js\" & tsc",
"build:watch": "./node_modules/.bin/babel --watch ./src -d ./dist --ignore \"**/*.test.js\"",
"lint": "./node_modules/.bin/eslint -c .eslintrc --ignore-path .eslintignore ./",
"prepare": "husky install"
Expand All @@ -45,6 +50,8 @@
"@babel/node": "^7.0.0",
"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
"@babel/preset-env": "^7.4.2",
"@types/node": ">=12.0.0",
"@types/node-forge": "^1.2.1",
"assertion-error": "^1.1.0",
"babel-jest": "^27.3.1",
"babel-plugin-module-resolver": "^3.1.1",
Expand All @@ -57,6 +64,7 @@
"husky": "^7.0.4",
"jest": "^27.3.1",
"node-forge": "^1.2.1",
"pdfkit": "^0.10.0"
"pdfkit": "^0.10.0",
"typescript": "^5.2.2"
}
}
22 changes: 22 additions & 0 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
// Change this to match your project
"include": ["src/**/*"],
"exclude": ["**/*.test.*"],
"compilerOptions": {
// Tells TypeScript to read JS files, as
// normally they are ignored as source files
"allowJs": true,
// Generate d.ts files
"declaration": true,
// This compiler run should
// only output d.ts files
"emitDeclarationOnly": true,
// Types should go into this directory.
// Removing this would place the .d.ts files
// next to the .js files
"outDir": "dist",
// go to js file when using IDE functions like
// "Go to Definition" in VSCode
"declarationMap": true
}
}
Loading

0 comments on commit 1eb3d0f

Please sign in to comment.