hydrogen/packages/cli/src/commands/create/app/templates/vite-config-js.ts
2021-11-04 15:22:30 -07:00

46 lines
981 B
TypeScript

import {Feature} from '../../../../utilities/feature';
import {TemplateOptions} from '../../../../types';
export default function ({features, ifFeature}: TemplateOptions) {
const pwaImport = ifFeature(
Feature.Pwa,
`const VitePWA = require('vite-plugin-pwa').VitePWA;`
);
const pwaPluginMarkup = ifFeature(
Feature.Pwa,
`
, VitePWA({
base: '/',
registerType: 'auto',
strategies: 'injectManifest',
manifest: {
name: 'Hydrogen PWA',
short_name: 'hydrogen-pwa',
theme_color: '#2ec6b9',
icons: [
{
src: '/snowdevil-512w.png',
sizes: '512x512',
type: 'image/png',
purpose: 'any maskable',
},
],
},
}),
`
);
return `
const hydrogen = require('@shopify/hydrogen/plugin').default;
${pwaImport}
/**
* @type {import('vite').UserConfig}
*/
module.exports = {
plugins: [hydrogen({})${pwaPluginMarkup}],
};
`;
}