UNPKG

rollup-plugin-sourcemaps

Version:

Rollup plugin for grabbing source maps from sourceMappingURLs

1 lines 3.68 kB
{"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import fs from 'fs';\nimport { promisify } from 'util';\nimport { Plugin, ExistingRawSourceMap } from 'rollup';\nimport pluginUtils, { CreateFilter } from '@rollup/pluginutils';\nimport sourceMapResolve from 'source-map-resolve';\n\nconst { createFilter } = pluginUtils;\nconst { resolveSourceMap, resolveSources } = sourceMapResolve;\n\nconst promisifiedResolveSourceMap = promisify(resolveSourceMap);\nconst promisifiedResolveSources = promisify(resolveSources);\n\nexport interface SourcemapsPluginOptions {\n include?: Parameters<CreateFilter>[0];\n exclude?: Parameters<CreateFilter>[1];\n readFile?(path: string, callback: (error: Error | null, data: Buffer | string) => void): void;\n}\n\nexport default function sourcemaps({\n include,\n exclude,\n readFile = fs.readFile,\n}: SourcemapsPluginOptions = {}): Plugin {\n const filter = createFilter(include, exclude);\n const promisifiedReadFile = promisify(readFile);\n\n return {\n name: 'sourcemaps',\n\n async load(id: string) {\n if (!filter(id)) {\n return null;\n }\n\n let code: string;\n try {\n code = (await promisifiedReadFile(id)).toString();\n } catch {\n this.warn('Failed reading file');\n return null;\n }\n\n let map: ExistingRawSourceMap;\n try {\n const result = await promisifiedResolveSourceMap(code, id, readFile);\n\n // The code contained no sourceMappingURL\n if (result === null) {\n return code;\n }\n\n map = result.map;\n } catch {\n this.warn('Failed resolving source map');\n return code;\n }\n\n // Resolve sources if they're not included\n if (map.sourcesContent === undefined) {\n try {\n const { sourcesContent } = await promisifiedResolveSources(map, id, readFile);\n if (sourcesContent.every(item => typeof item === 'string')) {\n map.sourcesContent = sourcesContent as string[];\n }\n } catch {\n this.warn('Failed resolving sources for source map');\n }\n }\n\n return { code, map };\n },\n };\n}\n"],"names":["pluginUtils","sourceMapResolve","promisify","fs"],"mappings":";;;;;;;;;;;;;AAMA,MAAM,EAAE,YAAY,EAAE,GAAGA,+BAAW,CAAC;AACrC,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAGC,oCAAgB,CAAC;AAE9D,MAAM,2BAA2B,GAAGC,cAAS,CAAC,gBAAgB,CAAC,CAAC;AAChE,MAAM,yBAAyB,GAAGA,cAAS,CAAC,cAAc,CAAC,CAAC;SAQpC,UAAU,CAAC,EACjC,OAAO,EACP,OAAO,EACP,QAAQ,GAAGC,sBAAE,CAAC,QAAQ,MACK,EAAE;IAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,mBAAmB,GAAGD,cAAS,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,YAAY;QAElB,MAAM,IAAI,CAAC,EAAU;YACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACf,OAAO,IAAI,CAAC;aACb;YAED,IAAI,IAAY,CAAC;YACjB,IAAI;gBACF,IAAI,GAAG,CAAC,MAAM,mBAAmB,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;aACnD;YAAC,WAAM;gBACN,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC;aACb;YAED,IAAI,GAAyB,CAAC;YAC9B,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;;gBAGrE,IAAI,MAAM,KAAK,IAAI,EAAE;oBACnB,OAAO,IAAI,CAAC;iBACb;gBAED,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;aAClB;YAAC,WAAM;gBACN,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;aACb;;YAGD,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE;gBACpC,IAAI;oBACF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,yBAAyB,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC9E,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE;wBAC1D,GAAG,CAAC,cAAc,GAAG,cAA0B,CAAC;qBACjD;iBACF;gBAAC,WAAM;oBACN,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;iBACtD;aACF;YAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;SACtB;KACF,CAAC;AACJ;;;;"}