UNPKG

2.99 kBSource Map (JSON)View Raw
1{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AACA,wDAA+B;AAE/B,qCAAuC;AACvC,mEAAmD;AAGnD,SAAS,QAAQ,CAAC,IAAS;IACzB,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC;AAC3E,CAAC;AAED,SAAgB,+BAA+B,CAAC,OAAmB;IACjE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IAED,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,EAAE,CAAC;IAEnD,OAAO;QACL,MAAM;QACN,gBAAgB,EAAE,GAAG,CAAC,eAAe;QACrC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,2BAA2B,EAAE,GAAG,CAAC,yBAAyB;QAC1D,oBAAoB,EAAE,GAAG,CAAC,mBAAmB;QAC7C,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,UAAU,EAAE,GAAG,CAAC,SAAS;QACzB,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC;AACJ,CAAC;AA1BD,0EA0BC;AAED,SAAgB,gBAAgB,CAAC,QAAyB;IACxD,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,iBAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAE1E,KAAK,MAAM,QAAQ,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE;QAC1D,aAAa;QACb,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,KAAK,IAAI,CAAC,kBAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,oBAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SACxC;KACF;AACH,CAAC;AAZD,4CAYC","sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport isColor from 'is-color';\n\nimport { PresetError } from './Errors';\nimport validatePresets from './validators/Presets';\nimport { ManifestOptions } from './WebpackPWAManifestPlugin.types';\n\nfunction isObject(item: any): boolean {\n return typeof item === 'object' && !Array.isArray(item) && item !== null;\n}\n\nexport function createPWAManifestFromExpoConfig(appJson: ExpoConfig) {\n if (!isObject(appJson)) {\n throw new Error('app.json must be an object');\n }\n\n const { web = {} } = appJson.expo || appJson || {};\n\n return {\n // PWA\n background_color: web.backgroundColor,\n description: web.description,\n dir: web.dir,\n display: web.display,\n lang: web.lang,\n name: web.name,\n orientation: web.orientation,\n prefer_related_applications: web.preferRelatedApplications,\n related_applications: web.relatedApplications,\n scope: web.scope,\n short_name: web.shortName,\n start_url: web.startUrl,\n theme_color: web.themeColor,\n crossorigin: web.crossorigin,\n startupImages: web.startupImages,\n icons: web.icons,\n };\n}\n\nexport function validateManifest(manifest: ManifestOptions): void {\n if (!manifest) return;\n\n validatePresets(manifest, 'dir', 'display', 'orientation', 'crossorigin');\n\n for (const property of ['background_color', 'theme_color']) {\n // @ts-ignore\n const color = manifest[property];\n if (color && !isColor(color)) {\n throw new PresetError(property, color);\n }\n }\n}\n"]}
\No newline at end of file