{"version":3,"sources":["jsdelivr-header.js","/npm/html-webpack-deploy-assets-plugin@1.0.4/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,QAAU,QAAQ,WAClB,kBAAoB,QAAQ,uBAC5B,+BAAiC,QAAQ,sCACzC,GAAK,QAAQ,MACb,KAAO,QAAQ,QACf,iBAAmB,aACnB,oBAAsB,gBAuC5B,SAAS,iBAAkB,GACzB,MAAM,EAAW,GACX,EAAc,GACd,OAAkC,IAAzB,EAAc,QAAuB,EAAc,OAC5D,OAA0C,IAA7B,EAAc,YAA2B,EAAc,WAEpE,EAAc,EAAc,aAAe,eAC3C,EAAa,EAAc,YAAc,mBAEzC,EAAW,EAAc,QAAU,CAAC,EACxB,OAAO,KAAK,GACpB,SAAQ,SAAS,GACzB,EAAS,KAAK,CACZ,KAAM,KAAK,KAAK,QAAQ,MAAO,GAC/B,GAAI,EAAS,IAEjB,IAEA,MAAM,EAAY,EAAc,WAAa,GAEvC,EAAa,EAAc,UAAY,CAAC,EAgC9C,OA/BqB,OAAO,KAAK,GACpB,SAAQ,SAAS,GAC5B,IAAI,EAAgB,EAAW,GAC3B,EAAoB,EAAc,WAAa,EAAc,WAAa,EAC1E,EAAiB,aACjB,EAAkB,KAAK,KAAK,QAAQ,MAAO,EAAa,EAAa,gBACzE,IACE,IAAI,EAAoB,KAAK,MAAM,GAAG,aAAa,EAAiB,SACpE,EAAiB,EAAoB,EAAkB,QAAU,YACnE,CACA,MAAO,GACL,MAAM,IAAI,MAAM,gFAAkF,EAAc,MAAQ,EAC1H,CACA,EAAoB,EAAkB,QAAQ,iBAAkB,GAChE,EAAoB,EAAkB,QAAQ,oBAAqB,GAEnE,MAAM,EAAgB,EAAc,QAAU,CAAC,EACtB,OAAO,KAAK,GACpB,SAAQ,SAAS,GAChC,EAAS,KAAK,CACZ,KAAM,KAAK,KAAK,QAAQ,MAAO,EAAa,EAAa,GACzD,GAAI,KAAK,KAAK,EAAmB,EAAc,KAEnD,KAEgB,EAAc,SAAW,IACjC,SAAQ,SAAS,GACvB,EAAY,KAAK,KAAK,KAAK,EAAmB,GAChD,GACF,IAEO,CACL,SACA,aACA,WACA,cACA,YAEJ,CAEA,MAAM,8BACJ,WAAA,CAAa,EAAgB,CAAC,GAC5B,OAAO,OAAO,KAAM,iBAAiB,GACvC,CAEA,KAAA,CAAO,GACL,IAAI,kBAAkB,KAAK,UAAU,MAAM,GAC3C,IAAI,+BAA+B,CAAE,OAAQ,KAAK,YAAa,UAAW,KAAK,UAAW,OAAQ,KAAK,OAAQ,WAAY,KAAK,aAAc,MAAM,EACtJ,EAEF,OAAO,QAAU","file":"/npm/html-webpack-deploy-assets-plugin@1.0.4/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/html-webpack-deploy-assets-plugin@1.0.4/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const webpack = require(\"webpack\");\nconst CopyWebpackPlugin = require('copy-webpack-plugin');\nconst HtmlWebpackIncludeAssetsPlugin = require('html-webpack-include-assets-plugin');\nconst fs = require(\"fs\");\nconst path = require(\"path\");\nconst PATH_REGEXP_NAME = /\\[name\\]/gi;\nconst PATH_REGEXP_VERSION = /\\[version\\]/gi;\n\n/*\nconst sample = {\n  \"assets\": {\n    \"src/assets\": \"assets\"\n  },\n  \"cssAssets\": [\n    {\n      rel: \"icon\",\n      href: \"assets/apple-touch-icon.png\"\n    },\n    {\n      rel: \"icon\",\n      type: \"image/png\",\n      sizes: \"32x32\",\n      href: \"assets/favicon-32x32.png\"\n    },\n    {\n      rel: \"mask-icon\",\n      href: \"assets/safari-pinned-tab.svg\",\n      color: \"#404040\"\n    }\n  ],\n  \"packages\": {\n    \"bootstrap\": {\n      \"assets\": {\n        \"dist/css\": \"css/\",\n        \"dist/fonts\": \"fonts/\"\n      },\n      \"entries\": [\n        \"css/bootstrap.min.css\",\n        \"css/bootstrap-theme.min.css\"\n      ]\n    }\n  }\n};\n */\n\nfunction setPluginOptions (pluginOptions) {\n  const copyList = [];\n  const includeList = [];\n  const append = pluginOptions.append !== undefined ? pluginOptions.append : false;\n  const publicPath = pluginOptions.publicPath !== undefined ? pluginOptions.publicPath : true;\n\n  const packagePath = pluginOptions.packagePath || 'node_modules';\n  const outputPath = pluginOptions.outputPath || '[name]-[version]';\n\n  const assetMap = pluginOptions.assets || {};\n  const assetKeys = Object.keys(assetMap);\n  assetKeys.forEach(function(assetKey) {\n    copyList.push({\n      from: path.join(process.cwd(), assetKey),\n      to: assetMap[assetKey]\n    });\n  });\n\n  const cssAssets = pluginOptions.cssAssets || [];\n\n  const packageMap = pluginOptions.packages || {};\n  const packageNames = Object.keys(packageMap);\n  packageNames.forEach(function(packageName) {\n    let packageConfig = packageMap[packageName];\n    let packageOutputPath = packageConfig.outputPath ? packageConfig.outputPath : outputPath;\n    let packageVersion = 'no_version';\n    let packageFilePath = path.join(process.cwd(), packagePath, packageName, 'package.json');\n    try {\n      let packageNpmPackage = JSON.parse(fs.readFileSync(packageFilePath, 'utf8'));\n      packageVersion = packageNpmPackage ? packageNpmPackage.version : \"no_version\";\n    }\n    catch (error) {\n      throw new Error('Could not find package.json while trying to deploy assets for package named: ' + packageName + ' - ' + packageFilePath);\n    }\n    packageOutputPath = packageOutputPath.replace(PATH_REGEXP_NAME, packageName);\n    packageOutputPath = packageOutputPath.replace(PATH_REGEXP_VERSION, packageVersion);\n\n    const packageAssets = packageConfig.assets || {};\n    const packageAssetKeys = Object.keys(packageAssets);\n    packageAssetKeys.forEach(function(packageAssetKey) {\n      copyList.push({\n        from: path.join(process.cwd(), packagePath, packageName, packageAssetKey),\n        to: path.join(packageOutputPath, packageAssets[packageAssetKey])\n      });\n    });\n\n    const entries = packageConfig.entries || [];\n    entries.forEach(function(entry) {\n      includeList.push(path.join(packageOutputPath, entry));\n    });\n  });\n\n  return {\n    append,\n    publicPath,\n    copyList,\n    includeList,\n    cssAssets\n  };\n}\n\nclass HtmlWebpackDeployAssetsPlugin {\n  constructor (pluginOptions = {}) {\n    Object.assign(this, setPluginOptions(pluginOptions))\n  }\n\n  apply (compiler) {\n    new CopyWebpackPlugin(this.copyList).apply(compiler);\n    new HtmlWebpackIncludeAssetsPlugin({ assets: this.includeList, cssAssets: this.cssAssets, append: this.append, publicPath: this.publicPath }).apply(compiler);\n  }\n}\nmodule.exports = HtmlWebpackDeployAssetsPlugin;"]}