Full document, spreadsheet, slideshow, and diagram tooling
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request 'feat: dynamic version badge from package.json' (#69) from feat/dynamic-version-badge into main

scott 1203d6c1 1a252a07

+14 -3
+1 -1
src/docs/index.html
··· 433 433 updateIcon(); 434 434 })(); 435 435 </script> 436 - <div class="version-badge">v0.7.2</div> 436 + <div class="version-badge">v%APP_VERSION%</div> 437 437 </body> 438 438 </html>
+1 -1
src/index.html
··· 126 126 </div> 127 127 </div> 128 128 129 - <div class="version-badge">v0.7.2</div> 129 + <div class="version-badge">v%APP_VERSION%</div> 130 130 131 131 <!-- Drag-and-drop import overlay --> 132 132 <div class="drop-overlay" id="drop-overlay" style="display:none;">
+1 -1
src/sheets/index.html
··· 364 364 navigator.serviceWorker.register('/sw.js').catch(function() {}); 365 365 } 366 366 </script> 367 - <div class="version-badge">v0.7.2</div> 367 + <div class="version-badge">v%APP_VERSION%</div> 368 368 </body> 369 369 </html>
+11
vite.config.ts
··· 1 1 import { defineConfig } from 'vite'; 2 2 import { resolve } from 'path'; 3 + import { readFileSync } from 'fs'; 3 4 4 5 const __dirname = new URL('.', import.meta.url).pathname.replace(/\/$/, ''); 6 + const pkg = JSON.parse(readFileSync(resolve(__dirname, 'package.json'), 'utf-8')); 5 7 6 8 export default defineConfig({ 7 9 root: 'src', 8 10 publicDir: '../public', 11 + define: { 12 + __APP_VERSION__: JSON.stringify(pkg.version), 13 + }, 14 + plugins: [{ 15 + name: 'version-inject', 16 + transformIndexHtml(html) { 17 + return html.replace(/%APP_VERSION%/g, pkg.version); 18 + }, 19 + }], 9 20 test: { 10 21 root: '.', 11 22 include: ['tests/**/*.test.{js,ts}'],