@ecomplus/storefront-framework
Version:
Framework for PWA and JAMstack e-commerce templates with E-Com Plus APIs
111 lines (110 loc) • 2.9 kB
JSON
{
"functions": {
"predeploy": [
"cp -r template functions/; rm -rf functions/template/public; rm -rf functions/template/scss",
"cp -r content functions/; cp .*.json functions/",
"mkdir -p functions/template/pages/@ecomplus/storefront-template/template",
"cp -r node_modules/@ecomplus/widget-* functions/template/pages/@ecomplus/ 2>/dev/null || :",
"cp -r node_modules/@ecomplus/storefront-template/template/pages functions/template/pages/@ecomplus/storefront-template/template/ || :",
"rm -rf functions/template/pages/**/node_modules"
],
"postdeploy": "rm -rf functions/template; rm -rf functions/content; rm -rf functions/.*.json",
"source": "functions"
},
"hosting": {
"public": "dist",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**/!(*(*.)js|*(*.)css|*(*.)ico|*(*.)png|*(*.)gif|*(*.)jpg|*(*.)jpeg|*(*.)webp|*(*.)svg|*(*.)woff|*(*.)woff2|*(*.)otf|*(*.)ttf|*(*.)eot)",
"function": "ssr"
},
{
"source": "/storefront.?*.js",
"destination": "/storefront.js"
},
{
"source": "/storefront.?*.css",
"destination": "/storefront.css"
},
{
"source": "/checkout.?*.js",
"destination": "/checkout.js"
},
{
"source": "/checkout.?*.css",
"destination": "/checkout.css"
}
],
"headers": [
{
"source": "/",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=30, must-revalidate"
}
]
},
{
"source": "/img/**",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=300, s-maxage=60, must-revalidate"
}
]
},
{
"source": "/assets/**",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=86400, s-maxage=600"
}
]
},
{
"source": "/chunk.?*.*",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=604800"
}
]
},
{
"source": "/app/**",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=300, stale-while-revalidate=900"
}
]
},
{
"source": "/@(storefront|checkout).@(js|css)",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=0, must-revalidate"
}
]
},
{
"source": "**/*.?????*.@(js|css)",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=86400"
}
]
}
],
"cleanUrls": true
}
}