gregjacobs / Autolinker.js

Utility to Automatically Link URLs, Email Addresses, Phone Numbers, Twitter handles, and Hashtags in a given block of text/HTML
MIT License
1.48k stars 238 forks source link

Enable `inlineSources` #404

Open matthias-ccri opened 10 months ago

matthias-ccri commented 10 months ago

We're seeing some pretty gnarly source-maps warnings in a webpack build. Our project uses cesium, which depends on autolinker.

WARNING in ../../node_modules/autolinker/dist/es2015/anchor-tag-builder.js
Module Warning (from ../../node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '/home/user/src/project/node_modules/autolinker/src/anchor-tag-builder.ts' file: Error: ENOENT: no such file or directory, open '/home/user/src/project/node_modules/autolinker/src/anchor-tag-builder.ts'
 @ ../../node_modules/autolinker/dist/es2015/index.js 9:0-37 9:0-37
 @ ../../node_modules/@cesium/engine/Source/DataSources/GpxDataSource.js 23:0-36 38:21-31
 @ ../../node_modules/@cesium/engine/index.js 83:0-81 83:0-81
 @ ../../node_modules/cesium/Source/Cesium.js 2:0-51 2:0-51 3:0-53 3:0-53 4:0-53 4:0-53 5:0-52 5:0-52 6:0-45 6:0-45 7:0-50 7:0-50 8:0-57 8:0-57 9:0-59 9:0-59 10:0-62 10:0-62 11:0-55 11:0-55 12:0-59 12:0-59 13:0-59 13:0-59 14:0-59 14:0-59 15:0-51 15:0-51 16:0-58 16:0-58 17:0-50 17:0-50 18:0-57 18:0-57 19:0-50 19:0-50 20:0-50 20:0-50 21:0-57 21:0-57 22:0-50 22:0-50 23:0-48 23:0-48 24:0-44 24:0-44 25:0-49 25:0-49 26:0-54 26:0-54 27:0-51 27:0-51 28:0-54 28:0-54 29:0-56 29:0-56 30:0-56 30:0-56 31:0-49 31:0-49 32:0-58 32:0-58 33:0-51 33:0-51 34:0-40 34:0-40 35:0-47 35:0-47 36:0-50 36:0-50 37:0-44 37:0-44 38:0-51 38:0-51 39:0-49 39:0-49 40:0-52 40:0-52 41:0-47 41:0-47 42:0-54 42:0-54 43:0-55 43:0-55 44:0-55 44:0-55 45:0-43 45:0-43 46:0-47 46:0-47 47:0-43 47:0-43 48:0-41 48:0-41 49:0-46 49:0-46 50:0-45 50:0-45 51:0-47 51:0-47 52:0-49 52:0-49 53:0-50 53:0-50 54:0-47 54:0-47 55:0-49 55:0-49 56:0-60 56:0-60 57:0-46 57:0-46 58:0-48 58:0-48 59:0-54 59:0-54 60:0-47 60:0-47 61:0-47 61:0-47 62:0-49 62:0-49 63:0-56 63:0-56 64:0-49 64:0-49 65:0-63 65:0-63 66:0-62 66:0-62 67:0-57 67:0-57 68:0-62 68:0-62 69:0-50 69:0-50 70:0-65 70:0-65 71:0-52 71:0-52 72:0-63 72:0-63 73:0-56 73:0-56 74:0-50 74:0-50 75:0-55 75:0-55 76:0-42 76:0-42 77:0-47 77:0-47 78:0-45 78:0-45 79:0-58 79:0-58 80:0-51 80:0-51 81:0-51 81:0-51 82:0-42 82:0-42 83:0-57 83:0-57 84:0-49 84:0-49 85:0-56 85:0-56 86:0-58 86:0-58 87:0-64 87:0-64 88:0-64 88:0-64 89:0-70 89:0-70 90:0-70 90:0-70 91:0-60 91:0-60 92:0-56 92:0-56 93:0-51 93:0-51 94:0-55 94:0-55 95:0-72 95:0-72 96:0-64 96:0-64 97:0-61 97:0-61 98:0-56 98:0-56 99:0-44 99:0-44 100:0-53 100:0-53 101:0-46 101:0-46 102:0-66 102:0-66 103:0-58 103:0-58 104:0-61 104:0-61 105:0-43 105:0-43 106:0-44 106:0-44 107:0-72 107:0-72 108:0-51 108:0-51 109:0-40 109:0-40 110:0-45 110:0-45 111:0-46 111:0-46 112:0-48 112:0-48 113:0-47 113:0-47 114:0-41 114:0-41 115:0-47 115:0-47 116:0-41 116:0-41 117:0-45 117:0-45 118:0-45 118:0-45 119:0-45 119:0-45 120:0-52 120:0-52 121:0-44 121:0-44 122:0-56 122:0-56 123:0-38 123:0-38 124:0-43 124:0-43 125:0-47 125:0-47 126:0-45 126:0-45 127:0-46 127:0-46 128:0-52 128:0-52 129:0-41 129:0-41 130:0-47 130:0-47 131:0-45 131:0-45 132:0-51 132:0-51 133:0-48 133:0-48 134:0-47 134:0-47 135:0-46 135:0-46 136:0-46 136:0-46 137:0-41 137:0-41 138:0-46 138:0-46 139:0-60 139:0-60 140:0-59 140:0-59 141:0-45 141:0-45 142:0-46 142:0-46 143:0-45 143:0-45 144:0-51 144:0-51 145:0-47 145:0-47 146:0-52 146:0-52 147:0-51 147:0-51 148:0-51 148:0-51 149:0-45 149:0-45 150:0-59 150:0-59 151:0-69 151:0-69 152:0-41 152:0-41 153:0-55 153:0-55 154:0-50 154:0-50 155:0-54 155:0-54 156:0-56 156:0-56 157:0-57 157:0-57 158:0-51 1

This is because the output file anchor-tag-builder.js.map has these contents:

{"version":3,"file":"anchor-tag-builder.js","sourceRoot":"","sources":["../../src/anchor-tag-builder.ts"],"names":[],"mappings":"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"}

Note it has "sources":["../../src/anchor-tag-builder.ts"] but there is no such file in the package. Webpack's source-map-loader looks for that file and produces the warning.

With inlineSources, the map file also has the sourcesContent property which may help webpack avoid the error. Example:

{"version":3,"file":"framework.js","sourceRoot":"","sources":["../src/app/framework.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EACH,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,GACZ,MAAM,oBAAoB,CAAC;AAQ5B;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,WAAW,EAAiB,CAAC;AAGhE;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,cAAc,EAAE,CAAC","sourcesContent":["... redacted source code ..."]}