a reactive (signals based) hypermedia web framework (wip) stormlightlabs.github.io/volt/
hypermedia frontend signals
0
fork

Configure Feed

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

build: vite aliases

+59 -37
+2 -8
package.json
··· 19 19 "@eslint/js": "^9.38.0", 20 20 "@testing-library/dom": "^10.4.1", 21 21 "@testing-library/jest-dom": "^6.9.1", 22 + "@types/node": "^24.8.1", 22 23 "@vitest/coverage-v8": "3.2.4", 23 24 "dprint": "^0.50.2", 24 25 "eslint": "^9.38.0", ··· 32 33 "vitest": "^3.2.4", 33 34 "vue": "^3.5.22" 34 35 }, 35 - "pnpm": { 36 - "overrides": { 37 - "vite": "npm:rolldown-vite@7.1.14" 38 - }, 39 - "onlyBuiltDependencies": [ 40 - "dprint" 41 - ] 42 - } 36 + "pnpm": { "overrides": { "vite": "npm:rolldown-vite@7.1.14" }, "onlyBuiltDependencies": ["dprint"] } 43 37 }
+37 -20
pnpm-lock.yaml
··· 23 23 '@testing-library/jest-dom': 24 24 specifier: ^6.9.1 25 25 version: 6.9.1 26 + '@types/node': 27 + specifier: ^24.8.1 28 + version: 24.8.1 26 29 '@vitest/coverage-v8': 27 30 specifier: 3.2.4 28 - version: 3.2.4(vitest@3.2.4(jsdom@27.0.0(postcss@8.5.6))) 31 + version: 3.2.4(vitest@3.2.4(@types/node@24.8.1)(jsdom@27.0.0(postcss@8.5.6))) 29 32 dprint: 30 33 specifier: ^0.50.2 31 34 version: 0.50.2 ··· 49 52 version: 8.46.1(eslint@9.38.0)(typescript@5.9.3) 50 53 vite: 51 54 specifier: npm:rolldown-vite@7.1.14 52 - version: rolldown-vite@7.1.14 55 + version: rolldown-vite@7.1.14(@types/node@24.8.1) 53 56 vitepress: 54 57 specifier: ^1.6.4 55 - version: 1.6.4(@algolia/client-search@5.40.1)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3) 58 + version: 1.6.4(@algolia/client-search@5.40.1)(@types/node@24.8.1)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3) 56 59 vitest: 57 60 specifier: ^3.2.4 58 - version: 3.2.4(jsdom@27.0.0(postcss@8.5.6)) 61 + version: 3.2.4(@types/node@24.8.1)(jsdom@27.0.0(postcss@8.5.6)) 59 62 vue: 60 63 specifier: ^3.5.22 61 64 version: 3.5.22(typescript@5.9.3) ··· 568 571 569 572 '@types/mdurl@2.0.0': 570 573 resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} 574 + 575 + '@types/node@24.8.1': 576 + resolution: {integrity: sha512-alv65KGRadQVfVcG69MuB4IzdYVpRwMG/mq8KWOaoOdyY617P5ivaDiMCGOFDWD2sAn5Q0mR3mRtUOgm99hL9Q==} 571 577 572 578 '@types/unist@3.0.3': 573 579 resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} ··· 1837 1843 engines: {node: '>=14.17'} 1838 1844 hasBin: true 1839 1845 1846 + undici-types@7.14.0: 1847 + resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} 1848 + 1840 1849 unist-util-is@6.0.1: 1841 1850 resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} 1842 1851 ··· 2510 2519 2511 2520 '@types/mdurl@2.0.0': {} 2512 2521 2522 + '@types/node@24.8.1': 2523 + dependencies: 2524 + undici-types: 7.14.0 2525 + 2513 2526 '@types/unist@3.0.3': {} 2514 2527 2515 2528 '@types/web-bluetooth@0.0.21': {} ··· 2609 2622 2610 2623 '@ungap/structured-clone@1.3.0': {} 2611 2624 2612 - '@vitejs/plugin-vue@5.2.4(rolldown-vite@7.1.14)(vue@3.5.22(typescript@5.9.3))': 2625 + '@vitejs/plugin-vue@5.2.4(rolldown-vite@7.1.14(@types/node@24.8.1))(vue@3.5.22(typescript@5.9.3))': 2613 2626 dependencies: 2614 - vite: rolldown-vite@7.1.14 2627 + vite: rolldown-vite@7.1.14(@types/node@24.8.1) 2615 2628 vue: 3.5.22(typescript@5.9.3) 2616 2629 2617 - '@vitest/coverage-v8@3.2.4(vitest@3.2.4(jsdom@27.0.0(postcss@8.5.6)))': 2630 + '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/node@24.8.1)(jsdom@27.0.0(postcss@8.5.6)))': 2618 2631 dependencies: 2619 2632 '@ampproject/remapping': 2.3.0 2620 2633 '@bcoe/v8-coverage': 1.0.2 ··· 2629 2642 std-env: 3.10.0 2630 2643 test-exclude: 7.0.1 2631 2644 tinyrainbow: 2.0.0 2632 - vitest: 3.2.4(jsdom@27.0.0(postcss@8.5.6)) 2645 + vitest: 3.2.4(@types/node@24.8.1)(jsdom@27.0.0(postcss@8.5.6)) 2633 2646 transitivePeerDependencies: 2634 2647 - supports-color 2635 2648 ··· 2641 2654 chai: 5.3.3 2642 2655 tinyrainbow: 2.0.0 2643 2656 2644 - '@vitest/mocker@3.2.4(rolldown-vite@7.1.14)': 2657 + '@vitest/mocker@3.2.4(rolldown-vite@7.1.14(@types/node@24.8.1))': 2645 2658 dependencies: 2646 2659 '@vitest/spy': 3.2.4 2647 2660 estree-walker: 3.0.3 2648 2661 magic-string: 0.30.19 2649 2662 optionalDependencies: 2650 - vite: rolldown-vite@7.1.14 2663 + vite: rolldown-vite@7.1.14(@types/node@24.8.1) 2651 2664 2652 2665 '@vitest/pretty-format@3.2.4': 2653 2666 dependencies: ··· 3597 3610 3598 3611 rfdc@1.4.1: {} 3599 3612 3600 - rolldown-vite@7.1.14: 3613 + rolldown-vite@7.1.14(@types/node@24.8.1): 3601 3614 dependencies: 3602 3615 '@oxc-project/runtime': 0.92.0 3603 3616 fdir: 6.5.0(picomatch@4.0.3) ··· 3607 3620 rolldown: 1.0.0-beta.41 3608 3621 tinyglobby: 0.2.15 3609 3622 optionalDependencies: 3623 + '@types/node': 24.8.1 3610 3624 fsevents: 2.3.3 3611 3625 3612 3626 rolldown@1.0.0-beta.41: ··· 3791 3805 3792 3806 typescript@5.9.3: {} 3793 3807 3808 + undici-types@7.14.0: {} 3809 + 3794 3810 unist-util-is@6.0.1: 3795 3811 dependencies: 3796 3812 '@types/unist': 3.0.3 ··· 3834 3850 '@types/unist': 3.0.3 3835 3851 vfile-message: 4.0.3 3836 3852 3837 - vite-node@3.2.4: 3853 + vite-node@3.2.4(@types/node@24.8.1): 3838 3854 dependencies: 3839 3855 cac: 6.7.14 3840 3856 debug: 4.4.3 3841 3857 es-module-lexer: 1.7.0 3842 3858 pathe: 2.0.3 3843 - vite: rolldown-vite@7.1.14 3859 + vite: rolldown-vite@7.1.14(@types/node@24.8.1) 3844 3860 transitivePeerDependencies: 3845 3861 - '@types/node' 3846 3862 - esbuild ··· 3855 3871 - tsx 3856 3872 - yaml 3857 3873 3858 - vitepress@1.6.4(@algolia/client-search@5.40.1)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3): 3874 + vitepress@1.6.4(@algolia/client-search@5.40.1)(@types/node@24.8.1)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(typescript@5.9.3): 3859 3875 dependencies: 3860 3876 '@docsearch/css': 3.8.2 3861 3877 '@docsearch/js': 3.8.2(@algolia/client-search@5.40.1)(search-insights@2.17.3) ··· 3864 3880 '@shikijs/transformers': 2.5.0 3865 3881 '@shikijs/types': 2.5.0 3866 3882 '@types/markdown-it': 14.1.2 3867 - '@vitejs/plugin-vue': 5.2.4(rolldown-vite@7.1.14)(vue@3.5.22(typescript@5.9.3)) 3883 + '@vitejs/plugin-vue': 5.2.4(rolldown-vite@7.1.14(@types/node@24.8.1))(vue@3.5.22(typescript@5.9.3)) 3868 3884 '@vue/devtools-api': 7.7.7 3869 3885 '@vue/shared': 3.5.22 3870 3886 '@vueuse/core': 12.8.2(typescript@5.9.3) ··· 3873 3889 mark.js: 8.11.1 3874 3890 minisearch: 7.2.0 3875 3891 shiki: 2.5.0 3876 - vite: rolldown-vite@7.1.14 3892 + vite: rolldown-vite@7.1.14(@types/node@24.8.1) 3877 3893 vue: 3.5.22(typescript@5.9.3) 3878 3894 optionalDependencies: 3879 3895 postcss: 8.5.6 ··· 3907 3923 - universal-cookie 3908 3924 - yaml 3909 3925 3910 - vitest@3.2.4(jsdom@27.0.0(postcss@8.5.6)): 3926 + vitest@3.2.4(@types/node@24.8.1)(jsdom@27.0.0(postcss@8.5.6)): 3911 3927 dependencies: 3912 3928 '@types/chai': 5.2.2 3913 3929 '@vitest/expect': 3.2.4 3914 - '@vitest/mocker': 3.2.4(rolldown-vite@7.1.14) 3930 + '@vitest/mocker': 3.2.4(rolldown-vite@7.1.14(@types/node@24.8.1)) 3915 3931 '@vitest/pretty-format': 3.2.4 3916 3932 '@vitest/runner': 3.2.4 3917 3933 '@vitest/snapshot': 3.2.4 ··· 3929 3945 tinyglobby: 0.2.15 3930 3946 tinypool: 1.1.1 3931 3947 tinyrainbow: 2.0.0 3932 - vite: rolldown-vite@7.1.14 3933 - vite-node: 3.2.4 3948 + vite: rolldown-vite@7.1.14(@types/node@24.8.1) 3949 + vite-node: 3.2.4(@types/node@24.8.1) 3934 3950 why-is-node-running: 2.3.0 3935 3951 optionalDependencies: 3952 + '@types/node': 24.8.1 3936 3953 jsdom: 27.0.0(postcss@8.5.6) 3937 3954 transitivePeerDependencies: 3938 3955 - esbuild
+4 -4
src/index.ts
··· 4 4 * @packageDocumentation 5 5 */ 6 6 7 - export { mount } from "./core/binder"; 8 - export { clearPlugins, getRegisteredPlugins, hasPlugin, registerPlugin, unregisterPlugin } from "./core/plugin"; 9 - export { computed, effect, signal } from "./core/signal"; 10 - export type { ComputedSignal, PluginContext, PluginHandler, Signal } from "./types/volt"; 7 + export type { ComputedSignal, PluginContext, PluginHandler, Signal } from "$types/volt"; 8 + export { mount } from "@volt/core/binder"; 9 + export { clearPlugins, getRegisteredPlugins, hasPlugin, registerPlugin, unregisterPlugin } from "@volt/core/plugin"; 10 + export { computed, effect, signal } from "@volt/core/signal";
+1 -1
src/main.ts
··· 1 + import { persistPlugin, scrollPlugin, urlPlugin } from "@volt/plugins/index"; 1 2 import { computed, effect, mount, registerPlugin, signal } from "./index"; 2 - import { persistPlugin, scrollPlugin, urlPlugin } from "./plugins"; 3 3 4 4 registerPlugin("persist", persistPlugin); 5 5 registerPlugin("scroll", scrollPlugin);
+1 -1
src/plugins/persist.ts
··· 4 4 * Supports localStorage, sessionStorage, IndexedDB, and custom adapters 5 5 */ 6 6 7 - import type { PluginContext, Signal, StorageAdapter } from "../types/volt"; 7 + import type { PluginContext, Signal, StorageAdapter } from "$types/volt"; 8 8 9 9 /** 10 10 * Registry of custom storage adapters
+1 -1
src/plugins/scroll.ts
··· 3 3 * Supports position restoration, scroll-to, scroll spy, and smooth scrolling 4 4 */ 5 5 6 - import type { PluginContext, Signal } from "../types/volt"; 6 + import type { PluginContext, Signal } from "$types/volt"; 7 7 8 8 /** 9 9 * Scroll plugin handler.
+1 -1
src/plugins/url.ts
··· 3 3 * Supports one-way read, bidirectional sync, and hash-based routing 4 4 */ 5 5 6 - import type { PluginContext, Signal } from "../types/volt"; 6 + import type { PluginContext, Signal } from "$types/volt"; 7 7 8 8 /** 9 9 * URL plugin handler.
+4 -1
tsconfig.json
··· 18 18 "noUnusedParameters": true, 19 19 "erasableSyntaxOnly": true, 20 20 "noFallthroughCasesInSwitch": true, 21 - "noUncheckedSideEffectImports": true 21 + "noUncheckedSideEffectImports": true, 22 + /* Path Aliases */ 23 + "baseUrl": ".", 24 + "paths": { "$types/*": ["./src/types/*"], "@volt/core/*": ["./src/core/*"], "@volt/plugins/*": ["./src/plugins/*"] } 22 25 }, 23 26 "include": ["src", "test"] 24 27 }
+8
vite.config.ts
··· 1 + import path from "node:path"; 1 2 import { defineConfig } from "vitest/config"; 2 3 3 4 export default defineConfig({ 5 + resolve: { 6 + alias: { 7 + "$types": path.resolve(__dirname, "./src/types"), 8 + "@volt/core": path.resolve(__dirname, "./src/core"), 9 + "@volt/plugins": path.resolve(__dirname, "./src/plugins"), 10 + }, 11 + }, 4 12 test: { 5 13 environment: "jsdom", 6 14 setupFiles: "./test/setupTests.ts",