Aman Karmani
Aman Karmani
Encountered this problem in the vscode build pipeline, where it uses tslib [to find `localize(...)` calls](https://github.com/microsoft/vscode/blob/00fa27eb04ccacc24fe3eaf36371d1b326c1760c/build/lib/nls.ts#L292-L303), and [patches them](https://github.com/microsoft/vscode/blob/00fa27eb04ccacc24fe3eaf36371d1b326c1760c/build/lib/nls.ts#L451-L456) in both the generated [JS and sourcemap](https://github.com/microsoft/vscode/blob/00fa27eb04ccacc24fe3eaf36371d1b326c1760c/build/lib/nls.ts#L490-L492).
Found your great visualizer: [tsc](https://evanw.github.io/source-map-visualization/#MTc5OABpbXBvcnQgeyBsb2NhbGl6ZSB9IGZyb20gJy4vbmxzLmpzJzsKc3RhcnRQdHlIb3N0KCk7CmFzeW5jIGZ1bmN0aW9uIHN0YXJ0UHR5SG9zdCgpIHsKICAgIC8vIFNhbml0aXplIGVudmlyb25tZW50CiAgICBkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1JFQ09OTkVDVF9HUkFDRV9USU1FOwogICAgZGVsZXRlIHByb2Nlc3MuZW52LlZTQ09ERV9SRUNPTk5FQ1RfU0hPUlRfR1JBQ0VfVElNRTsKICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5WU0NPREVfUkVDT05ORUNUX1NDUk9MTEJBQ0s7CiAgICBkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX0xBVEVOQ1k7CiAgICBkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1NUQVJUVVBfREVMQVk7CiAgICBjb25zb2xlLmxvZygncHR5aG9zdCcsIHsgbmFtZTogbG9jYWxpemUoJ3B0eUhvc3QnLCAiUHR5IEhvc3QiKSB9KTsKfQovLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljSFI1U0c5emRFMWhhVzR1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTl6Y21NdmNIUjVTRzl6ZEUxaGFXNHVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeE5RVUZOTEZWQlFWVXNRMEZCUXp0QlFVVndReXhaUVVGWkxFVkJRVVVzUTBGQlF6dEJRVVZtTEV0QlFVc3NWVUZCVlN4WlFVRlpPMGxCUXpGQ0xIVkNRVUYxUWp0SlFVTjJRaXhQUVVGUExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNNa0pCUVRKQ0xFTkJRVU03U1VGREwwTXNUMEZCVHl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExHbERRVUZwUXl4RFFVRkRPMGxCUTNKRUxFOUJRVThzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl3eVFrRkJNa0lzUTBGQlF6dEpRVU12UXl4UFFVRlBMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zWTBGQll5eERRVUZETzBsQlEyeERMRTlCUVU4c1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eHZRa0ZCYjBJc1EwRkJRenRKUVVWNFF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRk5CUVZNc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeFJRVUZSTEVOQlFVTXNVMEZCVXl4RlFVRkZMRlZCUVZVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU51UlN4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnYkc5allXeHBlbVVnZlNCbWNtOXRJQ2N1TDI1c2N5NXFjeWM3WEc1Y2JuTjBZWEowVUhSNVNHOXpkQ2dwTzF4dVhHNWhjM2x1WXlCbWRXNWpkR2x2YmlCemRHRnlkRkIwZVVodmMzUW9LU0I3WEc1Y2RDOHZJRk5oYm1sMGFYcGxJR1Z1ZG1seWIyNXRaVzUwWEc1Y2RHUmxiR1YwWlNCd2NtOWpaWE56TG1WdWRpNVdVME5QUkVWZlVrVkRUMDVPUlVOVVgwZFNRVU5GWDFSSlRVVTdYRzVjZEdSbGJHVjBaU0J3Y205alpYTnpMbVZ1ZGk1V1UwTlBSRVZmVWtWRFQwNU9SVU5VWDFOSVQxSlVYMGRTUVVORlgxUkpUVVU3WEc1Y2RHUmxiR1YwWlNCd2NtOWpaWE56TG1WdWRpNVdVME5QUkVWZlVrVkRUMDVPUlVOVVgxTkRVazlNVEVKQlEwczdYRzVjZEdSbGJHVjBaU0J3Y205alpYTnpMbVZ1ZGk1V1UwTlBSRVZmVEVGVVJVNURXVHRjYmx4MFpHVnNaWFJsSUhCeWIyTmxjM011Wlc1MkxsWlRRMDlFUlY5VFZFRlNWRlZRWDBSRlRFRlpPMXh1WEc1Y2RHTnZibk52YkdVdWJHOW5LQ2R3ZEhsb2IzTjBKeXdnZXlCdVlXMWxPaUJzYjJOaGJHbDZaU2duY0hSNVNHOXpkQ2NzSUZ3aVVIUjVJRWh2YzNSY0lpa2dmU2s3WEc1OVhHNGlYWDA9OTg2AHsidmVyc2lvbiI6MywiZmlsZSI6InB0eUhvc3RNYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3B0eUhvc3RNYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEMsWUFBWSxFQUFFLENBQUM7QUFFZixLQUFLLFVBQVUsWUFBWTtJQUMxQix1QkFBdUI7SUFDdkIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDO0lBQy9DLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQztJQUNyRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztJQUNsQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUM7SUFFeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvY2FsaXplIH0gZnJvbSAnLi9ubHMuanMnO1xuXG5zdGFydFB0eUhvc3QoKTtcblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRQdHlIb3N0KCkge1xuXHQvLyBTYW5pdGl6ZSBlbnZpcm9ubWVudFxuXHRkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1JFQ09OTkVDVF9HUkFDRV9USU1FO1xuXHRkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1JFQ09OTkVDVF9TSE9SVF9HUkFDRV9USU1FO1xuXHRkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1JFQ09OTkVDVF9TQ1JPTExCQUNLO1xuXHRkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX0xBVEVOQ1k7XG5cdGRlbGV0ZSBwcm9jZXNzLmVudi5WU0NPREVfU1RBUlRVUF9ERUxBWTtcblxuXHRjb25zb2xlLmxvZygncHR5aG9zdCcsIHsgbmFtZTogbG9jYWxpemUoJ3B0eUhvc3QnLCBcIlB0eSBIb3N0XCIpIH0pO1xufVxuIl19) [esbuild](https://evanw.github.io/source-map-visualization/#MTQ2MwBpbXBvcnQgeyBsb2NhbGl6ZSB9IGZyb20gIi4vbmxzLmpzIjsKc3RhcnRQdHlIb3N0KCk7CmFzeW5jIGZ1bmN0aW9uIHN0YXJ0UHR5SG9zdCgpIHsKICBkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1JFQ09OTkVDVF9HUkFDRV9USU1FOwogIGRlbGV0ZSBwcm9jZXNzLmVudi5WU0NPREVfUkVDT05ORUNUX1NIT1JUX0dSQUNFX1RJTUU7CiAgZGVsZXRlIHByb2Nlc3MuZW52LlZTQ09ERV9SRUNPTk5FQ1RfU0NST0xMQkFDSzsKICBkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX0xBVEVOQ1k7CiAgZGVsZXRlIHByb2Nlc3MuZW52LlZTQ09ERV9TVEFSVFVQX0RFTEFZOwogIGNvbnNvbGUubG9nKCJwdHlob3N0IiwgeyBuYW1lOiBsb2NhbGl6ZSgicHR5SG9zdCIsICJQdHkgSG9zdCIpIH0pOwp9Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXdvZ0lDSjJaWEp6YVc5dUlqb2dNeXdLSUNBaWMyOTFjbU5sY3lJNklGc2lMaTR2YzNKakwzQjBlVWh2YzNSTllXbHVMblJ6SWwwc0NpQWdJbk52ZFhKalpYTkRiMjUwWlc1MElqb2dXeUpwYlhCdmNuUWdleUJzYjJOaGJHbDZaU0I5SUdaeWIyMGdKeTR2Ym14ekxtcHpKenRjYmx4dWMzUmhjblJRZEhsSWIzTjBLQ2s3WEc1Y2JtRnplVzVqSUdaMWJtTjBhVzl1SUhOMFlYSjBVSFI1U0c5emRDZ3BJSHRjYmx4MEx5OGdVMkZ1YVhScGVtVWdaVzUyYVhKdmJtMWxiblJjYmx4MFpHVnNaWFJsSUhCeWIyTmxjM011Wlc1MkxsWlRRMDlFUlY5U1JVTlBUazVGUTFSZlIxSkJRMFZmVkVsTlJUdGNibHgwWkdWc1pYUmxJSEJ5YjJObGMzTXVaVzUyTGxaVFEwOUVSVjlTUlVOUFRrNUZRMVJmVTBoUFVsUmZSMUpCUTBWZlZFbE5SVHRjYmx4MFpHVnNaWFJsSUhCeWIyTmxjM011Wlc1MkxsWlRRMDlFUlY5U1JVTlBUazVGUTFSZlUwTlNUMHhNUWtGRFN6dGNibHgwWkdWc1pYUmxJSEJ5YjJObGMzTXVaVzUyTGxaVFEwOUVSVjlNUVZSRlRrTlpPMXh1WEhSa1pXeGxkR1VnY0hKdlkyVnpjeTVsYm5ZdVZsTkRUMFJGWDFOVVFWSlVWVkJmUkVWTVFWazdYRzVjYmx4MFkyOXVjMjlzWlM1c2IyY29KM0IwZVdodmMzUW5MQ0I3SUc1aGJXVTZJR3h2WTJGc2FYcGxLQ2R3ZEhsSWIzTjBKeXdnWENKUWRIa2dTRzl6ZEZ3aUtTQjlLVHRjYm4xY2JpSmRMQW9nSUNKdFlYQndhVzVuY3lJNklDSkJRVUZCTEZOQlFWTXNaMEpCUVdkQ08wRkJSWHBDTEdGQlFXRTdRVUZGWWl4bFFVRmxMR1ZCUVdVN1FVRkZOMElzVTBGQlR5eFJRVUZSTEVsQlFVazdRVUZEYmtJc1UwRkJUeXhSUVVGUkxFbEJRVWs3UVVGRGJrSXNVMEZCVHl4UlFVRlJMRWxCUVVrN1FVRkRia0lzVTBGQlR5eFJRVUZSTEVsQlFVazdRVUZEYmtJc1UwRkJUeXhSUVVGUkxFbEJRVWs3UVVGRmJrSXNWVUZCVVN4SlFVRkpMRmRCUVZjc1JVRkJSU3hOUVVGTkxGTkJRVk1zVjBGQlZ5eFZRVUZWTEVWQlFVVXNRMEZCUXp0QlFVTnFSVHNpTEFvZ0lDSnVZVzFsY3lJNklGdGRDbjBLCjc2NQB7CiAgInZlcnNpb24iOiAzLAogICJzb3VyY2VzIjogWyIuLi9zcmMvcHR5SG9zdE1haW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGxvY2FsaXplIH0gZnJvbSAnLi9ubHMuanMnO1xuXG5zdGFydFB0eUhvc3QoKTtcblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRQdHlIb3N0KCkge1xuXHQvLyBTYW5pdGl6ZSBlbnZpcm9ubWVudFxuXHRkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1JFQ09OTkVDVF9HUkFDRV9USU1FO1xuXHRkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1JFQ09OTkVDVF9TSE9SVF9HUkFDRV9USU1FO1xuXHRkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX1JFQ09OTkVDVF9TQ1JPTExCQUNLO1xuXHRkZWxldGUgcHJvY2Vzcy5lbnYuVlNDT0RFX0xBVEVOQ1k7XG5cdGRlbGV0ZSBwcm9jZXNzLmVudi5WU0NPREVfU1RBUlRVUF9ERUxBWTtcblxuXHRjb25zb2xlLmxvZygncHR5aG9zdCcsIHsgbmFtZTogbG9jYWxpemUoJ3B0eUhvc3QnLCBcIlB0eSBIb3N0XCIpIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxnQkFBZ0I7QUFFekIsYUFBYTtBQUViLGVBQWUsZUFBZTtBQUU3QixTQUFPLFFBQVEsSUFBSTtBQUNuQixTQUFPLFFBQVEsSUFBSTtBQUNuQixTQUFPLFFBQVEsSUFBSTtBQUNuQixTQUFPLFFBQVEsSUFBSTtBQUNuQixTQUFPLFFBQVEsSUFBSTtBQUVuQixVQUFRLElBQUksV0FBVyxFQUFFLE1BQU0sU0FBUyxXQUFXLFVBQVUsRUFBRSxDQUFDO0FBQ2pFOyIsCiAgIm5hbWVzIjogW10KfQo=)
Suitable for my use-case, but there's probably a better way to do this? ```diff diff --git i/internal/js_printer/js_printer.go w/internal/js_printer/js_printer.go index 2a3bedb3..cc1c6913 100644 --- i/internal/js_printer/js_printer.go +++ w/internal/js_printer/js_printer.go @@ -2929,8 +2929,15 @@ func...
This is perhaps better: ```diff diff --git i/internal/js_printer/js_printer.go w/internal/js_printer/js_printer.go index 2a3bedb3..48b0dfad 100644 --- i/internal/js_printer/js_printer.go +++ w/internal/js_printer/js_printer.go @@ -2412,6 +2412,7 @@ func (p *printer) printExpr(expr js_ast.Expr, level js_ast.L, flags printExprFla }...
That was my assumption initially, but I did find that the interface [is actually](https://github.com/microsoft/vscode/blob/00fa27eb04ccacc24fe3eaf36371d1b326c1760c/src/vs/nls.ts#L82): ```ts export interface ILocalizeInfo { key: string; comment: string[]; } export function localize(data: ILocalizeInfo | string...
I tried setting the env var `npm_config_devdir=${{ runner.temp }}/node-gyp`, in order to fully isolate the headers extraction destination from everything else. It still fails randomly with corrupted incomplete files: ```...
It's almost as if it's not letting the `tar.extract()` finish until the end... ``` npm error File "/home/runner/work/_temp/node-gyp/34.5.1/include/node/common.gypi", line 489 npm error [ 'OS in "linux freebsd openbsd npm error...
Hmm, my hunch was this is on the nodejs side? The common.gypi file that is frequently corrupted is inside the headers tarball: ``` ❯ curl -v https://electronjs.org/headers/v34.5.1/node-v34.5.1-headers.tar.gz -O ❯ tar...
Okay thanks. To be clear, the issue happens on Mac and Linux but not Windows. I will do some testing to see if this helps. The issue is intermittent so...