From a144b4208fe46ed08ef5c8b025dcab3e04bd2a13 Mon Sep 17 00:00:00 2001 From: exoego Date: Sun, 28 Apr 2024 15:24:42 +0900 Subject: [PATCH] Initial commit --- README.md | 55 +++++++++++++++++--------------------------------- dist/index.mjs | 7 ++++++- src/compare.ts | 5 +++++ 3 files changed, 30 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 2514853..db5b55f 100644 --- a/README.md +++ b/README.md @@ -6,68 +6,51 @@ Analyzes each PR's impact on esbuild bundle size ## Usage -### +### Basic ```yaml # Ensure you build your project before running this action - name: Run esbuild run: npm run build +# Call this action after the build - name: Analyze esbuild bundle size uses: exoego/esbuild-bundle-analyzer@main with: metafiles: "out/meta.json" ``` -### - -## Action inputs - -### `metafiles (string)` - -(Required) A comma-separated list of paths to [esbuild's meta file]([https://esbuild.github.io/api/#metafile]). Must be non-empty. - -As of esbuild v0.20.0, you need to write the meta file by yourself after build, something like this: +As of esbuild v0.20.0, you need to [write +***meta file*** yourself after build](https://esbuild.github.io/api/#metafile), something like this: ```javascript +// esbuild.mjs import * as esbuild from 'esbuild' import fs from 'node:fs' let result = await esbuild.build({ - entryPoints: ['src/app1.js', 'src/app2.js'], - bundle: true, - metafile: true, - outdir: 'dist', + entryPoints: ['src/app1.ts', 'src/app2.ts'], + bundle: true, + metafile: true, + outdir: 'dist', }) fs.writeFileSync('dist/meta.json', JSON.stringify(result.metafile)) ``` -In this case, the `metafiles` config should be `"dist/meta.json"`. - -Typically, you only need one meta file since one meta file can contain multiple out files information. -Multiple meta files may be useful for more complex scenarios. +In this case, the `metafiles` input should be `"dist/meta.json"`. -### `analyze_directory (string)` +If you have multiple meta files, you can specify them like this `"dist/meta1.json,dist/meta2.json"`. -(Optional, defaults to `.analyzer`) If an out file size has increased more than this percent, display a "‼️" to draw attention -to the change. - -### `budget_percent_increase_red (number)` - -(Optional, defaults to `20`) If an out file size has increased more than this percent, display a "‼️" to draw attention -to the change. - -### `showDetails (boolean)` - -(Optional, defaults to `true`) This option renders a collapsed "details" section explaining some of the finer details of -the numbers provided and icons. If you feel like this is not necessary and you and/or those working on your project -understand the details, you can set this option to `false` and that section will not render. - -### `skipCommentIfEmpty (boolean)` +## Action inputs -(Optional, defaults to `false`) When set to `true`, if no out files have changed size, the generated comment will be an -empty string. +Name | Default | Description +-------|---------|------------ +`metafiles` | - | A required comma-separated list of paths to [esbuild's meta file]([https://esbuild.github.io/api/#metafile]). +`analyze_directory` | `.analyzer` | A path to working directory where bundle analysis are stored. +`budget_percent_increase_red` | `20` | If an out file size has increased more than this percent, display a "‼️" to draw extra attention to the change. +`show_details` | `true` | If `true`, a collapsed "details" section is rendered. It explains the details of the numbers provided and icons. +`skip_comment_if_empty` | `false` | If `true` and no out files have changed size, the generated comment will be an empty string. ## Action outputs diff --git a/dist/index.mjs b/dist/index.mjs index 1546325..3257d87 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -235,6 +235,11 @@ This analysis was generated by [esbuild-bundle-analyzer](https://github.com/exoe if (!hasAnyChange && input.skipCommentIfEmpty) { output = ""; } + console.dir({ + input, + hasAnyChange, + output + }); console.log(output); fs2.mkdirSync(path.join(process.cwd(), input.analyzerDirectory), { recursive: true @@ -389,4 +394,4 @@ filesize/dist/filesize.esm.js: * @version 10.1.1 *) */ -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9jb21wYXJlLnRzIiwgIi4uL3NyYy91dGlscy50cyIsICIuLi9zcmMvcmVwb3J0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgeyBjb21wYXJlIH0gZnJvbSBcIi4vY29tcGFyZVwiO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSBcIi4vcmVwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0SW5wdXQgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5mdW5jdGlvbiBnZXRPcHRpb25zKCk6IE9wdGlvbnMge1xuXHRjb25zdCByYXdNZXRhZmlsZXMgPSBnZXRJbnB1dChcIm1ldGFmaWxlc1wiKTtcblx0aWYgKCFyYXdNZXRhZmlsZXMpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJtZXRhZmlsZXMgaXMgbm90IHNwZWNpZmllZFwiKTtcblx0fVxuXHRjb25zdCBuYW1lID0gZ2V0SW5wdXQoXCJuYW1lXCIpO1xuXHRpZiAoIW5hbWUpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJuYW1lIGlzIG5vdCBzcGVjaWZpZWRcIik7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRidWRnZXRQZXJjZW50SW5jcmVhc2VSZWQ6IE51bWJlci5wYXJzZUludChcblx0XHRcdGdldElucHV0KFwiYnVkZ2V0X3BlcmNlbnRfaW5jcmVhc2VfcmVkXCIpIHx8IFwiMjBcIixcblx0XHRcdDEwLFxuXHRcdCksXG5cdFx0c2hvd0RldGFpbHM6IFtcInRydWVcIiwgXCJUcnVlXCIsIFwiVFJVRVwiXS5pbmNsdWRlcyhcblx0XHRcdGdldElucHV0KFwic2hvd19kZXRhaWxzXCIpIHx8IFwidHJ1ZVwiLFxuXHRcdCksXG5cdFx0c2tpcENvbW1lbnRJZkVtcHR5OiBbXCJmYWxzZVwiLCBcIkZhbHNlXCIsIFwiRkFMU0VcIl0uaW5jbHVkZXMoXG5cdFx0XHRnZXRJbnB1dChcInNraXBfY29tbWVudF9pZl9lbXB0eVwiKSB8fCBcImZhbHNlXCIsXG5cdFx0KSxcblx0XHRuYW1lLFxuXHRcdGFuYWx5emVyRGlyZWN0b3J5OiBnZXRJbnB1dChcImFuYWx5emVfZGlyZWN0b3J5XCIpIHx8IFwiLmFuYWx5emVyXCIsXG5cdFx0bWV0YWZpbGVzOiByYXdNZXRhZmlsZXMuc3BsaXQoXCIsXCIpLFxuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVuKG9wdGlvbnM6IE9wdGlvbnMgPSBnZXRPcHRpb25zKCkpOiB2b2lkIHtcblx0cmVwb3J0KG9wdGlvbnMpO1xuXHRjb21wYXJlKG9wdGlvbnMpO1xufVxuXG5pZiAoaW1wb3J0Lm1ldGEudXJsID09PSBwYXRoVG9GaWxlVVJMKHByb2Nlc3MuYXJndlsxXSkuaHJlZikge1xuXHRydW4oKTtcbn1cbiIsICJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGZpbGVzaXplIGFzIG9yaWdpbmFsRmlsZXNpemUgfSBmcm9tIFwiZmlsZXNpemVcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGFyZVJlc3VsdCwgT3B0aW9ucywgUmVwb3J0IH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGxvYWRBbmFseXNpc0pzb24gfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZShpbnB1dDogT3B0aW9ucyk6IHZvaWQge1xuXHRsZXQgaGFzQW55Q2hhbmdlID0gZmFsc2U7XG5cdGxldCBvdXRwdXQgPSBgIyMgXHVEODNEXHVEQ0U2IGVzYnVpbGQgQnVuZGxlIEFuYWx5c2lzIGZvciAke2lucHV0Lm5hbWV9XG5cblRoaXMgYW5hbHlzaXMgd2FzIGdlbmVyYXRlZCBieSBbZXNidWlsZC1idW5kbGUtYW5hbHl6ZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9leG9lZ28vZXNidWlsZC1idW5kbGUtYW5hbHl6ZXIpLiBcdUQ4M0VcdUREMTZcbmA7XG5cblx0Y29uc3QgY3VycmVudCA9IGxvYWRBbmFseXNpc0pzb24oXG5cdFx0cGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGlucHV0LmFuYWx5emVyRGlyZWN0b3J5LCBcImJ1bmRsZV9hbmFseXNpcy5qc29uXCIpLFxuXHQpO1xuXHRsZXQgYmFzZTogUmVwb3J0O1xuXHR0cnkge1xuXHRcdGJhc2UgPSBsb2FkQW5hbHlzaXNKc29uKFxuXHRcdFx0cGF0aC5qb2luKFxuXHRcdFx0XHRwcm9jZXNzLmN3ZCgpLFxuXHRcdFx0XHRpbnB1dC5hbmFseXplckRpcmVjdG9yeSxcblx0XHRcdFx0XCJiYXNlL2J1bmRsZS9idW5kbGVfYW5hbHlzaXMuanNvblwiLFxuXHRcdFx0KSxcblx0XHQpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0YmFzZSA9IHt9O1xuXHR9XG5cblx0Y29uc3QgYWxsT3V0RmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdC4uLm5ldyBTZXQoWy4uLk9iamVjdC5rZXlzKGN1cnJlbnQpLCAuLi5PYmplY3Qua2V5cyhiYXNlKV0pLFxuXHRdLnNvcnQoKTtcblx0Y29uc3QgY29tcGFyaXNvbjogQXJyYXk8Q29tcGFyZVJlc3VsdD4gPSBhbGxPdXRGaWxlcy5tYXAoKG91dGZpbGUpID0+IHtcblx0XHRjb25zdCBjdXJyZW50U3RhdHMgPSBjdXJyZW50W291dGZpbGVdO1xuXHRcdGNvbnN0IGJhc2VTdGF0cyA9IGJhc2Vbb3V0ZmlsZV07XG5cblx0XHRpZiAoIWN1cnJlbnRTdGF0cykge1xuXHRcdFx0aGFzQW55Q2hhbmdlID0gdHJ1ZTtcblx0XHRcdC8vIGRlbGV0ZWQgb3V0IGZpbGVcblx0XHRcdHJldHVybiB7IC4uLmJhc2VTdGF0cywgZGlmZjogLTEsIHJlbWFyazogXCJkZWxldGVkXCIgfTtcblx0XHR9XG5cdFx0aWYgKCFiYXNlU3RhdHMpIHtcblx0XHRcdGhhc0FueUNoYW5nZSA9IHRydWU7XG5cdFx0XHQvLyBuZXcgb3V0IGZpbGVcblx0XHRcdHJldHVybiB7IC4uLmN1cnJlbnRTdGF0cywgZGlmZjogLTEsIHJlbWFyazogXCJhZGRlZFwiIH07XG5cdFx0fVxuXHRcdGNvbnN0IGRpZmYgPSBjdXJyZW50U3RhdHMuYnl0ZXMgLSBiYXNlU3RhdHMuYnl0ZXM7XG5cdFx0Y29uc3QgaW5jcmVhc2UgPSAhIU1hdGguc2lnbihkaWZmKTtcblx0XHRpZiAoZGlmZiAhPT0gMCkge1xuXHRcdFx0aGFzQW55Q2hhbmdlID0gdHJ1ZTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdC4uLmN1cnJlbnRTdGF0cyxcblx0XHRcdGRpZmYsXG5cdFx0XHRyZW1hcms6IGluY3JlYXNlID8gXCJpbmNyZWFzZWRcIiA6IFwiZGVjcmVhc2VkXCIsXG5cdFx0fTtcblx0fSk7XG5cblx0aWYgKGhhc0FueUNoYW5nZSkge1xuXHRcdG91dHB1dCArPSBtYXJrZG93blRhYmxlKGNvbXBhcmlzb24sIGlucHV0LmJ1ZGdldFBlcmNlbnRJbmNyZWFzZVJlZCk7XG5cblx0XHRpZiAoaW5wdXQuc2hvd0RldGFpbHMpIHtcblx0XHRcdG91dHB1dCArPSBgXFxuPGRldGFpbHM+XG48c3VtbWFyeT5EZXRhaWxzPC9zdW1tYXJ5PlxuPHA+TmV4dCB0byB0aGUgc2l6ZSBpcyBob3cgbXVjaCB0aGUgc2l6ZSBoYXMgaW5jcmVhc2VkIG9yIGRlY3JlYXNlZCBjb21wYXJlZCB3aXRoIHRoZSBiYXNlIGJyYW5jaCBvZiB0aGlzIFBSLjwvcD5cbjx1bD5cbjxsaT5cdTIwM0NcdUZFMEY6IFNpemUgaW5jcmVhc2VkIGJ5ICR7aW5wdXQuYnVkZ2V0UGVyY2VudEluY3JlYXNlUmVkfSUgb3IgbW9yZS4gU3BlY2lhbCBhdHRlbnRpb24gc2hvdWxkIGJlIGdpdmVuIHRvIHRoaXMuPC9saT5cbjxsaT5cdTI2QTBcdUZFMEY6IFNpemUgaW5jcmVhc2VkIGluIGFjY2VwdGFibGUgcmFuZ2UgKGxvd2VyIHRoYW4gJHtpbnB1dC5idWRnZXRQZXJjZW50SW5jcmVhc2VSZWR9JSkuPC9saT5cbjxsaT5cdTI3MDU6IE5vIGNoYW5nZSBvciBldmVuIGRvd25zaXplZC48L2xpPlxuPGxpPlx1RDgzRFx1REREMVx1RkUwRjogVGhlIG91dCBmaWxlIGlzIGRlbGV0ZWQ6IG5vdCBmb3VuZCBpbiBiYXNlIGJyYW5jaC48L2xpPlxuPGxpPlx1RDgzQ1x1REQ5NTogVGhlIG91dCBmaWxlIGlzIG5ld2x5IGZvdW5kOiB3aWxsIGJlIGFkZGVkIHRvIGJhc2UgYnJhbmNoLjwvbGk+XG48L3VsPlxuPC9kZXRhaWxzPlxcbmA7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdG91dHB1dCArPSBcIlRoaXMgUFIgaW50cm9kdWNlZCBubyBjaGFuZ2VzIHRvIHRoZSBlc2J1aWxkIGJ1bmRsZSEgXHVEODNEXHVERTRDXCI7XG5cdH1cblxuXHQvLyB3ZSBhZGQgdGhpcyB0YWcgc28gdGhhdCBvdXIgYWN0aW9uIGNhbiBiZSBhYmxlIHRvIGVhc2lseSBhbmRcblx0Ly8gY29uc2lzdGVudGx5IGZpbmQgdGhlIHJpZ2h0IGNvbW1lbnQgdG8gZWRpdCBhcyBtb3JlIGNvbW1pdHMgYXJlIHB1c2hlZC5cblx0b3V0cHV0ICs9IGA8IS0tIF9fRVNCVUlMRF9CVU5ETEVfJHtpbnB1dC5uYW1lfSAtLT5gO1xuXG5cdC8vIGlmIGlnbm9yZUlmRW1wdHkgaXMgdHJ1ZSwgc2V0IG91dHB1dCB0byBhbiBlbXB0eSBzdHJpbmdcblx0aWYgKCFoYXNBbnlDaGFuZ2UgJiYgaW5wdXQuc2tpcENvbW1lbnRJZkVtcHR5KSB7XG5cdFx0b3V0cHV0ID0gXCJcIjtcblx0fVxuXG5cdC8vIGxvZyB0aGUgb3V0cHV0LCBtb3N0bHkgZm9yIHRlc3RpbmcgYW5kIGRlYnVnZ2luZy4gdGhpcyB3aWxsIHNob3cgdXAgaW4gdGhlXG5cdC8vIGdpdGh1YiBhY3Rpb25zIGNvbnNvbGUuXG5cdGNvbnNvbGUubG9nKG91dHB1dCk7XG5cblx0Ly8gV3JpdGUgdGhlIG91dHB1dCB0byBhIGZpbGUgd2hpY2ggaXMgbGF0ZXIgcmVhZCBpblxuXHQvLyBhcyBjb21tZW50IGNvbnRlbnRzIGJ5IHRoZSBhY3Rpb25zIHdvcmtmbG93LlxuXHRmcy5ta2RpclN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGlucHV0LmFuYWx5emVyRGlyZWN0b3J5KSwge1xuXHRcdHJlY3Vyc2l2ZTogdHJ1ZSxcblx0fSk7XG5cdGZzLndyaXRlRmlsZVN5bmMoXG5cdFx0cGF0aC5qb2luKFxuXHRcdFx0cHJvY2Vzcy5jd2QoKSxcblx0XHRcdGlucHV0LmFuYWx5emVyRGlyZWN0b3J5LFxuXHRcdFx0XCJidW5kbGVfYW5hbHlzaXNfY29tbWVudC50eHRcIixcblx0XHQpLFxuXHRcdG91dHB1dC50cmltKCksXG5cdCk7XG59XG5cbmZ1bmN0aW9uIGZpbGVzaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xuXHRyZXR1cm4gb3JpZ2luYWxGaWxlc2l6ZShieXRlcywge1xuXHRcdHNwYWNlcjogXCJcdTAwQTBcIixcblx0fSk7XG59XG5cbmZ1bmN0aW9uIG1hcmtkb3duVGFibGUoXG5cdGRhdGE6IEFycmF5PENvbXBhcmVSZXN1bHQ+LFxuXHRyZWRUaHJlc2hvbGQ6IG51bWJlcixcbik6IHN0cmluZyB7XG5cdGNvbnN0IHJvd3MgPSBkYXRhXG5cdFx0Lm1hcCgoZCkgPT4ge1xuXHRcdFx0cmV0dXJuIGAke2QubWV0YWZpbGV9IHwgJHtkLm91dGZpbGV9IHwgJHtyZW5kZXJTaXplKGQpfSB8ICR7cmVuZGVyTm90ZShcblx0XHRcdFx0ZCxcblx0XHRcdFx0cmVkVGhyZXNob2xkLFxuXHRcdFx0KX1cXG5gO1xuXHRcdH0pXG5cdFx0LmpvaW4oXCJcIik7XG5cblx0cmV0dXJuIGBcbk1ldGEgRmlsZSB8IE91dCBGaWxlICB8IFNpemUgKHJhdykgfCBOb3RlIFxuLS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tOnwtLS0tLS1cbiR7cm93c31gO1xufVxuXG5mdW5jdGlvbiByZW5kZXJTaXplKGQ6IENvbXBhcmVSZXN1bHQpOiBzdHJpbmcge1xuXHRyZXR1cm4gZmlsZXNpemUoZC5ieXRlcyk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlck5vdGUoZDogQ29tcGFyZVJlc3VsdCwgcmVkVGhyZXNob2xkOiBudW1iZXIpOiBzdHJpbmcge1xuXHRpZiAoZC5yZW1hcmsgPT09IFwiZGVsZXRlZFwiKSB7XG5cdFx0cmV0dXJuIFwiXHVEODNEXHVEREQxXHVGRTBGIERlbGV0ZWRcIjtcblx0fVxuXHRpZiAoZC5yZW1hcmsgPT09IFwiYWRkZWRcIikge1xuXHRcdHJldHVybiBcIlx1RDgzQ1x1REQ5NSBBZGRlZFwiO1xuXHR9XG5cdGlmIChkLmRpZmYpIHtcblx0XHRjb25zdCBwZXJjZW50Q2hhbmdlID0gKGQuZGlmZiAvIGQuYnl0ZXMpICogMTAwO1xuXHRcdHJldHVybiBgJHtyZW5kZXJTdGF0dXNJbmRpY2F0b3IocGVyY2VudENoYW5nZSwgcmVkVGhyZXNob2xkKX0ke2ZpbGVzaXplKFxuXHRcdFx0ZC5kaWZmLFxuXHRcdCl9ICgke3NpZ24ocGVyY2VudENoYW5nZSl9JHtwZXJjZW50Q2hhbmdlLnRvRml4ZWQoMSl9JSlgO1xuXHR9XG5cdHJldHVybiBcIlx1MjcwNSAgTm8gY2hhbmdlXCI7XG59XG5cbmZ1bmN0aW9uIHNpZ24obnVtOiBudW1iZXIpOiBzdHJpbmcge1xuXHRyZXR1cm4gbnVtIDwgMCA/IFwiXCIgOiBcIitcIjtcbn1cblxuZnVuY3Rpb24gcmVuZGVyU3RhdHVzSW5kaWNhdG9yKFxuXHRwZXJjZW50Q2hhbmdlOiBudW1iZXIsXG5cdHJlZFRocmVzaG9sZDogbnVtYmVyLFxuKTogc3RyaW5nIHtcblx0bGV0IHJlczogc3RyaW5nO1xuXHRpZiAocGVyY2VudENoYW5nZSA+IDAgJiYgcGVyY2VudENoYW5nZSA8IHJlZFRocmVzaG9sZCkge1xuXHRcdHJlcyA9IFwiXHUyNkEwXHVGRTBGXCI7XG5cdH0gZWxzZSBpZiAocGVyY2VudENoYW5nZSA+PSByZWRUaHJlc2hvbGQpIHtcblx0XHRyZXMgPSBcIlx1MjAzQ1x1RkUwRlwiO1xuXHR9IGVsc2Uge1xuXHRcdHJlcyA9IFwiXHUyNzA1IFwiO1xuXHR9XG5cdHJldHVybiBgJHtyZXN9ICR7c2lnbihwZXJjZW50Q2hhbmdlKX1gO1xufVxuIiwgImltcG9ydCBmcyBmcm9tIFwibm9kZTpmc1wiO1xuXG5pbXBvcnQgdHlwZSB7IE1ldGFmaWxlIH0gZnJvbSBcImVzYnVpbGRcIjtcbmltcG9ydCB0eXBlIHsgUmVwb3J0IH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZnVuY3Rpb24gbG9hZEpzb25GaWxlKHBhdGg6IHN0cmluZykge1xuXHRyZXR1cm4gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aCkudG9TdHJpbmcoXCJ1dGYtOFwiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkTWV0YUZpbGUocGF0aDogc3RyaW5nKTogTWV0YWZpbGUge1xuXHRyZXR1cm4gbG9hZEpzb25GaWxlKHBhdGgpIGFzIE1ldGFmaWxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFuYWx5c2lzSnNvbihwYXRoOiBzdHJpbmcpOiBSZXBvcnQge1xuXHRyZXR1cm4gbG9hZEpzb25GaWxlKHBhdGgpIGFzIFJlcG9ydDtcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvdG9vbGtpdC9ibG9iLzgxYTczYWJhOGJlZGQ1MzJmNmVkZGNjNDFlZDNhMGZhZDhiMWNmZWIvcGFja2FnZXMvY29yZS9zcmMvY29yZS50cyNMMTI2XG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5wdXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcblx0Y29uc3QgdmFsID0gcHJvY2Vzcy5lbnZbYElOUFVUXyR7bmFtZS50b1VwcGVyQ2FzZSgpfWBdIHx8IFwiXCI7XG5cdHJldHVybiB2YWwudHJpbSgpO1xufVxuIiwgImltcG9ydCBmcyBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSBcIm5vZGU6cHJvY2Vzc1wiO1xuXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMsIFJlcG9ydCB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBsb2FkTWV0YUZpbGUgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVwb3J0KGlucHV0OiBPcHRpb25zKTogdm9pZCB7XG5cdGNvbnN0IGFsbFBhZ2VTaXplcyA9IGdldEFsbFBhZ2VTaXplcyhpbnB1dCk7XG5cdGZzLm1rZGlyU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgaW5wdXQuYW5hbHl6ZXJEaXJlY3RvcnkpLCB7XG5cdFx0cmVjdXJzaXZlOiB0cnVlLFxuXHR9KTtcblx0Y29uc3QgcmVzdWx0SnNvblBhdGggPSBwYXRoLmpvaW4oXG5cdFx0cHJvY2Vzcy5jd2QoKSxcblx0XHRpbnB1dC5hbmFseXplckRpcmVjdG9yeSxcblx0XHRcImJ1bmRsZV9hbmFseXNpcy5qc29uXCIsXG5cdCk7XG5cdGZzLndyaXRlRmlsZVN5bmMocmVzdWx0SnNvblBhdGgsIEpTT04uc3RyaW5naWZ5KGFsbFBhZ2VTaXplcywgbnVsbCwgMikpO1xuXHRjb25zb2xlLmxvZyhgV3JvdGUgJHtyZXN1bHRKc29uUGF0aH1gKTtcbn1cblxuZnVuY3Rpb24gZ2V0QWxsUGFnZVNpemVzKGlucHV0OiBPcHRpb25zKTogUmVwb3J0IHtcblx0Y29uc3QgYWNjOiBSZXBvcnQgPSB7fTtcblx0cmV0dXJuIGlucHV0Lm1ldGFmaWxlcy5yZWR1Y2UoKGFjYywgbWV0YWZpbGUpID0+IHtcblx0XHRjb25zdCBtZXRhRmlsZVBhdGggPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgbWV0YWZpbGUpO1xuXHRcdHRyeSB7XG5cdFx0XHRmcy5hY2Nlc3NTeW5jKG1ldGFGaWxlUGF0aCwgZnMuY29uc3RhbnRzLlJfT0spO1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0Y29uc29sZS5lcnJvcihcblx0XHRcdFx0YE5vIG1ldGEgZmlsZSBmb3VuZCBhdCBcIiR7bWV0YUZpbGVQYXRofVwiIC0gYSBwYXRoIHRvIG1ldGEgZmlsZSBtYXkgYmUgd3JvbmcsIG9yIGVzYnVpbGQgaXMgbm90IGV4ZWN1dGVkLmAsXG5cdFx0XHQpO1xuXHRcdFx0cHJvY2Vzcy5leGl0KDEpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG1ldGFGaWxlSnNvbiA9IGxvYWRNZXRhRmlsZShtZXRhRmlsZVBhdGgpO1xuXHRcdE9iamVjdC5lbnRyaWVzKG1ldGFGaWxlSnNvbi5vdXRwdXRzKS5yZWR1Y2UoKGFjYywgb3V0cHV0KSA9PiB7XG5cdFx0XHRjb25zdCBbb3V0ZmlsZSwgYnVpbGRNZXRhXSA9IG91dHB1dDtcblx0XHRcdGFjY1tgJHttZXRhZmlsZX0gLT4gJHtvdXRmaWxlfWBdID0ge1xuXHRcdFx0XHRieXRlczogYnVpbGRNZXRhLmJ5dGVzLFxuXHRcdFx0XHRtZXRhZmlsZSxcblx0XHRcdFx0b3V0ZmlsZSxcblx0XHRcdH07XG5cdFx0XHRyZXR1cm4gYWNjO1xuXHRcdH0sIGFjYyk7XG5cdFx0cmV0dXJuIGFjYztcblx0fSwgYWNjKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBQSxTQUFTLHFCQUFxQjs7O0FDQTlCLE9BQU9BLFNBQVE7QUFDZixPQUFPLFVBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDRGpCLE9BQU8sUUFBUTtBQUtmLFNBQVMsYUFBYUMsT0FBYztBQUNuQyxTQUFPLEtBQUssTUFBTSxHQUFHLGFBQWFBLEtBQUksRUFBRSxTQUFTLE9BQU8sQ0FBQztBQUMxRDtBQUVPLFNBQVMsYUFBYUEsT0FBd0I7QUFDcEQsU0FBTyxhQUFhQSxLQUFJO0FBQ3pCO0FBRU8sU0FBUyxpQkFBaUJBLE9BQXNCO0FBQ3RELFNBQU8sYUFBYUEsS0FBSTtBQUN6QjtBQUdPLFNBQVMsU0FBUyxNQUFzQjtBQUM5QyxRQUFNLE1BQU0sUUFBUSxJQUFJLFNBQVMsS0FBSyxZ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O0FBQUEsTUFDaEMsU0FBUyw2QkFBNkIsS0FBSztBQUFBLE1BQzNDO0FBQUEsSUFDRDtBQUFBLElBQ0EsYUFBYSxDQUFDLFFBQVEsUUFBUSxNQUFNLEVBQUU7QUFBQSxNQUNyQyxTQUFTLGNBQWMsS0FBSztBQUFBLElBQzdCO0FBQUEsSUFDQSxvQkFBb0IsQ0FBQyxTQUFTLFNBQVMsT0FBTyxFQUFFO0FBQUEsTUFDL0MsU0FBUyx1QkFBdUIsS0FBSztBQUFBLElBQ3RDO0FBQUEsSUFDQTtBQUFBLElBQ0EsbUJBQW1CLFNBQVMsbUJBQW1CLEtBQUs7QUFBQSxJQUNwRCxXQUFXLGFBQWEsTUFBTSxHQUFHO0FBQUEsRUFDbEM7QUFDRDtBQUVPLFNBQVMsSUFBSSxVQUFtQixXQUFXLEdBQVM7QUFDMUQsU0FBTyxPQUFPO0FBQ2QsVUFBUSxPQUFPO0FBQ2hCO0FBRUEsSUFBSSxZQUFZLFFBQVEsY0FBYyxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTTtBQUM1RCxNQUFJO0FBQ0w7IiwKICAibmFtZXMiOiBbImZzIiwgInBhdGgiLCAiZnMiLCAiZmlsZXNpemUiLCAiZnMiLCAicGF0aCIsICJwcm9jZXNzIiwgImZzIiwgInBhdGgiLCAicHJvY2VzcyIsICJhY2MiXQp9Cg== +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9jb21wYXJlLnRzIiwgIi4uL3NyYy91dGlscy50cyIsICIuLi9zcmMvcmVwb3J0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgeyBjb21wYXJlIH0gZnJvbSBcIi4vY29tcGFyZVwiO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSBcIi4vcmVwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0SW5wdXQgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5mdW5jdGlvbiBnZXRPcHRpb25zKCk6IE9wdGlvbnMge1xuXHRjb25zdCByYXdNZXRhZmlsZXMgPSBnZXRJbnB1dChcIm1ldGFmaWxlc1wiKTtcblx0aWYgKCFyYXdNZXRhZmlsZXMpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJtZXRhZmlsZXMgaXMgbm90IHNwZWNpZmllZFwiKTtcblx0fVxuXHRjb25zdCBuYW1lID0gZ2V0SW5wdXQoXCJuYW1lXCIpO1xuXHRpZiAoIW5hbWUpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJuYW1lIGlzIG5vdCBzcGVjaWZpZWRcIik7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRidWRnZXRQZXJjZW50SW5jcmVhc2VSZWQ6IE51bWJlci5wYXJzZUludChcblx0XHRcdGdldElucHV0KFwiYnVkZ2V0X3BlcmNlbnRfaW5jcmVhc2VfcmVkXCIpIHx8IFwiMjBcIixcblx0XHRcdDEwLFxuXHRcdCksXG5cdFx0c2hvd0RldGFpbHM6IFtcInRydWVcIiwgXCJUcnVlXCIsIFwiVFJVRVwiXS5pbmNsdWRlcyhcblx0XHRcdGdldElucHV0KFwic2hvd19kZXRhaWxzXCIpIHx8IFwidHJ1ZVwiLFxuXHRcdCksXG5cdFx0c2tpcENvbW1lbnRJZkVtcHR5OiBbXCJmYWxzZVwiLCBcIkZhbHNlXCIsIFwiRkFMU0VcIl0uaW5jbHVkZXMoXG5cdFx0XHRnZXRJbnB1dChcInNraXBfY29tbWVudF9pZl9lbXB0eVwiKSB8fCBcImZhbHNlXCIsXG5cdFx0KSxcblx0XHRuYW1lLFxuXHRcdGFuYWx5emVyRGlyZWN0b3J5OiBnZXRJbnB1dChcImFuYWx5emVfZGlyZWN0b3J5XCIpIHx8IFwiLmFuYWx5emVyXCIsXG5cdFx0bWV0YWZpbGVzOiByYXdNZXRhZmlsZXMuc3BsaXQoXCIsXCIpLFxuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVuKG9wdGlvbnM6IE9wdGlvbnMgPSBnZXRPcHRpb25zKCkpOiB2b2lkIHtcblx0cmVwb3J0KG9wdGlvbnMpO1xuXHRjb21wYXJlKG9wdGlvbnMpO1xufVxuXG5pZiAoaW1wb3J0Lm1ldGEudXJsID09PSBwYXRoVG9GaWxlVVJMKHByb2Nlc3MuYXJndlsxXSkuaHJlZikge1xuXHRydW4oKTtcbn1cbiIsICJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGZpbGVzaXplIGFzIG9yaWdpbmFsRmlsZXNpemUgfSBmcm9tIFwiZmlsZXNpemVcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGFyZVJlc3VsdCwgT3B0aW9ucywgUmVwb3J0IH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGxvYWRBbmFseXNpc0pzb24gfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZShpbnB1dDogT3B0aW9ucyk6IHZvaWQge1xuXHRsZXQgaGFzQW55Q2hhbmdlID0gZmFsc2U7XG5cdGxldCBvdXRwdXQgPSBgIyMgXHVEODNEXHVEQ0U2IGVzYnVpbGQgQnVuZGxlIEFuYWx5c2lzIGZvciAke2lucHV0Lm5hbWV9XG5cblRoaXMgYW5hbHlzaXMgd2FzIGdlbmVyYXRlZCBieSBbZXNidWlsZC1idW5kbGUtYW5hbHl6ZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9leG9lZ28vZXNidWlsZC1idW5kbGUtYW5hbHl6ZXIpLiBcdUQ4M0VcdUREMTZcbmA7XG5cblx0Y29uc3QgY3VycmVudCA9IGxvYWRBbmFseXNpc0pzb24oXG5cdFx0cGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGlucHV0LmFuYWx5emVyRGlyZWN0b3J5LCBcImJ1bmRsZV9hbmFseXNpcy5qc29uXCIpLFxuXHQpO1xuXHRsZXQgYmFzZTogUmVwb3J0O1xuXHR0cnkge1xuXHRcdGJhc2UgPSBsb2FkQW5hbHlzaXNKc29uKFxuXHRcdFx0cGF0aC5qb2luKFxuXHRcdFx0XHRwcm9jZXNzLmN3ZCgpLFxuXHRcdFx0XHRpbnB1dC5hbmFseXplckRpcmVjdG9yeSxcblx0XHRcdFx0XCJiYXNlL2J1bmRsZS9idW5kbGVfYW5hbHlzaXMuanNvblwiLFxuXHRcdFx0KSxcblx0XHQpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0YmFzZSA9IHt9O1xuXHR9XG5cblx0Y29uc3QgYWxsT3V0RmlsZXM6IHN0cmluZ1tdID0gW1xuXHRcdC4uLm5ldyBTZXQoWy4uLk9iamVjdC5rZXlzKGN1cnJlbnQpLCAuLi5PYmplY3Qua2V5cyhiYXNlKV0pLFxuXHRdLnNvcnQoKTtcblx0Y29uc3QgY29tcGFyaXNvbjogQXJyYXk8Q29tcGFyZVJlc3VsdD4gPSBhbGxPdXRGaWxlcy5tYXAoKG91dGZpbGUpID0+IHtcblx0XHRjb25zdCBjdXJyZW50U3RhdHMgPSBjdXJyZW50W291dGZpbGVdO1xuXHRcdGNvbnN0IGJhc2VTdGF0cyA9IGJhc2Vbb3V0ZmlsZV07XG5cblx0XHRpZiAoIWN1cnJlbnRTdGF0cykge1xuXHRcdFx0aGFzQW55Q2hhbmdlID0gdHJ1ZTtcblx0XHRcdC8vIGRlbGV0ZWQgb3V0IGZpbGVcblx0XHRcdHJldHVybiB7IC4uLmJhc2VTdGF0cywgZGlmZjogLTEsIHJlbWFyazogXCJkZWxldGVkXCIgfTtcblx0XHR9XG5cdFx0aWYgKCFiYXNlU3RhdHMpIHtcblx0XHRcdGhhc0FueUNoYW5nZSA9IHRydWU7XG5cdFx0XHQvLyBuZXcgb3V0IGZpbGVcblx0XHRcdHJldHVybiB7IC4uLmN1cnJlbnRTdGF0cywgZGlmZjogLTEsIHJlbWFyazogXCJhZGRlZFwiIH07XG5cdFx0fVxuXHRcdGNvbnN0IGRpZmYgPSBjdXJyZW50U3RhdHMuYnl0ZXMgLSBiYXNlU3RhdHMuYnl0ZXM7XG5cdFx0Y29uc3QgaW5jcmVhc2UgPSAhIU1hdGguc2lnbihkaWZmKTtcblx0XHRpZiAoZGlmZiAhPT0gMCkge1xuXHRcdFx0aGFzQW55Q2hhbmdlID0gdHJ1ZTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdC4uLmN1cnJlbnRTdGF0cyxcblx0XHRcdGRpZmYsXG5cdFx0XHRyZW1hcms6IGluY3JlYXNlID8gXCJpbmNyZWFzZWRcIiA6IFwiZGVjcmVhc2VkXCIsXG5cdFx0fTtcblx0fSk7XG5cblx0aWYgKGhhc0FueUNoYW5nZSkge1xuXHRcdG91dHB1dCArPSBtYXJrZG93blRhYmxlKGNvbXBhcmlzb24sIGlucHV0LmJ1ZGdldFBlcmNlbnRJbmNyZWFzZVJlZCk7XG5cblx0XHRpZiAoaW5wdXQuc2hvd0RldGFpbHMpIHtcblx0XHRcdG91dHB1dCArPSBgXFxuPGRldGFpbHM+XG48c3VtbWFyeT5EZXRhaWxzPC9zdW1tYXJ5PlxuPHA+TmV4dCB0byB0aGUgc2l6ZSBpcyBob3cgbXVjaCB0aGUgc2l6ZSBoYXMgaW5jcmVhc2VkIG9yIGRlY3JlYXNlZCBjb21wYXJlZCB3aXRoIHRoZSBiYXNlIGJyYW5jaCBvZiB0aGlzIFBSLjwvcD5cbjx1bD5cbjxsaT5cdTIwM0NcdUZFMEY6IFNpemUgaW5jcmVhc2VkIGJ5ICR7aW5wdXQuYnVkZ2V0UGVyY2VudEluY3JlYXNlUmVkfSUgb3IgbW9yZS4gU3BlY2lhbCBhdHRlbnRpb24gc2hvdWxkIGJlIGdpdmVuIHRvIHRoaXMuPC9saT5cbjxsaT5cdTI2QTBcdUZFMEY6IFNpemUgaW5jcmVhc2VkIGluIGFjY2VwdGFibGUgcmFuZ2UgKGxvd2VyIHRoYW4gJHtpbnB1dC5idWRnZXRQZXJjZW50SW5jcmVhc2VSZWR9JSkuPC9saT5cbjxsaT5cdTI3MDU6IE5vIGNoYW5nZSBvciBldmVuIGRvd25zaXplZC48L2xpPlxuPGxpPlx1RDgzRFx1REREMVx1RkUwRjogVGhlIG91dCBmaWxlIGlzIGRlbGV0ZWQ6IG5vdCBmb3VuZCBpbiBiYXNlIGJyYW5jaC48L2xpPlxuPGxpPlx1RDgzQ1x1REQ5NTogVGhlIG91dCBmaWxlIGlzIG5ld2x5IGZvdW5kOiB3aWxsIGJlIGFkZGVkIHRvIGJhc2UgYnJhbmNoLjwvbGk+XG48L3VsPlxuPC9kZXRhaWxzPlxcbmA7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdG91dHB1dCArPSBcIlRoaXMgUFIgaW50cm9kdWNlZCBubyBjaGFuZ2VzIHRvIHRoZSBlc2J1aWxkIGJ1bmRsZSEgXHVEODNEXHVERTRDXCI7XG5cdH1cblxuXHQvLyB3ZSBhZGQgdGhpcyB0YWcgc28gdGhhdCBvdXIgYWN0aW9uIGNhbiBiZSBhYmxlIHRvIGVhc2lseSBhbmRcblx0Ly8gY29uc2lzdGVudGx5IGZpbmQgdGhlIHJpZ2h0IGNvbW1lbnQgdG8gZWRpdCBhcyBtb3JlIGNvbW1pdHMgYXJlIHB1c2hlZC5cblx0b3V0cHV0ICs9IGA8IS0tIF9fRVNCVUlMRF9CVU5ETEVfJHtpbnB1dC5uYW1lfSAtLT5gO1xuXG5cdC8vIGlmIGlnbm9yZUlmRW1wdHkgaXMgdHJ1ZSwgc2V0IG91dHB1dCB0byBhbiBlbXB0eSBzdHJpbmdcblx0aWYgKCFoYXNBbnlDaGFuZ2UgJiYgaW5wdXQuc2tpcENvbW1lbnRJZkVtcHR5KSB7XG5cdFx0b3V0cHV0ID0gXCJcIjtcblx0fVxuXHRjb25zb2xlLmRpcih7XG5cdFx0aW5wdXQsXG5cdFx0aGFzQW55Q2hhbmdlLFxuXHRcdG91dHB1dCxcblx0fSk7XG5cblx0Ly8gbG9nIHRoZSBvdXRwdXQsIG1vc3RseSBmb3IgdGVzdGluZyBhbmQgZGVidWdnaW5nLiB0aGlzIHdpbGwgc2hvdyB1cCBpbiB0aGVcblx0Ly8gZ2l0aHViIGFjdGlvbnMgY29uc29sZS5cblx0Y29uc29sZS5sb2cob3V0cHV0KTtcblxuXHQvLyBXcml0ZSB0aGUgb3V0cHV0IHRvIGEgZmlsZSB3aGljaCBpcyBsYXRlciByZWFkIGluXG5cdC8vIGFzIGNvbW1lbnQgY29udGVudHMgYnkgdGhlIGFjdGlvbnMgd29ya2Zsb3cuXG5cdGZzLm1rZGlyU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgaW5wdXQuYW5hbHl6ZXJEaXJlY3RvcnkpLCB7XG5cdFx0cmVjdXJzaXZlOiB0cnVlLFxuXHR9KTtcblx0ZnMud3JpdGVGaWxlU3luYyhcblx0XHRwYXRoLmpvaW4oXG5cdFx0XHRwcm9jZXNzLmN3ZCgpLFxuXHRcdFx0aW5wdXQuYW5hbHl6ZXJEaXJlY3RvcnksXG5cdFx0XHRcImJ1bmRsZV9hbmFseXNpc19jb21tZW50LnR4dFwiLFxuXHRcdCksXG5cdFx0b3V0cHV0LnRyaW0oKSxcblx0KTtcbn1cblxuZnVuY3Rpb24gZmlsZXNpemUoYnl0ZXM6IG51bWJlcik6IHN0cmluZyB7XG5cdHJldHVybiBvcmlnaW5hbEZpbGVzaXplKGJ5dGVzLCB7XG5cdFx0c3BhY2VyOiBcIlx1MDBBMFwiLFxuXHR9KTtcbn1cblxuZnVuY3Rpb24gbWFya2Rvd25UYWJsZShcblx0ZGF0YTogQXJyYXk8Q29tcGFyZVJlc3VsdD4sXG5cdHJlZFRocmVzaG9sZDogbnVtYmVyLFxuKTogc3RyaW5nIHtcblx0Y29uc3Qgcm93cyA9IGRhdGFcblx0XHQubWFwKChkKSA9PiB7XG5cdFx0XHRyZXR1cm4gYCR7ZC5tZXRhZmlsZX0gfCAke2Qub3V0ZmlsZX0gfCAke3JlbmRlclNpemUoZCl9IHwgJHtyZW5kZXJOb3RlKFxuXHRcdFx0XHRkLFxuXHRcdFx0XHRyZWRUaHJlc2hvbGQsXG5cdFx0XHQpfVxcbmA7XG5cdFx0fSlcblx0XHQuam9pbihcIlwiKTtcblxuXHRyZXR1cm4gYFxuTWV0YSBGaWxlIHwgT3V0IEZpbGUgIHwgU2l6ZSAocmF3KSB8IE5vdGUgXG4tLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS06fC0tLS0tLVxuJHtyb3dzfWA7XG59XG5cbmZ1bmN0aW9uIHJlbmRlclNpemUoZDogQ29tcGFyZVJlc3VsdCk6IHN0cmluZyB7XG5cdHJldHVybiBmaWxlc2l6ZShkLmJ5dGVzKTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyTm90ZShkOiBDb21wYXJlUmVzdWx0LCByZWRUaHJlc2hvbGQ6IG51bWJlcik6IHN0cmluZyB7XG5cdGlmIChkLnJlbWFyayA9PT0gXCJkZWxldGVkXCIpIHtcblx0XHRyZXR1cm4gXCJcdUQ4M0RcdURERDFcdUZFMEYgRGVsZXRlZFwiO1xuXHR9XG5cdGlmIChkLnJlbWFyayA9PT0gXCJhZGRlZFwiKSB7XG5cdFx0cmV0dXJuIFwiXHVEODNDXHVERDk1IEFkZGVkXCI7XG5cdH1cblx0aWYgKGQuZGlmZikge1xuXHRcdGNvbnN0IHBlcmNlbnRDaGFuZ2UgPSAoZC5kaWZmIC8gZC5ieXRlcykgKiAxMDA7XG5cdFx0cmV0dXJuIGAke3JlbmRlclN0YXR1c0luZGljYXRvcihwZXJjZW50Q2hhbmdlLCByZWRUaHJlc2hvbGQpfSR7ZmlsZXNpemUoXG5cdFx0XHRkLmRpZmYsXG5cdFx0KX0gKCR7c2lnbihwZXJjZW50Q2hhbmdlKX0ke3BlcmNlbnRDaGFuZ2UudG9GaXhlZCgxKX0lKWA7XG5cdH1cblx0cmV0dXJuIFwiXHUyNzA1ICBObyBjaGFuZ2VcIjtcbn1cblxuZnVuY3Rpb24gc2lnbihudW06IG51bWJlcik6IHN0cmluZyB7XG5cdHJldHVybiBudW0gPCAwID8gXCJcIiA6IFwiK1wiO1xufVxuXG5mdW5jdGlvbiByZW5kZXJTdGF0dXNJbmRpY2F0b3IoXG5cdHBlcmNlbnRDaGFuZ2U6IG51bWJlcixcblx0cmVkVGhyZXNob2xkOiBudW1iZXIsXG4pOiBzdHJpbmcge1xuXHRsZXQgcmVzOiBzdHJpbmc7XG5cdGlmIChwZXJjZW50Q2hhbmdlID4gMCAmJiBwZXJjZW50Q2hhbmdlIDwgcmVkVGhyZXNob2xkKSB7XG5cdFx0cmVzID0gXCJcdTI2QTBcdUZFMEZcIjtcblx0fSBlbHNlIGlmIChwZXJjZW50Q2hhbmdlID49IHJlZFRocmVzaG9sZCkge1xuXHRcdHJlcyA9IFwiXHUyMDNDXHVGRTBGXCI7XG5cdH0gZWxzZSB7XG5cdFx0cmVzID0gXCJcdTI3MDUgXCI7XG5cdH1cblx0cmV0dXJuIGAke3Jlc30gJHtzaWduKHBlcmNlbnRDaGFuZ2UpfWA7XG59XG4iLCAiaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzXCI7XG5cbmltcG9ydCB0eXBlIHsgTWV0YWZpbGUgfSBmcm9tIFwiZXNidWlsZFwiO1xuaW1wb3J0IHR5cGUgeyBSZXBvcnQgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5mdW5jdGlvbiBsb2FkSnNvbkZpbGUocGF0aDogc3RyaW5nKSB7XG5cdHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoKS50b1N0cmluZyhcInV0Zi04XCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRNZXRhRmlsZShwYXRoOiBzdHJpbmcpOiBNZXRhZmlsZSB7XG5cdHJldHVybiBsb2FkSnNvbkZpbGUocGF0aCkgYXMgTWV0YWZpbGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQW5hbHlzaXNKc29uKHBhdGg6IHN0cmluZyk6IFJlcG9ydCB7XG5cdHJldHVybiBsb2FkSnNvbkZpbGUocGF0aCkgYXMgUmVwb3J0O1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWN0aW9ucy90b29sa2l0L2Jsb2IvODFhNzNhYmE4YmVkZDUzMmY2ZWRkY2M0MWVkM2EwZmFkOGIxY2ZlYi9wYWNrYWdlcy9jb3JlL3NyYy9jb3JlLnRzI0wxMjZcbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRjb25zdCB2YWwgPSBwcm9jZXNzLmVudltgSU5QVVRfJHtuYW1lLnRvVXBwZXJDYXNlKCl9YF0gfHwgXCJcIjtcblx0cmV0dXJuIHZhbC50cmltKCk7XG59XG4iLCAiaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgcHJvY2VzcyBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5cbmltcG9ydCB0eXBlIHsgT3B0aW9ucywgUmVwb3J0IH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGxvYWRNZXRhRmlsZSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBvcnQoaW5wdXQ6IE9wdGlvbnMpOiB2b2lkIHtcblx0Y29uc3QgYWxsUGFnZVNpemVzID0gZ2V0QWxsUGFnZVNpemVzKGlucHV0KTtcblx0ZnMubWtkaXJTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBpbnB1dC5hbmFseXplckRpcmVjdG9yeSksIHtcblx0XHRyZWN1cnNpdmU6IHRydWUsXG5cdH0pO1xuXHRjb25zdCByZXN1bHRKc29uUGF0aCA9IHBhdGguam9pbihcblx0XHRwcm9jZXNzLmN3ZCgpLFxuXHRcdGlucHV0LmFuYWx5emVyRGlyZWN0b3J5LFxuXHRcdFwiYnVuZGxlX2FuYWx5c2lzLmpzb25cIixcblx0KTtcblx0ZnMud3JpdGVGaWxlU3luYyhyZXN1bHRKc29uUGF0aCwgSlNPTi5zdHJpbmdpZnkoYWxsUGFnZVNpemVzLCBudWxsLCAyKSk7XG5cdGNvbnNvbGUubG9nKGBXcm90ZSAke3Jlc3VsdEpzb25QYXRofWApO1xufVxuXG5mdW5jdGlvbiBnZXRBbGxQYWdlU2l6ZXMoaW5wdXQ6IE9wdGlvbnMpOiBSZXBvcnQge1xuXHRjb25zdCBhY2M6IFJlcG9ydCA9IHt9O1xuXHRyZXR1cm4gaW5wdXQubWV0YWZpbGVzLnJlZHVjZSgoYWNjLCBtZXRhZmlsZSkgPT4ge1xuXHRcdGNvbnN0IG1ldGFGaWxlUGF0aCA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBtZXRhZmlsZSk7XG5cdFx0dHJ5IHtcblx0XHRcdGZzLmFjY2Vzc1N5bmMobWV0YUZpbGVQYXRoLCBmcy5jb25zdGFudHMuUl9PSyk7XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKFxuXHRcdFx0XHRgTm8gbWV0YSBmaWxlIGZvdW5kIGF0IFwiJHttZXRhRmlsZVBhdGh9XCIgLSBhIHBhdGggdG8gbWV0YSBmaWxlIG1heSBiZSB3cm9uZywgb3IgZXNidWlsZCBpcyBub3QgZXhlY3V0ZWQuYCxcblx0XHRcdCk7XG5cdFx0XHRwcm9jZXNzLmV4aXQoMSk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbWV0YUZpbGVKc29uID0gbG9hZE1ldGFGaWxlKG1ldGFGaWxlUGF0aCk7XG5cdFx0T2JqZWN0LmVudHJpZXMobWV0YUZpbGVKc29uLm91dHB1dHMpLnJlZHVjZSgoYWNjLCBvdXRwdXQpID0+IHtcblx0XHRcdGNvbnN0IFtvdXRmaWxlLCBidWlsZE1ldGFdID0gb3V0cHV0O1xuXHRcdFx0YWNjW2Ake21ldGFmaWxlfSAtPiAke291dGZpbGV9YF0gPSB7XG5cdFx0XHRcdGJ5dGVzOiBidWlsZE1ldGEuYnl0ZXMsXG5cdFx0XHRcdG1ldGFmaWxlLFxuXHRcdFx0XHRvdXRmaWxlLFxuXHRcdFx0fTtcblx0XHRcdHJldHVybiBhY2M7XG5cdFx0fSwgYWNjKTtcblx0XHRyZXR1cm4gYWNjO1xuXHR9LCBhY2MpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFBLFNBQVMscUJBQXFCOzs7QUNBOUIsT0FBT0EsU0FBUTtBQUNmLE9BQU8sVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNEakIsT0FBTyxRQUFRO0FBS2YsU0FBUyxhQUFhQyxPQUFjO0FBQ25DLFNBQU8sS0FBSyxNQUFNLEdBQUcsYUFBYUEsS0FBSSxFQUFFLFNBQVMsT0FBTyxDQUFDO0FBQzFEO0FBRU8sU0FBUyxhQUFhQSxPQUF3QjtBQUNwRCxTQUFPLGFBQWFBLEtBQUk7QUFDekI7QUFFTyxTQUFTLGlCQUFpQkEsT0FBc0I7QUFDdEQsU0FBTyxhQUFhQSxL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QjtBQUFBLEVBQzdDO0FBQ0EsUUFBTSxPQUFPLFNBQVMsTUFBTTtBQUM1QixNQUFJLENBQUMsTUFBTTtBQUNWLFVBQU0sSUFBSSxNQUFNLHVCQUF1QjtBQUFBLEVBQ3hDO0FBQ0EsU0FBTztBQUFBLElBQ04sMEJBQTBCLE9BQU87QUFBQSxNQUNoQyxTQUFTLDZCQUE2QixLQUFLO0FBQUEsTUFDM0M7QUFBQSxJQUNEO0FBQUEsSUFDQSxhQUFhLENBQUMsUUFBUSxRQUFRLE1BQU0sRUFBRTtBQUFBLE1BQ3JDLFNBQVMsY0FBYyxLQUFLO0FBQUEsSUFDN0I7QUFBQSxJQUNBLG9CQUFvQixDQUFDLFNBQVMsU0FBUyxPQUFPLEVBQUU7QUFBQSxNQUMvQyxTQUFTLHVCQUF1QixLQUFLO0FBQUEsSUFDdEM7QUFBQSxJQUNBO0FBQUEsSUFDQSxtQkFBbUIsU0FBUyxtQkFBbUIsS0FBSztBQUFBLElBQ3BELFdBQVcsYUFBYSxNQUFNLEdBQUc7QUFBQSxFQUNsQztBQUNEO0FBRU8sU0FBUyxJQUFJLFVBQW1CLFdBQVcsR0FBUztBQUMxRCxTQUFPLE9BQU87QUFDZCxVQUFRLE9BQU87QUFDaEI7QUFFQSxJQUFJLFlBQVksUUFBUSxjQUFjLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNO0FBQzVELE1BQUk7QUFDTDsiLAogICJuYW1lcyI6IFsiZnMiLCAicGF0aCIsICJmcyIsICJmaWxlc2l6ZSIsICJmcyIsICJwYXRoIiwgInByb2Nlc3MiLCAiZnMiLCAicGF0aCIsICJwcm9jZXNzIiwgImFjYyJdCn0K diff --git a/src/compare.ts b/src/compare.ts index f2871cc..82d45e8 100644 --- a/src/compare.ts +++ b/src/compare.ts @@ -84,6 +84,11 @@ This analysis was generated by [esbuild-bundle-analyzer](https://github.com/exoe if (!hasAnyChange && input.skipCommentIfEmpty) { output = ""; } + console.dir({ + input, + hasAnyChange, + output, + }); // log the output, mostly for testing and debugging. this will show up in the // github actions console.