pdf-visual-diff
Advanced tools
| // @ts-check | ||
| import eslint from '@eslint/js' | ||
| import tseslint from 'typescript-eslint' | ||
| import tsdoceslint from 'eslint-plugin-tsdoc' | ||
| export default tseslint.config({ | ||
| files: ['**/*.ts'], | ||
| extends: [eslint.configs.recommended, ...tseslint.configs.strict, ...tseslint.configs.stylistic], | ||
| plugins: { | ||
| tsdoc: tsdoceslint, | ||
| }, | ||
| rules: { | ||
| 'tsdoc/syntax': 'error', | ||
| '@typescript-eslint/array-type': 'off', | ||
| '@typescript-eslint/consistent-type-definitions': 'off', | ||
| }, | ||
| }) |
| export {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_test_1 = require("node:test"); | ||
| const assert = require("node:assert/strict"); | ||
| const utils_1 = require("./utils"); | ||
| const filePath = '/pdf-visual-diff/src/__snapshots__/two-page.new.png'; | ||
| (0, node_test_1.describe)('cli utils', () => { | ||
| (0, node_test_1.it)('mkCurrentSnapshotPath()', async () => assert.strictEqual((0, utils_1.mkCurrentSnapshotPath)(filePath), '/pdf-visual-diff/src/__snapshots__/two-page.png')); | ||
| (0, node_test_1.it)('mkDiffSnapshotPath()', async () => assert.strictEqual((0, utils_1.mkDiffSnapshotPath)(filePath), '/pdf-visual-diff/src/__snapshots__/two-page.diff.png')); | ||
| }); | ||
| //# sourceMappingURL=utils.test.js.map |
| {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/cli/utils.test.ts"],"names":[],"mappings":";;AAAA,yCAAwC;AACxC,6CAA4C;AAC5C,mCAAmE;AAEnE,MAAM,QAAQ,GAAG,qDAAqD,CAAA;AAEtE,IAAA,oBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAA,cAAE,EAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,CACvC,MAAM,CAAC,WAAW,CAChB,IAAA,6BAAqB,EAAC,QAAQ,CAAC,EAC/B,iDAAiD,CAClD,CAAC,CAAA;IAEJ,IAAA,cAAE,EAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CACpC,MAAM,CAAC,WAAW,CAChB,IAAA,0BAAkB,EAAC,QAAQ,CAAC,EAC5B,sDAAsD,CACvD,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"} |
| export {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_test_1 = require("node:test"); | ||
| const assert = require("node:assert/strict"); | ||
| const compare_images_1 = require("./compare-images"); | ||
| const path_1 = require("path"); | ||
| const fs_1 = require("fs"); | ||
| const jimp_1 = require("jimp"); | ||
| (0, node_test_1.describe)('mkDiffPath()', () => { | ||
| (0, node_test_1.it)('should mk path with extension', () => assert.strictEqual((0, compare_images_1.mkDiffPath)('some-path.ext'), 'some-path.diff.ext')); | ||
| (0, node_test_1.it)('should mk path with extension when starts with .', () => assert.strictEqual((0, compare_images_1.mkDiffPath)('./some-path.ext'), './some-path.diff.ext')); | ||
| (0, node_test_1.it)('should handle empty', () => assert.strictEqual((0, compare_images_1.mkDiffPath)(''), '.diff')); | ||
| (0, node_test_1.it)('should mk path without extension', () => assert.strictEqual((0, compare_images_1.mkDiffPath)('some-path'), 'some-path.diff')); | ||
| }); | ||
| const expectedImageName = 'sample-image-expected.png'; | ||
| const sampleImage = 'sample-image.png'; | ||
| const sampleImage2 = 'sample-image-2.png'; | ||
| const testDataDir = (0, path_1.join)(__dirname, './test-data'); | ||
| const expectedImagePath = (0, path_1.join)(testDataDir, expectedImageName); | ||
| const imagePath = (0, path_1.join)(testDataDir, sampleImage); | ||
| const image2Path = (0, path_1.join)(testDataDir, sampleImage2); | ||
| (0, node_test_1.describe)('compareImages()', () => { | ||
| (0, node_test_1.it)('should succeed comparing', () => jimp_1.Jimp.read(imagePath) | ||
| .then((x) => x) | ||
| .then((img) => (0, compare_images_1.compareImages)(expectedImagePath, [img])) | ||
| .then((x) => { | ||
| assert.strictEqual(x.equal, true); | ||
| assert.strictEqual((0, fs_1.existsSync)((0, compare_images_1.mkDiffPath)(imagePath)), false, 'should not generate diff output'); | ||
| })); | ||
| (0, node_test_1.it)('should fail comparing and output diff', () => jimp_1.Jimp.read(image2Path) | ||
| .then((x) => x) | ||
| .then((img) => (0, compare_images_1.compareImages)(expectedImagePath, [img])) | ||
| .then((x) => { | ||
| assert.strictEqual(x.equal, false); | ||
| assert.ok(x.diffs && x.diffs[0] && 'diff' in x.diffs[0], "Expected 'diffs[0].diff' to exist"); | ||
| assert.ok(x.diffs && x.diffs[0] && 'page' in x.diffs[0], "Expected 'diffs[0].page' to exist"); | ||
| })); | ||
| }); | ||
| //# sourceMappingURL=compare-images.test.js.map |
| {"version":3,"file":"compare-images.test.js","sourceRoot":"","sources":["../src/compare-images.test.ts"],"names":[],"mappings":"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"} |
| export {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_test_1 = require("node:test"); | ||
| const assert = require("node:assert/strict"); | ||
| const jimp_1 = require("jimp"); | ||
| const compare_pdf_to_snapshot_1 = require("./compare-pdf-to-snapshot"); | ||
| const path_1 = require("path"); | ||
| const fs_1 = require("fs"); | ||
| const compare_images_1 = require("./compare-images"); | ||
| const fs = require("fs/promises"); | ||
| const types_1 = require("./types"); | ||
| const testDataDir = (0, path_1.join)(__dirname, './test-data'); | ||
| const pdfs = (0, path_1.join)(testDataDir, 'pdfs'); | ||
| const singlePageSmallPdfPath = (0, path_1.join)(pdfs, 'single-page-small.pdf'); | ||
| const singlePagePdfPath = (0, path_1.join)(pdfs, 'single-page.pdf'); | ||
| const twoPagePdfPath = (0, path_1.join)(pdfs, 'two-page.pdf'); | ||
| (0, node_test_1.describe)('comparePdfToSnapshot()', () => { | ||
| (0, node_test_1.it)('should create new snapshot, when one does not exists', () => { | ||
| const snapshotName = 'single-page-small'; | ||
| const snapshotPath = (0, path_1.join)(__dirname, compare_pdf_to_snapshot_1.snapshotsDirName, snapshotName + '.png'); | ||
| if ((0, fs_1.existsSync)(snapshotPath)) { | ||
| (0, fs_1.unlinkSync)(snapshotPath); | ||
| } | ||
| return (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(singlePageSmallPdfPath, __dirname, snapshotName).then((x) => { | ||
| assert.strictEqual(x, true); | ||
| assert.strictEqual((0, fs_1.existsSync)(snapshotPath), true); | ||
| (0, fs_1.unlinkSync)(snapshotPath); | ||
| }); | ||
| }); | ||
| (0, node_test_1.it)('should fail and create diff with new version', () => (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(singlePagePdfPath, __dirname, 'two-page').then((x) => { | ||
| assert.strictEqual(x, false); | ||
| const snapshotDiffPath = (0, path_1.join)(__dirname, compare_pdf_to_snapshot_1.snapshotsDirName, 'two-page.diff.png'); | ||
| assert.strictEqual((0, fs_1.existsSync)(snapshotDiffPath), true, 'diff is not created'); | ||
| const snapshotNewPath = (0, path_1.join)(__dirname, compare_pdf_to_snapshot_1.snapshotsDirName, 'two-page.new.png'); | ||
| assert.strictEqual((0, fs_1.existsSync)(snapshotNewPath), true, 'new is not created'); | ||
| })); | ||
| (0, node_test_1.describe)('should pass', () => { | ||
| (0, node_test_1.it)('should pass', () => (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(twoPagePdfPath, __dirname, 'two-page-success').then((x) => assert.strictEqual(x, true))); | ||
| const testDataDir = (0, path_1.join)(__dirname, './test-data'); | ||
| const pdfs = (0, path_1.join)(testDataDir, 'pdfs'); | ||
| const singlePageSmall = (0, path_1.join)(pdfs, 'single-page-small.pdf'); | ||
| const singlePage = (0, path_1.join)(pdfs, 'single-page.pdf'); | ||
| const tamReview = (0, path_1.join)(pdfs, 'TAMReview.pdf'); | ||
| const twoPage = (0, path_1.join)(pdfs, 'two-page.pdf'); | ||
| const expectedDir = (0, path_1.join)(testDataDir, 'pdf2png-expected'); | ||
| const testPdf2png = (pdf, expectedImageName, options) => { | ||
| return (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(pdf, expectedDir, expectedImageName, options).then((x) => { | ||
| assert.strictEqual(x, true); | ||
| }); | ||
| }; | ||
| (0, node_test_1.it)('single-page-small.pdf', () => testPdf2png(singlePageSmall, 'single-page-small')); | ||
| (0, node_test_1.it)('single-page.pdf', () => testPdf2png(singlePage, 'single-page')); | ||
| (0, node_test_1.it)('TAMReview.pdf', () => testPdf2png(tamReview, 'TAMReview')); | ||
| (0, node_test_1.it)('TAMReview.pdf without scaling', () => testPdf2png(tamReview, 'TAMReview_without_scaling', { | ||
| pdf2PngOptions: { dpi: types_1.Dpi.Low }, | ||
| })); | ||
| (0, node_test_1.it)('two-page.pdf', () => testPdf2png(twoPage, 'two-page')); | ||
| (0, node_test_1.it)('two-page.pdf buffer', () => fs.readFile(twoPage).then((x) => testPdf2png(x, 'two-page'))); | ||
| }); | ||
| (0, node_test_1.describe)('maskRegions', () => { | ||
| const blueMask = { | ||
| type: 'rectangle-mask', | ||
| x: 50, | ||
| y: 75, | ||
| width: 140, | ||
| height: 100, | ||
| color: 'Blue', | ||
| }; | ||
| const greenMask = { | ||
| type: 'rectangle-mask', | ||
| x: 110, | ||
| y: 200, | ||
| width: 90, | ||
| height: 50, | ||
| color: 'Green', | ||
| }; | ||
| const opts = { | ||
| maskRegions: () => [blueMask, greenMask], | ||
| }; | ||
| (0, node_test_1.it)('should succeed comparing masked pdf', () => (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(singlePagePdfPath, __dirname, 'mask-rectangle-masks', opts).then((x) => assert.strictEqual(x, true))); | ||
| (0, node_test_1.it)('should succeed comparing masked pdf without scaling', () => { | ||
| const blueMaskSmall = { | ||
| type: 'rectangle-mask', | ||
| x: 25, | ||
| y: 37, | ||
| width: 70, | ||
| height: 50, | ||
| color: 'Blue', | ||
| }; | ||
| const greenMaskSmall = { | ||
| type: 'rectangle-mask', | ||
| x: 55, | ||
| y: 100, | ||
| width: 45, | ||
| height: 25, | ||
| color: 'Green', | ||
| }; | ||
| return (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(singlePagePdfPath, __dirname, 'mask-rectangle-masks_without_scaling', { | ||
| pdf2PngOptions: { dpi: 72 }, | ||
| maskRegions: () => [blueMaskSmall, greenMaskSmall], | ||
| }).then((x) => assert.strictEqual(x, true)); | ||
| }); | ||
| (0, node_test_1.it)('should mask multi page pdf', () => (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(twoPagePdfPath, __dirname, 'mask-multi-page-pdf', opts).then((x) => assert.strictEqual(x, true))); | ||
| (0, node_test_1.it)('should have different mask per page', () => (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(twoPagePdfPath, __dirname, 'mask-different-mask-per-page', { | ||
| maskRegions: (page) => { | ||
| switch (page) { | ||
| case 1: | ||
| return [blueMask]; | ||
| case 2: | ||
| return [greenMask]; | ||
| default: | ||
| return []; | ||
| } | ||
| }, | ||
| }).then((x) => assert.strictEqual(x, true))); | ||
| (0, node_test_1.it)('should mask only second page of the pdf', () => (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(twoPagePdfPath, __dirname, 'mask-only-second-page-of-the-pdf', { | ||
| maskRegions: (page) => (page === 2 ? [blueMask, greenMask] : []), | ||
| }).then((x) => assert.strictEqual(x, true))); | ||
| (0, node_test_1.it)('should mask only second page of the pdf and handle undefined masks', () => (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(twoPagePdfPath, __dirname, 'mask-only-second-page-of-the-pdf-with-undefined', { | ||
| maskRegions: (page) => (page === 2 ? [blueMask, greenMask] : undefined), | ||
| }).then((x) => assert.strictEqual(x, true))); | ||
| (0, node_test_1.it)('should create initial masked image', () => { | ||
| const snapshotName = 'initial-rectangle-masks'; | ||
| const snapshotPath = (0, path_1.join)(__dirname, compare_pdf_to_snapshot_1.snapshotsDirName, snapshotName + '.png'); | ||
| const expectedImagePath = (0, path_1.join)(__dirname, './test-data', 'expected-initial-rectangle-masks.png'); | ||
| if ((0, fs_1.existsSync)(snapshotPath)) { | ||
| (0, fs_1.unlinkSync)(snapshotPath); | ||
| } | ||
| return (0, compare_pdf_to_snapshot_1.comparePdfToSnapshot)(singlePagePdfPath, __dirname, snapshotName, opts) | ||
| .then((x) => assert.strictEqual(x, true)) | ||
| .then(() => jimp_1.Jimp.read(snapshotPath)) | ||
| .then((x) => x) | ||
| .then((img) => (0, compare_images_1.compareImages)(expectedImagePath, [img], { tolerance: 0 }).then((x) => assert.strictEqual(x.equal, true, 'generated initial rectangle masks does not match expected one'))) | ||
| .then(() => (0, fs_1.unlinkSync)(snapshotPath)); | ||
| }); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=compare-pdf-to-snapshot.test.js.map |
| {"version":3,"file":"compare-pdf-to-snapshot.test.js","sourceRoot":"","sources":["../src/compare-pdf-to-snapshot.test.ts"],"names":[],"mappings":"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"} |
| export {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_test_1 = require("node:test"); | ||
| const assert = require("node:assert/strict"); | ||
| const conversions_1 = require("./conversions"); | ||
| (0, node_test_1.describe)('conversions', () => { | ||
| (0, node_test_1.describe)('convertFromMmToPx', () => { | ||
| (0, node_test_1.it)('should convert millimeters to pixels correctly', () => { | ||
| assert.strictEqual((0, conversions_1.convertFromMmToPx)(10, 300), 118); | ||
| assert.strictEqual((0, conversions_1.convertFromMmToPx)(25.4, 300), 300); | ||
| assert.strictEqual((0, conversions_1.convertFromMmToPx)(0, 300), 0); | ||
| assert.strictEqual((0, conversions_1.convertFromMmToPx)(10, 0), 0); | ||
| assert.strictEqual((0, conversions_1.convertFromMmToPx)(-10, 300), 0); | ||
| assert.strictEqual((0, conversions_1.convertFromMmToPx)(10, -300), 0); | ||
| }); | ||
| }); | ||
| (0, node_test_1.describe)('convertFromPxToMm', () => { | ||
| (0, node_test_1.it)('should convert pixels to millimeters correctly', () => { | ||
| assert.strictEqual((0, conversions_1.convertFromPxToMm)(300, 300), 25); | ||
| assert.strictEqual((0, conversions_1.convertFromPxToMm)(118, 300), 10); | ||
| assert.strictEqual((0, conversions_1.convertFromPxToMm)(0, 300), 0); | ||
| assert.strictEqual((0, conversions_1.convertFromPxToMm)(300, 0), 0); | ||
| assert.strictEqual((0, conversions_1.convertFromPxToMm)(-300, 300), 0); | ||
| assert.strictEqual((0, conversions_1.convertFromPxToMm)(300, -300), 0); | ||
| }); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=conversions.test.js.map |
| {"version":3,"file":"conversions.test.js","sourceRoot":"","sources":["../../src/conversions/conversions.test.ts"],"names":[],"mappings":";;AAAA,yCAAwC;AACxC,6CAA4C;AAC5C,+CAAoE;AAEpE,IAAA,oBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAA,oBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAA,cAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YACnD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YACrD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/C,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAClD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAA,oBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAA,cAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YACnD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YACnD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACnD,MAAM,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} |
| export {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_test_1 = require("node:test"); | ||
| const assert = require("node:assert/strict"); | ||
| const path_1 = require("path"); | ||
| const pdf2png_1 = require("./pdf2png"); | ||
| const compare_images_1 = require("../compare-images"); | ||
| const types_1 = require("../types"); | ||
| const testDataDir = (0, path_1.join)(__dirname, '../test-data'); | ||
| const pdfs = (0, path_1.join)(testDataDir, 'pdfs'); | ||
| const singlePage = (0, path_1.join)(pdfs, 'single-page.pdf'); | ||
| const twoPage = (0, path_1.join)(pdfs, 'two-page.pdf'); | ||
| const cmaps = (0, path_1.join)(pdfs, 'cmaps.pdf'); | ||
| const expectedDir = (0, path_1.join)(testDataDir, 'pdf2png-expected'); | ||
| (0, node_test_1.describe)('pdf2png()', () => { | ||
| (0, node_test_1.it)('two-page.pdf png per page with scaling', () => { | ||
| const expectedImage1Path = (0, path_1.join)(expectedDir, 'two-page_png_per_page_scaled_1.png'); | ||
| const expectedImage2Path = (0, path_1.join)(expectedDir, 'two-page_png_per_page_scaled_2.png'); | ||
| return (0, pdf2png_1.pdf2png)(twoPage, { dpi: types_1.Dpi.High }) | ||
| .then((imgs) => { | ||
| return Promise.all([ | ||
| (0, compare_images_1.compareImages)(expectedImage1Path, [imgs[0]]), | ||
| (0, compare_images_1.compareImages)(expectedImage2Path, [imgs[1]]), | ||
| ]); | ||
| }) | ||
| .then((results) => { | ||
| results.forEach((x) => assert.strictEqual(x.equal, true)); | ||
| }); | ||
| }); | ||
| (0, node_test_1.it)('two-page.pdf png per page and without scaling', () => { | ||
| const expectedImage1Path = (0, path_1.join)(expectedDir, 'two-page_png_per_page_1.png'); | ||
| const expectedImage2Path = (0, path_1.join)(expectedDir, 'two-page_png_per_page_2.png'); | ||
| return (0, pdf2png_1.pdf2png)(twoPage, { dpi: types_1.Dpi.Low }) | ||
| .then((imgs) => { | ||
| return Promise.all([ | ||
| (0, compare_images_1.compareImages)(expectedImage1Path, [imgs[0]]), | ||
| (0, compare_images_1.compareImages)(expectedImage2Path, [imgs[1]]), | ||
| ]); | ||
| }) | ||
| .then((results) => { | ||
| results.forEach((x) => assert.strictEqual(x.equal, true)); | ||
| }); | ||
| }); | ||
| (0, node_test_1.it)('should scale using custom DPI', () => { | ||
| const expectedImagePath = (0, path_1.join)(expectedDir, 'should_scale_using_custom_DPI.png'); | ||
| return (0, pdf2png_1.pdf2png)(singlePage, { dpi: 200 }) | ||
| .then((imgs) => (0, compare_images_1.compareImages)(expectedImagePath, imgs)) | ||
| .then((result) => assert.strictEqual(result.equal, true)); | ||
| }); | ||
| (0, node_test_1.it)('pdf that requires cmaps', () => { | ||
| const expectedImagePath = (0, path_1.join)(expectedDir, 'cmaps.png'); | ||
| return (0, pdf2png_1.pdf2png)(cmaps) | ||
| .then((imgs) => (0, compare_images_1.compareImages)(expectedImagePath, imgs)) | ||
| .then((result) => assert.strictEqual(result.equal, true)); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=pdf2png.test.js.map |
| {"version":3,"file":"pdf2png.test.js","sourceRoot":"","sources":["../../src/pdf2png/pdf2png.test.ts"],"names":[],"mappings":"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"} |
+6
-3
| # Changelog | ||
| ## 0.10.0 / 2024-09-06 | ||
| - [#58](https://github.com/moshensky/pdf-visual-diff/issues/58): Expose option to set rendering DPI. | ||
| - [PR#65](https://github.com/moshensky/pdf-visual-diff/pull/65): Add [API documentation](https://moshensky.github.io/pdf-visual-diff/). | ||
| ## 0.9.0 / 2023-09-04 | ||
@@ -15,3 +20,3 @@ | ||
| If you haven't used `maskRegions` then you don't have to change anything. | ||
| If you haven't used `maskRegions` then you don't have to change anything. | ||
| `maskRegions` is changed from `ReadonlyArray<RegionMask>` to `(page: number) => ReadonlyArray<RegionMask>`. Straight forward code update could be: | ||
@@ -42,4 +47,2 @@ | ||
| ## 0.7.1 / 2023-02-23 | ||
@@ -46,0 +49,0 @@ |
| #!/usr/bin/env node | ||
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.approve = void 0; | ||
| const fs_1 = __importDefault(require("fs")); | ||
| const fs = require("fs/promises"); | ||
| const utils_1 = require("./utils"); | ||
| const fs = fs_1.default.promises; | ||
| exports.approve = { | ||
@@ -12,0 +8,0 @@ command: 'approve', |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/cli/approve.ts"],"names":[],"mappings":";;;;;;;AAGA,4CAAoB;AACpB,mCAAmG;AAEnG,MAAM,EAAE,GAAG,YAAG,CAAC,QAAQ,CAAA;AAQV,QAAA,OAAO,GAAsC;IACxD,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,uBAAuB;IACjC,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;SACb;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,eAAe;SACzB;KACF;IACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACtC,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAA;YAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjF,OAAO,IAAA,0BAAkB,EAAC;;EAE9B,WAAW;sDACyC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACnE,IAAI,SAAS,EAAE;oBACb,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAA,6BAAqB,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAA,0BAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,CACpF,CACF,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAA;iBACjE;gBACD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;gBAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"} | ||
| {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/cli/approve.ts"],"names":[],"mappings":";;;;AAGA,kCAAiC;AACjC,mCAAmG;AAQtF,QAAA,OAAO,GAAsC;IACxD,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,uBAAuB;IACjC,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;SACb;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,eAAe;SACzB;KACF;IACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACtC,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAA;YAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjF,OAAO,IAAA,0BAAkB,EAAC;;EAE9B,WAAW;sDACyC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACnE,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAA,6BAAqB,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAA,0BAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,CACpF,CACF,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAA;gBAClE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;gBAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"} |
| #!/usr/bin/env node | ||
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.discard = void 0; | ||
| const utils_1 = require("./utils"); | ||
| const fs_1 = __importDefault(require("fs")); | ||
| const fs = fs_1.default.promises; | ||
| const fs = require("fs/promises"); | ||
| exports.discard = { | ||
@@ -12,0 +8,0 @@ command: 'discard', |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"discard.js","sourceRoot":"","sources":["../../src/cli/discard.ts"],"names":[],"mappings":";;;;;;;AAGA,mCAAwD;AACxD,4CAAoB;AAEpB,MAAM,EAAE,GAAG,YAAG,CAAC,QAAQ,CAAA;AAQV,QAAA,OAAO,GAAsC;IACxD,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,iCAAiC;IAC3C,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;SACb;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,eAAe;SACzB;KACF;IACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACtC,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAA;YAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjF,OAAO,IAAA,0BAAkB,EAAC;;EAE9B,WAAW;0CAC6B,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACvD,IAAI,SAAS,EAAE;oBACb,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3D,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAC/D,CAAA;iBACF;gBACD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;gBAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"} | ||
| {"version":3,"file":"discard.js","sourceRoot":"","sources":["../../src/cli/discard.ts"],"names":[],"mappings":";;;;AAGA,mCAAwD;AACxD,kCAAiC;AAQpB,QAAA,OAAO,GAAsC;IACxD,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,iCAAiC;IAC3C,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;SACb;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,eAAe;SACzB;KACF;IACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACtC,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAA;YAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjF,OAAO,IAAA,0BAAkB,EAAC;;EAE9B,WAAW;0CAC6B,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3D,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAC/D,CAAA;gBACH,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;gBAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"} |
+1
-4
| #!/usr/bin/env node | ||
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const yargs_1 = __importDefault(require("yargs")); | ||
| const yargs_1 = require("yargs"); | ||
| const helpers_1 = require("yargs/helpers"); | ||
@@ -9,0 +6,0 @@ const approve_1 = require("./approve"); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;AAEA,kDAAyB;AACzB,2CAAuC;AACvC,uCAAmC;AACnC,uCAAmC;AAEnC,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAO,CAAC,CAAC,OAAO,CAAC,iBAAO,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AAEA,iCAAyB;AACzB,2CAAuC;AACvC,uCAAmC;AACnC,uCAAmC;AAEnC,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAO,CAAC,CAAC,OAAO,CAAC,iBAAO,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAA"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,+BAA2B;AAC3B,uCAA0C;AAE1C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAA;AAE5B,MAAM,qBAAqB,GAAG,CAAC,eAAuB,EAAU,EAAE,CACvE,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAA;AAD9D,QAAA,qBAAqB,yBACyC;AAEpE,MAAM,kBAAkB,GAAG,CAAC,eAAuB,EAAU,EAAE,CACpE,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,WAAW,CAAA;AADnE,QAAA,kBAAkB,sBACiD;AAEzE,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAoB,EAAE;IACvE,MAAM,QAAQ,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAClF,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YAClD,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAA;YACjD,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxD,GAAG,CAAC,IAAI,CAAC,CAAA;aACV;iBAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5C,GAAG,CAAC,KAAK,CAAC,CAAA;aACX;iBAAM;gBACL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAA;gBAClF,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aACvC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAhBY,QAAA,kBAAkB,sBAgB9B;AAEM,MAAM,UAAU,GAAG,CACxB,YAAY,GAAG,GAAG,EAClB,gBAAgB,GAAG,eAAe,EAClC,cAAc,GAAG,WAAW,EACI,EAAE;IAClC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;IACzF,OAAO,IAAA,WAAI,EAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"} | ||
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,+BAA2B;AAC3B,uCAA0C;AAE1C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAA;AAE5B,MAAM,qBAAqB,GAAG,CAAC,eAAuB,EAAU,EAAE,CACvE,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAA;AAD9D,QAAA,qBAAqB,yBACyC;AAEpE,MAAM,kBAAkB,GAAG,CAAC,eAAuB,EAAU,EAAE,CACpE,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,WAAW,CAAA;AADnE,QAAA,kBAAkB,sBACiD;AAEzE,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAoB,EAAE;IACvE,MAAM,QAAQ,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAClF,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YAClD,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAA;YACjD,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,IAAI,CAAC,CAAA;YACX,CAAC;iBAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,KAAK,CAAC,CAAA;YACZ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAA;gBAClF,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxC,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAhBY,QAAA,kBAAkB,sBAgB9B;AAEM,MAAM,UAAU,GAAG,CACxB,YAAY,GAAG,GAAG,EAClB,gBAAgB,GAAG,eAAe,EAClC,cAAc,GAAG,WAAW,EACI,EAAE;IAClC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;IACzF,OAAO,IAAA,WAAI,EAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"} |
@@ -1,2 +0,2 @@ | ||
| import Jimp from 'jimp'; | ||
| import { JimpInstance } from 'jimp'; | ||
| export declare const mkDiffPath: (path: string) => string; | ||
@@ -14,7 +14,7 @@ /** The options type for {@link compareImages}. */ | ||
| page: number; | ||
| diff: Jimp; | ||
| diff: JimpInstance; | ||
| }>; | ||
| }; | ||
| type CompareImagesResult = CompareOK | CompareKO; | ||
| export declare const compareImages: (expectedImagePath: string, images: ReadonlyArray<Jimp>, options?: CompareImagesOpts) => Promise<CompareImagesResult>; | ||
| export declare const compareImages: (expectedImagePath: string, images: ReadonlyArray<JimpInstance>, options?: CompareImagesOpts) => Promise<CompareImagesResult>; | ||
| export {}; |
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.compareImages = exports.mkDiffPath = void 0; | ||
| const jimp_1 = __importStar(require("jimp")); | ||
| const jimp_1 = require("jimp"); | ||
| const imageUtils_1 = require("./imageUtils"); | ||
@@ -42,6 +19,7 @@ const diffToken = '.diff'; | ||
| const { tolerance } = Object.assign(Object.assign({}, defaultOpts), options); | ||
| const expectedImg = await (0, jimp_1.read)(expectedImagePath); | ||
| // @ts-expect-error it is a Jimp | ||
| const expectedImg = await jimp_1.Jimp.read(expectedImagePath); | ||
| // Multi image comparison not implemented! | ||
| const img = (0, imageUtils_1.mergeImages)(images); | ||
| const diff = jimp_1.default.diff(expectedImg, img, tolerance); | ||
| const diff = (0, jimp_1.diff)(expectedImg, img, tolerance); | ||
| if (diff.percent > 0) { | ||
@@ -48,0 +26,0 @@ return { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"compare-images.js","sourceRoot":"","sources":["../src/compare-images.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAiC;AACjC,6CAA0C;AAE1C,MAAM,SAAS,GAAG,OAAO,CAAA;AAClB,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACtC,OAAO,QAAQ,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,IAAI,GAAG,SAAS;QAClB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AACxE,CAAC,CAAA;AALY,QAAA,UAAU,cAKtB;AAOD,MAAM,WAAW,GAAgC;IAC/C,SAAS,EAAE,CAAC;CACb,CAAA;AAgBM,MAAM,aAAa,GAAG,KAAK,EAChC,iBAAyB,EACzB,MAA2B,EAC3B,OAA2B,EACG,EAAE;IAChC,MAAM,EAAE,SAAS,EAAE,mCACd,WAAW,GACX,OAAO,CACX,CAAA;IACD,MAAM,WAAW,GAAG,MAAM,IAAA,WAAI,EAAC,iBAAiB,CAAC,CAAA;IACjD,0CAA0C;IAC1C,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IACnD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;QACpB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SACvC,CAAA;KACF;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC,CAAA;AArBY,QAAA,aAAa,iBAqBzB"} | ||
| {"version":3,"file":"compare-images.js","sourceRoot":"","sources":["../src/compare-images.ts"],"names":[],"mappings":";;;AAAA,+BAA2D;AAC3D,6CAA0C;AAE1C,MAAM,SAAS,GAAG,OAAO,CAAA;AAClB,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACtC,OAAO,QAAQ,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,IAAI,GAAG,SAAS;QAClB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AACxE,CAAC,CAAA;AALY,QAAA,UAAU,cAKtB;AAOD,MAAM,WAAW,GAAgC;IAC/C,SAAS,EAAE,CAAC;CACb,CAAA;AAgBM,MAAM,aAAa,GAAG,KAAK,EAChC,iBAAyB,EACzB,MAAmC,EACnC,OAA2B,EACG,EAAE;IAChC,MAAM,EAAE,SAAS,EAAE,mCACd,WAAW,GACX,OAAO,CACX,CAAA;IACD,gCAAgC;IAChC,MAAM,WAAW,GAAiB,MAAM,WAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACpE,0CAA0C;IAC1C,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,IAAA,WAAQ,EAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IAClD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SACvC,CAAA;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC,CAAA;AAtBY,QAAA,aAAa,iBAsBzB"} |
@@ -1,2 +0,1 @@ | ||
| /// <reference types="node" /> | ||
| import { PdfToPngOptions } from './types'; | ||
@@ -3,0 +2,0 @@ /** |
@@ -13,12 +13,10 @@ "use strict"; | ||
| }; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.comparePdfToSnapshot = exports.snapshotsDirName = void 0; | ||
| const path_1 = __importDefault(require("path")); | ||
| exports.snapshotsDirName = void 0; | ||
| exports.comparePdfToSnapshot = comparePdfToSnapshot; | ||
| const path = require("path"); | ||
| const fs_1 = require("fs"); | ||
| const pdf2png_1 = require("./pdf2png/pdf2png"); | ||
| const compare_images_1 = require("./compare-images"); | ||
| const jimp_1 = __importDefault(require("jimp")); | ||
| const jimp_1 = require("jimp"); | ||
| const imageUtils_1 = require("./imageUtils"); | ||
@@ -41,3 +39,3 @@ const colorToNum = { | ||
| if (type === 'rectangle-mask') { | ||
| img.composite(new jimp_1.default(width, height, colorToNum[color]), x, y); | ||
| img.composite(new jimp_1.Jimp({ width, height, color: colorToNum[color] }), x, y); | ||
| } | ||
@@ -80,7 +78,7 @@ }); | ||
| const _a = options || {}, { maskRegions = () => [], pdf2PngOptions } = _a, restOpts = __rest(_a, ["maskRegions", "pdf2PngOptions"]); | ||
| const dir = path_1.default.join(snapshotDir, exports.snapshotsDirName); | ||
| const dir = path.join(snapshotDir, exports.snapshotsDirName); | ||
| if (!(0, fs_1.existsSync)(dir)) { | ||
| (0, fs_1.mkdirSync)(dir, { recursive: true }); | ||
| } | ||
| const snapshotPath = path_1.default.join(dir, snapshotName + '.png'); | ||
| const snapshotPath = path.join(dir, snapshotName + '.png'); | ||
| if (!(0, fs_1.existsSync)(snapshotPath)) { | ||
@@ -95,3 +93,3 @@ return (0, pdf2png_1.pdf2png)(pdf, pdf2PngOptions) | ||
| .then((images) => (0, compare_images_1.compareImages)(snapshotPath, images, restOpts).then((result) => { | ||
| const diffSnapshotPath = path_1.default.join(dir, snapshotName + '.diff.png'); | ||
| const diffSnapshotPath = path.join(dir, snapshotName + '.diff.png'); | ||
| if (result.equal) { | ||
@@ -103,3 +101,3 @@ if ((0, fs_1.existsSync)(diffSnapshotPath)) { | ||
| } | ||
| const newSnapshotPath = path_1.default.join(dir, snapshotName + '.new.png'); | ||
| const newSnapshotPath = path.join(dir, snapshotName + '.new.png'); | ||
| return (0, imageUtils_1.writeImages)(newSnapshotPath)(images) | ||
@@ -110,3 +108,2 @@ .then(() => (0, imageUtils_1.writeImages)(diffSnapshotPath)(result.diffs.map((x) => x.diff))) | ||
| } | ||
| exports.comparePdfToSnapshot = comparePdfToSnapshot; | ||
| //# sourceMappingURL=compare-pdf-to-snapshot.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"compare-pdf-to-snapshot.js","sourceRoot":"","sources":["../src/compare-pdf-to-snapshot.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"compare-pdf-to-snapshot.js","sourceRoot":"","sources":["../src/compare-pdf-to-snapshot.ts"],"names":[],"mappings":"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"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.convertFromPxToMm = exports.convertFromMmToPx = void 0; | ||
| exports.convertFromMmToPx = convertFromMmToPx; | ||
| exports.convertFromPxToMm = convertFromPxToMm; | ||
| /** | ||
@@ -18,3 +19,2 @@ * Converts a size from millimeters to pixels based on the provided DPI (dots per inch). | ||
| } | ||
| exports.convertFromMmToPx = convertFromMmToPx; | ||
| /** | ||
@@ -34,3 +34,2 @@ * Converts a size from pixels to millimeters based on the provided DPI (dots per inch). | ||
| } | ||
| exports.convertFromPxToMm = convertFromPxToMm; | ||
| //# sourceMappingURL=conversions.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../src/conversions/conversions.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,GAAW;IAC3D,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;QAC3B,OAAO,CAAC,CAAA;KACT;IACD,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAA;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAA;AACnC,CAAC;AAND,8CAMC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,GAAW;IAC3D,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;QAC3B,OAAO,CAAC,CAAA;KACT;IACD,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,CAAA;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;AACpC,CAAC;AAND,8CAMC"} | ||
| {"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../src/conversions/conversions.ts"],"names":[],"mappings":";;AAOA,8CAMC;AASD,8CAMC;AA5BD;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,GAAW;IAC3D,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAA;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAA;AACnC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,GAAW;IAC3D,IAAI,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,CAAA;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;AACpC,CAAC"} |
@@ -1,2 +0,2 @@ | ||
| import Jimp from 'jimp'; | ||
| import { JimpInstance } from 'jimp'; | ||
| /** | ||
@@ -8,2 +8,2 @@ * Merges an array of Jimp images into a single image. | ||
| */ | ||
| export declare function mergeImages(images: ReadonlyArray<Jimp>): Jimp; | ||
| export declare function mergeImages(images: ReadonlyArray<JimpInstance>): JimpInstance; |
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.mergeImages = void 0; | ||
| const jimp_1 = __importDefault(require("jimp")); | ||
| exports.mergeImages = mergeImages; | ||
| const jimp_1 = require("jimp"); | ||
| /** | ||
@@ -18,11 +15,10 @@ * Merges an array of Jimp images into a single image. | ||
| const res = { img, y: imgHeight }; | ||
| imgHeight += img.bitmap.height; | ||
| imgHeight += img.height; | ||
| return res; | ||
| }); | ||
| const imgWidth = Math.max(...imgData.map(({ img }) => img.bitmap.width)); | ||
| const baseImage = new jimp_1.default(imgWidth, imgHeight, 0x00000000); | ||
| const imgWidth = Math.max(...imgData.map(({ img }) => img.width)); | ||
| const baseImage = new jimp_1.Jimp({ width: imgWidth, height: imgHeight, color: 0x00000000 }); | ||
| imgData.forEach(({ img, y }) => baseImage.composite(img, 0, y)); | ||
| return baseImage; | ||
| } | ||
| exports.mergeImages = mergeImages; | ||
| //# sourceMappingURL=mergeImages.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"mergeImages.js","sourceRoot":"","sources":["../../src/imageUtils/mergeImages.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAOvB;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,MAA2B;IACrD,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,MAAM,OAAO,GAAc,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAA;QACjC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;QAC9B,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACxE,MAAM,SAAS,GAAG,IAAI,cAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IAE3D,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE/D,OAAO,SAAS,CAAA;AAClB,CAAC;AAdD,kCAcC"} | ||
| {"version":3,"file":"mergeImages.js","sourceRoot":"","sources":["../../src/imageUtils/mergeImages.ts"],"names":[],"mappings":";;AAaA,kCAcC;AA3BD,+BAAyC;AAOzC;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,MAAmC;IAC7D,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,MAAM,OAAO,GAAc,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAA;QACjC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAA;QACvB,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,IAAI,WAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;IAErF,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAE/D,OAAO,SAAS,CAAA;AAClB,CAAC"} |
@@ -1,2 +0,2 @@ | ||
| import Jimp from 'jimp'; | ||
| import { JimpInstance } from 'jimp'; | ||
| /** | ||
@@ -7,2 +7,2 @@ * Writes images to the specified output path. | ||
| */ | ||
| export declare const writeImages: (outputImagePath: string, combinePages?: boolean) => (images: ReadonlyArray<Jimp>) => Promise<void>; | ||
| export declare const writeImages: (outputImagePath: string, combinePages?: boolean) => (images: ReadonlyArray<JimpInstance>) => Promise<void>; |
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.writeImages = void 0; | ||
| const path_1 = __importDefault(require("path")); | ||
| const path = require("path"); | ||
| const mergeImages_1 = require("./mergeImages"); | ||
@@ -23,12 +20,12 @@ /** | ||
| if (combinePages === true) { | ||
| return (0, mergeImages_1.mergeImages)(images) | ||
| .writeAsync(outputImagePath) | ||
| .then(() => undefined); | ||
| // @ts-expect-error too smart types | ||
| const outputImagePath0 = outputImagePath; | ||
| return (0, mergeImages_1.mergeImages)(images).write(outputImagePath0); | ||
| } | ||
| const parsedPath = path_1.default.parse(outputImagePath); | ||
| const partialName = path_1.default.join(parsedPath.dir, parsedPath.name); | ||
| const parsedPath = path.parse(outputImagePath); | ||
| const partialName = path.join(parsedPath.dir, parsedPath.name); | ||
| const padMaxLen = images.length.toString().length; | ||
| return Promise.all(images.map((img, idx) => img.writeAsync(`${partialName}_${String(idx + 1).padStart(padMaxLen, '0')}.png`))).then(() => undefined); | ||
| return Promise.all(images.map((img, idx) => img.write(`${partialName}_${String(idx + 1).padStart(padMaxLen, '0')}.png`))).then(() => undefined); | ||
| }; | ||
| exports.writeImages = writeImages; | ||
| //# sourceMappingURL=writeImages.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"writeImages.js","sourceRoot":"","sources":["../../src/imageUtils/writeImages.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AACvB,+CAA2C;AAE3C;;;;GAIG;AACI,MAAM,WAAW,GACtB;AACE,+CAA+C;AAC/C,eAAuB;AACvB;;;GAGG;AACH,YAAY,GAAG,IAAI,EACnB,EAAE,CACJ,CAAC,MAA2B,EAAiB,EAAE;IAC7C,IAAI,YAAY,KAAK,IAAI,EAAE;QACzB,OAAO,IAAA,yBAAW,EAAC,MAAM,CAAC;aACvB,UAAU,CAAC,eAAe,CAAC;aAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;KACzB;IAED,MAAM,UAAU,GAAG,cAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;IACjD,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACtB,GAAG,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CACjF,CACF,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACzB,CAAC,CAAA;AAzBU,QAAA,WAAW,eAyBrB"} | ||
| {"version":3,"file":"writeImages.js","sourceRoot":"","sources":["../../src/imageUtils/writeImages.ts"],"names":[],"mappings":";;;AACA,6BAA4B;AAC5B,+CAA2C;AAE3C;;;;GAIG;AACI,MAAM,WAAW,GACtB;AACE,+CAA+C;AAC/C,eAAuB;AACvB;;;GAGG;AACH,YAAY,GAAG,IAAI,EACnB,EAAE,CACJ,CAAC,MAAmC,EAAiB,EAAE;IACrD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,mCAAmC;QACnC,MAAM,gBAAgB,GAA0B,eAAe,CAAA;QAC/D,OAAO,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;IACjD,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACtB,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAC5E,CACF,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACzB,CAAC,CAAA;AAzBU,QAAA,WAAW,eAyBrB"} |
| import * as Canvas from 'canvas'; | ||
| export type CanvasAndContext = { | ||
| canvas: Canvas.Canvas; | ||
| context: Canvas.CanvasRenderingContext2D; | ||
| set: (width: number, height: number) => void; | ||
| destroy: () => void; | ||
| }; | ||
| export declare class NodeCanvasFactory { | ||
| create(width: number, height: number): CanvasAndContext; | ||
| reset(canvasAndContext: CanvasAndContext, width: number, height: number): void; | ||
| destroy(canvasAndContext: CanvasAndContext): void; | ||
| } | ||
| export declare function mkCanvas(): CanvasAndContext; |
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.NodeCanvasFactory = void 0; | ||
| const Canvas = __importStar(require("canvas")); | ||
| const assert = __importStar(require("assert")); | ||
| class NodeCanvasFactory { | ||
| create(width, height) { | ||
| assert.ok(width > 0 && height > 0, 'Invalid canvas size'); | ||
| const canvas = Canvas.createCanvas(width, height); | ||
| const context = canvas.getContext('2d'); | ||
| return { | ||
| canvas, | ||
| context, | ||
| }; | ||
| } | ||
| reset(canvasAndContext, width, height) { | ||
| assert.ok(canvasAndContext.canvas, 'Canvas is not specified'); | ||
| assert.ok(width > 0 && height > 0, 'Invalid canvas size'); | ||
| canvasAndContext.canvas.width = width; | ||
| canvasAndContext.canvas.height = height; | ||
| } | ||
| destroy(canvasAndContext) { | ||
| assert.ok(canvasAndContext.canvas, 'Canvas is not specified'); | ||
| canvasAndContext.canvas.width = 0; | ||
| canvasAndContext.canvas.height = 0; | ||
| // eslint-disable-next-line @typescript-eslint/ban-ts-comment | ||
| // @ts-ignore | ||
| canvasAndContext.canvas = null; | ||
| // eslint-disable-next-line @typescript-eslint/ban-ts-comment | ||
| // @ts-ignore | ||
| canvasAndContext.context = null; | ||
| } | ||
| exports.mkCanvas = mkCanvas; | ||
| const Canvas = require("canvas"); | ||
| const assert = require("assert"); | ||
| function mkCanvas() { | ||
| let canvas = Canvas.createCanvas(1, 1); | ||
| let context = canvas.getContext('2d'); | ||
| return { | ||
| context, | ||
| set: (width, height) => { | ||
| assert.ok(width > 0 && height > 0, 'Invalid canvas size'); | ||
| canvas.width = width; | ||
| canvas.height = height; | ||
| }, | ||
| destroy: () => { | ||
| canvas.width = 0; | ||
| canvas.height = 0; | ||
| // eslint-disable-next-line @typescript-eslint/ban-ts-comment | ||
| // @ts-ignore | ||
| canvas = null; | ||
| // eslint-disable-next-line @typescript-eslint/ban-ts-comment | ||
| // @ts-ignore | ||
| context = null; | ||
| }, | ||
| }; | ||
| } | ||
| exports.NodeCanvasFactory = NodeCanvasFactory; | ||
| //# sourceMappingURL=nodeCanvasFactory.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"nodeCanvasFactory.js","sourceRoot":"","sources":["../../src/pdf2png/nodeCanvasFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgC;AAChC,+CAAgC;AAOhC,MAAa,iBAAiB;IAC5B,MAAM,CAAC,KAAa,EAAE,MAAc;QAClC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,qBAAqB,CAAC,CAAA;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO;YACL,MAAM;YACN,OAAO;SACR,CAAA;IACH,CAAC;IAED,KAAK,CAAC,gBAAkC,EAAE,KAAa,EAAE,MAAc;QACrE,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAA;QAC7D,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,qBAAqB,CAAC,CAAA;QACzD,gBAAgB,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QACrC,gBAAgB,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IACzC,CAAC;IAED,OAAO,CAAC,gBAAkC;QACxC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAA;QAC7D,gBAAgB,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;QACjC,gBAAgB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAClC,6DAA6D;QAC7D,aAAa;QACb,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAA;QAC9B,6DAA6D;QAC7D,aAAa;QACb,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAA;IACjC,CAAC;CACF;AA7BD,8CA6BC"} | ||
| {"version":3,"file":"nodeCanvasFactory.js","sourceRoot":"","sources":["../../src/pdf2png/nodeCanvasFactory.ts"],"names":[],"mappings":";;AASA,4BAqBC;AA9BD,iCAAgC;AAChC,iCAAgC;AAQhC,SAAgB,QAAQ;IACtB,IAAI,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,IAAI,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO;QACL,OAAO;QACP,GAAG,EAAE,CAAC,KAAa,EAAE,MAAc,EAAQ,EAAE;YAC3C,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,qBAAqB,CAAC,CAAA;YACzD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;YACpB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;YAChB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;YACjB,6DAA6D;YAC7D,aAAa;YACb,MAAM,GAAG,IAAI,CAAA;YACb,6DAA6D;YAC7D,aAAa;YACb,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC"} |
@@ -1,4 +0,3 @@ | ||
| /// <reference types="node" /> | ||
| import Jimp from 'jimp'; | ||
| import { JimpInstance } from 'jimp'; | ||
| import { PdfToPngOptions } from '../types'; | ||
| export declare function pdf2png(pdf: string | Buffer, options?: PdfToPngOptions): Promise<ReadonlyArray<Jimp>>; | ||
| export declare function pdf2png(pdf: string | Buffer, options?: PdfToPngOptions): Promise<ReadonlyArray<JimpInstance>>; |
+26
-51
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.pdf2png = void 0; | ||
| const fs = __importStar(require("fs")); | ||
| const path = __importStar(require("path")); | ||
| const pdfjsLib = __importStar(require("pdfjs-dist/legacy/build/pdf")); | ||
| exports.pdf2png = pdf2png; | ||
| const fs = require("fs/promises"); | ||
| const path = require("path"); | ||
| const jimp_1 = require("jimp"); | ||
@@ -35,8 +11,10 @@ const types_1 = require("../types"); | ||
| // pdfjs location | ||
| const PDFJS_DIR = path.dirname(require.resolve('pdfjs-dist')); | ||
| // Some PDFs need external cmaps. | ||
| const CMAP_URL = path.join(PDFJS_DIR, '../cmaps/'); | ||
| const CMAP_PACKED = true; | ||
| // Where the standard fonts are located. | ||
| const STANDARD_FONT_DATA_URL = path.join(PDFJS_DIR, '../standard_fonts/'); | ||
| const PDFJS_DIR = path.join(path.dirname(require.resolve('pdfjs-dist')), '..'); | ||
| const DOCUMENT_INIT_PARAMS_DEFAULTS = { | ||
| // Where the standard fonts are located. | ||
| standardFontDataUrl: path.join(PDFJS_DIR, 'standard_fonts/'), | ||
| // Some PDFs need external cmaps. | ||
| cMapUrl: path.join(PDFJS_DIR, 'cmaps/'), | ||
| cMapPacked: true, | ||
| }; | ||
| const pdf2PngDefOpts = { | ||
@@ -61,15 +39,10 @@ dpi: types_1.Dpi.High, | ||
| async function pdf2png(pdf, options = {}) { | ||
| const { getDocument } = await import('pdfjs-dist/legacy/build/pdf.mjs'); | ||
| const opts = Object.assign(Object.assign({}, pdf2PngDefOpts), options); | ||
| // Load PDF | ||
| const data = new Uint8Array(Buffer.isBuffer(pdf) ? pdf : fs.readFileSync(pdf)); | ||
| const loadingTask = pdfjsLib.getDocument({ | ||
| data, | ||
| cMapUrl: CMAP_URL, | ||
| cMapPacked: CMAP_PACKED, | ||
| standardFontDataUrl: STANDARD_FONT_DATA_URL, | ||
| }); | ||
| const pdfBuffer = await (Buffer.isBuffer(pdf) ? Promise.resolve(pdf) : fs.readFile(pdf)); | ||
| const loadingTask = getDocument(Object.assign(Object.assign({}, DOCUMENT_INIT_PARAMS_DEFAULTS), { data: new Uint8Array(pdfBuffer) })); | ||
| const pdfDocument = await loadingTask.promise; | ||
| const numPages = pdfDocument.numPages; | ||
| const canvasFactory = new nodeCanvasFactory_1.NodeCanvasFactory(); | ||
| const canvasAndContext = canvasFactory.create(1, 1); | ||
| const canvas = (0, nodeCanvasFactory_1.mkCanvas)(); | ||
| // Generate images | ||
@@ -80,14 +53,16 @@ const images = []; | ||
| const viewport = getPageViewPort(page, opts.dpi); | ||
| canvasFactory.reset(canvasAndContext, viewport.width, viewport.height); | ||
| // TODO: fix types | ||
| // eslint-disable-next-line @typescript-eslint/ban-ts-comment | ||
| // @ts-ignore | ||
| await page.render({ canvasContext: canvasAndContext.context, viewport }).promise; | ||
| canvas.set(viewport.width, viewport.height); | ||
| const renderParameters = { | ||
| // @ts-expect-error type mismatch between web and node.js canvas | ||
| canvasContext: canvas.context, | ||
| viewport, | ||
| }; | ||
| await page.render(renderParameters).promise; | ||
| page.cleanup(); | ||
| const image = canvasAndContext.canvas.toBuffer('image/png'); | ||
| images.push(image); | ||
| const imgData = canvas.context.getImageData(0, 0, viewport.width, viewport.height); | ||
| images.push(jimp_1.Jimp.fromBitmap(imgData)); | ||
| } | ||
| return Promise.all(images.map((x) => (0, jimp_1.read)(x))); | ||
| canvas.destroy(); | ||
| return images; | ||
| } | ||
| exports.pdf2png = pdf2png; | ||
| //# sourceMappingURL=pdf2png.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"pdf2png.js","sourceRoot":"","sources":["../../src/pdf2png/pdf2png.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"pdf2png.js","sourceRoot":"","sources":["../../src/pdf2png/pdf2png.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"toMatchPdfSnapshot.js","sourceRoot":"","sources":["../src/toMatchPdfSnapshot.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,uEAAgF;AAYhF,6DAA6D;AAC7D,aAAa;AACb,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAA;AAEhC,IAAI,UAAU,KAAK,SAAS,EAAE;IAC5B,UAAU,CAAC,MAAM,CAAC;QAChB,wCAAwC;QACxC,kBAAkB,CAAC,GAAoB,EAAE,OAAwB;YAC/D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;YACjD,IAAI,KAAK,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;aAC7E;YAED,MAAM,gBAAgB,GAAG,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAA;YAC1C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEzD,OAAO,IAAA,8CAAoB,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxF,IAAI;gBACJ,OAAO,EAAE,GAAG,EAAE,CAAC,+BAA+B;aAC/C,CAAC,CAAC,CAAA;QACL,CAAC;KACF,CAAC,CAAA;CACH;KAAM;IACL,OAAO,CAAC,KAAK,CACX,sCAAsC;QACpC,wFAAwF,CAC3F,CAAA;CACF"} | ||
| {"version":3,"file":"toMatchPdfSnapshot.js","sourceRoot":"","sources":["../src/toMatchPdfSnapshot.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,uEAAgF;AAWhF,6DAA6D;AAC7D,aAAa;AACb,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAA;AAEhC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;IAC7B,UAAU,CAAC,MAAM,CAAC;QAChB,wCAAwC;QACxC,kBAAkB,CAAC,GAAoB,EAAE,OAAwB;YAC/D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;YACjD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;YAC9E,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAA;YAC1C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEzD,OAAO,IAAA,8CAAoB,EAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxF,IAAI;gBACJ,OAAO,EAAE,GAAG,EAAE,CAAC,+BAA+B;aAC/C,CAAC,CAAC,CAAA;QACL,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,CACX,sCAAsC;QACpC,wFAAwF,CAC3F,CAAA;AACH,CAAC"} |
+1
-1
@@ -11,3 +11,3 @@ "use strict"; | ||
| Dpi[Dpi["High"] = 144] = "High"; | ||
| })(Dpi = exports.Dpi || (exports.Dpi = {})); | ||
| })(Dpi || (exports.Dpi = Dpi = {})); | ||
| //# sourceMappingURL=types.js.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,GAGX;AAHD,WAAY,GAAG;IACb,4BAAQ,CAAA;IACR,+BAAU,CAAA;AACZ,CAAC,EAHW,GAAG,GAAH,WAAG,KAAH,WAAG,QAGd"} | ||
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,GAGX;AAHD,WAAY,GAAG;IACb,4BAAQ,CAAA;IACR,+BAAU,CAAA;AACZ,CAAC,EAHW,GAAG,mBAAH,GAAG,QAGd"} |
+20
-24
| { | ||
| "name": "pdf-visual-diff", | ||
| "version": "0.10.0", | ||
| "version": "0.11.0", | ||
| "description": "Visual Regression Testing for PDFs in JavaScript", | ||
@@ -10,11 +10,13 @@ "bin": "./lib/cli/index.js", | ||
| "clean": "rm -rf ./lib ./coverage", | ||
| "build": "npm run clean && npm run lint && npm run test && npm run tsc -- --noEmit false", | ||
| "build": "npm run clean && npm run lint && npm run format && npm run test && npm run tsc -- --noEmit false", | ||
| "build:docs": "npx typedoc src/index.ts --treatWarningsAsErrors", | ||
| "tsc": "tsc --noEmit --pretty", | ||
| "tsc:watch": "npm run tsc -- --watch", | ||
| "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx", | ||
| "lint": "eslint ./src", | ||
| "lint:fix": "npm run lint -- --fix", | ||
| "format": "prettier --write .eslintrc.js .prettierrc.json tsconfig.json .mocharc.json", | ||
| "test": "mocha", | ||
| "test:watch": "npm test -- --watch", | ||
| "format:other": "prettier --write .eslintrc.js .prettierrc.json tsconfig.json", | ||
| "format": "prettier ./src --check", | ||
| "format:fix": "prettier ./src --write", | ||
| "test": "node --require ts-node/register --test src/**/*.test.ts src/*.test.ts", | ||
| "test:watch": "node --require ts-node/register --test --watch src/**/*.test.ts src/*.test.ts", | ||
| "license-checker": "npx license-checker --production --onlyAllow 'MIT; MIT OR X11; BSD; ISC; Apache-2.0; Unlicense' --excludePackages 'pdf-visual-diff'", | ||
@@ -46,26 +48,20 @@ "update-deps": "npx npm-check-updates --configFileName .ncurc.js" | ||
| "glob": "^10.2.1", | ||
| "jimp": "^0.22.7", | ||
| "pdfjs-dist": "^3.5.141", | ||
| "yargs": "^17.7.1" | ||
| "jimp": "^1.6.0", | ||
| "pdfjs-dist": "^4.6.82", | ||
| "yargs": "^17.7.2" | ||
| }, | ||
| "devDependencies": { | ||
| "@types/chai": "^4.3.4", | ||
| "@eslint/js": "^9.10.0", | ||
| "@types/eslint__js": "^8.42.3", | ||
| "@types/glob": "^8.1.0", | ||
| "@types/mocha": "^10.0.1", | ||
| "@types/node": "^18.15.13", | ||
| "@types/yargs": "^17.0.24", | ||
| "@typescript-eslint/eslint-plugin": "^5.59.0", | ||
| "@typescript-eslint/parser": "^5.59.0", | ||
| "assert": "^2.0.0", | ||
| "chai": "^4.3.7", | ||
| "eslint": "^8.38.0", | ||
| "eslint-config-prettier": "^8.8.0", | ||
| "eslint-plugin-prettier": "^4.2.1", | ||
| "@types/yargs": "^17.0.33", | ||
| "eslint": "^9.10.0", | ||
| "eslint-plugin-tsdoc": "^0.3.0", | ||
| "mocha": "^10.2.0", | ||
| "prettier": "^2.8.7", | ||
| "ts-node": "^10.9.1", | ||
| "typedoc": "^0.26.6", | ||
| "typescript": "^5.0.4" | ||
| "prettier": "^3.3.3", | ||
| "ts-node": "^10.9.2", | ||
| "typedoc": "^0.26.7", | ||
| "typescript": "^5.6.2", | ||
| "typescript-eslint": "^8.5.0" | ||
| } | ||
| } |
| export {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const chai_1 = require("chai"); | ||
| const utils_1 = require("./utils"); | ||
| const filePath = '/pdf-visual-diff/src/__snapshots__/two-page.new.png'; | ||
| describe('cli utils', () => { | ||
| it('mkCurrentSnapshotPath()', async () => (0, chai_1.expect)((0, utils_1.mkCurrentSnapshotPath)(filePath)).to.equal('/pdf-visual-diff/src/__snapshots__/two-page.png')); | ||
| it('mkDiffSnapshotPath()', async () => (0, chai_1.expect)((0, utils_1.mkDiffSnapshotPath)(filePath)).to.equal('/pdf-visual-diff/src/__snapshots__/two-page.diff.png')); | ||
| }); | ||
| //# sourceMappingURL=utils.spec.js.map |
| {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/cli/utils.spec.ts"],"names":[],"mappings":";;AAAA,+BAA6B;AAC7B,mCAAmE;AAEnE,MAAM,QAAQ,GAAG,qDAAqD,CAAA;AAEtE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,CACvC,IAAA,aAAM,EAAC,IAAA,6BAAqB,EAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAC9C,iDAAiD,CAClD,CAAC,CAAA;IAEJ,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CACpC,IAAA,aAAM,EAAC,IAAA,0BAAkB,EAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAC3C,sDAAsD,CACvD,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"} |
| export {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const chai_1 = require("chai"); | ||
| const conversions_1 = require("./conversions"); | ||
| describe('conversions', () => { | ||
| describe('convertFromMmToPx', () => { | ||
| it('should convert millimeters to pixels correctly', () => { | ||
| (0, chai_1.expect)((0, conversions_1.convertFromMmToPx)(10, 300)).to.equal(118); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromMmToPx)(25.4, 300)).to.equal(300); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromMmToPx)(0, 300)).to.equal(0); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromMmToPx)(10, 0)).to.equal(0); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromMmToPx)(-10, 300)).to.equal(0); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromMmToPx)(10, -300)).to.equal(0); | ||
| }); | ||
| }); | ||
| describe('convertFromPxToMm', () => { | ||
| it('should convert pixels to millimeters correctly', () => { | ||
| (0, chai_1.expect)((0, conversions_1.convertFromPxToMm)(300, 300)).to.equal(25); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromPxToMm)(118, 300)).to.equal(10); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromPxToMm)(0, 300)).to.equal(0); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromPxToMm)(300, 0)).to.equal(0); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromPxToMm)(-300, 300)).to.equal(0); | ||
| (0, chai_1.expect)((0, conversions_1.convertFromPxToMm)(300, -300)).to.equal(0); | ||
| }); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=conversions.spec.js.map |
| {"version":3,"file":"conversions.spec.js","sourceRoot":"","sources":["../../src/conversions/conversions.spec.ts"],"names":[],"mappings":";;AAAA,+BAA6B;AAC7B,+CAAoE;AAEpE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChD,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClD,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC7C,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5C,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC/C,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChD,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChD,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC7C,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC7C,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChD,IAAA,aAAM,EAAC,IAAA,+BAAiB,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} |
| export {}; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const path_1 = require("path"); | ||
| const pdf2png_1 = require("./pdf2png"); | ||
| const compare_images_1 = require("../compare-images"); | ||
| const chai_1 = require("chai"); | ||
| const types_1 = require("../types"); | ||
| const testDataDir = (0, path_1.join)(__dirname, '../test-data'); | ||
| const pdfs = (0, path_1.join)(testDataDir, 'pdfs'); | ||
| const singlePage = (0, path_1.join)(pdfs, 'single-page.pdf'); | ||
| const twoPage = (0, path_1.join)(pdfs, 'two-page.pdf'); | ||
| const cmaps = (0, path_1.join)(pdfs, 'cmaps.pdf'); | ||
| const expectedDir = (0, path_1.join)(testDataDir, 'pdf2png-expected'); | ||
| describe('pdf2png()', () => { | ||
| it('two-page.pdf png per page with scaling', () => { | ||
| const expectedImage1Path = (0, path_1.join)(expectedDir, 'two-page_png_per_page_scaled_1.png'); | ||
| const expectedImage2Path = (0, path_1.join)(expectedDir, 'two-page_png_per_page_scaled_2.png'); | ||
| return (0, pdf2png_1.pdf2png)(twoPage, { dpi: types_1.Dpi.High }) | ||
| .then((imgs) => Promise.all([ | ||
| (0, compare_images_1.compareImages)(expectedImage1Path, [imgs[0]]), | ||
| (0, compare_images_1.compareImages)(expectedImage2Path, [imgs[1]]), | ||
| ])) | ||
| .then((results) => { | ||
| results.forEach((x) => (0, chai_1.expect)(x.equal).to.be.true); | ||
| }); | ||
| }); | ||
| it('two-page.pdf png per page and without scaling', () => { | ||
| const expectedImage1Path = (0, path_1.join)(expectedDir, 'two-page_png_per_page_1.png'); | ||
| const expectedImage2Path = (0, path_1.join)(expectedDir, 'two-page_png_per_page_2.png'); | ||
| return (0, pdf2png_1.pdf2png)(twoPage, { dpi: types_1.Dpi.Low }) | ||
| .then((imgs) => Promise.all([ | ||
| (0, compare_images_1.compareImages)(expectedImage1Path, [imgs[0]]), | ||
| (0, compare_images_1.compareImages)(expectedImage2Path, [imgs[1]]), | ||
| ])) | ||
| .then((results) => { | ||
| results.forEach((x) => (0, chai_1.expect)(x.equal).to.be.true); | ||
| }); | ||
| }); | ||
| it('should scale using custom DPI', () => { | ||
| const expectedImagePath = (0, path_1.join)(expectedDir, 'should_scale_using_custom_DPI.png'); | ||
| return (0, pdf2png_1.pdf2png)(singlePage, { dpi: 200 }) | ||
| .then((imgs) => (0, compare_images_1.compareImages)(expectedImagePath, imgs)) | ||
| .then((result) => (0, chai_1.expect)(result.equal).to.be.true); | ||
| }); | ||
| it('pdf that requires cmaps', () => { | ||
| const expectedImagePath = (0, path_1.join)(expectedDir, 'cmaps.png'); | ||
| return (0, pdf2png_1.pdf2png)(cmaps) | ||
| .then((imgs) => (0, compare_images_1.compareImages)(expectedImagePath, imgs)) | ||
| .then((result) => (0, chai_1.expect)(result.equal).to.be.true); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=pdf2png.spec.js.map |
| {"version":3,"file":"pdf2png.spec.js","sourceRoot":"","sources":["../../src/pdf2png/pdf2png.spec.ts"],"names":[],"mappings":";;AAAA,+BAA2B;AAC3B,uCAAmC;AACnC,sDAAiD;AACjD,+BAA6B;AAC7B,oCAA8B;AAE9B,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,cAAc,CAAC,CAAA;AACnD,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,MAAM,CAAC,CAAA;AACtC,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;AAChD,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,cAAc,CAAC,CAAA;AAC1C,MAAM,KAAK,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC,CAAA;AAErC,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;AAEzD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,oCAAoC,CAAC,CAAA;QAClF,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,oCAAoC,CAAC,CAAA;QAClF,OAAO,IAAA,iBAAO,EAAC,OAAO,EAAE,EAAE,GAAG,EAAE,WAAG,CAAC,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,OAAO,CAAC,GAAG,CAAC;YACV,IAAA,8BAAa,EAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAA,8BAAa,EAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC,CACH;aACA,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,6BAA6B,CAAC,CAAA;QAC3E,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,6BAA6B,CAAC,CAAA;QAC3E,OAAO,IAAA,iBAAO,EAAC,OAAO,EAAE,EAAE,GAAG,EAAE,WAAG,CAAC,GAAG,EAAE,CAAC;aACtC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,OAAO,CAAC,GAAG,CAAC;YACV,IAAA,8BAAa,EAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAA,8BAAa,EAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC,CACH;aACA,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,iBAAiB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,mCAAmC,CAAC,CAAA;QAChF,OAAO,IAAA,iBAAO,EAAC,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;aACrC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8BAAa,EAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;aACtD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,iBAAiB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACxD,OAAO,IAAA,iBAAO,EAAC,KAAK,CAAC;aAClB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8BAAa,EAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;aACtD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,aAAM,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 2 instances in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
88235
21.19%12
-33.33%72
10.77%1016
10.43%0
-100%7
75%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated