emit-file-loader.js.map 2.96 KB
{"version":3,"sources":["../../../../build/webpack/loaders/emit-file-loader.js"],"names":["module","exports","content","sourceMap","cacheable","callback","async","resourcePath","query","loaderUtils","getOptions","validateFileName","err","name","context","rootContext","options","regExp","opts","interpolateName","inputName","interpolatedName","emit","code","map","emitFile","transform","transformed"],"mappings":"aAAA,oF,mFAEAA,MAAM,CAACC,OAAP,CAAiB,SAAUC,OAAV,CAAmBC,SAAnB,CAA8B,CAC7C,KAAKC,SAAL,GACA,KAAMC,CAAAA,QAAQ,CAAG,KAAKC,KAAL,EAAjB,CACA,KAAMC,CAAAA,YAAY,CAAG,KAAKA,YAA1B,CAEA,KAAMC,CAAAA,KAAK,CAAGC,qBAAYC,UAAZ,CAAuB,IAAvB,CAAd,CAEA;AACA,GAAIF,KAAK,CAACG,gBAAV,CAA4B,CAC1B,GAAI,CACFH,KAAK,CAACG,gBAAN,CAAuBJ,YAAvB,EACD,CAAC,MAAOK,GAAP,CAAY,CACZP,QAAQ,CAACO,GAAD,CAAR,CACA,OACD,CACF,CAED,KAAMC,CAAAA,IAAI,CAAGL,KAAK,CAACK,IAAN,EAAc,cAA3B,CACA,KAAMC,CAAAA,OAAO,CAAGN,KAAK,CAACM,OAAN,EAAiB,KAAKC,WAAtB,EAAqC,KAAKC,OAAL,CAAaF,OAAlE,CACA,KAAMG,CAAAA,MAAM,CAAGT,KAAK,CAACS,MAArB,CACA,KAAMC,CAAAA,IAAI,CAAG,CAAEJ,OAAF,CAAWZ,OAAX,CAAoBe,MAApB,CAAb,CACA,KAAME,CAAAA,eAAe,CAAGX,KAAK,CAACW,eAAN,GAA2BC,SAAD,EAAeA,SAAzC,CAAxB,CACA,KAAMC,CAAAA,gBAAgB,CAAGF,eAAe,CACtCV,qBAAYU,eAAZ,CAA4B,IAA5B,CAAkCN,IAAlC,CAAwCK,IAAxC,CADsC,CAEtC,CAAEL,IAAF,CAAQK,IAAR,CAFsC,CAAxC,CAIA,KAAMI,CAAAA,IAAI,CAAG,CAACC,IAAD,CAAOC,GAAP,GAAe,CAC1B,KAAKC,QAAL,CAAcJ,gBAAd,CAAgCE,IAAhC,CAAsCC,GAAtC,EACAnB,QAAQ,CAAC,IAAD,CAAOkB,IAAP,CAAaC,GAAb,CAAR,CACD,CAHD,CAKA,GAAIhB,KAAK,CAACkB,SAAV,CAAqB,CACnB,KAAMC,CAAAA,WAAW,CAAGnB,KAAK,CAACkB,SAAN,CAAgB,CAClCxB,OADkC,CAElCC,SAFkC,CAGlCkB,gBAHkC,CAAhB,CAApB,CAKA,MAAOC,CAAAA,IAAI,CAACK,WAAW,CAACzB,OAAb,CAAsByB,WAAW,CAACxB,SAAlC,CAAX,CACD,CAED,MAAOmB,CAAAA,IAAI,CAACpB,OAAD,CAAUC,SAAV,CAAX,CACD,CAzCD","sourcesContent":["import loaderUtils from 'next/dist/compiled/loader-utils'\n\nmodule.exports = function (content, sourceMap) {\n  this.cacheable()\n  const callback = this.async()\n  const resourcePath = this.resourcePath\n\n  const query = loaderUtils.getOptions(this)\n\n  // Allows you to do checks on the file name. For example it's used to check if there's both a .js and .jsx file.\n  if (query.validateFileName) {\n    try {\n      query.validateFileName(resourcePath)\n    } catch (err) {\n      callback(err)\n      return\n    }\n  }\n\n  const name = query.name || '[hash].[ext]'\n  const context = query.context || this.rootContext || this.options.context\n  const regExp = query.regExp\n  const opts = { context, content, regExp }\n  const interpolateName = query.interpolateName || ((inputName) => inputName)\n  const interpolatedName = interpolateName(\n    loaderUtils.interpolateName(this, name, opts),\n    { name, opts }\n  )\n  const emit = (code, map) => {\n    this.emitFile(interpolatedName, code, map)\n    callback(null, code, map)\n  }\n\n  if (query.transform) {\n    const transformed = query.transform({\n      content,\n      sourceMap,\n      interpolatedName,\n    })\n    return emit(transformed.content, transformed.sourceMap)\n  }\n\n  return emit(content, sourceMap)\n}\n"]}