fixed date
This commit is contained in:
@@ -6,21 +6,35 @@ import { resolve } from 'path';
|
|||||||
const packageJson = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
|
const packageJson = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
|
||||||
const appVersion = packageJson.version;
|
const appVersion = packageJson.version;
|
||||||
|
|
||||||
// Options for date formatting
|
const now = new Date();
|
||||||
const dateTimeFormatOptions = {
|
const dateTimeFormat = new Intl.DateTimeFormat('sk-SK', {
|
||||||
year: 'numeric', month: '2-digit', day: '2-digit',
|
year: 'numeric', month: '2-digit', day: '2-digit',
|
||||||
hour: '2-digit', minute: '2-digit', second: '2-digit',
|
hour: '2-digit', minute: '2-digit', second: '2-digit',
|
||||||
hour12: false // Use 24-hour format
|
hour12: false
|
||||||
};
|
});
|
||||||
// Generate build time string using Slovak locale
|
|
||||||
const appBuildTime = new Date().toLocaleString('sk-SK', dateTimeFormatOptions);
|
|
||||||
|
|
||||||
|
const parts = dateTimeFormat.formatToParts(now);
|
||||||
|
let day = '', month = '', year = '', hour = '', minute = '', second = '';
|
||||||
|
|
||||||
|
parts.forEach(part => {
|
||||||
|
switch (part.type) {
|
||||||
|
case 'day': day = part.value; break;
|
||||||
|
case 'month': month = part.value; break;
|
||||||
|
case 'year': year = part.value; break;
|
||||||
|
case 'hour': hour = part.value; break;
|
||||||
|
case 'minute': minute = part.value; break;
|
||||||
|
case 'second': second = part.value; break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Assemble the date part without unwanted spaces
|
||||||
|
const appBuildTime = `${day}.${month}.${year} ${hour}:${minute}:${second}`;
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue()],
|
plugins: [vue()],
|
||||||
server: {
|
server: {
|
||||||
port: 8080
|
port: 8080
|
||||||
},
|
},
|
||||||
define: {
|
define: {
|
||||||
'import.meta.env.VITE_APP_BUILD_TIME': JSON.stringify(appBuildTime),
|
'import.meta.env.VITE_APP_BUILD_TIME': JSON.stringify(appBuildTime),
|
||||||
'__APP_CACHE_VERSION__': JSON.stringify(`nexus-timer-cache-v${appVersion}-${Date.now()}`)
|
'__APP_CACHE_VERSION__': JSON.stringify(`nexus-timer-cache-v${appVersion}-${Date.now()}`)
|
||||||
@@ -29,24 +43,19 @@ export default defineConfig({
|
|||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
input: {
|
input: {
|
||||||
main: resolve(__dirname, 'index.html'),
|
main: resolve(__dirname, 'index.html'),
|
||||||
sw: resolve(__dirname, 'src/sw.js') // Assuming sw.js is now in src
|
sw: resolve(__dirname, 'src/sw.js')
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
entryFileNames: assetInfo => {
|
entryFileNames: assetInfo => {
|
||||||
// Output service-worker.js to the root of the dist directory
|
|
||||||
if (assetInfo.name === 'sw') {
|
if (assetInfo.name === 'sw') {
|
||||||
return 'service-worker.js'; // Ensure consistent name
|
return 'service-worker.js';
|
||||||
}
|
}
|
||||||
// Default naming for other entry points/chunks
|
|
||||||
return 'assets/[name]-[hash].js';
|
return 'assets/[name]-[hash].js';
|
||||||
},
|
},
|
||||||
// For chunks, if any are generated from sw.js (unlikely for simple SW)
|
|
||||||
chunkFileNames: 'assets/[name]-[hash].js',
|
chunkFileNames: 'assets/[name]-[hash].js',
|
||||||
assetFileNames: 'assets/[name]-[hash].[ext]',
|
assetFileNames: 'assets/[name]-[hash].[ext]',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// Set to false if you don't want to empty the dist dir on each build
|
|
||||||
// but usually true is good for clean builds.
|
|
||||||
emptyOutDir: true,
|
emptyOutDir: true,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user