UNPKG

8.37 kBSource Map (JSON)View Raw
1{"version":3,"file":"injector.js","sourceRoot":"","sources":["../src/injector.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\n\nimport { parseIconsAsync, retrieveIcons } from './icons';\nimport { generateFingerprint, joinURI } from './utils';\nimport { Icon, ManifestOptions, Tag, Tags } from './WebpackPWAManifestPlugin.types';\n\nconst voidTags = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'menuitem',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n];\n\nfunction createFilename(\n filenameTemplate: string,\n json: string,\n shouldFingerprint: boolean\n): string {\n const formatters: {\n pattern: RegExp;\n value: string | ((substring: string, ...args: any[]) => string);\n }[] = [\n {\n pattern: /\\[hash(:([1-9]|[1-2][0-9]|3[0-2]))?\\]/gi,\n value: (substring: string, limit = ':32') => {\n if (!shouldFingerprint) return '';\n const hash = generateFingerprint(json);\n return hash.substr(0, parseInt(limit.substr(1), 10));\n },\n },\n {\n pattern: /\\[ext\\]/gi,\n value: 'json',\n },\n {\n pattern: /\\[name\\]/gi,\n value: 'manifest',\n },\n ];\n\n // @ts-ignore\n return formatters.reduce((acc, curr) => acc.replace(curr.pattern, curr.value), filenameTemplate);\n}\n\n// Create `manifest.json`\nfunction writeManifestToFile(manifest: ManifestOptions, options: any, publicPath: string) {\n let content = { ...manifest };\n\n if (content.orientation === 'omit') {\n delete content.orientation;\n }\n\n const json = JSON.stringify(content, null, 2);\n const file = path.parse(options.filename);\n const filename = createFilename(file.base, json, options.fingerprints);\n const output = options.includeDirectory ? path.join(file.dir, filename) : filename;\n return {\n output,\n url: joinURI(publicPath, output),\n source: json,\n size: json.length,\n };\n}\n\nexport async function buildResourcesAsync(self: any, publicPath: string = '') {\n if (!self.assets || !self.options.inject) {\n let parsedIconsResult: any = {};\n if (!self.options.noResources) {\n const [results, config] = retrieveIcons(self.manifest);\n self.manifest = config;\n parsedIconsResult = await parseIconsAsync(self.projectRoot, results, publicPath);\n }\n\n const { icons, assets = [] } = parsedIconsResult;\n const results = writeManifestToFile({ ...self.manifest, icons }, self.options, publicPath);\n self.assets = [results, ...assets];\n return results;\n }\n return null;\n}\n\nexport function generateAppleSplashAndIconTags(assets: Icon[]): Tags {\n let tags = {};\n for (let asset of assets) {\n if (asset.ios && asset.ios.valid) {\n if (asset.ios.valid === 'startup') {\n tags = applyTag(tags, 'link', {\n rel: 'apple-touch-startup-image',\n media: asset.ios.media,\n href: asset.ios.href,\n });\n } else {\n tags = applyTag(tags, 'link', {\n // apple-touch-icon-precomposed\n rel: 'apple-touch-icon',\n sizes: asset.ios.size,\n href: asset.ios.href,\n });\n }\n }\n }\n return tags;\n}\n\nexport function applyTag(obj: Tags, tag: 'meta' | 'link', content?: Tag): Tags {\n if (!content) {\n return obj;\n }\n const current = obj[tag];\n if (current) {\n if (Array.isArray(current)) {\n return {\n ...obj,\n [tag]: [...current, content],\n };\n }\n return {\n ...obj,\n [tag]: [current, content],\n };\n }\n\n return {\n ...obj,\n [tag]: content,\n };\n}\n\nexport function generateHtmlTags(tags: { [key: string]: Tag | Tag[] }): string {\n let html = '';\n for (let tag in tags) {\n const attrs = tags[tag];\n if (Array.isArray(attrs)) {\n for (let a of attrs) {\n html = `${html}${generateHtmlTags({\n [tag]: a,\n })}`;\n }\n } else {\n html = `${html}<${tag}`;\n for (let key of Object.keys(attrs)) {\n // @ts-ignore\n const attr = attrs[key];\n html = `${html} ${key}=\"${attr}\"`;\n }\n html = voidTags.includes(tag) ? `${html} />` : `${html}></${tag}>`;\n }\n }\n return html;\n}\n"]}
\No newline at end of file