74 lines
No EOL
3.5 KiB
JavaScript
74 lines
No EOL
3.5 KiB
JavaScript
const { execSync } = require('child_process');
|
|
const pkg = require('./package.json');
|
|
|
|
process.env.VUE_APP_CONSUMER_CF_DISTRO = 'https://digitalapi.dev.safelite.io';
|
|
process.env.VUE_APP_CURRENT_ENVIRONMENT = 'Localhost';
|
|
process.env.VUE_APP_CUSTOMER_PORTAL_URL = 'https://myaccountdev.safelite.com/';
|
|
process.env.VUE_APP_GOOGLE_PLACES_API_KEY = 'AIzaSyCuLhQcDdZTTb4JzpUFms1OCch2dk5lHF0';
|
|
process.env.VUE_APP_SAFELITE_HOP = 'https://iss-hop-dev.glassclaim.com/fmgCheckoutShared.aspx';
|
|
process.env.VUE_APP_ADYEN_ENVIRONMENT = 'test';
|
|
process.env.VUE_APP_ADYEN_CLIENT_KEY = 'test_WYGT4F5ZT5BRRL5MPWHK6QLYOIXZXROD';
|
|
|
|
// GA & GTM
|
|
// NOTE: Using the old ISS site GTM Cotnainer ID for now, will create a new one soon.
|
|
process.env.VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY =
|
|
"(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-KKNWZ3');";
|
|
process.env.VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC =
|
|
'https://www.googletagmanager.com/ns.html?id=GTM-KKNWZ3>m_auth=amlAYNhxUxuskQo7jmjadg>m_preview=env-38>m_cookies_win=x';
|
|
process.env.VUE_APP_GOOGLE_MAPS_API_SCRIPT =
|
|
"(g=>{var h,a,k,p='The Google Maps JavaScript API',c='google',l='importLibrary',q='__ib__',m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement('script'));e.set('libraries',[...r]+'');for(k in g)e.set(k.replace(/[A-Z]/g,t=>'_'+t[0].toLowerCase()),g[k]);e.set('callback',c+'.maps.'+q);a.src=`https://maps.googleapis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+' could not load.'));a.nonce=m.querySelector('script[nonce]')?.nonce||'';m.head.append(a)}));d[l]?console.warn(p+' only loads once. Ignoring:',g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({key: 'AIzaSyCuLhQcDdZTTb4JzpUFms1OCch2dk5lHF0', v: 'weekly'});";
|
|
|
|
function safeExec(cmd, fallback = 'unknown') {
|
|
try {
|
|
return execSync(cmd).toString().trim();
|
|
} catch {
|
|
return fallback;
|
|
}
|
|
}
|
|
|
|
const gitInfo = {
|
|
commit: safeExec('git rev-parse --short HEAD', 'dev'),
|
|
branch: safeExec('git rev-parse --abbrev-ref HEAD', 'unknown')
|
|
};
|
|
|
|
const buildTimes = {
|
|
buildTime: new Date().toISOString(),
|
|
buildTimeLocal: new Date().toLocaleString(),
|
|
buildTimeStamp: Math.floor(Date.now() / 1000)
|
|
}
|
|
|
|
const buildInfo = {
|
|
version: pkg.version,
|
|
buildTime: buildTimes.buildTime,
|
|
buildTimeLocal: buildTimes.buildTimeLocal,
|
|
buildTimeStamp: buildTimes.buildTimeStamp,
|
|
...gitInfo,
|
|
versionString: `${pkg.version}-${gitInfo.commit}-${buildTimes.buildTimeStamp}-${gitInfo.branch}`
|
|
};
|
|
|
|
module.exports = {
|
|
publicPath: '/',
|
|
css: {
|
|
loaderOptions: {
|
|
sass: {
|
|
// Load Order Matters!!!
|
|
// Note: only include functions, variables and mixins here
|
|
additionalData: `
|
|
@import "./node_modules/bootstrap/scss/functions";
|
|
@import "@/styles/ux-variables.scss";
|
|
@import "./node_modules/bootstrap/scss/variables";
|
|
@import "./node_modules/bootstrap/scss/mixins";
|
|
@import "@/styles/mixins/customMixins";
|
|
`
|
|
}
|
|
}
|
|
},
|
|
configureWebpack: {
|
|
devtool: 'source-map',
|
|
plugins: [
|
|
new (require('webpack')).DefinePlugin({
|
|
__BUILD_INFO__: JSON.stringify(buildInfo)
|
|
})
|
|
]
|
|
}
|
|
}; |