diff --git a/.github/workflows/upload.yaml b/.github/workflows/upload.yaml index 1457a0c..497ce6d 100644 --- a/.github/workflows/upload.yaml +++ b/.github/workflows/upload.yaml @@ -1,5 +1,8 @@ name: Upload +permissions: + contents: read + on: push: branches: @@ -17,14 +20,32 @@ jobs: node-version: 24 - name: Enable Corepack - run: corepack enable && corepack prepare yarn@4.12.0 --activate + run: | + corepack enable + corepack prepare yarn@4.12.0 --activate + yarn --version - uses: calcit-lang/setup-calcit@v1 - - name: "compiles to js" - run: > - caps --ci && calcit js - && yarn && yarn vite build --base=./ + - name: Install dependencies + run: | + caps --strict --ci + yarn install --immutable + + - name: Verify Calcit toolchain + run: caps verify --toolchain + + - name: Validate snapshot and types + run: | + calcit calcit.cirru edit format + git diff --exit-code -- calcit.cirru + calcit calcit.cirru --check-only + calcit calcit.cirru analyze dynamic-methods --max 0 + + - name: Compile and build + run: | + calcit calcit.cirru js + yarn vite build --base=./ - name: Deploy to server id: deploy @@ -36,7 +57,7 @@ jobs: options: '' ssh_options: '' src: 'dist/*' - dest: 'rsync-user@tiye.me:/web-assets/repo/${{ github.repository }}' + dest: "rsync-user@tiye.me:/web-assets/repo/${{ github.repository }}/${{ github.event_name == 'pull_request' && format('pr/{0}/', github.event.pull_request.number) || '' }}" - name: Display status from deploy run: echo "${{ steps.deploy.outputs.status }}" diff --git a/.gitignore b/.gitignore index b93801f..de66ca9 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ js-out/ node_modules/ dist/ .DS_Store +.pnp.* +.yarn/ diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..3186f3f --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/calcit.cirru b/calcit.cirru index 2e06a37..e7eadd5 100644 --- a/calcit.cirru +++ b/calcit.cirru @@ -1,168 +1,216 @@ -{} (:about "|Machine-generated snapshot. Do not edit directly — changes will be overwritten. Use `calcit query` to inspect and `calcit edit`/`calcit tree` to modify. Run `calcit docs agents --full` first. Manual edits must follow format and schema conventions, then run `calcit edit format`.") (:package |app) - :entries $ {} - :default $ {} (:description |) (:init-fn 'app.main/main!) (:mode :native) (:reload-fn 'app.main/reload!) +{} + :about "|Machine-generated snapshot. Do not edit directly — changes will be overwritten. Use `calcit query` to inspect and `calcit edit`/`calcit tree` to modify. Run `calcit docs agents --contract` before mutations; use `--full` for first orientation or changed contract digest. Manual edits must follow format and schema conventions, then run `calcit edit format`." + :package |app + :entries $ {} $ :default + {} (:description |) (:init-fn 'app.main/main!) (:mode :native) (:reload-fn 'app.main/reload!) :feature-policy $ {} :modules $ [] |respo.calcit/ |lilac/ |memof/ |respo-ui.calcit/ |reel.calcit/ :type-slots $ {} :files $ {} 'app.comp.container $ %{} 'FileEntry - :defs $ {} - 'comp-container $ %{} 'CodeEntry (:doc |) - :code $ quote - defcomp comp-container (reel) - let - store $ reel-schema/read-field reel :store - states $ reel-schema/read-field store :states - cursor $ or (reel-schema/read-field states :cursor) [] - state $ or (reel-schema/read-field states :data) - {} $ :content | + :defs $ {} $ 'comp-container + %{} 'CodeEntry (:doc |) + :code $ quote $ defcomp comp-container (reel) + let + store $ :store reel + states $ :states store + cursor $ or (reel-schema/read-field states :cursor) [] + state $ or (reel-schema/read-field states :data) + {} $ :content | + div + {} $ :class-name $ str-spaced css/global css/row + textarea $ {} + :value $ reel-schema/read-field state :content + :placeholder |Content + :class-name $ str-spaced css/expand css/textarea + :style $ {} $ :height 320 + :on-input $ fn (e d!) + d! $ schema/Op :states cursor $ assoc state :content (reel-schema/read-field e :value) + =< 8 $ {} div - {} $ :class-name (str-spaced css/global css/row) - textarea $ {} - :value $ reel-schema/read-field state :content - :placeholder |Content - :class-name $ str-spaced css/expand css/textarea - :style $ {} (:height 320) - :on-input $ fn (e d!) - d! cursor $ assoc state :content (reel-schema/read-field e :value) - =< 8 nil - div - {} $ :class-name css/expand - <> "|This is some content with `code`" - =< |8px nil - button $ {} (:class-name css/button) (:inner-text |Run) - :on-click $ fn (e d!) - println $ reel-schema/read-field state :content - when dev? $ comp-reel (>> states :reel) reel ({}) - :examples $ [] - :schema $ :: 'Dynamic + {} $ :class-name css/expand + <> "|This is some content with `code`" + =< |8px $ {} + button $ {} (:class-name css/button) (:inner-text |Run) + :on-click $ fn (e d!) + println $ reel-schema/read-field state :content + when dev? $ comp-reel (>> states :reel) reel $ {} + :examples $ [] + :schema $ :: 'Fn $ {} (:return 'respo.schema/Component) + :args $ [] $ :: 'reel.typed/State 'app.schema/Op 'app.schema/Store :ns $ %{} 'NsEntry (:doc |) - :code $ quote - ns app.comp.container $ :require (respo-ui.css :as css) + :code $ quote $ ns app.comp.container + :require (respo-ui.css :as css) respo.css :refer $ defstyle respo.core :refer $ defcomp defeffect <> >> div button textarea span input respo.comp.space :refer $ =< reel.comp.reel :refer $ comp-reel reel.schema :as reel-schema app.config :refer $ dev? + app.schema :as schema 'app.config $ %{} 'FileEntry :defs $ {} + 'Site $ %{} 'CodeEntry (:doc |) + :code $ quote $ defstruct Site (:storage-key 'String) + :examples $ [] + :schema $ :: 'StructDef 'dev? $ %{} 'CodeEntry (:doc |) - :code $ quote - def dev? $ = |dev - option:unwrap-or (get-env |mode) |release + :code $ quote $ def dev? + = |dev $ option:unwrap-or (get-env |mode) |release :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Bool 'site $ %{} 'CodeEntry (:doc |) - :code $ quote - def site $ {} (:storage-key |workflow) + :code $ quote $ def site (Site :storage-key |workflow) :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'app.config/Site :ns $ %{} 'NsEntry (:doc |) - :code $ quote (ns app.config) + :code $ quote $ ns app.config 'app.main $ %{} 'FileEntry :defs $ {} '*reel $ %{} 'CodeEntry (:doc |) - :code $ quote - defatom *reel $ -> reel-schema/reel (assoc :base schema/store) (assoc :store schema/store) + :code $ quote $ defatom *reel (typed/new-reel schema/store) :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Ref $ :: 'reel.typed/State 'app.schema/Op 'app.schema/Store 'dispatch! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn dispatch! (op) - when - and config/dev? $ not= op :states - js/console.log |Dispatch: op - reset! *reel $ reel-updater updater @*reel op - :examples $ [] - :schema $ :: 'Dynamic + :code $ quote $ defn dispatch! (op) + when config/dev? $ js/console.log |Dispatch: op + let + typed-op $ assert-type op 'Enum + control $ typed/decode-control typed-op + reset! *reel $ assert-type + match control + (:some action) (typed/apply-control updater @*reel action) + (:none) + typed/record-op updater @*reel (assert-type typed-op 'app.schema/Op) (generate-id!) + :timestamp $ date-now-snapshot + :: 'reel.typed/State 'app.schema/Op 'app.schema/Store + , &unit + :examples $ [] + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] 'Dynamic + :features $ #{} :js-ffi 'main! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn main! () - println "|Running mode:" $ if config/dev? |dev |release - if config/dev? $ load-console-formatter! - render-app! - add-watch *reel :changes $ fn (reel prev) (render-app!) - listen-devtools! |k dispatch! - js/window.addEventListener |beforeunload $ fn (event) (persist-storage!) - js/window.addEventListener |visibilitychange $ fn (event) - if - = |hidden $ str js/document.visibilityState - persist-storage! - flipped js/setInterval 60000 persist-storage! - let - raw $ .?!getItem js/localStorage (:storage-key config/site) - when (js-present? raw) - dispatch! $ :: :hydrate-storage - parse-cirru-edn $ unsafe-coerce raw String - println "|App started." - :examples $ [] - :schema $ :: 'Dynamic + :code $ quote $ defn main! () + println "|Running mode:" $ if config/dev? |dev |release + if config/dev? $ load-console-formatter! + render-app! + add-watch *reel :changes $ fn (reel prev) (render-app!) + listen-devtools! |k dispatch! + set-before-unload! $ fn (event) (persist-storage!) + add-event-listener! |visibilitychange $ fn (event) + match (visibility-state) + (:hidden) (persist-storage!) + _ &unit + set-interval! persist-storage! 60000 + match + storage-get $ :storage-key config/site + (:some raw) + match + schema/decode-store $ parse-cirru-edn raw + (:some stored) + dispatch! $ schema/Op :hydrate-storage stored + (:none) (hud! |error "|Ignored invalid saved state") + (:none) &unit + println "|App started." + :examples $ [] + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] + :features $ #{} :js-ffi 'mount-target $ %{} 'CodeEntry (:doc |) - :code $ quote - def mount-target $ js/document.querySelector |.app + :code $ quote $ def mount-target + option:unwrap $ query-selector |.app :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'js-ffi.browser/DomElementHost 'persist-storage! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn persist-storage! () - println "|Saved at" $ .!toISOString (new js/Date) - js/localStorage.setItem (:storage-key config/site) - format-cirru-edn $ :store @*reel + :code $ quote $ defn persist-storage! () + println "|Saved at" $ :iso $ date-now-snapshot + storage-set! (:storage-key config/site) + format-cirru-edn $ :store @*reel :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] + :features $ #{} :js-ffi 'reload! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn reload! () $ if (nil? build-errors) + :code $ quote $ defn reload! () + if (nil? build-errors) do (remove-watch *reel :changes) (clear-cache!) add-watch *reel :changes $ fn (reel prev) (render-app!) - reset! *reel $ refresh-reel @*reel schema/store updater + reset! *reel $ typed/refresh updater @*reel schema/store hud! |ok~ |Ok hud! |error build-errors :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] + :features $ #{} :js-ffi 'render-app! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn render-app! () $ render! mount-target (comp-container @*reel) dispatch! + :code $ quote $ defn render-app! () + render! mount-target (comp-container @*reel) dispatch! :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] + :features $ #{} :js-ffi :ns $ %{} 'NsEntry (:doc |) - :code $ quote - ns app.main $ :require + :code $ quote $ ns app.main + :require respo.core :refer $ render! clear-cache! app.comp.container :refer $ comp-container app.updater :refer $ updater app.schema :as schema reel.util :refer $ listen-devtools! - reel.core :refer $ reel-updater refresh-reel reel.schema :as reel-schema app.config :as config |./calcit.build-errors :default build-errors |bottom-tip :default hud! + js-ffi.shared :refer $ [] date-now-snapshot + reel.typed :as typed + js-ffi.browser :refer $ [] DomElementHost add-event-listener! query-selector set-before-unload! set-interval! storage-get storage-set! visibility-state 'app.schema $ %{} 'FileEntry :defs $ {} + 'Op $ %{} 'CodeEntry (:doc |) + :code $ quote $ defenum Op (:states 'List 'Dynamic) (:hydrate-storage 'app.schema/Store) + :examples $ [] + :schema $ :: 'EnumDef + 'Store $ %{} 'CodeEntry (:doc |) + :code $ quote $ defstruct Store (:states 'Map) + :examples $ [] + :schema $ :: 'StructDef + 'decode-store $ %{} 'CodeEntry (:doc |) + :code $ quote $ defn decode-store (data) + if + or (map? data) (struct? data) + match (get data :states) + (:some states) + if (map? states) + %some $ Store :states $ assert-type states 'Map + %none + (:none) (%none) + %none + :examples $ [] + :schema $ :: 'Fn $ {} + :args $ [] 'Dynamic + :return $ :: 'Option 'app.schema/Store 'store $ %{} 'CodeEntry (:doc |) - :code $ quote - def store $ {} - :states $ {} - :cursor $ [] + :code $ quote $ def store + Store :states $ {} $ :cursor ([]) :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'app.schema/Store :ns $ %{} 'NsEntry (:doc |) - :code $ quote (ns app.schema) + :code $ quote $ ns app.schema 'app.updater $ %{} 'FileEntry - :defs $ {} - 'updater $ %{} 'CodeEntry (:doc |) - :code $ quote - defn updater (store op op-id op-time) - tag-match op - (:states cursor s) (update-states store cursor s) - (:hydrate-storage data) data - _ $ do (eprintln "|unknown op:" op) store - :examples $ [] - :schema $ :: 'Dynamic + :defs $ {} $ 'updater + %{} 'CodeEntry (:doc |) + :code $ quote $ defn updater (store op op-id op-time) + match op + (:states cursor s) + assoc store :states $ assert-type + update-state-tree (:states store) cursor s + , 'Map + (:hydrate-storage data) data + _ $ do (eprintln "|unknown op:" op) store + :examples $ [] + :schema $ :: 'Fn $ {} (:return 'app.schema/Store) + :args $ [] 'app.schema/Store 'app.schema/Op 'String 'Number :ns $ %{} 'NsEntry (:doc |) - :code $ quote - ns app.updater $ :require - respo.cursor :refer $ update-states + :code $ quote $ ns app.updater + :require $ respo.cursor :refer $ [] update-state-tree diff --git a/deps.cirru b/deps.cirru index 5bbd9d6..c2fcf5e 100644 --- a/deps.cirru +++ b/deps.cirru @@ -1,7 +1,8 @@ -{} (:calcit-version |0.13.77) (:version |0.0.1) - :dependencies $ {} (|Respo/reel.calcit |0.6.19) - |Respo/respo-ui.calcit |0.7.19 - |Respo/respo.calcit |0.16.95 +{} (:calcit-version |0.14.17) + :version |0.0.1 + :dependencies $ {} (|Respo/reel.calcit |0.6.24) + |Respo/respo-ui.calcit |0.7.23 + |Respo/respo.calcit |0.16.102 |calcit-lang/lilac |0.5.9 - |calcit-lang/memof |0.0.31 + |calcit-lang/memof |0.0.33 diff --git a/package.json b/package.json index 457fb93..fe5d375 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "packageManager": "yarn@4.12.0", "dependencies": { - "@calcit/procs": "0.13.77" + "@calcit/procs": "0.14.17" }, "devDependencies": { "bottom-tip": "^0.1.5", - "vite": "^4.4.11" + "vite": "^8.3.0" }, "version": "0.0.1" } diff --git a/yarn.lock b/yarn.lock index 04e6dab..9a6de52 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,14 +5,14 @@ __metadata: version: 8 cacheKey: 10c0 -"@calcit/procs@npm:0.13.77": - version: 0.13.77 - resolution: "@calcit/procs@npm:0.13.77" +"@calcit/procs@npm:0.14.17": + version: 0.14.17 + resolution: "@calcit/procs@npm:0.14.17" dependencies: "@calcit/ternary-tree": "npm:0.0.26" "@cirru/parser.ts": "npm:^0.0.9" "@cirru/writer.ts": "npm:^0.1.9" - checksum: 10c0/7f0d79ad9e7963728518c3754174136d7c2e906c7177785d633f622300be11b84a8f9ae659c5b93c9fb8f7d47e4fffba773bbe90a30a0f53fc3d1258ab850851 + checksum: 10c0/91b236157b56eb3c9478796d31e2bb96f3668ec57dddb2875162c4a069f5b8ee769b8dd9146f3f34d71812393e72cff0c47022e59e605fffecbeca2b0787b8da languageName: node linkType: hard @@ -37,166 +37,131 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm64@npm:0.18.20" - conditions: os=android & cpu=arm64 +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm@npm:0.18.20" - conditions: os=android & cpu=arm +"@oxc-project/types@npm:=0.149.0": + version: 0.149.0 + resolution: "@oxc-project/types@npm:0.149.0" + checksum: 10c0/f91ff8101300ce5a29fbfc57bdaafd9c1c9d3d9b46c63093f437c479d047042eb615cb6c3ddac91a0d289701ce60c365632866a85d0f1e0d159b20180115187e languageName: node linkType: hard -"@esbuild/android-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-x64@npm:0.18.20" - conditions: os=android & cpu=x64 +"@rolldown/binding-android-arm-eabi@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-android-arm-eabi@npm:1.2.8" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/darwin-arm64@npm:0.18.20" - conditions: os=darwin & cpu=arm64 +"@rolldown/binding-android-arm64@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-android-arm64@npm:1.2.8" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/darwin-x64@npm:0.18.20" - conditions: os=darwin & cpu=x64 +"@rolldown/binding-darwin-arm64@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-darwin-arm64@npm:1.2.8" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/freebsd-arm64@npm:0.18.20" - conditions: os=freebsd & cpu=arm64 +"@rolldown/binding-darwin-x64@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-darwin-x64@npm:1.2.8" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/freebsd-x64@npm:0.18.20" +"@rolldown/binding-freebsd-x64@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-freebsd-x64@npm:1.2.8" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-arm64@npm:0.18.20" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/linux-arm@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-arm@npm:0.18.20" +"@rolldown/binding-linux-arm-gnueabihf@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.2.8" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-ia32@npm:0.18.20" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/linux-loong64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-loong64@npm:0.18.20" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-mips64el@npm:0.18.20" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"@esbuild/linux-ppc64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-ppc64@npm:0.18.20" - conditions: os=linux & cpu=ppc64 +"@rolldown/binding-linux-arm64-gnu@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.2.8" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-riscv64@npm:0.18.20" - conditions: os=linux & cpu=riscv64 +"@rolldown/binding-linux-arm64-musl@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.2.8" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-s390x@npm:0.18.20" - conditions: os=linux & cpu=s390x +"@rolldown/binding-linux-ppc64-gnu@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.2.8" + conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-x64@npm:0.18.20" - conditions: os=linux & cpu=x64 +"@rolldown/binding-linux-s390x-gnu@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.2.8" + conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/netbsd-x64@npm:0.18.20" - conditions: os=netbsd & cpu=x64 +"@rolldown/binding-linux-x64-gnu@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.2.8" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/openbsd-x64@npm:0.18.20" - conditions: os=openbsd & cpu=x64 +"@rolldown/binding-linux-x64-musl@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.2.8" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/sunos-x64@npm:0.18.20" - conditions: os=sunos & cpu=x64 +"@rolldown/binding-openharmony-arm64@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.2.8" + conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-arm64@npm:0.18.20" +"@rolldown/binding-win32-arm64-msvc@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.2.8" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-ia32@npm:0.18.20" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-x64@npm:0.18.20" +"@rolldown/binding-win32-x64-msvc@npm:1.2.8": + version: 1.2.8 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.2.8" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 +"@rolldown/pluginutils@npm:^1.0.0": + version: 1.0.1 + resolution: "@rolldown/pluginutils@npm:1.0.1" + checksum: 10c0/99d9b06d90196823e4d8c841f258db7a16e5dbba5824a2962b05d907b79f1ba929d56f22dd744fd530936e568c865ee56a719dc31e57e13bc0a8eb4764a8d8dd languageName: node linkType: hard @@ -238,6 +203,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.3": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 + languageName: node + linkType: hard + "dom-walk@npm:^0.1.0": version: 0.1.2 resolution: "dom-walk@npm:0.1.2" @@ -263,83 +235,6 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.18.10": - version: 0.18.20 - resolution: "esbuild@npm:0.18.20" - dependencies: - "@esbuild/android-arm": "npm:0.18.20" - "@esbuild/android-arm64": "npm:0.18.20" - "@esbuild/android-x64": "npm:0.18.20" - "@esbuild/darwin-arm64": "npm:0.18.20" - "@esbuild/darwin-x64": "npm:0.18.20" - "@esbuild/freebsd-arm64": "npm:0.18.20" - "@esbuild/freebsd-x64": "npm:0.18.20" - "@esbuild/linux-arm": "npm:0.18.20" - "@esbuild/linux-arm64": "npm:0.18.20" - "@esbuild/linux-ia32": "npm:0.18.20" - "@esbuild/linux-loong64": "npm:0.18.20" - "@esbuild/linux-mips64el": "npm:0.18.20" - "@esbuild/linux-ppc64": "npm:0.18.20" - "@esbuild/linux-riscv64": "npm:0.18.20" - "@esbuild/linux-s390x": "npm:0.18.20" - "@esbuild/linux-x64": "npm:0.18.20" - "@esbuild/netbsd-x64": "npm:0.18.20" - "@esbuild/openbsd-x64": "npm:0.18.20" - "@esbuild/sunos-x64": "npm:0.18.20" - "@esbuild/win32-arm64": "npm:0.18.20" - "@esbuild/win32-ia32": "npm:0.18.20" - "@esbuild/win32-x64": "npm:0.18.20" - dependenciesMeta: - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/473b1d92842f50a303cf948a11ebd5f69581cd254d599dd9d62f9989858e0533f64e83b723b5e1398a5b488c0f5fd088795b4235f65ecaf4f007d4b79f04bc88 - languageName: node - linkType: hard - "ev-store@npm:^7.0.0": version: 7.0.0 resolution: "ev-store@npm:7.0.0" @@ -368,7 +263,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:~2.3.2": +"fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -378,7 +273,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": +"fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -425,6 +320,126 @@ __metadata: languageName: node linkType: hard +"lightningcss-android-arm64@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-android-arm64@npm:1.33.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-darwin-arm64@npm:1.33.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-darwin-x64@npm:1.33.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-freebsd-x64@npm:1.33.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.33.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-arm64-gnu@npm:1.33.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-arm64-musl@npm:1.33.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-x64-gnu@npm:1.33.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-x64-musl@npm:1.33.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-win32-arm64-msvc@npm:1.33.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-win32-x64-msvc@npm:1.33.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:^1.33.0": + version: 1.33.0 + resolution: "lightningcss@npm:1.33.0" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.33.0" + lightningcss-darwin-arm64: "npm:1.33.0" + lightningcss-darwin-x64: "npm:1.33.0" + lightningcss-freebsd-x64: "npm:1.33.0" + lightningcss-linux-arm-gnueabihf: "npm:1.33.0" + lightningcss-linux-arm64-gnu: "npm:1.33.0" + lightningcss-linux-arm64-musl: "npm:1.33.0" + lightningcss-linux-x64-gnu: "npm:1.33.0" + lightningcss-linux-x64-musl: "npm:1.33.0" + lightningcss-win32-arm64-msvc: "npm:1.33.0" + lightningcss-win32-x64-msvc: "npm:1.33.0" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/ce1f8279fbae636dbf37fa6e7385d5f98ed881d72af3362f24afbd4685e19c1fcdfecf17e5dd77f2ebee3d0c23ade276230d85842d07292229a2cffba8ff20a3 + languageName: node + linkType: hard + "min-document@npm:^2.19.0": version: 2.19.0 resolution: "min-document@npm:2.19.0" @@ -450,12 +465,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.6": - version: 3.3.6 - resolution: "nanoid@npm:3.3.6" +"nanoid@npm:^3.3.18": + version: 3.3.19 + resolution: "nanoid@npm:3.3.19" bin: nanoid: bin/nanoid.cjs - checksum: 10c0/606b355960d0fcbe3d27924c4c52ef7d47d3b57208808ece73279420d91469b01ec1dce10fae512b6d4a8c5a5432b352b228336a8b2202a6ea68e67fa348e2ee + checksum: 10c0/ce7afa6258bfaa00bdc8de291cfe9913280eaa403b7d9cff3db4e4200c1913e7163577df74897958da144db473a96c67f74f57db0f542fbfe409df677bae3255 languageName: node linkType: hard @@ -506,10 +521,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard @@ -520,14 +535,21 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.27": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" +"picomatch@npm:^4.0.7": + version: 4.0.7 + resolution: "picomatch@npm:4.0.7" + checksum: 10c0/beb6ae02c43ae44e84883b90830196d9046b1726ead292adcf7f57945e0bb0d992d68563d87e03b484b6f3c9a5c6defda7523477f047d7f0e663f126cc01787f + languageName: node + linkType: hard + +"postcss@npm:^8.5.28": + version: 8.5.28 + resolution: "postcss@npm:8.5.28" dependencies: - nanoid: "npm:^3.3.6" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.0.2" - checksum: 10c0/748b82e6e5fc34034dcf2ae88ea3d11fd09f69b6c50ecdd3b4a875cfc7cdca435c958b211e2cb52355422ab6fccb7d8f2f2923161d7a1b281029e4a913d59acf + nanoid: "npm:^3.3.18" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/9fe44215a6628d89c8a75184b92f5b2f77e16f9e5b13b39b9009bb7e8e6eccddf82c8854bae922db1f17ace6ef3445073fe38abff513caeb03e5285b1b55620a languageName: node linkType: hard @@ -545,17 +567,61 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^3.27.1": - version: 3.29.4 - resolution: "rollup@npm:3.29.4" +"rolldown@npm:~1.2.6": + version: 1.2.8 + resolution: "rolldown@npm:1.2.8" dependencies: - fsevents: "npm:~2.3.2" + "@oxc-project/types": "npm:=0.149.0" + "@rolldown/binding-android-arm-eabi": "npm:1.2.8" + "@rolldown/binding-android-arm64": "npm:1.2.8" + "@rolldown/binding-darwin-arm64": "npm:1.2.8" + "@rolldown/binding-darwin-x64": "npm:1.2.8" + "@rolldown/binding-freebsd-x64": "npm:1.2.8" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.2.8" + "@rolldown/binding-linux-arm64-gnu": "npm:1.2.8" + "@rolldown/binding-linux-arm64-musl": "npm:1.2.8" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.2.8" + "@rolldown/binding-linux-s390x-gnu": "npm:1.2.8" + "@rolldown/binding-linux-x64-gnu": "npm:1.2.8" + "@rolldown/binding-linux-x64-musl": "npm:1.2.8" + "@rolldown/binding-openharmony-arm64": "npm:1.2.8" + "@rolldown/binding-win32-arm64-msvc": "npm:1.2.8" + "@rolldown/binding-win32-x64-msvc": "npm:1.2.8" + "@rolldown/pluginutils": "npm:^1.0.0" dependenciesMeta: - fsevents: + "@rolldown/binding-android-arm-eabi": + optional: true + "@rolldown/binding-android-arm64": + optional: true + "@rolldown/binding-darwin-arm64": + optional: true + "@rolldown/binding-darwin-x64": + optional: true + "@rolldown/binding-freebsd-x64": + optional: true + "@rolldown/binding-linux-arm-gnueabihf": + optional: true + "@rolldown/binding-linux-arm64-gnu": + optional: true + "@rolldown/binding-linux-arm64-musl": + optional: true + "@rolldown/binding-linux-ppc64-gnu": + optional: true + "@rolldown/binding-linux-s390x-gnu": + optional: true + "@rolldown/binding-linux-x64-gnu": + optional: true + "@rolldown/binding-linux-x64-musl": + optional: true + "@rolldown/binding-openharmony-arm64": + optional: true + "@rolldown/binding-win32-arm64-msvc": + optional: true + "@rolldown/binding-win32-x64-msvc": optional: true bin: - rollup: dist/bin/rollup - checksum: 10c0/65eddf84bf389ea8e4d4c1614b1c6a298d08f8ae785c0c087e723a879190c8aaddbab4aa3b8a0524551b9036750c9f8bfea27b377798accfd2ba5084ceff5aaa + rolldown: ./bin/cli.mjs + checksum: 10c0/5a9c6b30a7ef0af257a963e6b0b95d5a60b23512b7dbcca617273bd63fb0892b88be6b33dc9a6cb66350f47d260eff6456af0b7afef34898767f3527ce0d967d languageName: node linkType: hard @@ -563,9 +629,9 @@ __metadata: version: 0.0.0-use.local resolution: "root-workspace-0b6124@workspace:." dependencies: - "@calcit/procs": "npm:0.13.77" + "@calcit/procs": "npm:0.14.17" bottom-tip: "npm:^0.1.5" - vite: "npm:^4.4.11" + vite: "npm:^8.3.0" languageName: unknown linkType: soft @@ -578,10 +644,10 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: 10c0/32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf languageName: node linkType: hard @@ -605,7 +671,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.12": +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.17": version: 0.2.17 resolution: "tinyglobby@npm:0.2.17" dependencies: @@ -638,43 +704,60 @@ __metadata: languageName: node linkType: hard -"vite@npm:^4.4.11": - version: 4.4.11 - resolution: "vite@npm:4.4.11" +"vite@npm:^8.3.0": + version: 8.3.0 + resolution: "vite@npm:8.3.0" dependencies: - esbuild: "npm:^0.18.10" - fsevents: "npm:~2.3.2" - postcss: "npm:^8.4.27" - rollup: "npm:^3.27.1" + fsevents: "npm:~2.3.3" + lightningcss: "npm:^1.33.0" + picomatch: "npm:^4.0.7" + postcss: "npm:^8.5.28" + rolldown: "npm:~1.2.6" + tinyglobby: "npm:^0.2.17" peerDependencies: - "@types/node": ">= 14" - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 + "@types/node": ^20.19.0 || >=22.12.0 + "@vitejs/devtools": ^0.7.1 + esbuild: ^0.27.0 || ^0.28.0 + jiti: ">=1.21.0" + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 dependenciesMeta: fsevents: optional: true peerDependenciesMeta: "@types/node": optional: true - less: + "@vitejs/devtools": optional: true - lightningcss: + esbuild: + optional: true + jiti: + optional: true + less: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true bin: vite: bin/vite.js - checksum: 10c0/550af0f67b600f603d0c129b74ac18dfa674d19e2b7dba28f4214d5edeba217a91fb7b8f4f47037aa0297f142d22360780a0a4533b27dbaacd2894030f61e5f4 + checksum: 10c0/28d9a1c8b5018a865b8d8b2330859b11b035c3c578349d6ef0fc4a69b7a99460fc65aff75926d2ac18a7b217cd9a847901e2f7bcb32875f37319ccd81cd9064a languageName: node linkType: hard