{"_id":"@3rd/sourcemap-codec","name":"@3rd/sourcemap-codec","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@3rd/sourcemap-codec","version":"0.0.1","author":{"name":"scriptpower"},"description":"Encode/decode sourcemap mappings","keywords":["sourcemap","vlq"],"type":"module","types":"index.d.ts","main":"index.js","module":"index.js","exports":{"default":"./index.js","node":"./index.js","import":"./index.js","require":"./index.cjs","types":"./index.d.ts"},"engine":{"node":">=18"},"license":"MIT","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@3rd/sourcemap-codec@0.0.1","gitHead":"5d641a4525b8bdcf6579bf8a3fcaad03686543fd","_nodeVersion":"22.0.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-SQyr9oVDRlBE0/YAPNzmVbOqWs+ZcHU53Qnekrk4pJCKDHyO2bq5R7m7/SUZ0I2qFbwJ6sG584j9Zsz4uE2Yig==","shasum":"0dad70c0c819797bdb12e9f667d25e5803a2b233","tarball":"https://registry.npmjs.org/@3rd/sourcemap-codec/-/sourcemap-codec-0.0.1.tgz","fileCount":5,"unpackedSize":14582,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHKfiKQC7EqJ6EEvZ1JnU4Rz9NlMXV0Nb9dvuf+bRUFHAiEAiZlf369Rgm6huO0rfY5qtxxhlXAxPqpcBbQbe0hhpt8="}]},"_npmUser":{"name":"scriptpower","email":"scriptpower@qq.com"},"directories":{},"maintainers":[{"name":"scriptpower","email":"scriptpower@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sourcemap-codec_0.0.1_1718352514689_0.32873717157458837"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-14T08:08:34.576Z","0.0.1":"2024-06-14T08:08:34.894Z","modified":"2024-06-14T08:08:35.192Z"},"maintainers":[{"name":"scriptpower","email":"scriptpower@qq.com"}],"description":"Encode/decode sourcemap mappings","keywords":["sourcemap","vlq"],"author":{"name":"scriptpower"},"license":"MIT","readme":"# @3rd/sourcemap-codec\n\nEncode/decode the `mappings` property of a [sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit).\n\n\n## Why?\n\nSourcemaps are difficult to generate and manipulate, because the `mappings` property – the part that actually links the generated code back to the original source – is encoded using an obscure method called [Variable-length quantity](https://en.wikipedia.org/wiki/Variable-length_quantity). On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap.\n\nThis package makes the process slightly easier.\n\n\n## Installation\n\n```bash\nnpm install @3rd/sourcemap-codec\n```\n\n\n## Usage\n\n```js\nimport { encode, decode } from '@3rd/sourcemap-codec';\n\nvar decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );\n\nassert.deepEqual( decoded, [\n\t// the first line (of the generated code) has no mappings,\n\t// as shown by the starting semi-colon (which separates lines)\n\t[],\n\n\t// the second line contains four (comma-separated) segments\n\t[\n\t\t// segments are encoded as you'd expect:\n\t\t// [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ]\n\n\t\t// i.e. the first segment begins at column 2, and maps back to the second column\n\t\t// of the second line (both zero-based) of the 0th source, and uses the 0th\n\t\t// name in the `map.names` array\n\t\t[ 2, 0, 2, 2, 0 ],\n\n\t\t// the remaining segments are 4-length rather than 5-length,\n\t\t// because they don't map a name\n\t\t[ 4, 0, 2, 4 ],\n\t\t[ 6, 0, 2, 5 ],\n\t\t[ 7, 0, 2, 7 ]\n\t],\n\n\t// the final line contains two segments\n\t[\n\t\t[ 2, 1, 10, 19 ],\n\t\t[ 12, 1, 11, 20 ]\n\t]\n]);\n\nvar encoded = encode( decoded );\nassert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );\n```\n\n## Benchmarks\n\n```\nnode v20.10.0\n\namp.js.map - 45120 segments\n\nDecode Memory Usage:\nlocal code                             5815135 bytes\n@3rd/sourcemap-codec 1.4.15     5868160 bytes\nsourcemap-codec                        5492584 bytes\nsource-map-0.6.1                      13569984 bytes\nsource-map-0.8.0                       6390584 bytes\nchrome dev tools                       8011136 bytes\nSmallest memory usage is sourcemap-codec\n\nDecode speed:\ndecode: local code x 492 ops/sec ±1.22% (90 runs sampled)\ndecode: @3rd/sourcemap-codec 1.4.15 x 499 ops/sec ±1.16% (89 runs sampled)\ndecode: sourcemap-codec x 376 ops/sec ±1.66% (89 runs sampled)\ndecode: source-map-0.6.1 x 34.99 ops/sec ±0.94% (48 runs sampled)\ndecode: source-map-0.8.0 x 351 ops/sec ±0.07% (95 runs sampled)\nchrome dev tools x 165 ops/sec ±0.91% (86 runs sampled)\nFastest is decode: @3rd/sourcemap-codec 1.4.15\n\nEncode Memory Usage:\nlocal code                              444248 bytes\n@3rd/sourcemap-codec 1.4.15      623024 bytes\nsourcemap-codec                        8696280 bytes\nsource-map-0.6.1                       8745176 bytes\nsource-map-0.8.0                       8736624 bytes\nSmallest memory usage is local code\n\nEncode speed:\nencode: local code x 796 ops/sec ±0.11% (97 runs sampled)\nencode: @3rd/sourcemap-codec 1.4.15 x 795 ops/sec ±0.25% (98 runs sampled)\nencode: sourcemap-codec x 231 ops/sec ±0.83% (86 runs sampled)\nencode: source-map-0.6.1 x 166 ops/sec ±0.57% (86 runs sampled)\nencode: source-map-0.8.0 x 203 ops/sec ±0.45% (88 runs sampled)\nFastest is encode: local code,encode: @3rd/sourcemap-codec 1.4.15\n\n\n***\n\n\nbabel.min.js.map - 347793 segments\n\nDecode Memory Usage:\nlocal code                            35424960 bytes\n@3rd/sourcemap-codec 1.4.15    35424696 bytes\nsourcemap-codec                       36033464 bytes\nsource-map-0.6.1                      62253704 bytes\nsource-map-0.8.0                      43843920 bytes\nchrome dev tools                      45111400 bytes\nSmallest memory usage is @3rd/sourcemap-codec 1.4.15\n\nDecode speed:\ndecode: local code x 38.18 ops/sec ±5.44% (52 runs sampled)\ndecode: @3rd/sourcemap-codec 1.4.15 x 38.36 ops/sec ±5.02% (52 runs sampled)\ndecode: sourcemap-codec x 34.05 ops/sec ±4.45% (47 runs sampled)\ndecode: source-map-0.6.1 x 4.31 ops/sec ±2.76% (15 runs sampled)\ndecode: source-map-0.8.0 x 55.60 ops/sec ±0.13% (73 runs sampled)\nchrome dev tools x 16.94 ops/sec ±3.78% (46 runs sampled)\nFastest is decode: source-map-0.8.0\n\nEncode Memory Usage:\nlocal code                             2606016 bytes\n@3rd/sourcemap-codec 1.4.15     2626440 bytes\nsourcemap-codec                       21152576 bytes\nsource-map-0.6.1                      25023928 bytes\nsource-map-0.8.0                      25256448 bytes\nSmallest memory usage is local code\n\nEncode speed:\nencode: local code x 127 ops/sec ±0.18% (83 runs sampled)\nencode: @3rd/sourcemap-codec 1.4.15 x 128 ops/sec ±0.26% (83 runs sampled)\nencode: sourcemap-codec x 29.31 ops/sec ±2.55% (53 runs sampled)\nencode: source-map-0.6.1 x 18.85 ops/sec ±3.19% (36 runs sampled)\nencode: source-map-0.8.0 x 19.34 ops/sec ±1.97% (36 runs sampled)\nFastest is encode: @3rd/sourcemap-codec 1.4.15\n\n\n***\n\n\npreact.js.map - 1992 segments\n\nDecode Memory Usage:\nlocal code                              261696 bytes\n@3rd/sourcemap-codec 1.4.15      244296 bytes\nsourcemap-codec                         302816 bytes\nsource-map-0.6.1                        939176 bytes\nsource-map-0.8.0                           336 bytes\nchrome dev tools                        587368 bytes\nSmallest memory usage is source-map-0.8.0\n\nDecode speed:\ndecode: local code x 17,782 ops/sec ±0.32% (97 runs sampled)\ndecode: @3rd/sourcemap-codec 1.4.15 x 17,863 ops/sec ±0.40% (100 runs sampled)\ndecode: sourcemap-codec x 12,453 ops/sec ±0.27% (101 runs sampled)\ndecode: source-map-0.6.1 x 1,288 ops/sec ±1.05% (96 runs sampled)\ndecode: source-map-0.8.0 x 9,289 ops/sec ±0.27% (101 runs sampled)\nchrome dev tools x 4,769 ops/sec ±0.18% (100 runs sampled)\nFastest is decode: @3rd/sourcemap-codec 1.4.15\n\nEncode Memory Usage:\nlocal code                              262944 bytes\n@3rd/sourcemap-codec 1.4.15       25544 bytes\nsourcemap-codec                         323048 bytes\nsource-map-0.6.1                        507808 bytes\nsource-map-0.8.0                        507480 bytes\nSmallest memory usage is @3rd/sourcemap-codec 1.4.15\n\nEncode speed:\nencode: local code x 24,207 ops/sec ±0.79% (95 runs sampled)\nencode: @3rd/sourcemap-codec 1.4.15 x 24,288 ops/sec ±0.48% (96 runs sampled)\nencode: sourcemap-codec x 6,761 ops/sec ±0.21% (100 runs sampled)\nencode: source-map-0.6.1 x 5,374 ops/sec ±0.17% (99 runs sampled)\nencode: source-map-0.8.0 x 5,633 ops/sec ±0.32% (99 runs sampled)\nFastest is encode: @3rd/sourcemap-codec 1.4.15,encode: local code\n\n\n***\n\n\nreact.js.map - 5726 segments\n\nDecode Memory Usage:\nlocal code                              678816 bytes\n@3rd/sourcemap-codec 1.4.15      678816 bytes\nsourcemap-codec                         816400 bytes\nsource-map-0.6.1                       2288864 bytes\nsource-map-0.8.0                        721360 bytes\nchrome dev tools                       1012512 bytes\nSmallest memory usage is local code\n\nDecode speed:\ndecode: local code x 6,178 ops/sec ±0.19% (98 runs sampled)\ndecode: @3rd/sourcemap-codec 1.4.15 x 6,261 ops/sec ±0.22% (100 runs sampled)\ndecode: sourcemap-codec x 4,472 ops/sec ±0.90% (99 runs sampled)\ndecode: source-map-0.6.1 x 449 ops/sec ±0.31% (95 runs sampled)\ndecode: source-map-0.8.0 x 3,219 ops/sec ±0.13% (100 runs sampled)\nchrome dev tools x 1,743 ops/sec ±0.20% (99 runs sampled)\nFastest is decode: @3rd/sourcemap-codec 1.4.15\n\nEncode Memory Usage:\nlocal code                              140960 bytes\n@3rd/sourcemap-codec 1.4.15      159808 bytes\nsourcemap-codec                         969304 bytes\nsource-map-0.6.1                        930520 bytes\nsource-map-0.8.0                        930248 bytes\nSmallest memory usage is local code\n\nEncode speed:\nencode: local code x 8,013 ops/sec ±0.19% (100 runs sampled)\nencode: @3rd/sourcemap-codec 1.4.15 x 7,989 ops/sec ±0.20% (101 runs sampled)\nencode: sourcemap-codec x 2,472 ops/sec ±0.21% (99 runs sampled)\nencode: source-map-0.6.1 x 2,200 ops/sec ±0.17% (99 runs sampled)\nencode: source-map-0.8.0 x 2,220 ops/sec ±0.37% (99 runs sampled)\nFastest is encode: local code\n\n\n***\n\n\nvscode.map - 2141001 segments\n\nDecode Memory Usage:\nlocal code                           198955264 bytes\n@3rd/sourcemap-codec 1.4.15   199175352 bytes\nsourcemap-codec                      199102688 bytes\nsource-map-0.6.1                     386323432 bytes\nsource-map-0.8.0                     244116432 bytes\nchrome dev tools                     293734280 bytes\nSmallest memory usage is local code\n\nDecode speed:\ndecode: local code x 3.90 ops/sec ±22.21% (15 runs sampled)\ndecode: @3rd/sourcemap-codec 1.4.15 x 3.95 ops/sec ±23.53% (15 runs sampled)\ndecode: sourcemap-codec x 3.82 ops/sec ±17.94% (14 runs sampled)\ndecode: source-map-0.6.1 x 0.61 ops/sec ±7.81% (6 runs sampled)\ndecode: source-map-0.8.0 x 9.54 ops/sec ±0.28% (28 runs sampled)\nchrome dev tools x 2.18 ops/sec ±10.58% (10 runs sampled)\nFastest is decode: source-map-0.8.0\n\nEncode Memory Usage:\nlocal code                            13509880 bytes\n@3rd/sourcemap-codec 1.4.15    13537648 bytes\nsourcemap-codec                       32540104 bytes\nsource-map-0.6.1                     127531040 bytes\nsource-map-0.8.0                     127535312 bytes\nSmallest memory usage is local code\n\nEncode speed:\nencode: local code x 20.10 ops/sec ±0.19% (38 runs sampled)\nencode: @3rd/sourcemap-codec 1.4.15 x 20.26 ops/sec ±0.32% (38 runs sampled)\nencode: sourcemap-codec x 5.44 ops/sec ±1.64% (18 runs sampled)\nencode: source-map-0.6.1 x 2.30 ops/sec ±4.79% (10 runs sampled)\nencode: source-map-0.8.0 x 2.46 ops/sec ±6.53% (10 runs sampled)\nFastest is encode: @3rd/sourcemap-codec 1.4.15\n```\n\n# License\n\nMIT","readmeFilename":"README.md"}