| {"version":3,"file":"source-map-resolve.cjs","sources":["../src/source-map-resolve.ts"],"sourcesContent":["import * as urlLib from 'node:url';\nimport type { ExistingRawSourceMap } from 'rollup';\nimport decodeUriComponent from './decode-uri-component.js';\n\ninterface ResolvedSources {\n sourcesResolved: string[];\n sourcesContent: (string | Error)[];\n}\n\ninterface ResolvedSourceMap {\n map: ExistingRawSourceMap;\n url: string | null;\n sourcesRelativeTo: string;\n sourceMappingURL: string;\n}\n\nfunction resolveUrl(...args: string[]): string {\n return args.reduce((resolved, nextUrl) => urlLib.resolve(resolved, nextUrl), '');\n}\n\nfunction customDecodeUriComponent(encodedURI: string): string {\n return decodeUriComponent(encodedURI.replace(/\\+/g, '%2B'));\n}\n\nfunction parseMapToJSON(string: string): ExistingRawSourceMap {\n return <ExistingRawSourceMap>JSON.parse(string.replace(/^\\)\\]\\}'/, ''));\n}\n\nconst sourceMappingURLRegex =\n /(?:\\/\\*(?:\\s*\\r?\\n(?:\\/\\/)?)?(?:[#@] sourceMappingURL=([^\\s'\"]*))\\s*\\*\\/|\\/\\/(?:[#@] sourceMappingURL=([^\\s'\"]*)))\\s*/;\n\nfunction getSourceMappingUrl(code: string): string | null {\n const match = sourceMappingURLRegex.exec(code);\n return match ? match[1] || match[2] || '' : null;\n}\n\nexport async function resolveSourceMap(\n code: string,\n codeUrl: string,\n read: (path: string) => Promise<Buffer | string>,\n): Promise<ResolvedSourceMap | null> {\n const sourceMappingURL = getSourceMappingUrl(code);\n if (!sourceMappingURL) {\n return null;\n }\n const dataUri = /^data:([^,;]*)(;[^,;]*)*(?:,(.*))?$/.exec(sourceMappingURL);\n if (dataUri) {\n const mimeType = dataUri[1] || 'text/plain';\n if (!/^(?:application|text)\\/json$/.test(mimeType)) {\n throw new Error(`Unuseful data uri mime type: ${mimeType}`);\n }\n const map = parseMapToJSON(\n (dataUri[2] === ';base64' ? atob : decodeURIComponent)(dataUri[3] || ''),\n );\n return { sourceMappingURL, url: null, sourcesRelativeTo: codeUrl, map };\n }\n const url = resolveUrl(codeUrl, sourceMappingURL);\n const map = parseMapToJSON(String(await read(customDecodeUriComponent(url))));\n return { sourceMappingURL, url, sourcesRelativeTo: url, map };\n}\n\nexport async function resolveSources(\n map: ExistingRawSourceMap,\n mapUrl: string,\n read: (path: string) => Promise<Buffer | string>,\n): Promise<ResolvedSources> {\n const sourcesResolved: string[] = [];\n const sourcesContent: (string | Error)[] = [];\n for (let index = 0, len = map.sources.length; index < len; index++) {\n const sourceRoot = map.sourceRoot;\n const sourceContent = (map.sourcesContent || [])[index];\n const resolvePaths = [mapUrl, map.sources[index]];\n if (sourceRoot !== undefined && sourceRoot !== '') {\n resolvePaths.splice(1, 0, sourceRoot.replace(/\\/?$/, '/'));\n }\n sourcesResolved[index] = resolveUrl(...resolvePaths);\n if (typeof sourceContent === 'string') {\n sourcesContent[index] = sourceContent;\n continue;\n }\n try {\n const source = await read(customDecodeUriComponent(sourcesResolved[index]));\n sourcesContent[index] = String(source);\n } catch (error) {\n sourcesContent[index] = <Error>error;\n }\n }\n return { sourcesResolved, sourcesContent };\n}\n"],"names":["resolveUrl","args","reduce","resolved","nextUrl","urlLib","resolve","customDecodeUriComponent","encodedURI","decodeUriComponent","replace","parseMapToJSON","string","JSON","parse","sourceMappingURLRegex","getSourceMappingUrl","code","match","exec","resolveSourceMap","codeUrl","read","sourceMappingURL","dataUri","mimeType","test","Error","map","atob","decodeURIComponent","url","sourcesRelativeTo","String","resolveSources","mapUrl","sourcesResolved","sourcesContent","index","len","sources","length","sourceRoot","sourceContent","resolvePaths","undefined","splice","source","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgBA,SAASA,UAAAA,CAAW,GAAGC,IAAc,EAAA;IACnC,OAAOA,IAAAA,CAAKC,MAAM,CAAC,CAACC,QAAAA,EAAUC,UAAYC,iBAAOC,CAAAA,OAAO,CAACH,QAAAA,EAAUC,OAAU,CAAA,EAAA,EAAA,CAAA,CAAA;AAC/E,CAAA;AAEA,SAASG,yBAAyBC,UAAkB,EAAA;AAClD,IAAA,OAAOC,kBAAmBD,CAAAA,UAAAA,CAAWE,OAAO,CAAC,KAAO,EAAA,KAAA,CAAA,CAAA,CAAA;AACtD,CAAA;AAEA,SAASC,eAAeC,MAAc,EAAA;AACpC,IAAA,OAA6BC,KAAKC,KAAK,CAACF,MAAOF,CAAAA,OAAO,CAAC,UAAY,EAAA,EAAA,CAAA,CAAA,CAAA;AACrE,CAAA;AAEA,MAAMK,qBACJ,GAAA,uHAAA,CAAA;AAEF,SAASC,oBAAoBC,IAAY,EAAA;IACvC,MAAMC,KAAAA,GAAQH,qBAAsBI,CAAAA,IAAI,CAACF,IAAAA,CAAAA,CAAAA;IACzC,OAAOC,KAAAA,GAAQA,KAAK,CAAC,CAAA,CAAE,IAAIA,KAAK,CAAC,CAAE,CAAA,IAAI,EAAK,GAAA,IAAA,CAAA;AAC9C,CAAA;AAEO,eAAeE,gBACpBH,CAAAA,IAAY,EACZI,OAAe,EACfC,IAAgD,EAAA;AAEhD,IAAA,MAAMC,mBAAmBP,mBAAoBC,CAAAA,IAAAA,CAAAA,CAAAA;AAC7C,IAAA,IAAI,CAACM,gBAAkB,EAAA;QACrB,OAAO,IAAA,CAAA;AACT,KAAA;IACA,MAAMC,OAAAA,GAAU,qCAAsCL,CAAAA,IAAI,CAACI,gBAAAA,CAAAA,CAAAA;AAC3D,IAAA,IAAIC,OAAS,EAAA;AACX,QAAA,MAAMC,QAAWD,GAAAA,OAAO,CAAC,CAAA,CAAE,IAAI,YAAA,CAAA;AAC/B,QAAA,IAAI,CAAC,8BAAA,CAA+BE,IAAI,CAACD,QAAW,CAAA,EAAA;AAClD,YAAA,MAAM,IAAIE,KAAAA,CAAM,CAAC,6BAA6B,EAAEF,QAAU,CAAA,CAAA,CAAA,CAAA;AAC5D,SAAA;AACA,QAAA,MAAMG,GAAMjB,GAAAA,cAAAA,CACV,CAACa,OAAO,CAAC,CAAA,CAAE,KAAK,SAAA,GAAYK,OAAOC,kBAAiB,EAAGN,OAAO,CAAC,EAAE,IAAI,EAAA,CAAA,CAAA,CAAA;QAEvE,OAAO;AAAED,YAAAA,gBAAAA;YAAkBQ,GAAK,EAAA,IAAA;YAAMC,iBAAmBX,EAAAA,OAAAA;AAASO,YAAAA,GAAAA;AAAI,SAAA,CAAA;AACxE,KAAA;IACA,MAAMG,GAAAA,GAAM/B,WAAWqB,OAASE,EAAAA,gBAAAA,CAAAA,CAAAA;AAChC,IAAA,MAAMK,GAAMjB,GAAAA,cAAAA,CAAesB,MAAO,CAAA,MAAMX,KAAKf,wBAAyBwB,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;IACtE,OAAO;AAAER,QAAAA,gBAAAA;AAAkBQ,QAAAA,GAAAA;QAAKC,iBAAmBD,EAAAA,GAAAA;AAAKH,QAAAA,GAAAA;AAAI,KAAA,CAAA;AAC9D,CAAA;AAEO,eAAeM,cACpBN,CAAAA,GAAyB,EACzBO,MAAc,EACdb,IAAgD,EAAA;AAEhD,IAAA,MAAMc,kBAA4B,EAAE,CAAA;AACpC,IAAA,MAAMC,iBAAqC,EAAE,CAAA;IAC7C,IAAK,IAAIC,KAAQ,GAAA,CAAA,EAAGC,GAAMX,GAAAA,GAAAA,CAAIY,OAAO,CAACC,MAAM,EAAEH,KAAQC,GAAAA,GAAAA,EAAKD,KAAS,EAAA,CAAA;QAClE,MAAMI,UAAAA,GAAad,IAAIc,UAAU,CAAA;QACjC,MAAMC,aAAAA,GAAgB,CAACf,GAAIS,CAAAA,cAAc,IAAI,EAAC,EAAGC,KAAM,CAAA,CAAA;AACvD,QAAA,MAAMM,YAAe,GAAA;AAACT,YAAAA,MAAAA;YAAQP,GAAIY,CAAAA,OAAO,CAACF,KAAM,CAAA;AAAC,SAAA,CAAA;QACjD,IAAII,UAAAA,KAAeG,SAAaH,IAAAA,UAAAA,KAAe,EAAI,EAAA;AACjDE,YAAAA,YAAAA,CAAaE,MAAM,CAAC,CAAA,EAAG,GAAGJ,UAAWhC,CAAAA,OAAO,CAAC,MAAQ,EAAA,GAAA,CAAA,CAAA,CAAA;AACvD,SAAA;QACA0B,eAAe,CAACE,KAAM,CAAA,GAAGtC,UAAc4C,CAAAA,GAAAA,YAAAA,CAAAA,CAAAA;QACvC,IAAI,OAAOD,kBAAkB,QAAU,EAAA;YACrCN,cAAc,CAACC,MAAM,GAAGK,aAAAA,CAAAA;AACxB,YAAA,SAAA;AACF,SAAA;QACA,IAAI;AACF,YAAA,MAAMI,SAAS,MAAMzB,IAAAA,CAAKf,wBAAyB6B,CAAAA,eAAe,CAACE,KAAM,CAAA,CAAA,CAAA,CAAA;YACzED,cAAc,CAACC,KAAM,CAAA,GAAGL,MAAOc,CAAAA,MAAAA,CAAAA,CAAAA;AACjC,SAAA,CAAE,OAAOC,KAAO,EAAA;YACdX,cAAc,CAACC,MAAM,GAAUU,KAAAA,CAAAA;AACjC,SAAA;AACF,KAAA;IACA,OAAO;AAAEZ,QAAAA,eAAAA;AAAiBC,QAAAA,cAAAA;AAAe,KAAA,CAAA;AAC3C;;;;;"} |